summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/accessibility/squeekboard/default.nix15
-rw-r--r--pkgs/applications/accessibility/wvkbd/default.nix4
-rw-r--r--pkgs/applications/audio/ardour/6.nix191
-rw-r--r--pkgs/applications/audio/ardour/default.nix49
-rw-r--r--pkgs/applications/audio/ario/default.nix16
-rw-r--r--pkgs/applications/audio/ashuffle/default.nix9
-rw-r--r--pkgs/applications/audio/audacity/default.nix9
-rw-r--r--pkgs/applications/audio/bambootracker/default.nix4
-rw-r--r--pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix4
-rw-r--r--pkgs/applications/audio/cava/default.nix14
-rw-r--r--pkgs/applications/audio/cider/default.nix4
-rw-r--r--pkgs/applications/audio/deadbeef/default.nix4
-rw-r--r--pkgs/applications/audio/espeak-ng/default.nix36
-rw-r--r--pkgs/applications/audio/espeak/edit.nix5
-rw-r--r--pkgs/applications/audio/espeak/espeakedit-wxgtk30.patch32
-rw-r--r--pkgs/applications/audio/faust/faust2.nix2
-rw-r--r--pkgs/applications/audio/flac/default.nix5
-rw-r--r--pkgs/applications/audio/fluidsynth/default.nix4
-rw-r--r--pkgs/applications/audio/ft2-clone/default.nix4
-rw-r--r--pkgs/applications/audio/goodvibes/default.nix61
-rw-r--r--pkgs/applications/audio/grandorgue/default.nix4
-rw-r--r--pkgs/applications/audio/hivelytracker/default.nix31
-rw-r--r--pkgs/applications/audio/lingot/default.nix13
-rw-r--r--pkgs/applications/audio/lollypop/default.nix4
-rw-r--r--pkgs/applications/audio/mopidy/ytmusic.nix28
-rw-r--r--pkgs/applications/audio/musikcube/default.nix15
-rw-r--r--pkgs/applications/audio/netease-cloud-music-gtk/default.nix17
-rw-r--r--pkgs/applications/audio/odin2/default.nix14
-rw-r--r--pkgs/applications/audio/open-stage-control/default.nix44
-rw-r--r--pkgs/applications/audio/open-stage-control/node-composition.nix17
-rw-r--r--pkgs/applications/audio/open-stage-control/node-packages.nix9220
-rw-r--r--pkgs/applications/audio/open-stage-control/package-lock.json.patch18247
-rwxr-xr-xpkgs/applications/audio/open-stage-control/update.sh66
-rw-r--r--pkgs/applications/audio/pianobooster/default.nix56
-rw-r--r--pkgs/applications/audio/picard/default.nix10
-rw-r--r--pkgs/applications/audio/plexamp/default.nix6
-rw-r--r--pkgs/applications/audio/pocket-casts/default.nix29
-rw-r--r--pkgs/applications/audio/polyphone/default.nix8
-rw-r--r--pkgs/applications/audio/praat/default.nix4
-rw-r--r--pkgs/applications/audio/psst/default.nix13
-rw-r--r--pkgs/applications/audio/ptcollab/default.nix4
-rw-r--r--pkgs/applications/audio/puddletag/default.nix45
-rw-r--r--pkgs/applications/audio/pulseeffects-legacy/default.nix4
-rw-r--r--pkgs/applications/audio/qmmp/default.nix4
-rw-r--r--pkgs/applications/audio/radioboat/default.nix6
-rw-r--r--pkgs/applications/audio/sidplayfp/default.nix4
-rw-r--r--pkgs/applications/audio/sony-headphones-client/default.nix6
-rw-r--r--pkgs/applications/audio/sony-headphones-client/gcc.patch19
-rw-r--r--pkgs/applications/audio/spotify/default.nix8
-rw-r--r--pkgs/applications/audio/spotify/wrapper.nix31
-rw-r--r--pkgs/applications/audio/spotifywm/default.nix10
-rw-r--r--pkgs/applications/audio/squeezelite/default.nix8
-rw-r--r--pkgs/applications/audio/tagger/default.nix4
-rw-r--r--pkgs/applications/audio/tauon/default.nix4
-rw-r--r--pkgs/applications/audio/tenacity/default.nix30
-rw-r--r--pkgs/applications/audio/termusic/default.nix6
-rw-r--r--pkgs/applications/audio/whipper/default.nix12
-rw-r--r--pkgs/applications/audio/youtube-music/default.nix36
-rw-r--r--pkgs/applications/backup/ludusavi/default.nix85
-rw-r--r--pkgs/applications/backup/proxmox-backup-client/Cargo.lock (renamed from pkgs/applications/virtualization/crosvm/Cargo.lock)2312
-rw-r--r--pkgs/applications/backup/proxmox-backup-client/default.nix70
-rw-r--r--pkgs/applications/backup/proxmox-backup-client/re-route-dependencies.patch148
-rw-r--r--pkgs/applications/backup/timeshift/unwrapped.nix2
-rw-r--r--pkgs/applications/backup/vorta/default.nix4
-rw-r--r--pkgs/applications/blockchains/alfis/default.nix15
-rw-r--r--pkgs/applications/blockchains/bisq-desktop/default.nix4
-rw-r--r--pkgs/applications/blockchains/bitcoin-knots/default.nix6
-rw-r--r--pkgs/applications/blockchains/btcd/default.nix31
-rw-r--r--pkgs/applications/blockchains/electrs/default.nix8
-rw-r--r--pkgs/applications/blockchains/elements/default.nix4
-rw-r--r--pkgs/applications/blockchains/ergo/default.nix4
-rw-r--r--pkgs/applications/blockchains/erigon.nix6
-rw-r--r--pkgs/applications/blockchains/go-ethereum/default.nix6
-rw-r--r--pkgs/applications/blockchains/groestlcoin/default.nix4
-rw-r--r--pkgs/applications/blockchains/ledger-live-desktop/default.nix4
-rw-r--r--pkgs/applications/blockchains/lighthouse/default.nix6
-rw-r--r--pkgs/applications/blockchains/lnd/default.nix6
-rw-r--r--pkgs/applications/blockchains/nearcore/default.nix6
-rw-r--r--pkgs/applications/blockchains/polkadot/default.nix6
-rw-r--r--pkgs/applications/blockchains/sparrow/default.nix19
-rwxr-xr-xpkgs/applications/blockchains/sparrow/update.sh26
-rw-r--r--pkgs/applications/blockchains/trezor-suite/default.nix9
-rw-r--r--pkgs/applications/blockchains/wownero/default.nix4
-rw-r--r--pkgs/applications/blockchains/zcash/default.nix32
-rw-r--r--pkgs/applications/blockchains/zcash/patches/fix-missing-header.patch10
-rw-r--r--pkgs/applications/display-managers/lightdm-mobile-greeter/default.nix53
-rw-r--r--pkgs/applications/display-managers/lightdm-slick-greeter/default.nix2
-rw-r--r--pkgs/applications/editors/android-studio/default.nix4
-rw-r--r--pkgs/applications/editors/codeblocks/default.nix4
-rw-r--r--pkgs/applications/editors/cudatext/default.nix4
-rw-r--r--pkgs/applications/editors/cudatext/deps.json12
-rw-r--r--pkgs/applications/editors/eclipse/plugins.nix19
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix469
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix9
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix259
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/agda-input/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/agda-input/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/agda2-mode/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/agda2-mode/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/bqn-mode/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/bqn-mode/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/cask/default.nix76
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/cedille/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/cedille/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/color-theme-solarized/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/color-theme-solarized/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/control-lock/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/control-lock/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/ebuild-mode/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/ebuild-mode/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/elisp-ffi/default.nix47
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/emacspeak/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/emacspeak/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/ement/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/ement/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/ement/handle-nil-images.patch (renamed from pkgs/applications/editors/emacs/elisp-packages/ement/handle-nil-images.patch)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/ess-R-object-popup/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/ess-R-object-popup/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/evil-markdown/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/evil-markdown/default.nix)8
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/font-lock-plus/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/font-lock-plus/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/ghc-mod/default.nix27
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/git-undo/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/git-undo/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/haskell-unicode-input-method/default.nix34
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/header-file-mode/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/header-file-mode/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/helm-words/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/helm-words/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/hsc3/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/hsc3/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/idris2-mode/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/idris2-mode/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/isearch-plus/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/isearch-plus/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/isearch-prop/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/isearch-prop/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/jam-mode/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/jam-mode/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/llvm-mode/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/llvm-mode/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/matrix-client/default.nix73
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/ott-mode/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/ott-mode/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/perl-completion/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/perl-completion/default.nix)13
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/pod-mode/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/pod-mode/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/power-mode/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/power-mode/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/prisma-mode/default.nix33
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/prolog/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/prolog/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/rect-mark/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/rect-mark/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/session-management-for-emacs/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/session-management-for-emacs/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/sunrise-commander/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/sunrise-commander/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/sv-kalender/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/sv-kalender/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/default-grammars.json (renamed from pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/default-grammars.json)6
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/default.nix)0
-rwxr-xr-xpkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/update-defaults.py (renamed from pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/update-defaults.py)3
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/tsc/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/tsc/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/tsc/src.json (renamed from pkgs/applications/editors/emacs/elisp-packages/tsc/src.json)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/tsc/update.py (renamed from pkgs/applications/editors/emacs/elisp-packages/tsc/update.py)3
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/urweb-mode/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/urweb-mode/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/voicemacs/add-missing-require.patch (renamed from pkgs/applications/editors/emacs/elisp-packages/voicemacs/add-missing-require.patch)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/voicemacs/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/voicemacs/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/yes-no/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/yes-no/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/youtube-dl/default.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/youtube-dl/default.nix)0
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix10
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/nano-theme/default.nix22
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix234
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json5514
-rwxr-xr-xpkgs/applications/editors/emacs/elisp-packages/update-from-overlay14
-rw-r--r--pkgs/applications/editors/emacs/generic.nix5
-rw-r--r--pkgs/applications/editors/gnome-latex/default.nix4
-rw-r--r--pkgs/applications/editors/imhex/default.nix3
-rw-r--r--pkgs/applications/editors/jetbrains/default.nix15
-rw-r--r--pkgs/applications/editors/leo-editor/default.nix4
-rw-r--r--pkgs/applications/editors/lifeograph/default.nix3
-rw-r--r--pkgs/applications/editors/lite-xl/0001-replace-unpack-with-table-unpack.patch91
-rw-r--r--pkgs/applications/editors/lite-xl/default.nix13
-rw-r--r--pkgs/applications/editors/nano/default.nix4
-rw-r--r--pkgs/applications/editors/nedit/default.nix5
-rw-r--r--pkgs/applications/editors/neovim/default.nix4
-rw-r--r--pkgs/applications/editors/neovim/neovide/default.nix6
-rw-r--r--pkgs/applications/editors/notepadqq/default.nix28
-rw-r--r--pkgs/applications/editors/qemacs/default.nix4
-rw-r--r--pkgs/applications/editors/sublime/4/packages.nix12
-rw-r--r--pkgs/applications/editors/texstudio/default.nix4
-rw-r--r--pkgs/applications/editors/vim/plugins/generated.nix1381
-rw-r--r--pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix1538
-rw-r--r--pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix94
-rw-r--r--pkgs/applications/editors/vim/plugins/nvim-treesitter/update-shell.nix17
-rwxr-xr-xpkgs/applications/editors/vim/plugins/nvim-treesitter/update.py114
-rw-r--r--pkgs/applications/editors/vim/plugins/overrides.nix51
-rwxr-xr-xpkgs/applications/editors/vim/plugins/update.py20
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-plugin-names11
-rw-r--r--pkgs/applications/editors/vis/default.nix4
-rw-r--r--pkgs/applications/editors/vscode/extensions/default.nix80
-rw-r--r--pkgs/applications/editors/vscode/extensions/ms-toolsai-jupyter/default.nix4
-rw-r--r--pkgs/applications/editors/vscode/extensions/python/default.nix4
-rw-r--r--pkgs/applications/editors/vscode/vscode.nix12
-rw-r--r--pkgs/applications/editors/vscode/vscodium.nix12
-rw-r--r--pkgs/applications/editors/xed-editor/default.nix2
-rw-r--r--pkgs/applications/editors/xmlcopyeditor/default.nix47
-rw-r--r--pkgs/applications/editors/xmlcopyeditor/xmlcopyeditor.patch27
-rw-r--r--pkgs/applications/emulators/basiliskii/default.nix4
-rw-r--r--pkgs/applications/emulators/bochs/default.nix62
-rw-r--r--pkgs/applications/emulators/bsnes/ares/000-dont-rebuild-on-install.patch (renamed from pkgs/applications/emulators/bsnes/ares/dont-rebuild-on-install.patch)0
-rw-r--r--pkgs/applications/emulators/bsnes/ares/001-fix-ruby.patch24
-rw-r--r--pkgs/applications/emulators/bsnes/ares/default.nix16
-rw-r--r--pkgs/applications/emulators/bsnes/ares/fix-ruby.patch27
-rw-r--r--pkgs/applications/emulators/cemu/cmakelists.patch12
-rw-r--r--pkgs/applications/emulators/cemu/default.nix119
-rw-r--r--pkgs/applications/emulators/desmume/default.nix13
-rw-r--r--pkgs/applications/emulators/dolphin-emu/master.nix8
-rw-r--r--pkgs/applications/emulators/duckstation/default.nix31
-rw-r--r--pkgs/applications/emulators/fceux/default.nix38
-rw-r--r--pkgs/applications/emulators/flycast/default.nix7
-rw-r--r--pkgs/applications/emulators/mame/0001-Revert-Added-PDF-documentation-to-dist.mak.patch37
-rw-r--r--pkgs/applications/emulators/mame/default.nix86
-rw-r--r--pkgs/applications/emulators/mame/emuopts.patch57
-rw-r--r--pkgs/applications/emulators/mgba/default.nix16
-rw-r--r--pkgs/applications/emulators/np2kai/default.nix2
-rw-r--r--pkgs/applications/emulators/retroarch/cores.nix809
-rw-r--r--pkgs/applications/emulators/retroarch/default.nix78
-rw-r--r--pkgs/applications/emulators/retroarch/libretro-core-info.nix28
-rw-r--r--pkgs/applications/emulators/retroarch/mkLibretroCore.nix80
-rw-r--r--pkgs/applications/emulators/retroarch/use-fixed-path-for-libretro_core_info.patch41
-rw-r--r--pkgs/applications/emulators/retroarch/use-fixed-paths.patch154
-rw-r--r--pkgs/applications/emulators/retroarch/wrapper.nix61
-rw-r--r--pkgs/applications/emulators/rpcs3/default.nix8
-rw-r--r--pkgs/applications/emulators/sameboy/default.nix4
-rw-r--r--pkgs/applications/emulators/uxn/default.nix28
-rw-r--r--pkgs/applications/emulators/wine/base.nix1
-rw-r--r--pkgs/applications/emulators/wine/sources.nix17
-rw-r--r--pkgs/applications/emulators/wine/vkd3d.nix4
-rw-r--r--pkgs/applications/emulators/zsnes/default.nix3
-rw-r--r--pkgs/applications/file-managers/doublecmd/default.nix8
-rw-r--r--pkgs/applications/file-managers/felix-fm/default.nix31
-rw-r--r--pkgs/applications/file-managers/llama/default.nix6
-rw-r--r--pkgs/applications/file-managers/mucommander/default.nix95
-rw-r--r--pkgs/applications/file-managers/xfe/default.nix29
-rw-r--r--pkgs/applications/gis/grass/default.nix2
-rw-r--r--pkgs/applications/gis/saga/default.nix28
-rw-r--r--pkgs/applications/graphics/ImageMagick/default.nix4
-rw-r--r--pkgs/applications/graphics/apitrace/default.nix36
-rw-r--r--pkgs/applications/graphics/apitrace/glibc-2.34-compat.patch13
-rw-r--r--pkgs/applications/graphics/ascii-image-converter/default.nix6
-rw-r--r--pkgs/applications/graphics/djv/default.nix20
-rw-r--r--pkgs/applications/graphics/figma-linux/default.nix77
-rw-r--r--pkgs/applications/graphics/foxotron/default.nix4
-rw-r--r--pkgs/applications/graphics/hdr-plus/default.nix34
-rw-r--r--pkgs/applications/graphics/hydrus/default.nix4
-rw-r--r--pkgs/applications/graphics/inkscape/default.nix7
-rw-r--r--pkgs/applications/graphics/json-plot/default.nix27
-rw-r--r--pkgs/applications/graphics/krita/default.nix4
-rw-r--r--pkgs/applications/graphics/lazpaint/default.nix1
-rw-r--r--pkgs/applications/graphics/qimgv/default.nix4
-rw-r--r--pkgs/applications/graphics/qimgv/qt5-12-compat.diff13
-rw-r--r--pkgs/applications/graphics/renderdoc/default.nix4
-rw-r--r--pkgs/applications/graphics/rnote/default.nix14
-rw-r--r--pkgs/applications/graphics/sane/backends/default.nix3
-rw-r--r--pkgs/applications/graphics/sane/backends/sane-desc-generate-entries-unsupported-scanners.patch19
-rw-r--r--pkgs/applications/graphics/synfigstudio/default.nix1
-rw-r--r--pkgs/applications/graphics/vengi-tools/default.nix4
-rw-r--r--pkgs/applications/graphics/yacreader/default.nix4
-rw-r--r--pkgs/applications/kde/akonadi-import-wizard.nix2
-rw-r--r--pkgs/applications/kde/akonadi-notes.nix2
-rw-r--r--pkgs/applications/kde/akonadi-search.nix2
-rw-r--r--pkgs/applications/kde/akonadi/default.nix26
-rw-r--r--pkgs/applications/kde/akonadiconsole.nix2
-rw-r--r--pkgs/applications/kde/akregator.nix2
-rw-r--r--pkgs/applications/kde/calendarsupport.nix2
-rw-r--r--pkgs/applications/kde/dolphin.nix2
-rw-r--r--pkgs/applications/kde/dragon.nix2
-rw-r--r--pkgs/applications/kde/eventviews.nix2
-rw-r--r--pkgs/applications/kde/fetch.sh2
-rw-r--r--pkgs/applications/kde/grantleetheme/default.nix2
-rw-r--r--pkgs/applications/kde/gwenview.nix2
-rw-r--r--pkgs/applications/kde/incidenceeditor.nix2
-rw-r--r--pkgs/applications/kde/kaddressbook.nix2
-rw-r--r--pkgs/applications/kde/kcalutils.nix2
-rw-r--r--pkgs/applications/kde/kdepim-runtime/default.nix2
-rw-r--r--pkgs/applications/kde/kdevelop/kdevelop.nix4
-rw-r--r--pkgs/applications/kde/kdialog.nix2
-rw-r--r--pkgs/applications/kde/keditbookmarks.nix2
-rw-r--r--pkgs/applications/kde/kidentitymanagement.nix2
-rw-r--r--pkgs/applications/kde/kimap.nix2
-rw-r--r--pkgs/applications/kde/kldap.nix2
-rw-r--r--pkgs/applications/kde/kleopatra.nix2
-rw-r--r--pkgs/applications/kde/kmail-account-wizard.nix2
-rw-r--r--pkgs/applications/kde/kmail.nix2
-rw-r--r--pkgs/applications/kde/kmailtransport.nix2
-rw-r--r--pkgs/applications/kde/kmbox.nix2
-rw-r--r--pkgs/applications/kde/kmix.nix2
-rw-r--r--pkgs/applications/kde/kmousetool.nix2
-rw-r--r--pkgs/applications/kde/kmplot.nix2
-rw-r--r--pkgs/applications/kde/konsole.nix2
-rw-r--r--pkgs/applications/kde/kontact.nix2
-rw-r--r--pkgs/applications/kde/kontactinterface.nix2
-rw-r--r--pkgs/applications/kde/korganizer.nix2
-rw-r--r--pkgs/applications/kde/kpat.nix2
-rw-r--r--pkgs/applications/kde/kpimtextedit.nix2
-rw-r--r--pkgs/applications/kde/kqtquickcharts.nix2
-rw-r--r--pkgs/applications/kde/krdc.nix2
-rw-r--r--pkgs/applications/kde/krfb.nix2
-rw-r--r--pkgs/applications/kde/ksmtp/default.nix2
-rw-r--r--pkgs/applications/kde/ktnef.nix2
-rw-r--r--pkgs/applications/kde/libgravatar.nix2
-rw-r--r--pkgs/applications/kde/libkdepim.nix2
-rw-r--r--pkgs/applications/kde/libkgapi.nix2
-rw-r--r--pkgs/applications/kde/libkleo.nix2
-rw-r--r--pkgs/applications/kde/libksieve.nix2
-rw-r--r--pkgs/applications/kde/mailcommon.nix2
-rw-r--r--pkgs/applications/kde/mailimporter.nix2
-rw-r--r--pkgs/applications/kde/mbox-importer.nix2
-rw-r--r--pkgs/applications/kde/messagelib.nix2
-rw-r--r--pkgs/applications/kde/okular.nix2
-rw-r--r--pkgs/applications/kde/pim-data-exporter.nix2
-rw-r--r--pkgs/applications/kde/pim-sieve-editor.nix2
-rw-r--r--pkgs/applications/kde/pimcommon.nix2
-rw-r--r--pkgs/applications/kde/rocs.nix6
-rw-r--r--pkgs/applications/kde/srcs.nix1864
-rw-r--r--pkgs/applications/maui/booth.nix52
-rw-r--r--pkgs/applications/maui/default.nix4
-rw-r--r--pkgs/applications/maui/fetch.sh2
-rw-r--r--pkgs/applications/maui/mauikit.nix2
-rw-r--r--pkgs/applications/maui/mauiman.nix27
-rw-r--r--pkgs/applications/maui/srcs.nix144
-rw-r--r--pkgs/applications/misc/1password-gui/default.nix18
-rw-r--r--pkgs/applications/misc/1password/default.nix10
-rw-r--r--pkgs/applications/misc/anytype/default.nix4
-rw-r--r--pkgs/applications/misc/ausweisapp2/default.nix4
-rw-r--r--pkgs/applications/misc/auto-multiple-choice/default.nix6
-rw-r--r--pkgs/applications/misc/bb/default.nix6
-rw-r--r--pkgs/applications/misc/blender/default.nix4
-rw-r--r--pkgs/applications/misc/calibre/default.nix4
-rw-r--r--pkgs/applications/misc/cheat/default.nix4
-rw-r--r--pkgs/applications/misc/clight/clightd.nix12
-rw-r--r--pkgs/applications/misc/clipqr/default.nix2
-rw-r--r--pkgs/applications/misc/cubiomes-viewer/default.nix4
-rw-r--r--pkgs/applications/misc/darkman/default.nix5
-rw-r--r--pkgs/applications/misc/dbeaver/default.nix6
-rw-r--r--pkgs/applications/misc/dmenu/wayland.nix6
-rw-r--r--pkgs/applications/misc/dstask/default.nix6
-rw-r--r--pkgs/applications/misc/emoji-picker/default.nix27
-rw-r--r--pkgs/applications/misc/emoji-picker/xsys.patch63
-rw-r--r--pkgs/applications/misc/endeavour/default.nix104
-rw-r--r--pkgs/applications/misc/eureka-ideas/default.nix13
-rw-r--r--pkgs/applications/misc/free42/default.nix4
-rw-r--r--pkgs/applications/misc/fuzzel/default.nix4
-rw-r--r--pkgs/applications/misc/gallery-dl/default.nix23
-rw-r--r--pkgs/applications/misc/gammu/default.nix15
-rw-r--r--pkgs/applications/misc/gammu/gammu-config-dialog.patch20
-rw-r--r--pkgs/applications/misc/gnome-extension-manager/default.nix3
-rw-r--r--pkgs/applications/misc/heimer/default.nix4
-rw-r--r--pkgs/applications/misc/hugo/default.nix6
-rw-r--r--pkgs/applications/misc/itd/default.nix43
-rw-r--r--pkgs/applications/misc/jgmenu/default.nix7
-rw-r--r--pkgs/applications/misc/joplin-desktop/default.nix2
-rw-r--r--pkgs/applications/misc/josm/default.nix6
-rw-r--r--pkgs/applications/misc/junction/default.nix24
-rw-r--r--pkgs/applications/misc/keepassx/community.nix4
-rw-r--r--pkgs/applications/misc/ksmoothdock/default.nix6
-rw-r--r--pkgs/applications/misc/logseq/default.nix4
-rw-r--r--pkgs/applications/misc/lscolors/default.nix6
-rw-r--r--pkgs/applications/misc/lutris/fhsenv.nix9
-rw-r--r--pkgs/applications/misc/maliit-framework/default.nix15
-rw-r--r--pkgs/applications/misc/maliit-keyboard/default.nix12
-rw-r--r--pkgs/applications/misc/mangal/default.nix4
-rw-r--r--pkgs/applications/misc/meerk40t/camera.nix38
-rw-r--r--pkgs/applications/misc/meerk40t/default.nix37
-rw-r--r--pkgs/applications/misc/mepo/default.nix53
-rw-r--r--pkgs/applications/misc/metadata-cleaner/default.nix13
-rw-r--r--pkgs/applications/misc/moonlight-qt/default.nix4
-rw-r--r--pkgs/applications/misc/mysql-workbench/default.nix25
-rw-r--r--pkgs/applications/misc/mysql-workbench/hardcode-paths.patch70
-rw-r--r--pkgs/applications/misc/nerd-font-patcher/default.nix8
-rw-r--r--pkgs/applications/misc/nut/default.nix14
-rw-r--r--pkgs/applications/misc/nut/hardcode-paths.patch13
-rw-r--r--pkgs/applications/misc/obsidian/default.nix4
-rw-r--r--pkgs/applications/misc/oneko/default.nix11
-rw-r--r--pkgs/applications/misc/organicmaps/default.nix4
-rw-r--r--pkgs/applications/misc/oxker/default.nix6
-rw-r--r--pkgs/applications/misc/passky-desktop/default.nix6
-rw-r--r--pkgs/applications/misc/privacyidea/default.nix4
-rw-r--r--pkgs/applications/misc/process-compose/default.nix42
-rw-r--r--pkgs/applications/misc/prusa-slicer/default.nix10
-rw-r--r--pkgs/applications/misc/prusa-slicer/super-slicer.nix4
-rw-r--r--pkgs/applications/misc/qMasterPassword/default.nix26
-rw-r--r--pkgs/applications/misc/redis-desktop-manager/default.nix85
-rw-r--r--pkgs/applications/misc/resp-app/default.nix103
-rw-r--r--pkgs/applications/misc/safeeyes/default.nix11
-rw-r--r--pkgs/applications/misc/semver/default.nix23
-rw-r--r--pkgs/applications/misc/sigi/default.nix8
-rw-r--r--pkgs/applications/misc/sleepyhead/default.nix45
-rw-r--r--pkgs/applications/misc/sticky/default.nix2
-rw-r--r--pkgs/applications/misc/survex/default.nix6
-rw-r--r--pkgs/applications/misc/swaysettings/default.nix8
-rw-r--r--pkgs/applications/misc/syncthingtray/default.nix16
-rw-r--r--pkgs/applications/misc/syncthingtray/use-nix-path-in-autostart.patch13
-rw-r--r--pkgs/applications/misc/synergy/default.nix13
-rw-r--r--pkgs/applications/misc/tasktimer/default.nix6
-rw-r--r--pkgs/applications/misc/tellico/default.nix22
-rw-r--r--pkgs/applications/misc/tippecanoe/default.nix4
-rw-r--r--pkgs/applications/misc/tofi/default.nix4
-rw-r--r--pkgs/applications/misc/tootle/default.nix15
-rw-r--r--pkgs/applications/misc/tty-share/default.nix5
-rw-r--r--pkgs/applications/misc/tumpa/default.nix42
-rw-r--r--pkgs/applications/misc/ulauncher/default.nix9
-rw-r--r--pkgs/applications/misc/ulauncher/fix-path.patch11
-rw-r--r--pkgs/applications/misc/vhs/default.nix38
-rw-r--r--pkgs/applications/misc/waybar/default.nix4
-rw-r--r--pkgs/applications/misc/waylock/default.nix52
-rw-r--r--pkgs/applications/misc/wbg/default.nix3
-rw-r--r--pkgs/applications/misc/web-media-controller/default.nix30
-rw-r--r--pkgs/applications/misc/wordnet/default.nix4
-rw-r--r--pkgs/applications/misc/xca/default.nix8
-rw-r--r--pkgs/applications/misc/xplr/default.nix6
-rw-r--r--pkgs/applications/networking/blocky/default.nix8
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.json40
-rw-r--r--pkgs/applications/networking/browsers/dillong/default.nix57
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix786
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix5
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix786
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/release_sources.nix786
-rw-r--r--pkgs/applications/networking/browsers/firefox/common.nix9
-rw-r--r--pkgs/applications/networking/browsers/firefox/packages.nix19
-rw-r--r--pkgs/applications/networking/browsers/firefox/wrapper.nix85
-rw-r--r--pkgs/applications/networking/browsers/lagrange/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/librewolf/librewolf.nix10
-rw-r--r--pkgs/applications/networking/browsers/librewolf/src.json10
-rw-r--r--pkgs/applications/networking/browsers/litebrowser/default.nix55
-rw-r--r--pkgs/applications/networking/browsers/luakit/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/microsoft-edge/default.nix12
-rw-r--r--pkgs/applications/networking/browsers/palemoon/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix6
-rw-r--r--pkgs/applications/networking/cloudflare-dyndns/default.nix17
-rw-r--r--pkgs/applications/networking/cluster/argo/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/argocd-autopilot/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/argocd/default.nix9
-rw-r--r--pkgs/applications/networking/cluster/arkade/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/atmos/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/cilium/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/clusterctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/cni/default.nix16
-rw-r--r--pkgs/applications/networking/cluster/fn-cli/default.nix3
-rw-r--r--pkgs/applications/networking/cluster/glooctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/helm/chart-testing/default.nix28
-rw-r--r--pkgs/applications/networking/cluster/helm/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/helmsman/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/inframap/default.nix30
-rw-r--r--pkgs/applications/networking/cluster/istioctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/k3s/default.nix12
-rw-r--r--pkgs/applications/networking/cluster/k3sup/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kfctl/default.nix3
-rw-r--r--pkgs/applications/networking/cluster/kompose/default.nix11
-rw-r--r--pkgs/applications/networking/cluster/kpt/default.nix10
-rw-r--r--pkgs/applications/networking/cluster/krane/Gemfile.lock30
-rw-r--r--pkgs/applications/networking/cluster/krane/gemset.nix48
-rw-r--r--pkgs/applications/networking/cluster/kubecfg/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubecolor/default.nix12
-rw-r--r--pkgs/applications/networking/cluster/kubelogin/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubemqctl/default.nix3
-rw-r--r--pkgs/applications/networking/cluster/kubeone/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubernetes/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubeseal/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubetail/default.nix16
-rw-r--r--pkgs/applications/networking/cluster/kubeval/default.nix13
-rw-r--r--pkgs/applications/networking/cluster/kuttl/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/minikube/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/odo/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/roxctl/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/tektoncd-cli/default.nix11
-rw-r--r--pkgs/applications/networking/cluster/temporal-cli/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/temporalite/default.nix35
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/default.nix10
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/providers.json432
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/terragrunt/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/velero/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/waypoint/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/werf/default.nix6
-rw-r--r--pkgs/applications/networking/dnscontrol/default.nix6
-rw-r--r--pkgs/applications/networking/feedreaders/goeland/default.nix37
-rw-r--r--pkgs/applications/networking/feedreaders/newsflash/default.nix6
-rw-r--r--pkgs/applications/networking/flent/default.nix38
-rw-r--r--pkgs/applications/networking/flexget/default.nix16
-rw-r--r--pkgs/applications/networking/gmailctl/default.nix6
-rw-r--r--pkgs/applications/networking/go-graft/default.nix6
-rw-r--r--pkgs/applications/networking/google-drive-ocamlfuse/default.nix4
-rw-r--r--pkgs/applications/networking/hyprspace/default.nix1
-rw-r--r--pkgs/applications/networking/ike/default.nix62
-rw-r--r--pkgs/applications/networking/instant-messengers/alfaview/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/baresip/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/bluejeans/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/coyim/default.nix17
-rw-r--r--pkgs/applications/networking/instant-messengers/dino/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/default.nix27
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/linux.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-web.nix136
-rw-r--r--pkgs/applications/networking/instant-messengers/element/pin.json10
-rwxr-xr-xpkgs/applications/networking/instant-messengers/element/update.sh3
-rw-r--r--pkgs/applications/networking/instant-messengers/feishu/default.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/ferdium/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/gajim/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/go-neb/default.nix3
-rw-r--r--pkgs/applications/networking/instant-messengers/gotktrix/default.nix14
-rw-r--r--pkgs/applications/networking/instant-messengers/gurk-rs/default.nix19
-rw-r--r--pkgs/applications/networking/instant-messengers/jami/client-qt.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/jami/default.nix25
-rwxr-xr-xpkgs/applications/networking/instant-messengers/jami/update.sh4
-rw-r--r--pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/schildichat/pin.json14
-rw-r--r--pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix3
-rw-r--r--pkgs/applications/networking/instant-messengers/session-desktop/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-cli/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signald/0001-Fetch-buildconfig-during-gradle-build-inside-Nix-FOD.patch14
-rw-r--r--pkgs/applications/networking/instant-messengers/signald/0002-buildconfig-local-deps-fixes.patch14
-rw-r--r--pkgs/applications/networking/instant-messengers/signald/default.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/threema-desktop/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/webex/default.nix6
-rw-r--r--pkgs/applications/networking/irc/irssi/default.nix4
-rw-r--r--pkgs/applications/networking/irc/kvirc/default.nix6
-rw-r--r--pkgs/applications/networking/irc/senpai/default.nix8
-rw-r--r--pkgs/applications/networking/irc/sic/default.nix4
-rw-r--r--pkgs/applications/networking/lls/default.nix26
-rw-r--r--pkgs/applications/networking/maestral-qt/default.nix53
-rw-r--r--pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix36
-rw-r--r--pkgs/applications/networking/mailreaders/evolution/evolution-ews/hardcode-gsettings.patch72
-rw-r--r--pkgs/applications/networking/mailreaders/mutt/default.nix10
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch/muchsync.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix5
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix530
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/packages.nix5
-rw-r--r--pkgs/applications/networking/mullvad-vpn/default.nix7
-rw-r--r--pkgs/applications/networking/mullvad/libwg.nix2
-rw-r--r--pkgs/applications/networking/mullvad/mullvad.nix6
-rw-r--r--pkgs/applications/networking/mumble/default.nix13
-rw-r--r--pkgs/applications/networking/mumble/overlay.nix1
-rw-r--r--pkgs/applications/networking/ncgopher/default.nix6
-rw-r--r--pkgs/applications/networking/newsreaders/pan/default.nix2
-rw-r--r--pkgs/applications/networking/nextcloud-client/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/enhanced-ctorrent/default.nix (renamed from pkgs/applications/networking/enhanced-ctorrent/default.nix)0
-rw-r--r--pkgs/applications/networking/p2p/lokinet/default.nix14
-rw-r--r--pkgs/applications/networking/protonvpn-gui/default.nix5
-rw-r--r--pkgs/applications/networking/qv2ray/default.nix2
-rw-r--r--pkgs/applications/networking/remote/freerdp/default.nix4
-rw-r--r--pkgs/applications/networking/remote/waypipe/default.nix4
-rw-r--r--pkgs/applications/networking/resilio-sync/default.nix4
-rw-r--r--pkgs/applications/networking/rymdport/default.nix52
-rw-r--r--pkgs/applications/networking/seaweedfs/default.nix6
-rw-r--r--pkgs/applications/networking/sniffers/kismet/default.nix105
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix23
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/wireshark-lookup-dumpcap-in-path.patch32
-rw-r--r--pkgs/applications/networking/soulseek/nicotine-plus/default.nix6
-rw-r--r--pkgs/applications/networking/sync/rclone/default.nix4
-rw-r--r--pkgs/applications/networking/syncthing/default.nix6
-rw-r--r--pkgs/applications/networking/synology-cloud-sync-decryption-tool/default.nix43
-rw-r--r--pkgs/applications/networking/twtxt/default.nix6
-rw-r--r--pkgs/applications/networking/warp/default.nix12
-rw-r--r--pkgs/applications/office/appflowy/default.nix8
-rw-r--r--pkgs/applications/office/endeavour/default.nix70
-rw-r--r--pkgs/applications/office/fava/default.nix4
-rw-r--r--pkgs/applications/office/karlender/default.nix13
-rw-r--r--pkgs/applications/office/kmymoney/default.nix10
-rw-r--r--pkgs/applications/office/libreoffice/default.nix2
-rw-r--r--pkgs/applications/office/libreoffice/src-still/download.nix96
-rw-r--r--pkgs/applications/office/libreoffice/src-still/primary.nix8
-rw-r--r--pkgs/applications/office/micropad/default.nix6
-rw-r--r--pkgs/applications/office/micropad/package.json4
-rw-r--r--pkgs/applications/office/micropad/yarn.lock447
-rw-r--r--pkgs/applications/office/micropad/yarn.nix456
-rw-r--r--pkgs/applications/office/onlyoffice-bin/default.nix5
-rw-r--r--pkgs/applications/office/paper-note/default.nix58
-rw-r--r--pkgs/applications/office/paperless-ngx/default.nix1
-rw-r--r--pkgs/applications/office/portfolio/default.nix4
-rw-r--r--pkgs/applications/office/qownnotes/default.nix4
-rw-r--r--pkgs/applications/office/scribus/default.nix5
-rw-r--r--pkgs/applications/office/treesheets/default.nix6
-rw-r--r--pkgs/applications/office/trilium/default.nix6
-rw-r--r--pkgs/applications/office/zim/default.nix5
-rw-r--r--pkgs/applications/office/zotero/default.nix4
-rw-r--r--pkgs/applications/plasma-mobile/angelfish.nix4
-rw-r--r--pkgs/applications/radio/btlejack/default.nix6
-rw-r--r--pkgs/applications/radio/freedv/default.nix7
-rw-r--r--pkgs/applications/radio/guglielmo/default.nix4
-rw-r--r--pkgs/applications/radio/qradiolink/default.nix8
-rw-r--r--pkgs/applications/radio/rtl_433/default.nix13
-rw-r--r--pkgs/applications/radio/sdrangel/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/calcmysky/default.nix35
-rw-r--r--pkgs/applications/science/astronomy/kstars/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/stellarium/default.nix54
-rw-r--r--pkgs/applications/science/biology/delly/default.nix4
-rw-r--r--pkgs/applications/science/biology/igv/default.nix4
-rw-r--r--pkgs/applications/science/biology/mmseqs2/default.nix50
-rw-r--r--pkgs/applications/science/biology/octopus/default.nix7
-rw-r--r--pkgs/applications/science/biology/sambamba/default.nix11
-rw-r--r--pkgs/applications/science/biology/seqkit/default.nix25
-rw-r--r--pkgs/applications/science/chemistry/d-seams/default.nix9
-rw-r--r--pkgs/applications/science/chemistry/element/default.nix9
-rw-r--r--pkgs/applications/science/chemistry/octopus/default.nix1
-rw-r--r--pkgs/applications/science/electronics/dsview/default.nix28
-rw-r--r--pkgs/applications/science/electronics/dsview/install.patch30
-rw-r--r--pkgs/applications/science/electronics/dsview/libsigrok4dsl.nix28
-rw-r--r--pkgs/applications/science/electronics/dsview/libsigrokdecode4dsl.nix27
-rw-r--r--pkgs/applications/science/electronics/dsview/qt515.patch13
-rw-r--r--pkgs/applications/science/electronics/hal-hardware-analyzer/default.nix20
-rw-r--r--pkgs/applications/science/electronics/kicad/base.nix3
-rw-r--r--pkgs/applications/science/electronics/kicad/default.nix14
-rw-r--r--pkgs/applications/science/electronics/kicad/versions.nix20
-rw-r--r--pkgs/applications/science/electronics/ngspice/default.nix2
-rw-r--r--pkgs/applications/science/electronics/verilator/default.nix22
-rw-r--r--pkgs/applications/science/electronics/xyce/default.nix6
-rw-r--r--pkgs/applications/science/logic/beluga/default.nix2
-rw-r--r--pkgs/applications/science/logic/cbmc/default.nix4
-rw-r--r--pkgs/applications/science/logic/lean/default.nix6
-rw-r--r--pkgs/applications/science/logic/nusmv/default.nix37
-rw-r--r--pkgs/applications/science/logic/potassco/clingcon.nix8
-rw-r--r--pkgs/applications/science/logic/potassco/clingcon_limits.patch24
-rw-r--r--pkgs/applications/science/logic/potassco/clingo.nix4
-rw-r--r--pkgs/applications/science/logic/surelog/default.nix77
-rw-r--r--pkgs/applications/science/logic/uhdm/default.nix63
-rw-r--r--pkgs/applications/science/math/calculix/default.nix4
-rw-r--r--pkgs/applications/science/math/cemu-ti/default.nix (renamed from pkgs/applications/science/math/cemu/default.nix)28
-rw-r--r--pkgs/applications/science/math/gap/default.nix95
-rw-r--r--pkgs/applications/science/math/gmsh/default.nix4
-rw-r--r--pkgs/applications/science/math/sage/env-locations.nix2
-rw-r--r--pkgs/applications/science/math/sage/patches/disable-slow-glpk-test.patch17
-rw-r--r--pkgs/applications/science/math/sage/sage-src.nix24
-rw-r--r--pkgs/applications/science/misc/root/5.nix5
-rw-r--r--pkgs/applications/science/misc/root/default.nix83
-rw-r--r--pkgs/applications/science/misc/root/tests/default.nix4
-rw-r--r--pkgs/applications/science/misc/root/tests/test-thisroot.nix49
-rw-r--r--pkgs/applications/science/misc/toil/default.nix64
-rw-r--r--pkgs/applications/science/molecular-dynamics/gromacs/default.nix4
-rw-r--r--pkgs/applications/science/robotics/mujoco/default.nix122
-rw-r--r--pkgs/applications/science/robotics/mujoco/dependencies.patch114
-rw-r--r--pkgs/applications/search/recoll/default.nix7
-rw-r--r--pkgs/applications/search/recoll/fix-datadir.patch13
-rw-r--r--pkgs/applications/terminal-emulators/blackbox-terminal/default.nix5
-rw-r--r--pkgs/applications/terminal-emulators/iterm2/default.nix4
-rw-r--r--pkgs/applications/terminal-emulators/st/default.nix12
-rw-r--r--pkgs/applications/terminal-emulators/xterm/default.nix4
-rw-r--r--pkgs/applications/version-management/bcompare/default.nix6
-rw-r--r--pkgs/applications/version-management/commitizen/default.nix10
-rw-r--r--pkgs/applications/version-management/fossil/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/gh/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/ghorg/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-absorb/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-branchless/default.nix9
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-cinnabar/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-cola/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-credential-keepassxc/default.nix36
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-machete/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix27
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-subrepo/zsh-completion.patch32
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix5
-rw-r--r--pkgs/applications/version-management/git-and-tools/gitnuro/default.nix56
-rw-r--r--pkgs/applications/version-management/git-and-tools/gitui/default.nix11
-rw-r--r--pkgs/applications/version-management/git-and-tools/lefthook/default.nix4
-rw-r--r--pkgs/applications/version-management/git-repo/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/data.json10
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix2
-rw-r--r--pkgs/applications/version-management/gitoxide/default.nix6
-rw-r--r--pkgs/applications/version-management/got/default.nix4
-rw-r--r--pkgs/applications/version-management/mercurial/default.nix13
-rw-r--r--pkgs/applications/version-management/sourcehut/builds.nix20
-rw-r--r--pkgs/applications/version-management/sourcehut/core.nix2
-rw-r--r--pkgs/applications/version-management/sourcehut/default.nix3
-rw-r--r--pkgs/applications/version-management/sourcehut/dispatch.nix2
-rw-r--r--pkgs/applications/version-management/sourcehut/git.nix2
-rw-r--r--pkgs/applications/version-management/sourcehut/hg.nix2
-rw-r--r--pkgs/applications/version-management/sourcehut/hub.nix4
-rw-r--r--pkgs/applications/version-management/sourcehut/lists.nix4
-rw-r--r--pkgs/applications/version-management/sourcehut/man.nix2
-rw-r--r--pkgs/applications/version-management/sourcehut/meta.nix10
-rw-r--r--pkgs/applications/version-management/sourcehut/paste.nix2
-rw-r--r--pkgs/applications/version-management/sourcehut/scm.nix2
-rw-r--r--pkgs/applications/version-management/sourcehut/todo.nix4
-rw-r--r--pkgs/applications/version-management/srvc/default.nix16
-rw-r--r--pkgs/applications/version-management/srvc/tests-no-timeout.patch36
-rw-r--r--pkgs/applications/version-management/sublime-merge/default.nix8
-rw-r--r--pkgs/applications/version-management/vcsh/default.nix4
-rw-r--r--pkgs/applications/video/ffmpeg-normalize/default.nix4
-rw-r--r--pkgs/applications/video/freetube/default.nix4
-rw-r--r--pkgs/applications/video/go-chromecast/default.nix1
-rw-r--r--pkgs/applications/video/go2tv/default.nix57
-rw-r--r--pkgs/applications/video/handbrake/default.nix47
-rw-r--r--pkgs/applications/video/hypnotix/default.nix2
-rw-r--r--pkgs/applications/video/iina/default.nix4
-rw-r--r--pkgs/applications/video/kmplayer/default.nix5
-rw-r--r--pkgs/applications/video/kooha/default.nix1
-rw-r--r--pkgs/applications/video/lbry/default.nix4
-rw-r--r--pkgs/applications/video/manim/default.nix1
-rw-r--r--pkgs/applications/video/media-downloader/default.nix4
-rw-r--r--pkgs/applications/video/motion/default.nix4
-rw-r--r--pkgs/applications/video/mpv/default.nix17
-rw-r--r--pkgs/applications/video/mpv/scripts/sponsorblock.nix6
-rw-r--r--pkgs/applications/video/mpv/scripts/thumbnail.nix8
-rw-r--r--pkgs/applications/video/obs-studio/Provide-runtime-plugin-destination-as-relative-path.patch26
-rw-r--r--pkgs/applications/video/obs-studio/default.nix22
-rw-r--r--pkgs/applications/video/obs-studio/plugins/default.nix16
-rw-r--r--pkgs/applications/video/obs-studio/plugins/fix-search-path.patch13
-rw-r--r--pkgs/applications/video/obs-studio/plugins/hardcode-ndi-path.patch24
-rw-r--r--pkgs/applications/video/obs-studio/plugins/input-overlay.nix47
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval/default.nix (renamed from pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval.nix)18
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval/includes.patch (renamed from pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval-includes.patch)8
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval/use-cpu-backend.patch32
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-hyperion/default.nix33
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-move-transition-use-FindLibobs.cmake.patch34
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix22
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp/default.nix (renamed from pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix)9
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp/fix-build.patch54
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-ndi.nix21
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-nvfbc.nix4
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-pipewire-audio-capture.nix9
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-source-record.nix34
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix4
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-websocket.nix63
-rw-r--r--pkgs/applications/video/obs-studio/plugins/wlrobs.nix14
-rw-r--r--pkgs/applications/video/openshot-qt/default.nix54
-rw-r--r--pkgs/applications/video/vlc/default.nix3
-rw-r--r--pkgs/applications/video/xplayer/default.nix2
-rw-r--r--pkgs/applications/video/xplayer/plparser.nix2
-rw-r--r--pkgs/applications/video/xvidcap/default.nix52
-rw-r--r--pkgs/applications/video/xvidcap/xlib.patch15
-rw-r--r--pkgs/applications/virtualization/OVMF/default.nix7
-rw-r--r--pkgs/applications/virtualization/cloud-hypervisor/default.nix6
-rw-r--r--pkgs/applications/virtualization/conmon-rs/default.nix31
-rw-r--r--pkgs/applications/virtualization/conmon/default.nix4
-rw-r--r--pkgs/applications/virtualization/containerd/default.nix4
-rw-r--r--pkgs/applications/virtualization/cri-o/wrapper.nix13
-rw-r--r--pkgs/applications/virtualization/crosvm/default-seccomp-policy-dir.diff15
-rw-r--r--pkgs/applications/virtualization/crosvm/default.nix56
-rw-r--r--pkgs/applications/virtualization/crosvm/generate-cargo.sh7
-rwxr-xr-xpkgs/applications/virtualization/crosvm/update.py15
-rw-r--r--pkgs/applications/virtualization/crun/default.nix4
-rw-r--r--pkgs/applications/virtualization/ecs-agent/default.nix34
-rw-r--r--pkgs/applications/virtualization/gvisor/default.nix6
-rw-r--r--pkgs/applications/virtualization/libgovirt/default.nix9
-rw-r--r--pkgs/applications/virtualization/libgovirt/no-version-script-ld-flag.patch14
-rw-r--r--pkgs/applications/virtualization/lima/default.nix6
-rw-r--r--pkgs/applications/virtualization/nixpacks/default.nix6
-rw-r--r--pkgs/applications/virtualization/open-vm-tools/default.nix138
-rw-r--r--pkgs/applications/virtualization/podman-tui/default.nix38
-rw-r--r--pkgs/applications/virtualization/podman/default.nix4
-rw-r--r--pkgs/applications/virtualization/podman/wrapper.nix17
-rw-r--r--pkgs/applications/virtualization/pods/default.nix6
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix2
-rw-r--r--pkgs/applications/virtualization/virt-viewer/default.nix13
-rw-r--r--pkgs/applications/window-managers/eww/default.nix3
-rw-r--r--pkgs/applications/window-managers/gamescope/default.nix6
-rw-r--r--pkgs/applications/window-managers/i3/default.nix4
-rw-r--r--pkgs/applications/window-managers/i3/gaps.nix4
-rw-r--r--pkgs/applications/window-managers/i3/i3ipc-glib.nix7
-rw-r--r--pkgs/applications/window-managers/icewm/default.nix4
-rw-r--r--pkgs/applications/window-managers/notion/default.nix4
-rw-r--r--pkgs/applications/window-managers/phosh/default.nix3
-rw-r--r--pkgs/applications/window-managers/picom/default.nix4
-rw-r--r--pkgs/applications/window-managers/tabbed/default.nix10
741 files changed, 36008 insertions, 21649 deletions
diff --git a/pkgs/applications/accessibility/squeekboard/default.nix b/pkgs/applications/accessibility/squeekboard/default.nix
index b2586ef76c2b3..9cb084a6182b9 100644
--- a/pkgs/applications/accessibility/squeekboard/default.nix
+++ b/pkgs/applications/accessibility/squeekboard/default.nix
@@ -20,7 +20,7 @@
 
 stdenv.mkDerivation rec {
   pname = "squeekboard";
-  version = "1.17.0";
+  version = "1.20.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
@@ -28,18 +28,23 @@ stdenv.mkDerivation rec {
     owner = "Phosh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-U46OQ0bXkXv6za8vUZxtbxJKqiF/X/xxJsqQGpnRIpg=";
+    sha256 = "sha256-wx3fKRX/SPYGAFuR9u03JAvVRhtYIPUvW8mAsCdx83I=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     cargoUpdateHook = ''
-      cat Cargo.toml.in Cargo.deps > Cargo.toml
+      cat Cargo.toml.in Cargo.deps.newer > Cargo.toml
+      cp Cargo.lock.newer Cargo.lock
     '';
     name = "${pname}-${version}";
-    sha256 = "sha256-4q8MW1n/xu538+R5ZlA+p/hd6pOQPKj7jOFwnuMc7sk=";
+    sha256 = "sha256-BbNkapqnqEW/NglrCse10Tm80SXYVQWWrOC5dTN6oi0=";
   };
 
+  mesonFlags = [
+    "-Dnewer=true"
+  ];
+
   nativeBuildInputs = [
     meson
     ninja
@@ -67,7 +72,7 @@ stdenv.mkDerivation rec {
     description = "A virtual keyboard supporting Wayland";
     homepage = "https://source.puri.sm/Librem5/squeekboard";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ artturin ];
+    maintainers = with maintainers; [ artturin tomfitzhenry ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/accessibility/wvkbd/default.nix b/pkgs/applications/accessibility/wvkbd/default.nix
index 44a6025761362..ade7971a844a5 100644
--- a/pkgs/applications/accessibility/wvkbd/default.nix
+++ b/pkgs/applications/accessibility/wvkbd/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wvkbd";
-  version = "0.11";
+  version = "0.12";
 
   src = fetchFromGitHub {
     owner = "jjsullivan5196";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-rMaJzePtT7K0X9o9/yT1hfKIo07W2CLEZKqHwfCLQBE=";
+    sha256 = "sha256-5m4aeuCqSJNgerQKyP9M6Qf7P4ijCtCY4Efew6E09Bc=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/audio/ardour/6.nix b/pkgs/applications/audio/ardour/6.nix
new file mode 100644
index 0000000000000..140d20c2aad5b
--- /dev/null
+++ b/pkgs/applications/audio/ardour/6.nix
@@ -0,0 +1,191 @@
+{ lib, stdenv
+, fetchgit
+, alsa-lib
+, aubio
+, boost
+, cairomm
+, cppunit
+, curl
+, dbus
+, doxygen
+, ffmpeg
+, fftw
+, fftwSinglePrec
+, flac
+, glibc
+, glibmm
+, graphviz
+, gtkmm2
+, harvid
+, itstool
+, libarchive
+, libjack2
+, liblo
+, libogg
+, libpulseaudio
+, librdf_raptor
+, librdf_rasqal
+, libsamplerate
+, libsigcxx
+, libsndfile
+, libusb1
+, libuv
+, libwebsockets
+, libxml2
+, libxslt
+, lilv
+, lrdf
+, lv2
+, makeWrapper
+, pango
+, perl
+, pkg-config
+, python3
+, readline
+, rubberband
+, serd
+, sord
+, soundtouch
+, sratom
+, suil
+, taglib
+, vamp-plugin-sdk
+, wafHook
+, xjadeo
+, videoSupport ? true
+}:
+stdenv.mkDerivation rec {
+  pname = "ardour";
+  version = "6.9";
+
+  # We can't use `fetchFromGitea` here, as attempting to fetch release archives from git.ardour.org
+  # result in an empty archive. See https://tracker.ardour.org/view.php?id=7328 for more info.
+  src = fetchgit {
+    url = "git://git.ardour.org/ardour/ardour.git";
+    rev = version;
+    sha256 = "0vlcbd70y0an881zv87kc3akmaiz4w7whsy3yaiiqqjww35jg1mm";
+  };
+
+  patches = [
+    # AS=as in the environment causes build failure https://tracker.ardour.org/view.php?id=8096
+    ./as-flags.patch
+  ];
+
+  nativeBuildInputs = [
+    doxygen
+    graphviz # for dot
+    itstool
+    makeWrapper
+    perl
+    pkg-config
+    python3
+    wafHook
+  ];
+
+  buildInputs = [
+    alsa-lib
+    aubio
+    boost
+    cairomm
+    cppunit
+    curl
+    dbus
+    ffmpeg
+    fftw
+    fftwSinglePrec
+    flac
+    glibmm
+    gtkmm2
+    itstool
+    libarchive
+    libjack2
+    liblo
+    libogg
+    libpulseaudio
+    librdf_raptor
+    librdf_rasqal
+    libsamplerate
+    libsigcxx
+    libsndfile
+    libusb1
+    libuv
+    libwebsockets
+    libxml2
+    libxslt
+    lilv
+    lrdf
+    lv2
+    pango
+    perl
+    python3
+    readline
+    rubberband
+    serd
+    sord
+    soundtouch
+    sratom
+    suil
+    taglib
+    vamp-plugin-sdk
+  ] ++ lib.optionals videoSupport [ harvid xjadeo ];
+
+  wafConfigureFlags = [
+    "--cxx11"
+    "--docs"
+    "--freedesktop"
+    "--no-phone-home"
+    "--optimize"
+    "--ptformat"
+    "--run-tests"
+    "--test"
+  ];
+  # removed because it fixes https://tracker.ardour.org/view.php?id=8161 and https://tracker.ardour.org/view.php?id=8437
+  # "--use-external-libs"
+
+  # Ardour's wscript requires git revision and date to be available.
+  # Since they are not, let's generate the file manually.
+  postPatch = ''
+    printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = "${version}"; const char* date = ""; }\n' > libs/ardour/revision.cc
+    sed 's|/usr/include/libintl.h|${glibc.dev}/include/libintl.h|' -i wscript
+    patchShebangs ./tools/
+    substituteInPlace libs/ardour/video_tools_paths.cc \
+      --replace 'ffmpeg_exe = X_("");' 'ffmpeg_exe = X_("${ffmpeg}/bin/ffmpeg");' \
+      --replace 'ffprobe_exe = X_("");' 'ffprobe_exe = X_("${ffmpeg}/bin/ffprobe");'
+  '';
+
+  postInstall = ''
+    # wscript does not install these for some reason
+    install -vDm 644 "build/gtk2_ardour/ardour.xml" \
+      -t "$out/share/mime/packages"
+    install -vDm 644 "build/gtk2_ardour/ardour6.desktop" \
+      -t "$out/share/applications"
+    for size in 16 22 32 48 256 512; do
+      install -vDm 644 "gtk2_ardour/resources/Ardour-icon_''${size}px.png" \
+        "$out/share/icons/hicolor/''${size}x''${size}/apps/ardour6.png"
+    done
+    install -vDm 644 "ardour.1"* -t "$out/share/man/man1"
+  '' + lib.optionalString videoSupport ''
+    # `harvid` and `xjadeo` must be accessible in `PATH` for video to work.
+    wrapProgram "$out/bin/ardour6" \
+      --prefix PATH : "${lib.makeBinPath [ harvid xjadeo ]}"
+  '';
+
+  LINKFLAGS = "-lpthread";
+
+  meta = with lib; {
+    description = "Multi-track hard disk recording software";
+    longDescription = ''
+      Ardour is a digital audio workstation (DAW), You can use it to
+      record, edit and mix multi-track audio and midi. Produce your
+      own CDs. Mix video soundtracks. Experiment with new ideas about
+      music and sound.
+
+      Please consider supporting the ardour project financially:
+      https://community.ardour.org/donate
+    '';
+    homepage = "https://ardour.org/";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ goibhniu magnetophon mitchmindtree ];
+  };
+}
diff --git a/pkgs/applications/audio/ardour/default.nix b/pkgs/applications/audio/ardour/default.nix
index d5afcac86cd48..44b54111fd360 100644
--- a/pkgs/applications/audio/ardour/default.nix
+++ b/pkgs/applications/audio/ardour/default.nix
@@ -1,5 +1,7 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchgit
+, fetchzip
 , alsa-lib
 , aubio
 , boost
@@ -56,13 +58,21 @@
 }:
 stdenv.mkDerivation rec {
   pname = "ardour";
-  version = "6.9";
+  version = "7.1";
 
-  # don't fetch releases from the GitHub mirror, they are broken
+  # We can't use `fetchFromGitea` here, as attempting to fetch release archives from git.ardour.org
+  # result in an empty archive. See https://tracker.ardour.org/view.php?id=7328 for more info.
   src = fetchgit {
     url = "git://git.ardour.org/ardour/ardour.git";
     rev = version;
-    sha256 = "0vlcbd70y0an881zv87kc3akmaiz4w7whsy3yaiiqqjww35jg1mm";
+    hash = "sha256-eLF9n71tjdPA+ks0B8UonmPZqRgcZEA7ok79+m9PioU=";
+  };
+
+  bundledContent = fetchzip {
+    url = "https://web.archive.org/web/20221026200824/http://stuff.ardour.org/loops/ArdourBundledMedia.zip";
+    hash = "sha256-IbPQWFeyMuvCoghFl1ZwZNNcSvLNsH84rGArXnw+t7A=";
+    # archive does not contain a single folder at the root
+    stripRoot = false;
   };
 
   patches = [
@@ -70,6 +80,17 @@ stdenv.mkDerivation rec {
     ./as-flags.patch
   ];
 
+  # Ardour's wscript requires git revision and date to be available.
+  # Since they are not, let's generate the file manually.
+  postPatch = ''
+    printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = "${version}"; const char* date = ""; }\n' > libs/ardour/revision.cc
+    sed 's|/usr/include/libintl.h|${glibc.dev}/include/libintl.h|' -i wscript
+    patchShebangs ./tools/
+    substituteInPlace libs/ardour/video_tools_paths.cc \
+      --replace 'ffmpeg_exe = X_("");' 'ffmpeg_exe = X_("${ffmpeg}/bin/ffmpeg");' \
+      --replace 'ffprobe_exe = X_("");' 'ffprobe_exe = X_("${ffmpeg}/bin/ffprobe");'
+  '';
+
   nativeBuildInputs = [
     doxygen
     graphviz # for dot
@@ -141,31 +162,23 @@ stdenv.mkDerivation rec {
   # removed because it fixes https://tracker.ardour.org/view.php?id=8161 and https://tracker.ardour.org/view.php?id=8437
   # "--use-external-libs"
 
-  # Ardour's wscript requires git revision and date to be available.
-  # Since they are not, let's generate the file manually.
-  postPatch = ''
-    printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = "${version}"; const char* date = ""; }\n' > libs/ardour/revision.cc
-    sed 's|/usr/include/libintl.h|${glibc.dev}/include/libintl.h|' -i wscript
-    patchShebangs ./tools/
-    substituteInPlace libs/ardour/video_tools_paths.cc \
-      --replace 'ffmpeg_exe = X_("");' 'ffmpeg_exe = X_("${ffmpeg}/bin/ffmpeg");' \
-      --replace 'ffprobe_exe = X_("");' 'ffprobe_exe = X_("${ffmpeg}/bin/ffprobe");'
-  '';
-
   postInstall = ''
     # wscript does not install these for some reason
     install -vDm 644 "build/gtk2_ardour/ardour.xml" \
       -t "$out/share/mime/packages"
-    install -vDm 644 "build/gtk2_ardour/ardour6.desktop" \
+    install -vDm 644 "build/gtk2_ardour/ardour${lib.versions.major version}.desktop" \
       -t "$out/share/applications"
     for size in 16 22 32 48 256 512; do
       install -vDm 644 "gtk2_ardour/resources/Ardour-icon_''${size}px.png" \
-        "$out/share/icons/hicolor/''${size}x''${size}/apps/ardour6.png"
+        "$out/share/icons/hicolor/''${size}x''${size}/apps/ardour${lib.versions.major version}.png"
     done
     install -vDm 644 "ardour.1"* -t "$out/share/man/man1"
+
+    # install additional bundled beats, chords and progressions
+    cp -rp "${bundledContent}"/* "$out/share/ardour${lib.versions.major version}/media"
   '' + lib.optionalString videoSupport ''
     # `harvid` and `xjadeo` must be accessible in `PATH` for video to work.
-    wrapProgram "$out/bin/ardour6" \
+    wrapProgram "$out/bin/ardour${lib.versions.major version}" \
       --prefix PATH : "${lib.makeBinPath [ harvid xjadeo ]}"
   '';
 
diff --git a/pkgs/applications/audio/ario/default.nix b/pkgs/applications/audio/ario/default.nix
index 68b74821ec3f7..f9fedfcc28ffa 100644
--- a/pkgs/applications/audio/ario/default.nix
+++ b/pkgs/applications/audio/ario/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchurl
+, autoreconfHook
 , pkg-config
 , intltool
 , avahi
@@ -24,7 +25,14 @@ stdenv.mkDerivation rec {
     sha256 = "16nhfb3h5pc7flagfdz7xy0iq6kvgy6h4bfpi523i57rxvlfshhl";
   };
 
-  nativeBuildInputs = [ pkg-config gettext intltool wrapGAppsHook ];
+  nativeBuildInputs = [
+    autoreconfHook
+    pkg-config
+    gettext
+    intltool
+    wrapGAppsHook
+  ];
+
   buildInputs = [
     avahi
     curl
@@ -36,6 +44,12 @@ stdenv.mkDerivation rec {
     taglib
   ];
 
+  postInstall = lib.optionalString stdenv.isDarwin ''
+    for file in $out/lib/ario/plugins/*.dylib; do
+      ln -s $file $out/lib/ario/plugins/$(basename $file .dylib).so
+    done
+  '';
+
   meta = with lib; {
     description = "GTK client for MPD (Music player daemon)";
     homepage = "http://ario-player.sourceforge.net/";
diff --git a/pkgs/applications/audio/ashuffle/default.nix b/pkgs/applications/audio/ashuffle/default.nix
index 90a2abe8adfb4..bd5a644857409 100644
--- a/pkgs/applications/audio/ashuffle/default.nix
+++ b/pkgs/applications/audio/ashuffle/default.nix
@@ -6,23 +6,26 @@
 , meson
 , ninja
 , libmpdclient
+, libyamlcpp
 }:
 
 stdenv.mkDerivation rec {
   pname = "ashuffle";
-  version = "3.12.5";
+  version = "3.13.4";
 
   src = fetchFromGitHub {
     owner = "joshkunz";
     repo = "ashuffle";
     rev = "v${version}";
-    sha256 = "sha256-dPgv6EzRxRdHkGvys601Bkg9Srd8oEjoE9jbAin74Vk=";
+    sha256 = "sha256-J6NN0Rsc9Zw9gagksDlwpwEErs+4XmrGF9YHKlAE1FA=";
     fetchSubmodules = true;
   };
 
   dontUseCmakeConfigure = true;
   nativeBuildInputs = [ cmake pkg-config meson ninja ];
-  buildInputs = [ libmpdclient ];
+  buildInputs = [ libmpdclient libyamlcpp ];
+
+  mesonFlags = [ "-Dunsupported_use_system_yamlcpp=true" ];
 
   meta = with lib; {
     homepage = "https://github.com/joshkunz/ashuffle";
diff --git a/pkgs/applications/audio/audacity/default.nix b/pkgs/applications/audio/audacity/default.nix
index 733368c115c4c..c12cc30df26d0 100644
--- a/pkgs/applications/audio/audacity/default.nix
+++ b/pkgs/applications/audio/audacity/default.nix
@@ -4,6 +4,7 @@
 , fetchpatch
 , cmake
 , makeWrapper
+, wrapGAppsHook
 , pkg-config
 , python3
 , gettext
@@ -83,6 +84,10 @@ stdenv.mkDerivation rec {
   '' + lib.optionalString stdenv.isLinux ''
     substituteInPlace libraries/lib-files/FileNames.cpp \
       --replace /usr/include/linux/magic.h ${linuxHeaders}/include/linux/magic.h
+  ''
+  # error: unknown type name 'NSAppearanceName'
+  + lib.optionalString (stdenv.isDarwin && stdenv.isx86_64) ''
+    sed -z -i "s/if (@available(macOS 10.14, \*)).*}/}/g" src/AudacityApp.mm
   '';
 
   nativeBuildInputs = [
@@ -91,6 +96,7 @@ stdenv.mkDerivation rec {
     pkg-config
     python3
     makeWrapper
+    wrapGAppsHook
   ] ++ optionals stdenv.isLinux [
     linuxHeaders
   ];
@@ -147,6 +153,7 @@ stdenv.mkDerivation rec {
   ];
 
   cmakeFlags = [
+    "-DAUDACITY_BUILD_LEVEL=2"
     "-DAUDACITY_REV_LONG=nixpkgs"
     "-DAUDACITY_REV_TIME=nixpkgs"
     "-DDISABLE_DYNAMIC_LOADING_FFMPEG=ON"
@@ -196,7 +203,5 @@ stdenv.mkDerivation rec {
     ];
     maintainers = with maintainers; [ lheckemann veprbl wegank ];
     platforms = platforms.unix;
-    # error: unknown type name 'NSAppearanceName'
-    broken = stdenv.isDarwin && stdenv.isx86_64;
   };
 }
diff --git a/pkgs/applications/audio/bambootracker/default.nix b/pkgs/applications/audio/bambootracker/default.nix
index f19afcefc6065..875daa196d5dd 100644
--- a/pkgs/applications/audio/bambootracker/default.nix
+++ b/pkgs/applications/audio/bambootracker/default.nix
@@ -12,14 +12,14 @@
 
 mkDerivation rec {
   pname = "bambootracker";
-  version = "0.5.2";
+  version = "0.5.3";
 
   src = fetchFromGitHub {
     owner = "BambooTracker";
     repo = "BambooTracker";
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-+9PmpmsF08oU//pJOWaoGQzG7a2O13kYqKbGwVRAMlU=";
+    sha256 = "sha256-OaktEUWWDEW+MYnQkaB8FvkuH29VDXFqBVSTEJ7Sz7A=";
   };
 
   nativeBuildInputs = [ qmake qttools pkg-config ];
diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix
index 00843ec863231..8da04de579e6a 100644
--- a/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix
+++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bitwig-studio";
-  version = "4.4.1";
+  version = "4.4.3";
 
   src = fetchurl {
     url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb";
-    sha256 = "sha256-+NvQ7TA8WLnZKbzsB+jLl/CIg7tayKd+W2svtXtDsT4=";
+    sha256 = "sha256-NP9cM1xIHblMdUFKIviPKDi6su6Nc3xsX2pnPeP7hdQ=";
   };
 
   nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ];
diff --git a/pkgs/applications/audio/cava/default.nix b/pkgs/applications/audio/cava/default.nix
index cc431ff46b9c7..752e1d2dfcfa2 100644
--- a/pkgs/applications/audio/cava/default.nix
+++ b/pkgs/applications/audio/cava/default.nix
@@ -1,33 +1,27 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook, alsa-lib, fftw,
-  libpulseaudio, ncurses }:
+  libpulseaudio, ncurses, iniparser }:
 
 stdenv.mkDerivation rec {
   pname = "cava";
-  version = "0.7.4";
+  version = "0.8.3";
 
   buildInputs = [
     alsa-lib
     fftw
     libpulseaudio
     ncurses
+    iniparser
   ];
 
   src = fetchFromGitHub {
     owner = "karlstav";
     repo = "cava";
     rev = version;
-    sha256 = "sha256-BlHGst34aUgQcXcuQG43VnKUTclCxfQmWRa6iCud8dc=";
+    sha256 = "sha256-6xiWhWynIbUWFIieiYIg24PgwnKuNSIEpkY+P6gyFGw=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
 
-  postConfigure = ''
-    substituteInPlace Makefile.am \
-      --replace "-L/usr/local/lib -Wl,-rpath /usr/local/lib" ""
-    substituteInPlace configure.ac \
-      --replace "/usr/share/consolefonts" "$out/share/consolefonts"
-  '';
-
   meta = with lib; {
     description = "Console-based Audio Visualizer for Alsa";
     homepage = "https://github.com/karlstav/cava";
diff --git a/pkgs/applications/audio/cider/default.nix b/pkgs/applications/audio/cider/default.nix
index 7a042f6ceb1ed..7deb21bcef284 100644
--- a/pkgs/applications/audio/cider/default.nix
+++ b/pkgs/applications/audio/cider/default.nix
@@ -2,11 +2,11 @@
 
 appimageTools.wrapType2 rec {
   pname = "cider";
-  version = "1.5.6";
+  version = "1.5.7";
 
   src = fetchurl {
     url = "https://github.com/ciderapp/cider-releases/releases/download/v${version}/Cider-${version}.AppImage";
-    sha256 = "sha256-gn0dRoPPolujZ1ukuo/esSLwbhiPdcknIe9+W6iRaYw=";
+    sha256 = "sha256-fWpt7YxqEDa1U4CwyVZwgbiwe0lrh64v0cJG9pbNMUU=";
   };
 
   extraInstallCommands =
diff --git a/pkgs/applications/audio/deadbeef/default.nix b/pkgs/applications/audio/deadbeef/default.nix
index d875b7fea52af..13e258c61a906 100644
--- a/pkgs/applications/audio/deadbeef/default.nix
+++ b/pkgs/applications/audio/deadbeef/default.nix
@@ -40,7 +40,7 @@ assert gtk2Support || gtk3Support;
 let
   inherit (lib) optionals;
 
-  version = "1.9.2";
+  version = "1.9.3";
 in clangStdenv.mkDerivation {
   pname = "deadbeef";
   inherit version;
@@ -50,7 +50,7 @@ in clangStdenv.mkDerivation {
     repo = "deadbeef";
     fetchSubmodules = true;
     rev = version;
-    sha256 = "sha256-rlw7s5OUQ9DT6Ru9WieOKUDBqtOvaPE05pg3bN1NQCU=";
+    sha256 = "sha256-Vt5JHrkNyxerqlShIBVbzZaunG0ZbHm5qf3fq9kMMXc=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/audio/espeak-ng/default.nix b/pkgs/applications/audio/espeak-ng/default.nix
index 6458d7188ae1f..84eb4e1d39c92 100644
--- a/pkgs/applications/audio/espeak-ng/default.nix
+++ b/pkgs/applications/audio/espeak-ng/default.nix
@@ -1,18 +1,30 @@
-{ stdenv, lib, fetchFromGitHub, autoconf, automake, which, libtool, pkg-config
-, ronn, substituteAll
-, mbrolaSupport ? true, mbrola
-, pcaudiolibSupport ? true, pcaudiolib
-, sonicSupport ? true, sonic }:
+{ stdenv
+, lib
+, fetchFromGitHub
+, autoconf
+, automake
+, which
+, libtool
+, pkg-config
+, ronn
+, substituteAll
+, mbrolaSupport ? true
+, mbrola
+, pcaudiolibSupport ? true
+, pcaudiolib
+, sonicSupport ? true
+, sonic
+}:
 
 stdenv.mkDerivation rec {
   pname = "espeak-ng";
-  version = "1.50";
+  version = "1.51";
 
   src = fetchFromGitHub {
     owner = "espeak-ng";
     repo = "espeak-ng";
     rev = version;
-    sha256 = "0jkqhf2h94vbqq7mg7mmm23bq372fa7mdk941my18c3vkldcir1b";
+    hash = "sha256-KwzMlQ3/JgpNOpuV4zNc0zG9oWEGFbVSJ4bEd3dtD3Y=";
   };
 
   patches = lib.optionals mbrolaSupport [
@@ -26,8 +38,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoconf automake which libtool pkg-config ronn ];
 
   buildInputs = lib.optional mbrolaSupport mbrola
-             ++ lib.optional pcaudiolibSupport pcaudiolib
-             ++ lib.optional sonicSupport sonic;
+    ++ lib.optional pcaudiolibSupport pcaudiolib
+    ++ lib.optional sonicSupport sonic;
 
   preConfigure = "./autogen.sh";
 
@@ -35,12 +47,6 @@ stdenv.mkDerivation rec {
     "--with-mbrola=${if mbrolaSupport then "yes" else "no"}"
   ];
 
-  # Current release lacks dependencies on local espeak-ng:
-  #  cd dictsource && ESPEAK_DATA_PATH=/build/espeak-ng LD_LIBRARY_PATH=../src: ../src/espeak-ng --compile=yue && cd ..
-  #  bash: line 1: ../src/espeak-ng: No such file or directory
-  # Should be fixed in next release: https://github.com/espeak-ng/espeak-ng/pull/1029
-  enableParallelBuilding = false;
-
   postInstall = lib.optionalString stdenv.isLinux ''
     patchelf --set-rpath "$(patchelf --print-rpath $out/bin/espeak-ng)" $out/bin/speak-ng
   '';
diff --git a/pkgs/applications/audio/espeak/edit.nix b/pkgs/applications/audio/espeak/edit.nix
index 2240a85611641..2c86a036ceb2b 100644
--- a/pkgs/applications/audio/espeak/edit.nix
+++ b/pkgs/applications/audio/espeak/edit.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, unzip, portaudio, wxGTK, sox }:
+{ lib, stdenv, fetchurl, pkg-config, unzip, portaudio, wxGTK32, sox }:
 
 stdenv.mkDerivation rec {
   pname = "espeakedit";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config unzip ];
-  buildInputs = [ portaudio wxGTK ];
+  buildInputs = [ portaudio wxGTK32 ];
 
   # TODO:
   # Uhm, seems like espeakedit still wants espeak-data/ in $HOME, even thought
@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
     ./espeakedit-configurable-sox-path.patch
     ./espeakedit-configurable-path-espeak-data.patch
     ./espeakedit-gcc6.patch
+    ./espeakedit-wxgtk30.patch
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/audio/espeak/espeakedit-wxgtk30.patch b/pkgs/applications/audio/espeak/espeakedit-wxgtk30.patch
new file mode 100644
index 0000000000000..04e5788249869
--- /dev/null
+++ b/pkgs/applications/audio/espeak/espeakedit-wxgtk30.patch
@@ -0,0 +1,32 @@
+diff -uNr a/src/espeakedit.cpp b/src/espeakedit.cpp
+--- a/src/espeakedit.cpp
++++ b/src/espeakedit.cpp
+@@ -123,7 +126,7 @@ bool MyApp::OnInit(void)
+ {//=====================
+ 
+ int j;
+-wxChar *p;
++const wxChar *p;
+ char param[120];
+ 
+ 
+diff -uNr a/src/spect.cpp b/src/spect.cpp
+--- a/src/spect.cpp
++++ b/src/spect.cpp
+@@ -1,6 +1,7 @@
+ /***************************************************************************
+  *   Copyright (C) 2005 to 2007 by Jonathan Duddington                     *
+  *   email: jonsd@users.sourceforge.net                                    *
++ *   Copyright (C) 2013 by Reece H. Dunn                                   *
+  *                                                                         *
+  *   This program is free software; you can redistribute it and/or modify  *
+  *   it under the terms of the GNU General Public License as published by  *
+@@ -92,6 +93,8 @@ float SpectTilt(int value, int freq)
+ 
+ 
+ SpectFrame::SpectFrame(SpectFrame *copy)
++	: FONT_SMALL(8,wxSWISS,wxNORMAL,wxNORMAL)
++	, FONT_MEDIUM(9,wxSWISS,wxNORMAL,wxNORMAL)
+ {//=====================================
+ 
+ 	int  ix;
diff --git a/pkgs/applications/audio/faust/faust2.nix b/pkgs/applications/audio/faust/faust2.nix
index 32bcbee2e6cd2..19468b3af3454 100644
--- a/pkgs/applications/audio/faust/faust2.nix
+++ b/pkgs/applications/audio/faust/faust2.nix
@@ -34,7 +34,7 @@ let
     homepage = "https://faust.grame.fr/";
     downloadPage = "https://github.com/grame-cncm/faust/";
     license = licenses.gpl2;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ magnetophon pmahoney ];
   };
 
diff --git a/pkgs/applications/audio/flac/default.nix b/pkgs/applications/audio/flac/default.nix
index bebb35f45009e..be987fccd66e2 100644
--- a/pkgs/applications/audio/flac/default.nix
+++ b/pkgs/applications/audio/flac/default.nix
@@ -10,12 +10,12 @@
 
 stdenv.mkDerivation rec {
   pname = "flac";
-  version = "1.4.1";
+  version = "1.4.2";
 
   src = fetchurl {
     url = "http://downloads.xiph.org/releases/flac/${pname}-${version}.tar.xz";
     # Official checksum is published at https://github.com/xiph/flac/releases/tag/${version}
-    sha256 = "91303c3e5dfde52c3e94e75976c0ab3ee14ced278ab8f60033a3a12db9209ae6";
+    sha256 = "sha256-4yLVih9I0j2d049DJnKGX2955zpvnMWl9X/KqD61qOQ=";
   };
 
   nativeBuildInputs = [
@@ -43,6 +43,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://xiph.org/flac/";
     description = "Library and tools for encoding and decoding the FLAC lossless audio file format";
+    changelog = "https://xiph.org/flac/changelog.html";
     platforms = platforms.all;
     license = licenses.bsd3;
     maintainers = with maintainers; [ ruuda ];
diff --git a/pkgs/applications/audio/fluidsynth/default.nix b/pkgs/applications/audio/fluidsynth/default.nix
index 1c0ddd1942d30..09abaa862f513 100644
--- a/pkgs/applications/audio/fluidsynth/default.nix
+++ b/pkgs/applications/audio/fluidsynth/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fluidsynth";
-  version = "2.2.9";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "FluidSynth";
     repo = "fluidsynth";
     rev = "v${version}";
-    sha256 = "sha256-8vsYn/4qkANp6f6avtdaXHfJD+9NTHTrl7i4RTlKXPQ=";
+    sha256 = "sha256-7SuM7a8IIecAJ83QvJfUba/wArAEXywqL2HwVbeG8H4=";
   };
 
   nativeBuildInputs = [ buildPackages.stdenv.cc pkg-config cmake ];
diff --git a/pkgs/applications/audio/ft2-clone/default.nix b/pkgs/applications/audio/ft2-clone/default.nix
index cfa831ab525af..5b1fbbb2d7df1 100644
--- a/pkgs/applications/audio/ft2-clone/default.nix
+++ b/pkgs/applications/audio/ft2-clone/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ft2-clone";
-  version = "1.60";
+  version = "1.61";
 
   src = fetchFromGitHub {
     owner = "8bitbubsy";
     repo = "ft2-clone";
     rev = "v${version}";
-    sha256 = "sha256-6/9NaQSRNGnuIivIeWi/dOBSOzxhZYghy7zvdB5i500=";
+    sha256 = "sha256-dm+l+CECsr3TzL1ZGAqW+NLQXNh5JRtdYVROKOjKMXY=";
   };
 
   # Adapt the linux-only CMakeLists to darwin (more reliable than make-macos.sh)
diff --git a/pkgs/applications/audio/goodvibes/default.nix b/pkgs/applications/audio/goodvibes/default.nix
new file mode 100644
index 0000000000000..1f09d99c88893
--- /dev/null
+++ b/pkgs/applications/audio/goodvibes/default.nix
@@ -0,0 +1,61 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, meson
+, ninja
+, pkg-config
+, glib
+, gtk3
+, libsoup
+, keybinder3
+, gst_all_1
+, wrapGAppsHook
+, appstream-glib
+, desktop-file-utils
+}:
+
+stdenv.mkDerivation rec {
+  pname = "goodvibes";
+  version = "0.7.5";
+
+  src = fetchFromGitLab {
+    owner = pname;
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-CE9f0GnXr7wSpp8jyW0ZxGKx16r6tOaObzQXKcy5nPY=";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    wrapGAppsHook
+    appstream-glib
+    desktop-file-utils
+  ];
+
+  buildInputs = [
+    glib
+    gtk3
+    libsoup
+    keybinder3
+  ] ++ (with gst_all_1; [
+    gstreamer
+    gst-plugins-base
+    gst-plugins-good
+    gst-plugins-bad
+    gst-plugins-ugly
+  ]);
+
+  postPatch = ''
+    patchShebangs scripts
+  '';
+
+  meta = with lib; {
+    description = "A lightweight internet radio player";
+    homepage = "https://gitlab.com/goodvibes/goodvibes";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ zendo ];
+  };
+}
diff --git a/pkgs/applications/audio/grandorgue/default.nix b/pkgs/applications/audio/grandorgue/default.nix
index 33c64e079460a..5fe2ca2ce6450 100644
--- a/pkgs/applications/audio/grandorgue/default.nix
+++ b/pkgs/applications/audio/grandorgue/default.nix
@@ -5,14 +5,14 @@
 
 stdenv.mkDerivation rec {
   pname = "grandorgue";
-  version = "3.8.0-1";
+  version = "3.9.0-1";
 
   src = fetchFromGitHub {
     owner = "GrandOrgue";
     repo = pname;
     rev = version;
     fetchSubmodules = true;
-    sha256 = "sha256-VXf2B5NK6lrcNXUiTTjYhfBVrTWusyadD+5ySkmelsI=";
+    sha256 = "sha256-+LWEjoke7f+6f4K4jO9nCG88Mdg9C49+v3FboM9/NkU=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/audio/hivelytracker/default.nix b/pkgs/applications/audio/hivelytracker/default.nix
index 8f9e3809fd2de..b87ad68ceee7d 100644
--- a/pkgs/applications/audio/hivelytracker/default.nix
+++ b/pkgs/applications/audio/hivelytracker/default.nix
@@ -2,36 +2,32 @@
 , stdenv
 , fetchFromGitHub
 , pkg-config
-, makeWrapper
 , SDL
 , SDL_image
 , SDL_ttf
-, gtk2
-, glib
+, gtk3
 }:
 
 stdenv.mkDerivation rec {
   pname = "hivelytracker";
-  version = "unstable-2020-08-19";
+  version = "1.9";
 
   src = fetchFromGitHub {
     owner = "pete-gordon";
     repo = "hivelytracker";
-    rev = "c8e3c7a5ee9f4a07cb4a941caecf7e4c4f4d40e0";
-    sha256 = "1nqianlf1msir6wqwapi7ys1vbmf6aik58wa54b6cn5v6kwxh75a";
+    rev = "V${lib.replaceStrings ["."] ["_"] version}";
+    sha256 = "148p320sd8phcpmj4m85ns5zly2dawbp8kgx9ryjfdk24pa88xg6";
   };
 
   nativeBuildInputs = [
     pkg-config
-    makeWrapper
   ];
 
   buildInputs = [
     SDL
     SDL_image
     SDL_ttf
-    gtk2
-    glib
+    gtk3
   ];
 
   makeFlags = [
@@ -40,28 +36,12 @@ stdenv.mkDerivation rec {
     "PREFIX=$(out)"
   ];
 
-  # TODO: try to exclude gtk and glib from darwin builds
-  NIX_CFLAGS_COMPILE = [
-    "-I${SDL}/include/SDL"
-    "-I${SDL_image}/include/SDL"
-    "-I${SDL_ttf}/include/SDL"
-    "-I${gtk2.dev}/include/gtk-2.0"
-    "-I${glib.dev}/include/glib-2.0"
-  ];
-
   # Also build the hvl2wav tool
   postBuild = ''
     make -C hvl2wav
   '';
 
   postInstall = ''
-    # https://github.com/pete-gordon/hivelytracker/issues/43
-    # Ideally we should patch the sources, but the program can't open
-    # files passed as arguments anyway, so this works well enough until the
-    # issue is fixed.
-    wrapProgram $out/bin/hivelytracker \
-      --chdir "$out/share/hivelytracker"
-
     # Also install the hvl2wav tool
     install -Dm755 hvl2wav/hvl2wav $out/bin/hvl2wav
   '';
@@ -86,4 +66,3 @@ stdenv.mkDerivation rec {
     broken = stdenv.isDarwin; # TODO: try to use xcbuild
   };
 }
-
diff --git a/pkgs/applications/audio/lingot/default.nix b/pkgs/applications/audio/lingot/default.nix
index 22cab165ccf15..9bedb9e016eaa 100644
--- a/pkgs/applications/audio/lingot/default.nix
+++ b/pkgs/applications/audio/lingot/default.nix
@@ -1,23 +1,25 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
 , pkg-config
 , intltool
-, gtk3
 , wrapGAppsHook
+, gtk3
 , alsa-lib
-, libjack2
 , libpulseaudio
 , fftw
+, json_c
+, libjack2
 , jackSupport ? true
 }:
 
 stdenv.mkDerivation rec {
   pname = "lingot";
-  version = "1.0.1";
+  version = "1.1.1";
 
   src = fetchurl {
     url = "mirror://savannah/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "03x0qqb9iarjapvii3ja522vkxrqv1hwix6b1r53is48p5xwgf3i";
+    sha256 = "sha256-xPl+SWo2ZscHhtE25vLMxeijgT6wjNo1ys1+sNFvTVY=";
   };
 
   nativeBuildInputs = [
@@ -31,6 +33,7 @@ stdenv.mkDerivation rec {
     alsa-lib
     libpulseaudio
     fftw
+    json_c
   ] ++ lib.optional jackSupport libjack2;
 
   configureFlags = lib.optional (!jackSupport) "--disable-jack";
diff --git a/pkgs/applications/audio/lollypop/default.nix b/pkgs/applications/audio/lollypop/default.nix
index 9557aa65c19a9..0da23254aa81f 100644
--- a/pkgs/applications/audio/lollypop/default.nix
+++ b/pkgs/applications/audio/lollypop/default.nix
@@ -25,7 +25,7 @@
 
 python3.pkgs.buildPythonApplication rec  {
   pname = "lollypop";
-  version = "1.4.34";
+  version = "1.4.35";
 
   format = "other";
   doCheck = false;
@@ -34,7 +34,7 @@ python3.pkgs.buildPythonApplication rec  {
     url = "https://gitlab.gnome.org/World/lollypop";
     rev = "refs/tags/${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-nkrnmpM/mVrXVGkfwzmbSxsO1L890LgsjxSXAYjevCs=";
+    sha256 = "sha256-Rdp0gZjdj2tXOWarsTpqgvSZVXAQsCLfk5oUyalE/ZA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/mopidy/ytmusic.nix b/pkgs/applications/audio/mopidy/ytmusic.nix
index dd2692fb9d78f..a66620294dde3 100644
--- a/pkgs/applications/audio/mopidy/ytmusic.nix
+++ b/pkgs/applications/audio/mopidy/ytmusic.nix
@@ -1,19 +1,35 @@
-{ lib, python3Packages, mopidy }:
+{ lib
+, python3
+, mopidy
+}:
 
-python3Packages.buildPythonApplication rec {
+let
+  python = python3.override {
+    packageOverrides = self: super: {
+      ytmusicapi = super.ytmusicapi.overridePythonAttrs (old: rec {
+        version = "0.22.0";
+        format = "setuptools";
+        src = old.src.override {
+          inherit version;
+          hash = "sha256-CZ4uoW4UHn5C+MckQXysTdydaApn99b0UCnF5RPb7DI=";
+        };
+      });
+    };
+  };
+in python.pkgs.buildPythonApplication rec {
   pname = "mopidy-ytmusic";
   version = "0.3.7";
 
-  src = python3Packages.fetchPypi {
+  src = python.pkgs.fetchPypi {
     inherit version;
     pname = "Mopidy-YTMusic";
     sha256 = "0gqjvi3nfzkqvbdhihzai241p1h5p037bj2475cc93xwzyyqxcrq";
   };
 
   propagatedBuildInputs = [
-    mopidy
-    python3Packages.ytmusicapi
-    python3Packages.pytube
+    (mopidy.override { pythonPackages = python.pkgs; })
+    python.pkgs.ytmusicapi
+    python.pkgs.pytube
   ];
 
   pythonImportsCheck = [ "mopidy_ytmusic" ];
diff --git a/pkgs/applications/audio/musikcube/default.nix b/pkgs/applications/audio/musikcube/default.nix
index 6b47d1f3c846b..38e96c7f098e5 100644
--- a/pkgs/applications/audio/musikcube/default.nix
+++ b/pkgs/applications/audio/musikcube/default.nix
@@ -27,25 +27,16 @@
 
 stdenv.mkDerivation rec {
   pname = "musikcube";
-  version = "0.98.0";
+  version = "0.98.1";
 
   src = fetchFromGitHub {
     owner = "clangen";
     repo = pname;
     rev = version;
-    sha256 = "sha256-bnwOxEcvRXWPuqtkv8YlpclvH/6ZtQvyvHy4mqJCwik=";
+    sha256 = "sha256-pnAdlCCqWzR0W8dF9CE48K8yHMVIx3egZlXvibxU18A=";
   };
 
-  patches = []
-    ++ lib.optionals stdenv.isDarwin [
-      # Fix pending upstream inclusion for Darwin nixpkgs builds:
-      # https://github.com/clangen/musikcube/pull/531
-      (fetchpatch {
-        name = "darwin-build.patch";
-        url = "https://github.com/clangen/musikcube/commit/9077bb9fa6ddfe93ebb14bb8feebc8a0ef9b7ee4.patch";
-        sha256 = "sha256-Am9AGKDGMN5z+JJFJKdsBLrHf2neHFovgF/8I5EXLDA=";
-      })
-    ];
+  outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [
     cmake
diff --git a/pkgs/applications/audio/netease-cloud-music-gtk/default.nix b/pkgs/applications/audio/netease-cloud-music-gtk/default.nix
index 7811125bd2459..524f89a26ac3f 100644
--- a/pkgs/applications/audio/netease-cloud-music-gtk/default.nix
+++ b/pkgs/applications/audio/netease-cloud-music-gtk/default.nix
@@ -1,6 +1,5 @@
 { lib
 , stdenv
-, fetchpatch
 , fetchFromGitHub
 , rustPlatform
 , meson
@@ -22,26 +21,18 @@
 
 stdenv.mkDerivation rec {
   pname = "netease-cloud-music-gtk";
-  version = "2.0.2";
+  version = "2.0.3";
 
   src = fetchFromGitHub {
     owner = "gmg137";
     repo = pname;
     rev = version;
-    hash = "sha256-0pmuzdRQBdUS4ORh3zJQWb/hbhk7SY3P4QMwoy4Mgp8=";
+    hash = "sha256-A3mvf6TZ3+aiWA6rg9G5NMaDKvO0VQzwIM1t0MaTpTc=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "add-cargo-lock-for-2.0.2.patch";
-      url = "https://github.com/gmg137/netease-cloud-music-gtk/commit/21b5d40d49e661fe7bd35ed10bb8b883ef7fcd9f.patch";
-      hash = "sha256-pSgc+yJQMNyLPYUMc1Kp/Kr+++2tH8srIM5PgVeoZ+E=";
-    })
-  ];
-
   cargoDeps = rustPlatform.fetchCargoTarball {
-    inherit src patches;
-    hash = "sha256-7Z5i5Xqtk4ZbBXSVYg1e05ENa2swC88Ctd2paE60Yyo=";
+    inherit src;
+    hash = "sha256-Y7rZTbg0zd/eoo6E8TmV8JJPs1N0bLlBjvB6W07Kelg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/odin2/default.nix b/pkgs/applications/audio/odin2/default.nix
index f0bd5e0156483..beb1264679354 100644
--- a/pkgs/applications/audio/odin2/default.nix
+++ b/pkgs/applications/audio/odin2/default.nix
@@ -18,14 +18,14 @@
 
 stdenv.mkDerivation rec {
   pname = "odin2";
-  version = "unstable-2022-02-23";
+  version = "2.3.4";
 
   src = fetchFromGitHub {
-    owner = "baconpaul";
+    owner = "TheWaveWarden";
     repo = "odin2";
-    rev = "ed02d06cfb5db8a118d291c00bd2e4cd6e262cde";
+    rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-VkZ+mqCmqWQafdN0nQxJdPxbiaZ37/0jOhLvVbnGLvQ=";
+    sha256 = "sha256-N96Nb7G6hqfh8DyMtHbttl/fRZUkS8f2KfPSqeMAhHY=";
   };
 
   nativeBuildInputs = [
@@ -62,10 +62,12 @@ stdenv.mkDerivation rec {
   ];
 
   installPhase = ''
-    mkdir -p $out/bin $out/lib/vst3
+    mkdir -p $out/bin $out/lib/vst3 $out/lib/lv2 $out/lib/clap
     cd Odin2_artefacts/Release
+    cp Standalone/Odin2 $out/bin
     cp -r VST3/Odin2.vst3 $out/lib/vst3
-    cp -r Standalone/Odin2 $out/bin
+    cp -r LV2/Odin2.lv2 $out/lib/lv2
+    cp -r CLAP/Odin2.clap $out/lib/clap
 '';
 
 
diff --git a/pkgs/applications/audio/open-stage-control/default.nix b/pkgs/applications/audio/open-stage-control/default.nix
index cf5a64132d47a..0152657745070 100644
--- a/pkgs/applications/audio/open-stage-control/default.nix
+++ b/pkgs/applications/audio/open-stage-control/default.nix
@@ -1,29 +1,26 @@
-{ pkgs, stdenv, lib, fetchFromGitHub, makeBinaryWrapper, makeDesktopItem, copyDesktopItems, nodejs, electron, python3, ... }:
+{ lib, buildNpmPackage, fetchFromGitHub, makeBinaryWrapper, makeDesktopItem, copyDesktopItems, electron, python3 }:
 
-let
-  nodeComposition = import ./node-composition.nix {
-    inherit pkgs nodejs;
-    inherit (stdenv.hostPlatform) system;
-  };
-in
-
-nodeComposition.package.override rec {
+buildNpmPackage rec {
   pname = "open-stage-control";
-  version = "1.18.3";
+  version = "1.20.0";
 
   src = fetchFromGitHub {
     owner = "jean-emmanuel";
     repo = "open-stage-control";
     rev = "v${version}";
-    hash = "sha256-AXdPxTauy2rMRMdfUjkfTjbNDgOKmoiGUeeLak0wu84=";
+    hash = "sha256-XgwlRdwUSl4gIRKqk6BnMAKarVvp291zk8vmNkuRWKo=";
   };
 
-  strictDeps = true;
+  patches = [
+    # Use generated package-lock.json since upstream does not provide one in releases
+    ./package-lock.json.patch
+  ];
+
+  npmDepsHash = "sha256-SGLcFjPnmhFoeXtP4gfGr4Qa1dTaXwSnzkweEvYW/1k=";
 
   nativeBuildInputs = [
     copyDesktopItems
     makeBinaryWrapper
-    nodejs
     python3
   ];
 
@@ -33,14 +30,19 @@ nodeComposition.package.override rec {
 
   doInstallCheck = true;
 
-  preRebuild = ''
-    # remove electron to prevent building since nixpkgs electron is used instead
-    rm -r node_modules/electron
-  '';
+  makeCacheWritable = true;
+  npmFlags = [ "--legacy-peer-deps" ];
+
+  # Override installPhase so we can copy the only folders that matter (app and node_modules)
+  installPhase = ''
+    runHook preInstall
 
-  postInstall = ''
-    # build assets
-    npm run build
+    # prune unused deps
+    npm prune --omit dev $npmFlags
+
+    # copy built app and node_modules directories
+    mkdir -p $out/lib/node_modules/open-stage-control
+    cp -r app node_modules $out/lib/node_modules/open-stage-control/
 
     # copy icon
     install -Dm644 resources/images/logo.png $out/share/icons/hicolor/256x256/apps/open-stage-control.png
@@ -52,6 +54,8 @@ nodeComposition.package.override rec {
       --add-flags $out/lib/node_modules/open-stage-control/app \
       --prefix PYTHONPATH : "$PYTHONPATH" \
       --prefix PATH : '${lib.makeBinPath [ python3 ]}'
+
+    runHook postInstall
   '';
 
   installCheckPhase = ''
diff --git a/pkgs/applications/audio/open-stage-control/node-composition.nix b/pkgs/applications/audio/open-stage-control/node-composition.nix
deleted file mode 100644
index 2e810490ca8d8..0000000000000
--- a/pkgs/applications/audio/open-stage-control/node-composition.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file has been generated by node2nix 1.11.1. Do not edit!
-
-{pkgs ? import <nixpkgs> {
-    inherit system;
-  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-16_x"}:
-
-let
-  nodeEnv = import ../../../development/node-packages/node-env.nix {
-    inherit (pkgs) stdenv lib python2 runCommand writeTextFile writeShellScript;
-    inherit pkgs nodejs;
-    libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
-  };
-in
-import ./node-packages.nix {
-  inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
-  inherit nodeEnv;
-}
diff --git a/pkgs/applications/audio/open-stage-control/node-packages.nix b/pkgs/applications/audio/open-stage-control/node-packages.nix
deleted file mode 100644
index 778fb62ee2336..0000000000000
--- a/pkgs/applications/audio/open-stage-control/node-packages.nix
+++ /dev/null
@@ -1,9220 +0,0 @@
-# This file has been generated by node2nix 1.11.1. Do not edit!
-
-{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
-
-let
-  sources = {
-    "7zip-0.0.6" = {
-      name = "7zip";
-      packageName = "7zip";
-      version = "0.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/7zip/-/7zip-0.0.6.tgz";
-        sha512 = "ns8vKbKhIQm338AeWo/YdDSWil3pldwCMoyR2npoM2qDAzF8Vuko8BtDxpNt/wE15SXOh5K5WbjSLR4kTOAHLA==";
-      };
-    };
-    "@ampproject/remapping-2.2.0" = {
-      name = "_at_ampproject_slash_remapping";
-      packageName = "@ampproject/remapping";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz";
-        sha512 = "qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==";
-      };
-    };
-    "@babel/code-frame-7.18.6" = {
-      name = "_at_babel_slash_code-frame";
-      packageName = "@babel/code-frame";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz";
-        sha512 = "TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==";
-      };
-    };
-    "@babel/compat-data-7.19.4" = {
-      name = "_at_babel_slash_compat-data";
-      packageName = "@babel/compat-data";
-      version = "7.19.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.4.tgz";
-        sha512 = "CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw==";
-      };
-    };
-    "@babel/core-7.18.0" = {
-      name = "_at_babel_slash_core";
-      packageName = "@babel/core";
-      version = "7.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.18.0.tgz";
-        sha512 = "Xyw74OlJwDijToNi0+6BBI5mLLR5+5R3bcSH80LXzjzEGEUlvNzujEE71BaD/ApEZHAvFI/Mlmp4M5lIkdeeWw==";
-      };
-    };
-    "@babel/eslint-parser-7.17.0" = {
-      name = "_at_babel_slash_eslint-parser";
-      packageName = "@babel/eslint-parser";
-      version = "7.17.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.17.0.tgz";
-        sha512 = "PUEJ7ZBXbRkbq3qqM/jZ2nIuakUBqCYc7Qf52Lj7dlZ6zERnqisdHioL0l4wwQZnmskMeasqUNzLBFKs3nylXA==";
-      };
-    };
-    "@babel/generator-7.19.6" = {
-      name = "_at_babel_slash_generator";
-      packageName = "@babel/generator";
-      version = "7.19.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.19.6.tgz";
-        sha512 = "oHGRUQeoX1QrKeJIKVe0hwjGqNnVYsM5Nep5zo0uE0m42sLH+Fsd2pStJ5sRM1bNyTUUoz0pe2lTeMJrb/taTA==";
-      };
-    };
-    "@babel/helper-annotate-as-pure-7.18.6" = {
-      name = "_at_babel_slash_helper-annotate-as-pure";
-      packageName = "@babel/helper-annotate-as-pure";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz";
-        sha512 = "duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==";
-      };
-    };
-    "@babel/helper-builder-binary-assignment-operator-visitor-7.18.9" = {
-      name = "_at_babel_slash_helper-builder-binary-assignment-operator-visitor";
-      packageName = "@babel/helper-builder-binary-assignment-operator-visitor";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz";
-        sha512 = "yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==";
-      };
-    };
-    "@babel/helper-compilation-targets-7.19.3" = {
-      name = "_at_babel_slash_helper-compilation-targets";
-      packageName = "@babel/helper-compilation-targets";
-      version = "7.19.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz";
-        sha512 = "65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==";
-      };
-    };
-    "@babel/helper-create-class-features-plugin-7.19.0" = {
-      name = "_at_babel_slash_helper-create-class-features-plugin";
-      packageName = "@babel/helper-create-class-features-plugin";
-      version = "7.19.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz";
-        sha512 = "NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==";
-      };
-    };
-    "@babel/helper-create-regexp-features-plugin-7.19.0" = {
-      name = "_at_babel_slash_helper-create-regexp-features-plugin";
-      packageName = "@babel/helper-create-regexp-features-plugin";
-      version = "7.19.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz";
-        sha512 = "htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==";
-      };
-    };
-    "@babel/helper-define-polyfill-provider-0.3.3" = {
-      name = "_at_babel_slash_helper-define-polyfill-provider";
-      packageName = "@babel/helper-define-polyfill-provider";
-      version = "0.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz";
-        sha512 = "z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==";
-      };
-    };
-    "@babel/helper-environment-visitor-7.18.9" = {
-      name = "_at_babel_slash_helper-environment-visitor";
-      packageName = "@babel/helper-environment-visitor";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz";
-        sha512 = "3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==";
-      };
-    };
-    "@babel/helper-explode-assignable-expression-7.18.6" = {
-      name = "_at_babel_slash_helper-explode-assignable-expression";
-      packageName = "@babel/helper-explode-assignable-expression";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz";
-        sha512 = "eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==";
-      };
-    };
-    "@babel/helper-function-name-7.19.0" = {
-      name = "_at_babel_slash_helper-function-name";
-      packageName = "@babel/helper-function-name";
-      version = "7.19.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz";
-        sha512 = "WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==";
-      };
-    };
-    "@babel/helper-hoist-variables-7.18.6" = {
-      name = "_at_babel_slash_helper-hoist-variables";
-      packageName = "@babel/helper-hoist-variables";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz";
-        sha512 = "UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==";
-      };
-    };
-    "@babel/helper-member-expression-to-functions-7.18.9" = {
-      name = "_at_babel_slash_helper-member-expression-to-functions";
-      packageName = "@babel/helper-member-expression-to-functions";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz";
-        sha512 = "RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==";
-      };
-    };
-    "@babel/helper-module-imports-7.18.6" = {
-      name = "_at_babel_slash_helper-module-imports";
-      packageName = "@babel/helper-module-imports";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz";
-        sha512 = "0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==";
-      };
-    };
-    "@babel/helper-module-transforms-7.19.6" = {
-      name = "_at_babel_slash_helper-module-transforms";
-      packageName = "@babel/helper-module-transforms";
-      version = "7.19.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.6.tgz";
-        sha512 = "fCmcfQo/KYr/VXXDIyd3CBGZ6AFhPFy1TfSEJ+PilGVlQT6jcbqtHAM4C1EciRqMza7/TpOUZliuSH+U6HAhJw==";
-      };
-    };
-    "@babel/helper-optimise-call-expression-7.18.6" = {
-      name = "_at_babel_slash_helper-optimise-call-expression";
-      packageName = "@babel/helper-optimise-call-expression";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz";
-        sha512 = "HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==";
-      };
-    };
-    "@babel/helper-plugin-utils-7.19.0" = {
-      name = "_at_babel_slash_helper-plugin-utils";
-      packageName = "@babel/helper-plugin-utils";
-      version = "7.19.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz";
-        sha512 = "40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==";
-      };
-    };
-    "@babel/helper-remap-async-to-generator-7.18.9" = {
-      name = "_at_babel_slash_helper-remap-async-to-generator";
-      packageName = "@babel/helper-remap-async-to-generator";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz";
-        sha512 = "dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==";
-      };
-    };
-    "@babel/helper-replace-supers-7.19.1" = {
-      name = "_at_babel_slash_helper-replace-supers";
-      packageName = "@babel/helper-replace-supers";
-      version = "7.19.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz";
-        sha512 = "T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==";
-      };
-    };
-    "@babel/helper-simple-access-7.19.4" = {
-      name = "_at_babel_slash_helper-simple-access";
-      packageName = "@babel/helper-simple-access";
-      version = "7.19.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz";
-        sha512 = "f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==";
-      };
-    };
-    "@babel/helper-skip-transparent-expression-wrappers-7.18.9" = {
-      name = "_at_babel_slash_helper-skip-transparent-expression-wrappers";
-      packageName = "@babel/helper-skip-transparent-expression-wrappers";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz";
-        sha512 = "imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==";
-      };
-    };
-    "@babel/helper-split-export-declaration-7.18.6" = {
-      name = "_at_babel_slash_helper-split-export-declaration";
-      packageName = "@babel/helper-split-export-declaration";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz";
-        sha512 = "bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==";
-      };
-    };
-    "@babel/helper-string-parser-7.19.4" = {
-      name = "_at_babel_slash_helper-string-parser";
-      packageName = "@babel/helper-string-parser";
-      version = "7.19.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz";
-        sha512 = "nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==";
-      };
-    };
-    "@babel/helper-validator-identifier-7.19.1" = {
-      name = "_at_babel_slash_helper-validator-identifier";
-      packageName = "@babel/helper-validator-identifier";
-      version = "7.19.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz";
-        sha512 = "awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==";
-      };
-    };
-    "@babel/helper-validator-option-7.18.6" = {
-      name = "_at_babel_slash_helper-validator-option";
-      packageName = "@babel/helper-validator-option";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz";
-        sha512 = "XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==";
-      };
-    };
-    "@babel/helper-wrap-function-7.19.0" = {
-      name = "_at_babel_slash_helper-wrap-function";
-      packageName = "@babel/helper-wrap-function";
-      version = "7.19.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz";
-        sha512 = "txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==";
-      };
-    };
-    "@babel/helpers-7.19.4" = {
-      name = "_at_babel_slash_helpers";
-      packageName = "@babel/helpers";
-      version = "7.19.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.4.tgz";
-        sha512 = "G+z3aOx2nfDHwX/kyVii5fJq+bgscg89/dJNWpYeKeBv3v9xX8EIabmx1k6u9LS04H7nROFVRVK+e3k0VHp+sw==";
-      };
-    };
-    "@babel/highlight-7.18.6" = {
-      name = "_at_babel_slash_highlight";
-      packageName = "@babel/highlight";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz";
-        sha512 = "u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==";
-      };
-    };
-    "@babel/parser-7.19.6" = {
-      name = "_at_babel_slash_parser";
-      packageName = "@babel/parser";
-      version = "7.19.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.19.6.tgz";
-        sha512 = "h1IUp81s2JYJ3mRkdxJgs4UvmSsRvDrx5ICSJbPvtWYv5i1nTBGcBpnog+89rAFMwvvru6E5NUHdBe01UeSzYA==";
-      };
-    };
-    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6" = {
-      name = "_at_babel_slash_plugin-bugfix-safari-id-destructuring-collision-in-function-expression";
-      packageName = "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz";
-        sha512 = "Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==";
-      };
-    };
-    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9" = {
-      name = "_at_babel_slash_plugin-bugfix-v8-spread-parameters-in-optional-chaining";
-      packageName = "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz";
-        sha512 = "AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==";
-      };
-    };
-    "@babel/plugin-proposal-async-generator-functions-7.19.1" = {
-      name = "_at_babel_slash_plugin-proposal-async-generator-functions";
-      packageName = "@babel/plugin-proposal-async-generator-functions";
-      version = "7.19.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz";
-        sha512 = "0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q==";
-      };
-    };
-    "@babel/plugin-proposal-class-properties-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-class-properties";
-      packageName = "@babel/plugin-proposal-class-properties";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz";
-        sha512 = "cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==";
-      };
-    };
-    "@babel/plugin-proposal-class-static-block-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-class-static-block";
-      packageName = "@babel/plugin-proposal-class-static-block";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz";
-        sha512 = "+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==";
-      };
-    };
-    "@babel/plugin-proposal-dynamic-import-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-dynamic-import";
-      packageName = "@babel/plugin-proposal-dynamic-import";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz";
-        sha512 = "1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==";
-      };
-    };
-    "@babel/plugin-proposal-export-namespace-from-7.18.9" = {
-      name = "_at_babel_slash_plugin-proposal-export-namespace-from";
-      packageName = "@babel/plugin-proposal-export-namespace-from";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz";
-        sha512 = "k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==";
-      };
-    };
-    "@babel/plugin-proposal-json-strings-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-json-strings";
-      packageName = "@babel/plugin-proposal-json-strings";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz";
-        sha512 = "lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==";
-      };
-    };
-    "@babel/plugin-proposal-logical-assignment-operators-7.18.9" = {
-      name = "_at_babel_slash_plugin-proposal-logical-assignment-operators";
-      packageName = "@babel/plugin-proposal-logical-assignment-operators";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz";
-        sha512 = "128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==";
-      };
-    };
-    "@babel/plugin-proposal-nullish-coalescing-operator-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-nullish-coalescing-operator";
-      packageName = "@babel/plugin-proposal-nullish-coalescing-operator";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz";
-        sha512 = "wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==";
-      };
-    };
-    "@babel/plugin-proposal-numeric-separator-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-numeric-separator";
-      packageName = "@babel/plugin-proposal-numeric-separator";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz";
-        sha512 = "ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==";
-      };
-    };
-    "@babel/plugin-proposal-object-rest-spread-7.18.0" = {
-      name = "_at_babel_slash_plugin-proposal-object-rest-spread";
-      packageName = "@babel/plugin-proposal-object-rest-spread";
-      version = "7.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.0.tgz";
-        sha512 = "nbTv371eTrFabDfHLElkn9oyf9VG+VKK6WMzhY2o4eHKaG19BToD9947zzGMO6I/Irstx9d8CwX6njPNIAR/yw==";
-      };
-    };
-    "@babel/plugin-proposal-optional-catch-binding-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-optional-catch-binding";
-      packageName = "@babel/plugin-proposal-optional-catch-binding";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz";
-        sha512 = "Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==";
-      };
-    };
-    "@babel/plugin-proposal-optional-chaining-7.18.9" = {
-      name = "_at_babel_slash_plugin-proposal-optional-chaining";
-      packageName = "@babel/plugin-proposal-optional-chaining";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz";
-        sha512 = "v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==";
-      };
-    };
-    "@babel/plugin-proposal-private-methods-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-private-methods";
-      packageName = "@babel/plugin-proposal-private-methods";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz";
-        sha512 = "nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==";
-      };
-    };
-    "@babel/plugin-proposal-private-property-in-object-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-private-property-in-object";
-      packageName = "@babel/plugin-proposal-private-property-in-object";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz";
-        sha512 = "9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==";
-      };
-    };
-    "@babel/plugin-proposal-unicode-property-regex-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-unicode-property-regex";
-      packageName = "@babel/plugin-proposal-unicode-property-regex";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz";
-        sha512 = "2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==";
-      };
-    };
-    "@babel/plugin-syntax-async-generators-7.8.4" = {
-      name = "_at_babel_slash_plugin-syntax-async-generators";
-      packageName = "@babel/plugin-syntax-async-generators";
-      version = "7.8.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz";
-        sha512 = "tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==";
-      };
-    };
-    "@babel/plugin-syntax-class-properties-7.12.13" = {
-      name = "_at_babel_slash_plugin-syntax-class-properties";
-      packageName = "@babel/plugin-syntax-class-properties";
-      version = "7.12.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz";
-        sha512 = "fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==";
-      };
-    };
-    "@babel/plugin-syntax-class-static-block-7.14.5" = {
-      name = "_at_babel_slash_plugin-syntax-class-static-block";
-      packageName = "@babel/plugin-syntax-class-static-block";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz";
-        sha512 = "b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==";
-      };
-    };
-    "@babel/plugin-syntax-dynamic-import-7.8.3" = {
-      name = "_at_babel_slash_plugin-syntax-dynamic-import";
-      packageName = "@babel/plugin-syntax-dynamic-import";
-      version = "7.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz";
-        sha512 = "5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==";
-      };
-    };
-    "@babel/plugin-syntax-export-namespace-from-7.8.3" = {
-      name = "_at_babel_slash_plugin-syntax-export-namespace-from";
-      packageName = "@babel/plugin-syntax-export-namespace-from";
-      version = "7.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz";
-        sha512 = "MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==";
-      };
-    };
-    "@babel/plugin-syntax-import-assertions-7.18.6" = {
-      name = "_at_babel_slash_plugin-syntax-import-assertions";
-      packageName = "@babel/plugin-syntax-import-assertions";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz";
-        sha512 = "/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==";
-      };
-    };
-    "@babel/plugin-syntax-json-strings-7.8.3" = {
-      name = "_at_babel_slash_plugin-syntax-json-strings";
-      packageName = "@babel/plugin-syntax-json-strings";
-      version = "7.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz";
-        sha512 = "lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==";
-      };
-    };
-    "@babel/plugin-syntax-logical-assignment-operators-7.10.4" = {
-      name = "_at_babel_slash_plugin-syntax-logical-assignment-operators";
-      packageName = "@babel/plugin-syntax-logical-assignment-operators";
-      version = "7.10.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz";
-        sha512 = "d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==";
-      };
-    };
-    "@babel/plugin-syntax-nullish-coalescing-operator-7.8.3" = {
-      name = "_at_babel_slash_plugin-syntax-nullish-coalescing-operator";
-      packageName = "@babel/plugin-syntax-nullish-coalescing-operator";
-      version = "7.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz";
-        sha512 = "aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==";
-      };
-    };
-    "@babel/plugin-syntax-numeric-separator-7.10.4" = {
-      name = "_at_babel_slash_plugin-syntax-numeric-separator";
-      packageName = "@babel/plugin-syntax-numeric-separator";
-      version = "7.10.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz";
-        sha512 = "9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==";
-      };
-    };
-    "@babel/plugin-syntax-object-rest-spread-7.8.3" = {
-      name = "_at_babel_slash_plugin-syntax-object-rest-spread";
-      packageName = "@babel/plugin-syntax-object-rest-spread";
-      version = "7.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz";
-        sha512 = "XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==";
-      };
-    };
-    "@babel/plugin-syntax-optional-catch-binding-7.8.3" = {
-      name = "_at_babel_slash_plugin-syntax-optional-catch-binding";
-      packageName = "@babel/plugin-syntax-optional-catch-binding";
-      version = "7.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz";
-        sha512 = "6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==";
-      };
-    };
-    "@babel/plugin-syntax-optional-chaining-7.8.3" = {
-      name = "_at_babel_slash_plugin-syntax-optional-chaining";
-      packageName = "@babel/plugin-syntax-optional-chaining";
-      version = "7.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz";
-        sha512 = "KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==";
-      };
-    };
-    "@babel/plugin-syntax-private-property-in-object-7.14.5" = {
-      name = "_at_babel_slash_plugin-syntax-private-property-in-object";
-      packageName = "@babel/plugin-syntax-private-property-in-object";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz";
-        sha512 = "0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==";
-      };
-    };
-    "@babel/plugin-syntax-top-level-await-7.14.5" = {
-      name = "_at_babel_slash_plugin-syntax-top-level-await";
-      packageName = "@babel/plugin-syntax-top-level-await";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz";
-        sha512 = "hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==";
-      };
-    };
-    "@babel/plugin-transform-arrow-functions-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-arrow-functions";
-      packageName = "@babel/plugin-transform-arrow-functions";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz";
-        sha512 = "9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==";
-      };
-    };
-    "@babel/plugin-transform-async-to-generator-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-async-to-generator";
-      packageName = "@babel/plugin-transform-async-to-generator";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz";
-        sha512 = "ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==";
-      };
-    };
-    "@babel/plugin-transform-block-scoped-functions-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-block-scoped-functions";
-      packageName = "@babel/plugin-transform-block-scoped-functions";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz";
-        sha512 = "ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==";
-      };
-    };
-    "@babel/plugin-transform-block-scoping-7.19.4" = {
-      name = "_at_babel_slash_plugin-transform-block-scoping";
-      packageName = "@babel/plugin-transform-block-scoping";
-      version = "7.19.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.19.4.tgz";
-        sha512 = "934S2VLLlt2hRJwPf4MczaOr4hYF0z+VKPwqTNxyKX7NthTiPfhuKFWQZHXRM0vh/wo/VyXB3s4bZUNA08l+tQ==";
-      };
-    };
-    "@babel/plugin-transform-classes-7.19.0" = {
-      name = "_at_babel_slash_plugin-transform-classes";
-      packageName = "@babel/plugin-transform-classes";
-      version = "7.19.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz";
-        sha512 = "YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==";
-      };
-    };
-    "@babel/plugin-transform-computed-properties-7.18.9" = {
-      name = "_at_babel_slash_plugin-transform-computed-properties";
-      packageName = "@babel/plugin-transform-computed-properties";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz";
-        sha512 = "+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==";
-      };
-    };
-    "@babel/plugin-transform-destructuring-7.19.4" = {
-      name = "_at_babel_slash_plugin-transform-destructuring";
-      packageName = "@babel/plugin-transform-destructuring";
-      version = "7.19.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.19.4.tgz";
-        sha512 = "t0j0Hgidqf0aM86dF8U+vXYReUgJnlv4bZLsyoPnwZNrGY+7/38o8YjaELrvHeVfTZao15kjR0PVv0nju2iduA==";
-      };
-    };
-    "@babel/plugin-transform-dotall-regex-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-dotall-regex";
-      packageName = "@babel/plugin-transform-dotall-regex";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz";
-        sha512 = "6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==";
-      };
-    };
-    "@babel/plugin-transform-duplicate-keys-7.18.9" = {
-      name = "_at_babel_slash_plugin-transform-duplicate-keys";
-      packageName = "@babel/plugin-transform-duplicate-keys";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz";
-        sha512 = "d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==";
-      };
-    };
-    "@babel/plugin-transform-exponentiation-operator-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-exponentiation-operator";
-      packageName = "@babel/plugin-transform-exponentiation-operator";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz";
-        sha512 = "wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==";
-      };
-    };
-    "@babel/plugin-transform-for-of-7.18.8" = {
-      name = "_at_babel_slash_plugin-transform-for-of";
-      packageName = "@babel/plugin-transform-for-of";
-      version = "7.18.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz";
-        sha512 = "yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==";
-      };
-    };
-    "@babel/plugin-transform-function-name-7.18.9" = {
-      name = "_at_babel_slash_plugin-transform-function-name";
-      packageName = "@babel/plugin-transform-function-name";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz";
-        sha512 = "WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==";
-      };
-    };
-    "@babel/plugin-transform-literals-7.18.9" = {
-      name = "_at_babel_slash_plugin-transform-literals";
-      packageName = "@babel/plugin-transform-literals";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz";
-        sha512 = "IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==";
-      };
-    };
-    "@babel/plugin-transform-member-expression-literals-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-member-expression-literals";
-      packageName = "@babel/plugin-transform-member-expression-literals";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz";
-        sha512 = "qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==";
-      };
-    };
-    "@babel/plugin-transform-modules-amd-7.19.6" = {
-      name = "_at_babel_slash_plugin-transform-modules-amd";
-      packageName = "@babel/plugin-transform-modules-amd";
-      version = "7.19.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz";
-        sha512 = "uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==";
-      };
-    };
-    "@babel/plugin-transform-modules-commonjs-7.19.6" = {
-      name = "_at_babel_slash_plugin-transform-modules-commonjs";
-      packageName = "@babel/plugin-transform-modules-commonjs";
-      version = "7.19.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz";
-        sha512 = "8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==";
-      };
-    };
-    "@babel/plugin-transform-modules-systemjs-7.19.6" = {
-      name = "_at_babel_slash_plugin-transform-modules-systemjs";
-      packageName = "@babel/plugin-transform-modules-systemjs";
-      version = "7.19.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz";
-        sha512 = "fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==";
-      };
-    };
-    "@babel/plugin-transform-modules-umd-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-modules-umd";
-      packageName = "@babel/plugin-transform-modules-umd";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz";
-        sha512 = "dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==";
-      };
-    };
-    "@babel/plugin-transform-named-capturing-groups-regex-7.19.1" = {
-      name = "_at_babel_slash_plugin-transform-named-capturing-groups-regex";
-      packageName = "@babel/plugin-transform-named-capturing-groups-regex";
-      version = "7.19.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz";
-        sha512 = "oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==";
-      };
-    };
-    "@babel/plugin-transform-new-target-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-new-target";
-      packageName = "@babel/plugin-transform-new-target";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz";
-        sha512 = "DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==";
-      };
-    };
-    "@babel/plugin-transform-object-super-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-object-super";
-      packageName = "@babel/plugin-transform-object-super";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz";
-        sha512 = "uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==";
-      };
-    };
-    "@babel/plugin-transform-parameters-7.18.8" = {
-      name = "_at_babel_slash_plugin-transform-parameters";
-      packageName = "@babel/plugin-transform-parameters";
-      version = "7.18.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz";
-        sha512 = "ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==";
-      };
-    };
-    "@babel/plugin-transform-property-literals-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-property-literals";
-      packageName = "@babel/plugin-transform-property-literals";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz";
-        sha512 = "cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==";
-      };
-    };
-    "@babel/plugin-transform-regenerator-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-regenerator";
-      packageName = "@babel/plugin-transform-regenerator";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz";
-        sha512 = "poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==";
-      };
-    };
-    "@babel/plugin-transform-reserved-words-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-reserved-words";
-      packageName = "@babel/plugin-transform-reserved-words";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz";
-        sha512 = "oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==";
-      };
-    };
-    "@babel/plugin-transform-shorthand-properties-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-shorthand-properties";
-      packageName = "@babel/plugin-transform-shorthand-properties";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz";
-        sha512 = "eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==";
-      };
-    };
-    "@babel/plugin-transform-spread-7.19.0" = {
-      name = "_at_babel_slash_plugin-transform-spread";
-      packageName = "@babel/plugin-transform-spread";
-      version = "7.19.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz";
-        sha512 = "RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==";
-      };
-    };
-    "@babel/plugin-transform-sticky-regex-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-sticky-regex";
-      packageName = "@babel/plugin-transform-sticky-regex";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz";
-        sha512 = "kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==";
-      };
-    };
-    "@babel/plugin-transform-template-literals-7.18.9" = {
-      name = "_at_babel_slash_plugin-transform-template-literals";
-      packageName = "@babel/plugin-transform-template-literals";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz";
-        sha512 = "S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==";
-      };
-    };
-    "@babel/plugin-transform-typeof-symbol-7.18.9" = {
-      name = "_at_babel_slash_plugin-transform-typeof-symbol";
-      packageName = "@babel/plugin-transform-typeof-symbol";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz";
-        sha512 = "SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==";
-      };
-    };
-    "@babel/plugin-transform-unicode-escapes-7.18.10" = {
-      name = "_at_babel_slash_plugin-transform-unicode-escapes";
-      packageName = "@babel/plugin-transform-unicode-escapes";
-      version = "7.18.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz";
-        sha512 = "kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==";
-      };
-    };
-    "@babel/plugin-transform-unicode-regex-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-unicode-regex";
-      packageName = "@babel/plugin-transform-unicode-regex";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz";
-        sha512 = "gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==";
-      };
-    };
-    "@babel/polyfill-7.12.1" = {
-      name = "_at_babel_slash_polyfill";
-      packageName = "@babel/polyfill";
-      version = "7.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.12.1.tgz";
-        sha512 = "X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==";
-      };
-    };
-    "@babel/preset-env-7.18.0" = {
-      name = "_at_babel_slash_preset-env";
-      packageName = "@babel/preset-env";
-      version = "7.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.0.tgz";
-        sha512 = "cP74OMs7ECLPeG1reiCQ/D/ypyOxgfm8uR6HRYV23vTJ7Lu1nbgj9DQDo/vH59gnn7GOAwtTDPPYV4aXzsMKHA==";
-      };
-    };
-    "@babel/preset-modules-0.1.5" = {
-      name = "_at_babel_slash_preset-modules";
-      packageName = "@babel/preset-modules";
-      version = "0.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz";
-        sha512 = "A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==";
-      };
-    };
-    "@babel/runtime-7.19.4" = {
-      name = "_at_babel_slash_runtime";
-      packageName = "@babel/runtime";
-      version = "7.19.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz";
-        sha512 = "EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==";
-      };
-    };
-    "@babel/template-7.18.10" = {
-      name = "_at_babel_slash_template";
-      packageName = "@babel/template";
-      version = "7.18.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz";
-        sha512 = "TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==";
-      };
-    };
-    "@babel/traverse-7.19.6" = {
-      name = "_at_babel_slash_traverse";
-      packageName = "@babel/traverse";
-      version = "7.19.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.6.tgz";
-        sha512 = "6l5HrUCzFM04mfbG09AagtYyR2P0B71B1wN7PfSPiksDPz2k5H9CBC1tcZpz2M8OxbKTPccByoOJ22rUKbpmQQ==";
-      };
-    };
-    "@babel/types-7.19.4" = {
-      name = "_at_babel_slash_types";
-      packageName = "@babel/types";
-      version = "7.19.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/types/-/types-7.19.4.tgz";
-        sha512 = "M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==";
-      };
-    };
-    "@electron/get-1.14.1" = {
-      name = "_at_electron_slash_get";
-      packageName = "@electron/get";
-      version = "1.14.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@electron/get/-/get-1.14.1.tgz";
-        sha512 = "BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==";
-      };
-    };
-    "@electron/remote-2.0.8" = {
-      name = "_at_electron_slash_remote";
-      packageName = "@electron/remote";
-      version = "2.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@electron/remote/-/remote-2.0.8.tgz";
-        sha512 = "P10v3+iFCIvEPeYzTWWGwwHmqWnjoh8RYnbtZAb3RlQefy4guagzIwcWtfftABIfm6JJTNQf4WPSKWZOpLmHXw==";
-      };
-    };
-    "@eslint/eslintrc-1.3.3" = {
-      name = "_at_eslint_slash_eslintrc";
-      packageName = "@eslint/eslintrc";
-      version = "1.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz";
-        sha512 = "uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==";
-      };
-    };
-    "@gar/promisify-1.1.3" = {
-      name = "_at_gar_slash_promisify";
-      packageName = "@gar/promisify";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz";
-        sha512 = "k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==";
-      };
-    };
-    "@humanwhocodes/config-array-0.9.5" = {
-      name = "_at_humanwhocodes_slash_config-array";
-      packageName = "@humanwhocodes/config-array";
-      version = "0.9.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz";
-        sha512 = "ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==";
-      };
-    };
-    "@humanwhocodes/object-schema-1.2.1" = {
-      name = "_at_humanwhocodes_slash_object-schema";
-      packageName = "@humanwhocodes/object-schema";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz";
-        sha512 = "ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==";
-      };
-    };
-    "@jridgewell/gen-mapping-0.1.1" = {
-      name = "_at_jridgewell_slash_gen-mapping";
-      packageName = "@jridgewell/gen-mapping";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz";
-        sha512 = "sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==";
-      };
-    };
-    "@jridgewell/gen-mapping-0.3.2" = {
-      name = "_at_jridgewell_slash_gen-mapping";
-      packageName = "@jridgewell/gen-mapping";
-      version = "0.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz";
-        sha512 = "mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==";
-      };
-    };
-    "@jridgewell/resolve-uri-3.1.0" = {
-      name = "_at_jridgewell_slash_resolve-uri";
-      packageName = "@jridgewell/resolve-uri";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz";
-        sha512 = "F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==";
-      };
-    };
-    "@jridgewell/set-array-1.1.2" = {
-      name = "_at_jridgewell_slash_set-array";
-      packageName = "@jridgewell/set-array";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz";
-        sha512 = "xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==";
-      };
-    };
-    "@jridgewell/sourcemap-codec-1.4.14" = {
-      name = "_at_jridgewell_slash_sourcemap-codec";
-      packageName = "@jridgewell/sourcemap-codec";
-      version = "1.4.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz";
-        sha512 = "XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==";
-      };
-    };
-    "@jridgewell/trace-mapping-0.3.17" = {
-      name = "_at_jridgewell_slash_trace-mapping";
-      packageName = "@jridgewell/trace-mapping";
-      version = "0.3.17";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz";
-        sha512 = "MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==";
-      };
-    };
-    "@npmcli/fs-1.1.1" = {
-      name = "_at_npmcli_slash_fs";
-      packageName = "@npmcli/fs";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz";
-        sha512 = "8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==";
-      };
-    };
-    "@npmcli/move-file-1.1.2" = {
-      name = "_at_npmcli_slash_move-file";
-      packageName = "@npmcli/move-file";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz";
-        sha512 = "1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==";
-      };
-    };
-    "@sindresorhus/is-0.14.0" = {
-      name = "_at_sindresorhus_slash_is";
-      packageName = "@sindresorhus/is";
-      version = "0.14.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz";
-        sha512 = "9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==";
-      };
-    };
-    "@szmarczak/http-timer-1.1.2" = {
-      name = "_at_szmarczak_slash_http-timer";
-      packageName = "@szmarczak/http-timer";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz";
-        sha512 = "XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==";
-      };
-    };
-    "@tootallnate/once-1.1.2" = {
-      name = "_at_tootallnate_slash_once";
-      packageName = "@tootallnate/once";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz";
-        sha512 = "RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==";
-      };
-    };
-    "@types/glob-7.2.0" = {
-      name = "_at_types_slash_glob";
-      packageName = "@types/glob";
-      version = "7.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz";
-        sha512 = "ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==";
-      };
-    };
-    "@types/minimatch-5.1.2" = {
-      name = "_at_types_slash_minimatch";
-      packageName = "@types/minimatch";
-      version = "5.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz";
-        sha512 = "K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==";
-      };
-    };
-    "@types/minimist-1.2.2" = {
-      name = "_at_types_slash_minimist";
-      packageName = "@types/minimist";
-      version = "1.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz";
-        sha512 = "jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==";
-      };
-    };
-    "@types/node-16.11.68" = {
-      name = "_at_types_slash_node";
-      packageName = "@types/node";
-      version = "16.11.68";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-16.11.68.tgz";
-        sha512 = "JkRpuVz3xCNCWaeQ5EHLR/6woMbHZz/jZ7Kmc63AkU+1HxnoUugzSWMck7dsR4DvNYX8jp9wTi9K7WvnxOIQZQ==";
-      };
-    };
-    "@types/normalize-package-data-2.4.1" = {
-      name = "_at_types_slash_normalize-package-data";
-      packageName = "@types/normalize-package-data";
-      version = "2.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz";
-        sha512 = "Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==";
-      };
-    };
-    "@types/yauzl-2.10.0" = {
-      name = "_at_types_slash_yauzl";
-      packageName = "@types/yauzl";
-      version = "2.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz";
-        sha512 = "Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==";
-      };
-    };
-    "JSONStream-1.3.5" = {
-      name = "JSONStream";
-      packageName = "JSONStream";
-      version = "1.3.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz";
-        sha512 = "E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==";
-      };
-    };
-    "abbrev-1.1.1" = {
-      name = "abbrev";
-      packageName = "abbrev";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz";
-        sha512 = "nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==";
-      };
-    };
-    "acorn-7.4.1" = {
-      name = "acorn";
-      packageName = "acorn";
-      version = "7.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz";
-        sha512 = "nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==";
-      };
-    };
-    "acorn-8.8.0" = {
-      name = "acorn";
-      packageName = "acorn";
-      version = "8.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz";
-        sha512 = "QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==";
-      };
-    };
-    "acorn-jsx-5.3.2" = {
-      name = "acorn-jsx";
-      packageName = "acorn-jsx";
-      version = "5.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz";
-        sha512 = "rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==";
-      };
-    };
-    "acorn-node-1.8.2" = {
-      name = "acorn-node";
-      packageName = "acorn-node";
-      version = "1.8.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz";
-        sha512 = "8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==";
-      };
-    };
-    "acorn-walk-7.2.0" = {
-      name = "acorn-walk";
-      packageName = "acorn-walk";
-      version = "7.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz";
-        sha512 = "OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==";
-      };
-    };
-    "agent-base-6.0.2" = {
-      name = "agent-base";
-      packageName = "agent-base";
-      version = "6.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz";
-        sha512 = "RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==";
-      };
-    };
-    "agentkeepalive-4.2.1" = {
-      name = "agentkeepalive";
-      packageName = "agentkeepalive";
-      version = "4.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz";
-        sha512 = "Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==";
-      };
-    };
-    "aggregate-error-3.1.0" = {
-      name = "aggregate-error";
-      packageName = "aggregate-error";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz";
-        sha512 = "4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==";
-      };
-    };
-    "ajv-6.12.6" = {
-      name = "ajv";
-      packageName = "ajv";
-      version = "6.12.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz";
-        sha512 = "j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==";
-      };
-    };
-    "ansi-align-3.0.1" = {
-      name = "ansi-align";
-      packageName = "ansi-align";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz";
-        sha512 = "IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==";
-      };
-    };
-    "ansi-html-0.0.9" = {
-      name = "ansi-html";
-      packageName = "ansi-html";
-      version = "0.0.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.9.tgz";
-        sha512 = "ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg==";
-      };
-    };
-    "ansi-regex-2.1.1" = {
-      name = "ansi-regex";
-      packageName = "ansi-regex";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz";
-        sha512 = "TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==";
-      };
-    };
-    "ansi-regex-5.0.1" = {
-      name = "ansi-regex";
-      packageName = "ansi-regex";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz";
-        sha512 = "quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==";
-      };
-    };
-    "ansi-styles-2.2.1" = {
-      name = "ansi-styles";
-      packageName = "ansi-styles";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz";
-        sha512 = "kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==";
-      };
-    };
-    "ansi-styles-3.2.1" = {
-      name = "ansi-styles";
-      packageName = "ansi-styles";
-      version = "3.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz";
-        sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==";
-      };
-    };
-    "ansi-styles-4.3.0" = {
-      name = "ansi-styles";
-      packageName = "ansi-styles";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz";
-        sha512 = "zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==";
-      };
-    };
-    "anymatch-3.1.2" = {
-      name = "anymatch";
-      packageName = "anymatch";
-      version = "3.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz";
-        sha512 = "P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==";
-      };
-    };
-    "apache-crypt-1.2.6" = {
-      name = "apache-crypt";
-      packageName = "apache-crypt";
-      version = "1.2.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/apache-crypt/-/apache-crypt-1.2.6.tgz";
-        sha512 = "072WetlM4blL8PREJVeY+WHiUh1R5VNt2HfceGS8aKqttPHcmqE5pkKuXPz/ULmJOFkc8Hw3kfKl6vy7Qka6DA==";
-      };
-    };
-    "apache-md5-1.1.8" = {
-      name = "apache-md5";
-      packageName = "apache-md5";
-      version = "1.1.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/apache-md5/-/apache-md5-1.1.8.tgz";
-        sha512 = "FCAJojipPn0bXjuEpjOOOMN8FZDkxfWWp4JGN9mifU2IhxvKyXZYqpzPHdnTSUpmPDy+tsslB6Z1g+Vg6nVbYA==";
-      };
-    };
-    "aproba-2.0.0" = {
-      name = "aproba";
-      packageName = "aproba";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz";
-        sha512 = "lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==";
-      };
-    };
-    "are-we-there-yet-2.0.0" = {
-      name = "are-we-there-yet";
-      packageName = "are-we-there-yet";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz";
-        sha512 = "Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==";
-      };
-    };
-    "are-we-there-yet-3.0.1" = {
-      name = "are-we-there-yet";
-      packageName = "are-we-there-yet";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz";
-        sha512 = "QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==";
-      };
-    };
-    "argparse-2.0.1" = {
-      name = "argparse";
-      packageName = "argparse";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz";
-        sha512 = "8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==";
-      };
-    };
-    "array-flatten-2.1.2" = {
-      name = "array-flatten";
-      packageName = "array-flatten";
-      version = "2.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz";
-        sha512 = "hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==";
-      };
-    };
-    "arrify-1.0.1" = {
-      name = "arrify";
-      packageName = "arrify";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz";
-        sha512 = "3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==";
-      };
-    };
-    "asar-3.2.0" = {
-      name = "asar";
-      packageName = "asar";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/asar/-/asar-3.2.0.tgz";
-        sha512 = "COdw2ZQvKdFGFxXwX3oYh2/sOsJWJegrdJCGxnN4MZ7IULgRBp9P6665aqj9z1v9VwP4oP1hRBojRDQ//IGgAg==";
-      };
-    };
-    "asn1-0.2.6" = {
-      name = "asn1";
-      packageName = "asn1";
-      version = "0.2.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz";
-        sha512 = "ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==";
-      };
-    };
-    "asn1.js-5.4.1" = {
-      name = "asn1.js";
-      packageName = "asn1.js";
-      version = "5.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz";
-        sha512 = "+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==";
-      };
-    };
-    "assert-1.5.0" = {
-      name = "assert";
-      packageName = "assert";
-      version = "1.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz";
-        sha512 = "EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==";
-      };
-    };
-    "assert-plus-1.0.0" = {
-      name = "assert-plus";
-      packageName = "assert-plus";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz";
-        sha512 = "NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==";
-      };
-    };
-    "async-foreach-0.1.3" = {
-      name = "async-foreach";
-      packageName = "async-foreach";
-      version = "0.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz";
-        sha512 = "VUeSMD8nEGBWaZK4lizI1sf3yEC7pnAQ/mrI7pC2fBz2s/tq5jWWEngTwaf0Gruu/OoXRGLGg1XFqpYBiGTYJA==";
-      };
-    };
-    "asynckit-0.4.0" = {
-      name = "asynckit";
-      packageName = "asynckit";
-      version = "0.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz";
-        sha512 = "Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==";
-      };
-    };
-    "at-least-node-1.0.0" = {
-      name = "at-least-node";
-      packageName = "at-least-node";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz";
-        sha512 = "+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==";
-      };
-    };
-    "author-regex-1.0.0" = {
-      name = "author-regex";
-      packageName = "author-regex";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/author-regex/-/author-regex-1.0.0.tgz";
-        sha512 = "KbWgR8wOYRAPekEmMXrYYdc7BRyhn2Ftk7KWfMUnQ43hFdojWEFRxhhRUm3/OFEdPa1r0KAvTTg9YQK57xTe0g==";
-      };
-    };
-    "available-typed-arrays-1.0.5" = {
-      name = "available-typed-arrays";
-      packageName = "available-typed-arrays";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz";
-        sha512 = "DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==";
-      };
-    };
-    "aws-sign2-0.7.0" = {
-      name = "aws-sign2";
-      packageName = "aws-sign2";
-      version = "0.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz";
-        sha512 = "08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==";
-      };
-    };
-    "aws4-1.11.0" = {
-      name = "aws4";
-      packageName = "aws4";
-      version = "1.11.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz";
-        sha512 = "xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==";
-      };
-    };
-    "babel-plugin-polyfill-corejs2-0.3.3" = {
-      name = "babel-plugin-polyfill-corejs2";
-      packageName = "babel-plugin-polyfill-corejs2";
-      version = "0.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz";
-        sha512 = "8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==";
-      };
-    };
-    "babel-plugin-polyfill-corejs3-0.5.3" = {
-      name = "babel-plugin-polyfill-corejs3";
-      packageName = "babel-plugin-polyfill-corejs3";
-      version = "0.5.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz";
-        sha512 = "zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==";
-      };
-    };
-    "babel-plugin-polyfill-regenerator-0.3.1" = {
-      name = "babel-plugin-polyfill-regenerator";
-      packageName = "babel-plugin-polyfill-regenerator";
-      version = "0.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz";
-        sha512 = "Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==";
-      };
-    };
-    "babelify-10.0.0" = {
-      name = "babelify";
-      packageName = "babelify";
-      version = "10.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babelify/-/babelify-10.0.0.tgz";
-        sha512 = "X40FaxyH7t3X+JFAKvb1H9wooWKLRCi8pg3m8poqtdZaIng+bjzp9RvKQCvRjF9isHiPkXspbbXT/zwXLtwgwg==";
-      };
-    };
-    "balanced-match-1.0.2" = {
-      name = "balanced-match";
-      packageName = "balanced-match";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz";
-        sha512 = "3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==";
-      };
-    };
-    "balanced-match-2.0.0" = {
-      name = "balanced-match";
-      packageName = "balanced-match";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz";
-        sha512 = "1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==";
-      };
-    };
-    "base64-js-1.5.1" = {
-      name = "base64-js";
-      packageName = "base64-js";
-      version = "1.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz";
-        sha512 = "AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==";
-      };
-    };
-    "bcrypt-pbkdf-1.0.2" = {
-      name = "bcrypt-pbkdf";
-      packageName = "bcrypt-pbkdf";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz";
-        sha512 = "qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==";
-      };
-    };
-    "bcryptjs-2.4.3" = {
-      name = "bcryptjs";
-      packageName = "bcryptjs";
-      version = "2.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz";
-        sha512 = "V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==";
-      };
-    };
-    "binary-extensions-2.2.0" = {
-      name = "binary-extensions";
-      packageName = "binary-extensions";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz";
-        sha512 = "jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==";
-      };
-    };
-    "bluebird-3.7.2" = {
-      name = "bluebird";
-      packageName = "bluebird";
-      version = "3.7.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz";
-        sha512 = "XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==";
-      };
-    };
-    "bn.js-4.12.0" = {
-      name = "bn.js";
-      packageName = "bn.js";
-      version = "4.12.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz";
-        sha512 = "c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==";
-      };
-    };
-    "bn.js-5.2.1" = {
-      name = "bn.js";
-      packageName = "bn.js";
-      version = "5.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz";
-        sha512 = "eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==";
-      };
-    };
-    "bonjour-git+https://github.com/jean-emmanuel/bonjour" = {
-      name = "bonjour";
-      packageName = "bonjour";
-      version = "4.0.0";
-      src = fetchgit {
-        url = "https://github.com/jean-emmanuel/bonjour";
-        rev = "33d7fa28c568d05cb7ffda1fd2b20f4cc364e273";
-        sha256 = "3f9cd813a3cd8ac6ec02421bd590922a4722a0dd89416dc580df6ee1f34e48b0";
-      };
-    };
-    "boolean-3.2.0" = {
-      name = "boolean";
-      packageName = "boolean";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz";
-        sha512 = "d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==";
-      };
-    };
-    "boxen-5.1.2" = {
-      name = "boxen";
-      packageName = "boxen";
-      version = "5.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz";
-        sha512 = "9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==";
-      };
-    };
-    "brace-0.11.1" = {
-      name = "brace";
-      packageName = "brace";
-      version = "0.11.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/brace/-/brace-0.11.1.tgz";
-        sha512 = "Fc8Ne62jJlKHiG/ajlonC4Sd66Pq68fFwK4ihJGNZpGqboc324SQk+lRvMzpPRuJOmfrJefdG8/7JdWX4bzJ2Q==";
-      };
-    };
-    "brace-expansion-1.1.11" = {
-      name = "brace-expansion";
-      packageName = "brace-expansion";
-      version = "1.1.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz";
-        sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==";
-      };
-    };
-    "brace-expansion-2.0.1" = {
-      name = "brace-expansion";
-      packageName = "brace-expansion";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz";
-        sha512 = "XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==";
-      };
-    };
-    "braces-3.0.2" = {
-      name = "braces";
-      packageName = "braces";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz";
-        sha512 = "b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==";
-      };
-    };
-    "brorand-1.1.0" = {
-      name = "brorand";
-      packageName = "brorand";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz";
-        sha512 = "cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==";
-      };
-    };
-    "browser-pack-6.1.0" = {
-      name = "browser-pack";
-      packageName = "browser-pack";
-      version = "6.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz";
-        sha512 = "erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==";
-      };
-    };
-    "browser-process-hrtime-0.1.3" = {
-      name = "browser-process-hrtime";
-      packageName = "browser-process-hrtime";
-      version = "0.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz";
-        sha512 = "bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==";
-      };
-    };
-    "browser-resolve-2.0.0" = {
-      name = "browser-resolve";
-      packageName = "browser-resolve";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz";
-        sha512 = "7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==";
-      };
-    };
-    "browserify-17.0.0" = {
-      name = "browserify";
-      packageName = "browserify";
-      version = "17.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserify/-/browserify-17.0.0.tgz";
-        sha512 = "SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==";
-      };
-    };
-    "browserify-aes-1.2.0" = {
-      name = "browserify-aes";
-      packageName = "browserify-aes";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz";
-        sha512 = "+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==";
-      };
-    };
-    "browserify-cipher-1.0.1" = {
-      name = "browserify-cipher";
-      packageName = "browserify-cipher";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz";
-        sha512 = "sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==";
-      };
-    };
-    "browserify-des-1.0.2" = {
-      name = "browserify-des";
-      packageName = "browserify-des";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz";
-        sha512 = "BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==";
-      };
-    };
-    "browserify-rsa-4.1.0" = {
-      name = "browserify-rsa";
-      packageName = "browserify-rsa";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz";
-        sha512 = "AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==";
-      };
-    };
-    "browserify-sign-4.2.1" = {
-      name = "browserify-sign";
-      packageName = "browserify-sign";
-      version = "4.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz";
-        sha512 = "/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==";
-      };
-    };
-    "browserify-zlib-0.2.0" = {
-      name = "browserify-zlib";
-      packageName = "browserify-zlib";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz";
-        sha512 = "Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==";
-      };
-    };
-    "browserslist-4.21.4" = {
-      name = "browserslist";
-      packageName = "browserslist";
-      version = "4.21.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz";
-        sha512 = "CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==";
-      };
-    };
-    "buffer-5.2.1" = {
-      name = "buffer";
-      packageName = "buffer";
-      version = "5.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz";
-        sha512 = "c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==";
-      };
-    };
-    "buffer-alloc-1.2.0" = {
-      name = "buffer-alloc";
-      packageName = "buffer-alloc";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz";
-        sha512 = "CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==";
-      };
-    };
-    "buffer-alloc-unsafe-1.1.0" = {
-      name = "buffer-alloc-unsafe";
-      packageName = "buffer-alloc-unsafe";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz";
-        sha512 = "TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==";
-      };
-    };
-    "buffer-crc32-0.2.13" = {
-      name = "buffer-crc32";
-      packageName = "buffer-crc32";
-      version = "0.2.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz";
-        sha512 = "VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==";
-      };
-    };
-    "buffer-fill-1.0.0" = {
-      name = "buffer-fill";
-      packageName = "buffer-fill";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz";
-        sha512 = "T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==";
-      };
-    };
-    "buffer-from-1.1.2" = {
-      name = "buffer-from";
-      packageName = "buffer-from";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz";
-        sha512 = "E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==";
-      };
-    };
-    "buffer-indexof-1.1.1" = {
-      name = "buffer-indexof";
-      packageName = "buffer-indexof";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz";
-        sha512 = "4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==";
-      };
-    };
-    "buffer-xor-1.0.3" = {
-      name = "buffer-xor";
-      packageName = "buffer-xor";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz";
-        sha512 = "571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==";
-      };
-    };
-    "bufferutil-4.0.7" = {
-      name = "bufferutil";
-      packageName = "bufferutil";
-      version = "4.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz";
-        sha512 = "kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==";
-      };
-    };
-    "builtin-status-codes-3.0.0" = {
-      name = "builtin-status-codes";
-      packageName = "builtin-status-codes";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz";
-        sha512 = "HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==";
-      };
-    };
-    "cacache-15.3.0" = {
-      name = "cacache";
-      packageName = "cacache";
-      version = "15.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz";
-        sha512 = "VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==";
-      };
-    };
-    "cacheable-request-6.1.0" = {
-      name = "cacheable-request";
-      packageName = "cacheable-request";
-      version = "6.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz";
-        sha512 = "Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==";
-      };
-    };
-    "cached-path-relative-1.1.0" = {
-      name = "cached-path-relative";
-      packageName = "cached-path-relative";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz";
-        sha512 = "WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==";
-      };
-    };
-    "call-bind-1.0.2" = {
-      name = "call-bind";
-      packageName = "call-bind";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz";
-        sha512 = "7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==";
-      };
-    };
-    "callsites-3.1.0" = {
-      name = "callsites";
-      packageName = "callsites";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz";
-        sha512 = "P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==";
-      };
-    };
-    "camel-case-3.0.0" = {
-      name = "camel-case";
-      packageName = "camel-case";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz";
-        sha512 = "+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==";
-      };
-    };
-    "camelcase-5.3.1" = {
-      name = "camelcase";
-      packageName = "camelcase";
-      version = "5.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz";
-        sha512 = "L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==";
-      };
-    };
-    "camelcase-6.3.0" = {
-      name = "camelcase";
-      packageName = "camelcase";
-      version = "6.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz";
-        sha512 = "Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==";
-      };
-    };
-    "camelcase-keys-6.2.2" = {
-      name = "camelcase-keys";
-      packageName = "camelcase-keys";
-      version = "6.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz";
-        sha512 = "YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==";
-      };
-    };
-    "caniuse-lite-1.0.30001423" = {
-      name = "caniuse-lite";
-      packageName = "caniuse-lite";
-      version = "1.0.30001423";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001423.tgz";
-        sha512 = "09iwWGOlifvE1XuHokFMP7eR38a0JnajoyL3/i87c8ZjRWRrdKo1fqjNfugfBD0UDBIOz0U+jtNhJ0EPm1VleQ==";
-      };
-    };
-    "caseless-0.12.0" = {
-      name = "caseless";
-      packageName = "caseless";
-      version = "0.12.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz";
-        sha512 = "4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==";
-      };
-    };
-    "chalk-1.1.3" = {
-      name = "chalk";
-      packageName = "chalk";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz";
-        sha512 = "U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==";
-      };
-    };
-    "chalk-2.4.2" = {
-      name = "chalk";
-      packageName = "chalk";
-      version = "2.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz";
-        sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==";
-      };
-    };
-    "chalk-4.1.2" = {
-      name = "chalk";
-      packageName = "chalk";
-      version = "4.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz";
-        sha512 = "oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==";
-      };
-    };
-    "chokidar-3.5.3" = {
-      name = "chokidar";
-      packageName = "chokidar";
-      version = "3.5.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz";
-        sha512 = "Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==";
-      };
-    };
-    "chownr-2.0.0" = {
-      name = "chownr";
-      packageName = "chownr";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz";
-        sha512 = "bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==";
-      };
-    };
-    "chroma-js-2.4.2" = {
-      name = "chroma-js";
-      packageName = "chroma-js";
-      version = "2.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chroma-js/-/chroma-js-2.4.2.tgz";
-        sha512 = "U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A==";
-      };
-    };
-    "chromium-pickle-js-0.2.0" = {
-      name = "chromium-pickle-js";
-      packageName = "chromium-pickle-js";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz";
-        sha512 = "1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==";
-      };
-    };
-    "ci-info-2.0.0" = {
-      name = "ci-info";
-      packageName = "ci-info";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz";
-        sha512 = "5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==";
-      };
-    };
-    "cipher-base-1.0.4" = {
-      name = "cipher-base";
-      packageName = "cipher-base";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz";
-        sha512 = "Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==";
-      };
-    };
-    "clean-stack-2.2.0" = {
-      name = "clean-stack";
-      packageName = "clean-stack";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz";
-        sha512 = "4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==";
-      };
-    };
-    "cli-boxes-2.2.1" = {
-      name = "cli-boxes";
-      packageName = "cli-boxes";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz";
-        sha512 = "y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==";
-      };
-    };
-    "cliui-7.0.4" = {
-      name = "cliui";
-      packageName = "cliui";
-      version = "7.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz";
-        sha512 = "OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==";
-      };
-    };
-    "clone-response-1.0.3" = {
-      name = "clone-response";
-      packageName = "clone-response";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz";
-        sha512 = "ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==";
-      };
-    };
-    "color-convert-1.9.3" = {
-      name = "color-convert";
-      packageName = "color-convert";
-      version = "1.9.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz";
-        sha512 = "QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==";
-      };
-    };
-    "color-convert-2.0.1" = {
-      name = "color-convert";
-      packageName = "color-convert";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz";
-        sha512 = "RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==";
-      };
-    };
-    "color-name-1.1.3" = {
-      name = "color-name";
-      packageName = "color-name";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz";
-        sha512 = "72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==";
-      };
-    };
-    "color-name-1.1.4" = {
-      name = "color-name";
-      packageName = "color-name";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz";
-        sha512 = "dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==";
-      };
-    };
-    "color-support-1.1.3" = {
-      name = "color-support";
-      packageName = "color-support";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz";
-        sha512 = "qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==";
-      };
-    };
-    "combine-source-map-0.8.0" = {
-      name = "combine-source-map";
-      packageName = "combine-source-map";
-      version = "0.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz";
-        sha512 = "UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==";
-      };
-    };
-    "combined-stream-1.0.8" = {
-      name = "combined-stream";
-      packageName = "combined-stream";
-      version = "1.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz";
-        sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==";
-      };
-    };
-    "commander-2.20.3" = {
-      name = "commander";
-      packageName = "commander";
-      version = "2.20.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz";
-        sha512 = "GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==";
-      };
-    };
-    "commander-5.1.0" = {
-      name = "commander";
-      packageName = "commander";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz";
-        sha512 = "P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==";
-      };
-    };
-    "compare-version-0.1.2" = {
-      name = "compare-version";
-      packageName = "compare-version";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz";
-        sha512 = "pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==";
-      };
-    };
-    "concat-map-0.0.1" = {
-      name = "concat-map";
-      packageName = "concat-map";
-      version = "0.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
-        sha512 = "/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==";
-      };
-    };
-    "concat-stream-1.6.2" = {
-      name = "concat-stream";
-      packageName = "concat-stream";
-      version = "1.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz";
-        sha512 = "27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==";
-      };
-    };
-    "config-chain-1.1.13" = {
-      name = "config-chain";
-      packageName = "config-chain";
-      version = "1.1.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz";
-        sha512 = "qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==";
-      };
-    };
-    "configstore-5.0.1" = {
-      name = "configstore";
-      packageName = "configstore";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz";
-        sha512 = "aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==";
-      };
-    };
-    "console-browserify-1.2.0" = {
-      name = "console-browserify";
-      packageName = "console-browserify";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz";
-        sha512 = "ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==";
-      };
-    };
-    "console-control-strings-1.1.0" = {
-      name = "console-control-strings";
-      packageName = "console-control-strings";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz";
-        sha512 = "ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==";
-      };
-    };
-    "constants-browserify-1.0.0" = {
-      name = "constants-browserify";
-      packageName = "constants-browserify";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz";
-        sha512 = "xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==";
-      };
-    };
-    "convert-source-map-1.1.3" = {
-      name = "convert-source-map";
-      packageName = "convert-source-map";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz";
-        sha512 = "Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==";
-      };
-    };
-    "convert-source-map-1.9.0" = {
-      name = "convert-source-map";
-      packageName = "convert-source-map";
-      version = "1.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz";
-        sha512 = "ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==";
-      };
-    };
-    "core-js-2.6.12" = {
-      name = "core-js";
-      packageName = "core-js";
-      version = "2.6.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz";
-        sha512 = "Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==";
-      };
-    };
-    "core-js-3.22.5" = {
-      name = "core-js";
-      packageName = "core-js";
-      version = "3.22.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.22.5.tgz";
-        sha512 = "VP/xYuvJ0MJWRAobcmQ8F2H6Bsn+s7zqAAjFaHGBMc5AQm7zaelhD1LGduFn2EehEcQcU+br6t+fwbpQ5d1ZWA==";
-      };
-    };
-    "core-js-compat-3.25.5" = {
-      name = "core-js-compat";
-      packageName = "core-js-compat";
-      version = "3.25.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.5.tgz";
-        sha512 = "ovcyhs2DEBUIE0MGEKHP4olCUW/XYte3Vroyxuh38rD1wAO4dHohsovUC4eAOuzFxE6b+RXvBU3UZ9o0YhUTkA==";
-      };
-    };
-    "core-util-is-1.0.2" = {
-      name = "core-util-is";
-      packageName = "core-util-is";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz";
-        sha512 = "3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==";
-      };
-    };
-    "core-util-is-1.0.3" = {
-      name = "core-util-is";
-      packageName = "core-util-is";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz";
-        sha512 = "ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==";
-      };
-    };
-    "cpr-3.0.1" = {
-      name = "cpr";
-      packageName = "cpr";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cpr/-/cpr-3.0.1.tgz";
-        sha512 = "Xch4PXQ/KC8lJ+KfJ9JI6eG/nmppLrPPWg5Q+vh65Qr9EjuJEubxh/H/Le1TmCZ7+Xv7iJuNRqapyOFZB+wsxA==";
-      };
-    };
-    "create-ecdh-4.0.4" = {
-      name = "create-ecdh";
-      packageName = "create-ecdh";
-      version = "4.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz";
-        sha512 = "mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==";
-      };
-    };
-    "create-hash-1.2.0" = {
-      name = "create-hash";
-      packageName = "create-hash";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz";
-        sha512 = "z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==";
-      };
-    };
-    "create-hmac-1.1.7" = {
-      name = "create-hmac";
-      packageName = "create-hmac";
-      version = "1.1.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz";
-        sha512 = "MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==";
-      };
-    };
-    "cross-spawn-7.0.3" = {
-      name = "cross-spawn";
-      packageName = "cross-spawn";
-      version = "7.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz";
-        sha512 = "iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==";
-      };
-    };
-    "cross-unzip-0.0.2" = {
-      name = "cross-unzip";
-      packageName = "cross-unzip";
-      version = "0.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cross-unzip/-/cross-unzip-0.0.2.tgz";
-        sha512 = "nRJ5c+aqHz0OJVU4V1bqoaDggydfauK/Gha/H/ScBvuIjhZvl8YIpdWVzSR3vUhzCloqB1tvBdQ4V7J8qK7HzQ==";
-      };
-    };
-    "crypto-browserify-3.12.0" = {
-      name = "crypto-browserify";
-      packageName = "crypto-browserify";
-      version = "3.12.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz";
-        sha512 = "fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==";
-      };
-    };
-    "crypto-random-string-2.0.0" = {
-      name = "crypto-random-string";
-      packageName = "crypto-random-string";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz";
-        sha512 = "v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==";
-      };
-    };
-    "dash-ast-1.0.0" = {
-      name = "dash-ast";
-      packageName = "dash-ast";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz";
-        sha512 = "Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==";
-      };
-    };
-    "dashdash-1.14.1" = {
-      name = "dashdash";
-      packageName = "dashdash";
-      version = "1.14.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz";
-        sha512 = "jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==";
-      };
-    };
-    "debug-2.6.9" = {
-      name = "debug";
-      packageName = "debug";
-      version = "2.6.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz";
-        sha512 = "bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==";
-      };
-    };
-    "debug-3.2.7" = {
-      name = "debug";
-      packageName = "debug";
-      version = "3.2.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz";
-        sha512 = "CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==";
-      };
-    };
-    "debug-4.3.4" = {
-      name = "debug";
-      packageName = "debug";
-      version = "4.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz";
-        sha512 = "PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==";
-      };
-    };
-    "decamelize-1.2.0" = {
-      name = "decamelize";
-      packageName = "decamelize";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz";
-        sha512 = "z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==";
-      };
-    };
-    "decamelize-keys-1.1.0" = {
-      name = "decamelize-keys";
-      packageName = "decamelize-keys";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz";
-        sha512 = "ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==";
-      };
-    };
-    "decompress-response-3.3.0" = {
-      name = "decompress-response";
-      packageName = "decompress-response";
-      version = "3.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz";
-        sha512 = "BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==";
-      };
-    };
-    "deep-equal-1.1.1" = {
-      name = "deep-equal";
-      packageName = "deep-equal";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz";
-        sha512 = "yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==";
-      };
-    };
-    "deep-extend-0.6.0" = {
-      name = "deep-extend";
-      packageName = "deep-extend";
-      version = "0.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz";
-        sha512 = "LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==";
-      };
-    };
-    "deep-is-0.1.4" = {
-      name = "deep-is";
-      packageName = "deep-is";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz";
-        sha512 = "oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==";
-      };
-    };
-    "defer-to-connect-1.1.3" = {
-      name = "defer-to-connect";
-      packageName = "defer-to-connect";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz";
-        sha512 = "0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==";
-      };
-    };
-    "define-lazy-prop-2.0.0" = {
-      name = "define-lazy-prop";
-      packageName = "define-lazy-prop";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz";
-        sha512 = "Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==";
-      };
-    };
-    "define-properties-1.1.4" = {
-      name = "define-properties";
-      packageName = "define-properties";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz";
-        sha512 = "uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==";
-      };
-    };
-    "defined-1.0.1" = {
-      name = "defined";
-      packageName = "defined";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz";
-        sha512 = "hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==";
-      };
-    };
-    "delayed-stream-1.0.0" = {
-      name = "delayed-stream";
-      packageName = "delayed-stream";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz";
-        sha512 = "ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==";
-      };
-    };
-    "delegates-1.0.0" = {
-      name = "delegates";
-      packageName = "delegates";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz";
-        sha512 = "bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==";
-      };
-    };
-    "depd-1.1.2" = {
-      name = "depd";
-      packageName = "depd";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz";
-        sha512 = "7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==";
-      };
-    };
-    "depd-2.0.0" = {
-      name = "depd";
-      packageName = "depd";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz";
-        sha512 = "g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==";
-      };
-    };
-    "deps-sort-2.0.1" = {
-      name = "deps-sort";
-      packageName = "deps-sort";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz";
-        sha512 = "1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==";
-      };
-    };
-    "des.js-1.0.1" = {
-      name = "des.js";
-      packageName = "des.js";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz";
-        sha512 = "Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==";
-      };
-    };
-    "destroy-1.2.0" = {
-      name = "destroy";
-      packageName = "destroy";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz";
-        sha512 = "2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==";
-      };
-    };
-    "detect-node-2.1.0" = {
-      name = "detect-node";
-      packageName = "detect-node";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz";
-        sha512 = "T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==";
-      };
-    };
-    "detective-5.2.1" = {
-      name = "detective";
-      packageName = "detective";
-      version = "5.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz";
-        sha512 = "v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==";
-      };
-    };
-    "diff-match-patch-1.0.5" = {
-      name = "diff-match-patch";
-      packageName = "diff-match-patch";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz";
-        sha512 = "IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==";
-      };
-    };
-    "diffie-hellman-5.0.3" = {
-      name = "diffie-hellman";
-      packageName = "diffie-hellman";
-      version = "5.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz";
-        sha512 = "kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==";
-      };
-    };
-    "dns-equal-1.0.0" = {
-      name = "dns-equal";
-      packageName = "dns-equal";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz";
-        sha512 = "z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==";
-      };
-    };
-    "dns-packet-1.3.4" = {
-      name = "dns-packet";
-      packageName = "dns-packet";
-      version = "1.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz";
-        sha512 = "BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==";
-      };
-    };
-    "dns-txt-git+https://github.com/jean-emmanuel/dns-txt#v2.0.3" = {
-      name = "dns-txt";
-      packageName = "dns-txt";
-      version = "2.0.3";
-      src = fetchgit {
-        url = "https://github.com/jean-emmanuel/dns-txt";
-        rev = "0c11e084bceee17016f9466e3b64f47776c5fb6f";
-        sha256 = "5a1b886c631e3e9fad925c16d09dc02bfb25617faf7b549c146ee5ca69d396cd";
-      };
-    };
-    "doctrine-3.0.0" = {
-      name = "doctrine";
-      packageName = "doctrine";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz";
-        sha512 = "yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==";
-      };
-    };
-    "dom-serializer-1.4.1" = {
-      name = "dom-serializer";
-      packageName = "dom-serializer";
-      version = "1.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz";
-        sha512 = "VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==";
-      };
-    };
-    "domain-browser-1.2.0" = {
-      name = "domain-browser";
-      packageName = "domain-browser";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz";
-        sha512 = "jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==";
-      };
-    };
-    "domelementtype-2.3.0" = {
-      name = "domelementtype";
-      packageName = "domelementtype";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz";
-        sha512 = "OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==";
-      };
-    };
-    "domhandler-3.3.0" = {
-      name = "domhandler";
-      packageName = "domhandler";
-      version = "3.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz";
-        sha512 = "J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==";
-      };
-    };
-    "domhandler-4.3.1" = {
-      name = "domhandler";
-      packageName = "domhandler";
-      version = "4.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz";
-        sha512 = "GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==";
-      };
-    };
-    "domutils-2.8.0" = {
-      name = "domutils";
-      packageName = "domutils";
-      version = "2.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz";
-        sha512 = "w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==";
-      };
-    };
-    "dot-prop-5.3.0" = {
-      name = "dot-prop";
-      packageName = "dot-prop";
-      version = "5.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz";
-        sha512 = "QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==";
-      };
-    };
-    "duplexer2-0.1.4" = {
-      name = "duplexer2";
-      packageName = "duplexer2";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz";
-        sha512 = "asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==";
-      };
-    };
-    "duplexer3-0.1.5" = {
-      name = "duplexer3";
-      packageName = "duplexer3";
-      version = "0.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz";
-        sha512 = "1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==";
-      };
-    };
-    "ecc-jsbn-0.1.2" = {
-      name = "ecc-jsbn";
-      packageName = "ecc-jsbn";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz";
-        sha512 = "eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==";
-      };
-    };
-    "ee-first-1.1.1" = {
-      name = "ee-first";
-      packageName = "ee-first";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz";
-        sha512 = "WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==";
-      };
-    };
-    "electron-21.2.0" = {
-      name = "electron";
-      packageName = "electron";
-      version = "21.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/electron/-/electron-21.2.0.tgz";
-        sha512 = "oKV4fo8l6jlOZ1cYZ4RpZz02ZxLuBo3SO7DH+FrJ8uDyCirP+eVJ/qlzu23odtNe0P7S/mYAZbC6abZHWoqtLg==";
-      };
-    };
-    "electron-is-accelerator-0.1.2" = {
-      name = "electron-is-accelerator";
-      packageName = "electron-is-accelerator";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/electron-is-accelerator/-/electron-is-accelerator-0.1.2.tgz";
-        sha512 = "fLGSAjXZtdn1sbtZxx52+krefmtNuVwnJCV2gNiVt735/ARUboMl8jnNC9fZEqQdlAv2ZrETfmBUsoQci5evJA==";
-      };
-    };
-    "electron-localshortcut-3.2.1" = {
-      name = "electron-localshortcut";
-      packageName = "electron-localshortcut";
-      version = "3.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/electron-localshortcut/-/electron-localshortcut-3.2.1.tgz";
-        sha512 = "DWvhKv36GsdXKnaFFhEiK8kZZA+24/yFLgtTwJJHc7AFgDjNRIBJZ/jq62Y/dWv9E4ypYwrVWN2bVrCYw1uv7Q==";
-      };
-    };
-    "electron-notarize-1.2.2" = {
-      name = "electron-notarize";
-      packageName = "electron-notarize";
-      version = "1.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/electron-notarize/-/electron-notarize-1.2.2.tgz";
-        sha512 = "ZStVWYcWI7g87/PgjPJSIIhwQXOaw4/XeXU+pWqMMktSLHaGMLHdyPPN7Cmao7+Cr7fYufA16npdtMndYciHNw==";
-      };
-    };
-    "electron-osx-sign-0.5.0" = {
-      name = "electron-osx-sign";
-      packageName = "electron-osx-sign";
-      version = "0.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.5.0.tgz";
-        sha512 = "icoRLHzFz/qxzDh/N4Pi2z4yVHurlsCAYQvsCSG7fCedJ4UJXBS6PoQyGH71IfcqKupcKeK7HX/NkyfG+v6vlQ==";
-      };
-    };
-    "electron-packager-15.2.0" = {
-      name = "electron-packager";
-      packageName = "electron-packager";
-      version = "15.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/electron-packager/-/electron-packager-15.2.0.tgz";
-        sha512 = "BaklTBRQy1JTijR3hi8XxHf/uo76rHbDCNM/eQHSblzE9C0NoNfOe86nPxB7y1u2jwlqoEJ4zFiHpTFioKGGRA==";
-      };
-    };
-    "electron-packager-plugin-non-proprietary-codecs-ffmpeg-1.0.2" = {
-      name = "electron-packager-plugin-non-proprietary-codecs-ffmpeg";
-      packageName = "electron-packager-plugin-non-proprietary-codecs-ffmpeg";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/electron-packager-plugin-non-proprietary-codecs-ffmpeg/-/electron-packager-plugin-non-proprietary-codecs-ffmpeg-1.0.2.tgz";
-        sha512 = "xPkbzndg2KODqmNe9yIx0dhNOfaOqrdNZ1ZSSZN4h1wT0T5SV/YES0tNyN932jQd+c5cFPv6AWYYjuPWKvcITg==";
-      };
-    };
-    "electron-to-chromium-1.4.284" = {
-      name = "electron-to-chromium";
-      packageName = "electron-to-chromium";
-      version = "1.4.284";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz";
-        sha512 = "M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==";
-      };
-    };
-    "elliptic-6.5.4" = {
-      name = "elliptic";
-      packageName = "elliptic";
-      version = "6.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz";
-        sha512 = "iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==";
-      };
-    };
-    "emoji-regex-8.0.0" = {
-      name = "emoji-regex";
-      packageName = "emoji-regex";
-      version = "8.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz";
-        sha512 = "MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==";
-      };
-    };
-    "encodeurl-1.0.2" = {
-      name = "encodeurl";
-      packageName = "encodeurl";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz";
-        sha512 = "TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==";
-      };
-    };
-    "encoding-0.1.13" = {
-      name = "encoding";
-      packageName = "encoding";
-      version = "0.1.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz";
-        sha512 = "ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==";
-      };
-    };
-    "end-of-stream-1.4.4" = {
-      name = "end-of-stream";
-      packageName = "end-of-stream";
-      version = "1.4.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz";
-        sha512 = "+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==";
-      };
-    };
-    "entities-2.2.0" = {
-      name = "entities";
-      packageName = "entities";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz";
-        sha512 = "p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==";
-      };
-    };
-    "env-paths-2.2.1" = {
-      name = "env-paths";
-      packageName = "env-paths";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz";
-        sha512 = "+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==";
-      };
-    };
-    "err-code-2.0.3" = {
-      name = "err-code";
-      packageName = "err-code";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz";
-        sha512 = "2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==";
-      };
-    };
-    "error-ex-1.3.2" = {
-      name = "error-ex";
-      packageName = "error-ex";
-      version = "1.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz";
-        sha512 = "7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==";
-      };
-    };
-    "error-stack-parser-2.1.4" = {
-      name = "error-stack-parser";
-      packageName = "error-stack-parser";
-      version = "2.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz";
-        sha512 = "Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==";
-      };
-    };
-    "es-abstract-1.20.4" = {
-      name = "es-abstract";
-      packageName = "es-abstract";
-      version = "1.20.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz";
-        sha512 = "0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==";
-      };
-    };
-    "es-to-primitive-1.2.1" = {
-      name = "es-to-primitive";
-      packageName = "es-to-primitive";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz";
-        sha512 = "QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==";
-      };
-    };
-    "es6-error-4.1.1" = {
-      name = "es6-error";
-      packageName = "es6-error";
-      version = "4.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz";
-        sha512 = "Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==";
-      };
-    };
-    "escalade-3.1.1" = {
-      name = "escalade";
-      packageName = "escalade";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz";
-        sha512 = "k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==";
-      };
-    };
-    "escape-goat-2.1.1" = {
-      name = "escape-goat";
-      packageName = "escape-goat";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz";
-        sha512 = "8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==";
-      };
-    };
-    "escape-html-1.0.3" = {
-      name = "escape-html";
-      packageName = "escape-html";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz";
-        sha512 = "NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==";
-      };
-    };
-    "escape-string-regexp-1.0.5" = {
-      name = "escape-string-regexp";
-      packageName = "escape-string-regexp";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
-        sha512 = "vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==";
-      };
-    };
-    "escape-string-regexp-4.0.0" = {
-      name = "escape-string-regexp";
-      packageName = "escape-string-regexp";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz";
-        sha512 = "TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==";
-      };
-    };
-    "escaper-2.5.3" = {
-      name = "escaper";
-      packageName = "escaper";
-      version = "2.5.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escaper/-/escaper-2.5.3.tgz";
-        sha512 = "QGb9sFxBVpbzMggrKTX0ry1oiI4CSDAl9vIL702hzl1jGW8VZs7qfqTRX7WDOjoNDoEVGcEtu1ZOQgReSfT2kQ==";
-      };
-    };
-    "eslint-8.16.0" = {
-      name = "eslint";
-      packageName = "eslint";
-      version = "8.16.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-8.16.0.tgz";
-        sha512 = "MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==";
-      };
-    };
-    "eslint-scope-5.1.1" = {
-      name = "eslint-scope";
-      packageName = "eslint-scope";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz";
-        sha512 = "2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==";
-      };
-    };
-    "eslint-scope-7.1.1" = {
-      name = "eslint-scope";
-      packageName = "eslint-scope";
-      version = "7.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz";
-        sha512 = "QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==";
-      };
-    };
-    "eslint-utils-3.0.0" = {
-      name = "eslint-utils";
-      packageName = "eslint-utils";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz";
-        sha512 = "uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==";
-      };
-    };
-    "eslint-visitor-keys-2.1.0" = {
-      name = "eslint-visitor-keys";
-      packageName = "eslint-visitor-keys";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz";
-        sha512 = "0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==";
-      };
-    };
-    "eslint-visitor-keys-3.3.0" = {
-      name = "eslint-visitor-keys";
-      packageName = "eslint-visitor-keys";
-      version = "3.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz";
-        sha512 = "mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==";
-      };
-    };
-    "espree-9.4.0" = {
-      name = "espree";
-      packageName = "espree";
-      version = "9.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz";
-        sha512 = "DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==";
-      };
-    };
-    "esquery-1.4.0" = {
-      name = "esquery";
-      packageName = "esquery";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz";
-        sha512 = "cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==";
-      };
-    };
-    "esrecurse-4.3.0" = {
-      name = "esrecurse";
-      packageName = "esrecurse";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz";
-        sha512 = "KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==";
-      };
-    };
-    "estraverse-4.3.0" = {
-      name = "estraverse";
-      packageName = "estraverse";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz";
-        sha512 = "39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==";
-      };
-    };
-    "estraverse-5.3.0" = {
-      name = "estraverse";
-      packageName = "estraverse";
-      version = "5.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz";
-        sha512 = "MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==";
-      };
-    };
-    "estree-is-member-expression-1.0.0" = {
-      name = "estree-is-member-expression";
-      packageName = "estree-is-member-expression";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/estree-is-member-expression/-/estree-is-member-expression-1.0.0.tgz";
-        sha512 = "Ec+X44CapIGExvSZN+pGkmr5p7HwUVQoPQSd458Lqwvaf4/61k/invHSh4BYK8OXnCkfEhWuIoG5hayKLQStIg==";
-      };
-    };
-    "esutils-2.0.3" = {
-      name = "esutils";
-      packageName = "esutils";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz";
-        sha512 = "kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==";
-      };
-    };
-    "etag-1.8.1" = {
-      name = "etag";
-      packageName = "etag";
-      version = "1.8.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz";
-        sha512 = "aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==";
-      };
-    };
-    "events-3.3.0" = {
-      name = "events";
-      packageName = "events";
-      version = "3.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/events/-/events-3.3.0.tgz";
-        sha512 = "mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==";
-      };
-    };
-    "evp_bytestokey-1.0.3" = {
-      name = "evp_bytestokey";
-      packageName = "evp_bytestokey";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz";
-        sha512 = "/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==";
-      };
-    };
-    "exorcist-2.0.0" = {
-      name = "exorcist";
-      packageName = "exorcist";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/exorcist/-/exorcist-2.0.0.tgz";
-        sha512 = "+c63SvhBq/HjmbV9cu9vkDkjXFiuI4lpqOZU5Y3t5GSV2l4TQCqVli9c7nIASHxkUL4THaOZDUcb6XNBI/eYjw==";
-      };
-    };
-    "extend-3.0.2" = {
-      name = "extend";
-      packageName = "extend";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz";
-        sha512 = "fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==";
-      };
-    };
-    "extract-zip-2.0.1" = {
-      name = "extract-zip";
-      packageName = "extract-zip";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz";
-        sha512 = "GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==";
-      };
-    };
-    "extsprintf-1.3.0" = {
-      name = "extsprintf";
-      packageName = "extsprintf";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz";
-        sha512 = "11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==";
-      };
-    };
-    "fast-deep-equal-3.1.3" = {
-      name = "fast-deep-equal";
-      packageName = "fast-deep-equal";
-      version = "3.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz";
-        sha512 = "f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==";
-      };
-    };
-    "fast-json-stable-stringify-2.1.0" = {
-      name = "fast-json-stable-stringify";
-      packageName = "fast-json-stable-stringify";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz";
-        sha512 = "lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==";
-      };
-    };
-    "fast-levenshtein-2.0.6" = {
-      name = "fast-levenshtein";
-      packageName = "fast-levenshtein";
-      version = "2.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz";
-        sha512 = "DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==";
-      };
-    };
-    "fast-safe-stringify-2.1.1" = {
-      name = "fast-safe-stringify";
-      packageName = "fast-safe-stringify";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz";
-        sha512 = "W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==";
-      };
-    };
-    "fastdom-1.0.10" = {
-      name = "fastdom";
-      packageName = "fastdom";
-      version = "1.0.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fastdom/-/fastdom-1.0.10.tgz";
-        sha512 = "sbL4h358IlZn8VsTvA5TYnKVLYif46XhPEll+HTSxVtDSpqZEO/17D/QqlxE9V2K7AQ82GXeYeQLU2HWwKgk1A==";
-      };
-    };
-    "fd-slicer-1.1.0" = {
-      name = "fd-slicer";
-      packageName = "fd-slicer";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz";
-        sha512 = "cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==";
-      };
-    };
-    "file-entry-cache-6.0.1" = {
-      name = "file-entry-cache";
-      packageName = "file-entry-cache";
-      version = "6.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz";
-        sha512 = "7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==";
-      };
-    };
-    "file-saver-2.0.5" = {
-      name = "file-saver";
-      packageName = "file-saver";
-      version = "2.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz";
-        sha512 = "P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==";
-      };
-    };
-    "filename-reserved-regex-2.0.0" = {
-      name = "filename-reserved-regex";
-      packageName = "filename-reserved-regex";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz";
-        sha512 = "lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==";
-      };
-    };
-    "filenamify-4.3.0" = {
-      name = "filenamify";
-      packageName = "filenamify";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz";
-        sha512 = "hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==";
-      };
-    };
-    "fill-range-7.0.1" = {
-      name = "fill-range";
-      packageName = "fill-range";
-      version = "7.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz";
-        sha512 = "qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==";
-      };
-    };
-    "find-up-2.1.0" = {
-      name = "find-up";
-      packageName = "find-up";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz";
-        sha512 = "NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==";
-      };
-    };
-    "find-up-4.1.0" = {
-      name = "find-up";
-      packageName = "find-up";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz";
-        sha512 = "PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==";
-      };
-    };
-    "flat-cache-3.0.4" = {
-      name = "flat-cache";
-      packageName = "flat-cache";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz";
-        sha512 = "dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==";
-      };
-    };
-    "flatted-3.2.7" = {
-      name = "flatted";
-      packageName = "flatted";
-      version = "3.2.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz";
-        sha512 = "5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==";
-      };
-    };
-    "flora-colossus-1.0.1" = {
-      name = "flora-colossus";
-      packageName = "flora-colossus";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/flora-colossus/-/flora-colossus-1.0.1.tgz";
-        sha512 = "d+9na7t9FyH8gBJoNDSi28mE4NgQVGGvxQ4aHtFRetjyh5SXjuus+V5EZaxFmFdXVemSOrx0lsgEl/ZMjnOWJA==";
-      };
-    };
-    "for-each-0.3.3" = {
-      name = "for-each";
-      packageName = "for-each";
-      version = "0.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz";
-        sha512 = "jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==";
-      };
-    };
-    "forever-agent-0.6.1" = {
-      name = "forever-agent";
-      packageName = "forever-agent";
-      version = "0.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz";
-        sha512 = "j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==";
-      };
-    };
-    "form-data-2.3.3" = {
-      name = "form-data";
-      packageName = "form-data";
-      version = "2.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz";
-        sha512 = "1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==";
-      };
-    };
-    "fresh-0.5.2" = {
-      name = "fresh";
-      packageName = "fresh";
-      version = "0.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz";
-        sha512 = "zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==";
-      };
-    };
-    "fs-extra-4.0.3" = {
-      name = "fs-extra";
-      packageName = "fs-extra";
-      version = "4.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz";
-        sha512 = "q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==";
-      };
-    };
-    "fs-extra-7.0.1" = {
-      name = "fs-extra";
-      packageName = "fs-extra";
-      version = "7.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz";
-        sha512 = "YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==";
-      };
-    };
-    "fs-extra-8.1.0" = {
-      name = "fs-extra";
-      packageName = "fs-extra";
-      version = "8.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz";
-        sha512 = "yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==";
-      };
-    };
-    "fs-extra-9.1.0" = {
-      name = "fs-extra";
-      packageName = "fs-extra";
-      version = "9.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz";
-        sha512 = "hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==";
-      };
-    };
-    "fs-minipass-2.1.0" = {
-      name = "fs-minipass";
-      packageName = "fs-minipass";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz";
-        sha512 = "V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==";
-      };
-    };
-    "fs.realpath-1.0.0" = {
-      name = "fs.realpath";
-      packageName = "fs.realpath";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz";
-        sha512 = "OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==";
-      };
-    };
-    "fsevents-2.3.2" = {
-      name = "fsevents";
-      packageName = "fsevents";
-      version = "2.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz";
-        sha512 = "xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==";
-      };
-    };
-    "function-bind-1.1.1" = {
-      name = "function-bind";
-      packageName = "function-bind";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz";
-        sha512 = "yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==";
-      };
-    };
-    "function.prototype.name-1.1.5" = {
-      name = "function.prototype.name";
-      packageName = "function.prototype.name";
-      version = "1.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz";
-        sha512 = "uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==";
-      };
-    };
-    "functional-red-black-tree-1.0.1" = {
-      name = "functional-red-black-tree";
-      packageName = "functional-red-black-tree";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz";
-        sha512 = "dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==";
-      };
-    };
-    "functions-have-names-1.2.3" = {
-      name = "functions-have-names";
-      packageName = "functions-have-names";
-      version = "1.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz";
-        sha512 = "xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==";
-      };
-    };
-    "galactus-0.2.1" = {
-      name = "galactus";
-      packageName = "galactus";
-      version = "0.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/galactus/-/galactus-0.2.1.tgz";
-        sha512 = "mDc8EQJKtxjp9PMYS3PbpjjbX3oXhBTxoGaPahw620XZBIHJ4+nvw5KN/tRtmmSDR9dypstGNvqQ3C29QGoGHQ==";
-      };
-    };
-    "gauge-3.0.2" = {
-      name = "gauge";
-      packageName = "gauge";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz";
-        sha512 = "+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==";
-      };
-    };
-    "gauge-4.0.4" = {
-      name = "gauge";
-      packageName = "gauge";
-      version = "4.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz";
-        sha512 = "f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==";
-      };
-    };
-    "gaze-1.1.3" = {
-      name = "gaze";
-      packageName = "gaze";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz";
-        sha512 = "BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==";
-      };
-    };
-    "gensync-1.0.0-beta.2" = {
-      name = "gensync";
-      packageName = "gensync";
-      version = "1.0.0-beta.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz";
-        sha512 = "3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==";
-      };
-    };
-    "get-assigned-identifiers-1.2.0" = {
-      name = "get-assigned-identifiers";
-      packageName = "get-assigned-identifiers";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz";
-        sha512 = "mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==";
-      };
-    };
-    "get-caller-file-2.0.5" = {
-      name = "get-caller-file";
-      packageName = "get-caller-file";
-      version = "2.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz";
-        sha512 = "DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==";
-      };
-    };
-    "get-intrinsic-1.1.3" = {
-      name = "get-intrinsic";
-      packageName = "get-intrinsic";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz";
-        sha512 = "QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==";
-      };
-    };
-    "get-package-info-1.0.0" = {
-      name = "get-package-info";
-      packageName = "get-package-info";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-package-info/-/get-package-info-1.0.0.tgz";
-        sha512 = "SCbprXGAPdIhKAXiG+Mk6yeoFH61JlYunqdFQFHDtLjJlDjFf6x07dsS8acO+xWt52jpdVo49AlVDnUVK1sDNw==";
-      };
-    };
-    "get-stdin-4.0.1" = {
-      name = "get-stdin";
-      packageName = "get-stdin";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz";
-        sha512 = "F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==";
-      };
-    };
-    "get-stream-4.1.0" = {
-      name = "get-stream";
-      packageName = "get-stream";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz";
-        sha512 = "GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==";
-      };
-    };
-    "get-stream-5.2.0" = {
-      name = "get-stream";
-      packageName = "get-stream";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz";
-        sha512 = "nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==";
-      };
-    };
-    "get-symbol-description-1.0.0" = {
-      name = "get-symbol-description";
-      packageName = "get-symbol-description";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz";
-        sha512 = "2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==";
-      };
-    };
-    "getpass-0.1.7" = {
-      name = "getpass";
-      packageName = "getpass";
-      version = "0.1.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz";
-        sha512 = "0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==";
-      };
-    };
-    "glob-7.1.7" = {
-      name = "glob";
-      packageName = "glob";
-      version = "7.1.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz";
-        sha512 = "OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==";
-      };
-    };
-    "glob-7.2.3" = {
-      name = "glob";
-      packageName = "glob";
-      version = "7.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz";
-        sha512 = "nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==";
-      };
-    };
-    "glob-parent-5.1.2" = {
-      name = "glob-parent";
-      packageName = "glob-parent";
-      version = "5.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz";
-        sha512 = "AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==";
-      };
-    };
-    "glob-parent-6.0.2" = {
-      name = "glob-parent";
-      packageName = "glob-parent";
-      version = "6.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz";
-        sha512 = "XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==";
-      };
-    };
-    "global-agent-3.0.0" = {
-      name = "global-agent";
-      packageName = "global-agent";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz";
-        sha512 = "PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==";
-      };
-    };
-    "global-dirs-3.0.0" = {
-      name = "global-dirs";
-      packageName = "global-dirs";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz";
-        sha512 = "v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==";
-      };
-    };
-    "global-tunnel-ng-2.7.1" = {
-      name = "global-tunnel-ng";
-      packageName = "global-tunnel-ng";
-      version = "2.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz";
-        sha512 = "4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==";
-      };
-    };
-    "globals-11.12.0" = {
-      name = "globals";
-      packageName = "globals";
-      version = "11.12.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz";
-        sha512 = "WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==";
-      };
-    };
-    "globals-13.17.0" = {
-      name = "globals";
-      packageName = "globals";
-      version = "13.17.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz";
-        sha512 = "1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==";
-      };
-    };
-    "globalthis-1.0.3" = {
-      name = "globalthis";
-      packageName = "globalthis";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz";
-        sha512 = "sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==";
-      };
-    };
-    "globule-1.3.4" = {
-      name = "globule";
-      packageName = "globule";
-      version = "1.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/globule/-/globule-1.3.4.tgz";
-        sha512 = "OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==";
-      };
-    };
-    "got-9.6.0" = {
-      name = "got";
-      packageName = "got";
-      version = "9.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/got/-/got-9.6.0.tgz";
-        sha512 = "R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==";
-      };
-    };
-    "graceful-fs-4.2.10" = {
-      name = "graceful-fs";
-      packageName = "graceful-fs";
-      version = "4.2.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz";
-        sha512 = "9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==";
-      };
-    };
-    "gyronorm-2.0.6" = {
-      name = "gyronorm";
-      packageName = "gyronorm";
-      version = "2.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gyronorm/-/gyronorm-2.0.6.tgz";
-        sha512 = "pE66zEK/3G9t1dpikTKIjNuY1JauXgtNiulgPKc28IKwMJ5NuJ03mOQ5ArqnkOyQxhlJSY71i3YdFcHhzx4TOg==";
-      };
-    };
-    "har-schema-2.0.0" = {
-      name = "har-schema";
-      packageName = "har-schema";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz";
-        sha512 = "Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==";
-      };
-    };
-    "har-validator-5.1.5" = {
-      name = "har-validator";
-      packageName = "har-validator";
-      version = "5.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz";
-        sha512 = "nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==";
-      };
-    };
-    "hard-rejection-2.1.0" = {
-      name = "hard-rejection";
-      packageName = "hard-rejection";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz";
-        sha512 = "VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==";
-      };
-    };
-    "has-1.0.3" = {
-      name = "has";
-      packageName = "has";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has/-/has-1.0.3.tgz";
-        sha512 = "f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==";
-      };
-    };
-    "has-ansi-2.0.0" = {
-      name = "has-ansi";
-      packageName = "has-ansi";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz";
-        sha512 = "C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==";
-      };
-    };
-    "has-bigints-1.0.2" = {
-      name = "has-bigints";
-      packageName = "has-bigints";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz";
-        sha512 = "tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==";
-      };
-    };
-    "has-flag-3.0.0" = {
-      name = "has-flag";
-      packageName = "has-flag";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz";
-        sha512 = "sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==";
-      };
-    };
-    "has-flag-4.0.0" = {
-      name = "has-flag";
-      packageName = "has-flag";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz";
-        sha512 = "EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==";
-      };
-    };
-    "has-property-descriptors-1.0.0" = {
-      name = "has-property-descriptors";
-      packageName = "has-property-descriptors";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz";
-        sha512 = "62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==";
-      };
-    };
-    "has-symbols-1.0.3" = {
-      name = "has-symbols";
-      packageName = "has-symbols";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz";
-        sha512 = "l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==";
-      };
-    };
-    "has-tostringtag-1.0.0" = {
-      name = "has-tostringtag";
-      packageName = "has-tostringtag";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz";
-        sha512 = "kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==";
-      };
-    };
-    "has-unicode-2.0.1" = {
-      name = "has-unicode";
-      packageName = "has-unicode";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz";
-        sha512 = "8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==";
-      };
-    };
-    "has-yarn-2.1.0" = {
-      name = "has-yarn";
-      packageName = "has-yarn";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz";
-        sha512 = "UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==";
-      };
-    };
-    "hash-base-3.1.0" = {
-      name = "hash-base";
-      packageName = "hash-base";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz";
-        sha512 = "1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==";
-      };
-    };
-    "hash.js-1.1.7" = {
-      name = "hash.js";
-      packageName = "hash.js";
-      version = "1.1.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz";
-        sha512 = "taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==";
-      };
-    };
-    "hmac-drbg-1.0.1" = {
-      name = "hmac-drbg";
-      packageName = "hmac-drbg";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz";
-        sha512 = "Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==";
-      };
-    };
-    "hosted-git-info-2.8.9" = {
-      name = "hosted-git-info";
-      packageName = "hosted-git-info";
-      version = "2.8.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz";
-        sha512 = "mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==";
-      };
-    };
-    "hosted-git-info-4.1.0" = {
-      name = "hosted-git-info";
-      packageName = "hosted-git-info";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz";
-        sha512 = "kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==";
-      };
-    };
-    "htmlescape-1.1.1" = {
-      name = "htmlescape";
-      packageName = "htmlescape";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz";
-        sha512 = "eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==";
-      };
-    };
-    "htmlparser2-4.1.0" = {
-      name = "htmlparser2";
-      packageName = "htmlparser2";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz";
-        sha512 = "4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==";
-      };
-    };
-    "http-auth-4.1.9" = {
-      name = "http-auth";
-      packageName = "http-auth";
-      version = "4.1.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-auth/-/http-auth-4.1.9.tgz";
-        sha512 = "kvPYxNGc9EKGTXvOMnTBQw2RZfuiSihK/mLw/a4pbtRueTE45S55Lw/3k5CktIf7Ak0veMKEIteDj4YkNmCzmQ==";
-      };
-    };
-    "http-cache-semantics-4.1.0" = {
-      name = "http-cache-semantics";
-      packageName = "http-cache-semantics";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz";
-        sha512 = "carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==";
-      };
-    };
-    "http-errors-2.0.0" = {
-      name = "http-errors";
-      packageName = "http-errors";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz";
-        sha512 = "FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==";
-      };
-    };
-    "http-proxy-agent-4.0.1" = {
-      name = "http-proxy-agent";
-      packageName = "http-proxy-agent";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz";
-        sha512 = "k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==";
-      };
-    };
-    "http-signature-1.2.0" = {
-      name = "http-signature";
-      packageName = "http-signature";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz";
-        sha512 = "CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==";
-      };
-    };
-    "https-browserify-1.0.0" = {
-      name = "https-browserify";
-      packageName = "https-browserify";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz";
-        sha512 = "J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==";
-      };
-    };
-    "https-proxy-agent-5.0.1" = {
-      name = "https-proxy-agent";
-      packageName = "https-proxy-agent";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz";
-        sha512 = "dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==";
-      };
-    };
-    "humanize-ms-1.2.1" = {
-      name = "humanize-ms";
-      packageName = "humanize-ms";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz";
-        sha512 = "Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==";
-      };
-    };
-    "hyperscript-attribute-to-property-1.0.2" = {
-      name = "hyperscript-attribute-to-property";
-      packageName = "hyperscript-attribute-to-property";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hyperscript-attribute-to-property/-/hyperscript-attribute-to-property-1.0.2.tgz";
-        sha512 = "oerMul16jZCmrbNsUw8QgrtDzF8lKgFri1bKQjReLw1IhiiNkI59CWuzZjJDGT79UQ1YiWqXhJMv/tRMVqgtkA==";
-      };
-    };
-    "hyperx-2.5.4" = {
-      name = "hyperx";
-      packageName = "hyperx";
-      version = "2.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hyperx/-/hyperx-2.5.4.tgz";
-        sha512 = "iOkSh7Yse7lsN/B9y7OsevLWjeXPqGuHQ5SbwaiJM5xAhWFqhoN6erpK1dQsS12OFU36lyai1pnx1mmzWLQqcA==";
-      };
-    };
-    "iconv-lite-0.6.3" = {
-      name = "iconv-lite";
-      packageName = "iconv-lite";
-      version = "0.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz";
-        sha512 = "4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==";
-      };
-    };
-    "ieee754-1.2.1" = {
-      name = "ieee754";
-      packageName = "ieee754";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz";
-        sha512 = "dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==";
-      };
-    };
-    "ignore-5.2.0" = {
-      name = "ignore";
-      packageName = "ignore";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz";
-        sha512 = "CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==";
-      };
-    };
-    "ignore-by-default-1.0.1" = {
-      name = "ignore-by-default";
-      packageName = "ignore-by-default";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz";
-        sha512 = "Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==";
-      };
-    };
-    "import-fresh-3.3.0" = {
-      name = "import-fresh";
-      packageName = "import-fresh";
-      version = "3.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz";
-        sha512 = "veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==";
-      };
-    };
-    "import-lazy-2.1.0" = {
-      name = "import-lazy";
-      packageName = "import-lazy";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz";
-        sha512 = "m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==";
-      };
-    };
-    "imurmurhash-0.1.4" = {
-      name = "imurmurhash";
-      packageName = "imurmurhash";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz";
-        sha512 = "JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==";
-      };
-    };
-    "indent-string-4.0.0" = {
-      name = "indent-string";
-      packageName = "indent-string";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz";
-        sha512 = "EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==";
-      };
-    };
-    "infer-owner-1.0.4" = {
-      name = "infer-owner";
-      packageName = "infer-owner";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz";
-        sha512 = "IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==";
-      };
-    };
-    "inflight-1.0.6" = {
-      name = "inflight";
-      packageName = "inflight";
-      version = "1.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz";
-        sha512 = "k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==";
-      };
-    };
-    "inherits-2.0.1" = {
-      name = "inherits";
-      packageName = "inherits";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
-        sha512 = "8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==";
-      };
-    };
-    "inherits-2.0.4" = {
-      name = "inherits";
-      packageName = "inherits";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz";
-        sha512 = "k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==";
-      };
-    };
-    "ini-1.3.8" = {
-      name = "ini";
-      packageName = "ini";
-      version = "1.3.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz";
-        sha512 = "JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==";
-      };
-    };
-    "ini-2.0.0" = {
-      name = "ini";
-      packageName = "ini";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz";
-        sha512 = "7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==";
-      };
-    };
-    "inline-source-map-0.6.2" = {
-      name = "inline-source-map";
-      packageName = "inline-source-map";
-      version = "0.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz";
-        sha512 = "0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==";
-      };
-    };
-    "insert-module-globals-7.2.1" = {
-      name = "insert-module-globals";
-      packageName = "insert-module-globals";
-      version = "7.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz";
-        sha512 = "ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==";
-      };
-    };
-    "internal-slot-1.0.3" = {
-      name = "internal-slot";
-      packageName = "internal-slot";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz";
-        sha512 = "O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==";
-      };
-    };
-    "ip-1.1.8" = {
-      name = "ip";
-      packageName = "ip";
-      version = "1.1.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz";
-        sha512 = "PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==";
-      };
-    };
-    "ip-2.0.0" = {
-      name = "ip";
-      packageName = "ip";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz";
-        sha512 = "WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==";
-      };
-    };
-    "is-arguments-1.1.1" = {
-      name = "is-arguments";
-      packageName = "is-arguments";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz";
-        sha512 = "8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==";
-      };
-    };
-    "is-arrayish-0.2.1" = {
-      name = "is-arrayish";
-      packageName = "is-arrayish";
-      version = "0.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz";
-        sha512 = "zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==";
-      };
-    };
-    "is-bigint-1.0.4" = {
-      name = "is-bigint";
-      packageName = "is-bigint";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz";
-        sha512 = "zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==";
-      };
-    };
-    "is-binary-path-2.1.0" = {
-      name = "is-binary-path";
-      packageName = "is-binary-path";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz";
-        sha512 = "ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==";
-      };
-    };
-    "is-boolean-attribute-0.0.1" = {
-      name = "is-boolean-attribute";
-      packageName = "is-boolean-attribute";
-      version = "0.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-boolean-attribute/-/is-boolean-attribute-0.0.1.tgz";
-        sha512 = "0kXT52Scokg2Miscvsn5UVqg6y1691vcLJcagie1YHJB4zOEuAhMERLX992jtvaStGy2xQTqOtJhvmG/MK1T5w==";
-      };
-    };
-    "is-boolean-object-1.1.2" = {
-      name = "is-boolean-object";
-      packageName = "is-boolean-object";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz";
-        sha512 = "gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==";
-      };
-    };
-    "is-buffer-1.1.6" = {
-      name = "is-buffer";
-      packageName = "is-buffer";
-      version = "1.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz";
-        sha512 = "NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==";
-      };
-    };
-    "is-buffer-2.0.5" = {
-      name = "is-buffer";
-      packageName = "is-buffer";
-      version = "2.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz";
-        sha512 = "i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==";
-      };
-    };
-    "is-callable-1.2.7" = {
-      name = "is-callable";
-      packageName = "is-callable";
-      version = "1.2.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz";
-        sha512 = "1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==";
-      };
-    };
-    "is-ci-2.0.0" = {
-      name = "is-ci";
-      packageName = "is-ci";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz";
-        sha512 = "YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==";
-      };
-    };
-    "is-core-module-2.11.0" = {
-      name = "is-core-module";
-      packageName = "is-core-module";
-      version = "2.11.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz";
-        sha512 = "RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==";
-      };
-    };
-    "is-date-object-1.0.5" = {
-      name = "is-date-object";
-      packageName = "is-date-object";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz";
-        sha512 = "9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==";
-      };
-    };
-    "is-docker-2.2.1" = {
-      name = "is-docker";
-      packageName = "is-docker";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz";
-        sha512 = "F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==";
-      };
-    };
-    "is-extglob-2.1.1" = {
-      name = "is-extglob";
-      packageName = "is-extglob";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz";
-        sha512 = "SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==";
-      };
-    };
-    "is-fullwidth-code-point-3.0.0" = {
-      name = "is-fullwidth-code-point";
-      packageName = "is-fullwidth-code-point";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz";
-        sha512 = "zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==";
-      };
-    };
-    "is-generator-function-1.0.10" = {
-      name = "is-generator-function";
-      packageName = "is-generator-function";
-      version = "1.0.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz";
-        sha512 = "jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==";
-      };
-    };
-    "is-glob-4.0.3" = {
-      name = "is-glob";
-      packageName = "is-glob";
-      version = "4.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz";
-        sha512 = "xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==";
-      };
-    };
-    "is-installed-globally-0.4.0" = {
-      name = "is-installed-globally";
-      packageName = "is-installed-globally";
-      version = "0.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz";
-        sha512 = "iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==";
-      };
-    };
-    "is-lambda-1.0.1" = {
-      name = "is-lambda";
-      packageName = "is-lambda";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz";
-        sha512 = "z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==";
-      };
-    };
-    "is-negative-zero-2.0.2" = {
-      name = "is-negative-zero";
-      packageName = "is-negative-zero";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz";
-        sha512 = "dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==";
-      };
-    };
-    "is-npm-5.0.0" = {
-      name = "is-npm";
-      packageName = "is-npm";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz";
-        sha512 = "WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==";
-      };
-    };
-    "is-number-7.0.0" = {
-      name = "is-number";
-      packageName = "is-number";
-      version = "7.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz";
-        sha512 = "41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==";
-      };
-    };
-    "is-number-object-1.0.7" = {
-      name = "is-number-object";
-      packageName = "is-number-object";
-      version = "1.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz";
-        sha512 = "k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==";
-      };
-    };
-    "is-obj-2.0.0" = {
-      name = "is-obj";
-      packageName = "is-obj";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz";
-        sha512 = "drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==";
-      };
-    };
-    "is-path-inside-3.0.3" = {
-      name = "is-path-inside";
-      packageName = "is-path-inside";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz";
-        sha512 = "Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==";
-      };
-    };
-    "is-plain-obj-1.1.0" = {
-      name = "is-plain-obj";
-      packageName = "is-plain-obj";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz";
-        sha512 = "yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==";
-      };
-    };
-    "is-regex-1.1.4" = {
-      name = "is-regex";
-      packageName = "is-regex";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz";
-        sha512 = "kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==";
-      };
-    };
-    "is-regexp-1.0.0" = {
-      name = "is-regexp";
-      packageName = "is-regexp";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz";
-        sha512 = "7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==";
-      };
-    };
-    "is-shared-array-buffer-1.0.2" = {
-      name = "is-shared-array-buffer";
-      packageName = "is-shared-array-buffer";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz";
-        sha512 = "sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==";
-      };
-    };
-    "is-stream-2.0.1" = {
-      name = "is-stream";
-      packageName = "is-stream";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz";
-        sha512 = "hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==";
-      };
-    };
-    "is-string-1.0.7" = {
-      name = "is-string";
-      packageName = "is-string";
-      version = "1.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz";
-        sha512 = "tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==";
-      };
-    };
-    "is-symbol-1.0.4" = {
-      name = "is-symbol";
-      packageName = "is-symbol";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz";
-        sha512 = "C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==";
-      };
-    };
-    "is-typed-array-1.1.9" = {
-      name = "is-typed-array";
-      packageName = "is-typed-array";
-      version = "1.1.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.9.tgz";
-        sha512 = "kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A==";
-      };
-    };
-    "is-typedarray-1.0.0" = {
-      name = "is-typedarray";
-      packageName = "is-typedarray";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz";
-        sha512 = "cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==";
-      };
-    };
-    "is-weakref-1.0.2" = {
-      name = "is-weakref";
-      packageName = "is-weakref";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz";
-        sha512 = "qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==";
-      };
-    };
-    "is-wsl-2.2.0" = {
-      name = "is-wsl";
-      packageName = "is-wsl";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz";
-        sha512 = "fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==";
-      };
-    };
-    "is-yarn-global-0.3.0" = {
-      name = "is-yarn-global";
-      packageName = "is-yarn-global";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz";
-        sha512 = "VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==";
-      };
-    };
-    "isarray-1.0.0" = {
-      name = "isarray";
-      packageName = "isarray";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz";
-        sha512 = "VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==";
-      };
-    };
-    "isbinaryfile-3.0.3" = {
-      name = "isbinaryfile";
-      packageName = "isbinaryfile";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz";
-        sha512 = "8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==";
-      };
-    };
-    "isexe-2.0.0" = {
-      name = "isexe";
-      packageName = "isexe";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz";
-        sha512 = "RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==";
-      };
-    };
-    "isstream-0.1.2" = {
-      name = "isstream";
-      packageName = "isstream";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz";
-        sha512 = "Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==";
-      };
-    };
-    "js-base64-2.6.4" = {
-      name = "js-base64";
-      packageName = "js-base64";
-      version = "2.6.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz";
-        sha512 = "pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==";
-      };
-    };
-    "js-tokens-4.0.0" = {
-      name = "js-tokens";
-      packageName = "js-tokens";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz";
-        sha512 = "RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==";
-      };
-    };
-    "js-yaml-4.1.0" = {
-      name = "js-yaml";
-      packageName = "js-yaml";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz";
-        sha512 = "wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==";
-      };
-    };
-    "jsbn-0.1.1" = {
-      name = "jsbn";
-      packageName = "jsbn";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz";
-        sha512 = "UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==";
-      };
-    };
-    "jsesc-0.5.0" = {
-      name = "jsesc";
-      packageName = "jsesc";
-      version = "0.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz";
-        sha512 = "uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==";
-      };
-    };
-    "jsesc-2.5.2" = {
-      name = "jsesc";
-      packageName = "jsesc";
-      version = "2.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz";
-        sha512 = "OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==";
-      };
-    };
-    "json-buffer-3.0.0" = {
-      name = "json-buffer";
-      packageName = "json-buffer";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz";
-        sha512 = "CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==";
-      };
-    };
-    "json-parse-even-better-errors-2.3.1" = {
-      name = "json-parse-even-better-errors";
-      packageName = "json-parse-even-better-errors";
-      version = "2.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz";
-        sha512 = "xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==";
-      };
-    };
-    "json-schema-0.4.0" = {
-      name = "json-schema";
-      packageName = "json-schema";
-      version = "0.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz";
-        sha512 = "es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==";
-      };
-    };
-    "json-schema-traverse-0.4.1" = {
-      name = "json-schema-traverse";
-      packageName = "json-schema-traverse";
-      version = "0.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz";
-        sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==";
-      };
-    };
-    "json-stable-stringify-without-jsonify-1.0.1" = {
-      name = "json-stable-stringify-without-jsonify";
-      packageName = "json-stable-stringify-without-jsonify";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz";
-        sha512 = "Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==";
-      };
-    };
-    "json-stringify-safe-5.0.1" = {
-      name = "json-stringify-safe";
-      packageName = "json-stringify-safe";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
-        sha512 = "ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==";
-      };
-    };
-    "json5-2.2.1" = {
-      name = "json5";
-      packageName = "json5";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz";
-        sha512 = "1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==";
-      };
-    };
-    "jsondiffpatch-0.4.1" = {
-      name = "jsondiffpatch";
-      packageName = "jsondiffpatch";
-      version = "0.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsondiffpatch/-/jsondiffpatch-0.4.1.tgz";
-        sha512 = "t0etAxTUk1w5MYdNOkZBZ8rvYYN5iL+2dHCCx/DpkFm/bW28M6y5nUS83D4XdZiHy35Fpaw6LBb+F88fHZnVCw==";
-      };
-    };
-    "jsonfile-4.0.0" = {
-      name = "jsonfile";
-      packageName = "jsonfile";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz";
-        sha512 = "m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==";
-      };
-    };
-    "jsonfile-6.1.0" = {
-      name = "jsonfile";
-      packageName = "jsonfile";
-      version = "6.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz";
-        sha512 = "5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==";
-      };
-    };
-    "jsonparse-1.3.1" = {
-      name = "jsonparse";
-      packageName = "jsonparse";
-      version = "1.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz";
-        sha512 = "POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==";
-      };
-    };
-    "jsprim-1.4.2" = {
-      name = "jsprim";
-      packageName = "jsprim";
-      version = "1.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz";
-        sha512 = "P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==";
-      };
-    };
-    "junk-3.1.0" = {
-      name = "junk";
-      packageName = "junk";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz";
-        sha512 = "pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==";
-      };
-    };
-    "keyboardevent-from-electron-accelerator-2.0.0" = {
-      name = "keyboardevent-from-electron-accelerator";
-      packageName = "keyboardevent-from-electron-accelerator";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/keyboardevent-from-electron-accelerator/-/keyboardevent-from-electron-accelerator-2.0.0.tgz";
-        sha512 = "iQcmNA0M4ETMNi0kG/q0h/43wZk7rMeKYrXP7sqKIJbHkTU8Koowgzv+ieR/vWJbOwxx5nDC3UnudZ0aLSu4VA==";
-      };
-    };
-    "keyboardevents-areequal-0.2.2" = {
-      name = "keyboardevents-areequal";
-      packageName = "keyboardevents-areequal";
-      version = "0.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/keyboardevents-areequal/-/keyboardevents-areequal-0.2.2.tgz";
-        sha512 = "Nv+Kr33T0mEjxR500q+I6IWisOQ0lK1GGOncV0kWE6n4KFmpcu7RUX5/2B0EUtX51Cb0HjZ9VJsSY3u4cBa0kw==";
-      };
-    };
-    "keyboardjs-2.6.4" = {
-      name = "keyboardjs";
-      packageName = "keyboardjs";
-      version = "2.6.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/keyboardjs/-/keyboardjs-2.6.4.tgz";
-        sha512 = "xDiNwiwH3KUqap++RFJiLAXzbvRB5Yw08xliuceOgLhM1o7g1puKKR9vWy6wp9H/Bi4VP0+SQMpiWXMWWmR6rA==";
-      };
-    };
-    "keyv-3.1.0" = {
-      name = "keyv";
-      packageName = "keyv";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz";
-        sha512 = "9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==";
-      };
-    };
-    "kind-of-6.0.3" = {
-      name = "kind-of";
-      packageName = "kind-of";
-      version = "6.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz";
-        sha512 = "dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==";
-      };
-    };
-    "labeled-stream-splicer-2.0.2" = {
-      name = "labeled-stream-splicer";
-      packageName = "labeled-stream-splicer";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz";
-        sha512 = "Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==";
-      };
-    };
-    "latest-version-5.1.0" = {
-      name = "latest-version";
-      packageName = "latest-version";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz";
-        sha512 = "weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==";
-      };
-    };
-    "levn-0.4.1" = {
-      name = "levn";
-      packageName = "levn";
-      version = "0.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz";
-        sha512 = "+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==";
-      };
-    };
-    "licensify-3.1.3" = {
-      name = "licensify";
-      packageName = "licensify";
-      version = "3.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/licensify/-/licensify-3.1.3.tgz";
-        sha512 = "3sEEBR0Cxq8yeSrV1KGZwpjm4KJKp8Cx/WHZxBnG/YX319ZTvxGtL+NCF+A9pcXwh8KwKB4BmVrc6eRrfk/Raw==";
-      };
-    };
-    "lines-and-columns-1.2.4" = {
-      name = "lines-and-columns";
-      packageName = "lines-and-columns";
-      version = "1.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz";
-        sha512 = "7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==";
-      };
-    };
-    "load-json-file-2.0.0" = {
-      name = "load-json-file";
-      packageName = "load-json-file";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz";
-        sha512 = "3p6ZOGNbiX4CdvEd1VcE6yi78UrGNpjHO33noGwHCnT/o2fyllJDepsm8+mFFv/DvtwFHht5HIHSyOy5a+ChVQ==";
-      };
-    };
-    "locate-path-2.0.0" = {
-      name = "locate-path";
-      packageName = "locate-path";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz";
-        sha512 = "NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==";
-      };
-    };
-    "locate-path-5.0.0" = {
-      name = "locate-path";
-      packageName = "locate-path";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz";
-        sha512 = "t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==";
-      };
-    };
-    "lodash-4.17.21" = {
-      name = "lodash";
-      packageName = "lodash";
-      version = "4.17.21";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz";
-        sha512 = "v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==";
-      };
-    };
-    "lodash.debounce-4.0.8" = {
-      name = "lodash.debounce";
-      packageName = "lodash.debounce";
-      version = "4.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz";
-        sha512 = "FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==";
-      };
-    };
-    "lodash.get-4.4.2" = {
-      name = "lodash.get";
-      packageName = "lodash.get";
-      version = "4.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz";
-        sha512 = "z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==";
-      };
-    };
-    "lodash.memoize-3.0.4" = {
-      name = "lodash.memoize";
-      packageName = "lodash.memoize";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz";
-        sha512 = "eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==";
-      };
-    };
-    "lodash.merge-4.6.2" = {
-      name = "lodash.merge";
-      packageName = "lodash.merge";
-      version = "4.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz";
-        sha512 = "0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==";
-      };
-    };
-    "long-4.0.0" = {
-      name = "long";
-      packageName = "long";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/long/-/long-4.0.0.tgz";
-        sha512 = "XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==";
-      };
-    };
-    "loop-protect-git+https://github.com/jean-emmanuel/loop-protect#v1.0.1" = {
-      name = "loop-protect";
-      packageName = "loop-protect";
-      version = "1.0.1";
-      src = fetchgit {
-        url = "https://github.com/jean-emmanuel/loop-protect";
-        rev = "557a6d124e2bcd0463f26c0a61d035f4840a6dec";
-        sha256 = "ffb6bd78172fc7e52cf94e10467c467210bec9ee27c7ba8536b51044e5ae4b5f";
-      };
-    };
-    "lower-case-1.1.4" = {
-      name = "lower-case";
-      packageName = "lower-case";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz";
-        sha512 = "2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==";
-      };
-    };
-    "lowercase-keys-1.0.1" = {
-      name = "lowercase-keys";
-      packageName = "lowercase-keys";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz";
-        sha512 = "G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==";
-      };
-    };
-    "lowercase-keys-2.0.0" = {
-      name = "lowercase-keys";
-      packageName = "lowercase-keys";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz";
-        sha512 = "tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==";
-      };
-    };
-    "lru-cache-6.0.0" = {
-      name = "lru-cache";
-      packageName = "lru-cache";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz";
-        sha512 = "Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==";
-      };
-    };
-    "magic-string-0.23.2" = {
-      name = "magic-string";
-      packageName = "magic-string";
-      version = "0.23.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/magic-string/-/magic-string-0.23.2.tgz";
-        sha512 = "oIUZaAxbcxYIp4AyLafV6OVKoB3YouZs0UTCJ8mOKBHNyJgGDaMJ4TgA+VylJh6fx7EQCC52XkbURxxG9IoJXA==";
-      };
-    };
-    "make-dir-3.1.0" = {
-      name = "make-dir";
-      packageName = "make-dir";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz";
-        sha512 = "g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==";
-      };
-    };
-    "make-fetch-happen-9.1.0" = {
-      name = "make-fetch-happen";
-      packageName = "make-fetch-happen";
-      version = "9.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz";
-        sha512 = "+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==";
-      };
-    };
-    "map-obj-1.0.1" = {
-      name = "map-obj";
-      packageName = "map-obj";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz";
-        sha512 = "7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==";
-      };
-    };
-    "map-obj-4.3.0" = {
-      name = "map-obj";
-      packageName = "map-obj";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz";
-        sha512 = "hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==";
-      };
-    };
-    "matcher-3.0.0" = {
-      name = "matcher";
-      packageName = "matcher";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz";
-        sha512 = "OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==";
-      };
-    };
-    "md5.js-1.3.5" = {
-      name = "md5.js";
-      packageName = "md5.js";
-      version = "1.3.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz";
-        sha512 = "xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==";
-      };
-    };
-    "meow-9.0.0" = {
-      name = "meow";
-      packageName = "meow";
-      version = "9.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz";
-        sha512 = "+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==";
-      };
-    };
-    "merge-source-map-1.0.4" = {
-      name = "merge-source-map";
-      packageName = "merge-source-map";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz";
-        sha512 = "PGSmS0kfnTnMJCzJ16BLLCEe6oeYCamKFFdQKshi4BmM6FUwipjVOcBFGxqtQtirtAG4iZvHlqST9CpZKqlRjA==";
-      };
-    };
-    "miller-rabin-4.0.1" = {
-      name = "miller-rabin";
-      packageName = "miller-rabin";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz";
-        sha512 = "115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==";
-      };
-    };
-    "mime-1.6.0" = {
-      name = "mime";
-      packageName = "mime";
-      version = "1.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz";
-        sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==";
-      };
-    };
-    "mime-db-1.52.0" = {
-      name = "mime-db";
-      packageName = "mime-db";
-      version = "1.52.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz";
-        sha512 = "sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==";
-      };
-    };
-    "mime-types-2.1.35" = {
-      name = "mime-types";
-      packageName = "mime-types";
-      version = "2.1.35";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz";
-        sha512 = "ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==";
-      };
-    };
-    "mimic-response-1.0.1" = {
-      name = "mimic-response";
-      packageName = "mimic-response";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz";
-        sha512 = "j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==";
-      };
-    };
-    "min-indent-1.0.1" = {
-      name = "min-indent";
-      packageName = "min-indent";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz";
-        sha512 = "I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==";
-      };
-    };
-    "minimalistic-assert-1.0.1" = {
-      name = "minimalistic-assert";
-      packageName = "minimalistic-assert";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz";
-        sha512 = "UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==";
-      };
-    };
-    "minimalistic-crypto-utils-1.0.1" = {
-      name = "minimalistic-crypto-utils";
-      packageName = "minimalistic-crypto-utils";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz";
-        sha512 = "JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==";
-      };
-    };
-    "minimatch-3.0.8" = {
-      name = "minimatch";
-      packageName = "minimatch";
-      version = "3.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz";
-        sha512 = "6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==";
-      };
-    };
-    "minimatch-3.1.2" = {
-      name = "minimatch";
-      packageName = "minimatch";
-      version = "3.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz";
-        sha512 = "J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==";
-      };
-    };
-    "minimatch-5.1.0" = {
-      name = "minimatch";
-      packageName = "minimatch";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz";
-        sha512 = "9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==";
-      };
-    };
-    "minimist-1.2.7" = {
-      name = "minimist";
-      packageName = "minimist";
-      version = "1.2.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz";
-        sha512 = "bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==";
-      };
-    };
-    "minimist-options-4.1.0" = {
-      name = "minimist-options";
-      packageName = "minimist-options";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz";
-        sha512 = "Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==";
-      };
-    };
-    "minipass-3.3.5" = {
-      name = "minipass";
-      packageName = "minipass";
-      version = "3.3.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minipass/-/minipass-3.3.5.tgz";
-        sha512 = "rQ/p+KfKBkeNwo04U15i+hOwoVBVmekmm/HcfTkTN2t9pbQKCMm4eN5gFeqgrrSp/kH/7BYYhTIHOxGqzbBPaA==";
-      };
-    };
-    "minipass-collect-1.0.2" = {
-      name = "minipass-collect";
-      packageName = "minipass-collect";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz";
-        sha512 = "6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==";
-      };
-    };
-    "minipass-fetch-1.4.1" = {
-      name = "minipass-fetch";
-      packageName = "minipass-fetch";
-      version = "1.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz";
-        sha512 = "CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==";
-      };
-    };
-    "minipass-flush-1.0.5" = {
-      name = "minipass-flush";
-      packageName = "minipass-flush";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz";
-        sha512 = "JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==";
-      };
-    };
-    "minipass-pipeline-1.2.4" = {
-      name = "minipass-pipeline";
-      packageName = "minipass-pipeline";
-      version = "1.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz";
-        sha512 = "xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==";
-      };
-    };
-    "minipass-sized-1.0.3" = {
-      name = "minipass-sized";
-      packageName = "minipass-sized";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz";
-        sha512 = "MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==";
-      };
-    };
-    "minizlib-2.1.2" = {
-      name = "minizlib";
-      packageName = "minizlib";
-      version = "2.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz";
-        sha512 = "bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==";
-      };
-    };
-    "mkdirp-0.5.6" = {
-      name = "mkdirp";
-      packageName = "mkdirp";
-      version = "0.5.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz";
-        sha512 = "FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==";
-      };
-    };
-    "mkdirp-1.0.4" = {
-      name = "mkdirp";
-      packageName = "mkdirp";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz";
-        sha512 = "vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==";
-      };
-    };
-    "mkdirp-classic-0.5.3" = {
-      name = "mkdirp-classic";
-      packageName = "mkdirp-classic";
-      version = "0.5.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz";
-        sha512 = "gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==";
-      };
-    };
-    "module-deps-6.2.3" = {
-      name = "module-deps";
-      packageName = "module-deps";
-      version = "6.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz";
-        sha512 = "fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==";
-      };
-    };
-    "mold-source-map-0.4.0" = {
-      name = "mold-source-map";
-      packageName = "mold-source-map";
-      version = "0.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mold-source-map/-/mold-source-map-0.4.0.tgz";
-        sha512 = "Y0uA/sDKVuPgLd7BmaJOai+fqzjrOlR6vZgx5cJIvturI/xOPQPgbf3X7ZbzJd6MvqQ6ucIfK8dSteFyc2Mw2w==";
-      };
-    };
-    "ms-2.0.0" = {
-      name = "ms";
-      packageName = "ms";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz";
-        sha512 = "Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==";
-      };
-    };
-    "ms-2.1.2" = {
-      name = "ms";
-      packageName = "ms";
-      version = "2.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz";
-        sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==";
-      };
-    };
-    "ms-2.1.3" = {
-      name = "ms";
-      packageName = "ms";
-      version = "2.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz";
-        sha512 = "6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==";
-      };
-    };
-    "multicast-dns-git+https://github.com/jean-emmanuel/multicast-dns" = {
-      name = "multicast-dns";
-      packageName = "multicast-dns";
-      version = "7.2.1";
-      src = fetchgit {
-        url = "https://github.com/jean-emmanuel/multicast-dns";
-        rev = "1bb9f6ba892eba88f2cb12ca96a1c1b3088413c0";
-        sha256 = "7c185bd09a5b28765c4dffabc82768249554ed98a8836c52264b4ba2195fcd44";
-      };
-    };
-    "multicast-dns-service-types-1.1.0" = {
-      name = "multicast-dns-service-types";
-      packageName = "multicast-dns-service-types";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz";
-        sha512 = "cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==";
-      };
-    };
-    "mutexify-1.4.0" = {
-      name = "mutexify";
-      packageName = "mutexify";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mutexify/-/mutexify-1.4.0.tgz";
-        sha512 = "pbYSsOrSB/AKN5h/WzzLRMFgZhClWccf2XIB4RSMC8JbquiB0e0/SH5AIfdQMdyHmYtv4seU7yV/TvAwPLJ1Yg==";
-      };
-    };
-    "nan-2.17.0" = {
-      name = "nan";
-      packageName = "nan";
-      version = "2.17.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz";
-        sha512 = "2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==";
-      };
-    };
-    "nanoassert-1.1.0" = {
-      name = "nanoassert";
-      packageName = "nanoassert";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nanoassert/-/nanoassert-1.1.0.tgz";
-        sha512 = "C40jQ3NzfkP53NsO8kEOFd79p4b9kDXQMwgiY1z8ZwrDZgUyom0AHwGegF4Dm99L+YoYhuaB0ceerUcXmqr1rQ==";
-      };
-    };
-    "nanobench-2.1.1" = {
-      name = "nanobench";
-      packageName = "nanobench";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nanobench/-/nanobench-2.1.1.tgz";
-        sha512 = "z+Vv7zElcjN+OpzAxAquUayFLGK3JI/ubCl0Oh64YQqsTGG09CGqieJVQw4ui8huDnnAgrvTv93qi5UaOoNj8A==";
-      };
-    };
-    "nanohtml-1.10.0" = {
-      name = "nanohtml";
-      packageName = "nanohtml";
-      version = "1.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nanohtml/-/nanohtml-1.10.0.tgz";
-        sha512 = "r/3AQl+jxAxUIJRiKExUjBtFcE1cm4yTOsTIdVqqlxPNtBxJh522ANrcQYzdNHhPzbPgb7j6qujq6eGehBX0kg==";
-      };
-    };
-    "nanoid-3.3.4" = {
-      name = "nanoid";
-      packageName = "nanoid";
-      version = "3.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz";
-        sha512 = "MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==";
-      };
-    };
-    "nanomorph-5.4.3" = {
-      name = "nanomorph";
-      packageName = "nanomorph";
-      version = "5.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nanomorph/-/nanomorph-5.4.3.tgz";
-        sha512 = "uPP5y0x21KISffZCKHh1A0QW0RHZFQS0BR7LetlHBlay6UWAbjwhjiJTxOO6JeMHko5Cigl617zFoGrYFJ8ZLg==";
-      };
-    };
-    "natural-compare-1.4.0" = {
-      name = "natural-compare";
-      packageName = "natural-compare";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz";
-        sha512 = "OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==";
-      };
-    };
-    "negotiator-0.6.3" = {
-      name = "negotiator";
-      packageName = "negotiator";
-      version = "0.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz";
-        sha512 = "+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==";
-      };
-    };
-    "no-case-2.3.2" = {
-      name = "no-case";
-      packageName = "no-case";
-      version = "2.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz";
-        sha512 = "rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==";
-      };
-    };
-    "node-forge-1.3.1" = {
-      name = "node-forge";
-      packageName = "node-forge";
-      version = "1.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz";
-        sha512 = "dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==";
-      };
-    };
-    "node-gyp-8.4.1" = {
-      name = "node-gyp";
-      packageName = "node-gyp";
-      version = "8.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz";
-        sha512 = "olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==";
-      };
-    };
-    "node-gyp-build-4.5.0" = {
-      name = "node-gyp-build";
-      packageName = "node-gyp-build";
-      version = "4.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz";
-        sha512 = "2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==";
-      };
-    };
-    "node-mouse-0.0.2" = {
-      name = "node-mouse";
-      packageName = "node-mouse";
-      version = "0.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-mouse/-/node-mouse-0.0.2.tgz";
-        sha512 = "qqm+c/uKB1ceGMrKW+mxAxPKFTu0HD1DWoCElJHA0VQDloudzZD4bI++Z18mSDA3n5lix+RTXiOiu3XAOSYVHA==";
-      };
-    };
-    "node-releases-2.0.6" = {
-      name = "node-releases";
-      packageName = "node-releases";
-      version = "2.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz";
-        sha512 = "PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==";
-      };
-    };
-    "node-sass-7.0.1" = {
-      name = "node-sass";
-      packageName = "node-sass";
-      version = "7.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-sass/-/node-sass-7.0.1.tgz";
-        sha512 = "uMy+Xt29NlqKCFdFRZyXKOTqGt+QaKHexv9STj2WeLottnlqZEEWx6Bj0MXNthmFRRdM/YwyNo/8Tr46TOM0jQ==";
-      };
-    };
-    "nodemon-2.0.16" = {
-      name = "nodemon";
-      packageName = "nodemon";
-      version = "2.0.16";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nodemon/-/nodemon-2.0.16.tgz";
-        sha512 = "zsrcaOfTWRuUzBn3P44RDliLlp263Z/76FPoHFr3cFFkOz0lTPAcIw8dCzfdVIx/t3AtDYCZRCDkoCojJqaG3w==";
-      };
-    };
-    "nopt-1.0.10" = {
-      name = "nopt";
-      packageName = "nopt";
-      version = "1.0.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz";
-        sha512 = "NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==";
-      };
-    };
-    "nopt-5.0.0" = {
-      name = "nopt";
-      packageName = "nopt";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz";
-        sha512 = "Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==";
-      };
-    };
-    "normalize-html-whitespace-0.2.0" = {
-      name = "normalize-html-whitespace";
-      packageName = "normalize-html-whitespace";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-html-whitespace/-/normalize-html-whitespace-0.2.0.tgz";
-        sha512 = "5CZAEQ4bQi8Msqw0GAT6rrkrjNN4ZKqAG3+jJMwms4O6XoMvh6ekwOueG4mRS1LbPUR1r9EdnhxxfpzMTOdzKw==";
-      };
-    };
-    "normalize-package-data-2.5.0" = {
-      name = "normalize-package-data";
-      packageName = "normalize-package-data";
-      version = "2.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz";
-        sha512 = "/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==";
-      };
-    };
-    "normalize-package-data-3.0.3" = {
-      name = "normalize-package-data";
-      packageName = "normalize-package-data";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz";
-        sha512 = "p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==";
-      };
-    };
-    "normalize-path-3.0.0" = {
-      name = "normalize-path";
-      packageName = "normalize-path";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz";
-        sha512 = "6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==";
-      };
-    };
-    "normalize-url-4.5.1" = {
-      name = "normalize-url";
-      packageName = "normalize-url";
-      version = "4.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz";
-        sha512 = "9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==";
-      };
-    };
-    "nosleep.js-0.12.0" = {
-      name = "nosleep.js";
-      packageName = "nosleep.js";
-      version = "0.12.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nosleep.js/-/nosleep.js-0.12.0.tgz";
-        sha512 = "9d1HbpKLh3sdWlhXMhU6MMH+wQzKkrgfRkYV0EBdvt99YJfj0ilCJrWRDYG2130Tm4GXbEoTCx5b34JSaP+HhA==";
-      };
-    };
-    "npm-conf-1.1.3" = {
-      name = "npm-conf";
-      packageName = "npm-conf";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz";
-        sha512 = "Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==";
-      };
-    };
-    "npmlog-5.0.1" = {
-      name = "npmlog";
-      packageName = "npmlog";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz";
-        sha512 = "AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==";
-      };
-    };
-    "npmlog-6.0.2" = {
-      name = "npmlog";
-      packageName = "npmlog";
-      version = "6.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz";
-        sha512 = "/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==";
-      };
-    };
-    "oauth-sign-0.9.0" = {
-      name = "oauth-sign";
-      packageName = "oauth-sign";
-      version = "0.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz";
-        sha512 = "fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==";
-      };
-    };
-    "object-assign-4.1.1" = {
-      name = "object-assign";
-      packageName = "object-assign";
-      version = "4.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz";
-        sha512 = "rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==";
-      };
-    };
-    "object-inspect-1.12.2" = {
-      name = "object-inspect";
-      packageName = "object-inspect";
-      version = "1.12.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz";
-        sha512 = "z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==";
-      };
-    };
-    "object-is-1.1.5" = {
-      name = "object-is";
-      packageName = "object-is";
-      version = "1.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz";
-        sha512 = "3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==";
-      };
-    };
-    "object-keys-1.1.1" = {
-      name = "object-keys";
-      packageName = "object-keys";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz";
-        sha512 = "NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==";
-      };
-    };
-    "object.assign-4.1.4" = {
-      name = "object.assign";
-      packageName = "object.assign";
-      version = "4.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz";
-        sha512 = "1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==";
-      };
-    };
-    "offset-sourcemap-lines-1.0.1" = {
-      name = "offset-sourcemap-lines";
-      packageName = "offset-sourcemap-lines";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/offset-sourcemap-lines/-/offset-sourcemap-lines-1.0.1.tgz";
-        sha512 = "8giJa0GProV9hPLOp9qAobkvi6OiZnzeM6fdubVjhqcrISX8FYMk1jMVzG6R9d7HQWLysG22jyXEIF6sWu4fJw==";
-      };
-    };
-    "on-finished-2.4.1" = {
-      name = "on-finished";
-      packageName = "on-finished";
-      version = "2.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz";
-        sha512 = "oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==";
-      };
-    };
-    "once-1.4.0" = {
-      name = "once";
-      packageName = "once";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/once/-/once-1.4.0.tgz";
-        sha512 = "lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==";
-      };
-    };
-    "open-8.4.0" = {
-      name = "open";
-      packageName = "open";
-      version = "8.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/open/-/open-8.4.0.tgz";
-        sha512 = "XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==";
-      };
-    };
-    "optionator-0.9.1" = {
-      name = "optionator";
-      packageName = "optionator";
-      version = "0.9.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz";
-        sha512 = "74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==";
-      };
-    };
-    "os-browserify-0.3.0" = {
-      name = "os-browserify";
-      packageName = "os-browserify";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz";
-        sha512 = "gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==";
-      };
-    };
-    "osc-git+https://github.com/jean-emmanuel/osc.js" = {
-      name = "osc";
-      packageName = "osc";
-      version = "2.4.2";
-      src = fetchgit {
-        url = "https://github.com/jean-emmanuel/osc.js";
-        rev = "9197739162f26086e6a72670103c3fa036e9dcd5";
-        sha256 = "ce01cbf6a7c5e47594a7587fa8a3aabcc4a7c53d6f26fcabe20edf5a060e7728";
-      };
-    };
-    "osi-licenses-0.1.1" = {
-      name = "osi-licenses";
-      packageName = "osi-licenses";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/osi-licenses/-/osi-licenses-0.1.1.tgz";
-        sha512 = "ZGAGO6dIxTS/mXxEJCpIdYetAoxIOOr7uYpMOoDWo4+b/6rf+2GagOjTbegL+eoMI8aYAiyNgKWUT7vWJRPl9A==";
-      };
-    };
-    "oss-license-name-to-url-1.2.1" = {
-      name = "oss-license-name-to-url";
-      packageName = "oss-license-name-to-url";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/oss-license-name-to-url/-/oss-license-name-to-url-1.2.1.tgz";
-        sha512 = "apFbKq0EAYi70q0pOpS0tDfSviZYdG3KM6U1GpofZPsRMwgDga0DQiPQ/GHyQx7PDDrLCGvFBNPLMLV/K4Jr4Q==";
-      };
-    };
-    "p-cancelable-1.1.0" = {
-      name = "p-cancelable";
-      packageName = "p-cancelable";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz";
-        sha512 = "s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==";
-      };
-    };
-    "p-limit-1.3.0" = {
-      name = "p-limit";
-      packageName = "p-limit";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz";
-        sha512 = "vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==";
-      };
-    };
-    "p-limit-2.3.0" = {
-      name = "p-limit";
-      packageName = "p-limit";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz";
-        sha512 = "//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==";
-      };
-    };
-    "p-locate-2.0.0" = {
-      name = "p-locate";
-      packageName = "p-locate";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz";
-        sha512 = "nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==";
-      };
-    };
-    "p-locate-4.1.0" = {
-      name = "p-locate";
-      packageName = "p-locate";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz";
-        sha512 = "R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==";
-      };
-    };
-    "p-map-4.0.0" = {
-      name = "p-map";
-      packageName = "p-map";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz";
-        sha512 = "/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==";
-      };
-    };
-    "p-try-1.0.0" = {
-      name = "p-try";
-      packageName = "p-try";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz";
-        sha512 = "U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==";
-      };
-    };
-    "p-try-2.2.0" = {
-      name = "p-try";
-      packageName = "p-try";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz";
-        sha512 = "R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==";
-      };
-    };
-    "package-json-6.5.0" = {
-      name = "package-json";
-      packageName = "package-json";
-      version = "6.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz";
-        sha512 = "k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==";
-      };
-    };
-    "pako-1.0.11" = {
-      name = "pako";
-      packageName = "pako";
-      version = "1.0.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz";
-        sha512 = "4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==";
-      };
-    };
-    "parent-module-1.0.1" = {
-      name = "parent-module";
-      packageName = "parent-module";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz";
-        sha512 = "GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==";
-      };
-    };
-    "parents-1.0.1" = {
-      name = "parents";
-      packageName = "parents";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz";
-        sha512 = "mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==";
-      };
-    };
-    "parse-asn1-5.1.6" = {
-      name = "parse-asn1";
-      packageName = "parse-asn1";
-      version = "5.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz";
-        sha512 = "RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==";
-      };
-    };
-    "parse-author-2.0.0" = {
-      name = "parse-author";
-      packageName = "parse-author";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse-author/-/parse-author-2.0.0.tgz";
-        sha512 = "yx5DfvkN8JsHL2xk2Os9oTia467qnvRgey4ahSm2X8epehBLx/gWLcy5KI+Y36ful5DzGbCS6RazqZGgy1gHNw==";
-      };
-    };
-    "parse-json-2.2.0" = {
-      name = "parse-json";
-      packageName = "parse-json";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz";
-        sha512 = "QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==";
-      };
-    };
-    "parse-json-5.2.0" = {
-      name = "parse-json";
-      packageName = "parse-json";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz";
-        sha512 = "ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==";
-      };
-    };
-    "parse-srcset-1.0.2" = {
-      name = "parse-srcset";
-      packageName = "parse-srcset";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz";
-        sha512 = "/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q==";
-      };
-    };
-    "path-browserify-1.0.1" = {
-      name = "path-browserify";
-      packageName = "path-browserify";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz";
-        sha512 = "b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==";
-      };
-    };
-    "path-exists-3.0.0" = {
-      name = "path-exists";
-      packageName = "path-exists";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz";
-        sha512 = "bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==";
-      };
-    };
-    "path-exists-4.0.0" = {
-      name = "path-exists";
-      packageName = "path-exists";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz";
-        sha512 = "ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==";
-      };
-    };
-    "path-is-absolute-1.0.1" = {
-      name = "path-is-absolute";
-      packageName = "path-is-absolute";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
-        sha512 = "AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==";
-      };
-    };
-    "path-key-3.1.1" = {
-      name = "path-key";
-      packageName = "path-key";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz";
-        sha512 = "ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==";
-      };
-    };
-    "path-parse-1.0.7" = {
-      name = "path-parse";
-      packageName = "path-parse";
-      version = "1.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz";
-        sha512 = "LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==";
-      };
-    };
-    "path-platform-0.11.15" = {
-      name = "path-platform";
-      packageName = "path-platform";
-      version = "0.11.15";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz";
-        sha512 = "Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==";
-      };
-    };
-    "path-type-2.0.0" = {
-      name = "path-type";
-      packageName = "path-type";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz";
-        sha512 = "dUnb5dXUf+kzhC/W/F4e5/SkluXIFf5VUHolW1Eg1irn1hGWjPGdsRcvYJ1nD6lhk8Ir7VM0bHJKsYTx8Jx9OQ==";
-      };
-    };
-    "pbkdf2-3.1.2" = {
-      name = "pbkdf2";
-      packageName = "pbkdf2";
-      version = "3.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz";
-        sha512 = "iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==";
-      };
-    };
-    "pend-1.2.0" = {
-      name = "pend";
-      packageName = "pend";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz";
-        sha512 = "F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==";
-      };
-    };
-    "performance-now-2.1.0" = {
-      name = "performance-now";
-      packageName = "performance-now";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz";
-        sha512 = "7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==";
-      };
-    };
-    "picocolors-0.2.1" = {
-      name = "picocolors";
-      packageName = "picocolors";
-      version = "0.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz";
-        sha512 = "cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==";
-      };
-    };
-    "picocolors-1.0.0" = {
-      name = "picocolors";
-      packageName = "picocolors";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz";
-        sha512 = "1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==";
-      };
-    };
-    "picomatch-2.3.1" = {
-      name = "picomatch";
-      packageName = "picomatch";
-      version = "2.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz";
-        sha512 = "JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==";
-      };
-    };
-    "pify-2.3.0" = {
-      name = "pify";
-      packageName = "pify";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz";
-        sha512 = "udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==";
-      };
-    };
-    "pify-3.0.0" = {
-      name = "pify";
-      packageName = "pify";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz";
-        sha512 = "C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==";
-      };
-    };
-    "plist-3.0.6" = {
-      name = "plist";
-      packageName = "plist";
-      version = "3.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/plist/-/plist-3.0.6.tgz";
-        sha512 = "WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA==";
-      };
-    };
-    "postcss-7.0.39" = {
-      name = "postcss";
-      packageName = "postcss";
-      version = "7.0.39";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz";
-        sha512 = "yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==";
-      };
-    };
-    "prelude-ls-1.2.1" = {
-      name = "prelude-ls";
-      packageName = "prelude-ls";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz";
-        sha512 = "vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==";
-      };
-    };
-    "prepend-http-2.0.0" = {
-      name = "prepend-http";
-      packageName = "prepend-http";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz";
-        sha512 = "ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==";
-      };
-    };
-    "pretty-hrtime-1.0.3" = {
-      name = "pretty-hrtime";
-      packageName = "pretty-hrtime";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz";
-        sha512 = "66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==";
-      };
-    };
-    "process-0.11.10" = {
-      name = "process";
-      packageName = "process";
-      version = "0.11.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/process/-/process-0.11.10.tgz";
-        sha512 = "cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==";
-      };
-    };
-    "process-nextick-args-2.0.1" = {
-      name = "process-nextick-args";
-      packageName = "process-nextick-args";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz";
-        sha512 = "3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==";
-      };
-    };
-    "progress-2.0.3" = {
-      name = "progress";
-      packageName = "progress";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz";
-        sha512 = "7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==";
-      };
-    };
-    "promise-inflight-1.0.1" = {
-      name = "promise-inflight";
-      packageName = "promise-inflight";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz";
-        sha512 = "6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==";
-      };
-    };
-    "promise-retry-2.0.1" = {
-      name = "promise-retry";
-      packageName = "promise-retry";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz";
-        sha512 = "y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==";
-      };
-    };
-    "proto-list-1.2.4" = {
-      name = "proto-list";
-      packageName = "proto-list";
-      version = "1.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz";
-        sha512 = "vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==";
-      };
-    };
-    "psl-1.9.0" = {
-      name = "psl";
-      packageName = "psl";
-      version = "1.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz";
-        sha512 = "E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==";
-      };
-    };
-    "pstree.remy-1.1.8" = {
-      name = "pstree.remy";
-      packageName = "pstree.remy";
-      version = "1.1.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz";
-        sha512 = "77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==";
-      };
-    };
-    "public-encrypt-4.0.3" = {
-      name = "public-encrypt";
-      packageName = "public-encrypt";
-      version = "4.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz";
-        sha512 = "zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==";
-      };
-    };
-    "pump-3.0.0" = {
-      name = "pump";
-      packageName = "pump";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz";
-        sha512 = "LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==";
-      };
-    };
-    "punycode-1.3.2" = {
-      name = "punycode";
-      packageName = "punycode";
-      version = "1.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz";
-        sha512 = "RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==";
-      };
-    };
-    "punycode-1.4.1" = {
-      name = "punycode";
-      packageName = "punycode";
-      version = "1.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz";
-        sha512 = "jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==";
-      };
-    };
-    "punycode-2.1.1" = {
-      name = "punycode";
-      packageName = "punycode";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz";
-        sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==";
-      };
-    };
-    "pupa-2.1.1" = {
-      name = "pupa";
-      packageName = "pupa";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz";
-        sha512 = "l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==";
-      };
-    };
-    "python-shell-3.0.1" = {
-      name = "python-shell";
-      packageName = "python-shell";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/python-shell/-/python-shell-3.0.1.tgz";
-        sha512 = "TWeotuxe1auhXa5bGRScxnc2J+0r41NBntSa6RYZtMBLtAEsvCboKrEbW6DvASosWQepVkhZZlT3B5Ei766G+Q==";
-      };
-    };
-    "qs-6.5.3" = {
-      name = "qs";
-      packageName = "qs";
-      version = "6.5.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz";
-        sha512 = "qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==";
-      };
-    };
-    "querystring-0.2.0" = {
-      name = "querystring";
-      packageName = "querystring";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz";
-        sha512 = "X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==";
-      };
-    };
-    "querystring-es3-0.2.1" = {
-      name = "querystring-es3";
-      packageName = "querystring-es3";
-      version = "0.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz";
-        sha512 = "773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==";
-      };
-    };
-    "queue-tick-1.0.1" = {
-      name = "queue-tick";
-      packageName = "queue-tick";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz";
-        sha512 = "kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==";
-      };
-    };
-    "quick-lru-4.0.1" = {
-      name = "quick-lru";
-      packageName = "quick-lru";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz";
-        sha512 = "ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==";
-      };
-    };
-    "randombytes-2.1.0" = {
-      name = "randombytes";
-      packageName = "randombytes";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz";
-        sha512 = "vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==";
-      };
-    };
-    "randomfill-1.0.4" = {
-      name = "randomfill";
-      packageName = "randomfill";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz";
-        sha512 = "87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==";
-      };
-    };
-    "range-parser-1.2.1" = {
-      name = "range-parser";
-      packageName = "range-parser";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz";
-        sha512 = "Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==";
-      };
-    };
-    "rc-1.2.8" = {
-      name = "rc";
-      packageName = "rc";
-      version = "1.2.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz";
-        sha512 = "y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==";
-      };
-    };
-    "rcedit-2.3.0" = {
-      name = "rcedit";
-      packageName = "rcedit";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rcedit/-/rcedit-2.3.0.tgz";
-        sha512 = "h1gNEl9Oai1oijwyJ1WYqYSXTStHnOcv1KYljg/8WM4NAg3H1KBK3azIaKkQ1WQl+d7PoJpcBMscPfLXVKgCLQ==";
-      };
-    };
-    "read-only-stream-2.0.0" = {
-      name = "read-only-stream";
-      packageName = "read-only-stream";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz";
-        sha512 = "3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==";
-      };
-    };
-    "read-pkg-2.0.0" = {
-      name = "read-pkg";
-      packageName = "read-pkg";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz";
-        sha512 = "eFIBOPW7FGjzBuk3hdXEuNSiTZS/xEMlH49HxMyzb0hyPfu4EhVjT2DH32K1hSSmVq4sebAWnZuuY5auISUTGA==";
-      };
-    };
-    "read-pkg-5.2.0" = {
-      name = "read-pkg";
-      packageName = "read-pkg";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz";
-        sha512 = "Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==";
-      };
-    };
-    "read-pkg-up-2.0.0" = {
-      name = "read-pkg-up";
-      packageName = "read-pkg-up";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz";
-        sha512 = "1orxQfbWGUiTn9XsPlChs6rLie/AV9jwZTGmu2NZw/CUDJQchXJFYE0Fq5j7+n558T1JhDWLdhyd1Zj+wLY//w==";
-      };
-    };
-    "read-pkg-up-7.0.1" = {
-      name = "read-pkg-up";
-      packageName = "read-pkg-up";
-      version = "7.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz";
-        sha512 = "zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==";
-      };
-    };
-    "readable-stream-2.3.7" = {
-      name = "readable-stream";
-      packageName = "readable-stream";
-      version = "2.3.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz";
-        sha512 = "Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==";
-      };
-    };
-    "readable-stream-3.6.0" = {
-      name = "readable-stream";
-      packageName = "readable-stream";
-      version = "3.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz";
-        sha512 = "BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==";
-      };
-    };
-    "readdirp-3.6.0" = {
-      name = "readdirp";
-      packageName = "readdirp";
-      version = "3.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz";
-        sha512 = "hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==";
-      };
-    };
-    "redent-3.0.0" = {
-      name = "redent";
-      packageName = "redent";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz";
-        sha512 = "6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==";
-      };
-    };
-    "regenerate-1.4.2" = {
-      name = "regenerate";
-      packageName = "regenerate";
-      version = "1.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz";
-        sha512 = "zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==";
-      };
-    };
-    "regenerate-unicode-properties-10.1.0" = {
-      name = "regenerate-unicode-properties";
-      packageName = "regenerate-unicode-properties";
-      version = "10.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz";
-        sha512 = "d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==";
-      };
-    };
-    "regenerator-runtime-0.13.10" = {
-      name = "regenerator-runtime";
-      packageName = "regenerator-runtime";
-      version = "0.13.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz";
-        sha512 = "KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==";
-      };
-    };
-    "regenerator-transform-0.15.0" = {
-      name = "regenerator-transform";
-      packageName = "regenerator-transform";
-      version = "0.15.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz";
-        sha512 = "LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==";
-      };
-    };
-    "regexp.prototype.flags-1.4.3" = {
-      name = "regexp.prototype.flags";
-      packageName = "regexp.prototype.flags";
-      version = "1.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz";
-        sha512 = "fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==";
-      };
-    };
-    "regexpp-3.2.0" = {
-      name = "regexpp";
-      packageName = "regexpp";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz";
-        sha512 = "pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==";
-      };
-    };
-    "regexpu-core-5.2.1" = {
-      name = "regexpu-core";
-      packageName = "regexpu-core";
-      version = "5.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz";
-        sha512 = "HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==";
-      };
-    };
-    "registry-auth-token-4.2.2" = {
-      name = "registry-auth-token";
-      packageName = "registry-auth-token";
-      version = "4.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz";
-        sha512 = "PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==";
-      };
-    };
-    "registry-url-5.1.0" = {
-      name = "registry-url";
-      packageName = "registry-url";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz";
-        sha512 = "8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==";
-      };
-    };
-    "regjsgen-0.7.1" = {
-      name = "regjsgen";
-      packageName = "regjsgen";
-      version = "0.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz";
-        sha512 = "RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==";
-      };
-    };
-    "regjsparser-0.9.1" = {
-      name = "regjsparser";
-      packageName = "regjsparser";
-      version = "0.9.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz";
-        sha512 = "dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==";
-      };
-    };
-    "replacestream-4.0.3" = {
-      name = "replacestream";
-      packageName = "replacestream";
-      version = "4.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/replacestream/-/replacestream-4.0.3.tgz";
-        sha512 = "AC0FiLS352pBBiZhd4VXB1Ab/lh0lEgpP+GGvZqbQh8a5cmXVoTe5EX/YeTFArnp4SRGTHh1qCHu9lGs1qG8sA==";
-      };
-    };
-    "request-2.88.2" = {
-      name = "request";
-      packageName = "request";
-      version = "2.88.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/request/-/request-2.88.2.tgz";
-        sha512 = "MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==";
-      };
-    };
-    "require-directory-2.1.1" = {
-      name = "require-directory";
-      packageName = "require-directory";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz";
-        sha512 = "fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==";
-      };
-    };
-    "resolve-1.22.1" = {
-      name = "resolve";
-      packageName = "resolve";
-      version = "1.22.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz";
-        sha512 = "nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==";
-      };
-    };
-    "resolve-from-4.0.0" = {
-      name = "resolve-from";
-      packageName = "resolve-from";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz";
-        sha512 = "pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==";
-      };
-    };
-    "responselike-1.0.2" = {
-      name = "responselike";
-      packageName = "responselike";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz";
-        sha512 = "/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==";
-      };
-    };
-    "retry-0.12.0" = {
-      name = "retry";
-      packageName = "retry";
-      version = "0.12.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz";
-        sha512 = "9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==";
-      };
-    };
-    "rimraf-2.7.1" = {
-      name = "rimraf";
-      packageName = "rimraf";
-      version = "2.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz";
-        sha512 = "uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==";
-      };
-    };
-    "rimraf-3.0.2" = {
-      name = "rimraf";
-      packageName = "rimraf";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz";
-        sha512 = "JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==";
-      };
-    };
-    "ripemd160-2.0.2" = {
-      name = "ripemd160";
-      packageName = "ripemd160";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz";
-        sha512 = "ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==";
-      };
-    };
-    "roarr-2.15.4" = {
-      name = "roarr";
-      packageName = "roarr";
-      version = "2.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz";
-        sha512 = "CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==";
-      };
-    };
-    "safe-buffer-5.1.2" = {
-      name = "safe-buffer";
-      packageName = "safe-buffer";
-      version = "5.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz";
-        sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==";
-      };
-    };
-    "safe-buffer-5.2.1" = {
-      name = "safe-buffer";
-      packageName = "safe-buffer";
-      version = "5.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz";
-        sha512 = "rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==";
-      };
-    };
-    "safe-regex-test-1.0.0" = {
-      name = "safe-regex-test";
-      packageName = "safe-regex-test";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz";
-        sha512 = "JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==";
-      };
-    };
-    "safer-buffer-2.1.2" = {
-      name = "safer-buffer";
-      packageName = "safer-buffer";
-      version = "2.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz";
-        sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
-      };
-    };
-    "sanitize-html-1.27.5" = {
-      name = "sanitize-html";
-      packageName = "sanitize-html";
-      version = "1.27.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.27.5.tgz";
-        sha512 = "M4M5iXDAUEcZKLXkmk90zSYWEtk5NH3JmojQxKxV371fnMh+x9t1rqdmXaGoyEHw3z/X/8vnFhKjGL5xFGOJ3A==";
-      };
-    };
-    "sass-graph-4.0.0" = {
-      name = "sass-graph";
-      packageName = "sass-graph";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sass-graph/-/sass-graph-4.0.0.tgz";
-        sha512 = "WSO/MfXqKH7/TS8RdkCX3lVkPFQzCgbqdGsmSKq6tlPU+GpGEsa/5aW18JqItnqh+lPtcjifqdZ/VmiILkKckQ==";
-      };
-    };
-    "scope-css-1.2.1" = {
-      name = "scope-css";
-      packageName = "scope-css";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/scope-css/-/scope-css-1.2.1.tgz";
-        sha512 = "UjLRmyEYaDNiOS673xlVkZFlVCtckJR/dKgr434VMm7Lb+AOOqXKdAcY7PpGlJYErjXXJzKN7HWo4uRPiZZG0Q==";
-      };
-    };
-    "screenfull-5.2.0" = {
-      name = "screenfull";
-      packageName = "screenfull";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/screenfull/-/screenfull-5.2.0.tgz";
-        sha512 = "9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==";
-      };
-    };
-    "scss-tokenizer-0.3.0" = {
-      name = "scss-tokenizer";
-      packageName = "scss-tokenizer";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.3.0.tgz";
-        sha512 = "14Zl9GcbBvOT9057ZKjpz5yPOyUWG2ojd9D5io28wHRYsOrs7U95Q+KNL87+32p8rc+LvDpbu/i9ZYjM9Q+FsQ==";
-      };
-    };
-    "semver-5.7.1" = {
-      name = "semver";
-      packageName = "semver";
-      version = "5.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz";
-        sha512 = "sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==";
-      };
-    };
-    "semver-6.3.0" = {
-      name = "semver";
-      packageName = "semver";
-      version = "6.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz";
-        sha512 = "b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==";
-      };
-    };
-    "semver-7.3.7" = {
-      name = "semver";
-      packageName = "semver";
-      version = "7.3.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz";
-        sha512 = "QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==";
-      };
-    };
-    "semver-compare-1.0.0" = {
-      name = "semver-compare";
-      packageName = "semver-compare";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz";
-        sha512 = "YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==";
-      };
-    };
-    "semver-diff-3.1.1" = {
-      name = "semver-diff";
-      packageName = "semver-diff";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz";
-        sha512 = "GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==";
-      };
-    };
-    "send-0.18.0" = {
-      name = "send";
-      packageName = "send";
-      version = "0.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/send/-/send-0.18.0.tgz";
-        sha512 = "qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==";
-      };
-    };
-    "serialize-error-7.0.1" = {
-      name = "serialize-error";
-      packageName = "serialize-error";
-      version = "7.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz";
-        sha512 = "8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==";
-      };
-    };
-    "set-blocking-2.0.0" = {
-      name = "set-blocking";
-      packageName = "set-blocking";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz";
-        sha512 = "KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==";
-      };
-    };
-    "setprototypeof-1.2.0" = {
-      name = "setprototypeof";
-      packageName = "setprototypeof";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz";
-        sha512 = "E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==";
-      };
-    };
-    "sha.js-2.4.11" = {
-      name = "sha.js";
-      packageName = "sha.js";
-      version = "2.4.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz";
-        sha512 = "QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==";
-      };
-    };
-    "shasum-object-1.0.0" = {
-      name = "shasum-object";
-      packageName = "shasum-object";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz";
-        sha512 = "Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==";
-      };
-    };
-    "shebang-command-2.0.0" = {
-      name = "shebang-command";
-      packageName = "shebang-command";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz";
-        sha512 = "kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==";
-      };
-    };
-    "shebang-regex-3.0.0" = {
-      name = "shebang-regex";
-      packageName = "shebang-regex";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz";
-        sha512 = "7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==";
-      };
-    };
-    "shell-quote-1.7.4" = {
-      name = "shell-quote";
-      packageName = "shell-quote";
-      version = "1.7.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.4.tgz";
-        sha512 = "8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==";
-      };
-    };
-    "side-channel-1.0.4" = {
-      name = "side-channel";
-      packageName = "side-channel";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz";
-        sha512 = "q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==";
-      };
-    };
-    "signal-exit-3.0.7" = {
-      name = "signal-exit";
-      packageName = "signal-exit";
-      version = "3.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz";
-        sha512 = "wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==";
-      };
-    };
-    "simple-concat-1.0.1" = {
-      name = "simple-concat";
-      packageName = "simple-concat";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz";
-        sha512 = "cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==";
-      };
-    };
-    "slip-1.0.2" = {
-      name = "slip";
-      packageName = "slip";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/slip/-/slip-1.0.2.tgz";
-        sha512 = "XrcHe3NAcyD3wO+O4I13RcS4/3AF+S9RvGNj9JhJeS02HyImwD2E3QWLrmn9hBfL+fB6yapagwxRkeyYzhk98g==";
-      };
-    };
-    "slugify-1.6.5" = {
-      name = "slugify";
-      packageName = "slugify";
-      version = "1.6.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/slugify/-/slugify-1.6.5.tgz";
-        sha512 = "8mo9bslnBO3tr5PEVFzMPIWwWnipGS0xVbYf65zxDqfNwmzYn1LpiKNrR6DlClusuvo+hDHd1zKpmfAe83NQSQ==";
-      };
-    };
-    "smart-buffer-4.2.0" = {
-      name = "smart-buffer";
-      packageName = "smart-buffer";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz";
-        sha512 = "94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==";
-      };
-    };
-    "socks-2.7.1" = {
-      name = "socks";
-      packageName = "socks";
-      version = "2.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz";
-        sha512 = "7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==";
-      };
-    };
-    "socks-proxy-agent-6.2.1" = {
-      name = "socks-proxy-agent";
-      packageName = "socks-proxy-agent";
-      version = "6.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz";
-        sha512 = "a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==";
-      };
-    };
-    "sortablejs-1.15.0" = {
-      name = "sortablejs";
-      packageName = "sortablejs";
-      version = "1.15.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.0.tgz";
-        sha512 = "bv9qgVMjUMf89wAvM6AxVvS/4MX3sPeN0+agqShejLU5z5GX4C75ow1O2e5k4L6XItUyAK3gH6AxSbXrOM5e8w==";
-      };
-    };
-    "source-map-0.5.6" = {
-      name = "source-map";
-      packageName = "source-map";
-      version = "0.5.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz";
-        sha512 = "MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==";
-      };
-    };
-    "source-map-0.5.7" = {
-      name = "source-map";
-      packageName = "source-map";
-      version = "0.5.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz";
-        sha512 = "LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==";
-      };
-    };
-    "source-map-0.6.1" = {
-      name = "source-map";
-      packageName = "source-map";
-      version = "0.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz";
-        sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==";
-      };
-    };
-    "source-map-0.7.4" = {
-      name = "source-map";
-      packageName = "source-map";
-      version = "0.7.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz";
-        sha512 = "l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==";
-      };
-    };
-    "source-map-support-0.5.21" = {
-      name = "source-map-support";
-      packageName = "source-map-support";
-      version = "0.5.21";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz";
-        sha512 = "uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==";
-      };
-    };
-    "sourcemap-codec-1.4.8" = {
-      name = "sourcemap-codec";
-      packageName = "sourcemap-codec";
-      version = "1.4.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz";
-        sha512 = "9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==";
-      };
-    };
-    "spdx-correct-3.1.1" = {
-      name = "spdx-correct";
-      packageName = "spdx-correct";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz";
-        sha512 = "cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==";
-      };
-    };
-    "spdx-exceptions-2.3.0" = {
-      name = "spdx-exceptions";
-      packageName = "spdx-exceptions";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz";
-        sha512 = "/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==";
-      };
-    };
-    "spdx-expression-parse-3.0.1" = {
-      name = "spdx-expression-parse";
-      packageName = "spdx-expression-parse";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz";
-        sha512 = "cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==";
-      };
-    };
-    "spdx-license-ids-3.0.12" = {
-      name = "spdx-license-ids";
-      packageName = "spdx-license-ids";
-      version = "3.0.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz";
-        sha512 = "rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==";
-      };
-    };
-    "sprintf-js-1.1.2" = {
-      name = "sprintf-js";
-      packageName = "sprintf-js";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz";
-        sha512 = "VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==";
-      };
-    };
-    "sshpk-1.17.0" = {
-      name = "sshpk";
-      packageName = "sshpk";
-      version = "1.17.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz";
-        sha512 = "/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==";
-      };
-    };
-    "ssri-8.0.1" = {
-      name = "ssri";
-      packageName = "ssri";
-      version = "8.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz";
-        sha512 = "97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==";
-      };
-    };
-    "stack-generator-2.0.10" = {
-      name = "stack-generator";
-      packageName = "stack-generator";
-      version = "2.0.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.10.tgz";
-        sha512 = "mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==";
-      };
-    };
-    "stackframe-1.3.4" = {
-      name = "stackframe";
-      packageName = "stackframe";
-      version = "1.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz";
-        sha512 = "oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==";
-      };
-    };
-    "stacktrace-gps-3.1.2" = {
-      name = "stacktrace-gps";
-      packageName = "stacktrace-gps";
-      version = "3.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stacktrace-gps/-/stacktrace-gps-3.1.2.tgz";
-        sha512 = "GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==";
-      };
-    };
-    "stacktrace-js-2.0.2" = {
-      name = "stacktrace-js";
-      packageName = "stacktrace-js";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stacktrace-js/-/stacktrace-js-2.0.2.tgz";
-        sha512 = "Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==";
-      };
-    };
-    "statuses-2.0.1" = {
-      name = "statuses";
-      packageName = "statuses";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz";
-        sha512 = "RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==";
-      };
-    };
-    "stdout-stream-1.4.1" = {
-      name = "stdout-stream";
-      packageName = "stdout-stream";
-      version = "1.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz";
-        sha512 = "j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==";
-      };
-    };
-    "stream-browserify-3.0.0" = {
-      name = "stream-browserify";
-      packageName = "stream-browserify";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz";
-        sha512 = "H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==";
-      };
-    };
-    "stream-combiner2-1.1.1" = {
-      name = "stream-combiner2";
-      packageName = "stream-combiner2";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz";
-        sha512 = "3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==";
-      };
-    };
-    "stream-http-3.2.0" = {
-      name = "stream-http";
-      packageName = "stream-http";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz";
-        sha512 = "Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==";
-      };
-    };
-    "stream-splicer-2.0.1" = {
-      name = "stream-splicer";
-      packageName = "stream-splicer";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz";
-        sha512 = "Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==";
-      };
-    };
-    "strictdom-1.0.1" = {
-      name = "strictdom";
-      packageName = "strictdom";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strictdom/-/strictdom-1.0.1.tgz";
-        sha512 = "cEmp9QeXXRmjj/rVp9oyiqcvyocWab/HaoN4+bwFeZ7QzykJD6L3yD4v12K1x0tHpqRqVpJevN3gW7kyM39Bqg==";
-      };
-    };
-    "string-width-4.2.3" = {
-      name = "string-width";
-      packageName = "string-width";
-      version = "4.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz";
-        sha512 = "wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==";
-      };
-    };
-    "string.prototype.trimend-1.0.5" = {
-      name = "string.prototype.trimend";
-      packageName = "string.prototype.trimend";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz";
-        sha512 = "I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==";
-      };
-    };
-    "string.prototype.trimstart-1.0.5" = {
-      name = "string.prototype.trimstart";
-      packageName = "string.prototype.trimstart";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz";
-        sha512 = "THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==";
-      };
-    };
-    "string_decoder-1.1.1" = {
-      name = "string_decoder";
-      packageName = "string_decoder";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz";
-        sha512 = "n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==";
-      };
-    };
-    "string_decoder-1.3.0" = {
-      name = "string_decoder";
-      packageName = "string_decoder";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz";
-        sha512 = "hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==";
-      };
-    };
-    "strip-ansi-3.0.1" = {
-      name = "strip-ansi";
-      packageName = "strip-ansi";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz";
-        sha512 = "VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==";
-      };
-    };
-    "strip-ansi-6.0.1" = {
-      name = "strip-ansi";
-      packageName = "strip-ansi";
-      version = "6.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz";
-        sha512 = "Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==";
-      };
-    };
-    "strip-bom-3.0.0" = {
-      name = "strip-bom";
-      packageName = "strip-bom";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz";
-        sha512 = "vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==";
-      };
-    };
-    "strip-css-comments-3.0.0" = {
-      name = "strip-css-comments";
-      packageName = "strip-css-comments";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-css-comments/-/strip-css-comments-3.0.0.tgz";
-        sha512 = "xJwk2yMZ6j+0Clj7ETUfqQ6frsaCIqNGg3zjTVswIt3SbiOsCQgRI1E93hdt/JgGfh5De/sTwxrnrBhhWzMwcg==";
-      };
-    };
-    "strip-indent-3.0.0" = {
-      name = "strip-indent";
-      packageName = "strip-indent";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz";
-        sha512 = "laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==";
-      };
-    };
-    "strip-json-comments-2.0.1" = {
-      name = "strip-json-comments";
-      packageName = "strip-json-comments";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz";
-        sha512 = "4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==";
-      };
-    };
-    "strip-json-comments-3.1.1" = {
-      name = "strip-json-comments";
-      packageName = "strip-json-comments";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz";
-        sha512 = "6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==";
-      };
-    };
-    "strip-outer-1.0.1" = {
-      name = "strip-outer";
-      packageName = "strip-outer";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz";
-        sha512 = "k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==";
-      };
-    };
-    "subarg-1.0.0" = {
-      name = "subarg";
-      packageName = "subarg";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz";
-        sha512 = "RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==";
-      };
-    };
-    "sumchecker-3.0.1" = {
-      name = "sumchecker";
-      packageName = "sumchecker";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz";
-        sha512 = "MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==";
-      };
-    };
-    "supports-color-2.0.0" = {
-      name = "supports-color";
-      packageName = "supports-color";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz";
-        sha512 = "KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==";
-      };
-    };
-    "supports-color-5.5.0" = {
-      name = "supports-color";
-      packageName = "supports-color";
-      version = "5.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz";
-        sha512 = "QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==";
-      };
-    };
-    "supports-color-7.2.0" = {
-      name = "supports-color";
-      packageName = "supports-color";
-      version = "7.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz";
-        sha512 = "qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==";
-      };
-    };
-    "supports-preserve-symlinks-flag-1.0.0" = {
-      name = "supports-preserve-symlinks-flag";
-      packageName = "supports-preserve-symlinks-flag";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz";
-        sha512 = "ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==";
-      };
-    };
-    "syntax-error-1.4.0" = {
-      name = "syntax-error";
-      packageName = "syntax-error";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz";
-        sha512 = "YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==";
-      };
-    };
-    "tar-6.1.11" = {
-      name = "tar";
-      packageName = "tar";
-      version = "6.1.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz";
-        sha512 = "an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==";
-      };
-    };
-    "terser-3.17.0" = {
-      name = "terser";
-      packageName = "terser";
-      version = "3.17.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz";
-        sha512 = "/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==";
-      };
-    };
-    "text-table-0.2.0" = {
-      name = "text-table";
-      packageName = "text-table";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz";
-        sha512 = "N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==";
-      };
-    };
-    "through-2.2.7" = {
-      name = "through";
-      packageName = "through";
-      version = "2.2.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/through/-/through-2.2.7.tgz";
-        sha512 = "JIR0m0ybkmTcR8URann+HbwKmodP+OE8UCbsifQDYMLD5J3em1Cdn3MYPpbEd5elGDwmP98T+WbqP/tvzA5Mjg==";
-      };
-    };
-    "through-2.3.8" = {
-      name = "through";
-      packageName = "through";
-      version = "2.3.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/through/-/through-2.3.8.tgz";
-        sha512 = "w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==";
-      };
-    };
-    "through2-2.0.5" = {
-      name = "through2";
-      packageName = "through2";
-      version = "2.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz";
-        sha512 = "/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==";
-      };
-    };
-    "thunky-1.1.0" = {
-      name = "thunky";
-      packageName = "thunky";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz";
-        sha512 = "eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==";
-      };
-    };
-    "timers-browserify-1.4.2" = {
-      name = "timers-browserify";
-      packageName = "timers-browserify";
-      version = "1.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz";
-        sha512 = "PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==";
-      };
-    };
-    "to-fast-properties-2.0.0" = {
-      name = "to-fast-properties";
-      packageName = "to-fast-properties";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz";
-        sha512 = "/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==";
-      };
-    };
-    "to-readable-stream-1.0.0" = {
-      name = "to-readable-stream";
-      packageName = "to-readable-stream";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz";
-        sha512 = "Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==";
-      };
-    };
-    "to-regex-range-5.0.1" = {
-      name = "to-regex-range";
-      packageName = "to-regex-range";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz";
-        sha512 = "65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==";
-      };
-    };
-    "toidentifier-1.0.1" = {
-      name = "toidentifier";
-      packageName = "toidentifier";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz";
-        sha512 = "o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==";
-      };
-    };
-    "touch-3.1.0" = {
-      name = "touch";
-      packageName = "touch";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz";
-        sha512 = "WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==";
-      };
-    };
-    "tough-cookie-2.5.0" = {
-      name = "tough-cookie";
-      packageName = "tough-cookie";
-      version = "2.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz";
-        sha512 = "nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==";
-      };
-    };
-    "transform-ast-2.4.4" = {
-      name = "transform-ast";
-      packageName = "transform-ast";
-      version = "2.4.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/transform-ast/-/transform-ast-2.4.4.tgz";
-        sha512 = "AxjeZAcIOUO2lev2GDe3/xZ1Q0cVGjIMk5IsriTy8zbWlsEnjeB025AhkhBJHoy997mXpLd4R+kRbvnnQVuQHQ==";
-      };
-    };
-    "trim-newlines-3.0.1" = {
-      name = "trim-newlines";
-      packageName = "trim-newlines";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz";
-        sha512 = "c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==";
-      };
-    };
-    "trim-repeated-1.0.0" = {
-      name = "trim-repeated";
-      packageName = "trim-repeated";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz";
-        sha512 = "pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==";
-      };
-    };
-    "true-case-path-1.0.3" = {
-      name = "true-case-path";
-      packageName = "true-case-path";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz";
-        sha512 = "m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==";
-      };
-    };
-    "tty-browserify-0.0.1" = {
-      name = "tty-browserify";
-      packageName = "tty-browserify";
-      version = "0.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz";
-        sha512 = "C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==";
-      };
-    };
-    "tunnel-0.0.6" = {
-      name = "tunnel";
-      packageName = "tunnel";
-      version = "0.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz";
-        sha512 = "1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==";
-      };
-    };
-    "tunnel-agent-0.6.0" = {
-      name = "tunnel-agent";
-      packageName = "tunnel-agent";
-      version = "0.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
-        sha512 = "McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==";
-      };
-    };
-    "tweetnacl-0.14.5" = {
-      name = "tweetnacl";
-      packageName = "tweetnacl";
-      version = "0.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz";
-        sha512 = "KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==";
-      };
-    };
-    "type-check-0.4.0" = {
-      name = "type-check";
-      packageName = "type-check";
-      version = "0.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz";
-        sha512 = "XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==";
-      };
-    };
-    "type-fest-0.13.1" = {
-      name = "type-fest";
-      packageName = "type-fest";
-      version = "0.13.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz";
-        sha512 = "34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==";
-      };
-    };
-    "type-fest-0.18.1" = {
-      name = "type-fest";
-      packageName = "type-fest";
-      version = "0.18.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz";
-        sha512 = "OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==";
-      };
-    };
-    "type-fest-0.20.2" = {
-      name = "type-fest";
-      packageName = "type-fest";
-      version = "0.20.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz";
-        sha512 = "Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==";
-      };
-    };
-    "type-fest-0.6.0" = {
-      name = "type-fest";
-      packageName = "type-fest";
-      version = "0.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz";
-        sha512 = "q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==";
-      };
-    };
-    "type-fest-0.8.1" = {
-      name = "type-fest";
-      packageName = "type-fest";
-      version = "0.8.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz";
-        sha512 = "4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==";
-      };
-    };
-    "type-name-2.0.2" = {
-      name = "type-name";
-      packageName = "type-name";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-name/-/type-name-2.0.2.tgz";
-        sha512 = "kkgkuqR/jKdKO5oh/I2SMu2dGbLXoJq0zkdgbxaqYK+hr9S9edwVVGf+tMUFTx2gH9TN2+Zu9JZ/Njonb3cjhA==";
-      };
-    };
-    "typedarray-0.0.6" = {
-      name = "typedarray";
-      packageName = "typedarray";
-      version = "0.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz";
-        sha512 = "/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==";
-      };
-    };
-    "typedarray-to-buffer-3.1.5" = {
-      name = "typedarray-to-buffer";
-      packageName = "typedarray-to-buffer";
-      version = "3.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz";
-        sha512 = "zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==";
-      };
-    };
-    "uglifyify-5.0.2" = {
-      name = "uglifyify";
-      packageName = "uglifyify";
-      version = "5.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uglifyify/-/uglifyify-5.0.2.tgz";
-        sha512 = "NcSk6pgoC+IgwZZ2tVLVHq+VNKSvLPlLkF5oUiHPVOJI0s/OlSVYEGXG9PCAH0hcyFZLyvt4KBdPAQBRlVDn1Q==";
-      };
-    };
-    "umd-3.0.3" = {
-      name = "umd";
-      packageName = "umd";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz";
-        sha512 = "4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==";
-      };
-    };
-    "unbox-primitive-1.0.2" = {
-      name = "unbox-primitive";
-      packageName = "unbox-primitive";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz";
-        sha512 = "61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==";
-      };
-    };
-    "undeclared-identifiers-1.1.3" = {
-      name = "undeclared-identifiers";
-      packageName = "undeclared-identifiers";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz";
-        sha512 = "pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==";
-      };
-    };
-    "undefsafe-2.0.5" = {
-      name = "undefsafe";
-      packageName = "undefsafe";
-      version = "2.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz";
-        sha512 = "WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==";
-      };
-    };
-    "unicode-canonical-property-names-ecmascript-2.0.0" = {
-      name = "unicode-canonical-property-names-ecmascript";
-      packageName = "unicode-canonical-property-names-ecmascript";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz";
-        sha512 = "yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==";
-      };
-    };
-    "unicode-match-property-ecmascript-2.0.0" = {
-      name = "unicode-match-property-ecmascript";
-      packageName = "unicode-match-property-ecmascript";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz";
-        sha512 = "5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==";
-      };
-    };
-    "unicode-match-property-value-ecmascript-2.0.0" = {
-      name = "unicode-match-property-value-ecmascript";
-      packageName = "unicode-match-property-value-ecmascript";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz";
-        sha512 = "7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==";
-      };
-    };
-    "unicode-property-aliases-ecmascript-2.1.0" = {
-      name = "unicode-property-aliases-ecmascript";
-      packageName = "unicode-property-aliases-ecmascript";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz";
-        sha512 = "6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==";
-      };
-    };
-    "unique-filename-1.1.1" = {
-      name = "unique-filename";
-      packageName = "unique-filename";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz";
-        sha512 = "Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==";
-      };
-    };
-    "unique-slug-2.0.2" = {
-      name = "unique-slug";
-      packageName = "unique-slug";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz";
-        sha512 = "zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==";
-      };
-    };
-    "unique-string-2.0.0" = {
-      name = "unique-string";
-      packageName = "unique-string";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz";
-        sha512 = "uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==";
-      };
-    };
-    "universalify-0.1.2" = {
-      name = "universalify";
-      packageName = "universalify";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz";
-        sha512 = "rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==";
-      };
-    };
-    "universalify-2.0.0" = {
-      name = "universalify";
-      packageName = "universalify";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz";
-        sha512 = "hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==";
-      };
-    };
-    "unix-crypt-td-js-1.1.4" = {
-      name = "unix-crypt-td-js";
-      packageName = "unix-crypt-td-js";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unix-crypt-td-js/-/unix-crypt-td-js-1.1.4.tgz";
-        sha512 = "8rMeVYWSIyccIJscb9NdCfZKSRBKYTeVnwmiRYT2ulE3qd1RaDQ0xQDP+rI3ccIWbhu/zuo5cgN8z73belNZgw==";
-      };
-    };
-    "update-browserslist-db-1.0.10" = {
-      name = "update-browserslist-db";
-      packageName = "update-browserslist-db";
-      version = "1.0.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz";
-        sha512 = "OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==";
-      };
-    };
-    "update-notifier-5.1.0" = {
-      name = "update-notifier";
-      packageName = "update-notifier";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz";
-        sha512 = "ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==";
-      };
-    };
-    "upper-case-1.1.3" = {
-      name = "upper-case";
-      packageName = "upper-case";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz";
-        sha512 = "WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==";
-      };
-    };
-    "uri-js-4.4.1" = {
-      name = "uri-js";
-      packageName = "uri-js";
-      version = "4.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz";
-        sha512 = "7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==";
-      };
-    };
-    "url-0.11.0" = {
-      name = "url";
-      packageName = "url";
-      version = "0.11.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/url/-/url-0.11.0.tgz";
-        sha512 = "kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==";
-      };
-    };
-    "url-parse-lax-3.0.0" = {
-      name = "url-parse-lax";
-      packageName = "url-parse-lax";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz";
-        sha512 = "NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==";
-      };
-    };
-    "utf-8-validate-5.0.10" = {
-      name = "utf-8-validate";
-      packageName = "utf-8-validate";
-      version = "5.0.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz";
-        sha512 = "Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==";
-      };
-    };
-    "util-0.10.3" = {
-      name = "util";
-      packageName = "util";
-      version = "0.10.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/util/-/util-0.10.3.tgz";
-        sha512 = "5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==";
-      };
-    };
-    "util-0.12.5" = {
-      name = "util";
-      packageName = "util";
-      version = "0.12.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/util/-/util-0.12.5.tgz";
-        sha512 = "kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==";
-      };
-    };
-    "util-deprecate-1.0.2" = {
-      name = "util-deprecate";
-      packageName = "util-deprecate";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz";
-        sha512 = "EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==";
-      };
-    };
-    "uuid-3.4.0" = {
-      name = "uuid";
-      packageName = "uuid";
-      version = "3.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz";
-        sha512 = "HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==";
-      };
-    };
-    "uuid-8.3.2" = {
-      name = "uuid";
-      packageName = "uuid";
-      version = "8.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz";
-        sha512 = "+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==";
-      };
-    };
-    "v8-compile-cache-2.3.0" = {
-      name = "v8-compile-cache";
-      packageName = "v8-compile-cache";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz";
-        sha512 = "l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==";
-      };
-    };
-    "validate-npm-package-license-3.0.4" = {
-      name = "validate-npm-package-license";
-      packageName = "validate-npm-package-license";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz";
-        sha512 = "DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==";
-      };
-    };
-    "verror-1.10.0" = {
-      name = "verror";
-      packageName = "verror";
-      version = "1.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz";
-        sha512 = "ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==";
-      };
-    };
-    "vm-browserify-1.1.2" = {
-      name = "vm-browserify";
-      packageName = "vm-browserify";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz";
-        sha512 = "2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==";
-      };
-    };
-    "webworkify-1.5.0" = {
-      name = "webworkify";
-      packageName = "webworkify";
-      version = "1.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webworkify/-/webworkify-1.5.0.tgz";
-        sha512 = "AMcUeyXAhbACL8S2hqqdqOLqvJ8ylmIbNwUIqQujRSouf4+eUFaXbG6F1Rbu+srlJMmxQWsiU7mOJi0nMBfM1g==";
-      };
-    };
-    "which-2.0.2" = {
-      name = "which";
-      packageName = "which";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/which/-/which-2.0.2.tgz";
-        sha512 = "BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==";
-      };
-    };
-    "which-boxed-primitive-1.0.2" = {
-      name = "which-boxed-primitive";
-      packageName = "which-boxed-primitive";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz";
-        sha512 = "bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==";
-      };
-    };
-    "which-typed-array-1.1.8" = {
-      name = "which-typed-array";
-      packageName = "which-typed-array";
-      version = "1.1.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.8.tgz";
-        sha512 = "Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw==";
-      };
-    };
-    "wide-align-1.1.5" = {
-      name = "wide-align";
-      packageName = "wide-align";
-      version = "1.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz";
-        sha512 = "eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==";
-      };
-    };
-    "widest-line-3.1.0" = {
-      name = "widest-line";
-      packageName = "widest-line";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz";
-        sha512 = "NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==";
-      };
-    };
-    "wolfy87-eventemitter-5.2.9" = {
-      name = "wolfy87-eventemitter";
-      packageName = "wolfy87-eventemitter";
-      version = "5.2.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wolfy87-eventemitter/-/wolfy87-eventemitter-5.2.9.tgz";
-        sha512 = "P+6vtWyuDw+MB01X7UeF8TaHBvbCovf4HPEMF/SV7BdDc1SMTiBy13SRD71lQh4ExFTG1d/WNzDGDCyOKSMblw==";
-      };
-    };
-    "word-wrap-1.2.3" = {
-      name = "word-wrap";
-      packageName = "word-wrap";
-      version = "1.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz";
-        sha512 = "Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==";
-      };
-    };
-    "wrap-ansi-7.0.0" = {
-      name = "wrap-ansi";
-      packageName = "wrap-ansi";
-      version = "7.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz";
-        sha512 = "YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==";
-      };
-    };
-    "wrappy-1.0.2" = {
-      name = "wrappy";
-      packageName = "wrappy";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";
-        sha512 = "l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==";
-      };
-    };
-    "write-file-atomic-3.0.3" = {
-      name = "write-file-atomic";
-      packageName = "write-file-atomic";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz";
-        sha512 = "AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==";
-      };
-    };
-    "ws-7.5.3" = {
-      name = "ws";
-      packageName = "ws";
-      version = "7.5.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz";
-        sha512 = "kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==";
-      };
-    };
-    "ws-8.6.0" = {
-      name = "ws";
-      packageName = "ws";
-      version = "8.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz";
-        sha512 = "AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==";
-      };
-    };
-    "xdg-basedir-4.0.0" = {
-      name = "xdg-basedir";
-      packageName = "xdg-basedir";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz";
-        sha512 = "PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==";
-      };
-    };
-    "xmlbuilder-15.1.1" = {
-      name = "xmlbuilder";
-      packageName = "xmlbuilder";
-      version = "15.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz";
-        sha512 = "yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==";
-      };
-    };
-    "xtend-4.0.2" = {
-      name = "xtend";
-      packageName = "xtend";
-      version = "4.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz";
-        sha512 = "LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==";
-      };
-    };
-    "y18n-5.0.8" = {
-      name = "y18n";
-      packageName = "y18n";
-      version = "5.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz";
-        sha512 = "0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==";
-      };
-    };
-    "yallist-4.0.0" = {
-      name = "yallist";
-      packageName = "yallist";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz";
-        sha512 = "3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==";
-      };
-    };
-    "yargs-17.5.1" = {
-      name = "yargs";
-      packageName = "yargs";
-      version = "17.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz";
-        sha512 = "t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==";
-      };
-    };
-    "yargs-parser-20.2.9" = {
-      name = "yargs-parser";
-      packageName = "yargs-parser";
-      version = "20.2.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz";
-        sha512 = "y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==";
-      };
-    };
-    "yargs-parser-21.1.1" = {
-      name = "yargs-parser";
-      packageName = "yargs-parser";
-      version = "21.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz";
-        sha512 = "tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==";
-      };
-    };
-    "yauzl-2.10.0" = {
-      name = "yauzl";
-      packageName = "yauzl";
-      version = "2.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz";
-        sha512 = "p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==";
-      };
-    };
-  };
-  args = {
-    name = "open-stage-control";
-    packageName = "open-stage-control";
-    version = "1.18.3";
-    src = ./.;
-    dependencies = [
-      sources."7zip-0.0.6"
-      sources."@ampproject/remapping-2.2.0"
-      sources."@babel/code-frame-7.18.6"
-      sources."@babel/compat-data-7.19.4"
-      (sources."@babel/core-7.18.0" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      (sources."@babel/eslint-parser-7.17.0" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      (sources."@babel/generator-7.19.6" // {
-        dependencies = [
-          sources."@jridgewell/gen-mapping-0.3.2"
-        ];
-      })
-      sources."@babel/helper-annotate-as-pure-7.18.6"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.18.9"
-      (sources."@babel/helper-compilation-targets-7.19.3" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      sources."@babel/helper-create-class-features-plugin-7.19.0"
-      sources."@babel/helper-create-regexp-features-plugin-7.19.0"
-      (sources."@babel/helper-define-polyfill-provider-0.3.3" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      sources."@babel/helper-environment-visitor-7.18.9"
-      sources."@babel/helper-explode-assignable-expression-7.18.6"
-      sources."@babel/helper-function-name-7.19.0"
-      sources."@babel/helper-hoist-variables-7.18.6"
-      sources."@babel/helper-member-expression-to-functions-7.18.9"
-      sources."@babel/helper-module-imports-7.18.6"
-      sources."@babel/helper-module-transforms-7.19.6"
-      sources."@babel/helper-optimise-call-expression-7.18.6"
-      sources."@babel/helper-plugin-utils-7.19.0"
-      sources."@babel/helper-remap-async-to-generator-7.18.9"
-      sources."@babel/helper-replace-supers-7.19.1"
-      sources."@babel/helper-simple-access-7.19.4"
-      sources."@babel/helper-skip-transparent-expression-wrappers-7.18.9"
-      sources."@babel/helper-split-export-declaration-7.18.6"
-      sources."@babel/helper-string-parser-7.19.4"
-      sources."@babel/helper-validator-identifier-7.19.1"
-      sources."@babel/helper-validator-option-7.18.6"
-      sources."@babel/helper-wrap-function-7.19.0"
-      sources."@babel/helpers-7.19.4"
-      sources."@babel/highlight-7.18.6"
-      sources."@babel/parser-7.19.6"
-      sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6"
-      sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9"
-      sources."@babel/plugin-proposal-async-generator-functions-7.19.1"
-      sources."@babel/plugin-proposal-class-properties-7.18.6"
-      sources."@babel/plugin-proposal-class-static-block-7.18.6"
-      sources."@babel/plugin-proposal-dynamic-import-7.18.6"
-      sources."@babel/plugin-proposal-export-namespace-from-7.18.9"
-      sources."@babel/plugin-proposal-json-strings-7.18.6"
-      sources."@babel/plugin-proposal-logical-assignment-operators-7.18.9"
-      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.18.6"
-      sources."@babel/plugin-proposal-numeric-separator-7.18.6"
-      sources."@babel/plugin-proposal-object-rest-spread-7.18.0"
-      sources."@babel/plugin-proposal-optional-catch-binding-7.18.6"
-      sources."@babel/plugin-proposal-optional-chaining-7.18.9"
-      sources."@babel/plugin-proposal-private-methods-7.18.6"
-      sources."@babel/plugin-proposal-private-property-in-object-7.18.6"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.18.6"
-      sources."@babel/plugin-syntax-async-generators-7.8.4"
-      sources."@babel/plugin-syntax-class-properties-7.12.13"
-      sources."@babel/plugin-syntax-class-static-block-7.14.5"
-      sources."@babel/plugin-syntax-dynamic-import-7.8.3"
-      sources."@babel/plugin-syntax-export-namespace-from-7.8.3"
-      sources."@babel/plugin-syntax-import-assertions-7.18.6"
-      sources."@babel/plugin-syntax-json-strings-7.8.3"
-      sources."@babel/plugin-syntax-logical-assignment-operators-7.10.4"
-      sources."@babel/plugin-syntax-nullish-coalescing-operator-7.8.3"
-      sources."@babel/plugin-syntax-numeric-separator-7.10.4"
-      sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
-      sources."@babel/plugin-syntax-optional-catch-binding-7.8.3"
-      sources."@babel/plugin-syntax-optional-chaining-7.8.3"
-      sources."@babel/plugin-syntax-private-property-in-object-7.14.5"
-      sources."@babel/plugin-syntax-top-level-await-7.14.5"
-      sources."@babel/plugin-transform-arrow-functions-7.18.6"
-      sources."@babel/plugin-transform-async-to-generator-7.18.6"
-      sources."@babel/plugin-transform-block-scoped-functions-7.18.6"
-      sources."@babel/plugin-transform-block-scoping-7.19.4"
-      sources."@babel/plugin-transform-classes-7.19.0"
-      sources."@babel/plugin-transform-computed-properties-7.18.9"
-      sources."@babel/plugin-transform-destructuring-7.19.4"
-      sources."@babel/plugin-transform-dotall-regex-7.18.6"
-      sources."@babel/plugin-transform-duplicate-keys-7.18.9"
-      sources."@babel/plugin-transform-exponentiation-operator-7.18.6"
-      sources."@babel/plugin-transform-for-of-7.18.8"
-      sources."@babel/plugin-transform-function-name-7.18.9"
-      sources."@babel/plugin-transform-literals-7.18.9"
-      sources."@babel/plugin-transform-member-expression-literals-7.18.6"
-      sources."@babel/plugin-transform-modules-amd-7.19.6"
-      sources."@babel/plugin-transform-modules-commonjs-7.19.6"
-      sources."@babel/plugin-transform-modules-systemjs-7.19.6"
-      sources."@babel/plugin-transform-modules-umd-7.18.6"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.19.1"
-      sources."@babel/plugin-transform-new-target-7.18.6"
-      sources."@babel/plugin-transform-object-super-7.18.6"
-      sources."@babel/plugin-transform-parameters-7.18.8"
-      sources."@babel/plugin-transform-property-literals-7.18.6"
-      sources."@babel/plugin-transform-regenerator-7.18.6"
-      sources."@babel/plugin-transform-reserved-words-7.18.6"
-      sources."@babel/plugin-transform-shorthand-properties-7.18.6"
-      sources."@babel/plugin-transform-spread-7.19.0"
-      sources."@babel/plugin-transform-sticky-regex-7.18.6"
-      sources."@babel/plugin-transform-template-literals-7.18.9"
-      sources."@babel/plugin-transform-typeof-symbol-7.18.9"
-      sources."@babel/plugin-transform-unicode-escapes-7.18.10"
-      sources."@babel/plugin-transform-unicode-regex-7.18.6"
-      (sources."@babel/polyfill-7.12.1" // {
-        dependencies = [
-          sources."core-js-2.6.12"
-        ];
-      })
-      (sources."@babel/preset-env-7.18.0" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      sources."@babel/preset-modules-0.1.5"
-      sources."@babel/runtime-7.19.4"
-      sources."@babel/template-7.18.10"
-      sources."@babel/traverse-7.19.6"
-      sources."@babel/types-7.19.4"
-      (sources."@electron/get-1.14.1" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      sources."@electron/remote-2.0.8"
-      (sources."@eslint/eslintrc-1.3.3" // {
-        dependencies = [
-          sources."globals-13.17.0"
-          sources."minimatch-3.1.2"
-          sources."type-fest-0.20.2"
-        ];
-      })
-      sources."@gar/promisify-1.1.3"
-      (sources."@humanwhocodes/config-array-0.9.5" // {
-        dependencies = [
-          sources."minimatch-3.1.2"
-        ];
-      })
-      sources."@humanwhocodes/object-schema-1.2.1"
-      sources."@jridgewell/gen-mapping-0.1.1"
-      sources."@jridgewell/resolve-uri-3.1.0"
-      sources."@jridgewell/set-array-1.1.2"
-      sources."@jridgewell/sourcemap-codec-1.4.14"
-      sources."@jridgewell/trace-mapping-0.3.17"
-      sources."@npmcli/fs-1.1.1"
-      (sources."@npmcli/move-file-1.1.2" // {
-        dependencies = [
-          sources."mkdirp-1.0.4"
-          sources."rimraf-3.0.2"
-        ];
-      })
-      sources."@sindresorhus/is-0.14.0"
-      sources."@szmarczak/http-timer-1.1.2"
-      sources."@tootallnate/once-1.1.2"
-      sources."@types/glob-7.2.0"
-      sources."@types/minimatch-5.1.2"
-      sources."@types/minimist-1.2.2"
-      sources."@types/node-16.11.68"
-      sources."@types/normalize-package-data-2.4.1"
-      sources."@types/yauzl-2.10.0"
-      sources."JSONStream-1.3.5"
-      sources."abbrev-1.1.1"
-      sources."acorn-7.4.1"
-      sources."acorn-jsx-5.3.2"
-      sources."acorn-node-1.8.2"
-      sources."acorn-walk-7.2.0"
-      sources."agent-base-6.0.2"
-      sources."agentkeepalive-4.2.1"
-      sources."aggregate-error-3.1.0"
-      sources."ajv-6.12.6"
-      sources."ansi-align-3.0.1"
-      sources."ansi-html-0.0.9"
-      sources."ansi-regex-5.0.1"
-      sources."ansi-styles-3.2.1"
-      sources."anymatch-3.1.2"
-      sources."apache-crypt-1.2.6"
-      sources."apache-md5-1.1.8"
-      sources."aproba-2.0.0"
-      (sources."are-we-there-yet-3.0.1" // {
-        dependencies = [
-          sources."readable-stream-3.6.0"
-        ];
-      })
-      sources."argparse-2.0.1"
-      sources."array-flatten-2.1.2"
-      sources."arrify-1.0.1"
-      (sources."asar-3.2.0" // {
-        dependencies = [
-          sources."minimatch-3.1.2"
-        ];
-      })
-      sources."asn1-0.2.6"
-      (sources."asn1.js-5.4.1" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      (sources."assert-1.5.0" // {
-        dependencies = [
-          sources."inherits-2.0.1"
-          sources."util-0.10.3"
-        ];
-      })
-      sources."assert-plus-1.0.0"
-      sources."async-foreach-0.1.3"
-      sources."asynckit-0.4.0"
-      sources."at-least-node-1.0.0"
-      sources."author-regex-1.0.0"
-      sources."available-typed-arrays-1.0.5"
-      sources."aws-sign2-0.7.0"
-      sources."aws4-1.11.0"
-      (sources."babel-plugin-polyfill-corejs2-0.3.3" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      sources."babel-plugin-polyfill-corejs3-0.5.3"
-      sources."babel-plugin-polyfill-regenerator-0.3.1"
-      sources."babelify-10.0.0"
-      sources."balanced-match-2.0.0"
-      sources."base64-js-1.5.1"
-      sources."bcrypt-pbkdf-1.0.2"
-      sources."bcryptjs-2.4.3"
-      sources."binary-extensions-2.2.0"
-      sources."bluebird-3.7.2"
-      sources."bn.js-5.2.1"
-      sources."bonjour-git+https://github.com/jean-emmanuel/bonjour"
-      sources."boolean-3.2.0"
-      (sources."boxen-5.1.2" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."camelcase-6.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-          sources."type-fest-0.20.2"
-        ];
-      })
-      sources."brace-0.11.1"
-      (sources."brace-expansion-1.1.11" // {
-        dependencies = [
-          sources."balanced-match-1.0.2"
-        ];
-      })
-      sources."braces-3.0.2"
-      sources."brorand-1.1.0"
-      sources."browser-pack-6.1.0"
-      sources."browser-process-hrtime-0.1.3"
-      sources."browser-resolve-2.0.0"
-      sources."browserify-17.0.0"
-      sources."browserify-aes-1.2.0"
-      sources."browserify-cipher-1.0.1"
-      sources."browserify-des-1.0.2"
-      sources."browserify-rsa-4.1.0"
-      (sources."browserify-sign-4.2.1" // {
-        dependencies = [
-          sources."readable-stream-3.6.0"
-        ];
-      })
-      sources."browserify-zlib-0.2.0"
-      sources."browserslist-4.21.4"
-      sources."buffer-5.2.1"
-      sources."buffer-alloc-1.2.0"
-      sources."buffer-alloc-unsafe-1.1.0"
-      sources."buffer-crc32-0.2.13"
-      sources."buffer-fill-1.0.0"
-      sources."buffer-from-1.1.2"
-      sources."buffer-indexof-1.1.1"
-      sources."buffer-xor-1.0.3"
-      sources."bufferutil-4.0.7"
-      sources."builtin-status-codes-3.0.0"
-      (sources."cacache-15.3.0" // {
-        dependencies = [
-          sources."mkdirp-1.0.4"
-          sources."rimraf-3.0.2"
-        ];
-      })
-      (sources."cacheable-request-6.1.0" // {
-        dependencies = [
-          sources."get-stream-5.2.0"
-          sources."lowercase-keys-2.0.0"
-        ];
-      })
-      sources."cached-path-relative-1.1.0"
-      sources."call-bind-1.0.2"
-      sources."callsites-3.1.0"
-      sources."camel-case-3.0.0"
-      sources."camelcase-5.3.1"
-      sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001423"
-      sources."caseless-0.12.0"
-      sources."chalk-2.4.2"
-      sources."chokidar-3.5.3"
-      sources."chownr-2.0.0"
-      sources."chroma-js-2.4.2"
-      sources."chromium-pickle-js-0.2.0"
-      sources."ci-info-2.0.0"
-      sources."cipher-base-1.0.4"
-      sources."clean-stack-2.2.0"
-      sources."cli-boxes-2.2.1"
-      sources."cliui-7.0.4"
-      sources."clone-response-1.0.3"
-      sources."color-convert-1.9.3"
-      sources."color-name-1.1.3"
-      sources."color-support-1.1.3"
-      (sources."combine-source-map-0.8.0" // {
-        dependencies = [
-          sources."convert-source-map-1.1.3"
-        ];
-      })
-      sources."combined-stream-1.0.8"
-      sources."commander-5.1.0"
-      sources."compare-version-0.1.2"
-      sources."concat-map-0.0.1"
-      sources."concat-stream-1.6.2"
-      sources."config-chain-1.1.13"
-      sources."configstore-5.0.1"
-      sources."console-browserify-1.2.0"
-      sources."console-control-strings-1.1.0"
-      sources."constants-browserify-1.0.0"
-      sources."convert-source-map-1.9.0"
-      sources."core-js-3.22.5"
-      sources."core-js-compat-3.25.5"
-      sources."core-util-is-1.0.3"
-      sources."cpr-3.0.1"
-      (sources."create-ecdh-4.0.4" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      sources."create-hash-1.2.0"
-      sources."create-hmac-1.1.7"
-      sources."cross-spawn-7.0.3"
-      sources."cross-unzip-0.0.2"
-      sources."crypto-browserify-3.12.0"
-      sources."crypto-random-string-2.0.0"
-      sources."dash-ast-1.0.0"
-      sources."dashdash-1.14.1"
-      sources."debug-4.3.4"
-      sources."decamelize-1.2.0"
-      (sources."decamelize-keys-1.1.0" // {
-        dependencies = [
-          sources."map-obj-1.0.1"
-        ];
-      })
-      sources."decompress-response-3.3.0"
-      sources."deep-equal-1.1.1"
-      sources."deep-extend-0.6.0"
-      sources."deep-is-0.1.4"
-      sources."defer-to-connect-1.1.3"
-      sources."define-lazy-prop-2.0.0"
-      sources."define-properties-1.1.4"
-      sources."defined-1.0.1"
-      sources."delayed-stream-1.0.0"
-      sources."delegates-1.0.0"
-      sources."depd-1.1.2"
-      sources."deps-sort-2.0.1"
-      sources."des.js-1.0.1"
-      sources."destroy-1.2.0"
-      sources."detect-node-2.1.0"
-      sources."detective-5.2.1"
-      sources."diff-match-patch-1.0.5"
-      (sources."diffie-hellman-5.0.3" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      sources."dns-equal-1.0.0"
-      sources."dns-packet-1.3.4"
-      sources."dns-txt-git+https://github.com/jean-emmanuel/dns-txt#v2.0.3"
-      sources."doctrine-3.0.0"
-      (sources."dom-serializer-1.4.1" // {
-        dependencies = [
-          sources."domhandler-4.3.1"
-        ];
-      })
-      sources."domain-browser-1.2.0"
-      sources."domelementtype-2.3.0"
-      sources."domhandler-3.3.0"
-      (sources."domutils-2.8.0" // {
-        dependencies = [
-          sources."domhandler-4.3.1"
-        ];
-      })
-      sources."dot-prop-5.3.0"
-      sources."duplexer2-0.1.4"
-      sources."duplexer3-0.1.5"
-      sources."ecc-jsbn-0.1.2"
-      sources."ee-first-1.1.1"
-      sources."electron-21.2.0"
-      sources."electron-is-accelerator-0.1.2"
-      sources."electron-localshortcut-3.2.1"
-      (sources."electron-notarize-1.2.2" // {
-        dependencies = [
-          sources."fs-extra-9.1.0"
-          sources."jsonfile-6.1.0"
-          sources."universalify-2.0.0"
-        ];
-      })
-      (sources."electron-osx-sign-0.5.0" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-        ];
-      })
-      (sources."electron-packager-15.2.0" // {
-        dependencies = [
-          sources."fs-extra-9.1.0"
-          sources."jsonfile-6.1.0"
-          sources."universalify-2.0.0"
-        ];
-      })
-      (sources."electron-packager-plugin-non-proprietary-codecs-ffmpeg-1.0.2" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
-      sources."electron-to-chromium-1.4.284"
-      (sources."elliptic-6.5.4" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      sources."emoji-regex-8.0.0"
-      sources."encodeurl-1.0.2"
-      sources."encoding-0.1.13"
-      sources."end-of-stream-1.4.4"
-      sources."entities-2.2.0"
-      sources."env-paths-2.2.1"
-      sources."err-code-2.0.3"
-      sources."error-ex-1.3.2"
-      sources."error-stack-parser-2.1.4"
-      sources."es-abstract-1.20.4"
-      sources."es-to-primitive-1.2.1"
-      sources."es6-error-4.1.1"
-      sources."escalade-3.1.1"
-      sources."escape-goat-2.1.1"
-      sources."escape-html-1.0.3"
-      sources."escape-string-regexp-1.0.5"
-      sources."escaper-2.5.3"
-      (sources."eslint-8.16.0" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."escape-string-regexp-4.0.0"
-          sources."eslint-scope-7.1.1"
-          sources."eslint-visitor-keys-3.3.0"
-          sources."estraverse-5.3.0"
-          sources."glob-parent-6.0.2"
-          sources."globals-13.17.0"
-          sources."has-flag-4.0.0"
-          sources."minimatch-3.1.2"
-          sources."supports-color-7.2.0"
-          sources."type-fest-0.20.2"
-        ];
-      })
-      sources."eslint-scope-5.1.1"
-      sources."eslint-utils-3.0.0"
-      sources."eslint-visitor-keys-2.1.0"
-      (sources."espree-9.4.0" // {
-        dependencies = [
-          sources."acorn-8.8.0"
-          sources."eslint-visitor-keys-3.3.0"
-        ];
-      })
-      (sources."esquery-1.4.0" // {
-        dependencies = [
-          sources."estraverse-5.3.0"
-        ];
-      })
-      (sources."esrecurse-4.3.0" // {
-        dependencies = [
-          sources."estraverse-5.3.0"
-        ];
-      })
-      sources."estraverse-4.3.0"
-      sources."estree-is-member-expression-1.0.0"
-      sources."esutils-2.0.3"
-      sources."etag-1.8.1"
-      sources."events-3.3.0"
-      sources."evp_bytestokey-1.0.3"
-      (sources."exorcist-2.0.0" // {
-        dependencies = [
-          sources."mkdirp-1.0.4"
-        ];
-      })
-      sources."extend-3.0.2"
-      (sources."extract-zip-2.0.1" // {
-        dependencies = [
-          sources."get-stream-5.2.0"
-        ];
-      })
-      sources."extsprintf-1.3.0"
-      sources."fast-deep-equal-3.1.3"
-      sources."fast-json-stable-stringify-2.1.0"
-      sources."fast-levenshtein-2.0.6"
-      sources."fast-safe-stringify-2.1.1"
-      sources."fastdom-1.0.10"
-      sources."fd-slicer-1.1.0"
-      sources."file-entry-cache-6.0.1"
-      sources."file-saver-2.0.5"
-      sources."filename-reserved-regex-2.0.0"
-      sources."filenamify-4.3.0"
-      sources."fill-range-7.0.1"
-      sources."find-up-2.1.0"
-      (sources."flat-cache-3.0.4" // {
-        dependencies = [
-          sources."rimraf-3.0.2"
-        ];
-      })
-      sources."flatted-3.2.7"
-      (sources."flora-colossus-1.0.1" // {
-        dependencies = [
-          sources."fs-extra-7.0.1"
-        ];
-      })
-      sources."for-each-0.3.3"
-      sources."forever-agent-0.6.1"
-      sources."form-data-2.3.3"
-      sources."fresh-0.5.2"
-      sources."fs-extra-8.1.0"
-      sources."fs-minipass-2.1.0"
-      sources."fs.realpath-1.0.0"
-      sources."fsevents-2.3.2"
-      sources."function-bind-1.1.1"
-      sources."function.prototype.name-1.1.5"
-      sources."functional-red-black-tree-1.0.1"
-      sources."functions-have-names-1.2.3"
-      (sources."galactus-0.2.1" // {
-        dependencies = [
-          sources."debug-3.2.7"
-          sources."fs-extra-4.0.3"
-        ];
-      })
-      sources."gauge-4.0.4"
-      sources."gaze-1.1.3"
-      sources."gensync-1.0.0-beta.2"
-      sources."get-assigned-identifiers-1.2.0"
-      sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.3"
-      (sources."get-package-info-1.0.0" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-        ];
-      })
-      sources."get-stdin-4.0.1"
-      sources."get-stream-4.1.0"
-      sources."get-symbol-description-1.0.0"
-      sources."getpass-0.1.7"
-      (sources."glob-7.2.3" // {
-        dependencies = [
-          sources."minimatch-3.1.2"
-        ];
-      })
-      sources."glob-parent-5.1.2"
-      sources."global-agent-3.0.0"
-      (sources."global-dirs-3.0.0" // {
-        dependencies = [
-          sources."ini-2.0.0"
-        ];
-      })
-      sources."global-tunnel-ng-2.7.1"
-      sources."globals-11.12.0"
-      sources."globalthis-1.0.3"
-      (sources."globule-1.3.4" // {
-        dependencies = [
-          sources."glob-7.1.7"
-          sources."minimatch-3.0.8"
-        ];
-      })
-      sources."got-9.6.0"
-      sources."graceful-fs-4.2.10"
-      sources."gyronorm-2.0.6"
-      sources."har-schema-2.0.0"
-      sources."har-validator-5.1.5"
-      sources."hard-rejection-2.1.0"
-      sources."has-1.0.3"
-      (sources."has-ansi-2.0.0" // {
-        dependencies = [
-          sources."ansi-regex-2.1.1"
-        ];
-      })
-      sources."has-bigints-1.0.2"
-      sources."has-flag-3.0.0"
-      sources."has-property-descriptors-1.0.0"
-      sources."has-symbols-1.0.3"
-      sources."has-tostringtag-1.0.0"
-      sources."has-unicode-2.0.1"
-      sources."has-yarn-2.1.0"
-      (sources."hash-base-3.1.0" // {
-        dependencies = [
-          sources."readable-stream-3.6.0"
-        ];
-      })
-      sources."hash.js-1.1.7"
-      sources."hmac-drbg-1.0.1"
-      sources."hosted-git-info-2.8.9"
-      sources."htmlescape-1.1.1"
-      sources."htmlparser2-4.1.0"
-      (sources."http-auth-4.1.9" // {
-        dependencies = [
-          sources."uuid-8.3.2"
-        ];
-      })
-      sources."http-cache-semantics-4.1.0"
-      (sources."http-errors-2.0.0" // {
-        dependencies = [
-          sources."depd-2.0.0"
-        ];
-      })
-      sources."http-proxy-agent-4.0.1"
-      sources."http-signature-1.2.0"
-      sources."https-browserify-1.0.0"
-      sources."https-proxy-agent-5.0.1"
-      sources."humanize-ms-1.2.1"
-      sources."hyperscript-attribute-to-property-1.0.2"
-      sources."hyperx-2.5.4"
-      sources."iconv-lite-0.6.3"
-      sources."ieee754-1.2.1"
-      sources."ignore-5.2.0"
-      sources."ignore-by-default-1.0.1"
-      sources."import-fresh-3.3.0"
-      sources."import-lazy-2.1.0"
-      sources."imurmurhash-0.1.4"
-      sources."indent-string-4.0.0"
-      sources."infer-owner-1.0.4"
-      sources."inflight-1.0.6"
-      sources."inherits-2.0.4"
-      sources."ini-1.3.8"
-      sources."inline-source-map-0.6.2"
-      sources."insert-module-globals-7.2.1"
-      sources."internal-slot-1.0.3"
-      sources."ip-1.1.8"
-      sources."is-arguments-1.1.1"
-      sources."is-arrayish-0.2.1"
-      sources."is-bigint-1.0.4"
-      sources."is-binary-path-2.1.0"
-      sources."is-boolean-attribute-0.0.1"
-      sources."is-boolean-object-1.1.2"
-      sources."is-buffer-1.1.6"
-      sources."is-callable-1.2.7"
-      sources."is-ci-2.0.0"
-      sources."is-core-module-2.11.0"
-      sources."is-date-object-1.0.5"
-      sources."is-docker-2.2.1"
-      sources."is-extglob-2.1.1"
-      sources."is-fullwidth-code-point-3.0.0"
-      sources."is-generator-function-1.0.10"
-      sources."is-glob-4.0.3"
-      sources."is-installed-globally-0.4.0"
-      sources."is-lambda-1.0.1"
-      sources."is-negative-zero-2.0.2"
-      sources."is-npm-5.0.0"
-      sources."is-number-7.0.0"
-      sources."is-number-object-1.0.7"
-      sources."is-obj-2.0.0"
-      sources."is-path-inside-3.0.3"
-      sources."is-plain-obj-1.1.0"
-      sources."is-regex-1.1.4"
-      sources."is-regexp-1.0.0"
-      sources."is-shared-array-buffer-1.0.2"
-      sources."is-stream-2.0.1"
-      sources."is-string-1.0.7"
-      sources."is-symbol-1.0.4"
-      sources."is-typed-array-1.1.9"
-      sources."is-typedarray-1.0.0"
-      sources."is-weakref-1.0.2"
-      sources."is-wsl-2.2.0"
-      sources."is-yarn-global-0.3.0"
-      sources."isarray-1.0.0"
-      sources."isbinaryfile-3.0.3"
-      sources."isexe-2.0.0"
-      sources."isstream-0.1.2"
-      sources."js-base64-2.6.4"
-      sources."js-tokens-4.0.0"
-      sources."js-yaml-4.1.0"
-      sources."jsbn-0.1.1"
-      sources."jsesc-2.5.2"
-      sources."json-buffer-3.0.0"
-      sources."json-parse-even-better-errors-2.3.1"
-      sources."json-schema-0.4.0"
-      sources."json-schema-traverse-0.4.1"
-      sources."json-stable-stringify-without-jsonify-1.0.1"
-      sources."json-stringify-safe-5.0.1"
-      sources."json5-2.2.1"
-      sources."jsondiffpatch-0.4.1"
-      sources."jsonfile-4.0.0"
-      sources."jsonparse-1.3.1"
-      sources."jsprim-1.4.2"
-      sources."junk-3.1.0"
-      sources."keyboardevent-from-electron-accelerator-2.0.0"
-      sources."keyboardevents-areequal-0.2.2"
-      sources."keyboardjs-2.6.4"
-      sources."keyv-3.1.0"
-      sources."kind-of-6.0.3"
-      sources."labeled-stream-splicer-2.0.2"
-      sources."latest-version-5.1.0"
-      sources."levn-0.4.1"
-      sources."licensify-3.1.3"
-      sources."lines-and-columns-1.2.4"
-      (sources."load-json-file-2.0.0" // {
-        dependencies = [
-          sources."pify-2.3.0"
-        ];
-      })
-      sources."locate-path-2.0.0"
-      sources."lodash-4.17.21"
-      sources."lodash.debounce-4.0.8"
-      sources."lodash.get-4.4.2"
-      sources."lodash.memoize-3.0.4"
-      sources."lodash.merge-4.6.2"
-      sources."long-4.0.0"
-      sources."loop-protect-git+https://github.com/jean-emmanuel/loop-protect#v1.0.1"
-      sources."lower-case-1.1.4"
-      sources."lowercase-keys-1.0.1"
-      sources."lru-cache-6.0.0"
-      sources."magic-string-0.23.2"
-      (sources."make-dir-3.1.0" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      sources."make-fetch-happen-9.1.0"
-      sources."map-obj-4.3.0"
-      (sources."matcher-3.0.0" // {
-        dependencies = [
-          sources."escape-string-regexp-4.0.0"
-        ];
-      })
-      sources."md5.js-1.3.5"
-      (sources."meow-9.0.0" // {
-        dependencies = [
-          sources."find-up-4.1.0"
-          sources."hosted-git-info-4.1.0"
-          sources."locate-path-5.0.0"
-          sources."normalize-package-data-3.0.3"
-          sources."p-limit-2.3.0"
-          sources."p-locate-4.1.0"
-          sources."p-try-2.2.0"
-          sources."parse-json-5.2.0"
-          sources."path-exists-4.0.0"
-          (sources."read-pkg-5.2.0" // {
-            dependencies = [
-              sources."hosted-git-info-2.8.9"
-              sources."normalize-package-data-2.5.0"
-              sources."type-fest-0.6.0"
-            ];
-          })
-          (sources."read-pkg-up-7.0.1" // {
-            dependencies = [
-              sources."type-fest-0.8.1"
-            ];
-          })
-          sources."semver-5.7.1"
-          sources."type-fest-0.18.1"
-        ];
-      })
-      sources."merge-source-map-1.0.4"
-      (sources."miller-rabin-4.0.1" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      sources."mime-1.6.0"
-      sources."mime-db-1.52.0"
-      sources."mime-types-2.1.35"
-      sources."mimic-response-1.0.1"
-      sources."min-indent-1.0.1"
-      sources."minimalistic-assert-1.0.1"
-      sources."minimalistic-crypto-utils-1.0.1"
-      (sources."minimatch-5.1.0" // {
-        dependencies = [
-          sources."balanced-match-1.0.2"
-          sources."brace-expansion-2.0.1"
-        ];
-      })
-      sources."minimist-1.2.7"
-      sources."minimist-options-4.1.0"
-      sources."minipass-3.3.5"
-      sources."minipass-collect-1.0.2"
-      sources."minipass-fetch-1.4.1"
-      sources."minipass-flush-1.0.5"
-      sources."minipass-pipeline-1.2.4"
-      sources."minipass-sized-1.0.3"
-      sources."minizlib-2.1.2"
-      sources."mkdirp-0.5.6"
-      sources."mkdirp-classic-0.5.3"
-      sources."module-deps-6.2.3"
-      (sources."mold-source-map-0.4.0" // {
-        dependencies = [
-          sources."through-2.2.7"
-        ];
-      })
-      sources."ms-2.1.2"
-      sources."multicast-dns-git+https://github.com/jean-emmanuel/multicast-dns"
-      sources."multicast-dns-service-types-1.1.0"
-      sources."mutexify-1.4.0"
-      sources."nan-2.17.0"
-      sources."nanoassert-1.1.0"
-      (sources."nanobench-2.1.1" // {
-        dependencies = [
-          sources."ansi-regex-2.1.1"
-          sources."ansi-styles-2.2.1"
-          sources."chalk-1.1.3"
-          sources."strip-ansi-3.0.1"
-          sources."supports-color-2.0.0"
-        ];
-      })
-      sources."nanohtml-1.10.0"
-      sources."nanoid-3.3.4"
-      sources."nanomorph-5.4.3"
-      sources."natural-compare-1.4.0"
-      sources."negotiator-0.6.3"
-      sources."no-case-2.3.2"
-      sources."node-forge-1.3.1"
-      (sources."node-gyp-8.4.1" // {
-        dependencies = [
-          sources."npmlog-6.0.2"
-          sources."rimraf-3.0.2"
-        ];
-      })
-      sources."node-gyp-build-4.5.0"
-      sources."node-mouse-0.0.2"
-      sources."node-releases-2.0.6"
-      (sources."node-sass-7.0.1" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."nodemon-2.0.16" // {
-        dependencies = [
-          sources."debug-3.2.7"
-          sources."minimatch-3.1.2"
-          sources."semver-5.7.1"
-        ];
-      })
-      sources."nopt-5.0.0"
-      sources."normalize-html-whitespace-0.2.0"
-      (sources."normalize-package-data-2.5.0" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
-      sources."normalize-path-3.0.0"
-      sources."normalize-url-4.5.1"
-      sources."nosleep.js-0.12.0"
-      sources."npm-conf-1.1.3"
-      (sources."npmlog-5.0.1" // {
-        dependencies = [
-          sources."are-we-there-yet-2.0.0"
-          sources."gauge-3.0.2"
-          sources."readable-stream-3.6.0"
-        ];
-      })
-      sources."oauth-sign-0.9.0"
-      sources."object-assign-4.1.1"
-      sources."object-inspect-1.12.2"
-      sources."object-is-1.1.5"
-      sources."object-keys-1.1.1"
-      sources."object.assign-4.1.4"
-      sources."offset-sourcemap-lines-1.0.1"
-      sources."on-finished-2.4.1"
-      sources."once-1.4.0"
-      sources."open-8.4.0"
-      sources."optionator-0.9.1"
-      sources."os-browserify-0.3.0"
-      (sources."osc-git+https://github.com/jean-emmanuel/osc.js" // {
-        dependencies = [
-          sources."ws-7.5.3"
-        ];
-      })
-      sources."osi-licenses-0.1.1"
-      sources."oss-license-name-to-url-1.2.1"
-      sources."p-cancelable-1.1.0"
-      sources."p-limit-1.3.0"
-      sources."p-locate-2.0.0"
-      sources."p-map-4.0.0"
-      sources."p-try-1.0.0"
-      (sources."package-json-6.5.0" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      sources."pako-1.0.11"
-      sources."parent-module-1.0.1"
-      sources."parents-1.0.1"
-      sources."parse-asn1-5.1.6"
-      sources."parse-author-2.0.0"
-      sources."parse-json-2.2.0"
-      sources."parse-srcset-1.0.2"
-      sources."path-browserify-1.0.1"
-      sources."path-exists-3.0.0"
-      sources."path-is-absolute-1.0.1"
-      sources."path-key-3.1.1"
-      sources."path-parse-1.0.7"
-      sources."path-platform-0.11.15"
-      (sources."path-type-2.0.0" // {
-        dependencies = [
-          sources."pify-2.3.0"
-        ];
-      })
-      sources."pbkdf2-3.1.2"
-      sources."pend-1.2.0"
-      sources."performance-now-2.1.0"
-      sources."picocolors-1.0.0"
-      sources."picomatch-2.3.1"
-      sources."pify-3.0.0"
-      sources."plist-3.0.6"
-      (sources."postcss-7.0.39" // {
-        dependencies = [
-          sources."picocolors-0.2.1"
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."prelude-ls-1.2.1"
-      sources."prepend-http-2.0.0"
-      sources."pretty-hrtime-1.0.3"
-      sources."process-0.11.10"
-      sources."process-nextick-args-2.0.1"
-      sources."progress-2.0.3"
-      sources."promise-inflight-1.0.1"
-      sources."promise-retry-2.0.1"
-      sources."proto-list-1.2.4"
-      sources."psl-1.9.0"
-      sources."pstree.remy-1.1.8"
-      (sources."public-encrypt-4.0.3" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      sources."pump-3.0.0"
-      sources."punycode-1.4.1"
-      sources."pupa-2.1.1"
-      sources."python-shell-3.0.1"
-      sources."qs-6.5.3"
-      sources."querystring-0.2.0"
-      sources."querystring-es3-0.2.1"
-      sources."queue-tick-1.0.1"
-      sources."quick-lru-4.0.1"
-      sources."randombytes-2.1.0"
-      sources."randomfill-1.0.4"
-      sources."range-parser-1.2.1"
-      (sources."rc-1.2.8" // {
-        dependencies = [
-          sources."strip-json-comments-2.0.1"
-        ];
-      })
-      sources."rcedit-2.3.0"
-      sources."read-only-stream-2.0.0"
-      sources."read-pkg-2.0.0"
-      sources."read-pkg-up-2.0.0"
-      (sources."readable-stream-2.3.7" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."readdirp-3.6.0"
-      sources."redent-3.0.0"
-      sources."regenerate-1.4.2"
-      sources."regenerate-unicode-properties-10.1.0"
-      sources."regenerator-runtime-0.13.10"
-      sources."regenerator-transform-0.15.0"
-      sources."regexp.prototype.flags-1.4.3"
-      sources."regexpp-3.2.0"
-      sources."regexpu-core-5.2.1"
-      sources."registry-auth-token-4.2.2"
-      sources."registry-url-5.1.0"
-      sources."regjsgen-0.7.1"
-      (sources."regjsparser-0.9.1" // {
-        dependencies = [
-          sources."jsesc-0.5.0"
-        ];
-      })
-      sources."replacestream-4.0.3"
-      sources."request-2.88.2"
-      sources."require-directory-2.1.1"
-      sources."resolve-1.22.1"
-      sources."resolve-from-4.0.0"
-      sources."responselike-1.0.2"
-      sources."retry-0.12.0"
-      sources."rimraf-2.7.1"
-      sources."ripemd160-2.0.2"
-      sources."roarr-2.15.4"
-      sources."safe-buffer-5.2.1"
-      sources."safe-regex-test-1.0.0"
-      sources."safer-buffer-2.1.2"
-      sources."sanitize-html-1.27.5"
-      sources."sass-graph-4.0.0"
-      sources."scope-css-1.2.1"
-      sources."screenfull-5.2.0"
-      (sources."scss-tokenizer-0.3.0" // {
-        dependencies = [
-          sources."source-map-0.7.4"
-        ];
-      })
-      sources."semver-7.3.7"
-      sources."semver-compare-1.0.0"
-      (sources."semver-diff-3.1.1" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      (sources."send-0.18.0" // {
-        dependencies = [
-          (sources."debug-2.6.9" // {
-            dependencies = [
-              sources."ms-2.0.0"
-            ];
-          })
-          sources."depd-2.0.0"
-          sources."ms-2.1.3"
-        ];
-      })
-      sources."serialize-error-7.0.1"
-      sources."set-blocking-2.0.0"
-      sources."setprototypeof-1.2.0"
-      sources."sha.js-2.4.11"
-      sources."shasum-object-1.0.0"
-      sources."shebang-command-2.0.0"
-      sources."shebang-regex-3.0.0"
-      sources."shell-quote-1.7.4"
-      sources."side-channel-1.0.4"
-      sources."signal-exit-3.0.7"
-      sources."simple-concat-1.0.1"
-      sources."slip-1.0.2"
-      sources."slugify-1.6.5"
-      sources."smart-buffer-4.2.0"
-      (sources."socks-2.7.1" // {
-        dependencies = [
-          sources."ip-2.0.0"
-        ];
-      })
-      sources."socks-proxy-agent-6.2.1"
-      sources."sortablejs-1.15.0"
-      sources."source-map-0.5.7"
-      (sources."source-map-support-0.5.21" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."sourcemap-codec-1.4.8"
-      sources."spdx-correct-3.1.1"
-      sources."spdx-exceptions-2.3.0"
-      sources."spdx-expression-parse-3.0.1"
-      sources."spdx-license-ids-3.0.12"
-      sources."sprintf-js-1.1.2"
-      sources."sshpk-1.17.0"
-      sources."ssri-8.0.1"
-      sources."stack-generator-2.0.10"
-      sources."stackframe-1.3.4"
-      (sources."stacktrace-gps-3.1.2" // {
-        dependencies = [
-          sources."source-map-0.5.6"
-        ];
-      })
-      sources."stacktrace-js-2.0.2"
-      sources."statuses-2.0.1"
-      sources."stdout-stream-1.4.1"
-      (sources."stream-browserify-3.0.0" // {
-        dependencies = [
-          sources."readable-stream-3.6.0"
-        ];
-      })
-      sources."stream-combiner2-1.1.1"
-      (sources."stream-http-3.2.0" // {
-        dependencies = [
-          sources."readable-stream-3.6.0"
-        ];
-      })
-      sources."stream-splicer-2.0.1"
-      sources."strictdom-1.0.1"
-      sources."string-width-4.2.3"
-      sources."string.prototype.trimend-1.0.5"
-      sources."string.prototype.trimstart-1.0.5"
-      sources."string_decoder-1.3.0"
-      sources."strip-ansi-6.0.1"
-      sources."strip-bom-3.0.0"
-      sources."strip-css-comments-3.0.0"
-      sources."strip-indent-3.0.0"
-      sources."strip-json-comments-3.1.1"
-      sources."strip-outer-1.0.1"
-      sources."subarg-1.0.0"
-      sources."sumchecker-3.0.1"
-      sources."supports-color-5.5.0"
-      sources."supports-preserve-symlinks-flag-1.0.0"
-      sources."syntax-error-1.4.0"
-      (sources."tar-6.1.11" // {
-        dependencies = [
-          sources."mkdirp-1.0.4"
-        ];
-      })
-      (sources."terser-3.17.0" // {
-        dependencies = [
-          sources."commander-2.20.3"
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."text-table-0.2.0"
-      sources."through-2.3.8"
-      sources."through2-2.0.5"
-      sources."thunky-1.1.0"
-      sources."timers-browserify-1.4.2"
-      sources."to-fast-properties-2.0.0"
-      sources."to-readable-stream-1.0.0"
-      sources."to-regex-range-5.0.1"
-      sources."toidentifier-1.0.1"
-      (sources."touch-3.1.0" // {
-        dependencies = [
-          sources."nopt-1.0.10"
-        ];
-      })
-      (sources."tough-cookie-2.5.0" // {
-        dependencies = [
-          sources."punycode-2.1.1"
-        ];
-      })
-      (sources."transform-ast-2.4.4" // {
-        dependencies = [
-          sources."is-buffer-2.0.5"
-        ];
-      })
-      sources."trim-newlines-3.0.1"
-      sources."trim-repeated-1.0.0"
-      sources."true-case-path-1.0.3"
-      sources."tty-browserify-0.0.1"
-      sources."tunnel-0.0.6"
-      sources."tunnel-agent-0.6.0"
-      sources."tweetnacl-0.14.5"
-      sources."type-check-0.4.0"
-      sources."type-fest-0.13.1"
-      sources."type-name-2.0.2"
-      sources."typedarray-0.0.6"
-      sources."typedarray-to-buffer-3.1.5"
-      (sources."uglifyify-5.0.2" // {
-        dependencies = [
-          sources."convert-source-map-1.1.3"
-          sources."minimatch-3.1.2"
-        ];
-      })
-      sources."umd-3.0.3"
-      sources."unbox-primitive-1.0.2"
-      sources."undeclared-identifiers-1.1.3"
-      sources."undefsafe-2.0.5"
-      sources."unicode-canonical-property-names-ecmascript-2.0.0"
-      sources."unicode-match-property-ecmascript-2.0.0"
-      sources."unicode-match-property-value-ecmascript-2.0.0"
-      sources."unicode-property-aliases-ecmascript-2.1.0"
-      sources."unique-filename-1.1.1"
-      sources."unique-slug-2.0.2"
-      sources."unique-string-2.0.0"
-      sources."universalify-0.1.2"
-      sources."unix-crypt-td-js-1.1.4"
-      sources."update-browserslist-db-1.0.10"
-      (sources."update-notifier-5.1.0" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."upper-case-1.1.3"
-      (sources."uri-js-4.4.1" // {
-        dependencies = [
-          sources."punycode-2.1.1"
-        ];
-      })
-      (sources."url-0.11.0" // {
-        dependencies = [
-          sources."punycode-1.3.2"
-        ];
-      })
-      sources."url-parse-lax-3.0.0"
-      sources."utf-8-validate-5.0.10"
-      sources."util-0.12.5"
-      sources."util-deprecate-1.0.2"
-      sources."uuid-3.4.0"
-      sources."v8-compile-cache-2.3.0"
-      sources."validate-npm-package-license-3.0.4"
-      (sources."verror-1.10.0" // {
-        dependencies = [
-          sources."core-util-is-1.0.2"
-        ];
-      })
-      sources."vm-browserify-1.1.2"
-      sources."webworkify-1.5.0"
-      sources."which-2.0.2"
-      sources."which-boxed-primitive-1.0.2"
-      sources."which-typed-array-1.1.8"
-      sources."wide-align-1.1.5"
-      sources."widest-line-3.1.0"
-      sources."wolfy87-eventemitter-5.2.9"
-      sources."word-wrap-1.2.3"
-      (sources."wrap-ansi-7.0.0" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-        ];
-      })
-      sources."wrappy-1.0.2"
-      sources."write-file-atomic-3.0.3"
-      sources."ws-8.6.0"
-      sources."xdg-basedir-4.0.0"
-      sources."xmlbuilder-15.1.1"
-      sources."xtend-4.0.2"
-      sources."y18n-5.0.8"
-      sources."yallist-4.0.0"
-      (sources."yargs-17.5.1" // {
-        dependencies = [
-          sources."yargs-parser-21.1.1"
-        ];
-      })
-      sources."yargs-parser-20.2.9"
-      sources."yauzl-2.10.0"
-    ];
-    buildInputs = globalBuildInputs;
-    meta = {
-      description = "Libre and modular OSC / MIDI controller";
-      homepage = "http://openstagecontrol.ammd.net/";
-      license = "GPL-3.0";
-    };
-    production = true;
-    bypassCache = true;
-    reconstructLock = true;
-  };
-in
-{
-  args = args;
-  sources = sources;
-  tarball = nodeEnv.buildNodeSourceDist args;
-  package = nodeEnv.buildNodePackage args;
-  shell = nodeEnv.buildNodeShell args;
-  nodeDependencies = nodeEnv.buildNodeDependencies (lib.overrideExisting args {
-    src = stdenv.mkDerivation {
-      name = args.name + "-package-json";
-      src = nix-gitignore.gitignoreSourcePure [
-        "*"
-        "!package.json"
-        "!package-lock.json"
-      ] args.src;
-      dontBuild = true;
-      installPhase = "mkdir -p $out; cp -r ./* $out;";
-    };
-  });
-}
diff --git a/pkgs/applications/audio/open-stage-control/package-lock.json.patch b/pkgs/applications/audio/open-stage-control/package-lock.json.patch
new file mode 100644
index 0000000000000..44a82d595aad1
--- /dev/null
+++ b/pkgs/applications/audio/open-stage-control/package-lock.json.patch
@@ -0,0 +1,18247 @@
+--- /dev/null	2022-11-10 08:46:51.851132440 -0500
++++ ./package-lock.json	2022-11-10 10:15:51.122373816 -0500
+@@ -0,0 +1,18244 @@
++{
++  "name": "open-stage-control",
++  "version": "1.20.0",
++  "lockfileVersion": 2,
++  "requires": true,
++  "packages": {
++    "": {
++      "name": "open-stage-control",
++      "version": "1.20.0",
++      "hasInstallScript": true,
++      "license": "GPL-3.0",
++      "dependencies": {
++        "@babel/core": "7.18.0",
++        "@babel/eslint-parser": "7.17.0",
++        "@babel/plugin-proposal-object-rest-spread": "7.18.0",
++        "@babel/polyfill": "7.12.1",
++        "@babel/preset-env": "7.18.0",
++        "@electron/remote": "2.0.8",
++        "ansi-html": "0.0.9",
++        "babelify": "10.0.0",
++        "balanced-match": "2.0.0",
++        "bonjour": "github:jean-emmanuel/bonjour",
++        "brace": "0.11.1",
++        "browserify": "17.0.0",
++        "chokidar": "3.5.3",
++        "chroma-js": "2.4.2",
++        "core-js": "3.22.5",
++        "cpr": "3.0.1",
++        "deep-extend": "0.6.0",
++        "electron-localshortcut": "3.2.1",
++        "electron-packager": "15.2.0",
++        "electron-packager-plugin-non-proprietary-codecs-ffmpeg": "1.0.2",
++        "env-paths": "2.2.1",
++        "eslint": "8.16.0",
++        "exorcist": "2.0.0",
++        "fastdom": "1.0.10",
++        "file-saver": "2.0.5",
++        "gyronorm": "2.0.6",
++        "http-auth": "4.1.9",
++        "json5": "2.2.1",
++        "jsondiffpatch": "0.4.1",
++        "keyboardjs": "2.6.4",
++        "licensify": "3.1.3",
++        "loop-protect": "github:jean-emmanuel/loop-protect#v1.0.1",
++        "minimatch": "5.1.0",
++        "nanohtml": "1.10.0",
++        "nanoid": "3.3.4",
++        "nanomorph": "5.4.3",
++        "node-forge": "1.3.1",
++        "node-mouse": "0.0.2",
++        "node-sass": "7.0.1",
++        "nodemon": "2.0.16",
++        "nosleep.js": "0.12.0",
++        "open": "8.4.0",
++        "osc": "github:jean-emmanuel/osc.js",
++        "python-shell": "3.0.1",
++        "replacestream": "4.0.3",
++        "sanitize-html": "1.27.5",
++        "scope-css": "1.2.1",
++        "screenfull": "5.2.0",
++        "semver": "7.3.7",
++        "send": "0.18.0",
++        "sortablejs": "1.15.0",
++        "source-map-support": "0.5.21",
++        "stacktrace-js": "2.0.2",
++        "through": "2.3.8",
++        "uglifyify": "5.0.2",
++        "webworkify": "1.5.0",
++        "ws": "8.6.0",
++        "yargs": "17.5.1"
++      },
++      "devDependencies": {
++        "watchify": "4.0.0"
++      },
++      "engines": {
++        "node": "16"
++      }
++    },
++    "node_modules/@ampproject/remapping": {
++      "version": "2.2.0",
++      "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
++      "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
++      "dependencies": {
++        "@jridgewell/gen-mapping": "^0.1.0",
++        "@jridgewell/trace-mapping": "^0.3.9"
++      },
++      "engines": {
++        "node": ">=6.0.0"
++      }
++    },
++    "node_modules/@babel/code-frame": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
++      "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
++      "dependencies": {
++        "@babel/highlight": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/compat-data": {
++      "version": "7.20.1",
++      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.1.tgz",
++      "integrity": "sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==",
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/core": {
++      "version": "7.18.0",
++      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.0.tgz",
++      "integrity": "sha512-Xyw74OlJwDijToNi0+6BBI5mLLR5+5R3bcSH80LXzjzEGEUlvNzujEE71BaD/ApEZHAvFI/Mlmp4M5lIkdeeWw==",
++      "dependencies": {
++        "@ampproject/remapping": "^2.1.0",
++        "@babel/code-frame": "^7.16.7",
++        "@babel/generator": "^7.18.0",
++        "@babel/helper-compilation-targets": "^7.17.10",
++        "@babel/helper-module-transforms": "^7.18.0",
++        "@babel/helpers": "^7.18.0",
++        "@babel/parser": "^7.18.0",
++        "@babel/template": "^7.16.7",
++        "@babel/traverse": "^7.18.0",
++        "@babel/types": "^7.18.0",
++        "convert-source-map": "^1.7.0",
++        "debug": "^4.1.0",
++        "gensync": "^1.0.0-beta.2",
++        "json5": "^2.2.1",
++        "semver": "^6.3.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "funding": {
++        "type": "opencollective",
++        "url": "https://opencollective.com/babel"
++      }
++    },
++    "node_modules/@babel/core/node_modules/semver": {
++      "version": "6.3.0",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
++      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
++      "bin": {
++        "semver": "bin/semver.js"
++      }
++    },
++    "node_modules/@babel/eslint-parser": {
++      "version": "7.17.0",
++      "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.17.0.tgz",
++      "integrity": "sha512-PUEJ7ZBXbRkbq3qqM/jZ2nIuakUBqCYc7Qf52Lj7dlZ6zERnqisdHioL0l4wwQZnmskMeasqUNzLBFKs3nylXA==",
++      "dependencies": {
++        "eslint-scope": "^5.1.1",
++        "eslint-visitor-keys": "^2.1.0",
++        "semver": "^6.3.0"
++      },
++      "engines": {
++        "node": "^10.13.0 || ^12.13.0 || >=14.0.0"
++      },
++      "peerDependencies": {
++        "@babel/core": ">=7.11.0",
++        "eslint": "^7.5.0 || ^8.0.0"
++      }
++    },
++    "node_modules/@babel/eslint-parser/node_modules/semver": {
++      "version": "6.3.0",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
++      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
++      "bin": {
++        "semver": "bin/semver.js"
++      }
++    },
++    "node_modules/@babel/generator": {
++      "version": "7.20.4",
++      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.4.tgz",
++      "integrity": "sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA==",
++      "dependencies": {
++        "@babel/types": "^7.20.2",
++        "@jridgewell/gen-mapping": "^0.3.2",
++        "jsesc": "^2.5.1"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": {
++      "version": "0.3.2",
++      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
++      "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
++      "dependencies": {
++        "@jridgewell/set-array": "^1.0.1",
++        "@jridgewell/sourcemap-codec": "^1.4.10",
++        "@jridgewell/trace-mapping": "^0.3.9"
++      },
++      "engines": {
++        "node": ">=6.0.0"
++      }
++    },
++    "node_modules/@babel/helper-annotate-as-pure": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz",
++      "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==",
++      "dependencies": {
++        "@babel/types": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz",
++      "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==",
++      "dependencies": {
++        "@babel/helper-explode-assignable-expression": "^7.18.6",
++        "@babel/types": "^7.18.9"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-compilation-targets": {
++      "version": "7.20.0",
++      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz",
++      "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==",
++      "dependencies": {
++        "@babel/compat-data": "^7.20.0",
++        "@babel/helper-validator-option": "^7.18.6",
++        "browserslist": "^4.21.3",
++        "semver": "^6.3.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0"
++      }
++    },
++    "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
++      "version": "6.3.0",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
++      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
++      "bin": {
++        "semver": "bin/semver.js"
++      }
++    },
++    "node_modules/@babel/helper-create-class-features-plugin": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.2.tgz",
++      "integrity": "sha512-k22GoYRAHPYr9I+Gvy2ZQlAe5mGy8BqWst2wRt8cwIufWTxrsVshhIBvYNqC80N0GSFWTsqRVexOtfzlgOEDvA==",
++      "dependencies": {
++        "@babel/helper-annotate-as-pure": "^7.18.6",
++        "@babel/helper-environment-visitor": "^7.18.9",
++        "@babel/helper-function-name": "^7.19.0",
++        "@babel/helper-member-expression-to-functions": "^7.18.9",
++        "@babel/helper-optimise-call-expression": "^7.18.6",
++        "@babel/helper-replace-supers": "^7.19.1",
++        "@babel/helper-split-export-declaration": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0"
++      }
++    },
++    "node_modules/@babel/helper-create-regexp-features-plugin": {
++      "version": "7.19.0",
++      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz",
++      "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==",
++      "dependencies": {
++        "@babel/helper-annotate-as-pure": "^7.18.6",
++        "regexpu-core": "^5.1.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0"
++      }
++    },
++    "node_modules/@babel/helper-define-polyfill-provider": {
++      "version": "0.3.3",
++      "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz",
++      "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==",
++      "dependencies": {
++        "@babel/helper-compilation-targets": "^7.17.7",
++        "@babel/helper-plugin-utils": "^7.16.7",
++        "debug": "^4.1.1",
++        "lodash.debounce": "^4.0.8",
++        "resolve": "^1.14.2",
++        "semver": "^6.1.2"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.4.0-0"
++      }
++    },
++    "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": {
++      "version": "6.3.0",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
++      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
++      "bin": {
++        "semver": "bin/semver.js"
++      }
++    },
++    "node_modules/@babel/helper-environment-visitor": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
++      "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-explode-assignable-expression": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz",
++      "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==",
++      "dependencies": {
++        "@babel/types": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-function-name": {
++      "version": "7.19.0",
++      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz",
++      "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==",
++      "dependencies": {
++        "@babel/template": "^7.18.10",
++        "@babel/types": "^7.19.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-hoist-variables": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
++      "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
++      "dependencies": {
++        "@babel/types": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-member-expression-to-functions": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz",
++      "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==",
++      "dependencies": {
++        "@babel/types": "^7.18.9"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-module-imports": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
++      "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
++      "dependencies": {
++        "@babel/types": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-module-transforms": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz",
++      "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==",
++      "dependencies": {
++        "@babel/helper-environment-visitor": "^7.18.9",
++        "@babel/helper-module-imports": "^7.18.6",
++        "@babel/helper-simple-access": "^7.20.2",
++        "@babel/helper-split-export-declaration": "^7.18.6",
++        "@babel/helper-validator-identifier": "^7.19.1",
++        "@babel/template": "^7.18.10",
++        "@babel/traverse": "^7.20.1",
++        "@babel/types": "^7.20.2"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-optimise-call-expression": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz",
++      "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==",
++      "dependencies": {
++        "@babel/types": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-plugin-utils": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz",
++      "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==",
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-remap-async-to-generator": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz",
++      "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==",
++      "dependencies": {
++        "@babel/helper-annotate-as-pure": "^7.18.6",
++        "@babel/helper-environment-visitor": "^7.18.9",
++        "@babel/helper-wrap-function": "^7.18.9",
++        "@babel/types": "^7.18.9"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0"
++      }
++    },
++    "node_modules/@babel/helper-replace-supers": {
++      "version": "7.19.1",
++      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz",
++      "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==",
++      "dependencies": {
++        "@babel/helper-environment-visitor": "^7.18.9",
++        "@babel/helper-member-expression-to-functions": "^7.18.9",
++        "@babel/helper-optimise-call-expression": "^7.18.6",
++        "@babel/traverse": "^7.19.1",
++        "@babel/types": "^7.19.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-simple-access": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz",
++      "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==",
++      "dependencies": {
++        "@babel/types": "^7.20.2"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-skip-transparent-expression-wrappers": {
++      "version": "7.20.0",
++      "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz",
++      "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==",
++      "dependencies": {
++        "@babel/types": "^7.20.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-split-export-declaration": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
++      "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
++      "dependencies": {
++        "@babel/types": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-string-parser": {
++      "version": "7.19.4",
++      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz",
++      "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==",
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-validator-identifier": {
++      "version": "7.19.1",
++      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
++      "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-validator-option": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz",
++      "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==",
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-wrap-function": {
++      "version": "7.19.0",
++      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz",
++      "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==",
++      "dependencies": {
++        "@babel/helper-function-name": "^7.19.0",
++        "@babel/template": "^7.18.10",
++        "@babel/traverse": "^7.19.0",
++        "@babel/types": "^7.19.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helpers": {
++      "version": "7.20.1",
++      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.1.tgz",
++      "integrity": "sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==",
++      "dependencies": {
++        "@babel/template": "^7.18.10",
++        "@babel/traverse": "^7.20.1",
++        "@babel/types": "^7.20.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/highlight": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
++      "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
++      "dependencies": {
++        "@babel/helper-validator-identifier": "^7.18.6",
++        "chalk": "^2.0.0",
++        "js-tokens": "^4.0.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/parser": {
++      "version": "7.20.3",
++      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.3.tgz",
++      "integrity": "sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==",
++      "bin": {
++        "parser": "bin/babel-parser.js"
++      },
++      "engines": {
++        "node": ">=6.0.0"
++      }
++    },
++    "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz",
++      "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0"
++      }
++    },
++    "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz",
++      "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.9",
++        "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9",
++        "@babel/plugin-proposal-optional-chaining": "^7.18.9"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.13.0"
++      }
++    },
++    "node_modules/@babel/plugin-proposal-async-generator-functions": {
++      "version": "7.20.1",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz",
++      "integrity": "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==",
++      "dependencies": {
++        "@babel/helper-environment-visitor": "^7.18.9",
++        "@babel/helper-plugin-utils": "^7.19.0",
++        "@babel/helper-remap-async-to-generator": "^7.18.9",
++        "@babel/plugin-syntax-async-generators": "^7.8.4"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-proposal-class-properties": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz",
++      "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==",
++      "dependencies": {
++        "@babel/helper-create-class-features-plugin": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-proposal-class-static-block": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz",
++      "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==",
++      "dependencies": {
++        "@babel/helper-create-class-features-plugin": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@babel/plugin-syntax-class-static-block": "^7.14.5"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.12.0"
++      }
++    },
++    "node_modules/@babel/plugin-proposal-dynamic-import": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz",
++      "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@babel/plugin-syntax-dynamic-import": "^7.8.3"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-proposal-export-namespace-from": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz",
++      "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.9",
++        "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-proposal-json-strings": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz",
++      "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@babel/plugin-syntax-json-strings": "^7.8.3"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-proposal-logical-assignment-operators": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz",
++      "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.9",
++        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz",
++      "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-proposal-numeric-separator": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz",
++      "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@babel/plugin-syntax-numeric-separator": "^7.10.4"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-proposal-object-rest-spread": {
++      "version": "7.18.0",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.0.tgz",
++      "integrity": "sha512-nbTv371eTrFabDfHLElkn9oyf9VG+VKK6WMzhY2o4eHKaG19BToD9947zzGMO6I/Irstx9d8CwX6njPNIAR/yw==",
++      "dependencies": {
++        "@babel/compat-data": "^7.17.10",
++        "@babel/helper-compilation-targets": "^7.17.10",
++        "@babel/helper-plugin-utils": "^7.17.12",
++        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
++        "@babel/plugin-transform-parameters": "^7.17.12"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-proposal-optional-catch-binding": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz",
++      "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-proposal-optional-chaining": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz",
++      "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.9",
++        "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9",
++        "@babel/plugin-syntax-optional-chaining": "^7.8.3"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-proposal-private-methods": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz",
++      "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==",
++      "dependencies": {
++        "@babel/helper-create-class-features-plugin": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-proposal-private-property-in-object": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz",
++      "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==",
++      "dependencies": {
++        "@babel/helper-annotate-as-pure": "^7.18.6",
++        "@babel/helper-create-class-features-plugin": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-proposal-unicode-property-regex": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz",
++      "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==",
++      "dependencies": {
++        "@babel/helper-create-regexp-features-plugin": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=4"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-syntax-async-generators": {
++      "version": "7.8.4",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
++      "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.8.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-syntax-class-properties": {
++      "version": "7.12.13",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
++      "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.12.13"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-syntax-class-static-block": {
++      "version": "7.14.5",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
++      "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.14.5"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-syntax-dynamic-import": {
++      "version": "7.8.3",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
++      "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.8.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-syntax-export-namespace-from": {
++      "version": "7.8.3",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
++      "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.8.3"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-syntax-import-assertions": {
++      "version": "7.20.0",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz",
++      "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.19.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-syntax-json-strings": {
++      "version": "7.8.3",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
++      "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.8.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
++      "version": "7.10.4",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
++      "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.10.4"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
++      "version": "7.8.3",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
++      "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.8.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-syntax-numeric-separator": {
++      "version": "7.10.4",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
++      "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.10.4"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-syntax-object-rest-spread": {
++      "version": "7.8.3",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
++      "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.8.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-syntax-optional-catch-binding": {
++      "version": "7.8.3",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
++      "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.8.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-syntax-optional-chaining": {
++      "version": "7.8.3",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
++      "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.8.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-syntax-private-property-in-object": {
++      "version": "7.14.5",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
++      "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.14.5"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-syntax-top-level-await": {
++      "version": "7.14.5",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
++      "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.14.5"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-arrow-functions": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz",
++      "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-async-to-generator": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz",
++      "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==",
++      "dependencies": {
++        "@babel/helper-module-imports": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@babel/helper-remap-async-to-generator": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-block-scoped-functions": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz",
++      "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-block-scoping": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.2.tgz",
++      "integrity": "sha512-y5V15+04ry69OV2wULmwhEA6jwSWXO1TwAtIwiPXcvHcoOQUqpyMVd2bDsQJMW8AurjulIyUV8kDqtjSwHy1uQ==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.20.2"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-classes": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz",
++      "integrity": "sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==",
++      "dependencies": {
++        "@babel/helper-annotate-as-pure": "^7.18.6",
++        "@babel/helper-compilation-targets": "^7.20.0",
++        "@babel/helper-environment-visitor": "^7.18.9",
++        "@babel/helper-function-name": "^7.19.0",
++        "@babel/helper-optimise-call-expression": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.20.2",
++        "@babel/helper-replace-supers": "^7.19.1",
++        "@babel/helper-split-export-declaration": "^7.18.6",
++        "globals": "^11.1.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-computed-properties": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz",
++      "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.9"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-destructuring": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz",
++      "integrity": "sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.20.2"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-dotall-regex": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz",
++      "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==",
++      "dependencies": {
++        "@babel/helper-create-regexp-features-plugin": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-duplicate-keys": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz",
++      "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.9"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-exponentiation-operator": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz",
++      "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==",
++      "dependencies": {
++        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-for-of": {
++      "version": "7.18.8",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz",
++      "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-function-name": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz",
++      "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==",
++      "dependencies": {
++        "@babel/helper-compilation-targets": "^7.18.9",
++        "@babel/helper-function-name": "^7.18.9",
++        "@babel/helper-plugin-utils": "^7.18.9"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-literals": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz",
++      "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.9"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-member-expression-literals": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz",
++      "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-modules-amd": {
++      "version": "7.19.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz",
++      "integrity": "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==",
++      "dependencies": {
++        "@babel/helper-module-transforms": "^7.19.6",
++        "@babel/helper-plugin-utils": "^7.19.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-modules-commonjs": {
++      "version": "7.19.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz",
++      "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==",
++      "dependencies": {
++        "@babel/helper-module-transforms": "^7.19.6",
++        "@babel/helper-plugin-utils": "^7.19.0",
++        "@babel/helper-simple-access": "^7.19.4"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-modules-systemjs": {
++      "version": "7.19.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz",
++      "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==",
++      "dependencies": {
++        "@babel/helper-hoist-variables": "^7.18.6",
++        "@babel/helper-module-transforms": "^7.19.6",
++        "@babel/helper-plugin-utils": "^7.19.0",
++        "@babel/helper-validator-identifier": "^7.19.1"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-modules-umd": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz",
++      "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==",
++      "dependencies": {
++        "@babel/helper-module-transforms": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
++      "version": "7.19.1",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz",
++      "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==",
++      "dependencies": {
++        "@babel/helper-create-regexp-features-plugin": "^7.19.0",
++        "@babel/helper-plugin-utils": "^7.19.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-new-target": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz",
++      "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-object-super": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz",
++      "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@babel/helper-replace-supers": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-parameters": {
++      "version": "7.20.3",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.3.tgz",
++      "integrity": "sha512-oZg/Fpx0YDrj13KsLyO8I/CX3Zdw7z0O9qOd95SqcoIzuqy/WTGWvePeHAnZCN54SfdyjHcb1S30gc8zlzlHcA==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.20.2"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-property-literals": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz",
++      "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-regenerator": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz",
++      "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "regenerator-transform": "^0.15.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-reserved-words": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz",
++      "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-shorthand-properties": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz",
++      "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-spread": {
++      "version": "7.19.0",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz",
++      "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.19.0",
++        "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-sticky-regex": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz",
++      "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-template-literals": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz",
++      "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.9"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-typeof-symbol": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz",
++      "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.9"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-unicode-escapes": {
++      "version": "7.18.10",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz",
++      "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.9"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-unicode-regex": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz",
++      "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==",
++      "dependencies": {
++        "@babel/helper-create-regexp-features-plugin": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/polyfill": {
++      "version": "7.12.1",
++      "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.12.1.tgz",
++      "integrity": "sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==",
++      "deprecated": "🚨 This package has been deprecated in favor of separate inclusion of a polyfill and regenerator-runtime (when needed). See the @babel/polyfill docs (https://babeljs.io/docs/en/babel-polyfill) for more information.",
++      "dependencies": {
++        "core-js": "^2.6.5",
++        "regenerator-runtime": "^0.13.4"
++      }
++    },
++    "node_modules/@babel/polyfill/node_modules/core-js": {
++      "version": "2.6.12",
++      "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
++      "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
++      "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.",
++      "hasInstallScript": true
++    },
++    "node_modules/@babel/preset-env": {
++      "version": "7.18.0",
++      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.0.tgz",
++      "integrity": "sha512-cP74OMs7ECLPeG1reiCQ/D/ypyOxgfm8uR6HRYV23vTJ7Lu1nbgj9DQDo/vH59gnn7GOAwtTDPPYV4aXzsMKHA==",
++      "dependencies": {
++        "@babel/compat-data": "^7.17.10",
++        "@babel/helper-compilation-targets": "^7.17.10",
++        "@babel/helper-plugin-utils": "^7.17.12",
++        "@babel/helper-validator-option": "^7.16.7",
++        "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.17.12",
++        "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.17.12",
++        "@babel/plugin-proposal-async-generator-functions": "^7.17.12",
++        "@babel/plugin-proposal-class-properties": "^7.17.12",
++        "@babel/plugin-proposal-class-static-block": "^7.18.0",
++        "@babel/plugin-proposal-dynamic-import": "^7.16.7",
++        "@babel/plugin-proposal-export-namespace-from": "^7.17.12",
++        "@babel/plugin-proposal-json-strings": "^7.17.12",
++        "@babel/plugin-proposal-logical-assignment-operators": "^7.17.12",
++        "@babel/plugin-proposal-nullish-coalescing-operator": "^7.17.12",
++        "@babel/plugin-proposal-numeric-separator": "^7.16.7",
++        "@babel/plugin-proposal-object-rest-spread": "^7.18.0",
++        "@babel/plugin-proposal-optional-catch-binding": "^7.16.7",
++        "@babel/plugin-proposal-optional-chaining": "^7.17.12",
++        "@babel/plugin-proposal-private-methods": "^7.17.12",
++        "@babel/plugin-proposal-private-property-in-object": "^7.17.12",
++        "@babel/plugin-proposal-unicode-property-regex": "^7.17.12",
++        "@babel/plugin-syntax-async-generators": "^7.8.4",
++        "@babel/plugin-syntax-class-properties": "^7.12.13",
++        "@babel/plugin-syntax-class-static-block": "^7.14.5",
++        "@babel/plugin-syntax-dynamic-import": "^7.8.3",
++        "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
++        "@babel/plugin-syntax-import-assertions": "^7.17.12",
++        "@babel/plugin-syntax-json-strings": "^7.8.3",
++        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
++        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
++        "@babel/plugin-syntax-numeric-separator": "^7.10.4",
++        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
++        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
++        "@babel/plugin-syntax-optional-chaining": "^7.8.3",
++        "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
++        "@babel/plugin-syntax-top-level-await": "^7.14.5",
++        "@babel/plugin-transform-arrow-functions": "^7.17.12",
++        "@babel/plugin-transform-async-to-generator": "^7.17.12",
++        "@babel/plugin-transform-block-scoped-functions": "^7.16.7",
++        "@babel/plugin-transform-block-scoping": "^7.17.12",
++        "@babel/plugin-transform-classes": "^7.17.12",
++        "@babel/plugin-transform-computed-properties": "^7.17.12",
++        "@babel/plugin-transform-destructuring": "^7.18.0",
++        "@babel/plugin-transform-dotall-regex": "^7.16.7",
++        "@babel/plugin-transform-duplicate-keys": "^7.17.12",
++        "@babel/plugin-transform-exponentiation-operator": "^7.16.7",
++        "@babel/plugin-transform-for-of": "^7.17.12",
++        "@babel/plugin-transform-function-name": "^7.16.7",
++        "@babel/plugin-transform-literals": "^7.17.12",
++        "@babel/plugin-transform-member-expression-literals": "^7.16.7",
++        "@babel/plugin-transform-modules-amd": "^7.18.0",
++        "@babel/plugin-transform-modules-commonjs": "^7.18.0",
++        "@babel/plugin-transform-modules-systemjs": "^7.18.0",
++        "@babel/plugin-transform-modules-umd": "^7.18.0",
++        "@babel/plugin-transform-named-capturing-groups-regex": "^7.17.12",
++        "@babel/plugin-transform-new-target": "^7.17.12",
++        "@babel/plugin-transform-object-super": "^7.16.7",
++        "@babel/plugin-transform-parameters": "^7.17.12",
++        "@babel/plugin-transform-property-literals": "^7.16.7",
++        "@babel/plugin-transform-regenerator": "^7.18.0",
++        "@babel/plugin-transform-reserved-words": "^7.17.12",
++        "@babel/plugin-transform-shorthand-properties": "^7.16.7",
++        "@babel/plugin-transform-spread": "^7.17.12",
++        "@babel/plugin-transform-sticky-regex": "^7.16.7",
++        "@babel/plugin-transform-template-literals": "^7.17.12",
++        "@babel/plugin-transform-typeof-symbol": "^7.17.12",
++        "@babel/plugin-transform-unicode-escapes": "^7.16.7",
++        "@babel/plugin-transform-unicode-regex": "^7.16.7",
++        "@babel/preset-modules": "^0.1.5",
++        "@babel/types": "^7.18.0",
++        "babel-plugin-polyfill-corejs2": "^0.3.0",
++        "babel-plugin-polyfill-corejs3": "^0.5.0",
++        "babel-plugin-polyfill-regenerator": "^0.3.0",
++        "core-js-compat": "^3.22.1",
++        "semver": "^6.3.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/preset-env/node_modules/semver": {
++      "version": "6.3.0",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
++      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
++      "bin": {
++        "semver": "bin/semver.js"
++      }
++    },
++    "node_modules/@babel/preset-modules": {
++      "version": "0.1.5",
++      "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz",
++      "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.0.0",
++        "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
++        "@babel/plugin-transform-dotall-regex": "^7.4.4",
++        "@babel/types": "^7.4.4",
++        "esutils": "^2.0.2"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/runtime": {
++      "version": "7.20.1",
++      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.1.tgz",
++      "integrity": "sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==",
++      "dependencies": {
++        "regenerator-runtime": "^0.13.10"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/template": {
++      "version": "7.18.10",
++      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz",
++      "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==",
++      "dependencies": {
++        "@babel/code-frame": "^7.18.6",
++        "@babel/parser": "^7.18.10",
++        "@babel/types": "^7.18.10"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/traverse": {
++      "version": "7.20.1",
++      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.1.tgz",
++      "integrity": "sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==",
++      "dependencies": {
++        "@babel/code-frame": "^7.18.6",
++        "@babel/generator": "^7.20.1",
++        "@babel/helper-environment-visitor": "^7.18.9",
++        "@babel/helper-function-name": "^7.19.0",
++        "@babel/helper-hoist-variables": "^7.18.6",
++        "@babel/helper-split-export-declaration": "^7.18.6",
++        "@babel/parser": "^7.20.1",
++        "@babel/types": "^7.20.0",
++        "debug": "^4.1.0",
++        "globals": "^11.1.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/types": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz",
++      "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==",
++      "dependencies": {
++        "@babel/helper-string-parser": "^7.19.4",
++        "@babel/helper-validator-identifier": "^7.19.1",
++        "to-fast-properties": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@electron/get": {
++      "version": "1.14.1",
++      "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.14.1.tgz",
++      "integrity": "sha512-BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==",
++      "dependencies": {
++        "debug": "^4.1.1",
++        "env-paths": "^2.2.0",
++        "fs-extra": "^8.1.0",
++        "got": "^9.6.0",
++        "progress": "^2.0.3",
++        "semver": "^6.2.0",
++        "sumchecker": "^3.0.1"
++      },
++      "engines": {
++        "node": ">=8.6"
++      },
++      "optionalDependencies": {
++        "global-agent": "^3.0.0",
++        "global-tunnel-ng": "^2.7.1"
++      }
++    },
++    "node_modules/@electron/get/node_modules/fs-extra": {
++      "version": "8.1.0",
++      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
++      "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
++      "dependencies": {
++        "graceful-fs": "^4.2.0",
++        "jsonfile": "^4.0.0",
++        "universalify": "^0.1.0"
++      },
++      "engines": {
++        "node": ">=6 <7 || >=8"
++      }
++    },
++    "node_modules/@electron/get/node_modules/jsonfile": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
++      "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
++      "optionalDependencies": {
++        "graceful-fs": "^4.1.6"
++      }
++    },
++    "node_modules/@electron/get/node_modules/semver": {
++      "version": "6.3.0",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
++      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
++      "bin": {
++        "semver": "bin/semver.js"
++      }
++    },
++    "node_modules/@electron/get/node_modules/universalify": {
++      "version": "0.1.2",
++      "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
++      "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
++      "engines": {
++        "node": ">= 4.0.0"
++      }
++    },
++    "node_modules/@electron/remote": {
++      "version": "2.0.8",
++      "resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.0.8.tgz",
++      "integrity": "sha512-P10v3+iFCIvEPeYzTWWGwwHmqWnjoh8RYnbtZAb3RlQefy4guagzIwcWtfftABIfm6JJTNQf4WPSKWZOpLmHXw==",
++      "peerDependencies": {
++        "electron": ">= 13.0.0"
++      }
++    },
++    "node_modules/@eslint/eslintrc": {
++      "version": "1.3.3",
++      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz",
++      "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==",
++      "dependencies": {
++        "ajv": "^6.12.4",
++        "debug": "^4.3.2",
++        "espree": "^9.4.0",
++        "globals": "^13.15.0",
++        "ignore": "^5.2.0",
++        "import-fresh": "^3.2.1",
++        "js-yaml": "^4.1.0",
++        "minimatch": "^3.1.2",
++        "strip-json-comments": "^3.1.1"
++      },
++      "engines": {
++        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/eslint"
++      }
++    },
++    "node_modules/@eslint/eslintrc/node_modules/balanced-match": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
++      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
++    },
++    "node_modules/@eslint/eslintrc/node_modules/brace-expansion": {
++      "version": "1.1.11",
++      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
++      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
++      "dependencies": {
++        "balanced-match": "^1.0.0",
++        "concat-map": "0.0.1"
++      }
++    },
++    "node_modules/@eslint/eslintrc/node_modules/globals": {
++      "version": "13.17.0",
++      "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
++      "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
++      "dependencies": {
++        "type-fest": "^0.20.2"
++      },
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/@eslint/eslintrc/node_modules/minimatch": {
++      "version": "3.1.2",
++      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
++      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
++      "dependencies": {
++        "brace-expansion": "^1.1.7"
++      },
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/@eslint/eslintrc/node_modules/type-fest": {
++      "version": "0.20.2",
++      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
++      "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/@gar/promisify": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
++      "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw=="
++    },
++    "node_modules/@humanwhocodes/config-array": {
++      "version": "0.9.5",
++      "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz",
++      "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==",
++      "dependencies": {
++        "@humanwhocodes/object-schema": "^1.2.1",
++        "debug": "^4.1.1",
++        "minimatch": "^3.0.4"
++      },
++      "engines": {
++        "node": ">=10.10.0"
++      }
++    },
++    "node_modules/@humanwhocodes/config-array/node_modules/balanced-match": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
++      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
++    },
++    "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": {
++      "version": "1.1.11",
++      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
++      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
++      "dependencies": {
++        "balanced-match": "^1.0.0",
++        "concat-map": "0.0.1"
++      }
++    },
++    "node_modules/@humanwhocodes/config-array/node_modules/minimatch": {
++      "version": "3.1.2",
++      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
++      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
++      "dependencies": {
++        "brace-expansion": "^1.1.7"
++      },
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/@humanwhocodes/object-schema": {
++      "version": "1.2.1",
++      "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
++      "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA=="
++    },
++    "node_modules/@jridgewell/gen-mapping": {
++      "version": "0.1.1",
++      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
++      "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
++      "dependencies": {
++        "@jridgewell/set-array": "^1.0.0",
++        "@jridgewell/sourcemap-codec": "^1.4.10"
++      },
++      "engines": {
++        "node": ">=6.0.0"
++      }
++    },
++    "node_modules/@jridgewell/resolve-uri": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
++      "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
++      "engines": {
++        "node": ">=6.0.0"
++      }
++    },
++    "node_modules/@jridgewell/set-array": {
++      "version": "1.1.2",
++      "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
++      "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
++      "engines": {
++        "node": ">=6.0.0"
++      }
++    },
++    "node_modules/@jridgewell/sourcemap-codec": {
++      "version": "1.4.14",
++      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
++      "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
++    },
++    "node_modules/@jridgewell/trace-mapping": {
++      "version": "0.3.17",
++      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
++      "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
++      "dependencies": {
++        "@jridgewell/resolve-uri": "3.1.0",
++        "@jridgewell/sourcemap-codec": "1.4.14"
++      }
++    },
++    "node_modules/@npmcli/fs": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz",
++      "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==",
++      "dependencies": {
++        "@gar/promisify": "^1.0.1",
++        "semver": "^7.3.5"
++      }
++    },
++    "node_modules/@npmcli/move-file": {
++      "version": "1.1.2",
++      "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz",
++      "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
++      "deprecated": "This functionality has been moved to @npmcli/fs",
++      "dependencies": {
++        "mkdirp": "^1.0.4",
++        "rimraf": "^3.0.2"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/@npmcli/move-file/node_modules/mkdirp": {
++      "version": "1.0.4",
++      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
++      "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
++      "bin": {
++        "mkdirp": "bin/cmd.js"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/@npmcli/move-file/node_modules/rimraf": {
++      "version": "3.0.2",
++      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
++      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
++      "dependencies": {
++        "glob": "^7.1.3"
++      },
++      "bin": {
++        "rimraf": "bin.js"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/isaacs"
++      }
++    },
++    "node_modules/@serialport/binding-abstract": {
++      "version": "9.2.4",
++      "resolved": "https://registry.npmjs.org/@serialport/binding-abstract/-/binding-abstract-9.2.4.tgz",
++      "integrity": "sha512-UESvncat2oQKnAp29eDVJ2jB9sADatCgoojPPB4RVvp3+3Wqu5QVEh/UCjHRUeDJ20fkSFnKAw9D0vNoBQ+5Kw==",
++      "deprecated": "This package has been renamed to @serialport/bindings-interface",
++      "optional": true,
++      "dependencies": {
++        "debug": "^4.3.2"
++      },
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/@serialport/binding-mock": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/binding-mock/-/binding-mock-9.0.7.tgz",
++      "integrity": "sha512-aR8H+htZwwZZkVb1MdbnNvGWw8eXVRqQ2qPhkbKyx0N/LY5aVIgCgT98Kt1YylLsG7SzNG+Jbhd4wzwEuPVT5Q==",
++      "optional": true,
++      "dependencies": {
++        "@serialport/binding-abstract": "^9.0.7",
++        "debug": "^4.3.1"
++      },
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/@serialport/bindings": {
++      "version": "9.2.9",
++      "resolved": "https://registry.npmjs.org/@serialport/bindings/-/bindings-9.2.9.tgz",
++      "integrity": "sha512-An7PiVlyNMx/0RDnSBxFHIsd4kt0/zPlDALlTjhVQKXbG6e0xRqLKbkoZVzHMS8rg7HzCu8G1nplifoAwNm5Lg==",
++      "deprecated": "This package has been renamed to @serialport/bindings-cpp.",
++      "hasInstallScript": true,
++      "optional": true,
++      "dependencies": {
++        "@serialport/binding-abstract": "9.2.3",
++        "@serialport/parser-readline": "9.2.4",
++        "bindings": "^1.5.0",
++        "debug": "^4.3.2",
++        "nan": "^2.15.0",
++        "prebuild-install": "^7.0.0"
++      },
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/@serialport/bindings/node_modules/@serialport/binding-abstract": {
++      "version": "9.2.3",
++      "resolved": "https://registry.npmjs.org/@serialport/binding-abstract/-/binding-abstract-9.2.3.tgz",
++      "integrity": "sha512-cQs9tbIlG3P0IrOWyVirqlhWuJ7Ms2Zh9m2108z6Y5UW/iVj6wEOiW8EmK9QX9jmJXYllE7wgGgvVozP5oCj3w==",
++      "optional": true,
++      "dependencies": {
++        "debug": "^4.3.2"
++      },
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/@serialport/bindings/node_modules/@serialport/parser-delimiter": {
++      "version": "9.2.4",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-delimiter/-/parser-delimiter-9.2.4.tgz",
++      "integrity": "sha512-4nvTAoYAgkxFiXrkI+3CA49Yd43CODjeszh89EK+I9c8wOZ+etZduRCzINYPiy26g7zO+GRAb9FoPCsY+sYcbQ==",
++      "optional": true,
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/@serialport/bindings/node_modules/@serialport/parser-readline": {
++      "version": "9.2.4",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-readline/-/parser-readline-9.2.4.tgz",
++      "integrity": "sha512-Z1/qrZTQUVhNSJP1hd9YfDvq0o7d87rNwAjjRKbVpa7Qi51tG5BnKt43IV3NFMyBlVcRe0rnIb3tJu57E0SOwg==",
++      "optional": true,
++      "dependencies": {
++        "@serialport/parser-delimiter": "9.2.4"
++      },
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/@serialport/parser-byte-length": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-byte-length/-/parser-byte-length-9.0.7.tgz",
++      "integrity": "sha512-evf7oOOSBMBn2AZZbgBFMRIyEzlsyQkhqaPm7IBCPTxMDXRf4tKkFYJHYZB0/6d1W4eI0meH079UqmSsh/uoDA==",
++      "optional": true,
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/@serialport/parser-cctalk": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-cctalk/-/parser-cctalk-9.0.7.tgz",
++      "integrity": "sha512-ert5jhMkeiTfr44TkbdySC09J8UwAsf/RxBucVN5Mz5enG509RggnkfFi4mfj3UCG2vZ7qsmM6gtZ62DshY02Q==",
++      "optional": true,
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/@serialport/parser-delimiter": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-delimiter/-/parser-delimiter-9.0.7.tgz",
++      "integrity": "sha512-Vb2NPeXPZ/28M4m5x4OAHFd8jRAeddNCgvL+Q+H/hqFPY1w47JcMLchC7pigRW8Cnt1fklmzfwdNQ8Fb+kMkxQ==",
++      "optional": true,
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/@serialport/parser-inter-byte-timeout": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-inter-byte-timeout/-/parser-inter-byte-timeout-9.0.7.tgz",
++      "integrity": "sha512-lUZ3cwgUluBvJ1jf+0LQsqoiPYAokDO6+fRCw9HCfnrF/OS60Gm4rxuyo2uQIueqZkJ7NIFP+ibKsULrA47AEA==",
++      "optional": true,
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/@serialport/parser-readline": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-readline/-/parser-readline-9.0.7.tgz",
++      "integrity": "sha512-ydoLbgVQQPxWrwbe3Fhh4XnZexbkEQAC6M/qgRTzjnKvTjrD61CJNxLc3vyDaAPI9bJIhTiI7eTX3JB5jJv8Hg==",
++      "optional": true,
++      "dependencies": {
++        "@serialport/parser-delimiter": "^9.0.7"
++      },
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/@serialport/parser-ready": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-ready/-/parser-ready-9.0.7.tgz",
++      "integrity": "sha512-3qYhI4cNUPAYqVYvdwV57Y+PVRl4dJf1fPBtMoWtwDgwopsAXTR93WCs49WuUq9JCyNW+8Hrfqv8x8eNAD5Dqg==",
++      "optional": true,
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/@serialport/parser-regex": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-regex/-/parser-regex-9.0.7.tgz",
++      "integrity": "sha512-5XF+FXbhqQ/5bVKM4NaGs1m+E9KjfmeCx/obwsKaUZognQF67jwoTfjJJWNP/21jKfxdl8XoCYjZjASl3XKRAw==",
++      "optional": true,
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/@serialport/stream": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/stream/-/stream-9.0.7.tgz",
++      "integrity": "sha512-c/h7HPAeFiryD9iTGlaSvPqHFHSZ0NMQHxC4rcmKS2Vu3qJuEtkBdTLABwsMp7iWEiSnI4KC3s7bHapaXP06FQ==",
++      "optional": true,
++      "dependencies": {
++        "debug": "^4.3.1"
++      },
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/@sindresorhus/is": {
++      "version": "0.14.0",
++      "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
++      "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==",
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/@szmarczak/http-timer": {
++      "version": "1.1.2",
++      "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
++      "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
++      "dependencies": {
++        "defer-to-connect": "^1.0.1"
++      },
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/@tootallnate/once": {
++      "version": "1.1.2",
++      "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
++      "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
++      "engines": {
++        "node": ">= 6"
++      }
++    },
++    "node_modules/@types/glob": {
++      "version": "7.2.0",
++      "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz",
++      "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==",
++      "optional": true,
++      "dependencies": {
++        "@types/minimatch": "*",
++        "@types/node": "*"
++      }
++    },
++    "node_modules/@types/minimatch": {
++      "version": "5.1.2",
++      "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz",
++      "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==",
++      "optional": true
++    },
++    "node_modules/@types/minimist": {
++      "version": "1.2.2",
++      "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz",
++      "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ=="
++    },
++    "node_modules/@types/node": {
++      "version": "18.11.9",
++      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
++      "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
++      "optional": true
++    },
++    "node_modules/@types/normalize-package-data": {
++      "version": "2.4.1",
++      "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz",
++      "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw=="
++    },
++    "node_modules/@types/yauzl": {
++      "version": "2.10.0",
++      "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
++      "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
++      "optional": true,
++      "dependencies": {
++        "@types/node": "*"
++      }
++    },
++    "node_modules/7zip": {
++      "version": "0.0.6",
++      "resolved": "https://registry.npmjs.org/7zip/-/7zip-0.0.6.tgz",
++      "integrity": "sha512-ns8vKbKhIQm338AeWo/YdDSWil3pldwCMoyR2npoM2qDAzF8Vuko8BtDxpNt/wE15SXOh5K5WbjSLR4kTOAHLA==",
++      "bin": {
++        "7z": "7zip-lite/7z.exe"
++      }
++    },
++    "node_modules/abbrev": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
++      "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
++    },
++    "node_modules/acorn": {
++      "version": "8.8.1",
++      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
++      "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
++      "bin": {
++        "acorn": "bin/acorn"
++      },
++      "engines": {
++        "node": ">=0.4.0"
++      }
++    },
++    "node_modules/acorn-jsx": {
++      "version": "5.3.2",
++      "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
++      "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
++      "peerDependencies": {
++        "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
++      }
++    },
++    "node_modules/acorn-node": {
++      "version": "1.8.2",
++      "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
++      "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
++      "dependencies": {
++        "acorn": "^7.0.0",
++        "acorn-walk": "^7.0.0",
++        "xtend": "^4.0.2"
++      }
++    },
++    "node_modules/acorn-node/node_modules/acorn": {
++      "version": "7.4.1",
++      "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
++      "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
++      "bin": {
++        "acorn": "bin/acorn"
++      },
++      "engines": {
++        "node": ">=0.4.0"
++      }
++    },
++    "node_modules/acorn-walk": {
++      "version": "7.2.0",
++      "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
++      "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
++      "engines": {
++        "node": ">=0.4.0"
++      }
++    },
++    "node_modules/agent-base": {
++      "version": "6.0.2",
++      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
++      "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
++      "dependencies": {
++        "debug": "4"
++      },
++      "engines": {
++        "node": ">= 6.0.0"
++      }
++    },
++    "node_modules/agentkeepalive": {
++      "version": "4.2.1",
++      "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz",
++      "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==",
++      "dependencies": {
++        "debug": "^4.1.0",
++        "depd": "^1.1.2",
++        "humanize-ms": "^1.2.1"
++      },
++      "engines": {
++        "node": ">= 8.0.0"
++      }
++    },
++    "node_modules/aggregate-error": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
++      "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
++      "dependencies": {
++        "clean-stack": "^2.0.0",
++        "indent-string": "^4.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/ajv": {
++      "version": "6.12.6",
++      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
++      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
++      "dependencies": {
++        "fast-deep-equal": "^3.1.1",
++        "fast-json-stable-stringify": "^2.0.0",
++        "json-schema-traverse": "^0.4.1",
++        "uri-js": "^4.2.2"
++      },
++      "funding": {
++        "type": "github",
++        "url": "https://github.com/sponsors/epoberezkin"
++      }
++    },
++    "node_modules/ansi-align": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz",
++      "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==",
++      "dependencies": {
++        "string-width": "^4.1.0"
++      }
++    },
++    "node_modules/ansi-html": {
++      "version": "0.0.9",
++      "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.9.tgz",
++      "integrity": "sha512-ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg==",
++      "engines": [
++        "node >= 0.8.0"
++      ],
++      "bin": {
++        "ansi-html": "bin/ansi-html"
++      }
++    },
++    "node_modules/ansi-regex": {
++      "version": "5.0.1",
++      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
++      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/ansi-styles": {
++      "version": "3.2.1",
++      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
++      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
++      "dependencies": {
++        "color-convert": "^1.9.0"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/anymatch": {
++      "version": "3.1.2",
++      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
++      "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
++      "dependencies": {
++        "normalize-path": "^3.0.0",
++        "picomatch": "^2.0.4"
++      },
++      "engines": {
++        "node": ">= 8"
++      }
++    },
++    "node_modules/apache-crypt": {
++      "version": "1.2.6",
++      "resolved": "https://registry.npmjs.org/apache-crypt/-/apache-crypt-1.2.6.tgz",
++      "integrity": "sha512-072WetlM4blL8PREJVeY+WHiUh1R5VNt2HfceGS8aKqttPHcmqE5pkKuXPz/ULmJOFkc8Hw3kfKl6vy7Qka6DA==",
++      "dependencies": {
++        "unix-crypt-td-js": "^1.1.4"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/apache-md5": {
++      "version": "1.1.8",
++      "resolved": "https://registry.npmjs.org/apache-md5/-/apache-md5-1.1.8.tgz",
++      "integrity": "sha512-FCAJojipPn0bXjuEpjOOOMN8FZDkxfWWp4JGN9mifU2IhxvKyXZYqpzPHdnTSUpmPDy+tsslB6Z1g+Vg6nVbYA==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/aproba": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
++      "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ=="
++    },
++    "node_modules/are-we-there-yet": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
++      "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
++      "dependencies": {
++        "delegates": "^1.0.0",
++        "readable-stream": "^3.6.0"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/are-we-there-yet/node_modules/readable-stream": {
++      "version": "3.6.0",
++      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
++      "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
++      "dependencies": {
++        "inherits": "^2.0.3",
++        "string_decoder": "^1.1.1",
++        "util-deprecate": "^1.0.1"
++      },
++      "engines": {
++        "node": ">= 6"
++      }
++    },
++    "node_modules/argparse": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
++      "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
++    },
++    "node_modules/array-flatten": {
++      "version": "2.1.2",
++      "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
++      "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ=="
++    },
++    "node_modules/arrify": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
++      "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/asar": {
++      "version": "3.2.0",
++      "resolved": "https://registry.npmjs.org/asar/-/asar-3.2.0.tgz",
++      "integrity": "sha512-COdw2ZQvKdFGFxXwX3oYh2/sOsJWJegrdJCGxnN4MZ7IULgRBp9P6665aqj9z1v9VwP4oP1hRBojRDQ//IGgAg==",
++      "deprecated": "Please use @electron/asar moving forward.  There is no API change, just a package name change",
++      "dependencies": {
++        "chromium-pickle-js": "^0.2.0",
++        "commander": "^5.0.0",
++        "glob": "^7.1.6",
++        "minimatch": "^3.0.4"
++      },
++      "bin": {
++        "asar": "bin/asar.js"
++      },
++      "engines": {
++        "node": ">=10.12.0"
++      },
++      "optionalDependencies": {
++        "@types/glob": "^7.1.1"
++      }
++    },
++    "node_modules/asar/node_modules/balanced-match": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
++      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
++    },
++    "node_modules/asar/node_modules/brace-expansion": {
++      "version": "1.1.11",
++      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
++      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
++      "dependencies": {
++        "balanced-match": "^1.0.0",
++        "concat-map": "0.0.1"
++      }
++    },
++    "node_modules/asar/node_modules/minimatch": {
++      "version": "3.1.2",
++      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
++      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
++      "dependencies": {
++        "brace-expansion": "^1.1.7"
++      },
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/asn1": {
++      "version": "0.2.6",
++      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
++      "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
++      "dependencies": {
++        "safer-buffer": "~2.1.0"
++      }
++    },
++    "node_modules/asn1.js": {
++      "version": "5.4.1",
++      "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
++      "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
++      "dependencies": {
++        "bn.js": "^4.0.0",
++        "inherits": "^2.0.1",
++        "minimalistic-assert": "^1.0.0",
++        "safer-buffer": "^2.1.0"
++      }
++    },
++    "node_modules/asn1.js/node_modules/bn.js": {
++      "version": "4.12.0",
++      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
++      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
++    },
++    "node_modules/assert": {
++      "version": "1.5.0",
++      "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
++      "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
++      "dependencies": {
++        "object-assign": "^4.1.1",
++        "util": "0.10.3"
++      }
++    },
++    "node_modules/assert-plus": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
++      "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
++      "engines": {
++        "node": ">=0.8"
++      }
++    },
++    "node_modules/assert/node_modules/inherits": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
++      "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA=="
++    },
++    "node_modules/assert/node_modules/util": {
++      "version": "0.10.3",
++      "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
++      "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==",
++      "dependencies": {
++        "inherits": "2.0.1"
++      }
++    },
++    "node_modules/async-foreach": {
++      "version": "0.1.3",
++      "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
++      "integrity": "sha512-VUeSMD8nEGBWaZK4lizI1sf3yEC7pnAQ/mrI7pC2fBz2s/tq5jWWEngTwaf0Gruu/OoXRGLGg1XFqpYBiGTYJA==",
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/asynckit": {
++      "version": "0.4.0",
++      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
++      "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
++    },
++    "node_modules/at-least-node": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
++      "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
++      "engines": {
++        "node": ">= 4.0.0"
++      }
++    },
++    "node_modules/author-regex": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/author-regex/-/author-regex-1.0.0.tgz",
++      "integrity": "sha512-KbWgR8wOYRAPekEmMXrYYdc7BRyhn2Ftk7KWfMUnQ43hFdojWEFRxhhRUm3/OFEdPa1r0KAvTTg9YQK57xTe0g==",
++      "engines": {
++        "node": ">=0.8"
++      }
++    },
++    "node_modules/available-typed-arrays": {
++      "version": "1.0.5",
++      "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
++      "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
++      "engines": {
++        "node": ">= 0.4"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/aws-sign2": {
++      "version": "0.7.0",
++      "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
++      "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==",
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/aws4": {
++      "version": "1.11.0",
++      "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
++      "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="
++    },
++    "node_modules/babel-plugin-polyfill-corejs2": {
++      "version": "0.3.3",
++      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz",
++      "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==",
++      "dependencies": {
++        "@babel/compat-data": "^7.17.7",
++        "@babel/helper-define-polyfill-provider": "^0.3.3",
++        "semver": "^6.1.1"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": {
++      "version": "6.3.0",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
++      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
++      "bin": {
++        "semver": "bin/semver.js"
++      }
++    },
++    "node_modules/babel-plugin-polyfill-corejs3": {
++      "version": "0.5.3",
++      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz",
++      "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==",
++      "dependencies": {
++        "@babel/helper-define-polyfill-provider": "^0.3.2",
++        "core-js-compat": "^3.21.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/babel-plugin-polyfill-regenerator": {
++      "version": "0.3.1",
++      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz",
++      "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==",
++      "dependencies": {
++        "@babel/helper-define-polyfill-provider": "^0.3.1"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/babelify": {
++      "version": "10.0.0",
++      "resolved": "https://registry.npmjs.org/babelify/-/babelify-10.0.0.tgz",
++      "integrity": "sha512-X40FaxyH7t3X+JFAKvb1H9wooWKLRCi8pg3m8poqtdZaIng+bjzp9RvKQCvRjF9isHiPkXspbbXT/zwXLtwgwg==",
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0"
++      }
++    },
++    "node_modules/balanced-match": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz",
++      "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA=="
++    },
++    "node_modules/base64-js": {
++      "version": "1.5.1",
++      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
++      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
++      "funding": [
++        {
++          "type": "github",
++          "url": "https://github.com/sponsors/feross"
++        },
++        {
++          "type": "patreon",
++          "url": "https://www.patreon.com/feross"
++        },
++        {
++          "type": "consulting",
++          "url": "https://feross.org/support"
++        }
++      ]
++    },
++    "node_modules/bcrypt-pbkdf": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
++      "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
++      "dependencies": {
++        "tweetnacl": "^0.14.3"
++      }
++    },
++    "node_modules/bcryptjs": {
++      "version": "2.4.3",
++      "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz",
++      "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ=="
++    },
++    "node_modules/binary-extensions": {
++      "version": "2.2.0",
++      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
++      "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/bindings": {
++      "version": "1.5.0",
++      "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
++      "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
++      "optional": true,
++      "dependencies": {
++        "file-uri-to-path": "1.0.0"
++      }
++    },
++    "node_modules/bl": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
++      "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
++      "optional": true,
++      "dependencies": {
++        "buffer": "^5.5.0",
++        "inherits": "^2.0.4",
++        "readable-stream": "^3.4.0"
++      }
++    },
++    "node_modules/bl/node_modules/buffer": {
++      "version": "5.7.1",
++      "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
++      "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
++      "funding": [
++        {
++          "type": "github",
++          "url": "https://github.com/sponsors/feross"
++        },
++        {
++          "type": "patreon",
++          "url": "https://www.patreon.com/feross"
++        },
++        {
++          "type": "consulting",
++          "url": "https://feross.org/support"
++        }
++      ],
++      "optional": true,
++      "dependencies": {
++        "base64-js": "^1.3.1",
++        "ieee754": "^1.1.13"
++      }
++    },
++    "node_modules/bl/node_modules/readable-stream": {
++      "version": "3.6.0",
++      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
++      "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
++      "optional": true,
++      "dependencies": {
++        "inherits": "^2.0.3",
++        "string_decoder": "^1.1.1",
++        "util-deprecate": "^1.0.1"
++      },
++      "engines": {
++        "node": ">= 6"
++      }
++    },
++    "node_modules/bluebird": {
++      "version": "3.7.2",
++      "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
++      "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="
++    },
++    "node_modules/bn.js": {
++      "version": "5.2.1",
++      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
++      "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ=="
++    },
++    "node_modules/bonjour": {
++      "version": "4.0.0",
++      "resolved": "git+ssh://git@github.com/jean-emmanuel/bonjour.git#33d7fa28c568d05cb7ffda1fd2b20f4cc364e273",
++      "license": "MIT",
++      "dependencies": {
++        "array-flatten": "^2.1.0",
++        "deep-equal": "^1.0.1",
++        "dns-equal": "^1.0.0",
++        "dns-txt": "github:jean-emmanuel/dns-txt#v2.0.3",
++        "multicast-dns": "github:jean-emmanuel/multicast-dns",
++        "multicast-dns-service-types": "^1.1.0"
++      }
++    },
++    "node_modules/boolean": {
++      "version": "3.2.0",
++      "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz",
++      "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==",
++      "optional": true
++    },
++    "node_modules/boxen": {
++      "version": "5.1.2",
++      "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz",
++      "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==",
++      "dependencies": {
++        "ansi-align": "^3.0.0",
++        "camelcase": "^6.2.0",
++        "chalk": "^4.1.0",
++        "cli-boxes": "^2.2.1",
++        "string-width": "^4.2.2",
++        "type-fest": "^0.20.2",
++        "widest-line": "^3.1.0",
++        "wrap-ansi": "^7.0.0"
++      },
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/boxen/node_modules/ansi-styles": {
++      "version": "4.3.0",
++      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
++      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
++      "dependencies": {
++        "color-convert": "^2.0.1"
++      },
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
++      }
++    },
++    "node_modules/boxen/node_modules/camelcase": {
++      "version": "6.3.0",
++      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
++      "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/boxen/node_modules/chalk": {
++      "version": "4.1.2",
++      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
++      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
++      "dependencies": {
++        "ansi-styles": "^4.1.0",
++        "supports-color": "^7.1.0"
++      },
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/chalk/chalk?sponsor=1"
++      }
++    },
++    "node_modules/boxen/node_modules/color-convert": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
++      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
++      "dependencies": {
++        "color-name": "~1.1.4"
++      },
++      "engines": {
++        "node": ">=7.0.0"
++      }
++    },
++    "node_modules/boxen/node_modules/color-name": {
++      "version": "1.1.4",
++      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
++      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
++    },
++    "node_modules/boxen/node_modules/has-flag": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
++      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/boxen/node_modules/supports-color": {
++      "version": "7.2.0",
++      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
++      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
++      "dependencies": {
++        "has-flag": "^4.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/boxen/node_modules/type-fest": {
++      "version": "0.20.2",
++      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
++      "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/brace": {
++      "version": "0.11.1",
++      "resolved": "https://registry.npmjs.org/brace/-/brace-0.11.1.tgz",
++      "integrity": "sha512-Fc8Ne62jJlKHiG/ajlonC4Sd66Pq68fFwK4ihJGNZpGqboc324SQk+lRvMzpPRuJOmfrJefdG8/7JdWX4bzJ2Q=="
++    },
++    "node_modules/brace-expansion": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
++      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
++      "dependencies": {
++        "balanced-match": "^1.0.0"
++      }
++    },
++    "node_modules/brace-expansion/node_modules/balanced-match": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
++      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
++    },
++    "node_modules/braces": {
++      "version": "3.0.2",
++      "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
++      "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
++      "dependencies": {
++        "fill-range": "^7.0.1"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/brorand": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
++      "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w=="
++    },
++    "node_modules/browser-pack": {
++      "version": "6.1.0",
++      "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz",
++      "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==",
++      "dependencies": {
++        "combine-source-map": "~0.8.0",
++        "defined": "^1.0.0",
++        "JSONStream": "^1.0.3",
++        "safe-buffer": "^5.1.1",
++        "through2": "^2.0.0",
++        "umd": "^3.0.0"
++      },
++      "bin": {
++        "browser-pack": "bin/cmd.js"
++      }
++    },
++    "node_modules/browser-process-hrtime": {
++      "version": "0.1.3",
++      "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz",
++      "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw=="
++    },
++    "node_modules/browser-resolve": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz",
++      "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==",
++      "dependencies": {
++        "resolve": "^1.17.0"
++      }
++    },
++    "node_modules/browserify": {
++      "version": "17.0.0",
++      "resolved": "https://registry.npmjs.org/browserify/-/browserify-17.0.0.tgz",
++      "integrity": "sha512-SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==",
++      "dependencies": {
++        "assert": "^1.4.0",
++        "browser-pack": "^6.0.1",
++        "browser-resolve": "^2.0.0",
++        "browserify-zlib": "~0.2.0",
++        "buffer": "~5.2.1",
++        "cached-path-relative": "^1.0.0",
++        "concat-stream": "^1.6.0",
++        "console-browserify": "^1.1.0",
++        "constants-browserify": "~1.0.0",
++        "crypto-browserify": "^3.0.0",
++        "defined": "^1.0.0",
++        "deps-sort": "^2.0.1",
++        "domain-browser": "^1.2.0",
++        "duplexer2": "~0.1.2",
++        "events": "^3.0.0",
++        "glob": "^7.1.0",
++        "has": "^1.0.0",
++        "htmlescape": "^1.1.0",
++        "https-browserify": "^1.0.0",
++        "inherits": "~2.0.1",
++        "insert-module-globals": "^7.2.1",
++        "JSONStream": "^1.0.3",
++        "labeled-stream-splicer": "^2.0.0",
++        "mkdirp-classic": "^0.5.2",
++        "module-deps": "^6.2.3",
++        "os-browserify": "~0.3.0",
++        "parents": "^1.0.1",
++        "path-browserify": "^1.0.0",
++        "process": "~0.11.0",
++        "punycode": "^1.3.2",
++        "querystring-es3": "~0.2.0",
++        "read-only-stream": "^2.0.0",
++        "readable-stream": "^2.0.2",
++        "resolve": "^1.1.4",
++        "shasum-object": "^1.0.0",
++        "shell-quote": "^1.6.1",
++        "stream-browserify": "^3.0.0",
++        "stream-http": "^3.0.0",
++        "string_decoder": "^1.1.1",
++        "subarg": "^1.0.0",
++        "syntax-error": "^1.1.1",
++        "through2": "^2.0.0",
++        "timers-browserify": "^1.0.1",
++        "tty-browserify": "0.0.1",
++        "url": "~0.11.0",
++        "util": "~0.12.0",
++        "vm-browserify": "^1.0.0",
++        "xtend": "^4.0.0"
++      },
++      "bin": {
++        "browserify": "bin/cmd.js"
++      },
++      "engines": {
++        "node": ">= 0.8"
++      }
++    },
++    "node_modules/browserify-aes": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
++      "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
++      "dependencies": {
++        "buffer-xor": "^1.0.3",
++        "cipher-base": "^1.0.0",
++        "create-hash": "^1.1.0",
++        "evp_bytestokey": "^1.0.3",
++        "inherits": "^2.0.1",
++        "safe-buffer": "^5.0.1"
++      }
++    },
++    "node_modules/browserify-cipher": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
++      "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
++      "dependencies": {
++        "browserify-aes": "^1.0.4",
++        "browserify-des": "^1.0.0",
++        "evp_bytestokey": "^1.0.0"
++      }
++    },
++    "node_modules/browserify-des": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
++      "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
++      "dependencies": {
++        "cipher-base": "^1.0.1",
++        "des.js": "^1.0.0",
++        "inherits": "^2.0.1",
++        "safe-buffer": "^5.1.2"
++      }
++    },
++    "node_modules/browserify-rsa": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
++      "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
++      "dependencies": {
++        "bn.js": "^5.0.0",
++        "randombytes": "^2.0.1"
++      }
++    },
++    "node_modules/browserify-sign": {
++      "version": "4.2.1",
++      "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz",
++      "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==",
++      "dependencies": {
++        "bn.js": "^5.1.1",
++        "browserify-rsa": "^4.0.1",
++        "create-hash": "^1.2.0",
++        "create-hmac": "^1.1.7",
++        "elliptic": "^6.5.3",
++        "inherits": "^2.0.4",
++        "parse-asn1": "^5.1.5",
++        "readable-stream": "^3.6.0",
++        "safe-buffer": "^5.2.0"
++      }
++    },
++    "node_modules/browserify-sign/node_modules/readable-stream": {
++      "version": "3.6.0",
++      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
++      "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
++      "dependencies": {
++        "inherits": "^2.0.3",
++        "string_decoder": "^1.1.1",
++        "util-deprecate": "^1.0.1"
++      },
++      "engines": {
++        "node": ">= 6"
++      }
++    },
++    "node_modules/browserify-zlib": {
++      "version": "0.2.0",
++      "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
++      "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
++      "dependencies": {
++        "pako": "~1.0.5"
++      }
++    },
++    "node_modules/browserslist": {
++      "version": "4.21.4",
++      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
++      "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
++      "funding": [
++        {
++          "type": "opencollective",
++          "url": "https://opencollective.com/browserslist"
++        },
++        {
++          "type": "tidelift",
++          "url": "https://tidelift.com/funding/github/npm/browserslist"
++        }
++      ],
++      "dependencies": {
++        "caniuse-lite": "^1.0.30001400",
++        "electron-to-chromium": "^1.4.251",
++        "node-releases": "^2.0.6",
++        "update-browserslist-db": "^1.0.9"
++      },
++      "bin": {
++        "browserslist": "cli.js"
++      },
++      "engines": {
++        "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
++      }
++    },
++    "node_modules/buffer": {
++      "version": "5.2.1",
++      "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz",
++      "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==",
++      "dependencies": {
++        "base64-js": "^1.0.2",
++        "ieee754": "^1.1.4"
++      }
++    },
++    "node_modules/buffer-alloc": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
++      "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
++      "dependencies": {
++        "buffer-alloc-unsafe": "^1.1.0",
++        "buffer-fill": "^1.0.0"
++      }
++    },
++    "node_modules/buffer-alloc-unsafe": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
++      "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg=="
++    },
++    "node_modules/buffer-crc32": {
++      "version": "0.2.13",
++      "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
++      "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/buffer-fill": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
++      "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ=="
++    },
++    "node_modules/buffer-from": {
++      "version": "1.1.2",
++      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
++      "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
++    },
++    "node_modules/buffer-indexof": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz",
++      "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g=="
++    },
++    "node_modules/buffer-xor": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
++      "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ=="
++    },
++    "node_modules/builtin-status-codes": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
++      "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ=="
++    },
++    "node_modules/cacache": {
++      "version": "15.3.0",
++      "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
++      "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
++      "dependencies": {
++        "@npmcli/fs": "^1.0.0",
++        "@npmcli/move-file": "^1.0.1",
++        "chownr": "^2.0.0",
++        "fs-minipass": "^2.0.0",
++        "glob": "^7.1.4",
++        "infer-owner": "^1.0.4",
++        "lru-cache": "^6.0.0",
++        "minipass": "^3.1.1",
++        "minipass-collect": "^1.0.2",
++        "minipass-flush": "^1.0.5",
++        "minipass-pipeline": "^1.2.2",
++        "mkdirp": "^1.0.3",
++        "p-map": "^4.0.0",
++        "promise-inflight": "^1.0.1",
++        "rimraf": "^3.0.2",
++        "ssri": "^8.0.1",
++        "tar": "^6.0.2",
++        "unique-filename": "^1.1.1"
++      },
++      "engines": {
++        "node": ">= 10"
++      }
++    },
++    "node_modules/cacache/node_modules/mkdirp": {
++      "version": "1.0.4",
++      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
++      "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
++      "bin": {
++        "mkdirp": "bin/cmd.js"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/cacache/node_modules/rimraf": {
++      "version": "3.0.2",
++      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
++      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
++      "dependencies": {
++        "glob": "^7.1.3"
++      },
++      "bin": {
++        "rimraf": "bin.js"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/isaacs"
++      }
++    },
++    "node_modules/cacheable-request": {
++      "version": "6.1.0",
++      "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
++      "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
++      "dependencies": {
++        "clone-response": "^1.0.2",
++        "get-stream": "^5.1.0",
++        "http-cache-semantics": "^4.0.0",
++        "keyv": "^3.0.0",
++        "lowercase-keys": "^2.0.0",
++        "normalize-url": "^4.1.0",
++        "responselike": "^1.0.2"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/cacheable-request/node_modules/lowercase-keys": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
++      "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/cached-path-relative": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz",
++      "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA=="
++    },
++    "node_modules/call-bind": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
++      "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
++      "dependencies": {
++        "function-bind": "^1.1.1",
++        "get-intrinsic": "^1.0.2"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/callsites": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
++      "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/camel-case": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
++      "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==",
++      "dependencies": {
++        "no-case": "^2.2.0",
++        "upper-case": "^1.1.1"
++      }
++    },
++    "node_modules/camelcase": {
++      "version": "5.3.1",
++      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
++      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/camelcase-keys": {
++      "version": "6.2.2",
++      "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
++      "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
++      "dependencies": {
++        "camelcase": "^5.3.1",
++        "map-obj": "^4.0.0",
++        "quick-lru": "^4.0.1"
++      },
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/caniuse-lite": {
++      "version": "1.0.30001431",
++      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz",
++      "integrity": "sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==",
++      "funding": [
++        {
++          "type": "opencollective",
++          "url": "https://opencollective.com/browserslist"
++        },
++        {
++          "type": "tidelift",
++          "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
++        }
++      ]
++    },
++    "node_modules/caseless": {
++      "version": "0.12.0",
++      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
++      "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw=="
++    },
++    "node_modules/chalk": {
++      "version": "2.4.2",
++      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
++      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
++      "dependencies": {
++        "ansi-styles": "^3.2.1",
++        "escape-string-regexp": "^1.0.5",
++        "supports-color": "^5.3.0"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/chokidar": {
++      "version": "3.5.3",
++      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
++      "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
++      "funding": [
++        {
++          "type": "individual",
++          "url": "https://paulmillr.com/funding/"
++        }
++      ],
++      "dependencies": {
++        "anymatch": "~3.1.2",
++        "braces": "~3.0.2",
++        "glob-parent": "~5.1.2",
++        "is-binary-path": "~2.1.0",
++        "is-glob": "~4.0.1",
++        "normalize-path": "~3.0.0",
++        "readdirp": "~3.6.0"
++      },
++      "engines": {
++        "node": ">= 8.10.0"
++      },
++      "optionalDependencies": {
++        "fsevents": "~2.3.2"
++      }
++    },
++    "node_modules/chownr": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
++      "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/chroma-js": {
++      "version": "2.4.2",
++      "resolved": "https://registry.npmjs.org/chroma-js/-/chroma-js-2.4.2.tgz",
++      "integrity": "sha512-U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A=="
++    },
++    "node_modules/chromium-pickle-js": {
++      "version": "0.2.0",
++      "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz",
++      "integrity": "sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw=="
++    },
++    "node_modules/ci-info": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
++      "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ=="
++    },
++    "node_modules/cipher-base": {
++      "version": "1.0.4",
++      "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
++      "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
++      "dependencies": {
++        "inherits": "^2.0.1",
++        "safe-buffer": "^5.0.1"
++      }
++    },
++    "node_modules/clean-stack": {
++      "version": "2.2.0",
++      "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
++      "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/cli-boxes": {
++      "version": "2.2.1",
++      "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz",
++      "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==",
++      "engines": {
++        "node": ">=6"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/cliui": {
++      "version": "7.0.4",
++      "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
++      "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
++      "dependencies": {
++        "string-width": "^4.2.0",
++        "strip-ansi": "^6.0.0",
++        "wrap-ansi": "^7.0.0"
++      }
++    },
++    "node_modules/clone-response": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz",
++      "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==",
++      "dependencies": {
++        "mimic-response": "^1.0.0"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/color-convert": {
++      "version": "1.9.3",
++      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
++      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
++      "dependencies": {
++        "color-name": "1.1.3"
++      }
++    },
++    "node_modules/color-name": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
++      "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
++    },
++    "node_modules/color-support": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
++      "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
++      "bin": {
++        "color-support": "bin.js"
++      }
++    },
++    "node_modules/combine-source-map": {
++      "version": "0.8.0",
++      "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz",
++      "integrity": "sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==",
++      "dependencies": {
++        "convert-source-map": "~1.1.0",
++        "inline-source-map": "~0.6.0",
++        "lodash.memoize": "~3.0.3",
++        "source-map": "~0.5.3"
++      }
++    },
++    "node_modules/combine-source-map/node_modules/convert-source-map": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
++      "integrity": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg=="
++    },
++    "node_modules/combined-stream": {
++      "version": "1.0.8",
++      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
++      "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
++      "dependencies": {
++        "delayed-stream": "~1.0.0"
++      },
++      "engines": {
++        "node": ">= 0.8"
++      }
++    },
++    "node_modules/commander": {
++      "version": "5.1.0",
++      "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
++      "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
++      "engines": {
++        "node": ">= 6"
++      }
++    },
++    "node_modules/compare-version": {
++      "version": "0.1.2",
++      "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz",
++      "integrity": "sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/concat-map": {
++      "version": "0.0.1",
++      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
++      "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
++    },
++    "node_modules/concat-stream": {
++      "version": "1.6.2",
++      "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
++      "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
++      "engines": [
++        "node >= 0.8"
++      ],
++      "dependencies": {
++        "buffer-from": "^1.0.0",
++        "inherits": "^2.0.3",
++        "readable-stream": "^2.2.2",
++        "typedarray": "^0.0.6"
++      }
++    },
++    "node_modules/config-chain": {
++      "version": "1.1.13",
++      "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz",
++      "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==",
++      "optional": true,
++      "dependencies": {
++        "ini": "^1.3.4",
++        "proto-list": "~1.2.1"
++      }
++    },
++    "node_modules/configstore": {
++      "version": "5.0.1",
++      "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz",
++      "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==",
++      "dependencies": {
++        "dot-prop": "^5.2.0",
++        "graceful-fs": "^4.1.2",
++        "make-dir": "^3.0.0",
++        "unique-string": "^2.0.0",
++        "write-file-atomic": "^3.0.0",
++        "xdg-basedir": "^4.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/console-browserify": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
++      "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA=="
++    },
++    "node_modules/console-control-strings": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
++      "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ=="
++    },
++    "node_modules/constants-browserify": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
++      "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ=="
++    },
++    "node_modules/convert-source-map": {
++      "version": "1.9.0",
++      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
++      "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="
++    },
++    "node_modules/core-js": {
++      "version": "3.22.5",
++      "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.5.tgz",
++      "integrity": "sha512-VP/xYuvJ0MJWRAobcmQ8F2H6Bsn+s7zqAAjFaHGBMc5AQm7zaelhD1LGduFn2EehEcQcU+br6t+fwbpQ5d1ZWA==",
++      "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.",
++      "hasInstallScript": true,
++      "funding": {
++        "type": "opencollective",
++        "url": "https://opencollective.com/core-js"
++      }
++    },
++    "node_modules/core-js-compat": {
++      "version": "3.26.0",
++      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.0.tgz",
++      "integrity": "sha512-piOX9Go+Z4f9ZiBFLnZ5VrOpBl0h7IGCkiFUN11QTe6LjAvOT3ifL/5TdoizMh99hcGy5SoLyWbapIY/PIb/3A==",
++      "dependencies": {
++        "browserslist": "^4.21.4"
++      },
++      "funding": {
++        "type": "opencollective",
++        "url": "https://opencollective.com/core-js"
++      }
++    },
++    "node_modules/core-util-is": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
++      "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
++    },
++    "node_modules/cpr": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/cpr/-/cpr-3.0.1.tgz",
++      "integrity": "sha512-Xch4PXQ/KC8lJ+KfJ9JI6eG/nmppLrPPWg5Q+vh65Qr9EjuJEubxh/H/Le1TmCZ7+Xv7iJuNRqapyOFZB+wsxA==",
++      "dependencies": {
++        "graceful-fs": "^4.1.5",
++        "minimist": "^1.2.0",
++        "mkdirp": "~0.5.1",
++        "rimraf": "^2.5.4"
++      },
++      "bin": {
++        "cpr": "bin/cpr"
++      }
++    },
++    "node_modules/create-ecdh": {
++      "version": "4.0.4",
++      "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
++      "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
++      "dependencies": {
++        "bn.js": "^4.1.0",
++        "elliptic": "^6.5.3"
++      }
++    },
++    "node_modules/create-ecdh/node_modules/bn.js": {
++      "version": "4.12.0",
++      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
++      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
++    },
++    "node_modules/create-hash": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
++      "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
++      "dependencies": {
++        "cipher-base": "^1.0.1",
++        "inherits": "^2.0.1",
++        "md5.js": "^1.3.4",
++        "ripemd160": "^2.0.1",
++        "sha.js": "^2.4.0"
++      }
++    },
++    "node_modules/create-hmac": {
++      "version": "1.1.7",
++      "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
++      "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
++      "dependencies": {
++        "cipher-base": "^1.0.3",
++        "create-hash": "^1.1.0",
++        "inherits": "^2.0.1",
++        "ripemd160": "^2.0.0",
++        "safe-buffer": "^5.0.1",
++        "sha.js": "^2.4.8"
++      }
++    },
++    "node_modules/cross-spawn": {
++      "version": "7.0.3",
++      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
++      "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
++      "dependencies": {
++        "path-key": "^3.1.0",
++        "shebang-command": "^2.0.0",
++        "which": "^2.0.1"
++      },
++      "engines": {
++        "node": ">= 8"
++      }
++    },
++    "node_modules/cross-unzip": {
++      "version": "0.0.2",
++      "resolved": "https://registry.npmjs.org/cross-unzip/-/cross-unzip-0.0.2.tgz",
++      "integrity": "sha512-nRJ5c+aqHz0OJVU4V1bqoaDggydfauK/Gha/H/ScBvuIjhZvl8YIpdWVzSR3vUhzCloqB1tvBdQ4V7J8qK7HzQ=="
++    },
++    "node_modules/crypto-browserify": {
++      "version": "3.12.0",
++      "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
++      "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
++      "dependencies": {
++        "browserify-cipher": "^1.0.0",
++        "browserify-sign": "^4.0.0",
++        "create-ecdh": "^4.0.0",
++        "create-hash": "^1.1.0",
++        "create-hmac": "^1.1.0",
++        "diffie-hellman": "^5.0.0",
++        "inherits": "^2.0.1",
++        "pbkdf2": "^3.0.3",
++        "public-encrypt": "^4.0.0",
++        "randombytes": "^2.0.0",
++        "randomfill": "^1.0.3"
++      },
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/crypto-random-string": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
++      "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/dash-ast": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz",
++      "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA=="
++    },
++    "node_modules/dashdash": {
++      "version": "1.14.1",
++      "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
++      "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
++      "dependencies": {
++        "assert-plus": "^1.0.0"
++      },
++      "engines": {
++        "node": ">=0.10"
++      }
++    },
++    "node_modules/debug": {
++      "version": "4.3.4",
++      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
++      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
++      "dependencies": {
++        "ms": "2.1.2"
++      },
++      "engines": {
++        "node": ">=6.0"
++      },
++      "peerDependenciesMeta": {
++        "supports-color": {
++          "optional": true
++        }
++      }
++    },
++    "node_modules/decamelize": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
++      "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/decamelize-keys": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz",
++      "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==",
++      "dependencies": {
++        "decamelize": "^1.1.0",
++        "map-obj": "^1.0.0"
++      },
++      "engines": {
++        "node": ">=0.10.0"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/decamelize-keys/node_modules/map-obj": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
++      "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/decompress-response": {
++      "version": "3.3.0",
++      "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
++      "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==",
++      "dependencies": {
++        "mimic-response": "^1.0.0"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/deep-equal": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz",
++      "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==",
++      "dependencies": {
++        "is-arguments": "^1.0.4",
++        "is-date-object": "^1.0.1",
++        "is-regex": "^1.0.4",
++        "object-is": "^1.0.1",
++        "object-keys": "^1.1.1",
++        "regexp.prototype.flags": "^1.2.0"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/deep-extend": {
++      "version": "0.6.0",
++      "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
++      "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
++      "engines": {
++        "node": ">=4.0.0"
++      }
++    },
++    "node_modules/deep-is": {
++      "version": "0.1.4",
++      "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
++      "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
++    },
++    "node_modules/defer-to-connect": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
++      "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ=="
++    },
++    "node_modules/define-lazy-prop": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
++      "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/define-properties": {
++      "version": "1.1.4",
++      "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz",
++      "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==",
++      "dependencies": {
++        "has-property-descriptors": "^1.0.0",
++        "object-keys": "^1.1.1"
++      },
++      "engines": {
++        "node": ">= 0.4"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/defined": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz",
++      "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==",
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/delayed-stream": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
++      "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
++      "engines": {
++        "node": ">=0.4.0"
++      }
++    },
++    "node_modules/delegates": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
++      "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ=="
++    },
++    "node_modules/depd": {
++      "version": "1.1.2",
++      "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
++      "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
++      "engines": {
++        "node": ">= 0.6"
++      }
++    },
++    "node_modules/deps-sort": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz",
++      "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==",
++      "dependencies": {
++        "JSONStream": "^1.0.3",
++        "shasum-object": "^1.0.0",
++        "subarg": "^1.0.0",
++        "through2": "^2.0.0"
++      },
++      "bin": {
++        "deps-sort": "bin/cmd.js"
++      }
++    },
++    "node_modules/des.js": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
++      "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
++      "dependencies": {
++        "inherits": "^2.0.1",
++        "minimalistic-assert": "^1.0.0"
++      }
++    },
++    "node_modules/destroy": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
++      "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
++      "engines": {
++        "node": ">= 0.8",
++        "npm": "1.2.8000 || >= 1.4.16"
++      }
++    },
++    "node_modules/detect-libc": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
++      "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==",
++      "optional": true,
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/detect-node": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
++      "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
++      "optional": true
++    },
++    "node_modules/detective": {
++      "version": "5.2.1",
++      "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz",
++      "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==",
++      "dependencies": {
++        "acorn-node": "^1.8.2",
++        "defined": "^1.0.0",
++        "minimist": "^1.2.6"
++      },
++      "bin": {
++        "detective": "bin/detective.js"
++      },
++      "engines": {
++        "node": ">=0.8.0"
++      }
++    },
++    "node_modules/diff-match-patch": {
++      "version": "1.0.5",
++      "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz",
++      "integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw=="
++    },
++    "node_modules/diffie-hellman": {
++      "version": "5.0.3",
++      "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
++      "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
++      "dependencies": {
++        "bn.js": "^4.1.0",
++        "miller-rabin": "^4.0.0",
++        "randombytes": "^2.0.0"
++      }
++    },
++    "node_modules/diffie-hellman/node_modules/bn.js": {
++      "version": "4.12.0",
++      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
++      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
++    },
++    "node_modules/dns-equal": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
++      "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg=="
++    },
++    "node_modules/dns-packet": {
++      "version": "1.3.4",
++      "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz",
++      "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==",
++      "dependencies": {
++        "ip": "^1.1.0",
++        "safe-buffer": "^5.0.1"
++      }
++    },
++    "node_modules/dns-txt": {
++      "version": "2.0.3",
++      "resolved": "git+ssh://git@github.com/jean-emmanuel/dns-txt.git#3bee7785c32d8bc71230d5e01383c61fb72a4b4f",
++      "license": "MIT",
++      "dependencies": {
++        "buffer-indexof": "^1.0.0"
++      }
++    },
++    "node_modules/doctrine": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
++      "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
++      "dependencies": {
++        "esutils": "^2.0.2"
++      },
++      "engines": {
++        "node": ">=6.0.0"
++      }
++    },
++    "node_modules/dom-serializer": {
++      "version": "1.4.1",
++      "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
++      "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
++      "dependencies": {
++        "domelementtype": "^2.0.1",
++        "domhandler": "^4.2.0",
++        "entities": "^2.0.0"
++      },
++      "funding": {
++        "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
++      }
++    },
++    "node_modules/dom-serializer/node_modules/domhandler": {
++      "version": "4.3.1",
++      "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
++      "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
++      "dependencies": {
++        "domelementtype": "^2.2.0"
++      },
++      "engines": {
++        "node": ">= 4"
++      },
++      "funding": {
++        "url": "https://github.com/fb55/domhandler?sponsor=1"
++      }
++    },
++    "node_modules/domain-browser": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
++      "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
++      "engines": {
++        "node": ">=0.4",
++        "npm": ">=1.2"
++      }
++    },
++    "node_modules/domelementtype": {
++      "version": "2.3.0",
++      "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
++      "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
++      "funding": [
++        {
++          "type": "github",
++          "url": "https://github.com/sponsors/fb55"
++        }
++      ]
++    },
++    "node_modules/domhandler": {
++      "version": "3.3.0",
++      "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz",
++      "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==",
++      "dependencies": {
++        "domelementtype": "^2.0.1"
++      },
++      "engines": {
++        "node": ">= 4"
++      },
++      "funding": {
++        "url": "https://github.com/fb55/domhandler?sponsor=1"
++      }
++    },
++    "node_modules/domutils": {
++      "version": "2.8.0",
++      "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
++      "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
++      "dependencies": {
++        "dom-serializer": "^1.0.1",
++        "domelementtype": "^2.2.0",
++        "domhandler": "^4.2.0"
++      },
++      "funding": {
++        "url": "https://github.com/fb55/domutils?sponsor=1"
++      }
++    },
++    "node_modules/domutils/node_modules/domhandler": {
++      "version": "4.3.1",
++      "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
++      "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
++      "dependencies": {
++        "domelementtype": "^2.2.0"
++      },
++      "engines": {
++        "node": ">= 4"
++      },
++      "funding": {
++        "url": "https://github.com/fb55/domhandler?sponsor=1"
++      }
++    },
++    "node_modules/dot-prop": {
++      "version": "5.3.0",
++      "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz",
++      "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==",
++      "dependencies": {
++        "is-obj": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/duplexer2": {
++      "version": "0.1.4",
++      "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
++      "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==",
++      "dependencies": {
++        "readable-stream": "^2.0.2"
++      }
++    },
++    "node_modules/duplexer3": {
++      "version": "0.1.5",
++      "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz",
++      "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA=="
++    },
++    "node_modules/ecc-jsbn": {
++      "version": "0.1.2",
++      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
++      "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
++      "dependencies": {
++        "jsbn": "~0.1.0",
++        "safer-buffer": "^2.1.0"
++      }
++    },
++    "node_modules/ee-first": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
++      "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
++    },
++    "node_modules/electron-is-accelerator": {
++      "version": "0.1.2",
++      "resolved": "https://registry.npmjs.org/electron-is-accelerator/-/electron-is-accelerator-0.1.2.tgz",
++      "integrity": "sha512-fLGSAjXZtdn1sbtZxx52+krefmtNuVwnJCV2gNiVt735/ARUboMl8jnNC9fZEqQdlAv2ZrETfmBUsoQci5evJA=="
++    },
++    "node_modules/electron-localshortcut": {
++      "version": "3.2.1",
++      "resolved": "https://registry.npmjs.org/electron-localshortcut/-/electron-localshortcut-3.2.1.tgz",
++      "integrity": "sha512-DWvhKv36GsdXKnaFFhEiK8kZZA+24/yFLgtTwJJHc7AFgDjNRIBJZ/jq62Y/dWv9E4ypYwrVWN2bVrCYw1uv7Q==",
++      "dependencies": {
++        "debug": "^4.0.1",
++        "electron-is-accelerator": "^0.1.0",
++        "keyboardevent-from-electron-accelerator": "^2.0.0",
++        "keyboardevents-areequal": "^0.2.1"
++      }
++    },
++    "node_modules/electron-notarize": {
++      "version": "1.2.2",
++      "resolved": "https://registry.npmjs.org/electron-notarize/-/electron-notarize-1.2.2.tgz",
++      "integrity": "sha512-ZStVWYcWI7g87/PgjPJSIIhwQXOaw4/XeXU+pWqMMktSLHaGMLHdyPPN7Cmao7+Cr7fYufA16npdtMndYciHNw==",
++      "deprecated": "Please use @electron/notarize moving forward.  There is no API change, just a package name change",
++      "dependencies": {
++        "debug": "^4.1.1",
++        "fs-extra": "^9.0.1"
++      },
++      "engines": {
++        "node": ">= 10.0.0"
++      }
++    },
++    "node_modules/electron-osx-sign": {
++      "version": "0.5.0",
++      "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.5.0.tgz",
++      "integrity": "sha512-icoRLHzFz/qxzDh/N4Pi2z4yVHurlsCAYQvsCSG7fCedJ4UJXBS6PoQyGH71IfcqKupcKeK7HX/NkyfG+v6vlQ==",
++      "deprecated": "Please use @electron/osx-sign moving forward. Be aware the API is slightly different",
++      "dependencies": {
++        "bluebird": "^3.5.0",
++        "compare-version": "^0.1.2",
++        "debug": "^2.6.8",
++        "isbinaryfile": "^3.0.2",
++        "minimist": "^1.2.0",
++        "plist": "^3.0.1"
++      },
++      "bin": {
++        "electron-osx-flat": "bin/electron-osx-flat.js",
++        "electron-osx-sign": "bin/electron-osx-sign.js"
++      },
++      "engines": {
++        "node": ">=4.0.0"
++      }
++    },
++    "node_modules/electron-osx-sign/node_modules/debug": {
++      "version": "2.6.9",
++      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
++      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
++      "dependencies": {
++        "ms": "2.0.0"
++      }
++    },
++    "node_modules/electron-osx-sign/node_modules/ms": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
++      "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
++    },
++    "node_modules/electron-packager": {
++      "version": "15.2.0",
++      "resolved": "https://registry.npmjs.org/electron-packager/-/electron-packager-15.2.0.tgz",
++      "integrity": "sha512-BaklTBRQy1JTijR3hi8XxHf/uo76rHbDCNM/eQHSblzE9C0NoNfOe86nPxB7y1u2jwlqoEJ4zFiHpTFioKGGRA==",
++      "dependencies": {
++        "@electron/get": "^1.6.0",
++        "asar": "^3.0.0",
++        "debug": "^4.0.1",
++        "electron-notarize": "^1.0.0",
++        "electron-osx-sign": "^0.5.0",
++        "extract-zip": "^2.0.0",
++        "filenamify": "^4.1.0",
++        "fs-extra": "^9.0.0",
++        "galactus": "^0.2.1",
++        "get-package-info": "^1.0.0",
++        "junk": "^3.1.0",
++        "parse-author": "^2.0.0",
++        "plist": "^3.0.0",
++        "rcedit": "^2.0.0",
++        "resolve": "^1.1.6",
++        "semver": "^7.1.3",
++        "yargs-parser": "^20.0.0"
++      },
++      "bin": {
++        "electron-packager": "bin/electron-packager.js"
++      },
++      "engines": {
++        "node": ">= 10.12.0"
++      },
++      "funding": {
++        "url": "https://github.com/electron/electron-packager?sponsor=1"
++      }
++    },
++    "node_modules/electron-packager-plugin-non-proprietary-codecs-ffmpeg": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/electron-packager-plugin-non-proprietary-codecs-ffmpeg/-/electron-packager-plugin-non-proprietary-codecs-ffmpeg-1.0.2.tgz",
++      "integrity": "sha512-xPkbzndg2KODqmNe9yIx0dhNOfaOqrdNZ1ZSSZN4h1wT0T5SV/YES0tNyN932jQd+c5cFPv6AWYYjuPWKvcITg==",
++      "dependencies": {
++        "7zip": "0.0.6",
++        "cross-unzip": "0.0.2",
++        "mkdirp": "^0.5.1",
++        "request": "^2.73.0",
++        "semver": "^5.2.0"
++      }
++    },
++    "node_modules/electron-packager-plugin-non-proprietary-codecs-ffmpeg/node_modules/semver": {
++      "version": "5.7.1",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
++      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
++      "bin": {
++        "semver": "bin/semver"
++      }
++    },
++    "node_modules/electron-to-chromium": {
++      "version": "1.4.284",
++      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz",
++      "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA=="
++    },
++    "node_modules/elliptic": {
++      "version": "6.5.4",
++      "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
++      "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
++      "dependencies": {
++        "bn.js": "^4.11.9",
++        "brorand": "^1.1.0",
++        "hash.js": "^1.0.0",
++        "hmac-drbg": "^1.0.1",
++        "inherits": "^2.0.4",
++        "minimalistic-assert": "^1.0.1",
++        "minimalistic-crypto-utils": "^1.0.1"
++      }
++    },
++    "node_modules/elliptic/node_modules/bn.js": {
++      "version": "4.12.0",
++      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
++      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
++    },
++    "node_modules/emoji-regex": {
++      "version": "8.0.0",
++      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
++      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
++    },
++    "node_modules/encodeurl": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
++      "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
++      "engines": {
++        "node": ">= 0.8"
++      }
++    },
++    "node_modules/encoding": {
++      "version": "0.1.13",
++      "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
++      "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
++      "optional": true,
++      "dependencies": {
++        "iconv-lite": "^0.6.2"
++      }
++    },
++    "node_modules/end-of-stream": {
++      "version": "1.4.4",
++      "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
++      "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
++      "dependencies": {
++        "once": "^1.4.0"
++      }
++    },
++    "node_modules/entities": {
++      "version": "2.2.0",
++      "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
++      "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
++      "funding": {
++        "url": "https://github.com/fb55/entities?sponsor=1"
++      }
++    },
++    "node_modules/env-paths": {
++      "version": "2.2.1",
++      "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
++      "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/err-code": {
++      "version": "2.0.3",
++      "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
++      "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA=="
++    },
++    "node_modules/error-ex": {
++      "version": "1.3.2",
++      "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
++      "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
++      "dependencies": {
++        "is-arrayish": "^0.2.1"
++      }
++    },
++    "node_modules/error-stack-parser": {
++      "version": "2.1.4",
++      "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz",
++      "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==",
++      "dependencies": {
++        "stackframe": "^1.3.4"
++      }
++    },
++    "node_modules/es6-error": {
++      "version": "4.1.1",
++      "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
++      "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
++      "optional": true
++    },
++    "node_modules/escalade": {
++      "version": "3.1.1",
++      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
++      "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/escape-goat": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz",
++      "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/escape-html": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
++      "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
++    },
++    "node_modules/escape-string-regexp": {
++      "version": "1.0.5",
++      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
++      "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
++      "engines": {
++        "node": ">=0.8.0"
++      }
++    },
++    "node_modules/escaper": {
++      "version": "2.5.3",
++      "resolved": "https://registry.npmjs.org/escaper/-/escaper-2.5.3.tgz",
++      "integrity": "sha512-QGb9sFxBVpbzMggrKTX0ry1oiI4CSDAl9vIL702hzl1jGW8VZs7qfqTRX7WDOjoNDoEVGcEtu1ZOQgReSfT2kQ=="
++    },
++    "node_modules/eslint": {
++      "version": "8.16.0",
++      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.16.0.tgz",
++      "integrity": "sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==",
++      "dependencies": {
++        "@eslint/eslintrc": "^1.3.0",
++        "@humanwhocodes/config-array": "^0.9.2",
++        "ajv": "^6.10.0",
++        "chalk": "^4.0.0",
++        "cross-spawn": "^7.0.2",
++        "debug": "^4.3.2",
++        "doctrine": "^3.0.0",
++        "escape-string-regexp": "^4.0.0",
++        "eslint-scope": "^7.1.1",
++        "eslint-utils": "^3.0.0",
++        "eslint-visitor-keys": "^3.3.0",
++        "espree": "^9.3.2",
++        "esquery": "^1.4.0",
++        "esutils": "^2.0.2",
++        "fast-deep-equal": "^3.1.3",
++        "file-entry-cache": "^6.0.1",
++        "functional-red-black-tree": "^1.0.1",
++        "glob-parent": "^6.0.1",
++        "globals": "^13.15.0",
++        "ignore": "^5.2.0",
++        "import-fresh": "^3.0.0",
++        "imurmurhash": "^0.1.4",
++        "is-glob": "^4.0.0",
++        "js-yaml": "^4.1.0",
++        "json-stable-stringify-without-jsonify": "^1.0.1",
++        "levn": "^0.4.1",
++        "lodash.merge": "^4.6.2",
++        "minimatch": "^3.1.2",
++        "natural-compare": "^1.4.0",
++        "optionator": "^0.9.1",
++        "regexpp": "^3.2.0",
++        "strip-ansi": "^6.0.1",
++        "strip-json-comments": "^3.1.0",
++        "text-table": "^0.2.0",
++        "v8-compile-cache": "^2.0.3"
++      },
++      "bin": {
++        "eslint": "bin/eslint.js"
++      },
++      "engines": {
++        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/eslint"
++      }
++    },
++    "node_modules/eslint-scope": {
++      "version": "5.1.1",
++      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
++      "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
++      "dependencies": {
++        "esrecurse": "^4.3.0",
++        "estraverse": "^4.1.1"
++      },
++      "engines": {
++        "node": ">=8.0.0"
++      }
++    },
++    "node_modules/eslint-utils": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
++      "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
++      "dependencies": {
++        "eslint-visitor-keys": "^2.0.0"
++      },
++      "engines": {
++        "node": "^10.0.0 || ^12.0.0 || >= 14.0.0"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/mysticatea"
++      },
++      "peerDependencies": {
++        "eslint": ">=5"
++      }
++    },
++    "node_modules/eslint-visitor-keys": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
++      "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/eslint/node_modules/ansi-styles": {
++      "version": "4.3.0",
++      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
++      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
++      "dependencies": {
++        "color-convert": "^2.0.1"
++      },
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
++      }
++    },
++    "node_modules/eslint/node_modules/balanced-match": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
++      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
++    },
++    "node_modules/eslint/node_modules/brace-expansion": {
++      "version": "1.1.11",
++      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
++      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
++      "dependencies": {
++        "balanced-match": "^1.0.0",
++        "concat-map": "0.0.1"
++      }
++    },
++    "node_modules/eslint/node_modules/chalk": {
++      "version": "4.1.2",
++      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
++      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
++      "dependencies": {
++        "ansi-styles": "^4.1.0",
++        "supports-color": "^7.1.0"
++      },
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/chalk/chalk?sponsor=1"
++      }
++    },
++    "node_modules/eslint/node_modules/color-convert": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
++      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
++      "dependencies": {
++        "color-name": "~1.1.4"
++      },
++      "engines": {
++        "node": ">=7.0.0"
++      }
++    },
++    "node_modules/eslint/node_modules/color-name": {
++      "version": "1.1.4",
++      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
++      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
++    },
++    "node_modules/eslint/node_modules/escape-string-regexp": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
++      "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/eslint/node_modules/eslint-scope": {
++      "version": "7.1.1",
++      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
++      "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
++      "dependencies": {
++        "esrecurse": "^4.3.0",
++        "estraverse": "^5.2.0"
++      },
++      "engines": {
++        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
++      }
++    },
++    "node_modules/eslint/node_modules/eslint-visitor-keys": {
++      "version": "3.3.0",
++      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
++      "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
++      "engines": {
++        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
++      }
++    },
++    "node_modules/eslint/node_modules/estraverse": {
++      "version": "5.3.0",
++      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
++      "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
++      "engines": {
++        "node": ">=4.0"
++      }
++    },
++    "node_modules/eslint/node_modules/glob-parent": {
++      "version": "6.0.2",
++      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
++      "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
++      "dependencies": {
++        "is-glob": "^4.0.3"
++      },
++      "engines": {
++        "node": ">=10.13.0"
++      }
++    },
++    "node_modules/eslint/node_modules/globals": {
++      "version": "13.17.0",
++      "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
++      "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
++      "dependencies": {
++        "type-fest": "^0.20.2"
++      },
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/eslint/node_modules/has-flag": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
++      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/eslint/node_modules/minimatch": {
++      "version": "3.1.2",
++      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
++      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
++      "dependencies": {
++        "brace-expansion": "^1.1.7"
++      },
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/eslint/node_modules/supports-color": {
++      "version": "7.2.0",
++      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
++      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
++      "dependencies": {
++        "has-flag": "^4.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/eslint/node_modules/type-fest": {
++      "version": "0.20.2",
++      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
++      "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/espree": {
++      "version": "9.4.1",
++      "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz",
++      "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==",
++      "dependencies": {
++        "acorn": "^8.8.0",
++        "acorn-jsx": "^5.3.2",
++        "eslint-visitor-keys": "^3.3.0"
++      },
++      "engines": {
++        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/eslint"
++      }
++    },
++    "node_modules/espree/node_modules/eslint-visitor-keys": {
++      "version": "3.3.0",
++      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
++      "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
++      "engines": {
++        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
++      }
++    },
++    "node_modules/esquery": {
++      "version": "1.4.0",
++      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
++      "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
++      "dependencies": {
++        "estraverse": "^5.1.0"
++      },
++      "engines": {
++        "node": ">=0.10"
++      }
++    },
++    "node_modules/esquery/node_modules/estraverse": {
++      "version": "5.3.0",
++      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
++      "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
++      "engines": {
++        "node": ">=4.0"
++      }
++    },
++    "node_modules/esrecurse": {
++      "version": "4.3.0",
++      "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
++      "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
++      "dependencies": {
++        "estraverse": "^5.2.0"
++      },
++      "engines": {
++        "node": ">=4.0"
++      }
++    },
++    "node_modules/esrecurse/node_modules/estraverse": {
++      "version": "5.3.0",
++      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
++      "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
++      "engines": {
++        "node": ">=4.0"
++      }
++    },
++    "node_modules/estraverse": {
++      "version": "4.3.0",
++      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
++      "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
++      "engines": {
++        "node": ">=4.0"
++      }
++    },
++    "node_modules/estree-is-member-expression": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/estree-is-member-expression/-/estree-is-member-expression-1.0.0.tgz",
++      "integrity": "sha512-Ec+X44CapIGExvSZN+pGkmr5p7HwUVQoPQSd458Lqwvaf4/61k/invHSh4BYK8OXnCkfEhWuIoG5hayKLQStIg=="
++    },
++    "node_modules/esutils": {
++      "version": "2.0.3",
++      "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
++      "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/etag": {
++      "version": "1.8.1",
++      "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
++      "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
++      "engines": {
++        "node": ">= 0.6"
++      }
++    },
++    "node_modules/events": {
++      "version": "3.3.0",
++      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
++      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
++      "engines": {
++        "node": ">=0.8.x"
++      }
++    },
++    "node_modules/evp_bytestokey": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
++      "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
++      "dependencies": {
++        "md5.js": "^1.3.4",
++        "safe-buffer": "^5.1.1"
++      }
++    },
++    "node_modules/exorcist": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/exorcist/-/exorcist-2.0.0.tgz",
++      "integrity": "sha512-+c63SvhBq/HjmbV9cu9vkDkjXFiuI4lpqOZU5Y3t5GSV2l4TQCqVli9c7nIASHxkUL4THaOZDUcb6XNBI/eYjw==",
++      "dependencies": {
++        "is-stream": "^2.0.0",
++        "minimist": "^1.2.5",
++        "mkdirp": "^1.0.4",
++        "mold-source-map": "^0.4.0"
++      },
++      "bin": {
++        "exorcist": "bin/exorcist.js"
++      }
++    },
++    "node_modules/exorcist/node_modules/mkdirp": {
++      "version": "1.0.4",
++      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
++      "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
++      "bin": {
++        "mkdirp": "bin/cmd.js"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/expand-template": {
++      "version": "2.0.3",
++      "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
++      "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==",
++      "optional": true,
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/extend": {
++      "version": "3.0.2",
++      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
++      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
++    },
++    "node_modules/extract-zip": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
++      "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
++      "dependencies": {
++        "debug": "^4.1.1",
++        "get-stream": "^5.1.0",
++        "yauzl": "^2.10.0"
++      },
++      "bin": {
++        "extract-zip": "cli.js"
++      },
++      "engines": {
++        "node": ">= 10.17.0"
++      },
++      "optionalDependencies": {
++        "@types/yauzl": "^2.9.1"
++      }
++    },
++    "node_modules/extsprintf": {
++      "version": "1.3.0",
++      "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
++      "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==",
++      "engines": [
++        "node >=0.6.0"
++      ]
++    },
++    "node_modules/fast-deep-equal": {
++      "version": "3.1.3",
++      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
++      "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
++    },
++    "node_modules/fast-json-stable-stringify": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
++      "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
++    },
++    "node_modules/fast-levenshtein": {
++      "version": "2.0.6",
++      "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
++      "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="
++    },
++    "node_modules/fast-safe-stringify": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz",
++      "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA=="
++    },
++    "node_modules/fastdom": {
++      "version": "1.0.10",
++      "resolved": "https://registry.npmjs.org/fastdom/-/fastdom-1.0.10.tgz",
++      "integrity": "sha512-sbL4h358IlZn8VsTvA5TYnKVLYif46XhPEll+HTSxVtDSpqZEO/17D/QqlxE9V2K7AQ82GXeYeQLU2HWwKgk1A==",
++      "dependencies": {
++        "strictdom": "^1.0.1"
++      }
++    },
++    "node_modules/fd-slicer": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
++      "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
++      "dependencies": {
++        "pend": "~1.2.0"
++      }
++    },
++    "node_modules/file-entry-cache": {
++      "version": "6.0.1",
++      "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
++      "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
++      "dependencies": {
++        "flat-cache": "^3.0.4"
++      },
++      "engines": {
++        "node": "^10.12.0 || >=12.0.0"
++      }
++    },
++    "node_modules/file-saver": {
++      "version": "2.0.5",
++      "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz",
++      "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA=="
++    },
++    "node_modules/file-uri-to-path": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
++      "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
++      "optional": true
++    },
++    "node_modules/filename-reserved-regex": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz",
++      "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/filenamify": {
++      "version": "4.3.0",
++      "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz",
++      "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==",
++      "dependencies": {
++        "filename-reserved-regex": "^2.0.0",
++        "strip-outer": "^1.0.1",
++        "trim-repeated": "^1.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/fill-range": {
++      "version": "7.0.1",
++      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
++      "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
++      "dependencies": {
++        "to-regex-range": "^5.0.1"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/find-up": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
++      "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==",
++      "dependencies": {
++        "locate-path": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/flat-cache": {
++      "version": "3.0.4",
++      "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
++      "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
++      "dependencies": {
++        "flatted": "^3.1.0",
++        "rimraf": "^3.0.2"
++      },
++      "engines": {
++        "node": "^10.12.0 || >=12.0.0"
++      }
++    },
++    "node_modules/flat-cache/node_modules/rimraf": {
++      "version": "3.0.2",
++      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
++      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
++      "dependencies": {
++        "glob": "^7.1.3"
++      },
++      "bin": {
++        "rimraf": "bin.js"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/isaacs"
++      }
++    },
++    "node_modules/flatted": {
++      "version": "3.2.7",
++      "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
++      "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ=="
++    },
++    "node_modules/flora-colossus": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/flora-colossus/-/flora-colossus-1.0.1.tgz",
++      "integrity": "sha512-d+9na7t9FyH8gBJoNDSi28mE4NgQVGGvxQ4aHtFRetjyh5SXjuus+V5EZaxFmFdXVemSOrx0lsgEl/ZMjnOWJA==",
++      "dependencies": {
++        "debug": "^4.1.1",
++        "fs-extra": "^7.0.0"
++      },
++      "engines": {
++        "node": ">= 6.0.0"
++      }
++    },
++    "node_modules/flora-colossus/node_modules/fs-extra": {
++      "version": "7.0.1",
++      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
++      "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
++      "dependencies": {
++        "graceful-fs": "^4.1.2",
++        "jsonfile": "^4.0.0",
++        "universalify": "^0.1.0"
++      },
++      "engines": {
++        "node": ">=6 <7 || >=8"
++      }
++    },
++    "node_modules/flora-colossus/node_modules/jsonfile": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
++      "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
++      "optionalDependencies": {
++        "graceful-fs": "^4.1.6"
++      }
++    },
++    "node_modules/flora-colossus/node_modules/universalify": {
++      "version": "0.1.2",
++      "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
++      "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
++      "engines": {
++        "node": ">= 4.0.0"
++      }
++    },
++    "node_modules/for-each": {
++      "version": "0.3.3",
++      "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
++      "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
++      "dependencies": {
++        "is-callable": "^1.1.3"
++      }
++    },
++    "node_modules/forever-agent": {
++      "version": "0.6.1",
++      "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
++      "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==",
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/form-data": {
++      "version": "2.3.3",
++      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
++      "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
++      "dependencies": {
++        "asynckit": "^0.4.0",
++        "combined-stream": "^1.0.6",
++        "mime-types": "^2.1.12"
++      },
++      "engines": {
++        "node": ">= 0.12"
++      }
++    },
++    "node_modules/fresh": {
++      "version": "0.5.2",
++      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
++      "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
++      "engines": {
++        "node": ">= 0.6"
++      }
++    },
++    "node_modules/fs-constants": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
++      "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
++      "optional": true
++    },
++    "node_modules/fs-extra": {
++      "version": "9.1.0",
++      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
++      "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
++      "dependencies": {
++        "at-least-node": "^1.0.0",
++        "graceful-fs": "^4.2.0",
++        "jsonfile": "^6.0.1",
++        "universalify": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/fs-minipass": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
++      "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
++      "dependencies": {
++        "minipass": "^3.0.0"
++      },
++      "engines": {
++        "node": ">= 8"
++      }
++    },
++    "node_modules/fs.realpath": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
++      "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
++    },
++    "node_modules/fsevents": {
++      "version": "2.3.2",
++      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
++      "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
++      "hasInstallScript": true,
++      "optional": true,
++      "os": [
++        "darwin"
++      ],
++      "engines": {
++        "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
++      }
++    },
++    "node_modules/function-bind": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
++      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
++    },
++    "node_modules/functional-red-black-tree": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
++      "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g=="
++    },
++    "node_modules/functions-have-names": {
++      "version": "1.2.3",
++      "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
++      "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/galactus": {
++      "version": "0.2.1",
++      "resolved": "https://registry.npmjs.org/galactus/-/galactus-0.2.1.tgz",
++      "integrity": "sha512-mDc8EQJKtxjp9PMYS3PbpjjbX3oXhBTxoGaPahw620XZBIHJ4+nvw5KN/tRtmmSDR9dypstGNvqQ3C29QGoGHQ==",
++      "dependencies": {
++        "debug": "^3.1.0",
++        "flora-colossus": "^1.0.0",
++        "fs-extra": "^4.0.0"
++      }
++    },
++    "node_modules/galactus/node_modules/debug": {
++      "version": "3.2.7",
++      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
++      "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
++      "dependencies": {
++        "ms": "^2.1.1"
++      }
++    },
++    "node_modules/galactus/node_modules/fs-extra": {
++      "version": "4.0.3",
++      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
++      "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
++      "dependencies": {
++        "graceful-fs": "^4.1.2",
++        "jsonfile": "^4.0.0",
++        "universalify": "^0.1.0"
++      }
++    },
++    "node_modules/galactus/node_modules/jsonfile": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
++      "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
++      "optionalDependencies": {
++        "graceful-fs": "^4.1.6"
++      }
++    },
++    "node_modules/galactus/node_modules/universalify": {
++      "version": "0.1.2",
++      "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
++      "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
++      "engines": {
++        "node": ">= 4.0.0"
++      }
++    },
++    "node_modules/gauge": {
++      "version": "3.0.2",
++      "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
++      "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
++      "dependencies": {
++        "aproba": "^1.0.3 || ^2.0.0",
++        "color-support": "^1.1.2",
++        "console-control-strings": "^1.0.0",
++        "has-unicode": "^2.0.1",
++        "object-assign": "^4.1.1",
++        "signal-exit": "^3.0.0",
++        "string-width": "^4.2.3",
++        "strip-ansi": "^6.0.1",
++        "wide-align": "^1.1.2"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/gaze": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
++      "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
++      "dependencies": {
++        "globule": "^1.0.0"
++      },
++      "engines": {
++        "node": ">= 4.0.0"
++      }
++    },
++    "node_modules/gensync": {
++      "version": "1.0.0-beta.2",
++      "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
++      "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/get-assigned-identifiers": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz",
++      "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ=="
++    },
++    "node_modules/get-caller-file": {
++      "version": "2.0.5",
++      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
++      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
++      "engines": {
++        "node": "6.* || 8.* || >= 10.*"
++      }
++    },
++    "node_modules/get-intrinsic": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
++      "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
++      "dependencies": {
++        "function-bind": "^1.1.1",
++        "has": "^1.0.3",
++        "has-symbols": "^1.0.3"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/get-package-info": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/get-package-info/-/get-package-info-1.0.0.tgz",
++      "integrity": "sha512-SCbprXGAPdIhKAXiG+Mk6yeoFH61JlYunqdFQFHDtLjJlDjFf6x07dsS8acO+xWt52jpdVo49AlVDnUVK1sDNw==",
++      "dependencies": {
++        "bluebird": "^3.1.1",
++        "debug": "^2.2.0",
++        "lodash.get": "^4.0.0",
++        "read-pkg-up": "^2.0.0"
++      },
++      "engines": {
++        "node": ">= 4.0"
++      }
++    },
++    "node_modules/get-package-info/node_modules/debug": {
++      "version": "2.6.9",
++      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
++      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
++      "dependencies": {
++        "ms": "2.0.0"
++      }
++    },
++    "node_modules/get-package-info/node_modules/ms": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
++      "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
++    },
++    "node_modules/get-stdin": {
++      "version": "4.0.1",
++      "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
++      "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/get-stream": {
++      "version": "5.2.0",
++      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
++      "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
++      "dependencies": {
++        "pump": "^3.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/getpass": {
++      "version": "0.1.7",
++      "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
++      "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
++      "dependencies": {
++        "assert-plus": "^1.0.0"
++      }
++    },
++    "node_modules/github-from-package": {
++      "version": "0.0.0",
++      "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
++      "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==",
++      "optional": true
++    },
++    "node_modules/glob": {
++      "version": "7.2.3",
++      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
++      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
++      "dependencies": {
++        "fs.realpath": "^1.0.0",
++        "inflight": "^1.0.4",
++        "inherits": "2",
++        "minimatch": "^3.1.1",
++        "once": "^1.3.0",
++        "path-is-absolute": "^1.0.0"
++      },
++      "engines": {
++        "node": "*"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/isaacs"
++      }
++    },
++    "node_modules/glob-parent": {
++      "version": "5.1.2",
++      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
++      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
++      "dependencies": {
++        "is-glob": "^4.0.1"
++      },
++      "engines": {
++        "node": ">= 6"
++      }
++    },
++    "node_modules/glob/node_modules/balanced-match": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
++      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
++    },
++    "node_modules/glob/node_modules/brace-expansion": {
++      "version": "1.1.11",
++      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
++      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
++      "dependencies": {
++        "balanced-match": "^1.0.0",
++        "concat-map": "0.0.1"
++      }
++    },
++    "node_modules/glob/node_modules/minimatch": {
++      "version": "3.1.2",
++      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
++      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
++      "dependencies": {
++        "brace-expansion": "^1.1.7"
++      },
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/global-agent": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz",
++      "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==",
++      "optional": true,
++      "dependencies": {
++        "boolean": "^3.0.1",
++        "es6-error": "^4.1.1",
++        "matcher": "^3.0.0",
++        "roarr": "^2.15.3",
++        "semver": "^7.3.2",
++        "serialize-error": "^7.0.1"
++      },
++      "engines": {
++        "node": ">=10.0"
++      }
++    },
++    "node_modules/global-dirs": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz",
++      "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==",
++      "dependencies": {
++        "ini": "2.0.0"
++      },
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/global-dirs/node_modules/ini": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz",
++      "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==",
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/global-tunnel-ng": {
++      "version": "2.7.1",
++      "resolved": "https://registry.npmjs.org/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz",
++      "integrity": "sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==",
++      "optional": true,
++      "dependencies": {
++        "encodeurl": "^1.0.2",
++        "lodash": "^4.17.10",
++        "npm-conf": "^1.1.3",
++        "tunnel": "^0.0.6"
++      },
++      "engines": {
++        "node": ">=0.10"
++      }
++    },
++    "node_modules/globals": {
++      "version": "11.12.0",
++      "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
++      "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/globalthis": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
++      "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
++      "optional": true,
++      "dependencies": {
++        "define-properties": "^1.1.3"
++      },
++      "engines": {
++        "node": ">= 0.4"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/globule": {
++      "version": "1.3.4",
++      "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.4.tgz",
++      "integrity": "sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==",
++      "dependencies": {
++        "glob": "~7.1.1",
++        "lodash": "^4.17.21",
++        "minimatch": "~3.0.2"
++      },
++      "engines": {
++        "node": ">= 0.10"
++      }
++    },
++    "node_modules/globule/node_modules/balanced-match": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
++      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
++    },
++    "node_modules/globule/node_modules/brace-expansion": {
++      "version": "1.1.11",
++      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
++      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
++      "dependencies": {
++        "balanced-match": "^1.0.0",
++        "concat-map": "0.0.1"
++      }
++    },
++    "node_modules/globule/node_modules/glob": {
++      "version": "7.1.7",
++      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
++      "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
++      "dependencies": {
++        "fs.realpath": "^1.0.0",
++        "inflight": "^1.0.4",
++        "inherits": "2",
++        "minimatch": "^3.0.4",
++        "once": "^1.3.0",
++        "path-is-absolute": "^1.0.0"
++      },
++      "engines": {
++        "node": "*"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/isaacs"
++      }
++    },
++    "node_modules/globule/node_modules/minimatch": {
++      "version": "3.0.8",
++      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz",
++      "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==",
++      "dependencies": {
++        "brace-expansion": "^1.1.7"
++      },
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/gopd": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
++      "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
++      "dependencies": {
++        "get-intrinsic": "^1.1.3"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/got": {
++      "version": "9.6.0",
++      "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
++      "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==",
++      "dependencies": {
++        "@sindresorhus/is": "^0.14.0",
++        "@szmarczak/http-timer": "^1.1.2",
++        "cacheable-request": "^6.0.0",
++        "decompress-response": "^3.3.0",
++        "duplexer3": "^0.1.4",
++        "get-stream": "^4.1.0",
++        "lowercase-keys": "^1.0.1",
++        "mimic-response": "^1.0.1",
++        "p-cancelable": "^1.0.0",
++        "to-readable-stream": "^1.0.0",
++        "url-parse-lax": "^3.0.0"
++      },
++      "engines": {
++        "node": ">=8.6"
++      }
++    },
++    "node_modules/got/node_modules/get-stream": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
++      "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
++      "dependencies": {
++        "pump": "^3.0.0"
++      },
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/graceful-fs": {
++      "version": "4.2.10",
++      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
++      "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
++    },
++    "node_modules/gyronorm": {
++      "version": "2.0.6",
++      "resolved": "https://registry.npmjs.org/gyronorm/-/gyronorm-2.0.6.tgz",
++      "integrity": "sha512-pE66zEK/3G9t1dpikTKIjNuY1JauXgtNiulgPKc28IKwMJ5NuJ03mOQ5ArqnkOyQxhlJSY71i3YdFcHhzx4TOg=="
++    },
++    "node_modules/har-schema": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
++      "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/har-validator": {
++      "version": "5.1.5",
++      "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
++      "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
++      "deprecated": "this library is no longer supported",
++      "dependencies": {
++        "ajv": "^6.12.3",
++        "har-schema": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/hard-rejection": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
++      "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==",
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/has": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
++      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
++      "dependencies": {
++        "function-bind": "^1.1.1"
++      },
++      "engines": {
++        "node": ">= 0.4.0"
++      }
++    },
++    "node_modules/has-ansi": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
++      "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==",
++      "dependencies": {
++        "ansi-regex": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/has-ansi/node_modules/ansi-regex": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
++      "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/has-flag": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
++      "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/has-property-descriptors": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
++      "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
++      "dependencies": {
++        "get-intrinsic": "^1.1.1"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/has-symbols": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
++      "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
++      "engines": {
++        "node": ">= 0.4"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/has-tostringtag": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
++      "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
++      "dependencies": {
++        "has-symbols": "^1.0.2"
++      },
++      "engines": {
++        "node": ">= 0.4"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/has-unicode": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
++      "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ=="
++    },
++    "node_modules/has-yarn": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz",
++      "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/hash-base": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
++      "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
++      "dependencies": {
++        "inherits": "^2.0.4",
++        "readable-stream": "^3.6.0",
++        "safe-buffer": "^5.2.0"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/hash-base/node_modules/readable-stream": {
++      "version": "3.6.0",
++      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
++      "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
++      "dependencies": {
++        "inherits": "^2.0.3",
++        "string_decoder": "^1.1.1",
++        "util-deprecate": "^1.0.1"
++      },
++      "engines": {
++        "node": ">= 6"
++      }
++    },
++    "node_modules/hash.js": {
++      "version": "1.1.7",
++      "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
++      "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
++      "dependencies": {
++        "inherits": "^2.0.3",
++        "minimalistic-assert": "^1.0.1"
++      }
++    },
++    "node_modules/hmac-drbg": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
++      "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==",
++      "dependencies": {
++        "hash.js": "^1.0.3",
++        "minimalistic-assert": "^1.0.0",
++        "minimalistic-crypto-utils": "^1.0.1"
++      }
++    },
++    "node_modules/hosted-git-info": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
++      "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
++      "dependencies": {
++        "lru-cache": "^6.0.0"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/htmlescape": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz",
++      "integrity": "sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==",
++      "engines": {
++        "node": ">=0.10"
++      }
++    },
++    "node_modules/htmlparser2": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz",
++      "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==",
++      "dependencies": {
++        "domelementtype": "^2.0.1",
++        "domhandler": "^3.0.0",
++        "domutils": "^2.0.0",
++        "entities": "^2.0.0"
++      }
++    },
++    "node_modules/http-auth": {
++      "version": "4.1.9",
++      "resolved": "https://registry.npmjs.org/http-auth/-/http-auth-4.1.9.tgz",
++      "integrity": "sha512-kvPYxNGc9EKGTXvOMnTBQw2RZfuiSihK/mLw/a4pbtRueTE45S55Lw/3k5CktIf7Ak0veMKEIteDj4YkNmCzmQ==",
++      "dependencies": {
++        "apache-crypt": "^1.1.2",
++        "apache-md5": "^1.0.6",
++        "bcryptjs": "^2.4.3",
++        "uuid": "^8.3.2"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/http-cache-semantics": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
++      "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ=="
++    },
++    "node_modules/http-errors": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
++      "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
++      "dependencies": {
++        "depd": "2.0.0",
++        "inherits": "2.0.4",
++        "setprototypeof": "1.2.0",
++        "statuses": "2.0.1",
++        "toidentifier": "1.0.1"
++      },
++      "engines": {
++        "node": ">= 0.8"
++      }
++    },
++    "node_modules/http-errors/node_modules/depd": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
++      "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
++      "engines": {
++        "node": ">= 0.8"
++      }
++    },
++    "node_modules/http-proxy-agent": {
++      "version": "4.0.1",
++      "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
++      "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
++      "dependencies": {
++        "@tootallnate/once": "1",
++        "agent-base": "6",
++        "debug": "4"
++      },
++      "engines": {
++        "node": ">= 6"
++      }
++    },
++    "node_modules/http-signature": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
++      "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==",
++      "dependencies": {
++        "assert-plus": "^1.0.0",
++        "jsprim": "^1.2.2",
++        "sshpk": "^1.7.0"
++      },
++      "engines": {
++        "node": ">=0.8",
++        "npm": ">=1.3.7"
++      }
++    },
++    "node_modules/https-browserify": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
++      "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg=="
++    },
++    "node_modules/https-proxy-agent": {
++      "version": "5.0.1",
++      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
++      "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
++      "dependencies": {
++        "agent-base": "6",
++        "debug": "4"
++      },
++      "engines": {
++        "node": ">= 6"
++      }
++    },
++    "node_modules/humanize-ms": {
++      "version": "1.2.1",
++      "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
++      "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
++      "dependencies": {
++        "ms": "^2.0.0"
++      }
++    },
++    "node_modules/hyperscript-attribute-to-property": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/hyperscript-attribute-to-property/-/hyperscript-attribute-to-property-1.0.2.tgz",
++      "integrity": "sha512-oerMul16jZCmrbNsUw8QgrtDzF8lKgFri1bKQjReLw1IhiiNkI59CWuzZjJDGT79UQ1YiWqXhJMv/tRMVqgtkA=="
++    },
++    "node_modules/hyperx": {
++      "version": "2.5.4",
++      "resolved": "https://registry.npmjs.org/hyperx/-/hyperx-2.5.4.tgz",
++      "integrity": "sha512-iOkSh7Yse7lsN/B9y7OsevLWjeXPqGuHQ5SbwaiJM5xAhWFqhoN6erpK1dQsS12OFU36lyai1pnx1mmzWLQqcA==",
++      "dependencies": {
++        "hyperscript-attribute-to-property": "^1.0.0"
++      }
++    },
++    "node_modules/iconv-lite": {
++      "version": "0.6.3",
++      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
++      "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
++      "optional": true,
++      "dependencies": {
++        "safer-buffer": ">= 2.1.2 < 3.0.0"
++      },
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/ieee754": {
++      "version": "1.2.1",
++      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
++      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
++      "funding": [
++        {
++          "type": "github",
++          "url": "https://github.com/sponsors/feross"
++        },
++        {
++          "type": "patreon",
++          "url": "https://www.patreon.com/feross"
++        },
++        {
++          "type": "consulting",
++          "url": "https://feross.org/support"
++        }
++      ]
++    },
++    "node_modules/ignore": {
++      "version": "5.2.0",
++      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
++      "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
++      "engines": {
++        "node": ">= 4"
++      }
++    },
++    "node_modules/ignore-by-default": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
++      "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA=="
++    },
++    "node_modules/import-fresh": {
++      "version": "3.3.0",
++      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
++      "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
++      "dependencies": {
++        "parent-module": "^1.0.0",
++        "resolve-from": "^4.0.0"
++      },
++      "engines": {
++        "node": ">=6"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/import-lazy": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz",
++      "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/imurmurhash": {
++      "version": "0.1.4",
++      "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
++      "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
++      "engines": {
++        "node": ">=0.8.19"
++      }
++    },
++    "node_modules/indent-string": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
++      "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/infer-owner": {
++      "version": "1.0.4",
++      "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
++      "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A=="
++    },
++    "node_modules/inflight": {
++      "version": "1.0.6",
++      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
++      "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
++      "dependencies": {
++        "once": "^1.3.0",
++        "wrappy": "1"
++      }
++    },
++    "node_modules/inherits": {
++      "version": "2.0.4",
++      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
++      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
++    },
++    "node_modules/ini": {
++      "version": "1.3.8",
++      "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
++      "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
++    },
++    "node_modules/inline-source-map": {
++      "version": "0.6.2",
++      "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz",
++      "integrity": "sha512-0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==",
++      "dependencies": {
++        "source-map": "~0.5.3"
++      }
++    },
++    "node_modules/insert-module-globals": {
++      "version": "7.2.1",
++      "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz",
++      "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==",
++      "dependencies": {
++        "acorn-node": "^1.5.2",
++        "combine-source-map": "^0.8.0",
++        "concat-stream": "^1.6.1",
++        "is-buffer": "^1.1.0",
++        "JSONStream": "^1.0.3",
++        "path-is-absolute": "^1.0.1",
++        "process": "~0.11.0",
++        "through2": "^2.0.0",
++        "undeclared-identifiers": "^1.1.2",
++        "xtend": "^4.0.0"
++      },
++      "bin": {
++        "insert-module-globals": "bin/cmd.js"
++      }
++    },
++    "node_modules/ip": {
++      "version": "1.1.8",
++      "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz",
++      "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg=="
++    },
++    "node_modules/is-arguments": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
++      "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
++      "dependencies": {
++        "call-bind": "^1.0.2",
++        "has-tostringtag": "^1.0.0"
++      },
++      "engines": {
++        "node": ">= 0.4"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/is-arrayish": {
++      "version": "0.2.1",
++      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
++      "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="
++    },
++    "node_modules/is-binary-path": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
++      "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
++      "dependencies": {
++        "binary-extensions": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/is-boolean-attribute": {
++      "version": "0.0.1",
++      "resolved": "https://registry.npmjs.org/is-boolean-attribute/-/is-boolean-attribute-0.0.1.tgz",
++      "integrity": "sha512-0kXT52Scokg2Miscvsn5UVqg6y1691vcLJcagie1YHJB4zOEuAhMERLX992jtvaStGy2xQTqOtJhvmG/MK1T5w=="
++    },
++    "node_modules/is-buffer": {
++      "version": "1.1.6",
++      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
++      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
++    },
++    "node_modules/is-callable": {
++      "version": "1.2.7",
++      "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
++      "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
++      "engines": {
++        "node": ">= 0.4"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/is-ci": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
++      "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
++      "dependencies": {
++        "ci-info": "^2.0.0"
++      },
++      "bin": {
++        "is-ci": "bin.js"
++      }
++    },
++    "node_modules/is-core-module": {
++      "version": "2.11.0",
++      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
++      "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
++      "dependencies": {
++        "has": "^1.0.3"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/is-date-object": {
++      "version": "1.0.5",
++      "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
++      "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
++      "dependencies": {
++        "has-tostringtag": "^1.0.0"
++      },
++      "engines": {
++        "node": ">= 0.4"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/is-docker": {
++      "version": "2.2.1",
++      "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
++      "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
++      "bin": {
++        "is-docker": "cli.js"
++      },
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/is-extglob": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
++      "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/is-fullwidth-code-point": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
++      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/is-generator-function": {
++      "version": "1.0.10",
++      "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
++      "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
++      "dependencies": {
++        "has-tostringtag": "^1.0.0"
++      },
++      "engines": {
++        "node": ">= 0.4"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/is-glob": {
++      "version": "4.0.3",
++      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
++      "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
++      "dependencies": {
++        "is-extglob": "^2.1.1"
++      },
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/is-installed-globally": {
++      "version": "0.4.0",
++      "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz",
++      "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==",
++      "dependencies": {
++        "global-dirs": "^3.0.0",
++        "is-path-inside": "^3.0.2"
++      },
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/is-lambda": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
++      "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ=="
++    },
++    "node_modules/is-npm": {
++      "version": "5.0.0",
++      "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz",
++      "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==",
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/is-number": {
++      "version": "7.0.0",
++      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
++      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
++      "engines": {
++        "node": ">=0.12.0"
++      }
++    },
++    "node_modules/is-obj": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
++      "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/is-path-inside": {
++      "version": "3.0.3",
++      "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
++      "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/is-plain-obj": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
++      "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/is-regex": {
++      "version": "1.1.4",
++      "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
++      "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
++      "dependencies": {
++        "call-bind": "^1.0.2",
++        "has-tostringtag": "^1.0.0"
++      },
++      "engines": {
++        "node": ">= 0.4"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/is-regexp": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz",
++      "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/is-stream": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
++      "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/is-typed-array": {
++      "version": "1.1.10",
++      "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz",
++      "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==",
++      "dependencies": {
++        "available-typed-arrays": "^1.0.5",
++        "call-bind": "^1.0.2",
++        "for-each": "^0.3.3",
++        "gopd": "^1.0.1",
++        "has-tostringtag": "^1.0.0"
++      },
++      "engines": {
++        "node": ">= 0.4"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/is-typedarray": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
++      "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA=="
++    },
++    "node_modules/is-wsl": {
++      "version": "2.2.0",
++      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
++      "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
++      "dependencies": {
++        "is-docker": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/is-yarn-global": {
++      "version": "0.3.0",
++      "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz",
++      "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw=="
++    },
++    "node_modules/isarray": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
++      "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
++    },
++    "node_modules/isbinaryfile": {
++      "version": "3.0.3",
++      "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz",
++      "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==",
++      "dependencies": {
++        "buffer-alloc": "^1.2.0"
++      },
++      "engines": {
++        "node": ">=0.6.0"
++      }
++    },
++    "node_modules/isexe": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
++      "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
++    },
++    "node_modules/isstream": {
++      "version": "0.1.2",
++      "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
++      "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g=="
++    },
++    "node_modules/js-base64": {
++      "version": "2.6.4",
++      "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
++      "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ=="
++    },
++    "node_modules/js-tokens": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
++      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
++    },
++    "node_modules/js-yaml": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
++      "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
++      "dependencies": {
++        "argparse": "^2.0.1"
++      },
++      "bin": {
++        "js-yaml": "bin/js-yaml.js"
++      }
++    },
++    "node_modules/jsbn": {
++      "version": "0.1.1",
++      "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
++      "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg=="
++    },
++    "node_modules/jsesc": {
++      "version": "2.5.2",
++      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
++      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
++      "bin": {
++        "jsesc": "bin/jsesc"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/json-buffer": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
++      "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ=="
++    },
++    "node_modules/json-parse-even-better-errors": {
++      "version": "2.3.1",
++      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
++      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="
++    },
++    "node_modules/json-schema": {
++      "version": "0.4.0",
++      "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
++      "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="
++    },
++    "node_modules/json-schema-traverse": {
++      "version": "0.4.1",
++      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
++      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
++    },
++    "node_modules/json-stable-stringify-without-jsonify": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
++      "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="
++    },
++    "node_modules/json-stringify-safe": {
++      "version": "5.0.1",
++      "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
++      "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA=="
++    },
++    "node_modules/json5": {
++      "version": "2.2.1",
++      "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
++      "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
++      "bin": {
++        "json5": "lib/cli.js"
++      },
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/jsondiffpatch": {
++      "version": "0.4.1",
++      "resolved": "https://registry.npmjs.org/jsondiffpatch/-/jsondiffpatch-0.4.1.tgz",
++      "integrity": "sha512-t0etAxTUk1w5MYdNOkZBZ8rvYYN5iL+2dHCCx/DpkFm/bW28M6y5nUS83D4XdZiHy35Fpaw6LBb+F88fHZnVCw==",
++      "dependencies": {
++        "chalk": "^2.3.0",
++        "diff-match-patch": "^1.0.0"
++      },
++      "bin": {
++        "jsondiffpatch": "bin/jsondiffpatch"
++      },
++      "engines": {
++        "node": ">=8.17.0"
++      }
++    },
++    "node_modules/jsonfile": {
++      "version": "6.1.0",
++      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
++      "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
++      "dependencies": {
++        "universalify": "^2.0.0"
++      },
++      "optionalDependencies": {
++        "graceful-fs": "^4.1.6"
++      }
++    },
++    "node_modules/jsonparse": {
++      "version": "1.3.1",
++      "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
++      "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==",
++      "engines": [
++        "node >= 0.2.0"
++      ]
++    },
++    "node_modules/JSONStream": {
++      "version": "1.3.5",
++      "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
++      "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
++      "dependencies": {
++        "jsonparse": "^1.2.0",
++        "through": ">=2.2.7 <3"
++      },
++      "bin": {
++        "JSONStream": "bin.js"
++      },
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/jsprim": {
++      "version": "1.4.2",
++      "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
++      "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
++      "dependencies": {
++        "assert-plus": "1.0.0",
++        "extsprintf": "1.3.0",
++        "json-schema": "0.4.0",
++        "verror": "1.10.0"
++      },
++      "engines": {
++        "node": ">=0.6.0"
++      }
++    },
++    "node_modules/junk": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz",
++      "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/keyboardevent-from-electron-accelerator": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/keyboardevent-from-electron-accelerator/-/keyboardevent-from-electron-accelerator-2.0.0.tgz",
++      "integrity": "sha512-iQcmNA0M4ETMNi0kG/q0h/43wZk7rMeKYrXP7sqKIJbHkTU8Koowgzv+ieR/vWJbOwxx5nDC3UnudZ0aLSu4VA=="
++    },
++    "node_modules/keyboardevents-areequal": {
++      "version": "0.2.2",
++      "resolved": "https://registry.npmjs.org/keyboardevents-areequal/-/keyboardevents-areequal-0.2.2.tgz",
++      "integrity": "sha512-Nv+Kr33T0mEjxR500q+I6IWisOQ0lK1GGOncV0kWE6n4KFmpcu7RUX5/2B0EUtX51Cb0HjZ9VJsSY3u4cBa0kw=="
++    },
++    "node_modules/keyboardjs": {
++      "version": "2.6.4",
++      "resolved": "https://registry.npmjs.org/keyboardjs/-/keyboardjs-2.6.4.tgz",
++      "integrity": "sha512-xDiNwiwH3KUqap++RFJiLAXzbvRB5Yw08xliuceOgLhM1o7g1puKKR9vWy6wp9H/Bi4VP0+SQMpiWXMWWmR6rA=="
++    },
++    "node_modules/keyv": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
++      "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
++      "dependencies": {
++        "json-buffer": "3.0.0"
++      }
++    },
++    "node_modules/kind-of": {
++      "version": "6.0.3",
++      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
++      "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/labeled-stream-splicer": {
++      "version": "2.0.2",
++      "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz",
++      "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==",
++      "dependencies": {
++        "inherits": "^2.0.1",
++        "stream-splicer": "^2.0.0"
++      }
++    },
++    "node_modules/latest-version": {
++      "version": "5.1.0",
++      "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz",
++      "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==",
++      "dependencies": {
++        "package-json": "^6.3.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/levn": {
++      "version": "0.4.1",
++      "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
++      "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
++      "dependencies": {
++        "prelude-ls": "^1.2.1",
++        "type-check": "~0.4.0"
++      },
++      "engines": {
++        "node": ">= 0.8.0"
++      }
++    },
++    "node_modules/licensify": {
++      "version": "3.1.3",
++      "resolved": "https://registry.npmjs.org/licensify/-/licensify-3.1.3.tgz",
++      "integrity": "sha512-3sEEBR0Cxq8yeSrV1KGZwpjm4KJKp8Cx/WHZxBnG/YX319ZTvxGtL+NCF+A9pcXwh8KwKB4BmVrc6eRrfk/Raw==",
++      "dependencies": {
++        "convert-source-map": "^1.1.3",
++        "offset-sourcemap-lines": "^1.0.0",
++        "oss-license-name-to-url": "^1.2.1",
++        "through2": "^2.0.0",
++        "type-name": "^2.0.0"
++      }
++    },
++    "node_modules/lines-and-columns": {
++      "version": "1.2.4",
++      "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
++      "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
++    },
++    "node_modules/load-json-file": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
++      "integrity": "sha512-3p6ZOGNbiX4CdvEd1VcE6yi78UrGNpjHO33noGwHCnT/o2fyllJDepsm8+mFFv/DvtwFHht5HIHSyOy5a+ChVQ==",
++      "dependencies": {
++        "graceful-fs": "^4.1.2",
++        "parse-json": "^2.2.0",
++        "pify": "^2.0.0",
++        "strip-bom": "^3.0.0"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/load-json-file/node_modules/pify": {
++      "version": "2.3.0",
++      "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
++      "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/locate-path": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
++      "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==",
++      "dependencies": {
++        "p-locate": "^2.0.0",
++        "path-exists": "^3.0.0"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/lodash": {
++      "version": "4.17.21",
++      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
++      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
++    },
++    "node_modules/lodash.debounce": {
++      "version": "4.0.8",
++      "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
++      "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow=="
++    },
++    "node_modules/lodash.get": {
++      "version": "4.4.2",
++      "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
++      "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ=="
++    },
++    "node_modules/lodash.memoize": {
++      "version": "3.0.4",
++      "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz",
++      "integrity": "sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A=="
++    },
++    "node_modules/lodash.merge": {
++      "version": "4.6.2",
++      "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
++      "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
++    },
++    "node_modules/long": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
++      "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
++    },
++    "node_modules/loop-protect": {
++      "version": "1.0.1",
++      "resolved": "git+ssh://git@github.com/jean-emmanuel/loop-protect.git#335856f37ee4a805704bfcd1d7429ab94620bf6d"
++    },
++    "node_modules/lower-case": {
++      "version": "1.1.4",
++      "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
++      "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA=="
++    },
++    "node_modules/lowercase-keys": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
++      "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/lru-cache": {
++      "version": "6.0.0",
++      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
++      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
++      "dependencies": {
++        "yallist": "^4.0.0"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/magic-string": {
++      "version": "0.23.2",
++      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.23.2.tgz",
++      "integrity": "sha512-oIUZaAxbcxYIp4AyLafV6OVKoB3YouZs0UTCJ8mOKBHNyJgGDaMJ4TgA+VylJh6fx7EQCC52XkbURxxG9IoJXA==",
++      "dependencies": {
++        "sourcemap-codec": "^1.4.1"
++      }
++    },
++    "node_modules/make-dir": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
++      "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
++      "dependencies": {
++        "semver": "^6.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/make-dir/node_modules/semver": {
++      "version": "6.3.0",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
++      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
++      "bin": {
++        "semver": "bin/semver.js"
++      }
++    },
++    "node_modules/make-fetch-happen": {
++      "version": "9.1.0",
++      "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
++      "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==",
++      "dependencies": {
++        "agentkeepalive": "^4.1.3",
++        "cacache": "^15.2.0",
++        "http-cache-semantics": "^4.1.0",
++        "http-proxy-agent": "^4.0.1",
++        "https-proxy-agent": "^5.0.0",
++        "is-lambda": "^1.0.1",
++        "lru-cache": "^6.0.0",
++        "minipass": "^3.1.3",
++        "minipass-collect": "^1.0.2",
++        "minipass-fetch": "^1.3.2",
++        "minipass-flush": "^1.0.5",
++        "minipass-pipeline": "^1.2.4",
++        "negotiator": "^0.6.2",
++        "promise-retry": "^2.0.1",
++        "socks-proxy-agent": "^6.0.0",
++        "ssri": "^8.0.0"
++      },
++      "engines": {
++        "node": ">= 10"
++      }
++    },
++    "node_modules/map-obj": {
++      "version": "4.3.0",
++      "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz",
++      "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==",
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/matcher": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz",
++      "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==",
++      "optional": true,
++      "dependencies": {
++        "escape-string-regexp": "^4.0.0"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/matcher/node_modules/escape-string-regexp": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
++      "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
++      "optional": true,
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/md5.js": {
++      "version": "1.3.5",
++      "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
++      "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
++      "dependencies": {
++        "hash-base": "^3.0.0",
++        "inherits": "^2.0.1",
++        "safe-buffer": "^5.1.2"
++      }
++    },
++    "node_modules/meow": {
++      "version": "9.0.0",
++      "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz",
++      "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==",
++      "dependencies": {
++        "@types/minimist": "^1.2.0",
++        "camelcase-keys": "^6.2.2",
++        "decamelize": "^1.2.0",
++        "decamelize-keys": "^1.1.0",
++        "hard-rejection": "^2.1.0",
++        "minimist-options": "4.1.0",
++        "normalize-package-data": "^3.0.0",
++        "read-pkg-up": "^7.0.1",
++        "redent": "^3.0.0",
++        "trim-newlines": "^3.0.0",
++        "type-fest": "^0.18.0",
++        "yargs-parser": "^20.2.3"
++      },
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/meow/node_modules/find-up": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
++      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
++      "dependencies": {
++        "locate-path": "^5.0.0",
++        "path-exists": "^4.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/meow/node_modules/hosted-git-info": {
++      "version": "2.8.9",
++      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
++      "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw=="
++    },
++    "node_modules/meow/node_modules/locate-path": {
++      "version": "5.0.0",
++      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
++      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
++      "dependencies": {
++        "p-locate": "^4.1.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/meow/node_modules/p-limit": {
++      "version": "2.3.0",
++      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
++      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
++      "dependencies": {
++        "p-try": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=6"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/meow/node_modules/p-locate": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
++      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
++      "dependencies": {
++        "p-limit": "^2.2.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/meow/node_modules/p-try": {
++      "version": "2.2.0",
++      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
++      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/meow/node_modules/parse-json": {
++      "version": "5.2.0",
++      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
++      "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
++      "dependencies": {
++        "@babel/code-frame": "^7.0.0",
++        "error-ex": "^1.3.1",
++        "json-parse-even-better-errors": "^2.3.0",
++        "lines-and-columns": "^1.1.6"
++      },
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/meow/node_modules/path-exists": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
++      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/meow/node_modules/read-pkg": {
++      "version": "5.2.0",
++      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
++      "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
++      "dependencies": {
++        "@types/normalize-package-data": "^2.4.0",
++        "normalize-package-data": "^2.5.0",
++        "parse-json": "^5.0.0",
++        "type-fest": "^0.6.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/meow/node_modules/read-pkg-up": {
++      "version": "7.0.1",
++      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
++      "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
++      "dependencies": {
++        "find-up": "^4.1.0",
++        "read-pkg": "^5.2.0",
++        "type-fest": "^0.8.1"
++      },
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/meow/node_modules/read-pkg-up/node_modules/type-fest": {
++      "version": "0.8.1",
++      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
++      "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/meow/node_modules/read-pkg/node_modules/normalize-package-data": {
++      "version": "2.5.0",
++      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
++      "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
++      "dependencies": {
++        "hosted-git-info": "^2.1.4",
++        "resolve": "^1.10.0",
++        "semver": "2 || 3 || 4 || 5",
++        "validate-npm-package-license": "^3.0.1"
++      }
++    },
++    "node_modules/meow/node_modules/read-pkg/node_modules/type-fest": {
++      "version": "0.6.0",
++      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
++      "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/meow/node_modules/semver": {
++      "version": "5.7.1",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
++      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
++      "bin": {
++        "semver": "bin/semver"
++      }
++    },
++    "node_modules/merge-source-map": {
++      "version": "1.0.4",
++      "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz",
++      "integrity": "sha512-PGSmS0kfnTnMJCzJ16BLLCEe6oeYCamKFFdQKshi4BmM6FUwipjVOcBFGxqtQtirtAG4iZvHlqST9CpZKqlRjA==",
++      "dependencies": {
++        "source-map": "^0.5.6"
++      }
++    },
++    "node_modules/miller-rabin": {
++      "version": "4.0.1",
++      "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
++      "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
++      "dependencies": {
++        "bn.js": "^4.0.0",
++        "brorand": "^1.0.1"
++      },
++      "bin": {
++        "miller-rabin": "bin/miller-rabin"
++      }
++    },
++    "node_modules/miller-rabin/node_modules/bn.js": {
++      "version": "4.12.0",
++      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
++      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
++    },
++    "node_modules/mime": {
++      "version": "1.6.0",
++      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
++      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
++      "bin": {
++        "mime": "cli.js"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/mime-db": {
++      "version": "1.52.0",
++      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
++      "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
++      "engines": {
++        "node": ">= 0.6"
++      }
++    },
++    "node_modules/mime-types": {
++      "version": "2.1.35",
++      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
++      "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
++      "dependencies": {
++        "mime-db": "1.52.0"
++      },
++      "engines": {
++        "node": ">= 0.6"
++      }
++    },
++    "node_modules/mimic-response": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
++      "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/min-indent": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
++      "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/minimalistic-assert": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
++      "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="
++    },
++    "node_modules/minimalistic-crypto-utils": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
++      "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg=="
++    },
++    "node_modules/minimatch": {
++      "version": "5.1.0",
++      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
++      "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
++      "dependencies": {
++        "brace-expansion": "^2.0.1"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/minimist": {
++      "version": "1.2.7",
++      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
++      "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==",
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/minimist-options": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz",
++      "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
++      "dependencies": {
++        "arrify": "^1.0.1",
++        "is-plain-obj": "^1.1.0",
++        "kind-of": "^6.0.3"
++      },
++      "engines": {
++        "node": ">= 6"
++      }
++    },
++    "node_modules/minipass": {
++      "version": "3.3.4",
++      "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz",
++      "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==",
++      "dependencies": {
++        "yallist": "^4.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/minipass-collect": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
++      "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
++      "dependencies": {
++        "minipass": "^3.0.0"
++      },
++      "engines": {
++        "node": ">= 8"
++      }
++    },
++    "node_modules/minipass-fetch": {
++      "version": "1.4.1",
++      "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz",
++      "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==",
++      "dependencies": {
++        "minipass": "^3.1.0",
++        "minipass-sized": "^1.0.3",
++        "minizlib": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      },
++      "optionalDependencies": {
++        "encoding": "^0.1.12"
++      }
++    },
++    "node_modules/minipass-flush": {
++      "version": "1.0.5",
++      "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
++      "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
++      "dependencies": {
++        "minipass": "^3.0.0"
++      },
++      "engines": {
++        "node": ">= 8"
++      }
++    },
++    "node_modules/minipass-pipeline": {
++      "version": "1.2.4",
++      "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
++      "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
++      "dependencies": {
++        "minipass": "^3.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/minipass-sized": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
++      "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==",
++      "dependencies": {
++        "minipass": "^3.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/minizlib": {
++      "version": "2.1.2",
++      "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
++      "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
++      "dependencies": {
++        "minipass": "^3.0.0",
++        "yallist": "^4.0.0"
++      },
++      "engines": {
++        "node": ">= 8"
++      }
++    },
++    "node_modules/mkdirp": {
++      "version": "0.5.6",
++      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
++      "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
++      "dependencies": {
++        "minimist": "^1.2.6"
++      },
++      "bin": {
++        "mkdirp": "bin/cmd.js"
++      }
++    },
++    "node_modules/mkdirp-classic": {
++      "version": "0.5.3",
++      "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
++      "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="
++    },
++    "node_modules/module-deps": {
++      "version": "6.2.3",
++      "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz",
++      "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==",
++      "dependencies": {
++        "browser-resolve": "^2.0.0",
++        "cached-path-relative": "^1.0.2",
++        "concat-stream": "~1.6.0",
++        "defined": "^1.0.0",
++        "detective": "^5.2.0",
++        "duplexer2": "^0.1.2",
++        "inherits": "^2.0.1",
++        "JSONStream": "^1.0.3",
++        "parents": "^1.0.0",
++        "readable-stream": "^2.0.2",
++        "resolve": "^1.4.0",
++        "stream-combiner2": "^1.1.1",
++        "subarg": "^1.0.0",
++        "through2": "^2.0.0",
++        "xtend": "^4.0.0"
++      },
++      "bin": {
++        "module-deps": "bin/cmd.js"
++      },
++      "engines": {
++        "node": ">= 0.8.0"
++      }
++    },
++    "node_modules/mold-source-map": {
++      "version": "0.4.0",
++      "resolved": "https://registry.npmjs.org/mold-source-map/-/mold-source-map-0.4.0.tgz",
++      "integrity": "sha512-Y0uA/sDKVuPgLd7BmaJOai+fqzjrOlR6vZgx5cJIvturI/xOPQPgbf3X7ZbzJd6MvqQ6ucIfK8dSteFyc2Mw2w==",
++      "dependencies": {
++        "convert-source-map": "^1.1.0",
++        "through": "~2.2.7"
++      }
++    },
++    "node_modules/mold-source-map/node_modules/through": {
++      "version": "2.2.7",
++      "resolved": "https://registry.npmjs.org/through/-/through-2.2.7.tgz",
++      "integrity": "sha512-JIR0m0ybkmTcR8URann+HbwKmodP+OE8UCbsifQDYMLD5J3em1Cdn3MYPpbEd5elGDwmP98T+WbqP/tvzA5Mjg=="
++    },
++    "node_modules/ms": {
++      "version": "2.1.2",
++      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
++      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
++    },
++    "node_modules/multicast-dns": {
++      "version": "7.2.1",
++      "resolved": "git+ssh://git@github.com/jean-emmanuel/multicast-dns.git#1bb9f6ba892eba88f2cb12ca96a1c1b3088413c0",
++      "license": "MIT",
++      "dependencies": {
++        "dns-packet": "^1.3.1",
++        "thunky": "^1.0.2"
++      },
++      "bin": {
++        "multicast-dns": "cli.js"
++      }
++    },
++    "node_modules/multicast-dns-service-types": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz",
++      "integrity": "sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ=="
++    },
++    "node_modules/mutexify": {
++      "version": "1.4.0",
++      "resolved": "https://registry.npmjs.org/mutexify/-/mutexify-1.4.0.tgz",
++      "integrity": "sha512-pbYSsOrSB/AKN5h/WzzLRMFgZhClWccf2XIB4RSMC8JbquiB0e0/SH5AIfdQMdyHmYtv4seU7yV/TvAwPLJ1Yg==",
++      "dependencies": {
++        "queue-tick": "^1.0.0"
++      }
++    },
++    "node_modules/nan": {
++      "version": "2.17.0",
++      "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz",
++      "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ=="
++    },
++    "node_modules/nanoassert": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-1.1.0.tgz",
++      "integrity": "sha512-C40jQ3NzfkP53NsO8kEOFd79p4b9kDXQMwgiY1z8ZwrDZgUyom0AHwGegF4Dm99L+YoYhuaB0ceerUcXmqr1rQ=="
++    },
++    "node_modules/nanobench": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/nanobench/-/nanobench-2.1.1.tgz",
++      "integrity": "sha512-z+Vv7zElcjN+OpzAxAquUayFLGK3JI/ubCl0Oh64YQqsTGG09CGqieJVQw4ui8huDnnAgrvTv93qi5UaOoNj8A==",
++      "dependencies": {
++        "browser-process-hrtime": "^0.1.2",
++        "chalk": "^1.1.3",
++        "mutexify": "^1.1.0",
++        "pretty-hrtime": "^1.0.2"
++      },
++      "bin": {
++        "nanobench": "run.js",
++        "nanobench-compare": "compare.js"
++      }
++    },
++    "node_modules/nanobench/node_modules/ansi-regex": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
++      "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/nanobench/node_modules/ansi-styles": {
++      "version": "2.2.1",
++      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
++      "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/nanobench/node_modules/chalk": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
++      "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
++      "dependencies": {
++        "ansi-styles": "^2.2.1",
++        "escape-string-regexp": "^1.0.2",
++        "has-ansi": "^2.0.0",
++        "strip-ansi": "^3.0.0",
++        "supports-color": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/nanobench/node_modules/strip-ansi": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
++      "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
++      "dependencies": {
++        "ansi-regex": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/nanobench/node_modules/supports-color": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
++      "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==",
++      "engines": {
++        "node": ">=0.8.0"
++      }
++    },
++    "node_modules/nanohtml": {
++      "version": "1.10.0",
++      "resolved": "https://registry.npmjs.org/nanohtml/-/nanohtml-1.10.0.tgz",
++      "integrity": "sha512-r/3AQl+jxAxUIJRiKExUjBtFcE1cm4yTOsTIdVqqlxPNtBxJh522ANrcQYzdNHhPzbPgb7j6qujq6eGehBX0kg==",
++      "dependencies": {
++        "acorn-node": "^1.8.2",
++        "camel-case": "^3.0.0",
++        "convert-source-map": "^1.5.1",
++        "estree-is-member-expression": "^1.0.0",
++        "hyperx": "^2.5.0",
++        "is-boolean-attribute": "0.0.1",
++        "nanoassert": "^1.1.0",
++        "nanobench": "^2.1.0",
++        "normalize-html-whitespace": "^0.2.0",
++        "through2": "^2.0.3",
++        "transform-ast": "^2.4.0"
++      }
++    },
++    "node_modules/nanoid": {
++      "version": "3.3.4",
++      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
++      "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
++      "bin": {
++        "nanoid": "bin/nanoid.cjs"
++      },
++      "engines": {
++        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
++      }
++    },
++    "node_modules/nanomorph": {
++      "version": "5.4.3",
++      "resolved": "https://registry.npmjs.org/nanomorph/-/nanomorph-5.4.3.tgz",
++      "integrity": "sha512-uPP5y0x21KISffZCKHh1A0QW0RHZFQS0BR7LetlHBlay6UWAbjwhjiJTxOO6JeMHko5Cigl617zFoGrYFJ8ZLg==",
++      "dependencies": {
++        "nanoassert": "^1.1.0"
++      }
++    },
++    "node_modules/napi-build-utils": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
++      "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==",
++      "optional": true
++    },
++    "node_modules/natural-compare": {
++      "version": "1.4.0",
++      "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
++      "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="
++    },
++    "node_modules/negotiator": {
++      "version": "0.6.3",
++      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
++      "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
++      "engines": {
++        "node": ">= 0.6"
++      }
++    },
++    "node_modules/no-case": {
++      "version": "2.3.2",
++      "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
++      "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
++      "dependencies": {
++        "lower-case": "^1.1.1"
++      }
++    },
++    "node_modules/node-abi": {
++      "version": "3.28.0",
++      "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.28.0.tgz",
++      "integrity": "sha512-fRlDb4I0eLcQeUvGq7IY3xHrSb0c9ummdvDSYWfT9+LKP+3jCKw/tKoqaM7r1BAoiAC6GtwyjaGnOz6B3OtF+A==",
++      "optional": true,
++      "dependencies": {
++        "semver": "^7.3.5"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/node-forge": {
++      "version": "1.3.1",
++      "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
++      "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==",
++      "engines": {
++        "node": ">= 6.13.0"
++      }
++    },
++    "node_modules/node-gyp": {
++      "version": "8.4.1",
++      "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz",
++      "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==",
++      "dependencies": {
++        "env-paths": "^2.2.0",
++        "glob": "^7.1.4",
++        "graceful-fs": "^4.2.6",
++        "make-fetch-happen": "^9.1.0",
++        "nopt": "^5.0.0",
++        "npmlog": "^6.0.0",
++        "rimraf": "^3.0.2",
++        "semver": "^7.3.5",
++        "tar": "^6.1.2",
++        "which": "^2.0.2"
++      },
++      "bin": {
++        "node-gyp": "bin/node-gyp.js"
++      },
++      "engines": {
++        "node": ">= 10.12.0"
++      }
++    },
++    "node_modules/node-gyp/node_modules/are-we-there-yet": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz",
++      "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==",
++      "dependencies": {
++        "delegates": "^1.0.0",
++        "readable-stream": "^3.6.0"
++      },
++      "engines": {
++        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
++      }
++    },
++    "node_modules/node-gyp/node_modules/gauge": {
++      "version": "4.0.4",
++      "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz",
++      "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==",
++      "dependencies": {
++        "aproba": "^1.0.3 || ^2.0.0",
++        "color-support": "^1.1.3",
++        "console-control-strings": "^1.1.0",
++        "has-unicode": "^2.0.1",
++        "signal-exit": "^3.0.7",
++        "string-width": "^4.2.3",
++        "strip-ansi": "^6.0.1",
++        "wide-align": "^1.1.5"
++      },
++      "engines": {
++        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
++      }
++    },
++    "node_modules/node-gyp/node_modules/npmlog": {
++      "version": "6.0.2",
++      "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
++      "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
++      "dependencies": {
++        "are-we-there-yet": "^3.0.0",
++        "console-control-strings": "^1.1.0",
++        "gauge": "^4.0.3",
++        "set-blocking": "^2.0.0"
++      },
++      "engines": {
++        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
++      }
++    },
++    "node_modules/node-gyp/node_modules/readable-stream": {
++      "version": "3.6.0",
++      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
++      "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
++      "dependencies": {
++        "inherits": "^2.0.3",
++        "string_decoder": "^1.1.1",
++        "util-deprecate": "^1.0.1"
++      },
++      "engines": {
++        "node": ">= 6"
++      }
++    },
++    "node_modules/node-gyp/node_modules/rimraf": {
++      "version": "3.0.2",
++      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
++      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
++      "dependencies": {
++        "glob": "^7.1.3"
++      },
++      "bin": {
++        "rimraf": "bin.js"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/isaacs"
++      }
++    },
++    "node_modules/node-mouse": {
++      "version": "0.0.2",
++      "resolved": "https://registry.npmjs.org/node-mouse/-/node-mouse-0.0.2.tgz",
++      "integrity": "sha512-qqm+c/uKB1ceGMrKW+mxAxPKFTu0HD1DWoCElJHA0VQDloudzZD4bI++Z18mSDA3n5lix+RTXiOiu3XAOSYVHA=="
++    },
++    "node_modules/node-releases": {
++      "version": "2.0.6",
++      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
++      "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg=="
++    },
++    "node_modules/node-sass": {
++      "version": "7.0.1",
++      "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-7.0.1.tgz",
++      "integrity": "sha512-uMy+Xt29NlqKCFdFRZyXKOTqGt+QaKHexv9STj2WeLottnlqZEEWx6Bj0MXNthmFRRdM/YwyNo/8Tr46TOM0jQ==",
++      "hasInstallScript": true,
++      "dependencies": {
++        "async-foreach": "^0.1.3",
++        "chalk": "^4.1.2",
++        "cross-spawn": "^7.0.3",
++        "gaze": "^1.0.0",
++        "get-stdin": "^4.0.1",
++        "glob": "^7.0.3",
++        "lodash": "^4.17.15",
++        "meow": "^9.0.0",
++        "nan": "^2.13.2",
++        "node-gyp": "^8.4.1",
++        "npmlog": "^5.0.0",
++        "request": "^2.88.0",
++        "sass-graph": "4.0.0",
++        "stdout-stream": "^1.4.0",
++        "true-case-path": "^1.0.2"
++      },
++      "bin": {
++        "node-sass": "bin/node-sass"
++      },
++      "engines": {
++        "node": ">=12"
++      }
++    },
++    "node_modules/node-sass/node_modules/ansi-styles": {
++      "version": "4.3.0",
++      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
++      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
++      "dependencies": {
++        "color-convert": "^2.0.1"
++      },
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
++      }
++    },
++    "node_modules/node-sass/node_modules/chalk": {
++      "version": "4.1.2",
++      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
++      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
++      "dependencies": {
++        "ansi-styles": "^4.1.0",
++        "supports-color": "^7.1.0"
++      },
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/chalk/chalk?sponsor=1"
++      }
++    },
++    "node_modules/node-sass/node_modules/color-convert": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
++      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
++      "dependencies": {
++        "color-name": "~1.1.4"
++      },
++      "engines": {
++        "node": ">=7.0.0"
++      }
++    },
++    "node_modules/node-sass/node_modules/color-name": {
++      "version": "1.1.4",
++      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
++      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
++    },
++    "node_modules/node-sass/node_modules/has-flag": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
++      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/node-sass/node_modules/supports-color": {
++      "version": "7.2.0",
++      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
++      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
++      "dependencies": {
++        "has-flag": "^4.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/nodemon": {
++      "version": "2.0.16",
++      "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.16.tgz",
++      "integrity": "sha512-zsrcaOfTWRuUzBn3P44RDliLlp263Z/76FPoHFr3cFFkOz0lTPAcIw8dCzfdVIx/t3AtDYCZRCDkoCojJqaG3w==",
++      "hasInstallScript": true,
++      "dependencies": {
++        "chokidar": "^3.5.2",
++        "debug": "^3.2.7",
++        "ignore-by-default": "^1.0.1",
++        "minimatch": "^3.0.4",
++        "pstree.remy": "^1.1.8",
++        "semver": "^5.7.1",
++        "supports-color": "^5.5.0",
++        "touch": "^3.1.0",
++        "undefsafe": "^2.0.5",
++        "update-notifier": "^5.1.0"
++      },
++      "bin": {
++        "nodemon": "bin/nodemon.js"
++      },
++      "engines": {
++        "node": ">=8.10.0"
++      },
++      "funding": {
++        "type": "opencollective",
++        "url": "https://opencollective.com/nodemon"
++      }
++    },
++    "node_modules/nodemon/node_modules/balanced-match": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
++      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
++    },
++    "node_modules/nodemon/node_modules/brace-expansion": {
++      "version": "1.1.11",
++      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
++      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
++      "dependencies": {
++        "balanced-match": "^1.0.0",
++        "concat-map": "0.0.1"
++      }
++    },
++    "node_modules/nodemon/node_modules/debug": {
++      "version": "3.2.7",
++      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
++      "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
++      "dependencies": {
++        "ms": "^2.1.1"
++      }
++    },
++    "node_modules/nodemon/node_modules/minimatch": {
++      "version": "3.1.2",
++      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
++      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
++      "dependencies": {
++        "brace-expansion": "^1.1.7"
++      },
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/nodemon/node_modules/semver": {
++      "version": "5.7.1",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
++      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
++      "bin": {
++        "semver": "bin/semver"
++      }
++    },
++    "node_modules/nopt": {
++      "version": "5.0.0",
++      "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
++      "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
++      "dependencies": {
++        "abbrev": "1"
++      },
++      "bin": {
++        "nopt": "bin/nopt.js"
++      },
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/normalize-html-whitespace": {
++      "version": "0.2.0",
++      "resolved": "https://registry.npmjs.org/normalize-html-whitespace/-/normalize-html-whitespace-0.2.0.tgz",
++      "integrity": "sha512-5CZAEQ4bQi8Msqw0GAT6rrkrjNN4ZKqAG3+jJMwms4O6XoMvh6ekwOueG4mRS1LbPUR1r9EdnhxxfpzMTOdzKw==",
++      "engines": {
++        "node": ">= 0.10"
++      }
++    },
++    "node_modules/normalize-package-data": {
++      "version": "3.0.3",
++      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
++      "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
++      "dependencies": {
++        "hosted-git-info": "^4.0.1",
++        "is-core-module": "^2.5.0",
++        "semver": "^7.3.4",
++        "validate-npm-package-license": "^3.0.1"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/normalize-path": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
++      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/normalize-url": {
++      "version": "4.5.1",
++      "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz",
++      "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/nosleep.js": {
++      "version": "0.12.0",
++      "resolved": "https://registry.npmjs.org/nosleep.js/-/nosleep.js-0.12.0.tgz",
++      "integrity": "sha512-9d1HbpKLh3sdWlhXMhU6MMH+wQzKkrgfRkYV0EBdvt99YJfj0ilCJrWRDYG2130Tm4GXbEoTCx5b34JSaP+HhA=="
++    },
++    "node_modules/npm-conf": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz",
++      "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==",
++      "optional": true,
++      "dependencies": {
++        "config-chain": "^1.1.11",
++        "pify": "^3.0.0"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/npmlog": {
++      "version": "5.0.1",
++      "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
++      "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
++      "dependencies": {
++        "are-we-there-yet": "^2.0.0",
++        "console-control-strings": "^1.1.0",
++        "gauge": "^3.0.0",
++        "set-blocking": "^2.0.0"
++      }
++    },
++    "node_modules/oauth-sign": {
++      "version": "0.9.0",
++      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
++      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/object-assign": {
++      "version": "4.1.1",
++      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
++      "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/object-is": {
++      "version": "1.1.5",
++      "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz",
++      "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==",
++      "dependencies": {
++        "call-bind": "^1.0.2",
++        "define-properties": "^1.1.3"
++      },
++      "engines": {
++        "node": ">= 0.4"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/object-keys": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
++      "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
++      "engines": {
++        "node": ">= 0.4"
++      }
++    },
++    "node_modules/offset-sourcemap-lines": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/offset-sourcemap-lines/-/offset-sourcemap-lines-1.0.1.tgz",
++      "integrity": "sha512-8giJa0GProV9hPLOp9qAobkvi6OiZnzeM6fdubVjhqcrISX8FYMk1jMVzG6R9d7HQWLysG22jyXEIF6sWu4fJw==",
++      "dependencies": {
++        "source-map": "^0.5.0"
++      }
++    },
++    "node_modules/on-finished": {
++      "version": "2.4.1",
++      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
++      "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
++      "dependencies": {
++        "ee-first": "1.1.1"
++      },
++      "engines": {
++        "node": ">= 0.8"
++      }
++    },
++    "node_modules/once": {
++      "version": "1.4.0",
++      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
++      "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
++      "dependencies": {
++        "wrappy": "1"
++      }
++    },
++    "node_modules/open": {
++      "version": "8.4.0",
++      "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz",
++      "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==",
++      "dependencies": {
++        "define-lazy-prop": "^2.0.0",
++        "is-docker": "^2.1.1",
++        "is-wsl": "^2.2.0"
++      },
++      "engines": {
++        "node": ">=12"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/optionator": {
++      "version": "0.9.1",
++      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
++      "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
++      "dependencies": {
++        "deep-is": "^0.1.3",
++        "fast-levenshtein": "^2.0.6",
++        "levn": "^0.4.1",
++        "prelude-ls": "^1.2.1",
++        "type-check": "^0.4.0",
++        "word-wrap": "^1.2.3"
++      },
++      "engines": {
++        "node": ">= 0.8.0"
++      }
++    },
++    "node_modules/os-browserify": {
++      "version": "0.3.0",
++      "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
++      "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A=="
++    },
++    "node_modules/osc": {
++      "version": "2.4.2",
++      "resolved": "git+ssh://git@github.com/jean-emmanuel/osc.js.git#9197739162f26086e6a72670103c3fa036e9dcd5",
++      "license": "(MIT OR GPL-2.0)",
++      "dependencies": {
++        "long": "4.0.0",
++        "slip": "1.0.2",
++        "wolfy87-eventemitter": "5.2.9",
++        "ws": "7.5.3"
++      },
++      "optionalDependencies": {
++        "serialport": "9.2.0"
++      }
++    },
++    "node_modules/osc/node_modules/ws": {
++      "version": "7.5.3",
++      "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz",
++      "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==",
++      "engines": {
++        "node": ">=8.3.0"
++      },
++      "peerDependencies": {
++        "bufferutil": "^4.0.1",
++        "utf-8-validate": "^5.0.2"
++      },
++      "peerDependenciesMeta": {
++        "bufferutil": {
++          "optional": true
++        },
++        "utf-8-validate": {
++          "optional": true
++        }
++      }
++    },
++    "node_modules/osi-licenses": {
++      "version": "0.1.1",
++      "resolved": "https://registry.npmjs.org/osi-licenses/-/osi-licenses-0.1.1.tgz",
++      "integrity": "sha512-ZGAGO6dIxTS/mXxEJCpIdYetAoxIOOr7uYpMOoDWo4+b/6rf+2GagOjTbegL+eoMI8aYAiyNgKWUT7vWJRPl9A==",
++      "engines": {
++        "node": ">=0.10",
++        "npm": ">=1.2"
++      }
++    },
++    "node_modules/oss-license-name-to-url": {
++      "version": "1.2.1",
++      "resolved": "https://registry.npmjs.org/oss-license-name-to-url/-/oss-license-name-to-url-1.2.1.tgz",
++      "integrity": "sha512-apFbKq0EAYi70q0pOpS0tDfSviZYdG3KM6U1GpofZPsRMwgDga0DQiPQ/GHyQx7PDDrLCGvFBNPLMLV/K4Jr4Q==",
++      "dependencies": {
++        "osi-licenses": "^0.1.0"
++      }
++    },
++    "node_modules/outpipe": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/outpipe/-/outpipe-1.1.1.tgz",
++      "integrity": "sha512-BnNY/RwnDrkmQdUa9U+OfN/Y7AWmKuUPCCd+hbRclZnnANvYpO72zp/a6Q4n829hPbdqEac31XCcsvlEvb+rtA==",
++      "dev": true,
++      "dependencies": {
++        "shell-quote": "^1.4.2"
++      }
++    },
++    "node_modules/p-cancelable": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
++      "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==",
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/p-limit": {
++      "version": "1.3.0",
++      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
++      "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
++      "dependencies": {
++        "p-try": "^1.0.0"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/p-locate": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
++      "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==",
++      "dependencies": {
++        "p-limit": "^1.1.0"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/p-map": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
++      "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
++      "dependencies": {
++        "aggregate-error": "^3.0.0"
++      },
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/p-try": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
++      "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/package-json": {
++      "version": "6.5.0",
++      "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz",
++      "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==",
++      "dependencies": {
++        "got": "^9.6.0",
++        "registry-auth-token": "^4.0.0",
++        "registry-url": "^5.0.0",
++        "semver": "^6.2.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/package-json/node_modules/semver": {
++      "version": "6.3.0",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
++      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
++      "bin": {
++        "semver": "bin/semver.js"
++      }
++    },
++    "node_modules/pako": {
++      "version": "1.0.11",
++      "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
++      "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
++    },
++    "node_modules/parent-module": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
++      "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
++      "dependencies": {
++        "callsites": "^3.0.0"
++      },
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/parents": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz",
++      "integrity": "sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==",
++      "dependencies": {
++        "path-platform": "~0.11.15"
++      }
++    },
++    "node_modules/parse-asn1": {
++      "version": "5.1.6",
++      "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz",
++      "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==",
++      "dependencies": {
++        "asn1.js": "^5.2.0",
++        "browserify-aes": "^1.0.0",
++        "evp_bytestokey": "^1.0.0",
++        "pbkdf2": "^3.0.3",
++        "safe-buffer": "^5.1.1"
++      }
++    },
++    "node_modules/parse-author": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/parse-author/-/parse-author-2.0.0.tgz",
++      "integrity": "sha512-yx5DfvkN8JsHL2xk2Os9oTia467qnvRgey4ahSm2X8epehBLx/gWLcy5KI+Y36ful5DzGbCS6RazqZGgy1gHNw==",
++      "dependencies": {
++        "author-regex": "^1.0.0"
++      },
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/parse-json": {
++      "version": "2.2.0",
++      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
++      "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==",
++      "dependencies": {
++        "error-ex": "^1.2.0"
++      },
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/parse-srcset": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz",
++      "integrity": "sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q=="
++    },
++    "node_modules/path-browserify": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
++      "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g=="
++    },
++    "node_modules/path-exists": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
++      "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/path-is-absolute": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
++      "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/path-key": {
++      "version": "3.1.1",
++      "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
++      "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/path-parse": {
++      "version": "1.0.7",
++      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
++      "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
++    },
++    "node_modules/path-platform": {
++      "version": "0.11.15",
++      "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz",
++      "integrity": "sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==",
++      "engines": {
++        "node": ">= 0.8.0"
++      }
++    },
++    "node_modules/path-type": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
++      "integrity": "sha512-dUnb5dXUf+kzhC/W/F4e5/SkluXIFf5VUHolW1Eg1irn1hGWjPGdsRcvYJ1nD6lhk8Ir7VM0bHJKsYTx8Jx9OQ==",
++      "dependencies": {
++        "pify": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/path-type/node_modules/pify": {
++      "version": "2.3.0",
++      "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
++      "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/pbkdf2": {
++      "version": "3.1.2",
++      "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
++      "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
++      "dependencies": {
++        "create-hash": "^1.1.2",
++        "create-hmac": "^1.1.4",
++        "ripemd160": "^2.0.1",
++        "safe-buffer": "^5.0.1",
++        "sha.js": "^2.4.8"
++      },
++      "engines": {
++        "node": ">=0.12"
++      }
++    },
++    "node_modules/pend": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
++      "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="
++    },
++    "node_modules/performance-now": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
++      "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="
++    },
++    "node_modules/picocolors": {
++      "version": "0.2.1",
++      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
++      "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA=="
++    },
++    "node_modules/picomatch": {
++      "version": "2.3.1",
++      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
++      "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
++      "engines": {
++        "node": ">=8.6"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/jonschlinkert"
++      }
++    },
++    "node_modules/pify": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
++      "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
++      "optional": true,
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/plist": {
++      "version": "3.0.6",
++      "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.6.tgz",
++      "integrity": "sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA==",
++      "dependencies": {
++        "base64-js": "^1.5.1",
++        "xmlbuilder": "^15.1.1"
++      },
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/postcss": {
++      "version": "7.0.39",
++      "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
++      "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
++      "dependencies": {
++        "picocolors": "^0.2.1",
++        "source-map": "^0.6.1"
++      },
++      "engines": {
++        "node": ">=6.0.0"
++      },
++      "funding": {
++        "type": "opencollective",
++        "url": "https://opencollective.com/postcss/"
++      }
++    },
++    "node_modules/postcss/node_modules/source-map": {
++      "version": "0.6.1",
++      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/prebuild-install": {
++      "version": "7.1.1",
++      "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz",
++      "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==",
++      "optional": true,
++      "dependencies": {
++        "detect-libc": "^2.0.0",
++        "expand-template": "^2.0.3",
++        "github-from-package": "0.0.0",
++        "minimist": "^1.2.3",
++        "mkdirp-classic": "^0.5.3",
++        "napi-build-utils": "^1.0.1",
++        "node-abi": "^3.3.0",
++        "pump": "^3.0.0",
++        "rc": "^1.2.7",
++        "simple-get": "^4.0.0",
++        "tar-fs": "^2.0.0",
++        "tunnel-agent": "^0.6.0"
++      },
++      "bin": {
++        "prebuild-install": "bin.js"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/prelude-ls": {
++      "version": "1.2.1",
++      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
++      "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
++      "engines": {
++        "node": ">= 0.8.0"
++      }
++    },
++    "node_modules/prepend-http": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
++      "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/pretty-hrtime": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
++      "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==",
++      "engines": {
++        "node": ">= 0.8"
++      }
++    },
++    "node_modules/process": {
++      "version": "0.11.10",
++      "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
++      "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
++      "engines": {
++        "node": ">= 0.6.0"
++      }
++    },
++    "node_modules/process-nextick-args": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
++      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
++    },
++    "node_modules/progress": {
++      "version": "2.0.3",
++      "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
++      "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
++      "engines": {
++        "node": ">=0.4.0"
++      }
++    },
++    "node_modules/promise-inflight": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
++      "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g=="
++    },
++    "node_modules/promise-retry": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
++      "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==",
++      "dependencies": {
++        "err-code": "^2.0.2",
++        "retry": "^0.12.0"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/proto-list": {
++      "version": "1.2.4",
++      "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
++      "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==",
++      "optional": true
++    },
++    "node_modules/psl": {
++      "version": "1.9.0",
++      "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
++      "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag=="
++    },
++    "node_modules/pstree.remy": {
++      "version": "1.1.8",
++      "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
++      "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w=="
++    },
++    "node_modules/public-encrypt": {
++      "version": "4.0.3",
++      "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
++      "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
++      "dependencies": {
++        "bn.js": "^4.1.0",
++        "browserify-rsa": "^4.0.0",
++        "create-hash": "^1.1.0",
++        "parse-asn1": "^5.0.0",
++        "randombytes": "^2.0.1",
++        "safe-buffer": "^5.1.2"
++      }
++    },
++    "node_modules/public-encrypt/node_modules/bn.js": {
++      "version": "4.12.0",
++      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
++      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
++    },
++    "node_modules/pump": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
++      "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
++      "dependencies": {
++        "end-of-stream": "^1.1.0",
++        "once": "^1.3.1"
++      }
++    },
++    "node_modules/punycode": {
++      "version": "1.4.1",
++      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
++      "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ=="
++    },
++    "node_modules/pupa": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz",
++      "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==",
++      "dependencies": {
++        "escape-goat": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/python-shell": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/python-shell/-/python-shell-3.0.1.tgz",
++      "integrity": "sha512-TWeotuxe1auhXa5bGRScxnc2J+0r41NBntSa6RYZtMBLtAEsvCboKrEbW6DvASosWQepVkhZZlT3B5Ei766G+Q==",
++      "engines": {
++        "node": ">=0.10"
++      }
++    },
++    "node_modules/qs": {
++      "version": "6.5.3",
++      "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
++      "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
++      "engines": {
++        "node": ">=0.6"
++      }
++    },
++    "node_modules/querystring": {
++      "version": "0.2.0",
++      "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
++      "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==",
++      "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.",
++      "engines": {
++        "node": ">=0.4.x"
++      }
++    },
++    "node_modules/querystring-es3": {
++      "version": "0.2.1",
++      "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
++      "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==",
++      "engines": {
++        "node": ">=0.4.x"
++      }
++    },
++    "node_modules/queue-tick": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz",
++      "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag=="
++    },
++    "node_modules/quick-lru": {
++      "version": "4.0.1",
++      "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
++      "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/randombytes": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
++      "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
++      "dependencies": {
++        "safe-buffer": "^5.1.0"
++      }
++    },
++    "node_modules/randomfill": {
++      "version": "1.0.4",
++      "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
++      "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
++      "dependencies": {
++        "randombytes": "^2.0.5",
++        "safe-buffer": "^5.1.0"
++      }
++    },
++    "node_modules/range-parser": {
++      "version": "1.2.1",
++      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
++      "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
++      "engines": {
++        "node": ">= 0.6"
++      }
++    },
++    "node_modules/rc": {
++      "version": "1.2.8",
++      "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
++      "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
++      "dependencies": {
++        "deep-extend": "^0.6.0",
++        "ini": "~1.3.0",
++        "minimist": "^1.2.0",
++        "strip-json-comments": "~2.0.1"
++      },
++      "bin": {
++        "rc": "cli.js"
++      }
++    },
++    "node_modules/rc/node_modules/strip-json-comments": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
++      "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/rcedit": {
++      "version": "2.3.0",
++      "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-2.3.0.tgz",
++      "integrity": "sha512-h1gNEl9Oai1oijwyJ1WYqYSXTStHnOcv1KYljg/8WM4NAg3H1KBK3azIaKkQ1WQl+d7PoJpcBMscPfLXVKgCLQ==",
++      "engines": {
++        "node": ">= 8.0.0"
++      }
++    },
++    "node_modules/read-only-stream": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz",
++      "integrity": "sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==",
++      "dependencies": {
++        "readable-stream": "^2.0.2"
++      }
++    },
++    "node_modules/read-pkg": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
++      "integrity": "sha512-eFIBOPW7FGjzBuk3hdXEuNSiTZS/xEMlH49HxMyzb0hyPfu4EhVjT2DH32K1hSSmVq4sebAWnZuuY5auISUTGA==",
++      "dependencies": {
++        "load-json-file": "^2.0.0",
++        "normalize-package-data": "^2.3.2",
++        "path-type": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/read-pkg-up": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
++      "integrity": "sha512-1orxQfbWGUiTn9XsPlChs6rLie/AV9jwZTGmu2NZw/CUDJQchXJFYE0Fq5j7+n558T1JhDWLdhyd1Zj+wLY//w==",
++      "dependencies": {
++        "find-up": "^2.0.0",
++        "read-pkg": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/read-pkg/node_modules/hosted-git-info": {
++      "version": "2.8.9",
++      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
++      "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw=="
++    },
++    "node_modules/read-pkg/node_modules/normalize-package-data": {
++      "version": "2.5.0",
++      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
++      "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
++      "dependencies": {
++        "hosted-git-info": "^2.1.4",
++        "resolve": "^1.10.0",
++        "semver": "2 || 3 || 4 || 5",
++        "validate-npm-package-license": "^3.0.1"
++      }
++    },
++    "node_modules/read-pkg/node_modules/semver": {
++      "version": "5.7.1",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
++      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
++      "bin": {
++        "semver": "bin/semver"
++      }
++    },
++    "node_modules/readable-stream": {
++      "version": "2.3.7",
++      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
++      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
++      "dependencies": {
++        "core-util-is": "~1.0.0",
++        "inherits": "~2.0.3",
++        "isarray": "~1.0.0",
++        "process-nextick-args": "~2.0.0",
++        "safe-buffer": "~5.1.1",
++        "string_decoder": "~1.1.1",
++        "util-deprecate": "~1.0.1"
++      }
++    },
++    "node_modules/readable-stream/node_modules/safe-buffer": {
++      "version": "5.1.2",
++      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
++      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
++    },
++    "node_modules/readable-stream/node_modules/string_decoder": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
++      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
++      "dependencies": {
++        "safe-buffer": "~5.1.0"
++      }
++    },
++    "node_modules/readdirp": {
++      "version": "3.6.0",
++      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
++      "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
++      "dependencies": {
++        "picomatch": "^2.2.1"
++      },
++      "engines": {
++        "node": ">=8.10.0"
++      }
++    },
++    "node_modules/redent": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
++      "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
++      "dependencies": {
++        "indent-string": "^4.0.0",
++        "strip-indent": "^3.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/regenerate": {
++      "version": "1.4.2",
++      "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
++      "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A=="
++    },
++    "node_modules/regenerate-unicode-properties": {
++      "version": "10.1.0",
++      "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz",
++      "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==",
++      "dependencies": {
++        "regenerate": "^1.4.2"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/regenerator-runtime": {
++      "version": "0.13.10",
++      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz",
++      "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw=="
++    },
++    "node_modules/regenerator-transform": {
++      "version": "0.15.0",
++      "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz",
++      "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==",
++      "dependencies": {
++        "@babel/runtime": "^7.8.4"
++      }
++    },
++    "node_modules/regexp.prototype.flags": {
++      "version": "1.4.3",
++      "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz",
++      "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==",
++      "dependencies": {
++        "call-bind": "^1.0.2",
++        "define-properties": "^1.1.3",
++        "functions-have-names": "^1.2.2"
++      },
++      "engines": {
++        "node": ">= 0.4"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/regexpp": {
++      "version": "3.2.0",
++      "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
++      "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/mysticatea"
++      }
++    },
++    "node_modules/regexpu-core": {
++      "version": "5.2.1",
++      "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz",
++      "integrity": "sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==",
++      "dependencies": {
++        "regenerate": "^1.4.2",
++        "regenerate-unicode-properties": "^10.1.0",
++        "regjsgen": "^0.7.1",
++        "regjsparser": "^0.9.1",
++        "unicode-match-property-ecmascript": "^2.0.0",
++        "unicode-match-property-value-ecmascript": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/registry-auth-token": {
++      "version": "4.2.2",
++      "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz",
++      "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==",
++      "dependencies": {
++        "rc": "1.2.8"
++      },
++      "engines": {
++        "node": ">=6.0.0"
++      }
++    },
++    "node_modules/registry-url": {
++      "version": "5.1.0",
++      "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz",
++      "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==",
++      "dependencies": {
++        "rc": "^1.2.8"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/regjsgen": {
++      "version": "0.7.1",
++      "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz",
++      "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA=="
++    },
++    "node_modules/regjsparser": {
++      "version": "0.9.1",
++      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz",
++      "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==",
++      "dependencies": {
++        "jsesc": "~0.5.0"
++      },
++      "bin": {
++        "regjsparser": "bin/parser"
++      }
++    },
++    "node_modules/regjsparser/node_modules/jsesc": {
++      "version": "0.5.0",
++      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
++      "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==",
++      "bin": {
++        "jsesc": "bin/jsesc"
++      }
++    },
++    "node_modules/replacestream": {
++      "version": "4.0.3",
++      "resolved": "https://registry.npmjs.org/replacestream/-/replacestream-4.0.3.tgz",
++      "integrity": "sha512-AC0FiLS352pBBiZhd4VXB1Ab/lh0lEgpP+GGvZqbQh8a5cmXVoTe5EX/YeTFArnp4SRGTHh1qCHu9lGs1qG8sA==",
++      "dependencies": {
++        "escape-string-regexp": "^1.0.3",
++        "object-assign": "^4.0.1",
++        "readable-stream": "^2.0.2"
++      }
++    },
++    "node_modules/request": {
++      "version": "2.88.2",
++      "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
++      "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
++      "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
++      "dependencies": {
++        "aws-sign2": "~0.7.0",
++        "aws4": "^1.8.0",
++        "caseless": "~0.12.0",
++        "combined-stream": "~1.0.6",
++        "extend": "~3.0.2",
++        "forever-agent": "~0.6.1",
++        "form-data": "~2.3.2",
++        "har-validator": "~5.1.3",
++        "http-signature": "~1.2.0",
++        "is-typedarray": "~1.0.0",
++        "isstream": "~0.1.2",
++        "json-stringify-safe": "~5.0.1",
++        "mime-types": "~2.1.19",
++        "oauth-sign": "~0.9.0",
++        "performance-now": "^2.1.0",
++        "qs": "~6.5.2",
++        "safe-buffer": "^5.1.2",
++        "tough-cookie": "~2.5.0",
++        "tunnel-agent": "^0.6.0",
++        "uuid": "^3.3.2"
++      },
++      "engines": {
++        "node": ">= 6"
++      }
++    },
++    "node_modules/request/node_modules/uuid": {
++      "version": "3.4.0",
++      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
++      "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
++      "deprecated": "Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.",
++      "bin": {
++        "uuid": "bin/uuid"
++      }
++    },
++    "node_modules/require-directory": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
++      "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/resolve": {
++      "version": "1.22.1",
++      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
++      "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
++      "dependencies": {
++        "is-core-module": "^2.9.0",
++        "path-parse": "^1.0.7",
++        "supports-preserve-symlinks-flag": "^1.0.0"
++      },
++      "bin": {
++        "resolve": "bin/resolve"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/resolve-from": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
++      "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/responselike": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
++      "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==",
++      "dependencies": {
++        "lowercase-keys": "^1.0.0"
++      }
++    },
++    "node_modules/retry": {
++      "version": "0.12.0",
++      "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
++      "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==",
++      "engines": {
++        "node": ">= 4"
++      }
++    },
++    "node_modules/rimraf": {
++      "version": "2.7.1",
++      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
++      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
++      "dependencies": {
++        "glob": "^7.1.3"
++      },
++      "bin": {
++        "rimraf": "bin.js"
++      }
++    },
++    "node_modules/ripemd160": {
++      "version": "2.0.2",
++      "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
++      "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
++      "dependencies": {
++        "hash-base": "^3.0.0",
++        "inherits": "^2.0.1"
++      }
++    },
++    "node_modules/roarr": {
++      "version": "2.15.4",
++      "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz",
++      "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==",
++      "optional": true,
++      "dependencies": {
++        "boolean": "^3.0.1",
++        "detect-node": "^2.0.4",
++        "globalthis": "^1.0.1",
++        "json-stringify-safe": "^5.0.1",
++        "semver-compare": "^1.0.0",
++        "sprintf-js": "^1.1.2"
++      },
++      "engines": {
++        "node": ">=8.0"
++      }
++    },
++    "node_modules/safe-buffer": {
++      "version": "5.2.1",
++      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
++      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
++      "funding": [
++        {
++          "type": "github",
++          "url": "https://github.com/sponsors/feross"
++        },
++        {
++          "type": "patreon",
++          "url": "https://www.patreon.com/feross"
++        },
++        {
++          "type": "consulting",
++          "url": "https://feross.org/support"
++        }
++      ]
++    },
++    "node_modules/safer-buffer": {
++      "version": "2.1.2",
++      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
++      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
++    },
++    "node_modules/sanitize-html": {
++      "version": "1.27.5",
++      "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.27.5.tgz",
++      "integrity": "sha512-M4M5iXDAUEcZKLXkmk90zSYWEtk5NH3JmojQxKxV371fnMh+x9t1rqdmXaGoyEHw3z/X/8vnFhKjGL5xFGOJ3A==",
++      "dependencies": {
++        "htmlparser2": "^4.1.0",
++        "lodash": "^4.17.15",
++        "parse-srcset": "^1.0.2",
++        "postcss": "^7.0.27"
++      }
++    },
++    "node_modules/sass-graph": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-4.0.0.tgz",
++      "integrity": "sha512-WSO/MfXqKH7/TS8RdkCX3lVkPFQzCgbqdGsmSKq6tlPU+GpGEsa/5aW18JqItnqh+lPtcjifqdZ/VmiILkKckQ==",
++      "dependencies": {
++        "glob": "^7.0.0",
++        "lodash": "^4.17.11",
++        "scss-tokenizer": "^0.3.0",
++        "yargs": "^17.2.1"
++      },
++      "bin": {
++        "sassgraph": "bin/sassgraph"
++      },
++      "engines": {
++        "node": ">=12"
++      }
++    },
++    "node_modules/scope-css": {
++      "version": "1.2.1",
++      "resolved": "https://registry.npmjs.org/scope-css/-/scope-css-1.2.1.tgz",
++      "integrity": "sha512-UjLRmyEYaDNiOS673xlVkZFlVCtckJR/dKgr434VMm7Lb+AOOqXKdAcY7PpGlJYErjXXJzKN7HWo4uRPiZZG0Q==",
++      "dependencies": {
++        "escaper": "^2.5.3",
++        "slugify": "^1.3.1",
++        "strip-css-comments": "^3.0.0"
++      }
++    },
++    "node_modules/screenfull": {
++      "version": "5.2.0",
++      "resolved": "https://registry.npmjs.org/screenfull/-/screenfull-5.2.0.tgz",
++      "integrity": "sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==",
++      "engines": {
++        "node": ">=0.10.0"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/scss-tokenizer": {
++      "version": "0.3.0",
++      "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.3.0.tgz",
++      "integrity": "sha512-14Zl9GcbBvOT9057ZKjpz5yPOyUWG2ojd9D5io28wHRYsOrs7U95Q+KNL87+32p8rc+LvDpbu/i9ZYjM9Q+FsQ==",
++      "dependencies": {
++        "js-base64": "^2.4.3",
++        "source-map": "^0.7.1"
++      }
++    },
++    "node_modules/scss-tokenizer/node_modules/source-map": {
++      "version": "0.7.4",
++      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
++      "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
++      "engines": {
++        "node": ">= 8"
++      }
++    },
++    "node_modules/semver": {
++      "version": "7.3.7",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
++      "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
++      "dependencies": {
++        "lru-cache": "^6.0.0"
++      },
++      "bin": {
++        "semver": "bin/semver.js"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/semver-compare": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
++      "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==",
++      "optional": true
++    },
++    "node_modules/semver-diff": {
++      "version": "3.1.1",
++      "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz",
++      "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==",
++      "dependencies": {
++        "semver": "^6.3.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/semver-diff/node_modules/semver": {
++      "version": "6.3.0",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
++      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
++      "bin": {
++        "semver": "bin/semver.js"
++      }
++    },
++    "node_modules/send": {
++      "version": "0.18.0",
++      "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
++      "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
++      "dependencies": {
++        "debug": "2.6.9",
++        "depd": "2.0.0",
++        "destroy": "1.2.0",
++        "encodeurl": "~1.0.2",
++        "escape-html": "~1.0.3",
++        "etag": "~1.8.1",
++        "fresh": "0.5.2",
++        "http-errors": "2.0.0",
++        "mime": "1.6.0",
++        "ms": "2.1.3",
++        "on-finished": "2.4.1",
++        "range-parser": "~1.2.1",
++        "statuses": "2.0.1"
++      },
++      "engines": {
++        "node": ">= 0.8.0"
++      }
++    },
++    "node_modules/send/node_modules/debug": {
++      "version": "2.6.9",
++      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
++      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
++      "dependencies": {
++        "ms": "2.0.0"
++      }
++    },
++    "node_modules/send/node_modules/debug/node_modules/ms": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
++      "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
++    },
++    "node_modules/send/node_modules/depd": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
++      "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
++      "engines": {
++        "node": ">= 0.8"
++      }
++    },
++    "node_modules/send/node_modules/ms": {
++      "version": "2.1.3",
++      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
++      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
++    },
++    "node_modules/serialize-error": {
++      "version": "7.0.1",
++      "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz",
++      "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==",
++      "optional": true,
++      "dependencies": {
++        "type-fest": "^0.13.1"
++      },
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/serialize-error/node_modules/type-fest": {
++      "version": "0.13.1",
++      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
++      "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==",
++      "optional": true,
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/serialport": {
++      "version": "9.2.0",
++      "resolved": "https://registry.npmjs.org/serialport/-/serialport-9.2.0.tgz",
++      "integrity": "sha512-C6AQ4jD4mre3tn3QA+atn++mEZDh4r40CIeh1sKhskKE+Q4eiIr/nzVMOiPxHb8gskrSNxujH+Br49tl3i9s9g==",
++      "optional": true,
++      "dependencies": {
++        "@serialport/binding-mock": "9.0.7",
++        "@serialport/bindings": "^9.2.0",
++        "@serialport/parser-byte-length": "9.0.7",
++        "@serialport/parser-cctalk": "9.0.7",
++        "@serialport/parser-delimiter": "9.0.7",
++        "@serialport/parser-inter-byte-timeout": "9.0.7",
++        "@serialport/parser-readline": "9.0.7",
++        "@serialport/parser-ready": "9.0.7",
++        "@serialport/parser-regex": "9.0.7",
++        "@serialport/stream": "9.0.7",
++        "debug": "^4.3.1"
++      },
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/set-blocking": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
++      "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="
++    },
++    "node_modules/setprototypeof": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
++      "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
++    },
++    "node_modules/sha.js": {
++      "version": "2.4.11",
++      "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
++      "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
++      "dependencies": {
++        "inherits": "^2.0.1",
++        "safe-buffer": "^5.0.1"
++      },
++      "bin": {
++        "sha.js": "bin.js"
++      }
++    },
++    "node_modules/shasum-object": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz",
++      "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==",
++      "dependencies": {
++        "fast-safe-stringify": "^2.0.7"
++      }
++    },
++    "node_modules/shebang-command": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
++      "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
++      "dependencies": {
++        "shebang-regex": "^3.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/shebang-regex": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
++      "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/shell-quote": {
++      "version": "1.7.4",
++      "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.4.tgz",
++      "integrity": "sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==",
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/signal-exit": {
++      "version": "3.0.7",
++      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
++      "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
++    },
++    "node_modules/simple-concat": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
++      "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
++      "funding": [
++        {
++          "type": "github",
++          "url": "https://github.com/sponsors/feross"
++        },
++        {
++          "type": "patreon",
++          "url": "https://www.patreon.com/feross"
++        },
++        {
++          "type": "consulting",
++          "url": "https://feross.org/support"
++        }
++      ]
++    },
++    "node_modules/simple-get": {
++      "version": "4.0.1",
++      "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz",
++      "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
++      "funding": [
++        {
++          "type": "github",
++          "url": "https://github.com/sponsors/feross"
++        },
++        {
++          "type": "patreon",
++          "url": "https://www.patreon.com/feross"
++        },
++        {
++          "type": "consulting",
++          "url": "https://feross.org/support"
++        }
++      ],
++      "optional": true,
++      "dependencies": {
++        "decompress-response": "^6.0.0",
++        "once": "^1.3.1",
++        "simple-concat": "^1.0.0"
++      }
++    },
++    "node_modules/simple-get/node_modules/decompress-response": {
++      "version": "6.0.0",
++      "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
++      "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
++      "optional": true,
++      "dependencies": {
++        "mimic-response": "^3.1.0"
++      },
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/simple-get/node_modules/mimic-response": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
++      "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
++      "optional": true,
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/slip": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/slip/-/slip-1.0.2.tgz",
++      "integrity": "sha512-XrcHe3NAcyD3wO+O4I13RcS4/3AF+S9RvGNj9JhJeS02HyImwD2E3QWLrmn9hBfL+fB6yapagwxRkeyYzhk98g=="
++    },
++    "node_modules/slugify": {
++      "version": "1.6.5",
++      "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.5.tgz",
++      "integrity": "sha512-8mo9bslnBO3tr5PEVFzMPIWwWnipGS0xVbYf65zxDqfNwmzYn1LpiKNrR6DlClusuvo+hDHd1zKpmfAe83NQSQ==",
++      "engines": {
++        "node": ">=8.0.0"
++      }
++    },
++    "node_modules/smart-buffer": {
++      "version": "4.2.0",
++      "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
++      "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
++      "engines": {
++        "node": ">= 6.0.0",
++        "npm": ">= 3.0.0"
++      }
++    },
++    "node_modules/socks": {
++      "version": "2.7.1",
++      "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
++      "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
++      "dependencies": {
++        "ip": "^2.0.0",
++        "smart-buffer": "^4.2.0"
++      },
++      "engines": {
++        "node": ">= 10.13.0",
++        "npm": ">= 3.0.0"
++      }
++    },
++    "node_modules/socks-proxy-agent": {
++      "version": "6.2.1",
++      "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz",
++      "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==",
++      "dependencies": {
++        "agent-base": "^6.0.2",
++        "debug": "^4.3.3",
++        "socks": "^2.6.2"
++      },
++      "engines": {
++        "node": ">= 10"
++      }
++    },
++    "node_modules/socks/node_modules/ip": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
++      "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ=="
++    },
++    "node_modules/sortablejs": {
++      "version": "1.15.0",
++      "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.0.tgz",
++      "integrity": "sha512-bv9qgVMjUMf89wAvM6AxVvS/4MX3sPeN0+agqShejLU5z5GX4C75ow1O2e5k4L6XItUyAK3gH6AxSbXrOM5e8w=="
++    },
++    "node_modules/source-map": {
++      "version": "0.5.7",
++      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
++      "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/source-map-support": {
++      "version": "0.5.21",
++      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
++      "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
++      "dependencies": {
++        "buffer-from": "^1.0.0",
++        "source-map": "^0.6.0"
++      }
++    },
++    "node_modules/source-map-support/node_modules/source-map": {
++      "version": "0.6.1",
++      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/sourcemap-codec": {
++      "version": "1.4.8",
++      "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
++      "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
++    },
++    "node_modules/spdx-correct": {
++      "version": "3.1.1",
++      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
++      "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
++      "dependencies": {
++        "spdx-expression-parse": "^3.0.0",
++        "spdx-license-ids": "^3.0.0"
++      }
++    },
++    "node_modules/spdx-exceptions": {
++      "version": "2.3.0",
++      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
++      "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A=="
++    },
++    "node_modules/spdx-expression-parse": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
++      "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
++      "dependencies": {
++        "spdx-exceptions": "^2.1.0",
++        "spdx-license-ids": "^3.0.0"
++      }
++    },
++    "node_modules/spdx-license-ids": {
++      "version": "3.0.12",
++      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz",
++      "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA=="
++    },
++    "node_modules/sprintf-js": {
++      "version": "1.1.2",
++      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
++      "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==",
++      "optional": true
++    },
++    "node_modules/sshpk": {
++      "version": "1.17.0",
++      "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
++      "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
++      "dependencies": {
++        "asn1": "~0.2.3",
++        "assert-plus": "^1.0.0",
++        "bcrypt-pbkdf": "^1.0.0",
++        "dashdash": "^1.12.0",
++        "ecc-jsbn": "~0.1.1",
++        "getpass": "^0.1.1",
++        "jsbn": "~0.1.0",
++        "safer-buffer": "^2.0.2",
++        "tweetnacl": "~0.14.0"
++      },
++      "bin": {
++        "sshpk-conv": "bin/sshpk-conv",
++        "sshpk-sign": "bin/sshpk-sign",
++        "sshpk-verify": "bin/sshpk-verify"
++      },
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/ssri": {
++      "version": "8.0.1",
++      "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
++      "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
++      "dependencies": {
++        "minipass": "^3.1.1"
++      },
++      "engines": {
++        "node": ">= 8"
++      }
++    },
++    "node_modules/stack-generator": {
++      "version": "2.0.10",
++      "resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.10.tgz",
++      "integrity": "sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==",
++      "dependencies": {
++        "stackframe": "^1.3.4"
++      }
++    },
++    "node_modules/stackframe": {
++      "version": "1.3.4",
++      "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz",
++      "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw=="
++    },
++    "node_modules/stacktrace-gps": {
++      "version": "3.1.2",
++      "resolved": "https://registry.npmjs.org/stacktrace-gps/-/stacktrace-gps-3.1.2.tgz",
++      "integrity": "sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==",
++      "dependencies": {
++        "source-map": "0.5.6",
++        "stackframe": "^1.3.4"
++      }
++    },
++    "node_modules/stacktrace-gps/node_modules/source-map": {
++      "version": "0.5.6",
++      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
++      "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/stacktrace-js": {
++      "version": "2.0.2",
++      "resolved": "https://registry.npmjs.org/stacktrace-js/-/stacktrace-js-2.0.2.tgz",
++      "integrity": "sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==",
++      "dependencies": {
++        "error-stack-parser": "^2.0.6",
++        "stack-generator": "^2.0.5",
++        "stacktrace-gps": "^3.0.4"
++      }
++    },
++    "node_modules/statuses": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
++      "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
++      "engines": {
++        "node": ">= 0.8"
++      }
++    },
++    "node_modules/stdout-stream": {
++      "version": "1.4.1",
++      "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz",
++      "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==",
++      "dependencies": {
++        "readable-stream": "^2.0.1"
++      }
++    },
++    "node_modules/stream-browserify": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz",
++      "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==",
++      "dependencies": {
++        "inherits": "~2.0.4",
++        "readable-stream": "^3.5.0"
++      }
++    },
++    "node_modules/stream-browserify/node_modules/readable-stream": {
++      "version": "3.6.0",
++      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
++      "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
++      "dependencies": {
++        "inherits": "^2.0.3",
++        "string_decoder": "^1.1.1",
++        "util-deprecate": "^1.0.1"
++      },
++      "engines": {
++        "node": ">= 6"
++      }
++    },
++    "node_modules/stream-combiner2": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
++      "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==",
++      "dependencies": {
++        "duplexer2": "~0.1.0",
++        "readable-stream": "^2.0.2"
++      }
++    },
++    "node_modules/stream-http": {
++      "version": "3.2.0",
++      "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz",
++      "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==",
++      "dependencies": {
++        "builtin-status-codes": "^3.0.0",
++        "inherits": "^2.0.4",
++        "readable-stream": "^3.6.0",
++        "xtend": "^4.0.2"
++      }
++    },
++    "node_modules/stream-http/node_modules/readable-stream": {
++      "version": "3.6.0",
++      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
++      "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
++      "dependencies": {
++        "inherits": "^2.0.3",
++        "string_decoder": "^1.1.1",
++        "util-deprecate": "^1.0.1"
++      },
++      "engines": {
++        "node": ">= 6"
++      }
++    },
++    "node_modules/stream-splicer": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz",
++      "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==",
++      "dependencies": {
++        "inherits": "^2.0.1",
++        "readable-stream": "^2.0.2"
++      }
++    },
++    "node_modules/strictdom": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/strictdom/-/strictdom-1.0.1.tgz",
++      "integrity": "sha512-cEmp9QeXXRmjj/rVp9oyiqcvyocWab/HaoN4+bwFeZ7QzykJD6L3yD4v12K1x0tHpqRqVpJevN3gW7kyM39Bqg=="
++    },
++    "node_modules/string_decoder": {
++      "version": "1.3.0",
++      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
++      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
++      "dependencies": {
++        "safe-buffer": "~5.2.0"
++      }
++    },
++    "node_modules/string-width": {
++      "version": "4.2.3",
++      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
++      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
++      "dependencies": {
++        "emoji-regex": "^8.0.0",
++        "is-fullwidth-code-point": "^3.0.0",
++        "strip-ansi": "^6.0.1"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/strip-ansi": {
++      "version": "6.0.1",
++      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
++      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
++      "dependencies": {
++        "ansi-regex": "^5.0.1"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/strip-bom": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
++      "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/strip-css-comments": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/strip-css-comments/-/strip-css-comments-3.0.0.tgz",
++      "integrity": "sha512-xJwk2yMZ6j+0Clj7ETUfqQ6frsaCIqNGg3zjTVswIt3SbiOsCQgRI1E93hdt/JgGfh5De/sTwxrnrBhhWzMwcg==",
++      "dependencies": {
++        "is-regexp": "^1.0.0"
++      },
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/strip-indent": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
++      "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
++      "dependencies": {
++        "min-indent": "^1.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/strip-json-comments": {
++      "version": "3.1.1",
++      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
++      "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/strip-outer": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz",
++      "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==",
++      "dependencies": {
++        "escape-string-regexp": "^1.0.2"
++      },
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/subarg": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
++      "integrity": "sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==",
++      "dependencies": {
++        "minimist": "^1.1.0"
++      }
++    },
++    "node_modules/sumchecker": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz",
++      "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==",
++      "dependencies": {
++        "debug": "^4.1.0"
++      },
++      "engines": {
++        "node": ">= 8.0"
++      }
++    },
++    "node_modules/supports-color": {
++      "version": "5.5.0",
++      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
++      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
++      "dependencies": {
++        "has-flag": "^3.0.0"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/supports-preserve-symlinks-flag": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
++      "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
++      "engines": {
++        "node": ">= 0.4"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/syntax-error": {
++      "version": "1.4.0",
++      "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz",
++      "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==",
++      "dependencies": {
++        "acorn-node": "^1.2.0"
++      }
++    },
++    "node_modules/tar": {
++      "version": "6.1.12",
++      "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.12.tgz",
++      "integrity": "sha512-jU4TdemS31uABHd+Lt5WEYJuzn+TJTCBLljvIAHZOz6M9Os5pJ4dD+vRFLxPa/n3T0iEFzpi+0x1UfuDZYbRMw==",
++      "dependencies": {
++        "chownr": "^2.0.0",
++        "fs-minipass": "^2.0.0",
++        "minipass": "^3.0.0",
++        "minizlib": "^2.1.1",
++        "mkdirp": "^1.0.3",
++        "yallist": "^4.0.0"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/tar-fs": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
++      "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
++      "optional": true,
++      "dependencies": {
++        "chownr": "^1.1.1",
++        "mkdirp-classic": "^0.5.2",
++        "pump": "^3.0.0",
++        "tar-stream": "^2.1.4"
++      }
++    },
++    "node_modules/tar-fs/node_modules/chownr": {
++      "version": "1.1.4",
++      "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
++      "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
++      "optional": true
++    },
++    "node_modules/tar-stream": {
++      "version": "2.2.0",
++      "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
++      "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
++      "optional": true,
++      "dependencies": {
++        "bl": "^4.0.3",
++        "end-of-stream": "^1.4.1",
++        "fs-constants": "^1.0.0",
++        "inherits": "^2.0.3",
++        "readable-stream": "^3.1.1"
++      },
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/tar-stream/node_modules/readable-stream": {
++      "version": "3.6.0",
++      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
++      "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
++      "optional": true,
++      "dependencies": {
++        "inherits": "^2.0.3",
++        "string_decoder": "^1.1.1",
++        "util-deprecate": "^1.0.1"
++      },
++      "engines": {
++        "node": ">= 6"
++      }
++    },
++    "node_modules/tar/node_modules/mkdirp": {
++      "version": "1.0.4",
++      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
++      "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
++      "bin": {
++        "mkdirp": "bin/cmd.js"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/terser": {
++      "version": "3.17.0",
++      "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz",
++      "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==",
++      "dependencies": {
++        "commander": "^2.19.0",
++        "source-map": "~0.6.1",
++        "source-map-support": "~0.5.10"
++      },
++      "bin": {
++        "terser": "bin/uglifyjs"
++      },
++      "engines": {
++        "node": ">=6.0.0"
++      }
++    },
++    "node_modules/terser/node_modules/commander": {
++      "version": "2.20.3",
++      "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
++      "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
++    },
++    "node_modules/terser/node_modules/source-map": {
++      "version": "0.6.1",
++      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/text-table": {
++      "version": "0.2.0",
++      "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
++      "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw=="
++    },
++    "node_modules/through": {
++      "version": "2.3.8",
++      "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
++      "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg=="
++    },
++    "node_modules/through2": {
++      "version": "2.0.5",
++      "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
++      "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
++      "dependencies": {
++        "readable-stream": "~2.3.6",
++        "xtend": "~4.0.1"
++      }
++    },
++    "node_modules/thunky": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
++      "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA=="
++    },
++    "node_modules/timers-browserify": {
++      "version": "1.4.2",
++      "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz",
++      "integrity": "sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==",
++      "dependencies": {
++        "process": "~0.11.0"
++      },
++      "engines": {
++        "node": ">=0.6.0"
++      }
++    },
++    "node_modules/to-fast-properties": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
++      "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/to-readable-stream": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
++      "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==",
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/to-regex-range": {
++      "version": "5.0.1",
++      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
++      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
++      "dependencies": {
++        "is-number": "^7.0.0"
++      },
++      "engines": {
++        "node": ">=8.0"
++      }
++    },
++    "node_modules/toidentifier": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
++      "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
++      "engines": {
++        "node": ">=0.6"
++      }
++    },
++    "node_modules/touch": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz",
++      "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==",
++      "dependencies": {
++        "nopt": "~1.0.10"
++      },
++      "bin": {
++        "nodetouch": "bin/nodetouch.js"
++      }
++    },
++    "node_modules/touch/node_modules/nopt": {
++      "version": "1.0.10",
++      "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
++      "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==",
++      "dependencies": {
++        "abbrev": "1"
++      },
++      "bin": {
++        "nopt": "bin/nopt.js"
++      },
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/tough-cookie": {
++      "version": "2.5.0",
++      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
++      "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
++      "dependencies": {
++        "psl": "^1.1.28",
++        "punycode": "^2.1.1"
++      },
++      "engines": {
++        "node": ">=0.8"
++      }
++    },
++    "node_modules/tough-cookie/node_modules/punycode": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
++      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/transform-ast": {
++      "version": "2.4.4",
++      "resolved": "https://registry.npmjs.org/transform-ast/-/transform-ast-2.4.4.tgz",
++      "integrity": "sha512-AxjeZAcIOUO2lev2GDe3/xZ1Q0cVGjIMk5IsriTy8zbWlsEnjeB025AhkhBJHoy997mXpLd4R+kRbvnnQVuQHQ==",
++      "dependencies": {
++        "acorn-node": "^1.3.0",
++        "convert-source-map": "^1.5.1",
++        "dash-ast": "^1.0.0",
++        "is-buffer": "^2.0.0",
++        "magic-string": "^0.23.2",
++        "merge-source-map": "1.0.4",
++        "nanobench": "^2.1.1"
++      }
++    },
++    "node_modules/transform-ast/node_modules/is-buffer": {
++      "version": "2.0.5",
++      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
++      "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
++      "funding": [
++        {
++          "type": "github",
++          "url": "https://github.com/sponsors/feross"
++        },
++        {
++          "type": "patreon",
++          "url": "https://www.patreon.com/feross"
++        },
++        {
++          "type": "consulting",
++          "url": "https://feross.org/support"
++        }
++      ],
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/trim-newlines": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
++      "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/trim-repeated": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz",
++      "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==",
++      "dependencies": {
++        "escape-string-regexp": "^1.0.2"
++      },
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/true-case-path": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz",
++      "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==",
++      "dependencies": {
++        "glob": "^7.1.2"
++      }
++    },
++    "node_modules/tty-browserify": {
++      "version": "0.0.1",
++      "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz",
++      "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw=="
++    },
++    "node_modules/tunnel": {
++      "version": "0.0.6",
++      "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
++      "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
++      "optional": true,
++      "engines": {
++        "node": ">=0.6.11 <=0.7.0 || >=0.7.3"
++      }
++    },
++    "node_modules/tunnel-agent": {
++      "version": "0.6.0",
++      "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
++      "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
++      "dependencies": {
++        "safe-buffer": "^5.0.1"
++      },
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/tweetnacl": {
++      "version": "0.14.5",
++      "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
++      "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA=="
++    },
++    "node_modules/type-check": {
++      "version": "0.4.0",
++      "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
++      "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
++      "dependencies": {
++        "prelude-ls": "^1.2.1"
++      },
++      "engines": {
++        "node": ">= 0.8.0"
++      }
++    },
++    "node_modules/type-fest": {
++      "version": "0.18.1",
++      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz",
++      "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==",
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/type-name": {
++      "version": "2.0.2",
++      "resolved": "https://registry.npmjs.org/type-name/-/type-name-2.0.2.tgz",
++      "integrity": "sha512-kkgkuqR/jKdKO5oh/I2SMu2dGbLXoJq0zkdgbxaqYK+hr9S9edwVVGf+tMUFTx2gH9TN2+Zu9JZ/Njonb3cjhA=="
++    },
++    "node_modules/typedarray": {
++      "version": "0.0.6",
++      "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
++      "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
++    },
++    "node_modules/typedarray-to-buffer": {
++      "version": "3.1.5",
++      "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
++      "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
++      "dependencies": {
++        "is-typedarray": "^1.0.0"
++      }
++    },
++    "node_modules/uglifyify": {
++      "version": "5.0.2",
++      "resolved": "https://registry.npmjs.org/uglifyify/-/uglifyify-5.0.2.tgz",
++      "integrity": "sha512-NcSk6pgoC+IgwZZ2tVLVHq+VNKSvLPlLkF5oUiHPVOJI0s/OlSVYEGXG9PCAH0hcyFZLyvt4KBdPAQBRlVDn1Q==",
++      "dependencies": {
++        "convert-source-map": "~1.1.0",
++        "minimatch": "^3.0.2",
++        "terser": "^3.7.5",
++        "through": "~2.3.4",
++        "xtend": "^4.0.1"
++      }
++    },
++    "node_modules/uglifyify/node_modules/balanced-match": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
++      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
++    },
++    "node_modules/uglifyify/node_modules/brace-expansion": {
++      "version": "1.1.11",
++      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
++      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
++      "dependencies": {
++        "balanced-match": "^1.0.0",
++        "concat-map": "0.0.1"
++      }
++    },
++    "node_modules/uglifyify/node_modules/convert-source-map": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
++      "integrity": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg=="
++    },
++    "node_modules/uglifyify/node_modules/minimatch": {
++      "version": "3.1.2",
++      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
++      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
++      "dependencies": {
++        "brace-expansion": "^1.1.7"
++      },
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/umd": {
++      "version": "3.0.3",
++      "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz",
++      "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==",
++      "bin": {
++        "umd": "bin/cli.js"
++      }
++    },
++    "node_modules/undeclared-identifiers": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz",
++      "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==",
++      "dependencies": {
++        "acorn-node": "^1.3.0",
++        "dash-ast": "^1.0.0",
++        "get-assigned-identifiers": "^1.2.0",
++        "simple-concat": "^1.0.0",
++        "xtend": "^4.0.1"
++      },
++      "bin": {
++        "undeclared-identifiers": "bin.js"
++      }
++    },
++    "node_modules/undefsafe": {
++      "version": "2.0.5",
++      "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
++      "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA=="
++    },
++    "node_modules/unicode-canonical-property-names-ecmascript": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
++      "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/unicode-match-property-ecmascript": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
++      "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
++      "dependencies": {
++        "unicode-canonical-property-names-ecmascript": "^2.0.0",
++        "unicode-property-aliases-ecmascript": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/unicode-match-property-value-ecmascript": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz",
++      "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/unicode-property-aliases-ecmascript": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
++      "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/unique-filename": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
++      "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
++      "dependencies": {
++        "unique-slug": "^2.0.0"
++      }
++    },
++    "node_modules/unique-slug": {
++      "version": "2.0.2",
++      "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
++      "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
++      "dependencies": {
++        "imurmurhash": "^0.1.4"
++      }
++    },
++    "node_modules/unique-string": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
++      "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==",
++      "dependencies": {
++        "crypto-random-string": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/universalify": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
++      "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
++      "engines": {
++        "node": ">= 10.0.0"
++      }
++    },
++    "node_modules/unix-crypt-td-js": {
++      "version": "1.1.4",
++      "resolved": "https://registry.npmjs.org/unix-crypt-td-js/-/unix-crypt-td-js-1.1.4.tgz",
++      "integrity": "sha512-8rMeVYWSIyccIJscb9NdCfZKSRBKYTeVnwmiRYT2ulE3qd1RaDQ0xQDP+rI3ccIWbhu/zuo5cgN8z73belNZgw=="
++    },
++    "node_modules/update-browserslist-db": {
++      "version": "1.0.10",
++      "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
++      "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
++      "funding": [
++        {
++          "type": "opencollective",
++          "url": "https://opencollective.com/browserslist"
++        },
++        {
++          "type": "tidelift",
++          "url": "https://tidelift.com/funding/github/npm/browserslist"
++        }
++      ],
++      "dependencies": {
++        "escalade": "^3.1.1",
++        "picocolors": "^1.0.0"
++      },
++      "bin": {
++        "browserslist-lint": "cli.js"
++      },
++      "peerDependencies": {
++        "browserslist": ">= 4.21.0"
++      }
++    },
++    "node_modules/update-browserslist-db/node_modules/picocolors": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
++      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
++    },
++    "node_modules/update-notifier": {
++      "version": "5.1.0",
++      "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz",
++      "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==",
++      "dependencies": {
++        "boxen": "^5.0.0",
++        "chalk": "^4.1.0",
++        "configstore": "^5.0.1",
++        "has-yarn": "^2.1.0",
++        "import-lazy": "^2.1.0",
++        "is-ci": "^2.0.0",
++        "is-installed-globally": "^0.4.0",
++        "is-npm": "^5.0.0",
++        "is-yarn-global": "^0.3.0",
++        "latest-version": "^5.1.0",
++        "pupa": "^2.1.1",
++        "semver": "^7.3.4",
++        "semver-diff": "^3.1.1",
++        "xdg-basedir": "^4.0.0"
++      },
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/yeoman/update-notifier?sponsor=1"
++      }
++    },
++    "node_modules/update-notifier/node_modules/ansi-styles": {
++      "version": "4.3.0",
++      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
++      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
++      "dependencies": {
++        "color-convert": "^2.0.1"
++      },
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
++      }
++    },
++    "node_modules/update-notifier/node_modules/chalk": {
++      "version": "4.1.2",
++      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
++      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
++      "dependencies": {
++        "ansi-styles": "^4.1.0",
++        "supports-color": "^7.1.0"
++      },
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/chalk/chalk?sponsor=1"
++      }
++    },
++    "node_modules/update-notifier/node_modules/color-convert": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
++      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
++      "dependencies": {
++        "color-name": "~1.1.4"
++      },
++      "engines": {
++        "node": ">=7.0.0"
++      }
++    },
++    "node_modules/update-notifier/node_modules/color-name": {
++      "version": "1.1.4",
++      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
++      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
++    },
++    "node_modules/update-notifier/node_modules/has-flag": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
++      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/update-notifier/node_modules/supports-color": {
++      "version": "7.2.0",
++      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
++      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
++      "dependencies": {
++        "has-flag": "^4.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/upper-case": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
++      "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA=="
++    },
++    "node_modules/uri-js": {
++      "version": "4.4.1",
++      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
++      "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
++      "dependencies": {
++        "punycode": "^2.1.0"
++      }
++    },
++    "node_modules/uri-js/node_modules/punycode": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
++      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/url": {
++      "version": "0.11.0",
++      "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
++      "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==",
++      "dependencies": {
++        "punycode": "1.3.2",
++        "querystring": "0.2.0"
++      }
++    },
++    "node_modules/url-parse-lax": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
++      "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==",
++      "dependencies": {
++        "prepend-http": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/url/node_modules/punycode": {
++      "version": "1.3.2",
++      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
++      "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw=="
++    },
++    "node_modules/util": {
++      "version": "0.12.5",
++      "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
++      "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
++      "dependencies": {
++        "inherits": "^2.0.3",
++        "is-arguments": "^1.0.4",
++        "is-generator-function": "^1.0.7",
++        "is-typed-array": "^1.1.3",
++        "which-typed-array": "^1.1.2"
++      }
++    },
++    "node_modules/util-deprecate": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
++      "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
++    },
++    "node_modules/uuid": {
++      "version": "8.3.2",
++      "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
++      "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
++      "bin": {
++        "uuid": "dist/bin/uuid"
++      }
++    },
++    "node_modules/v8-compile-cache": {
++      "version": "2.3.0",
++      "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
++      "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA=="
++    },
++    "node_modules/validate-npm-package-license": {
++      "version": "3.0.4",
++      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
++      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
++      "dependencies": {
++        "spdx-correct": "^3.0.0",
++        "spdx-expression-parse": "^3.0.0"
++      }
++    },
++    "node_modules/verror": {
++      "version": "1.10.0",
++      "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
++      "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
++      "engines": [
++        "node >=0.6.0"
++      ],
++      "dependencies": {
++        "assert-plus": "^1.0.0",
++        "core-util-is": "1.0.2",
++        "extsprintf": "^1.2.0"
++      }
++    },
++    "node_modules/verror/node_modules/core-util-is": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
++      "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ=="
++    },
++    "node_modules/vm-browserify": {
++      "version": "1.1.2",
++      "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
++      "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ=="
++    },
++    "node_modules/watchify": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/watchify/-/watchify-4.0.0.tgz",
++      "integrity": "sha512-2Z04dxwoOeNxa11qzWumBTgSAohTC0+ScuY7XMenPnH+W2lhTcpEOJP4g2EIG/SWeLadPk47x++Yh+8BqPM/lA==",
++      "dev": true,
++      "dependencies": {
++        "anymatch": "^3.1.0",
++        "browserify": "^17.0.0",
++        "chokidar": "^3.4.0",
++        "defined": "^1.0.0",
++        "outpipe": "^1.1.0",
++        "through2": "^4.0.2",
++        "xtend": "^4.0.2"
++      },
++      "bin": {
++        "watchify": "bin/cmd.js"
++      },
++      "engines": {
++        "node": ">= 8.10.0"
++      }
++    },
++    "node_modules/watchify/node_modules/readable-stream": {
++      "version": "3.6.0",
++      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
++      "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
++      "dev": true,
++      "dependencies": {
++        "inherits": "^2.0.3",
++        "string_decoder": "^1.1.1",
++        "util-deprecate": "^1.0.1"
++      },
++      "engines": {
++        "node": ">= 6"
++      }
++    },
++    "node_modules/watchify/node_modules/through2": {
++      "version": "4.0.2",
++      "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz",
++      "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==",
++      "dev": true,
++      "dependencies": {
++        "readable-stream": "3"
++      }
++    },
++    "node_modules/webworkify": {
++      "version": "1.5.0",
++      "resolved": "https://registry.npmjs.org/webworkify/-/webworkify-1.5.0.tgz",
++      "integrity": "sha512-AMcUeyXAhbACL8S2hqqdqOLqvJ8ylmIbNwUIqQujRSouf4+eUFaXbG6F1Rbu+srlJMmxQWsiU7mOJi0nMBfM1g=="
++    },
++    "node_modules/which": {
++      "version": "2.0.2",
++      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
++      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
++      "dependencies": {
++        "isexe": "^2.0.0"
++      },
++      "bin": {
++        "node-which": "bin/node-which"
++      },
++      "engines": {
++        "node": ">= 8"
++      }
++    },
++    "node_modules/which-typed-array": {
++      "version": "1.1.9",
++      "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz",
++      "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==",
++      "dependencies": {
++        "available-typed-arrays": "^1.0.5",
++        "call-bind": "^1.0.2",
++        "for-each": "^0.3.3",
++        "gopd": "^1.0.1",
++        "has-tostringtag": "^1.0.0",
++        "is-typed-array": "^1.1.10"
++      },
++      "engines": {
++        "node": ">= 0.4"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/wide-align": {
++      "version": "1.1.5",
++      "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
++      "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
++      "dependencies": {
++        "string-width": "^1.0.2 || 2 || 3 || 4"
++      }
++    },
++    "node_modules/widest-line": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz",
++      "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==",
++      "dependencies": {
++        "string-width": "^4.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/wolfy87-eventemitter": {
++      "version": "5.2.9",
++      "resolved": "https://registry.npmjs.org/wolfy87-eventemitter/-/wolfy87-eventemitter-5.2.9.tgz",
++      "integrity": "sha512-P+6vtWyuDw+MB01X7UeF8TaHBvbCovf4HPEMF/SV7BdDc1SMTiBy13SRD71lQh4ExFTG1d/WNzDGDCyOKSMblw=="
++    },
++    "node_modules/word-wrap": {
++      "version": "1.2.3",
++      "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
++      "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/wrap-ansi": {
++      "version": "7.0.0",
++      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
++      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
++      "dependencies": {
++        "ansi-styles": "^4.0.0",
++        "string-width": "^4.1.0",
++        "strip-ansi": "^6.0.0"
++      },
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
++      }
++    },
++    "node_modules/wrap-ansi/node_modules/ansi-styles": {
++      "version": "4.3.0",
++      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
++      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
++      "dependencies": {
++        "color-convert": "^2.0.1"
++      },
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
++      }
++    },
++    "node_modules/wrap-ansi/node_modules/color-convert": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
++      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
++      "dependencies": {
++        "color-name": "~1.1.4"
++      },
++      "engines": {
++        "node": ">=7.0.0"
++      }
++    },
++    "node_modules/wrap-ansi/node_modules/color-name": {
++      "version": "1.1.4",
++      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
++      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
++    },
++    "node_modules/wrappy": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
++      "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
++    },
++    "node_modules/write-file-atomic": {
++      "version": "3.0.3",
++      "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
++      "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
++      "dependencies": {
++        "imurmurhash": "^0.1.4",
++        "is-typedarray": "^1.0.0",
++        "signal-exit": "^3.0.2",
++        "typedarray-to-buffer": "^3.1.5"
++      }
++    },
++    "node_modules/ws": {
++      "version": "8.6.0",
++      "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz",
++      "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==",
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "peerDependencies": {
++        "bufferutil": "^4.0.1",
++        "utf-8-validate": "^5.0.2"
++      },
++      "peerDependenciesMeta": {
++        "bufferutil": {
++          "optional": true
++        },
++        "utf-8-validate": {
++          "optional": true
++        }
++      }
++    },
++    "node_modules/xdg-basedir": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
++      "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/xmlbuilder": {
++      "version": "15.1.1",
++      "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz",
++      "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==",
++      "engines": {
++        "node": ">=8.0"
++      }
++    },
++    "node_modules/xtend": {
++      "version": "4.0.2",
++      "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
++      "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
++      "engines": {
++        "node": ">=0.4"
++      }
++    },
++    "node_modules/y18n": {
++      "version": "5.0.8",
++      "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
++      "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/yallist": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
++      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
++    },
++    "node_modules/yargs": {
++      "version": "17.5.1",
++      "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz",
++      "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==",
++      "dependencies": {
++        "cliui": "^7.0.2",
++        "escalade": "^3.1.1",
++        "get-caller-file": "^2.0.5",
++        "require-directory": "^2.1.1",
++        "string-width": "^4.2.3",
++        "y18n": "^5.0.5",
++        "yargs-parser": "^21.0.0"
++      },
++      "engines": {
++        "node": ">=12"
++      }
++    },
++    "node_modules/yargs-parser": {
++      "version": "20.2.9",
++      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
++      "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/yargs/node_modules/yargs-parser": {
++      "version": "21.1.1",
++      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
++      "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
++      "engines": {
++        "node": ">=12"
++      }
++    },
++    "node_modules/yauzl": {
++      "version": "2.10.0",
++      "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
++      "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
++      "dependencies": {
++        "buffer-crc32": "~0.2.3",
++        "fd-slicer": "~1.1.0"
++      }
++    }
++  },
++  "dependencies": {
++    "@ampproject/remapping": {
++      "version": "2.2.0",
++      "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
++      "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
++      "requires": {
++        "@jridgewell/gen-mapping": "^0.1.0",
++        "@jridgewell/trace-mapping": "^0.3.9"
++      }
++    },
++    "@babel/code-frame": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
++      "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
++      "requires": {
++        "@babel/highlight": "^7.18.6"
++      }
++    },
++    "@babel/compat-data": {
++      "version": "7.20.1",
++      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.1.tgz",
++      "integrity": "sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ=="
++    },
++    "@babel/core": {
++      "version": "7.18.0",
++      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.0.tgz",
++      "integrity": "sha512-Xyw74OlJwDijToNi0+6BBI5mLLR5+5R3bcSH80LXzjzEGEUlvNzujEE71BaD/ApEZHAvFI/Mlmp4M5lIkdeeWw==",
++      "requires": {
++        "@ampproject/remapping": "^2.1.0",
++        "@babel/code-frame": "^7.16.7",
++        "@babel/generator": "^7.18.0",
++        "@babel/helper-compilation-targets": "^7.17.10",
++        "@babel/helper-module-transforms": "^7.18.0",
++        "@babel/helpers": "^7.18.0",
++        "@babel/parser": "^7.18.0",
++        "@babel/template": "^7.16.7",
++        "@babel/traverse": "^7.18.0",
++        "@babel/types": "^7.18.0",
++        "convert-source-map": "^1.7.0",
++        "debug": "^4.1.0",
++        "gensync": "^1.0.0-beta.2",
++        "json5": "^2.2.1",
++        "semver": "^6.3.0"
++      },
++      "dependencies": {
++        "semver": {
++          "version": "6.3.0",
++          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
++          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
++        }
++      }
++    },
++    "@babel/eslint-parser": {
++      "version": "7.17.0",
++      "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.17.0.tgz",
++      "integrity": "sha512-PUEJ7ZBXbRkbq3qqM/jZ2nIuakUBqCYc7Qf52Lj7dlZ6zERnqisdHioL0l4wwQZnmskMeasqUNzLBFKs3nylXA==",
++      "requires": {
++        "eslint-scope": "^5.1.1",
++        "eslint-visitor-keys": "^2.1.0",
++        "semver": "^6.3.0"
++      },
++      "dependencies": {
++        "semver": {
++          "version": "6.3.0",
++          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
++          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
++        }
++      }
++    },
++    "@babel/generator": {
++      "version": "7.20.4",
++      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.4.tgz",
++      "integrity": "sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA==",
++      "requires": {
++        "@babel/types": "^7.20.2",
++        "@jridgewell/gen-mapping": "^0.3.2",
++        "jsesc": "^2.5.1"
++      },
++      "dependencies": {
++        "@jridgewell/gen-mapping": {
++          "version": "0.3.2",
++          "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
++          "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
++          "requires": {
++            "@jridgewell/set-array": "^1.0.1",
++            "@jridgewell/sourcemap-codec": "^1.4.10",
++            "@jridgewell/trace-mapping": "^0.3.9"
++          }
++        }
++      }
++    },
++    "@babel/helper-annotate-as-pure": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz",
++      "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==",
++      "requires": {
++        "@babel/types": "^7.18.6"
++      }
++    },
++    "@babel/helper-builder-binary-assignment-operator-visitor": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz",
++      "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==",
++      "requires": {
++        "@babel/helper-explode-assignable-expression": "^7.18.6",
++        "@babel/types": "^7.18.9"
++      }
++    },
++    "@babel/helper-compilation-targets": {
++      "version": "7.20.0",
++      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz",
++      "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==",
++      "requires": {
++        "@babel/compat-data": "^7.20.0",
++        "@babel/helper-validator-option": "^7.18.6",
++        "browserslist": "^4.21.3",
++        "semver": "^6.3.0"
++      },
++      "dependencies": {
++        "semver": {
++          "version": "6.3.0",
++          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
++          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
++        }
++      }
++    },
++    "@babel/helper-create-class-features-plugin": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.2.tgz",
++      "integrity": "sha512-k22GoYRAHPYr9I+Gvy2ZQlAe5mGy8BqWst2wRt8cwIufWTxrsVshhIBvYNqC80N0GSFWTsqRVexOtfzlgOEDvA==",
++      "requires": {
++        "@babel/helper-annotate-as-pure": "^7.18.6",
++        "@babel/helper-environment-visitor": "^7.18.9",
++        "@babel/helper-function-name": "^7.19.0",
++        "@babel/helper-member-expression-to-functions": "^7.18.9",
++        "@babel/helper-optimise-call-expression": "^7.18.6",
++        "@babel/helper-replace-supers": "^7.19.1",
++        "@babel/helper-split-export-declaration": "^7.18.6"
++      }
++    },
++    "@babel/helper-create-regexp-features-plugin": {
++      "version": "7.19.0",
++      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz",
++      "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==",
++      "requires": {
++        "@babel/helper-annotate-as-pure": "^7.18.6",
++        "regexpu-core": "^5.1.0"
++      }
++    },
++    "@babel/helper-define-polyfill-provider": {
++      "version": "0.3.3",
++      "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz",
++      "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==",
++      "requires": {
++        "@babel/helper-compilation-targets": "^7.17.7",
++        "@babel/helper-plugin-utils": "^7.16.7",
++        "debug": "^4.1.1",
++        "lodash.debounce": "^4.0.8",
++        "resolve": "^1.14.2",
++        "semver": "^6.1.2"
++      },
++      "dependencies": {
++        "semver": {
++          "version": "6.3.0",
++          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
++          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
++        }
++      }
++    },
++    "@babel/helper-environment-visitor": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
++      "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg=="
++    },
++    "@babel/helper-explode-assignable-expression": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz",
++      "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==",
++      "requires": {
++        "@babel/types": "^7.18.6"
++      }
++    },
++    "@babel/helper-function-name": {
++      "version": "7.19.0",
++      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz",
++      "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==",
++      "requires": {
++        "@babel/template": "^7.18.10",
++        "@babel/types": "^7.19.0"
++      }
++    },
++    "@babel/helper-hoist-variables": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
++      "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
++      "requires": {
++        "@babel/types": "^7.18.6"
++      }
++    },
++    "@babel/helper-member-expression-to-functions": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz",
++      "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==",
++      "requires": {
++        "@babel/types": "^7.18.9"
++      }
++    },
++    "@babel/helper-module-imports": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
++      "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
++      "requires": {
++        "@babel/types": "^7.18.6"
++      }
++    },
++    "@babel/helper-module-transforms": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz",
++      "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==",
++      "requires": {
++        "@babel/helper-environment-visitor": "^7.18.9",
++        "@babel/helper-module-imports": "^7.18.6",
++        "@babel/helper-simple-access": "^7.20.2",
++        "@babel/helper-split-export-declaration": "^7.18.6",
++        "@babel/helper-validator-identifier": "^7.19.1",
++        "@babel/template": "^7.18.10",
++        "@babel/traverse": "^7.20.1",
++        "@babel/types": "^7.20.2"
++      }
++    },
++    "@babel/helper-optimise-call-expression": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz",
++      "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==",
++      "requires": {
++        "@babel/types": "^7.18.6"
++      }
++    },
++    "@babel/helper-plugin-utils": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz",
++      "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ=="
++    },
++    "@babel/helper-remap-async-to-generator": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz",
++      "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==",
++      "requires": {
++        "@babel/helper-annotate-as-pure": "^7.18.6",
++        "@babel/helper-environment-visitor": "^7.18.9",
++        "@babel/helper-wrap-function": "^7.18.9",
++        "@babel/types": "^7.18.9"
++      }
++    },
++    "@babel/helper-replace-supers": {
++      "version": "7.19.1",
++      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz",
++      "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==",
++      "requires": {
++        "@babel/helper-environment-visitor": "^7.18.9",
++        "@babel/helper-member-expression-to-functions": "^7.18.9",
++        "@babel/helper-optimise-call-expression": "^7.18.6",
++        "@babel/traverse": "^7.19.1",
++        "@babel/types": "^7.19.0"
++      }
++    },
++    "@babel/helper-simple-access": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz",
++      "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==",
++      "requires": {
++        "@babel/types": "^7.20.2"
++      }
++    },
++    "@babel/helper-skip-transparent-expression-wrappers": {
++      "version": "7.20.0",
++      "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz",
++      "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==",
++      "requires": {
++        "@babel/types": "^7.20.0"
++      }
++    },
++    "@babel/helper-split-export-declaration": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
++      "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
++      "requires": {
++        "@babel/types": "^7.18.6"
++      }
++    },
++    "@babel/helper-string-parser": {
++      "version": "7.19.4",
++      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz",
++      "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw=="
++    },
++    "@babel/helper-validator-identifier": {
++      "version": "7.19.1",
++      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
++      "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w=="
++    },
++    "@babel/helper-validator-option": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz",
++      "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw=="
++    },
++    "@babel/helper-wrap-function": {
++      "version": "7.19.0",
++      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz",
++      "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==",
++      "requires": {
++        "@babel/helper-function-name": "^7.19.0",
++        "@babel/template": "^7.18.10",
++        "@babel/traverse": "^7.19.0",
++        "@babel/types": "^7.19.0"
++      }
++    },
++    "@babel/helpers": {
++      "version": "7.20.1",
++      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.1.tgz",
++      "integrity": "sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==",
++      "requires": {
++        "@babel/template": "^7.18.10",
++        "@babel/traverse": "^7.20.1",
++        "@babel/types": "^7.20.0"
++      }
++    },
++    "@babel/highlight": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
++      "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
++      "requires": {
++        "@babel/helper-validator-identifier": "^7.18.6",
++        "chalk": "^2.0.0",
++        "js-tokens": "^4.0.0"
++      }
++    },
++    "@babel/parser": {
++      "version": "7.20.3",
++      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.3.tgz",
++      "integrity": "sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg=="
++    },
++    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz",
++      "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz",
++      "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.9",
++        "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9",
++        "@babel/plugin-proposal-optional-chaining": "^7.18.9"
++      }
++    },
++    "@babel/plugin-proposal-async-generator-functions": {
++      "version": "7.20.1",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz",
++      "integrity": "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==",
++      "requires": {
++        "@babel/helper-environment-visitor": "^7.18.9",
++        "@babel/helper-plugin-utils": "^7.19.0",
++        "@babel/helper-remap-async-to-generator": "^7.18.9",
++        "@babel/plugin-syntax-async-generators": "^7.8.4"
++      }
++    },
++    "@babel/plugin-proposal-class-properties": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz",
++      "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==",
++      "requires": {
++        "@babel/helper-create-class-features-plugin": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-proposal-class-static-block": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz",
++      "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==",
++      "requires": {
++        "@babel/helper-create-class-features-plugin": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@babel/plugin-syntax-class-static-block": "^7.14.5"
++      }
++    },
++    "@babel/plugin-proposal-dynamic-import": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz",
++      "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@babel/plugin-syntax-dynamic-import": "^7.8.3"
++      }
++    },
++    "@babel/plugin-proposal-export-namespace-from": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz",
++      "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.9",
++        "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
++      }
++    },
++    "@babel/plugin-proposal-json-strings": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz",
++      "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@babel/plugin-syntax-json-strings": "^7.8.3"
++      }
++    },
++    "@babel/plugin-proposal-logical-assignment-operators": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz",
++      "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.9",
++        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
++      }
++    },
++    "@babel/plugin-proposal-nullish-coalescing-operator": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz",
++      "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
++      }
++    },
++    "@babel/plugin-proposal-numeric-separator": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz",
++      "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@babel/plugin-syntax-numeric-separator": "^7.10.4"
++      }
++    },
++    "@babel/plugin-proposal-object-rest-spread": {
++      "version": "7.18.0",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.0.tgz",
++      "integrity": "sha512-nbTv371eTrFabDfHLElkn9oyf9VG+VKK6WMzhY2o4eHKaG19BToD9947zzGMO6I/Irstx9d8CwX6njPNIAR/yw==",
++      "requires": {
++        "@babel/compat-data": "^7.17.10",
++        "@babel/helper-compilation-targets": "^7.17.10",
++        "@babel/helper-plugin-utils": "^7.17.12",
++        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
++        "@babel/plugin-transform-parameters": "^7.17.12"
++      }
++    },
++    "@babel/plugin-proposal-optional-catch-binding": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz",
++      "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
++      }
++    },
++    "@babel/plugin-proposal-optional-chaining": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz",
++      "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.9",
++        "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9",
++        "@babel/plugin-syntax-optional-chaining": "^7.8.3"
++      }
++    },
++    "@babel/plugin-proposal-private-methods": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz",
++      "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==",
++      "requires": {
++        "@babel/helper-create-class-features-plugin": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-proposal-private-property-in-object": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz",
++      "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==",
++      "requires": {
++        "@babel/helper-annotate-as-pure": "^7.18.6",
++        "@babel/helper-create-class-features-plugin": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
++      }
++    },
++    "@babel/plugin-proposal-unicode-property-regex": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz",
++      "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==",
++      "requires": {
++        "@babel/helper-create-regexp-features-plugin": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-syntax-async-generators": {
++      "version": "7.8.4",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
++      "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.8.0"
++      }
++    },
++    "@babel/plugin-syntax-class-properties": {
++      "version": "7.12.13",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
++      "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.12.13"
++      }
++    },
++    "@babel/plugin-syntax-class-static-block": {
++      "version": "7.14.5",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
++      "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.14.5"
++      }
++    },
++    "@babel/plugin-syntax-dynamic-import": {
++      "version": "7.8.3",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
++      "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.8.0"
++      }
++    },
++    "@babel/plugin-syntax-export-namespace-from": {
++      "version": "7.8.3",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
++      "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.8.3"
++      }
++    },
++    "@babel/plugin-syntax-import-assertions": {
++      "version": "7.20.0",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz",
++      "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.19.0"
++      }
++    },
++    "@babel/plugin-syntax-json-strings": {
++      "version": "7.8.3",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
++      "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.8.0"
++      }
++    },
++    "@babel/plugin-syntax-logical-assignment-operators": {
++      "version": "7.10.4",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
++      "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.10.4"
++      }
++    },
++    "@babel/plugin-syntax-nullish-coalescing-operator": {
++      "version": "7.8.3",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
++      "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.8.0"
++      }
++    },
++    "@babel/plugin-syntax-numeric-separator": {
++      "version": "7.10.4",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
++      "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.10.4"
++      }
++    },
++    "@babel/plugin-syntax-object-rest-spread": {
++      "version": "7.8.3",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
++      "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.8.0"
++      }
++    },
++    "@babel/plugin-syntax-optional-catch-binding": {
++      "version": "7.8.3",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
++      "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.8.0"
++      }
++    },
++    "@babel/plugin-syntax-optional-chaining": {
++      "version": "7.8.3",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
++      "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.8.0"
++      }
++    },
++    "@babel/plugin-syntax-private-property-in-object": {
++      "version": "7.14.5",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
++      "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.14.5"
++      }
++    },
++    "@babel/plugin-syntax-top-level-await": {
++      "version": "7.14.5",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
++      "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.14.5"
++      }
++    },
++    "@babel/plugin-transform-arrow-functions": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz",
++      "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-transform-async-to-generator": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz",
++      "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==",
++      "requires": {
++        "@babel/helper-module-imports": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@babel/helper-remap-async-to-generator": "^7.18.6"
++      }
++    },
++    "@babel/plugin-transform-block-scoped-functions": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz",
++      "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-transform-block-scoping": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.2.tgz",
++      "integrity": "sha512-y5V15+04ry69OV2wULmwhEA6jwSWXO1TwAtIwiPXcvHcoOQUqpyMVd2bDsQJMW8AurjulIyUV8kDqtjSwHy1uQ==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.20.2"
++      }
++    },
++    "@babel/plugin-transform-classes": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz",
++      "integrity": "sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==",
++      "requires": {
++        "@babel/helper-annotate-as-pure": "^7.18.6",
++        "@babel/helper-compilation-targets": "^7.20.0",
++        "@babel/helper-environment-visitor": "^7.18.9",
++        "@babel/helper-function-name": "^7.19.0",
++        "@babel/helper-optimise-call-expression": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.20.2",
++        "@babel/helper-replace-supers": "^7.19.1",
++        "@babel/helper-split-export-declaration": "^7.18.6",
++        "globals": "^11.1.0"
++      }
++    },
++    "@babel/plugin-transform-computed-properties": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz",
++      "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.9"
++      }
++    },
++    "@babel/plugin-transform-destructuring": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz",
++      "integrity": "sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.20.2"
++      }
++    },
++    "@babel/plugin-transform-dotall-regex": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz",
++      "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==",
++      "requires": {
++        "@babel/helper-create-regexp-features-plugin": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-transform-duplicate-keys": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz",
++      "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.9"
++      }
++    },
++    "@babel/plugin-transform-exponentiation-operator": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz",
++      "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==",
++      "requires": {
++        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-transform-for-of": {
++      "version": "7.18.8",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz",
++      "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-transform-function-name": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz",
++      "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==",
++      "requires": {
++        "@babel/helper-compilation-targets": "^7.18.9",
++        "@babel/helper-function-name": "^7.18.9",
++        "@babel/helper-plugin-utils": "^7.18.9"
++      }
++    },
++    "@babel/plugin-transform-literals": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz",
++      "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.9"
++      }
++    },
++    "@babel/plugin-transform-member-expression-literals": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz",
++      "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-transform-modules-amd": {
++      "version": "7.19.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz",
++      "integrity": "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==",
++      "requires": {
++        "@babel/helper-module-transforms": "^7.19.6",
++        "@babel/helper-plugin-utils": "^7.19.0"
++      }
++    },
++    "@babel/plugin-transform-modules-commonjs": {
++      "version": "7.19.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz",
++      "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==",
++      "requires": {
++        "@babel/helper-module-transforms": "^7.19.6",
++        "@babel/helper-plugin-utils": "^7.19.0",
++        "@babel/helper-simple-access": "^7.19.4"
++      }
++    },
++    "@babel/plugin-transform-modules-systemjs": {
++      "version": "7.19.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz",
++      "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==",
++      "requires": {
++        "@babel/helper-hoist-variables": "^7.18.6",
++        "@babel/helper-module-transforms": "^7.19.6",
++        "@babel/helper-plugin-utils": "^7.19.0",
++        "@babel/helper-validator-identifier": "^7.19.1"
++      }
++    },
++    "@babel/plugin-transform-modules-umd": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz",
++      "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==",
++      "requires": {
++        "@babel/helper-module-transforms": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-transform-named-capturing-groups-regex": {
++      "version": "7.19.1",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz",
++      "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==",
++      "requires": {
++        "@babel/helper-create-regexp-features-plugin": "^7.19.0",
++        "@babel/helper-plugin-utils": "^7.19.0"
++      }
++    },
++    "@babel/plugin-transform-new-target": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz",
++      "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-transform-object-super": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz",
++      "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@babel/helper-replace-supers": "^7.18.6"
++      }
++    },
++    "@babel/plugin-transform-parameters": {
++      "version": "7.20.3",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.3.tgz",
++      "integrity": "sha512-oZg/Fpx0YDrj13KsLyO8I/CX3Zdw7z0O9qOd95SqcoIzuqy/WTGWvePeHAnZCN54SfdyjHcb1S30gc8zlzlHcA==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.20.2"
++      }
++    },
++    "@babel/plugin-transform-property-literals": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz",
++      "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-transform-regenerator": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz",
++      "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "regenerator-transform": "^0.15.0"
++      }
++    },
++    "@babel/plugin-transform-reserved-words": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz",
++      "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-transform-shorthand-properties": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz",
++      "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-transform-spread": {
++      "version": "7.19.0",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz",
++      "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.19.0",
++        "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9"
++      }
++    },
++    "@babel/plugin-transform-sticky-regex": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz",
++      "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-transform-template-literals": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz",
++      "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.9"
++      }
++    },
++    "@babel/plugin-transform-typeof-symbol": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz",
++      "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.9"
++      }
++    },
++    "@babel/plugin-transform-unicode-escapes": {
++      "version": "7.18.10",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz",
++      "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.9"
++      }
++    },
++    "@babel/plugin-transform-unicode-regex": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz",
++      "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==",
++      "requires": {
++        "@babel/helper-create-regexp-features-plugin": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/polyfill": {
++      "version": "7.12.1",
++      "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.12.1.tgz",
++      "integrity": "sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==",
++      "requires": {
++        "core-js": "^2.6.5",
++        "regenerator-runtime": "^0.13.4"
++      },
++      "dependencies": {
++        "core-js": {
++          "version": "2.6.12",
++          "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
++          "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ=="
++        }
++      }
++    },
++    "@babel/preset-env": {
++      "version": "7.18.0",
++      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.0.tgz",
++      "integrity": "sha512-cP74OMs7ECLPeG1reiCQ/D/ypyOxgfm8uR6HRYV23vTJ7Lu1nbgj9DQDo/vH59gnn7GOAwtTDPPYV4aXzsMKHA==",
++      "requires": {
++        "@babel/compat-data": "^7.17.10",
++        "@babel/helper-compilation-targets": "^7.17.10",
++        "@babel/helper-plugin-utils": "^7.17.12",
++        "@babel/helper-validator-option": "^7.16.7",
++        "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.17.12",
++        "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.17.12",
++        "@babel/plugin-proposal-async-generator-functions": "^7.17.12",
++        "@babel/plugin-proposal-class-properties": "^7.17.12",
++        "@babel/plugin-proposal-class-static-block": "^7.18.0",
++        "@babel/plugin-proposal-dynamic-import": "^7.16.7",
++        "@babel/plugin-proposal-export-namespace-from": "^7.17.12",
++        "@babel/plugin-proposal-json-strings": "^7.17.12",
++        "@babel/plugin-proposal-logical-assignment-operators": "^7.17.12",
++        "@babel/plugin-proposal-nullish-coalescing-operator": "^7.17.12",
++        "@babel/plugin-proposal-numeric-separator": "^7.16.7",
++        "@babel/plugin-proposal-object-rest-spread": "^7.18.0",
++        "@babel/plugin-proposal-optional-catch-binding": "^7.16.7",
++        "@babel/plugin-proposal-optional-chaining": "^7.17.12",
++        "@babel/plugin-proposal-private-methods": "^7.17.12",
++        "@babel/plugin-proposal-private-property-in-object": "^7.17.12",
++        "@babel/plugin-proposal-unicode-property-regex": "^7.17.12",
++        "@babel/plugin-syntax-async-generators": "^7.8.4",
++        "@babel/plugin-syntax-class-properties": "^7.12.13",
++        "@babel/plugin-syntax-class-static-block": "^7.14.5",
++        "@babel/plugin-syntax-dynamic-import": "^7.8.3",
++        "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
++        "@babel/plugin-syntax-import-assertions": "^7.17.12",
++        "@babel/plugin-syntax-json-strings": "^7.8.3",
++        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
++        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
++        "@babel/plugin-syntax-numeric-separator": "^7.10.4",
++        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
++        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
++        "@babel/plugin-syntax-optional-chaining": "^7.8.3",
++        "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
++        "@babel/plugin-syntax-top-level-await": "^7.14.5",
++        "@babel/plugin-transform-arrow-functions": "^7.17.12",
++        "@babel/plugin-transform-async-to-generator": "^7.17.12",
++        "@babel/plugin-transform-block-scoped-functions": "^7.16.7",
++        "@babel/plugin-transform-block-scoping": "^7.17.12",
++        "@babel/plugin-transform-classes": "^7.17.12",
++        "@babel/plugin-transform-computed-properties": "^7.17.12",
++        "@babel/plugin-transform-destructuring": "^7.18.0",
++        "@babel/plugin-transform-dotall-regex": "^7.16.7",
++        "@babel/plugin-transform-duplicate-keys": "^7.17.12",
++        "@babel/plugin-transform-exponentiation-operator": "^7.16.7",
++        "@babel/plugin-transform-for-of": "^7.17.12",
++        "@babel/plugin-transform-function-name": "^7.16.7",
++        "@babel/plugin-transform-literals": "^7.17.12",
++        "@babel/plugin-transform-member-expression-literals": "^7.16.7",
++        "@babel/plugin-transform-modules-amd": "^7.18.0",
++        "@babel/plugin-transform-modules-commonjs": "^7.18.0",
++        "@babel/plugin-transform-modules-systemjs": "^7.18.0",
++        "@babel/plugin-transform-modules-umd": "^7.18.0",
++        "@babel/plugin-transform-named-capturing-groups-regex": "^7.17.12",
++        "@babel/plugin-transform-new-target": "^7.17.12",
++        "@babel/plugin-transform-object-super": "^7.16.7",
++        "@babel/plugin-transform-parameters": "^7.17.12",
++        "@babel/plugin-transform-property-literals": "^7.16.7",
++        "@babel/plugin-transform-regenerator": "^7.18.0",
++        "@babel/plugin-transform-reserved-words": "^7.17.12",
++        "@babel/plugin-transform-shorthand-properties": "^7.16.7",
++        "@babel/plugin-transform-spread": "^7.17.12",
++        "@babel/plugin-transform-sticky-regex": "^7.16.7",
++        "@babel/plugin-transform-template-literals": "^7.17.12",
++        "@babel/plugin-transform-typeof-symbol": "^7.17.12",
++        "@babel/plugin-transform-unicode-escapes": "^7.16.7",
++        "@babel/plugin-transform-unicode-regex": "^7.16.7",
++        "@babel/preset-modules": "^0.1.5",
++        "@babel/types": "^7.18.0",
++        "babel-plugin-polyfill-corejs2": "^0.3.0",
++        "babel-plugin-polyfill-corejs3": "^0.5.0",
++        "babel-plugin-polyfill-regenerator": "^0.3.0",
++        "core-js-compat": "^3.22.1",
++        "semver": "^6.3.0"
++      },
++      "dependencies": {
++        "semver": {
++          "version": "6.3.0",
++          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
++          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
++        }
++      }
++    },
++    "@babel/preset-modules": {
++      "version": "0.1.5",
++      "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz",
++      "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.0.0",
++        "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
++        "@babel/plugin-transform-dotall-regex": "^7.4.4",
++        "@babel/types": "^7.4.4",
++        "esutils": "^2.0.2"
++      }
++    },
++    "@babel/runtime": {
++      "version": "7.20.1",
++      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.1.tgz",
++      "integrity": "sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==",
++      "requires": {
++        "regenerator-runtime": "^0.13.10"
++      }
++    },
++    "@babel/template": {
++      "version": "7.18.10",
++      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz",
++      "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==",
++      "requires": {
++        "@babel/code-frame": "^7.18.6",
++        "@babel/parser": "^7.18.10",
++        "@babel/types": "^7.18.10"
++      }
++    },
++    "@babel/traverse": {
++      "version": "7.20.1",
++      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.1.tgz",
++      "integrity": "sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==",
++      "requires": {
++        "@babel/code-frame": "^7.18.6",
++        "@babel/generator": "^7.20.1",
++        "@babel/helper-environment-visitor": "^7.18.9",
++        "@babel/helper-function-name": "^7.19.0",
++        "@babel/helper-hoist-variables": "^7.18.6",
++        "@babel/helper-split-export-declaration": "^7.18.6",
++        "@babel/parser": "^7.20.1",
++        "@babel/types": "^7.20.0",
++        "debug": "^4.1.0",
++        "globals": "^11.1.0"
++      }
++    },
++    "@babel/types": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz",
++      "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==",
++      "requires": {
++        "@babel/helper-string-parser": "^7.19.4",
++        "@babel/helper-validator-identifier": "^7.19.1",
++        "to-fast-properties": "^2.0.0"
++      }
++    },
++    "@electron/get": {
++      "version": "1.14.1",
++      "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.14.1.tgz",
++      "integrity": "sha512-BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==",
++      "requires": {
++        "debug": "^4.1.1",
++        "env-paths": "^2.2.0",
++        "fs-extra": "^8.1.0",
++        "global-agent": "^3.0.0",
++        "global-tunnel-ng": "^2.7.1",
++        "got": "^9.6.0",
++        "progress": "^2.0.3",
++        "semver": "^6.2.0",
++        "sumchecker": "^3.0.1"
++      },
++      "dependencies": {
++        "fs-extra": {
++          "version": "8.1.0",
++          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
++          "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
++          "requires": {
++            "graceful-fs": "^4.2.0",
++            "jsonfile": "^4.0.0",
++            "universalify": "^0.1.0"
++          }
++        },
++        "jsonfile": {
++          "version": "4.0.0",
++          "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
++          "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
++          "requires": {
++            "graceful-fs": "^4.1.6"
++          }
++        },
++        "semver": {
++          "version": "6.3.0",
++          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
++          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
++        },
++        "universalify": {
++          "version": "0.1.2",
++          "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
++          "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
++        }
++      }
++    },
++    "@electron/remote": {
++      "version": "2.0.8",
++      "resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.0.8.tgz",
++      "integrity": "sha512-P10v3+iFCIvEPeYzTWWGwwHmqWnjoh8RYnbtZAb3RlQefy4guagzIwcWtfftABIfm6JJTNQf4WPSKWZOpLmHXw=="
++    },
++    "@eslint/eslintrc": {
++      "version": "1.3.3",
++      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz",
++      "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==",
++      "requires": {
++        "ajv": "^6.12.4",
++        "debug": "^4.3.2",
++        "espree": "^9.4.0",
++        "globals": "^13.15.0",
++        "ignore": "^5.2.0",
++        "import-fresh": "^3.2.1",
++        "js-yaml": "^4.1.0",
++        "minimatch": "^3.1.2",
++        "strip-json-comments": "^3.1.1"
++      },
++      "dependencies": {
++        "balanced-match": {
++          "version": "1.0.2",
++          "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
++          "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
++        },
++        "brace-expansion": {
++          "version": "1.1.11",
++          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
++          "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
++          "requires": {
++            "balanced-match": "^1.0.0",
++            "concat-map": "0.0.1"
++          }
++        },
++        "globals": {
++          "version": "13.17.0",
++          "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
++          "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
++          "requires": {
++            "type-fest": "^0.20.2"
++          }
++        },
++        "minimatch": {
++          "version": "3.1.2",
++          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
++          "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
++          "requires": {
++            "brace-expansion": "^1.1.7"
++          }
++        },
++        "type-fest": {
++          "version": "0.20.2",
++          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
++          "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ=="
++        }
++      }
++    },
++    "@gar/promisify": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
++      "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw=="
++    },
++    "@humanwhocodes/config-array": {
++      "version": "0.9.5",
++      "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz",
++      "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==",
++      "requires": {
++        "@humanwhocodes/object-schema": "^1.2.1",
++        "debug": "^4.1.1",
++        "minimatch": "^3.0.4"
++      },
++      "dependencies": {
++        "balanced-match": {
++          "version": "1.0.2",
++          "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
++          "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
++        },
++        "brace-expansion": {
++          "version": "1.1.11",
++          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
++          "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
++          "requires": {
++            "balanced-match": "^1.0.0",
++            "concat-map": "0.0.1"
++          }
++        },
++        "minimatch": {
++          "version": "3.1.2",
++          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
++          "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
++          "requires": {
++            "brace-expansion": "^1.1.7"
++          }
++        }
++      }
++    },
++    "@humanwhocodes/object-schema": {
++      "version": "1.2.1",
++      "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
++      "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA=="
++    },
++    "@jridgewell/gen-mapping": {
++      "version": "0.1.1",
++      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
++      "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
++      "requires": {
++        "@jridgewell/set-array": "^1.0.0",
++        "@jridgewell/sourcemap-codec": "^1.4.10"
++      }
++    },
++    "@jridgewell/resolve-uri": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
++      "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w=="
++    },
++    "@jridgewell/set-array": {
++      "version": "1.1.2",
++      "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
++      "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw=="
++    },
++    "@jridgewell/sourcemap-codec": {
++      "version": "1.4.14",
++      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
++      "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
++    },
++    "@jridgewell/trace-mapping": {
++      "version": "0.3.17",
++      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
++      "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
++      "requires": {
++        "@jridgewell/resolve-uri": "3.1.0",
++        "@jridgewell/sourcemap-codec": "1.4.14"
++      }
++    },
++    "@npmcli/fs": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz",
++      "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==",
++      "requires": {
++        "@gar/promisify": "^1.0.1",
++        "semver": "^7.3.5"
++      }
++    },
++    "@npmcli/move-file": {
++      "version": "1.1.2",
++      "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz",
++      "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
++      "requires": {
++        "mkdirp": "^1.0.4",
++        "rimraf": "^3.0.2"
++      },
++      "dependencies": {
++        "mkdirp": {
++          "version": "1.0.4",
++          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
++          "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
++        },
++        "rimraf": {
++          "version": "3.0.2",
++          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
++          "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
++          "requires": {
++            "glob": "^7.1.3"
++          }
++        }
++      }
++    },
++    "@serialport/binding-abstract": {
++      "version": "9.2.4",
++      "resolved": "https://registry.npmjs.org/@serialport/binding-abstract/-/binding-abstract-9.2.4.tgz",
++      "integrity": "sha512-UESvncat2oQKnAp29eDVJ2jB9sADatCgoojPPB4RVvp3+3Wqu5QVEh/UCjHRUeDJ20fkSFnKAw9D0vNoBQ+5Kw==",
++      "optional": true,
++      "requires": {
++        "debug": "^4.3.2"
++      }
++    },
++    "@serialport/binding-mock": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/binding-mock/-/binding-mock-9.0.7.tgz",
++      "integrity": "sha512-aR8H+htZwwZZkVb1MdbnNvGWw8eXVRqQ2qPhkbKyx0N/LY5aVIgCgT98Kt1YylLsG7SzNG+Jbhd4wzwEuPVT5Q==",
++      "optional": true,
++      "requires": {
++        "@serialport/binding-abstract": "^9.0.7",
++        "debug": "^4.3.1"
++      }
++    },
++    "@serialport/bindings": {
++      "version": "9.2.9",
++      "resolved": "https://registry.npmjs.org/@serialport/bindings/-/bindings-9.2.9.tgz",
++      "integrity": "sha512-An7PiVlyNMx/0RDnSBxFHIsd4kt0/zPlDALlTjhVQKXbG6e0xRqLKbkoZVzHMS8rg7HzCu8G1nplifoAwNm5Lg==",
++      "optional": true,
++      "requires": {
++        "@serialport/binding-abstract": "9.2.3",
++        "@serialport/parser-readline": "9.2.4",
++        "bindings": "^1.5.0",
++        "debug": "^4.3.2",
++        "nan": "^2.15.0",
++        "prebuild-install": "^7.0.0"
++      },
++      "dependencies": {
++        "@serialport/binding-abstract": {
++          "version": "9.2.3",
++          "resolved": "https://registry.npmjs.org/@serialport/binding-abstract/-/binding-abstract-9.2.3.tgz",
++          "integrity": "sha512-cQs9tbIlG3P0IrOWyVirqlhWuJ7Ms2Zh9m2108z6Y5UW/iVj6wEOiW8EmK9QX9jmJXYllE7wgGgvVozP5oCj3w==",
++          "optional": true,
++          "requires": {
++            "debug": "^4.3.2"
++          }
++        },
++        "@serialport/parser-delimiter": {
++          "version": "9.2.4",
++          "resolved": "https://registry.npmjs.org/@serialport/parser-delimiter/-/parser-delimiter-9.2.4.tgz",
++          "integrity": "sha512-4nvTAoYAgkxFiXrkI+3CA49Yd43CODjeszh89EK+I9c8wOZ+etZduRCzINYPiy26g7zO+GRAb9FoPCsY+sYcbQ==",
++          "optional": true
++        },
++        "@serialport/parser-readline": {
++          "version": "9.2.4",
++          "resolved": "https://registry.npmjs.org/@serialport/parser-readline/-/parser-readline-9.2.4.tgz",
++          "integrity": "sha512-Z1/qrZTQUVhNSJP1hd9YfDvq0o7d87rNwAjjRKbVpa7Qi51tG5BnKt43IV3NFMyBlVcRe0rnIb3tJu57E0SOwg==",
++          "optional": true,
++          "requires": {
++            "@serialport/parser-delimiter": "9.2.4"
++          }
++        }
++      }
++    },
++    "@serialport/parser-byte-length": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-byte-length/-/parser-byte-length-9.0.7.tgz",
++      "integrity": "sha512-evf7oOOSBMBn2AZZbgBFMRIyEzlsyQkhqaPm7IBCPTxMDXRf4tKkFYJHYZB0/6d1W4eI0meH079UqmSsh/uoDA==",
++      "optional": true
++    },
++    "@serialport/parser-cctalk": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-cctalk/-/parser-cctalk-9.0.7.tgz",
++      "integrity": "sha512-ert5jhMkeiTfr44TkbdySC09J8UwAsf/RxBucVN5Mz5enG509RggnkfFi4mfj3UCG2vZ7qsmM6gtZ62DshY02Q==",
++      "optional": true
++    },
++    "@serialport/parser-delimiter": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-delimiter/-/parser-delimiter-9.0.7.tgz",
++      "integrity": "sha512-Vb2NPeXPZ/28M4m5x4OAHFd8jRAeddNCgvL+Q+H/hqFPY1w47JcMLchC7pigRW8Cnt1fklmzfwdNQ8Fb+kMkxQ==",
++      "optional": true
++    },
++    "@serialport/parser-inter-byte-timeout": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-inter-byte-timeout/-/parser-inter-byte-timeout-9.0.7.tgz",
++      "integrity": "sha512-lUZ3cwgUluBvJ1jf+0LQsqoiPYAokDO6+fRCw9HCfnrF/OS60Gm4rxuyo2uQIueqZkJ7NIFP+ibKsULrA47AEA==",
++      "optional": true
++    },
++    "@serialport/parser-readline": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-readline/-/parser-readline-9.0.7.tgz",
++      "integrity": "sha512-ydoLbgVQQPxWrwbe3Fhh4XnZexbkEQAC6M/qgRTzjnKvTjrD61CJNxLc3vyDaAPI9bJIhTiI7eTX3JB5jJv8Hg==",
++      "optional": true,
++      "requires": {
++        "@serialport/parser-delimiter": "^9.0.7"
++      }
++    },
++    "@serialport/parser-ready": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-ready/-/parser-ready-9.0.7.tgz",
++      "integrity": "sha512-3qYhI4cNUPAYqVYvdwV57Y+PVRl4dJf1fPBtMoWtwDgwopsAXTR93WCs49WuUq9JCyNW+8Hrfqv8x8eNAD5Dqg==",
++      "optional": true
++    },
++    "@serialport/parser-regex": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-regex/-/parser-regex-9.0.7.tgz",
++      "integrity": "sha512-5XF+FXbhqQ/5bVKM4NaGs1m+E9KjfmeCx/obwsKaUZognQF67jwoTfjJJWNP/21jKfxdl8XoCYjZjASl3XKRAw==",
++      "optional": true
++    },
++    "@serialport/stream": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/stream/-/stream-9.0.7.tgz",
++      "integrity": "sha512-c/h7HPAeFiryD9iTGlaSvPqHFHSZ0NMQHxC4rcmKS2Vu3qJuEtkBdTLABwsMp7iWEiSnI4KC3s7bHapaXP06FQ==",
++      "optional": true,
++      "requires": {
++        "debug": "^4.3.1"
++      }
++    },
++    "@sindresorhus/is": {
++      "version": "0.14.0",
++      "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
++      "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ=="
++    },
++    "@szmarczak/http-timer": {
++      "version": "1.1.2",
++      "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
++      "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
++      "requires": {
++        "defer-to-connect": "^1.0.1"
++      }
++    },
++    "@tootallnate/once": {
++      "version": "1.1.2",
++      "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
++      "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw=="
++    },
++    "@types/glob": {
++      "version": "7.2.0",
++      "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz",
++      "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==",
++      "optional": true,
++      "requires": {
++        "@types/minimatch": "*",
++        "@types/node": "*"
++      }
++    },
++    "@types/minimatch": {
++      "version": "5.1.2",
++      "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz",
++      "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==",
++      "optional": true
++    },
++    "@types/minimist": {
++      "version": "1.2.2",
++      "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz",
++      "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ=="
++    },
++    "@types/node": {
++      "version": "18.11.9",
++      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
++      "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
++      "optional": true
++    },
++    "@types/normalize-package-data": {
++      "version": "2.4.1",
++      "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz",
++      "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw=="
++    },
++    "@types/yauzl": {
++      "version": "2.10.0",
++      "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
++      "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
++      "optional": true,
++      "requires": {
++        "@types/node": "*"
++      }
++    },
++    "7zip": {
++      "version": "0.0.6",
++      "resolved": "https://registry.npmjs.org/7zip/-/7zip-0.0.6.tgz",
++      "integrity": "sha512-ns8vKbKhIQm338AeWo/YdDSWil3pldwCMoyR2npoM2qDAzF8Vuko8BtDxpNt/wE15SXOh5K5WbjSLR4kTOAHLA=="
++    },
++    "abbrev": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
++      "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
++    },
++    "acorn": {
++      "version": "8.8.1",
++      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
++      "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA=="
++    },
++    "acorn-jsx": {
++      "version": "5.3.2",
++      "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
++      "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="
++    },
++    "acorn-node": {
++      "version": "1.8.2",
++      "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
++      "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
++      "requires": {
++        "acorn": "^7.0.0",
++        "acorn-walk": "^7.0.0",
++        "xtend": "^4.0.2"
++      },
++      "dependencies": {
++        "acorn": {
++          "version": "7.4.1",
++          "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
++          "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A=="
++        }
++      }
++    },
++    "acorn-walk": {
++      "version": "7.2.0",
++      "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
++      "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA=="
++    },
++    "agent-base": {
++      "version": "6.0.2",
++      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
++      "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
++      "requires": {
++        "debug": "4"
++      }
++    },
++    "agentkeepalive": {
++      "version": "4.2.1",
++      "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz",
++      "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==",
++      "requires": {
++        "debug": "^4.1.0",
++        "depd": "^1.1.2",
++        "humanize-ms": "^1.2.1"
++      }
++    },
++    "aggregate-error": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
++      "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
++      "requires": {
++        "clean-stack": "^2.0.0",
++        "indent-string": "^4.0.0"
++      }
++    },
++    "ajv": {
++      "version": "6.12.6",
++      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
++      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
++      "requires": {
++        "fast-deep-equal": "^3.1.1",
++        "fast-json-stable-stringify": "^2.0.0",
++        "json-schema-traverse": "^0.4.1",
++        "uri-js": "^4.2.2"
++      }
++    },
++    "ansi-align": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz",
++      "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==",
++      "requires": {
++        "string-width": "^4.1.0"
++      }
++    },
++    "ansi-html": {
++      "version": "0.0.9",
++      "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.9.tgz",
++      "integrity": "sha512-ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg=="
++    },
++    "ansi-regex": {
++      "version": "5.0.1",
++      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
++      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
++    },
++    "ansi-styles": {
++      "version": "3.2.1",
++      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
++      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
++      "requires": {
++        "color-convert": "^1.9.0"
++      }
++    },
++    "anymatch": {
++      "version": "3.1.2",
++      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
++      "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
++      "requires": {
++        "normalize-path": "^3.0.0",
++        "picomatch": "^2.0.4"
++      }
++    },
++    "apache-crypt": {
++      "version": "1.2.6",
++      "resolved": "https://registry.npmjs.org/apache-crypt/-/apache-crypt-1.2.6.tgz",
++      "integrity": "sha512-072WetlM4blL8PREJVeY+WHiUh1R5VNt2HfceGS8aKqttPHcmqE5pkKuXPz/ULmJOFkc8Hw3kfKl6vy7Qka6DA==",
++      "requires": {
++        "unix-crypt-td-js": "^1.1.4"
++      }
++    },
++    "apache-md5": {
++      "version": "1.1.8",
++      "resolved": "https://registry.npmjs.org/apache-md5/-/apache-md5-1.1.8.tgz",
++      "integrity": "sha512-FCAJojipPn0bXjuEpjOOOMN8FZDkxfWWp4JGN9mifU2IhxvKyXZYqpzPHdnTSUpmPDy+tsslB6Z1g+Vg6nVbYA=="
++    },
++    "aproba": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
++      "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ=="
++    },
++    "are-we-there-yet": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
++      "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
++      "requires": {
++        "delegates": "^1.0.0",
++        "readable-stream": "^3.6.0"
++      },
++      "dependencies": {
++        "readable-stream": {
++          "version": "3.6.0",
++          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
++          "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
++          "requires": {
++            "inherits": "^2.0.3",
++            "string_decoder": "^1.1.1",
++            "util-deprecate": "^1.0.1"
++          }
++        }
++      }
++    },
++    "argparse": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
++      "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
++    },
++    "array-flatten": {
++      "version": "2.1.2",
++      "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
++      "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ=="
++    },
++    "arrify": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
++      "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA=="
++    },
++    "asar": {
++      "version": "3.2.0",
++      "resolved": "https://registry.npmjs.org/asar/-/asar-3.2.0.tgz",
++      "integrity": "sha512-COdw2ZQvKdFGFxXwX3oYh2/sOsJWJegrdJCGxnN4MZ7IULgRBp9P6665aqj9z1v9VwP4oP1hRBojRDQ//IGgAg==",
++      "requires": {
++        "@types/glob": "^7.1.1",
++        "chromium-pickle-js": "^0.2.0",
++        "commander": "^5.0.0",
++        "glob": "^7.1.6",
++        "minimatch": "^3.0.4"
++      },
++      "dependencies": {
++        "balanced-match": {
++          "version": "1.0.2",
++          "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
++          "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
++        },
++        "brace-expansion": {
++          "version": "1.1.11",
++          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
++          "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
++          "requires": {
++            "balanced-match": "^1.0.0",
++            "concat-map": "0.0.1"
++          }
++        },
++        "minimatch": {
++          "version": "3.1.2",
++          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
++          "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
++          "requires": {
++            "brace-expansion": "^1.1.7"
++          }
++        }
++      }
++    },
++    "asn1": {
++      "version": "0.2.6",
++      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
++      "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
++      "requires": {
++        "safer-buffer": "~2.1.0"
++      }
++    },
++    "asn1.js": {
++      "version": "5.4.1",
++      "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
++      "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
++      "requires": {
++        "bn.js": "^4.0.0",
++        "inherits": "^2.0.1",
++        "minimalistic-assert": "^1.0.0",
++        "safer-buffer": "^2.1.0"
++      },
++      "dependencies": {
++        "bn.js": {
++          "version": "4.12.0",
++          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
++          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
++        }
++      }
++    },
++    "assert": {
++      "version": "1.5.0",
++      "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
++      "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
++      "requires": {
++        "object-assign": "^4.1.1",
++        "util": "0.10.3"
++      },
++      "dependencies": {
++        "inherits": {
++          "version": "2.0.1",
++          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
++          "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA=="
++        },
++        "util": {
++          "version": "0.10.3",
++          "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
++          "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==",
++          "requires": {
++            "inherits": "2.0.1"
++          }
++        }
++      }
++    },
++    "assert-plus": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
++      "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw=="
++    },
++    "async-foreach": {
++      "version": "0.1.3",
++      "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
++      "integrity": "sha512-VUeSMD8nEGBWaZK4lizI1sf3yEC7pnAQ/mrI7pC2fBz2s/tq5jWWEngTwaf0Gruu/OoXRGLGg1XFqpYBiGTYJA=="
++    },
++    "asynckit": {
++      "version": "0.4.0",
++      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
++      "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
++    },
++    "at-least-node": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
++      "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg=="
++    },
++    "author-regex": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/author-regex/-/author-regex-1.0.0.tgz",
++      "integrity": "sha512-KbWgR8wOYRAPekEmMXrYYdc7BRyhn2Ftk7KWfMUnQ43hFdojWEFRxhhRUm3/OFEdPa1r0KAvTTg9YQK57xTe0g=="
++    },
++    "available-typed-arrays": {
++      "version": "1.0.5",
++      "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
++      "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw=="
++    },
++    "aws-sign2": {
++      "version": "0.7.0",
++      "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
++      "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA=="
++    },
++    "aws4": {
++      "version": "1.11.0",
++      "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
++      "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="
++    },
++    "babel-plugin-polyfill-corejs2": {
++      "version": "0.3.3",
++      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz",
++      "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==",
++      "requires": {
++        "@babel/compat-data": "^7.17.7",
++        "@babel/helper-define-polyfill-provider": "^0.3.3",
++        "semver": "^6.1.1"
++      },
++      "dependencies": {
++        "semver": {
++          "version": "6.3.0",
++          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
++          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
++        }
++      }
++    },
++    "babel-plugin-polyfill-corejs3": {
++      "version": "0.5.3",
++      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz",
++      "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==",
++      "requires": {
++        "@babel/helper-define-polyfill-provider": "^0.3.2",
++        "core-js-compat": "^3.21.0"
++      }
++    },
++    "babel-plugin-polyfill-regenerator": {
++      "version": "0.3.1",
++      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz",
++      "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==",
++      "requires": {
++        "@babel/helper-define-polyfill-provider": "^0.3.1"
++      }
++    },
++    "babelify": {
++      "version": "10.0.0",
++      "resolved": "https://registry.npmjs.org/babelify/-/babelify-10.0.0.tgz",
++      "integrity": "sha512-X40FaxyH7t3X+JFAKvb1H9wooWKLRCi8pg3m8poqtdZaIng+bjzp9RvKQCvRjF9isHiPkXspbbXT/zwXLtwgwg=="
++    },
++    "balanced-match": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz",
++      "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA=="
++    },
++    "base64-js": {
++      "version": "1.5.1",
++      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
++      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
++    },
++    "bcrypt-pbkdf": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
++      "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
++      "requires": {
++        "tweetnacl": "^0.14.3"
++      }
++    },
++    "bcryptjs": {
++      "version": "2.4.3",
++      "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz",
++      "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ=="
++    },
++    "binary-extensions": {
++      "version": "2.2.0",
++      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
++      "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA=="
++    },
++    "bindings": {
++      "version": "1.5.0",
++      "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
++      "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
++      "optional": true,
++      "requires": {
++        "file-uri-to-path": "1.0.0"
++      }
++    },
++    "bl": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
++      "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
++      "optional": true,
++      "requires": {
++        "buffer": "^5.5.0",
++        "inherits": "^2.0.4",
++        "readable-stream": "^3.4.0"
++      },
++      "dependencies": {
++        "buffer": {
++          "version": "5.7.1",
++          "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
++          "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
++          "optional": true,
++          "requires": {
++            "base64-js": "^1.3.1",
++            "ieee754": "^1.1.13"
++          }
++        },
++        "readable-stream": {
++          "version": "3.6.0",
++          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
++          "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
++          "optional": true,
++          "requires": {
++            "inherits": "^2.0.3",
++            "string_decoder": "^1.1.1",
++            "util-deprecate": "^1.0.1"
++          }
++        }
++      }
++    },
++    "bluebird": {
++      "version": "3.7.2",
++      "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
++      "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="
++    },
++    "bn.js": {
++      "version": "5.2.1",
++      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
++      "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ=="
++    },
++    "bonjour": {
++      "version": "git+ssh://git@github.com/jean-emmanuel/bonjour.git#33d7fa28c568d05cb7ffda1fd2b20f4cc364e273",
++      "from": "bonjour@github:jean-emmanuel/bonjour",
++      "requires": {
++        "array-flatten": "^2.1.0",
++        "deep-equal": "^1.0.1",
++        "dns-equal": "^1.0.0",
++        "dns-txt": "github:jean-emmanuel/dns-txt#v2.0.3",
++        "multicast-dns": "github:jean-emmanuel/multicast-dns",
++        "multicast-dns-service-types": "^1.1.0"
++      }
++    },
++    "boolean": {
++      "version": "3.2.0",
++      "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz",
++      "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==",
++      "optional": true
++    },
++    "boxen": {
++      "version": "5.1.2",
++      "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz",
++      "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==",
++      "requires": {
++        "ansi-align": "^3.0.0",
++        "camelcase": "^6.2.0",
++        "chalk": "^4.1.0",
++        "cli-boxes": "^2.2.1",
++        "string-width": "^4.2.2",
++        "type-fest": "^0.20.2",
++        "widest-line": "^3.1.0",
++        "wrap-ansi": "^7.0.0"
++      },
++      "dependencies": {
++        "ansi-styles": {
++          "version": "4.3.0",
++          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
++          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
++          "requires": {
++            "color-convert": "^2.0.1"
++          }
++        },
++        "camelcase": {
++          "version": "6.3.0",
++          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
++          "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA=="
++        },
++        "chalk": {
++          "version": "4.1.2",
++          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
++          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
++          "requires": {
++            "ansi-styles": "^4.1.0",
++            "supports-color": "^7.1.0"
++          }
++        },
++        "color-convert": {
++          "version": "2.0.1",
++          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
++          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
++          "requires": {
++            "color-name": "~1.1.4"
++          }
++        },
++        "color-name": {
++          "version": "1.1.4",
++          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
++          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
++        },
++        "has-flag": {
++          "version": "4.0.0",
++          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
++          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
++        },
++        "supports-color": {
++          "version": "7.2.0",
++          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
++          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
++          "requires": {
++            "has-flag": "^4.0.0"
++          }
++        },
++        "type-fest": {
++          "version": "0.20.2",
++          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
++          "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ=="
++        }
++      }
++    },
++    "brace": {
++      "version": "0.11.1",
++      "resolved": "https://registry.npmjs.org/brace/-/brace-0.11.1.tgz",
++      "integrity": "sha512-Fc8Ne62jJlKHiG/ajlonC4Sd66Pq68fFwK4ihJGNZpGqboc324SQk+lRvMzpPRuJOmfrJefdG8/7JdWX4bzJ2Q=="
++    },
++    "brace-expansion": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
++      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
++      "requires": {
++        "balanced-match": "^1.0.0"
++      },
++      "dependencies": {
++        "balanced-match": {
++          "version": "1.0.2",
++          "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
++          "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
++        }
++      }
++    },
++    "braces": {
++      "version": "3.0.2",
++      "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
++      "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
++      "requires": {
++        "fill-range": "^7.0.1"
++      }
++    },
++    "brorand": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
++      "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w=="
++    },
++    "browser-pack": {
++      "version": "6.1.0",
++      "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz",
++      "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==",
++      "requires": {
++        "combine-source-map": "~0.8.0",
++        "defined": "^1.0.0",
++        "JSONStream": "^1.0.3",
++        "safe-buffer": "^5.1.1",
++        "through2": "^2.0.0",
++        "umd": "^3.0.0"
++      }
++    },
++    "browser-process-hrtime": {
++      "version": "0.1.3",
++      "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz",
++      "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw=="
++    },
++    "browser-resolve": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz",
++      "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==",
++      "requires": {
++        "resolve": "^1.17.0"
++      }
++    },
++    "browserify": {
++      "version": "17.0.0",
++      "resolved": "https://registry.npmjs.org/browserify/-/browserify-17.0.0.tgz",
++      "integrity": "sha512-SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==",
++      "requires": {
++        "assert": "^1.4.0",
++        "browser-pack": "^6.0.1",
++        "browser-resolve": "^2.0.0",
++        "browserify-zlib": "~0.2.0",
++        "buffer": "~5.2.1",
++        "cached-path-relative": "^1.0.0",
++        "concat-stream": "^1.6.0",
++        "console-browserify": "^1.1.0",
++        "constants-browserify": "~1.0.0",
++        "crypto-browserify": "^3.0.0",
++        "defined": "^1.0.0",
++        "deps-sort": "^2.0.1",
++        "domain-browser": "^1.2.0",
++        "duplexer2": "~0.1.2",
++        "events": "^3.0.0",
++        "glob": "^7.1.0",
++        "has": "^1.0.0",
++        "htmlescape": "^1.1.0",
++        "https-browserify": "^1.0.0",
++        "inherits": "~2.0.1",
++        "insert-module-globals": "^7.2.1",
++        "JSONStream": "^1.0.3",
++        "labeled-stream-splicer": "^2.0.0",
++        "mkdirp-classic": "^0.5.2",
++        "module-deps": "^6.2.3",
++        "os-browserify": "~0.3.0",
++        "parents": "^1.0.1",
++        "path-browserify": "^1.0.0",
++        "process": "~0.11.0",
++        "punycode": "^1.3.2",
++        "querystring-es3": "~0.2.0",
++        "read-only-stream": "^2.0.0",
++        "readable-stream": "^2.0.2",
++        "resolve": "^1.1.4",
++        "shasum-object": "^1.0.0",
++        "shell-quote": "^1.6.1",
++        "stream-browserify": "^3.0.0",
++        "stream-http": "^3.0.0",
++        "string_decoder": "^1.1.1",
++        "subarg": "^1.0.0",
++        "syntax-error": "^1.1.1",
++        "through2": "^2.0.0",
++        "timers-browserify": "^1.0.1",
++        "tty-browserify": "0.0.1",
++        "url": "~0.11.0",
++        "util": "~0.12.0",
++        "vm-browserify": "^1.0.0",
++        "xtend": "^4.0.0"
++      }
++    },
++    "browserify-aes": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
++      "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
++      "requires": {
++        "buffer-xor": "^1.0.3",
++        "cipher-base": "^1.0.0",
++        "create-hash": "^1.1.0",
++        "evp_bytestokey": "^1.0.3",
++        "inherits": "^2.0.1",
++        "safe-buffer": "^5.0.1"
++      }
++    },
++    "browserify-cipher": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
++      "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
++      "requires": {
++        "browserify-aes": "^1.0.4",
++        "browserify-des": "^1.0.0",
++        "evp_bytestokey": "^1.0.0"
++      }
++    },
++    "browserify-des": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
++      "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
++      "requires": {
++        "cipher-base": "^1.0.1",
++        "des.js": "^1.0.0",
++        "inherits": "^2.0.1",
++        "safe-buffer": "^5.1.2"
++      }
++    },
++    "browserify-rsa": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
++      "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
++      "requires": {
++        "bn.js": "^5.0.0",
++        "randombytes": "^2.0.1"
++      }
++    },
++    "browserify-sign": {
++      "version": "4.2.1",
++      "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz",
++      "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==",
++      "requires": {
++        "bn.js": "^5.1.1",
++        "browserify-rsa": "^4.0.1",
++        "create-hash": "^1.2.0",
++        "create-hmac": "^1.1.7",
++        "elliptic": "^6.5.3",
++        "inherits": "^2.0.4",
++        "parse-asn1": "^5.1.5",
++        "readable-stream": "^3.6.0",
++        "safe-buffer": "^5.2.0"
++      },
++      "dependencies": {
++        "readable-stream": {
++          "version": "3.6.0",
++          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
++          "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
++          "requires": {
++            "inherits": "^2.0.3",
++            "string_decoder": "^1.1.1",
++            "util-deprecate": "^1.0.1"
++          }
++        }
++      }
++    },
++    "browserify-zlib": {
++      "version": "0.2.0",
++      "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
++      "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
++      "requires": {
++        "pako": "~1.0.5"
++      }
++    },
++    "browserslist": {
++      "version": "4.21.4",
++      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
++      "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
++      "requires": {
++        "caniuse-lite": "^1.0.30001400",
++        "electron-to-chromium": "^1.4.251",
++        "node-releases": "^2.0.6",
++        "update-browserslist-db": "^1.0.9"
++      }
++    },
++    "buffer": {
++      "version": "5.2.1",
++      "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz",
++      "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==",
++      "requires": {
++        "base64-js": "^1.0.2",
++        "ieee754": "^1.1.4"
++      }
++    },
++    "buffer-alloc": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
++      "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
++      "requires": {
++        "buffer-alloc-unsafe": "^1.1.0",
++        "buffer-fill": "^1.0.0"
++      }
++    },
++    "buffer-alloc-unsafe": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
++      "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg=="
++    },
++    "buffer-crc32": {
++      "version": "0.2.13",
++      "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
++      "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ=="
++    },
++    "buffer-fill": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
++      "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ=="
++    },
++    "buffer-from": {
++      "version": "1.1.2",
++      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
++      "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
++    },
++    "buffer-indexof": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz",
++      "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g=="
++    },
++    "buffer-xor": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
++      "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ=="
++    },
++    "builtin-status-codes": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
++      "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ=="
++    },
++    "cacache": {
++      "version": "15.3.0",
++      "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
++      "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
++      "requires": {
++        "@npmcli/fs": "^1.0.0",
++        "@npmcli/move-file": "^1.0.1",
++        "chownr": "^2.0.0",
++        "fs-minipass": "^2.0.0",
++        "glob": "^7.1.4",
++        "infer-owner": "^1.0.4",
++        "lru-cache": "^6.0.0",
++        "minipass": "^3.1.1",
++        "minipass-collect": "^1.0.2",
++        "minipass-flush": "^1.0.5",
++        "minipass-pipeline": "^1.2.2",
++        "mkdirp": "^1.0.3",
++        "p-map": "^4.0.0",
++        "promise-inflight": "^1.0.1",
++        "rimraf": "^3.0.2",
++        "ssri": "^8.0.1",
++        "tar": "^6.0.2",
++        "unique-filename": "^1.1.1"
++      },
++      "dependencies": {
++        "mkdirp": {
++          "version": "1.0.4",
++          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
++          "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
++        },
++        "rimraf": {
++          "version": "3.0.2",
++          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
++          "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
++          "requires": {
++            "glob": "^7.1.3"
++          }
++        }
++      }
++    },
++    "cacheable-request": {
++      "version": "6.1.0",
++      "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
++      "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
++      "requires": {
++        "clone-response": "^1.0.2",
++        "get-stream": "^5.1.0",
++        "http-cache-semantics": "^4.0.0",
++        "keyv": "^3.0.0",
++        "lowercase-keys": "^2.0.0",
++        "normalize-url": "^4.1.0",
++        "responselike": "^1.0.2"
++      },
++      "dependencies": {
++        "lowercase-keys": {
++          "version": "2.0.0",
++          "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
++          "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA=="
++        }
++      }
++    },
++    "cached-path-relative": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz",
++      "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA=="
++    },
++    "call-bind": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
++      "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
++      "requires": {
++        "function-bind": "^1.1.1",
++        "get-intrinsic": "^1.0.2"
++      }
++    },
++    "callsites": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
++      "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
++    },
++    "camel-case": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
++      "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==",
++      "requires": {
++        "no-case": "^2.2.0",
++        "upper-case": "^1.1.1"
++      }
++    },
++    "camelcase": {
++      "version": "5.3.1",
++      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
++      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
++    },
++    "camelcase-keys": {
++      "version": "6.2.2",
++      "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
++      "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
++      "requires": {
++        "camelcase": "^5.3.1",
++        "map-obj": "^4.0.0",
++        "quick-lru": "^4.0.1"
++      }
++    },
++    "caniuse-lite": {
++      "version": "1.0.30001431",
++      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz",
++      "integrity": "sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ=="
++    },
++    "caseless": {
++      "version": "0.12.0",
++      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
++      "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw=="
++    },
++    "chalk": {
++      "version": "2.4.2",
++      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
++      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
++      "requires": {
++        "ansi-styles": "^3.2.1",
++        "escape-string-regexp": "^1.0.5",
++        "supports-color": "^5.3.0"
++      }
++    },
++    "chokidar": {
++      "version": "3.5.3",
++      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
++      "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
++      "requires": {
++        "anymatch": "~3.1.2",
++        "braces": "~3.0.2",
++        "fsevents": "~2.3.2",
++        "glob-parent": "~5.1.2",
++        "is-binary-path": "~2.1.0",
++        "is-glob": "~4.0.1",
++        "normalize-path": "~3.0.0",
++        "readdirp": "~3.6.0"
++      }
++    },
++    "chownr": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
++      "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ=="
++    },
++    "chroma-js": {
++      "version": "2.4.2",
++      "resolved": "https://registry.npmjs.org/chroma-js/-/chroma-js-2.4.2.tgz",
++      "integrity": "sha512-U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A=="
++    },
++    "chromium-pickle-js": {
++      "version": "0.2.0",
++      "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz",
++      "integrity": "sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw=="
++    },
++    "ci-info": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
++      "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ=="
++    },
++    "cipher-base": {
++      "version": "1.0.4",
++      "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
++      "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
++      "requires": {
++        "inherits": "^2.0.1",
++        "safe-buffer": "^5.0.1"
++      }
++    },
++    "clean-stack": {
++      "version": "2.2.0",
++      "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
++      "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A=="
++    },
++    "cli-boxes": {
++      "version": "2.2.1",
++      "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz",
++      "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw=="
++    },
++    "cliui": {
++      "version": "7.0.4",
++      "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
++      "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
++      "requires": {
++        "string-width": "^4.2.0",
++        "strip-ansi": "^6.0.0",
++        "wrap-ansi": "^7.0.0"
++      }
++    },
++    "clone-response": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz",
++      "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==",
++      "requires": {
++        "mimic-response": "^1.0.0"
++      }
++    },
++    "color-convert": {
++      "version": "1.9.3",
++      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
++      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
++      "requires": {
++        "color-name": "1.1.3"
++      }
++    },
++    "color-name": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
++      "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
++    },
++    "color-support": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
++      "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg=="
++    },
++    "combine-source-map": {
++      "version": "0.8.0",
++      "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz",
++      "integrity": "sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==",
++      "requires": {
++        "convert-source-map": "~1.1.0",
++        "inline-source-map": "~0.6.0",
++        "lodash.memoize": "~3.0.3",
++        "source-map": "~0.5.3"
++      },
++      "dependencies": {
++        "convert-source-map": {
++          "version": "1.1.3",
++          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
++          "integrity": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg=="
++        }
++      }
++    },
++    "combined-stream": {
++      "version": "1.0.8",
++      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
++      "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
++      "requires": {
++        "delayed-stream": "~1.0.0"
++      }
++    },
++    "commander": {
++      "version": "5.1.0",
++      "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
++      "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg=="
++    },
++    "compare-version": {
++      "version": "0.1.2",
++      "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz",
++      "integrity": "sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A=="
++    },
++    "concat-map": {
++      "version": "0.0.1",
++      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
++      "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
++    },
++    "concat-stream": {
++      "version": "1.6.2",
++      "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
++      "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
++      "requires": {
++        "buffer-from": "^1.0.0",
++        "inherits": "^2.0.3",
++        "readable-stream": "^2.2.2",
++        "typedarray": "^0.0.6"
++      }
++    },
++    "config-chain": {
++      "version": "1.1.13",
++      "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz",
++      "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==",
++      "optional": true,
++      "requires": {
++        "ini": "^1.3.4",
++        "proto-list": "~1.2.1"
++      }
++    },
++    "configstore": {
++      "version": "5.0.1",
++      "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz",
++      "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==",
++      "requires": {
++        "dot-prop": "^5.2.0",
++        "graceful-fs": "^4.1.2",
++        "make-dir": "^3.0.0",
++        "unique-string": "^2.0.0",
++        "write-file-atomic": "^3.0.0",
++        "xdg-basedir": "^4.0.0"
++      }
++    },
++    "console-browserify": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
++      "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA=="
++    },
++    "console-control-strings": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
++      "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ=="
++    },
++    "constants-browserify": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
++      "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ=="
++    },
++    "convert-source-map": {
++      "version": "1.9.0",
++      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
++      "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="
++    },
++    "core-js": {
++      "version": "3.22.5",
++      "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.5.tgz",
++      "integrity": "sha512-VP/xYuvJ0MJWRAobcmQ8F2H6Bsn+s7zqAAjFaHGBMc5AQm7zaelhD1LGduFn2EehEcQcU+br6t+fwbpQ5d1ZWA=="
++    },
++    "core-js-compat": {
++      "version": "3.26.0",
++      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.0.tgz",
++      "integrity": "sha512-piOX9Go+Z4f9ZiBFLnZ5VrOpBl0h7IGCkiFUN11QTe6LjAvOT3ifL/5TdoizMh99hcGy5SoLyWbapIY/PIb/3A==",
++      "requires": {
++        "browserslist": "^4.21.4"
++      }
++    },
++    "core-util-is": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
++      "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
++    },
++    "cpr": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/cpr/-/cpr-3.0.1.tgz",
++      "integrity": "sha512-Xch4PXQ/KC8lJ+KfJ9JI6eG/nmppLrPPWg5Q+vh65Qr9EjuJEubxh/H/Le1TmCZ7+Xv7iJuNRqapyOFZB+wsxA==",
++      "requires": {
++        "graceful-fs": "^4.1.5",
++        "minimist": "^1.2.0",
++        "mkdirp": "~0.5.1",
++        "rimraf": "^2.5.4"
++      }
++    },
++    "create-ecdh": {
++      "version": "4.0.4",
++      "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
++      "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
++      "requires": {
++        "bn.js": "^4.1.0",
++        "elliptic": "^6.5.3"
++      },
++      "dependencies": {
++        "bn.js": {
++          "version": "4.12.0",
++          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
++          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
++        }
++      }
++    },
++    "create-hash": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
++      "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
++      "requires": {
++        "cipher-base": "^1.0.1",
++        "inherits": "^2.0.1",
++        "md5.js": "^1.3.4",
++        "ripemd160": "^2.0.1",
++        "sha.js": "^2.4.0"
++      }
++    },
++    "create-hmac": {
++      "version": "1.1.7",
++      "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
++      "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
++      "requires": {
++        "cipher-base": "^1.0.3",
++        "create-hash": "^1.1.0",
++        "inherits": "^2.0.1",
++        "ripemd160": "^2.0.0",
++        "safe-buffer": "^5.0.1",
++        "sha.js": "^2.4.8"
++      }
++    },
++    "cross-spawn": {
++      "version": "7.0.3",
++      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
++      "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
++      "requires": {
++        "path-key": "^3.1.0",
++        "shebang-command": "^2.0.0",
++        "which": "^2.0.1"
++      }
++    },
++    "cross-unzip": {
++      "version": "0.0.2",
++      "resolved": "https://registry.npmjs.org/cross-unzip/-/cross-unzip-0.0.2.tgz",
++      "integrity": "sha512-nRJ5c+aqHz0OJVU4V1bqoaDggydfauK/Gha/H/ScBvuIjhZvl8YIpdWVzSR3vUhzCloqB1tvBdQ4V7J8qK7HzQ=="
++    },
++    "crypto-browserify": {
++      "version": "3.12.0",
++      "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
++      "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
++      "requires": {
++        "browserify-cipher": "^1.0.0",
++        "browserify-sign": "^4.0.0",
++        "create-ecdh": "^4.0.0",
++        "create-hash": "^1.1.0",
++        "create-hmac": "^1.1.0",
++        "diffie-hellman": "^5.0.0",
++        "inherits": "^2.0.1",
++        "pbkdf2": "^3.0.3",
++        "public-encrypt": "^4.0.0",
++        "randombytes": "^2.0.0",
++        "randomfill": "^1.0.3"
++      }
++    },
++    "crypto-random-string": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
++      "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA=="
++    },
++    "dash-ast": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz",
++      "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA=="
++    },
++    "dashdash": {
++      "version": "1.14.1",
++      "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
++      "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
++      "requires": {
++        "assert-plus": "^1.0.0"
++      }
++    },
++    "debug": {
++      "version": "4.3.4",
++      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
++      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
++      "requires": {
++        "ms": "2.1.2"
++      }
++    },
++    "decamelize": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
++      "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA=="
++    },
++    "decamelize-keys": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz",
++      "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==",
++      "requires": {
++        "decamelize": "^1.1.0",
++        "map-obj": "^1.0.0"
++      },
++      "dependencies": {
++        "map-obj": {
++          "version": "1.0.1",
++          "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
++          "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg=="
++        }
++      }
++    },
++    "decompress-response": {
++      "version": "3.3.0",
++      "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
++      "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==",
++      "requires": {
++        "mimic-response": "^1.0.0"
++      }
++    },
++    "deep-equal": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz",
++      "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==",
++      "requires": {
++        "is-arguments": "^1.0.4",
++        "is-date-object": "^1.0.1",
++        "is-regex": "^1.0.4",
++        "object-is": "^1.0.1",
++        "object-keys": "^1.1.1",
++        "regexp.prototype.flags": "^1.2.0"
++      }
++    },
++    "deep-extend": {
++      "version": "0.6.0",
++      "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
++      "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="
++    },
++    "deep-is": {
++      "version": "0.1.4",
++      "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
++      "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
++    },
++    "defer-to-connect": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
++      "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ=="
++    },
++    "define-lazy-prop": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
++      "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og=="
++    },
++    "define-properties": {
++      "version": "1.1.4",
++      "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz",
++      "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==",
++      "requires": {
++        "has-property-descriptors": "^1.0.0",
++        "object-keys": "^1.1.1"
++      }
++    },
++    "defined": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz",
++      "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q=="
++    },
++    "delayed-stream": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
++      "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
++    },
++    "delegates": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
++      "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ=="
++    },
++    "depd": {
++      "version": "1.1.2",
++      "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
++      "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ=="
++    },
++    "deps-sort": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz",
++      "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==",
++      "requires": {
++        "JSONStream": "^1.0.3",
++        "shasum-object": "^1.0.0",
++        "subarg": "^1.0.0",
++        "through2": "^2.0.0"
++      }
++    },
++    "des.js": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
++      "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
++      "requires": {
++        "inherits": "^2.0.1",
++        "minimalistic-assert": "^1.0.0"
++      }
++    },
++    "destroy": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
++      "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg=="
++    },
++    "detect-libc": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
++      "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==",
++      "optional": true
++    },
++    "detect-node": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
++      "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
++      "optional": true
++    },
++    "detective": {
++      "version": "5.2.1",
++      "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz",
++      "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==",
++      "requires": {
++        "acorn-node": "^1.8.2",
++        "defined": "^1.0.0",
++        "minimist": "^1.2.6"
++      }
++    },
++    "diff-match-patch": {
++      "version": "1.0.5",
++      "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz",
++      "integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw=="
++    },
++    "diffie-hellman": {
++      "version": "5.0.3",
++      "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
++      "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
++      "requires": {
++        "bn.js": "^4.1.0",
++        "miller-rabin": "^4.0.0",
++        "randombytes": "^2.0.0"
++      },
++      "dependencies": {
++        "bn.js": {
++          "version": "4.12.0",
++          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
++          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
++        }
++      }
++    },
++    "dns-equal": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
++      "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg=="
++    },
++    "dns-packet": {
++      "version": "1.3.4",
++      "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz",
++      "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==",
++      "requires": {
++        "ip": "^1.1.0",
++        "safe-buffer": "^5.0.1"
++      }
++    },
++    "dns-txt": {
++      "version": "git+ssh://git@github.com/jean-emmanuel/dns-txt.git#3bee7785c32d8bc71230d5e01383c61fb72a4b4f",
++      "from": "dns-txt@github:jean-emmanuel/dns-txt#v2.0.3",
++      "requires": {
++        "buffer-indexof": "^1.0.0"
++      }
++    },
++    "doctrine": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
++      "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
++      "requires": {
++        "esutils": "^2.0.2"
++      }
++    },
++    "dom-serializer": {
++      "version": "1.4.1",
++      "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
++      "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
++      "requires": {
++        "domelementtype": "^2.0.1",
++        "domhandler": "^4.2.0",
++        "entities": "^2.0.0"
++      },
++      "dependencies": {
++        "domhandler": {
++          "version": "4.3.1",
++          "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
++          "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
++          "requires": {
++            "domelementtype": "^2.2.0"
++          }
++        }
++      }
++    },
++    "domain-browser": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
++      "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA=="
++    },
++    "domelementtype": {
++      "version": "2.3.0",
++      "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
++      "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="
++    },
++    "domhandler": {
++      "version": "3.3.0",
++      "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz",
++      "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==",
++      "requires": {
++        "domelementtype": "^2.0.1"
++      }
++    },
++    "domutils": {
++      "version": "2.8.0",
++      "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
++      "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
++      "requires": {
++        "dom-serializer": "^1.0.1",
++        "domelementtype": "^2.2.0",
++        "domhandler": "^4.2.0"
++      },
++      "dependencies": {
++        "domhandler": {
++          "version": "4.3.1",
++          "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
++          "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
++          "requires": {
++            "domelementtype": "^2.2.0"
++          }
++        }
++      }
++    },
++    "dot-prop": {
++      "version": "5.3.0",
++      "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz",
++      "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==",
++      "requires": {
++        "is-obj": "^2.0.0"
++      }
++    },
++    "duplexer2": {
++      "version": "0.1.4",
++      "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
++      "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==",
++      "requires": {
++        "readable-stream": "^2.0.2"
++      }
++    },
++    "duplexer3": {
++      "version": "0.1.5",
++      "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz",
++      "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA=="
++    },
++    "ecc-jsbn": {
++      "version": "0.1.2",
++      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
++      "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
++      "requires": {
++        "jsbn": "~0.1.0",
++        "safer-buffer": "^2.1.0"
++      }
++    },
++    "ee-first": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
++      "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
++    },
++    "electron-is-accelerator": {
++      "version": "0.1.2",
++      "resolved": "https://registry.npmjs.org/electron-is-accelerator/-/electron-is-accelerator-0.1.2.tgz",
++      "integrity": "sha512-fLGSAjXZtdn1sbtZxx52+krefmtNuVwnJCV2gNiVt735/ARUboMl8jnNC9fZEqQdlAv2ZrETfmBUsoQci5evJA=="
++    },
++    "electron-localshortcut": {
++      "version": "3.2.1",
++      "resolved": "https://registry.npmjs.org/electron-localshortcut/-/electron-localshortcut-3.2.1.tgz",
++      "integrity": "sha512-DWvhKv36GsdXKnaFFhEiK8kZZA+24/yFLgtTwJJHc7AFgDjNRIBJZ/jq62Y/dWv9E4ypYwrVWN2bVrCYw1uv7Q==",
++      "requires": {
++        "debug": "^4.0.1",
++        "electron-is-accelerator": "^0.1.0",
++        "keyboardevent-from-electron-accelerator": "^2.0.0",
++        "keyboardevents-areequal": "^0.2.1"
++      }
++    },
++    "electron-notarize": {
++      "version": "1.2.2",
++      "resolved": "https://registry.npmjs.org/electron-notarize/-/electron-notarize-1.2.2.tgz",
++      "integrity": "sha512-ZStVWYcWI7g87/PgjPJSIIhwQXOaw4/XeXU+pWqMMktSLHaGMLHdyPPN7Cmao7+Cr7fYufA16npdtMndYciHNw==",
++      "requires": {
++        "debug": "^4.1.1",
++        "fs-extra": "^9.0.1"
++      }
++    },
++    "electron-osx-sign": {
++      "version": "0.5.0",
++      "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.5.0.tgz",
++      "integrity": "sha512-icoRLHzFz/qxzDh/N4Pi2z4yVHurlsCAYQvsCSG7fCedJ4UJXBS6PoQyGH71IfcqKupcKeK7HX/NkyfG+v6vlQ==",
++      "requires": {
++        "bluebird": "^3.5.0",
++        "compare-version": "^0.1.2",
++        "debug": "^2.6.8",
++        "isbinaryfile": "^3.0.2",
++        "minimist": "^1.2.0",
++        "plist": "^3.0.1"
++      },
++      "dependencies": {
++        "debug": {
++          "version": "2.6.9",
++          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
++          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
++          "requires": {
++            "ms": "2.0.0"
++          }
++        },
++        "ms": {
++          "version": "2.0.0",
++          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
++          "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
++        }
++      }
++    },
++    "electron-packager": {
++      "version": "15.2.0",
++      "resolved": "https://registry.npmjs.org/electron-packager/-/electron-packager-15.2.0.tgz",
++      "integrity": "sha512-BaklTBRQy1JTijR3hi8XxHf/uo76rHbDCNM/eQHSblzE9C0NoNfOe86nPxB7y1u2jwlqoEJ4zFiHpTFioKGGRA==",
++      "requires": {
++        "@electron/get": "^1.6.0",
++        "asar": "^3.0.0",
++        "debug": "^4.0.1",
++        "electron-notarize": "^1.0.0",
++        "electron-osx-sign": "^0.5.0",
++        "extract-zip": "^2.0.0",
++        "filenamify": "^4.1.0",
++        "fs-extra": "^9.0.0",
++        "galactus": "^0.2.1",
++        "get-package-info": "^1.0.0",
++        "junk": "^3.1.0",
++        "parse-author": "^2.0.0",
++        "plist": "^3.0.0",
++        "rcedit": "^2.0.0",
++        "resolve": "^1.1.6",
++        "semver": "^7.1.3",
++        "yargs-parser": "^20.0.0"
++      }
++    },
++    "electron-packager-plugin-non-proprietary-codecs-ffmpeg": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/electron-packager-plugin-non-proprietary-codecs-ffmpeg/-/electron-packager-plugin-non-proprietary-codecs-ffmpeg-1.0.2.tgz",
++      "integrity": "sha512-xPkbzndg2KODqmNe9yIx0dhNOfaOqrdNZ1ZSSZN4h1wT0T5SV/YES0tNyN932jQd+c5cFPv6AWYYjuPWKvcITg==",
++      "requires": {
++        "7zip": "0.0.6",
++        "cross-unzip": "0.0.2",
++        "mkdirp": "^0.5.1",
++        "request": "^2.73.0",
++        "semver": "^5.2.0"
++      },
++      "dependencies": {
++        "semver": {
++          "version": "5.7.1",
++          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
++          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
++        }
++      }
++    },
++    "electron-to-chromium": {
++      "version": "1.4.284",
++      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz",
++      "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA=="
++    },
++    "elliptic": {
++      "version": "6.5.4",
++      "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
++      "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
++      "requires": {
++        "bn.js": "^4.11.9",
++        "brorand": "^1.1.0",
++        "hash.js": "^1.0.0",
++        "hmac-drbg": "^1.0.1",
++        "inherits": "^2.0.4",
++        "minimalistic-assert": "^1.0.1",
++        "minimalistic-crypto-utils": "^1.0.1"
++      },
++      "dependencies": {
++        "bn.js": {
++          "version": "4.12.0",
++          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
++          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
++        }
++      }
++    },
++    "emoji-regex": {
++      "version": "8.0.0",
++      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
++      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
++    },
++    "encodeurl": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
++      "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="
++    },
++    "encoding": {
++      "version": "0.1.13",
++      "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
++      "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
++      "optional": true,
++      "requires": {
++        "iconv-lite": "^0.6.2"
++      }
++    },
++    "end-of-stream": {
++      "version": "1.4.4",
++      "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
++      "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
++      "requires": {
++        "once": "^1.4.0"
++      }
++    },
++    "entities": {
++      "version": "2.2.0",
++      "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
++      "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A=="
++    },
++    "env-paths": {
++      "version": "2.2.1",
++      "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
++      "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A=="
++    },
++    "err-code": {
++      "version": "2.0.3",
++      "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
++      "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA=="
++    },
++    "error-ex": {
++      "version": "1.3.2",
++      "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
++      "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
++      "requires": {
++        "is-arrayish": "^0.2.1"
++      }
++    },
++    "error-stack-parser": {
++      "version": "2.1.4",
++      "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz",
++      "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==",
++      "requires": {
++        "stackframe": "^1.3.4"
++      }
++    },
++    "es6-error": {
++      "version": "4.1.1",
++      "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
++      "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
++      "optional": true
++    },
++    "escalade": {
++      "version": "3.1.1",
++      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
++      "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
++    },
++    "escape-goat": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz",
++      "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q=="
++    },
++    "escape-html": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
++      "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
++    },
++    "escape-string-regexp": {
++      "version": "1.0.5",
++      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
++      "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="
++    },
++    "escaper": {
++      "version": "2.5.3",
++      "resolved": "https://registry.npmjs.org/escaper/-/escaper-2.5.3.tgz",
++      "integrity": "sha512-QGb9sFxBVpbzMggrKTX0ry1oiI4CSDAl9vIL702hzl1jGW8VZs7qfqTRX7WDOjoNDoEVGcEtu1ZOQgReSfT2kQ=="
++    },
++    "eslint": {
++      "version": "8.16.0",
++      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.16.0.tgz",
++      "integrity": "sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==",
++      "requires": {
++        "@eslint/eslintrc": "^1.3.0",
++        "@humanwhocodes/config-array": "^0.9.2",
++        "ajv": "^6.10.0",
++        "chalk": "^4.0.0",
++        "cross-spawn": "^7.0.2",
++        "debug": "^4.3.2",
++        "doctrine": "^3.0.0",
++        "escape-string-regexp": "^4.0.0",
++        "eslint-scope": "^7.1.1",
++        "eslint-utils": "^3.0.0",
++        "eslint-visitor-keys": "^3.3.0",
++        "espree": "^9.3.2",
++        "esquery": "^1.4.0",
++        "esutils": "^2.0.2",
++        "fast-deep-equal": "^3.1.3",
++        "file-entry-cache": "^6.0.1",
++        "functional-red-black-tree": "^1.0.1",
++        "glob-parent": "^6.0.1",
++        "globals": "^13.15.0",
++        "ignore": "^5.2.0",
++        "import-fresh": "^3.0.0",
++        "imurmurhash": "^0.1.4",
++        "is-glob": "^4.0.0",
++        "js-yaml": "^4.1.0",
++        "json-stable-stringify-without-jsonify": "^1.0.1",
++        "levn": "^0.4.1",
++        "lodash.merge": "^4.6.2",
++        "minimatch": "^3.1.2",
++        "natural-compare": "^1.4.0",
++        "optionator": "^0.9.1",
++        "regexpp": "^3.2.0",
++        "strip-ansi": "^6.0.1",
++        "strip-json-comments": "^3.1.0",
++        "text-table": "^0.2.0",
++        "v8-compile-cache": "^2.0.3"
++      },
++      "dependencies": {
++        "ansi-styles": {
++          "version": "4.3.0",
++          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
++          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
++          "requires": {
++            "color-convert": "^2.0.1"
++          }
++        },
++        "balanced-match": {
++          "version": "1.0.2",
++          "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
++          "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
++        },
++        "brace-expansion": {
++          "version": "1.1.11",
++          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
++          "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
++          "requires": {
++            "balanced-match": "^1.0.0",
++            "concat-map": "0.0.1"
++          }
++        },
++        "chalk": {
++          "version": "4.1.2",
++          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
++          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
++          "requires": {
++            "ansi-styles": "^4.1.0",
++            "supports-color": "^7.1.0"
++          }
++        },
++        "color-convert": {
++          "version": "2.0.1",
++          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
++          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
++          "requires": {
++            "color-name": "~1.1.4"
++          }
++        },
++        "color-name": {
++          "version": "1.1.4",
++          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
++          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
++        },
++        "escape-string-regexp": {
++          "version": "4.0.0",
++          "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
++          "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="
++        },
++        "eslint-scope": {
++          "version": "7.1.1",
++          "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
++          "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
++          "requires": {
++            "esrecurse": "^4.3.0",
++            "estraverse": "^5.2.0"
++          }
++        },
++        "eslint-visitor-keys": {
++          "version": "3.3.0",
++          "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
++          "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA=="
++        },
++        "estraverse": {
++          "version": "5.3.0",
++          "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
++          "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="
++        },
++        "glob-parent": {
++          "version": "6.0.2",
++          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
++          "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
++          "requires": {
++            "is-glob": "^4.0.3"
++          }
++        },
++        "globals": {
++          "version": "13.17.0",
++          "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
++          "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
++          "requires": {
++            "type-fest": "^0.20.2"
++          }
++        },
++        "has-flag": {
++          "version": "4.0.0",
++          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
++          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
++        },
++        "minimatch": {
++          "version": "3.1.2",
++          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
++          "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
++          "requires": {
++            "brace-expansion": "^1.1.7"
++          }
++        },
++        "supports-color": {
++          "version": "7.2.0",
++          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
++          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
++          "requires": {
++            "has-flag": "^4.0.0"
++          }
++        },
++        "type-fest": {
++          "version": "0.20.2",
++          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
++          "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ=="
++        }
++      }
++    },
++    "eslint-scope": {
++      "version": "5.1.1",
++      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
++      "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
++      "requires": {
++        "esrecurse": "^4.3.0",
++        "estraverse": "^4.1.1"
++      }
++    },
++    "eslint-utils": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
++      "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
++      "requires": {
++        "eslint-visitor-keys": "^2.0.0"
++      }
++    },
++    "eslint-visitor-keys": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
++      "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw=="
++    },
++    "espree": {
++      "version": "9.4.1",
++      "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz",
++      "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==",
++      "requires": {
++        "acorn": "^8.8.0",
++        "acorn-jsx": "^5.3.2",
++        "eslint-visitor-keys": "^3.3.0"
++      },
++      "dependencies": {
++        "eslint-visitor-keys": {
++          "version": "3.3.0",
++          "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
++          "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA=="
++        }
++      }
++    },
++    "esquery": {
++      "version": "1.4.0",
++      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
++      "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
++      "requires": {
++        "estraverse": "^5.1.0"
++      },
++      "dependencies": {
++        "estraverse": {
++          "version": "5.3.0",
++          "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
++          "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="
++        }
++      }
++    },
++    "esrecurse": {
++      "version": "4.3.0",
++      "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
++      "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
++      "requires": {
++        "estraverse": "^5.2.0"
++      },
++      "dependencies": {
++        "estraverse": {
++          "version": "5.3.0",
++          "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
++          "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="
++        }
++      }
++    },
++    "estraverse": {
++      "version": "4.3.0",
++      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
++      "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="
++    },
++    "estree-is-member-expression": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/estree-is-member-expression/-/estree-is-member-expression-1.0.0.tgz",
++      "integrity": "sha512-Ec+X44CapIGExvSZN+pGkmr5p7HwUVQoPQSd458Lqwvaf4/61k/invHSh4BYK8OXnCkfEhWuIoG5hayKLQStIg=="
++    },
++    "esutils": {
++      "version": "2.0.3",
++      "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
++      "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
++    },
++    "etag": {
++      "version": "1.8.1",
++      "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
++      "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="
++    },
++    "events": {
++      "version": "3.3.0",
++      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
++      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q=="
++    },
++    "evp_bytestokey": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
++      "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
++      "requires": {
++        "md5.js": "^1.3.4",
++        "safe-buffer": "^5.1.1"
++      }
++    },
++    "exorcist": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/exorcist/-/exorcist-2.0.0.tgz",
++      "integrity": "sha512-+c63SvhBq/HjmbV9cu9vkDkjXFiuI4lpqOZU5Y3t5GSV2l4TQCqVli9c7nIASHxkUL4THaOZDUcb6XNBI/eYjw==",
++      "requires": {
++        "is-stream": "^2.0.0",
++        "minimist": "^1.2.5",
++        "mkdirp": "^1.0.4",
++        "mold-source-map": "^0.4.0"
++      },
++      "dependencies": {
++        "mkdirp": {
++          "version": "1.0.4",
++          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
++          "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
++        }
++      }
++    },
++    "expand-template": {
++      "version": "2.0.3",
++      "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
++      "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==",
++      "optional": true
++    },
++    "extend": {
++      "version": "3.0.2",
++      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
++      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
++    },
++    "extract-zip": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
++      "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
++      "requires": {
++        "@types/yauzl": "^2.9.1",
++        "debug": "^4.1.1",
++        "get-stream": "^5.1.0",
++        "yauzl": "^2.10.0"
++      }
++    },
++    "extsprintf": {
++      "version": "1.3.0",
++      "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
++      "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g=="
++    },
++    "fast-deep-equal": {
++      "version": "3.1.3",
++      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
++      "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
++    },
++    "fast-json-stable-stringify": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
++      "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
++    },
++    "fast-levenshtein": {
++      "version": "2.0.6",
++      "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
++      "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="
++    },
++    "fast-safe-stringify": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz",
++      "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA=="
++    },
++    "fastdom": {
++      "version": "1.0.10",
++      "resolved": "https://registry.npmjs.org/fastdom/-/fastdom-1.0.10.tgz",
++      "integrity": "sha512-sbL4h358IlZn8VsTvA5TYnKVLYif46XhPEll+HTSxVtDSpqZEO/17D/QqlxE9V2K7AQ82GXeYeQLU2HWwKgk1A==",
++      "requires": {
++        "strictdom": "^1.0.1"
++      }
++    },
++    "fd-slicer": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
++      "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
++      "requires": {
++        "pend": "~1.2.0"
++      }
++    },
++    "file-entry-cache": {
++      "version": "6.0.1",
++      "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
++      "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
++      "requires": {
++        "flat-cache": "^3.0.4"
++      }
++    },
++    "file-saver": {
++      "version": "2.0.5",
++      "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz",
++      "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA=="
++    },
++    "file-uri-to-path": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
++      "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
++      "optional": true
++    },
++    "filename-reserved-regex": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz",
++      "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ=="
++    },
++    "filenamify": {
++      "version": "4.3.0",
++      "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz",
++      "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==",
++      "requires": {
++        "filename-reserved-regex": "^2.0.0",
++        "strip-outer": "^1.0.1",
++        "trim-repeated": "^1.0.0"
++      }
++    },
++    "fill-range": {
++      "version": "7.0.1",
++      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
++      "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
++      "requires": {
++        "to-regex-range": "^5.0.1"
++      }
++    },
++    "find-up": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
++      "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==",
++      "requires": {
++        "locate-path": "^2.0.0"
++      }
++    },
++    "flat-cache": {
++      "version": "3.0.4",
++      "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
++      "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
++      "requires": {
++        "flatted": "^3.1.0",
++        "rimraf": "^3.0.2"
++      },
++      "dependencies": {
++        "rimraf": {
++          "version": "3.0.2",
++          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
++          "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
++          "requires": {
++            "glob": "^7.1.3"
++          }
++        }
++      }
++    },
++    "flatted": {
++      "version": "3.2.7",
++      "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
++      "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ=="
++    },
++    "flora-colossus": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/flora-colossus/-/flora-colossus-1.0.1.tgz",
++      "integrity": "sha512-d+9na7t9FyH8gBJoNDSi28mE4NgQVGGvxQ4aHtFRetjyh5SXjuus+V5EZaxFmFdXVemSOrx0lsgEl/ZMjnOWJA==",
++      "requires": {
++        "debug": "^4.1.1",
++        "fs-extra": "^7.0.0"
++      },
++      "dependencies": {
++        "fs-extra": {
++          "version": "7.0.1",
++          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
++          "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
++          "requires": {
++            "graceful-fs": "^4.1.2",
++            "jsonfile": "^4.0.0",
++            "universalify": "^0.1.0"
++          }
++        },
++        "jsonfile": {
++          "version": "4.0.0",
++          "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
++          "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
++          "requires": {
++            "graceful-fs": "^4.1.6"
++          }
++        },
++        "universalify": {
++          "version": "0.1.2",
++          "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
++          "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
++        }
++      }
++    },
++    "for-each": {
++      "version": "0.3.3",
++      "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
++      "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
++      "requires": {
++        "is-callable": "^1.1.3"
++      }
++    },
++    "forever-agent": {
++      "version": "0.6.1",
++      "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
++      "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw=="
++    },
++    "form-data": {
++      "version": "2.3.3",
++      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
++      "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
++      "requires": {
++        "asynckit": "^0.4.0",
++        "combined-stream": "^1.0.6",
++        "mime-types": "^2.1.12"
++      }
++    },
++    "fresh": {
++      "version": "0.5.2",
++      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
++      "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q=="
++    },
++    "fs-constants": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
++      "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
++      "optional": true
++    },
++    "fs-extra": {
++      "version": "9.1.0",
++      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
++      "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
++      "requires": {
++        "at-least-node": "^1.0.0",
++        "graceful-fs": "^4.2.0",
++        "jsonfile": "^6.0.1",
++        "universalify": "^2.0.0"
++      }
++    },
++    "fs-minipass": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
++      "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
++      "requires": {
++        "minipass": "^3.0.0"
++      }
++    },
++    "fs.realpath": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
++      "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
++    },
++    "fsevents": {
++      "version": "2.3.2",
++      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
++      "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
++      "optional": true
++    },
++    "function-bind": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
++      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
++    },
++    "functional-red-black-tree": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
++      "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g=="
++    },
++    "functions-have-names": {
++      "version": "1.2.3",
++      "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
++      "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ=="
++    },
++    "galactus": {
++      "version": "0.2.1",
++      "resolved": "https://registry.npmjs.org/galactus/-/galactus-0.2.1.tgz",
++      "integrity": "sha512-mDc8EQJKtxjp9PMYS3PbpjjbX3oXhBTxoGaPahw620XZBIHJ4+nvw5KN/tRtmmSDR9dypstGNvqQ3C29QGoGHQ==",
++      "requires": {
++        "debug": "^3.1.0",
++        "flora-colossus": "^1.0.0",
++        "fs-extra": "^4.0.0"
++      },
++      "dependencies": {
++        "debug": {
++          "version": "3.2.7",
++          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
++          "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
++          "requires": {
++            "ms": "^2.1.1"
++          }
++        },
++        "fs-extra": {
++          "version": "4.0.3",
++          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
++          "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
++          "requires": {
++            "graceful-fs": "^4.1.2",
++            "jsonfile": "^4.0.0",
++            "universalify": "^0.1.0"
++          }
++        },
++        "jsonfile": {
++          "version": "4.0.0",
++          "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
++          "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
++          "requires": {
++            "graceful-fs": "^4.1.6"
++          }
++        },
++        "universalify": {
++          "version": "0.1.2",
++          "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
++          "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
++        }
++      }
++    },
++    "gauge": {
++      "version": "3.0.2",
++      "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
++      "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
++      "requires": {
++        "aproba": "^1.0.3 || ^2.0.0",
++        "color-support": "^1.1.2",
++        "console-control-strings": "^1.0.0",
++        "has-unicode": "^2.0.1",
++        "object-assign": "^4.1.1",
++        "signal-exit": "^3.0.0",
++        "string-width": "^4.2.3",
++        "strip-ansi": "^6.0.1",
++        "wide-align": "^1.1.2"
++      }
++    },
++    "gaze": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
++      "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
++      "requires": {
++        "globule": "^1.0.0"
++      }
++    },
++    "gensync": {
++      "version": "1.0.0-beta.2",
++      "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
++      "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="
++    },
++    "get-assigned-identifiers": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz",
++      "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ=="
++    },
++    "get-caller-file": {
++      "version": "2.0.5",
++      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
++      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
++    },
++    "get-intrinsic": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
++      "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
++      "requires": {
++        "function-bind": "^1.1.1",
++        "has": "^1.0.3",
++        "has-symbols": "^1.0.3"
++      }
++    },
++    "get-package-info": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/get-package-info/-/get-package-info-1.0.0.tgz",
++      "integrity": "sha512-SCbprXGAPdIhKAXiG+Mk6yeoFH61JlYunqdFQFHDtLjJlDjFf6x07dsS8acO+xWt52jpdVo49AlVDnUVK1sDNw==",
++      "requires": {
++        "bluebird": "^3.1.1",
++        "debug": "^2.2.0",
++        "lodash.get": "^4.0.0",
++        "read-pkg-up": "^2.0.0"
++      },
++      "dependencies": {
++        "debug": {
++          "version": "2.6.9",
++          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
++          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
++          "requires": {
++            "ms": "2.0.0"
++          }
++        },
++        "ms": {
++          "version": "2.0.0",
++          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
++          "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
++        }
++      }
++    },
++    "get-stdin": {
++      "version": "4.0.1",
++      "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
++      "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw=="
++    },
++    "get-stream": {
++      "version": "5.2.0",
++      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
++      "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
++      "requires": {
++        "pump": "^3.0.0"
++      }
++    },
++    "getpass": {
++      "version": "0.1.7",
++      "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
++      "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
++      "requires": {
++        "assert-plus": "^1.0.0"
++      }
++    },
++    "github-from-package": {
++      "version": "0.0.0",
++      "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
++      "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==",
++      "optional": true
++    },
++    "glob": {
++      "version": "7.2.3",
++      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
++      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
++      "requires": {
++        "fs.realpath": "^1.0.0",
++        "inflight": "^1.0.4",
++        "inherits": "2",
++        "minimatch": "^3.1.1",
++        "once": "^1.3.0",
++        "path-is-absolute": "^1.0.0"
++      },
++      "dependencies": {
++        "balanced-match": {
++          "version": "1.0.2",
++          "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
++          "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
++        },
++        "brace-expansion": {
++          "version": "1.1.11",
++          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
++          "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
++          "requires": {
++            "balanced-match": "^1.0.0",
++            "concat-map": "0.0.1"
++          }
++        },
++        "minimatch": {
++          "version": "3.1.2",
++          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
++          "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
++          "requires": {
++            "brace-expansion": "^1.1.7"
++          }
++        }
++      }
++    },
++    "glob-parent": {
++      "version": "5.1.2",
++      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
++      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
++      "requires": {
++        "is-glob": "^4.0.1"
++      }
++    },
++    "global-agent": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz",
++      "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==",
++      "optional": true,
++      "requires": {
++        "boolean": "^3.0.1",
++        "es6-error": "^4.1.1",
++        "matcher": "^3.0.0",
++        "roarr": "^2.15.3",
++        "semver": "^7.3.2",
++        "serialize-error": "^7.0.1"
++      }
++    },
++    "global-dirs": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz",
++      "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==",
++      "requires": {
++        "ini": "2.0.0"
++      },
++      "dependencies": {
++        "ini": {
++          "version": "2.0.0",
++          "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz",
++          "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA=="
++        }
++      }
++    },
++    "global-tunnel-ng": {
++      "version": "2.7.1",
++      "resolved": "https://registry.npmjs.org/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz",
++      "integrity": "sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==",
++      "optional": true,
++      "requires": {
++        "encodeurl": "^1.0.2",
++        "lodash": "^4.17.10",
++        "npm-conf": "^1.1.3",
++        "tunnel": "^0.0.6"
++      }
++    },
++    "globals": {
++      "version": "11.12.0",
++      "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
++      "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
++    },
++    "globalthis": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
++      "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
++      "optional": true,
++      "requires": {
++        "define-properties": "^1.1.3"
++      }
++    },
++    "globule": {
++      "version": "1.3.4",
++      "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.4.tgz",
++      "integrity": "sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==",
++      "requires": {
++        "glob": "~7.1.1",
++        "lodash": "^4.17.21",
++        "minimatch": "~3.0.2"
++      },
++      "dependencies": {
++        "balanced-match": {
++          "version": "1.0.2",
++          "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
++          "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
++        },
++        "brace-expansion": {
++          "version": "1.1.11",
++          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
++          "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
++          "requires": {
++            "balanced-match": "^1.0.0",
++            "concat-map": "0.0.1"
++          }
++        },
++        "glob": {
++          "version": "7.1.7",
++          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
++          "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
++          "requires": {
++            "fs.realpath": "^1.0.0",
++            "inflight": "^1.0.4",
++            "inherits": "2",
++            "minimatch": "^3.0.4",
++            "once": "^1.3.0",
++            "path-is-absolute": "^1.0.0"
++          }
++        },
++        "minimatch": {
++          "version": "3.0.8",
++          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz",
++          "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==",
++          "requires": {
++            "brace-expansion": "^1.1.7"
++          }
++        }
++      }
++    },
++    "gopd": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
++      "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
++      "requires": {
++        "get-intrinsic": "^1.1.3"
++      }
++    },
++    "got": {
++      "version": "9.6.0",
++      "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
++      "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==",
++      "requires": {
++        "@sindresorhus/is": "^0.14.0",
++        "@szmarczak/http-timer": "^1.1.2",
++        "cacheable-request": "^6.0.0",
++        "decompress-response": "^3.3.0",
++        "duplexer3": "^0.1.4",
++        "get-stream": "^4.1.0",
++        "lowercase-keys": "^1.0.1",
++        "mimic-response": "^1.0.1",
++        "p-cancelable": "^1.0.0",
++        "to-readable-stream": "^1.0.0",
++        "url-parse-lax": "^3.0.0"
++      },
++      "dependencies": {
++        "get-stream": {
++          "version": "4.1.0",
++          "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
++          "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
++          "requires": {
++            "pump": "^3.0.0"
++          }
++        }
++      }
++    },
++    "graceful-fs": {
++      "version": "4.2.10",
++      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
++      "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
++    },
++    "gyronorm": {
++      "version": "2.0.6",
++      "resolved": "https://registry.npmjs.org/gyronorm/-/gyronorm-2.0.6.tgz",
++      "integrity": "sha512-pE66zEK/3G9t1dpikTKIjNuY1JauXgtNiulgPKc28IKwMJ5NuJ03mOQ5ArqnkOyQxhlJSY71i3YdFcHhzx4TOg=="
++    },
++    "har-schema": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
++      "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q=="
++    },
++    "har-validator": {
++      "version": "5.1.5",
++      "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
++      "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
++      "requires": {
++        "ajv": "^6.12.3",
++        "har-schema": "^2.0.0"
++      }
++    },
++    "hard-rejection": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
++      "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA=="
++    },
++    "has": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
++      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
++      "requires": {
++        "function-bind": "^1.1.1"
++      }
++    },
++    "has-ansi": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
++      "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==",
++      "requires": {
++        "ansi-regex": "^2.0.0"
++      },
++      "dependencies": {
++        "ansi-regex": {
++          "version": "2.1.1",
++          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
++          "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA=="
++        }
++      }
++    },
++    "has-flag": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
++      "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="
++    },
++    "has-property-descriptors": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
++      "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
++      "requires": {
++        "get-intrinsic": "^1.1.1"
++      }
++    },
++    "has-symbols": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
++      "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
++    },
++    "has-tostringtag": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
++      "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
++      "requires": {
++        "has-symbols": "^1.0.2"
++      }
++    },
++    "has-unicode": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
++      "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ=="
++    },
++    "has-yarn": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz",
++      "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw=="
++    },
++    "hash-base": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
++      "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
++      "requires": {
++        "inherits": "^2.0.4",
++        "readable-stream": "^3.6.0",
++        "safe-buffer": "^5.2.0"
++      },
++      "dependencies": {
++        "readable-stream": {
++          "version": "3.6.0",
++          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
++          "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
++          "requires": {
++            "inherits": "^2.0.3",
++            "string_decoder": "^1.1.1",
++            "util-deprecate": "^1.0.1"
++          }
++        }
++      }
++    },
++    "hash.js": {
++      "version": "1.1.7",
++      "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
++      "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
++      "requires": {
++        "inherits": "^2.0.3",
++        "minimalistic-assert": "^1.0.1"
++      }
++    },
++    "hmac-drbg": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
++      "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==",
++      "requires": {
++        "hash.js": "^1.0.3",
++        "minimalistic-assert": "^1.0.0",
++        "minimalistic-crypto-utils": "^1.0.1"
++      }
++    },
++    "hosted-git-info": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
++      "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
++      "requires": {
++        "lru-cache": "^6.0.0"
++      }
++    },
++    "htmlescape": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz",
++      "integrity": "sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg=="
++    },
++    "htmlparser2": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz",
++      "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==",
++      "requires": {
++        "domelementtype": "^2.0.1",
++        "domhandler": "^3.0.0",
++        "domutils": "^2.0.0",
++        "entities": "^2.0.0"
++      }
++    },
++    "http-auth": {
++      "version": "4.1.9",
++      "resolved": "https://registry.npmjs.org/http-auth/-/http-auth-4.1.9.tgz",
++      "integrity": "sha512-kvPYxNGc9EKGTXvOMnTBQw2RZfuiSihK/mLw/a4pbtRueTE45S55Lw/3k5CktIf7Ak0veMKEIteDj4YkNmCzmQ==",
++      "requires": {
++        "apache-crypt": "^1.1.2",
++        "apache-md5": "^1.0.6",
++        "bcryptjs": "^2.4.3",
++        "uuid": "^8.3.2"
++      }
++    },
++    "http-cache-semantics": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
++      "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ=="
++    },
++    "http-errors": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
++      "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
++      "requires": {
++        "depd": "2.0.0",
++        "inherits": "2.0.4",
++        "setprototypeof": "1.2.0",
++        "statuses": "2.0.1",
++        "toidentifier": "1.0.1"
++      },
++      "dependencies": {
++        "depd": {
++          "version": "2.0.0",
++          "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
++          "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="
++        }
++      }
++    },
++    "http-proxy-agent": {
++      "version": "4.0.1",
++      "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
++      "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
++      "requires": {
++        "@tootallnate/once": "1",
++        "agent-base": "6",
++        "debug": "4"
++      }
++    },
++    "http-signature": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
++      "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==",
++      "requires": {
++        "assert-plus": "^1.0.0",
++        "jsprim": "^1.2.2",
++        "sshpk": "^1.7.0"
++      }
++    },
++    "https-browserify": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
++      "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg=="
++    },
++    "https-proxy-agent": {
++      "version": "5.0.1",
++      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
++      "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
++      "requires": {
++        "agent-base": "6",
++        "debug": "4"
++      }
++    },
++    "humanize-ms": {
++      "version": "1.2.1",
++      "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
++      "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
++      "requires": {
++        "ms": "^2.0.0"
++      }
++    },
++    "hyperscript-attribute-to-property": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/hyperscript-attribute-to-property/-/hyperscript-attribute-to-property-1.0.2.tgz",
++      "integrity": "sha512-oerMul16jZCmrbNsUw8QgrtDzF8lKgFri1bKQjReLw1IhiiNkI59CWuzZjJDGT79UQ1YiWqXhJMv/tRMVqgtkA=="
++    },
++    "hyperx": {
++      "version": "2.5.4",
++      "resolved": "https://registry.npmjs.org/hyperx/-/hyperx-2.5.4.tgz",
++      "integrity": "sha512-iOkSh7Yse7lsN/B9y7OsevLWjeXPqGuHQ5SbwaiJM5xAhWFqhoN6erpK1dQsS12OFU36lyai1pnx1mmzWLQqcA==",
++      "requires": {
++        "hyperscript-attribute-to-property": "^1.0.0"
++      }
++    },
++    "iconv-lite": {
++      "version": "0.6.3",
++      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
++      "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
++      "optional": true,
++      "requires": {
++        "safer-buffer": ">= 2.1.2 < 3.0.0"
++      }
++    },
++    "ieee754": {
++      "version": "1.2.1",
++      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
++      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
++    },
++    "ignore": {
++      "version": "5.2.0",
++      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
++      "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ=="
++    },
++    "ignore-by-default": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
++      "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA=="
++    },
++    "import-fresh": {
++      "version": "3.3.0",
++      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
++      "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
++      "requires": {
++        "parent-module": "^1.0.0",
++        "resolve-from": "^4.0.0"
++      }
++    },
++    "import-lazy": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz",
++      "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A=="
++    },
++    "imurmurhash": {
++      "version": "0.1.4",
++      "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
++      "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="
++    },
++    "indent-string": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
++      "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg=="
++    },
++    "infer-owner": {
++      "version": "1.0.4",
++      "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
++      "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A=="
++    },
++    "inflight": {
++      "version": "1.0.6",
++      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
++      "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
++      "requires": {
++        "once": "^1.3.0",
++        "wrappy": "1"
++      }
++    },
++    "inherits": {
++      "version": "2.0.4",
++      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
++      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
++    },
++    "ini": {
++      "version": "1.3.8",
++      "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
++      "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
++    },
++    "inline-source-map": {
++      "version": "0.6.2",
++      "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz",
++      "integrity": "sha512-0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==",
++      "requires": {
++        "source-map": "~0.5.3"
++      }
++    },
++    "insert-module-globals": {
++      "version": "7.2.1",
++      "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz",
++      "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==",
++      "requires": {
++        "acorn-node": "^1.5.2",
++        "combine-source-map": "^0.8.0",
++        "concat-stream": "^1.6.1",
++        "is-buffer": "^1.1.0",
++        "JSONStream": "^1.0.3",
++        "path-is-absolute": "^1.0.1",
++        "process": "~0.11.0",
++        "through2": "^2.0.0",
++        "undeclared-identifiers": "^1.1.2",
++        "xtend": "^4.0.0"
++      }
++    },
++    "ip": {
++      "version": "1.1.8",
++      "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz",
++      "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg=="
++    },
++    "is-arguments": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
++      "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
++      "requires": {
++        "call-bind": "^1.0.2",
++        "has-tostringtag": "^1.0.0"
++      }
++    },
++    "is-arrayish": {
++      "version": "0.2.1",
++      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
++      "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="
++    },
++    "is-binary-path": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
++      "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
++      "requires": {
++        "binary-extensions": "^2.0.0"
++      }
++    },
++    "is-boolean-attribute": {
++      "version": "0.0.1",
++      "resolved": "https://registry.npmjs.org/is-boolean-attribute/-/is-boolean-attribute-0.0.1.tgz",
++      "integrity": "sha512-0kXT52Scokg2Miscvsn5UVqg6y1691vcLJcagie1YHJB4zOEuAhMERLX992jtvaStGy2xQTqOtJhvmG/MK1T5w=="
++    },
++    "is-buffer": {
++      "version": "1.1.6",
++      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
++      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
++    },
++    "is-callable": {
++      "version": "1.2.7",
++      "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
++      "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA=="
++    },
++    "is-ci": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
++      "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
++      "requires": {
++        "ci-info": "^2.0.0"
++      }
++    },
++    "is-core-module": {
++      "version": "2.11.0",
++      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
++      "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
++      "requires": {
++        "has": "^1.0.3"
++      }
++    },
++    "is-date-object": {
++      "version": "1.0.5",
++      "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
++      "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
++      "requires": {
++        "has-tostringtag": "^1.0.0"
++      }
++    },
++    "is-docker": {
++      "version": "2.2.1",
++      "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
++      "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ=="
++    },
++    "is-extglob": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
++      "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="
++    },
++    "is-fullwidth-code-point": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
++      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
++    },
++    "is-generator-function": {
++      "version": "1.0.10",
++      "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
++      "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
++      "requires": {
++        "has-tostringtag": "^1.0.0"
++      }
++    },
++    "is-glob": {
++      "version": "4.0.3",
++      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
++      "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
++      "requires": {
++        "is-extglob": "^2.1.1"
++      }
++    },
++    "is-installed-globally": {
++      "version": "0.4.0",
++      "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz",
++      "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==",
++      "requires": {
++        "global-dirs": "^3.0.0",
++        "is-path-inside": "^3.0.2"
++      }
++    },
++    "is-lambda": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
++      "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ=="
++    },
++    "is-npm": {
++      "version": "5.0.0",
++      "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz",
++      "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA=="
++    },
++    "is-number": {
++      "version": "7.0.0",
++      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
++      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
++    },
++    "is-obj": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
++      "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w=="
++    },
++    "is-path-inside": {
++      "version": "3.0.3",
++      "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
++      "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ=="
++    },
++    "is-plain-obj": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
++      "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg=="
++    },
++    "is-regex": {
++      "version": "1.1.4",
++      "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
++      "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
++      "requires": {
++        "call-bind": "^1.0.2",
++        "has-tostringtag": "^1.0.0"
++      }
++    },
++    "is-regexp": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz",
++      "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA=="
++    },
++    "is-stream": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
++      "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="
++    },
++    "is-typed-array": {
++      "version": "1.1.10",
++      "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz",
++      "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==",
++      "requires": {
++        "available-typed-arrays": "^1.0.5",
++        "call-bind": "^1.0.2",
++        "for-each": "^0.3.3",
++        "gopd": "^1.0.1",
++        "has-tostringtag": "^1.0.0"
++      }
++    },
++    "is-typedarray": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
++      "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA=="
++    },
++    "is-wsl": {
++      "version": "2.2.0",
++      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
++      "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
++      "requires": {
++        "is-docker": "^2.0.0"
++      }
++    },
++    "is-yarn-global": {
++      "version": "0.3.0",
++      "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz",
++      "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw=="
++    },
++    "isarray": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
++      "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
++    },
++    "isbinaryfile": {
++      "version": "3.0.3",
++      "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz",
++      "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==",
++      "requires": {
++        "buffer-alloc": "^1.2.0"
++      }
++    },
++    "isexe": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
++      "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
++    },
++    "isstream": {
++      "version": "0.1.2",
++      "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
++      "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g=="
++    },
++    "js-base64": {
++      "version": "2.6.4",
++      "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
++      "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ=="
++    },
++    "js-tokens": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
++      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
++    },
++    "js-yaml": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
++      "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
++      "requires": {
++        "argparse": "^2.0.1"
++      }
++    },
++    "jsbn": {
++      "version": "0.1.1",
++      "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
++      "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg=="
++    },
++    "jsesc": {
++      "version": "2.5.2",
++      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
++      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="
++    },
++    "json-buffer": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
++      "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ=="
++    },
++    "json-parse-even-better-errors": {
++      "version": "2.3.1",
++      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
++      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="
++    },
++    "json-schema": {
++      "version": "0.4.0",
++      "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
++      "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="
++    },
++    "json-schema-traverse": {
++      "version": "0.4.1",
++      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
++      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
++    },
++    "json-stable-stringify-without-jsonify": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
++      "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="
++    },
++    "json-stringify-safe": {
++      "version": "5.0.1",
++      "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
++      "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA=="
++    },
++    "json5": {
++      "version": "2.2.1",
++      "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
++      "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA=="
++    },
++    "jsondiffpatch": {
++      "version": "0.4.1",
++      "resolved": "https://registry.npmjs.org/jsondiffpatch/-/jsondiffpatch-0.4.1.tgz",
++      "integrity": "sha512-t0etAxTUk1w5MYdNOkZBZ8rvYYN5iL+2dHCCx/DpkFm/bW28M6y5nUS83D4XdZiHy35Fpaw6LBb+F88fHZnVCw==",
++      "requires": {
++        "chalk": "^2.3.0",
++        "diff-match-patch": "^1.0.0"
++      }
++    },
++    "jsonfile": {
++      "version": "6.1.0",
++      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
++      "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
++      "requires": {
++        "graceful-fs": "^4.1.6",
++        "universalify": "^2.0.0"
++      }
++    },
++    "jsonparse": {
++      "version": "1.3.1",
++      "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
++      "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg=="
++    },
++    "JSONStream": {
++      "version": "1.3.5",
++      "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
++      "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
++      "requires": {
++        "jsonparse": "^1.2.0",
++        "through": ">=2.2.7 <3"
++      }
++    },
++    "jsprim": {
++      "version": "1.4.2",
++      "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
++      "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
++      "requires": {
++        "assert-plus": "1.0.0",
++        "extsprintf": "1.3.0",
++        "json-schema": "0.4.0",
++        "verror": "1.10.0"
++      }
++    },
++    "junk": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz",
++      "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ=="
++    },
++    "keyboardevent-from-electron-accelerator": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/keyboardevent-from-electron-accelerator/-/keyboardevent-from-electron-accelerator-2.0.0.tgz",
++      "integrity": "sha512-iQcmNA0M4ETMNi0kG/q0h/43wZk7rMeKYrXP7sqKIJbHkTU8Koowgzv+ieR/vWJbOwxx5nDC3UnudZ0aLSu4VA=="
++    },
++    "keyboardevents-areequal": {
++      "version": "0.2.2",
++      "resolved": "https://registry.npmjs.org/keyboardevents-areequal/-/keyboardevents-areequal-0.2.2.tgz",
++      "integrity": "sha512-Nv+Kr33T0mEjxR500q+I6IWisOQ0lK1GGOncV0kWE6n4KFmpcu7RUX5/2B0EUtX51Cb0HjZ9VJsSY3u4cBa0kw=="
++    },
++    "keyboardjs": {
++      "version": "2.6.4",
++      "resolved": "https://registry.npmjs.org/keyboardjs/-/keyboardjs-2.6.4.tgz",
++      "integrity": "sha512-xDiNwiwH3KUqap++RFJiLAXzbvRB5Yw08xliuceOgLhM1o7g1puKKR9vWy6wp9H/Bi4VP0+SQMpiWXMWWmR6rA=="
++    },
++    "keyv": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
++      "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
++      "requires": {
++        "json-buffer": "3.0.0"
++      }
++    },
++    "kind-of": {
++      "version": "6.0.3",
++      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
++      "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="
++    },
++    "labeled-stream-splicer": {
++      "version": "2.0.2",
++      "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz",
++      "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==",
++      "requires": {
++        "inherits": "^2.0.1",
++        "stream-splicer": "^2.0.0"
++      }
++    },
++    "latest-version": {
++      "version": "5.1.0",
++      "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz",
++      "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==",
++      "requires": {
++        "package-json": "^6.3.0"
++      }
++    },
++    "levn": {
++      "version": "0.4.1",
++      "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
++      "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
++      "requires": {
++        "prelude-ls": "^1.2.1",
++        "type-check": "~0.4.0"
++      }
++    },
++    "licensify": {
++      "version": "3.1.3",
++      "resolved": "https://registry.npmjs.org/licensify/-/licensify-3.1.3.tgz",
++      "integrity": "sha512-3sEEBR0Cxq8yeSrV1KGZwpjm4KJKp8Cx/WHZxBnG/YX319ZTvxGtL+NCF+A9pcXwh8KwKB4BmVrc6eRrfk/Raw==",
++      "requires": {
++        "convert-source-map": "^1.1.3",
++        "offset-sourcemap-lines": "^1.0.0",
++        "oss-license-name-to-url": "^1.2.1",
++        "through2": "^2.0.0",
++        "type-name": "^2.0.0"
++      }
++    },
++    "lines-and-columns": {
++      "version": "1.2.4",
++      "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
++      "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
++    },
++    "load-json-file": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
++      "integrity": "sha512-3p6ZOGNbiX4CdvEd1VcE6yi78UrGNpjHO33noGwHCnT/o2fyllJDepsm8+mFFv/DvtwFHht5HIHSyOy5a+ChVQ==",
++      "requires": {
++        "graceful-fs": "^4.1.2",
++        "parse-json": "^2.2.0",
++        "pify": "^2.0.0",
++        "strip-bom": "^3.0.0"
++      },
++      "dependencies": {
++        "pify": {
++          "version": "2.3.0",
++          "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
++          "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog=="
++        }
++      }
++    },
++    "locate-path": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
++      "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==",
++      "requires": {
++        "p-locate": "^2.0.0",
++        "path-exists": "^3.0.0"
++      }
++    },
++    "lodash": {
++      "version": "4.17.21",
++      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
++      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
++    },
++    "lodash.debounce": {
++      "version": "4.0.8",
++      "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
++      "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow=="
++    },
++    "lodash.get": {
++      "version": "4.4.2",
++      "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
++      "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ=="
++    },
++    "lodash.memoize": {
++      "version": "3.0.4",
++      "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz",
++      "integrity": "sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A=="
++    },
++    "lodash.merge": {
++      "version": "4.6.2",
++      "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
++      "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
++    },
++    "long": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
++      "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
++    },
++    "loop-protect": {
++      "version": "git+ssh://git@github.com/jean-emmanuel/loop-protect.git#335856f37ee4a805704bfcd1d7429ab94620bf6d",
++      "from": "loop-protect@github:jean-emmanuel/loop-protect#v1.0.1"
++    },
++    "lower-case": {
++      "version": "1.1.4",
++      "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
++      "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA=="
++    },
++    "lowercase-keys": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
++      "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA=="
++    },
++    "lru-cache": {
++      "version": "6.0.0",
++      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
++      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
++      "requires": {
++        "yallist": "^4.0.0"
++      }
++    },
++    "magic-string": {
++      "version": "0.23.2",
++      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.23.2.tgz",
++      "integrity": "sha512-oIUZaAxbcxYIp4AyLafV6OVKoB3YouZs0UTCJ8mOKBHNyJgGDaMJ4TgA+VylJh6fx7EQCC52XkbURxxG9IoJXA==",
++      "requires": {
++        "sourcemap-codec": "^1.4.1"
++      }
++    },
++    "make-dir": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
++      "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
++      "requires": {
++        "semver": "^6.0.0"
++      },
++      "dependencies": {
++        "semver": {
++          "version": "6.3.0",
++          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
++          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
++        }
++      }
++    },
++    "make-fetch-happen": {
++      "version": "9.1.0",
++      "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
++      "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==",
++      "requires": {
++        "agentkeepalive": "^4.1.3",
++        "cacache": "^15.2.0",
++        "http-cache-semantics": "^4.1.0",
++        "http-proxy-agent": "^4.0.1",
++        "https-proxy-agent": "^5.0.0",
++        "is-lambda": "^1.0.1",
++        "lru-cache": "^6.0.0",
++        "minipass": "^3.1.3",
++        "minipass-collect": "^1.0.2",
++        "minipass-fetch": "^1.3.2",
++        "minipass-flush": "^1.0.5",
++        "minipass-pipeline": "^1.2.4",
++        "negotiator": "^0.6.2",
++        "promise-retry": "^2.0.1",
++        "socks-proxy-agent": "^6.0.0",
++        "ssri": "^8.0.0"
++      }
++    },
++    "map-obj": {
++      "version": "4.3.0",
++      "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz",
++      "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ=="
++    },
++    "matcher": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz",
++      "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==",
++      "optional": true,
++      "requires": {
++        "escape-string-regexp": "^4.0.0"
++      },
++      "dependencies": {
++        "escape-string-regexp": {
++          "version": "4.0.0",
++          "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
++          "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
++          "optional": true
++        }
++      }
++    },
++    "md5.js": {
++      "version": "1.3.5",
++      "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
++      "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
++      "requires": {
++        "hash-base": "^3.0.0",
++        "inherits": "^2.0.1",
++        "safe-buffer": "^5.1.2"
++      }
++    },
++    "meow": {
++      "version": "9.0.0",
++      "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz",
++      "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==",
++      "requires": {
++        "@types/minimist": "^1.2.0",
++        "camelcase-keys": "^6.2.2",
++        "decamelize": "^1.2.0",
++        "decamelize-keys": "^1.1.0",
++        "hard-rejection": "^2.1.0",
++        "minimist-options": "4.1.0",
++        "normalize-package-data": "^3.0.0",
++        "read-pkg-up": "^7.0.1",
++        "redent": "^3.0.0",
++        "trim-newlines": "^3.0.0",
++        "type-fest": "^0.18.0",
++        "yargs-parser": "^20.2.3"
++      },
++      "dependencies": {
++        "find-up": {
++          "version": "4.1.0",
++          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
++          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
++          "requires": {
++            "locate-path": "^5.0.0",
++            "path-exists": "^4.0.0"
++          }
++        },
++        "hosted-git-info": {
++          "version": "2.8.9",
++          "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
++          "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw=="
++        },
++        "locate-path": {
++          "version": "5.0.0",
++          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
++          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
++          "requires": {
++            "p-locate": "^4.1.0"
++          }
++        },
++        "p-limit": {
++          "version": "2.3.0",
++          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
++          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
++          "requires": {
++            "p-try": "^2.0.0"
++          }
++        },
++        "p-locate": {
++          "version": "4.1.0",
++          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
++          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
++          "requires": {
++            "p-limit": "^2.2.0"
++          }
++        },
++        "p-try": {
++          "version": "2.2.0",
++          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
++          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
++        },
++        "parse-json": {
++          "version": "5.2.0",
++          "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
++          "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
++          "requires": {
++            "@babel/code-frame": "^7.0.0",
++            "error-ex": "^1.3.1",
++            "json-parse-even-better-errors": "^2.3.0",
++            "lines-and-columns": "^1.1.6"
++          }
++        },
++        "path-exists": {
++          "version": "4.0.0",
++          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
++          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
++        },
++        "read-pkg": {
++          "version": "5.2.0",
++          "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
++          "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
++          "requires": {
++            "@types/normalize-package-data": "^2.4.0",
++            "normalize-package-data": "^2.5.0",
++            "parse-json": "^5.0.0",
++            "type-fest": "^0.6.0"
++          },
++          "dependencies": {
++            "normalize-package-data": {
++              "version": "2.5.0",
++              "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
++              "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
++              "requires": {
++                "hosted-git-info": "^2.1.4",
++                "resolve": "^1.10.0",
++                "semver": "2 || 3 || 4 || 5",
++                "validate-npm-package-license": "^3.0.1"
++              }
++            },
++            "type-fest": {
++              "version": "0.6.0",
++              "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
++              "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg=="
++            }
++          }
++        },
++        "read-pkg-up": {
++          "version": "7.0.1",
++          "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
++          "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
++          "requires": {
++            "find-up": "^4.1.0",
++            "read-pkg": "^5.2.0",
++            "type-fest": "^0.8.1"
++          },
++          "dependencies": {
++            "type-fest": {
++              "version": "0.8.1",
++              "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
++              "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA=="
++            }
++          }
++        },
++        "semver": {
++          "version": "5.7.1",
++          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
++          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
++        }
++      }
++    },
++    "merge-source-map": {
++      "version": "1.0.4",
++      "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz",
++      "integrity": "sha512-PGSmS0kfnTnMJCzJ16BLLCEe6oeYCamKFFdQKshi4BmM6FUwipjVOcBFGxqtQtirtAG4iZvHlqST9CpZKqlRjA==",
++      "requires": {
++        "source-map": "^0.5.6"
++      }
++    },
++    "miller-rabin": {
++      "version": "4.0.1",
++      "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
++      "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
++      "requires": {
++        "bn.js": "^4.0.0",
++        "brorand": "^1.0.1"
++      },
++      "dependencies": {
++        "bn.js": {
++          "version": "4.12.0",
++          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
++          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
++        }
++      }
++    },
++    "mime": {
++      "version": "1.6.0",
++      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
++      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
++    },
++    "mime-db": {
++      "version": "1.52.0",
++      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
++      "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
++    },
++    "mime-types": {
++      "version": "2.1.35",
++      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
++      "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
++      "requires": {
++        "mime-db": "1.52.0"
++      }
++    },
++    "mimic-response": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
++      "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ=="
++    },
++    "min-indent": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
++      "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg=="
++    },
++    "minimalistic-assert": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
++      "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="
++    },
++    "minimalistic-crypto-utils": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
++      "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg=="
++    },
++    "minimatch": {
++      "version": "5.1.0",
++      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
++      "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
++      "requires": {
++        "brace-expansion": "^2.0.1"
++      }
++    },
++    "minimist": {
++      "version": "1.2.7",
++      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
++      "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g=="
++    },
++    "minimist-options": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz",
++      "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
++      "requires": {
++        "arrify": "^1.0.1",
++        "is-plain-obj": "^1.1.0",
++        "kind-of": "^6.0.3"
++      }
++    },
++    "minipass": {
++      "version": "3.3.4",
++      "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz",
++      "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==",
++      "requires": {
++        "yallist": "^4.0.0"
++      }
++    },
++    "minipass-collect": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
++      "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
++      "requires": {
++        "minipass": "^3.0.0"
++      }
++    },
++    "minipass-fetch": {
++      "version": "1.4.1",
++      "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz",
++      "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==",
++      "requires": {
++        "encoding": "^0.1.12",
++        "minipass": "^3.1.0",
++        "minipass-sized": "^1.0.3",
++        "minizlib": "^2.0.0"
++      }
++    },
++    "minipass-flush": {
++      "version": "1.0.5",
++      "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
++      "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
++      "requires": {
++        "minipass": "^3.0.0"
++      }
++    },
++    "minipass-pipeline": {
++      "version": "1.2.4",
++      "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
++      "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
++      "requires": {
++        "minipass": "^3.0.0"
++      }
++    },
++    "minipass-sized": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
++      "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==",
++      "requires": {
++        "minipass": "^3.0.0"
++      }
++    },
++    "minizlib": {
++      "version": "2.1.2",
++      "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
++      "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
++      "requires": {
++        "minipass": "^3.0.0",
++        "yallist": "^4.0.0"
++      }
++    },
++    "mkdirp": {
++      "version": "0.5.6",
++      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
++      "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
++      "requires": {
++        "minimist": "^1.2.6"
++      }
++    },
++    "mkdirp-classic": {
++      "version": "0.5.3",
++      "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
++      "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="
++    },
++    "module-deps": {
++      "version": "6.2.3",
++      "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz",
++      "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==",
++      "requires": {
++        "browser-resolve": "^2.0.0",
++        "cached-path-relative": "^1.0.2",
++        "concat-stream": "~1.6.0",
++        "defined": "^1.0.0",
++        "detective": "^5.2.0",
++        "duplexer2": "^0.1.2",
++        "inherits": "^2.0.1",
++        "JSONStream": "^1.0.3",
++        "parents": "^1.0.0",
++        "readable-stream": "^2.0.2",
++        "resolve": "^1.4.0",
++        "stream-combiner2": "^1.1.1",
++        "subarg": "^1.0.0",
++        "through2": "^2.0.0",
++        "xtend": "^4.0.0"
++      }
++    },
++    "mold-source-map": {
++      "version": "0.4.0",
++      "resolved": "https://registry.npmjs.org/mold-source-map/-/mold-source-map-0.4.0.tgz",
++      "integrity": "sha512-Y0uA/sDKVuPgLd7BmaJOai+fqzjrOlR6vZgx5cJIvturI/xOPQPgbf3X7ZbzJd6MvqQ6ucIfK8dSteFyc2Mw2w==",
++      "requires": {
++        "convert-source-map": "^1.1.0",
++        "through": "~2.2.7"
++      },
++      "dependencies": {
++        "through": {
++          "version": "2.2.7",
++          "resolved": "https://registry.npmjs.org/through/-/through-2.2.7.tgz",
++          "integrity": "sha512-JIR0m0ybkmTcR8URann+HbwKmodP+OE8UCbsifQDYMLD5J3em1Cdn3MYPpbEd5elGDwmP98T+WbqP/tvzA5Mjg=="
++        }
++      }
++    },
++    "ms": {
++      "version": "2.1.2",
++      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
++      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
++    },
++    "multicast-dns": {
++      "version": "git+ssh://git@github.com/jean-emmanuel/multicast-dns.git#1bb9f6ba892eba88f2cb12ca96a1c1b3088413c0",
++      "from": "multicast-dns@github:jean-emmanuel/multicast-dns",
++      "requires": {
++        "dns-packet": "^1.3.1",
++        "thunky": "^1.0.2"
++      }
++    },
++    "multicast-dns-service-types": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz",
++      "integrity": "sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ=="
++    },
++    "mutexify": {
++      "version": "1.4.0",
++      "resolved": "https://registry.npmjs.org/mutexify/-/mutexify-1.4.0.tgz",
++      "integrity": "sha512-pbYSsOrSB/AKN5h/WzzLRMFgZhClWccf2XIB4RSMC8JbquiB0e0/SH5AIfdQMdyHmYtv4seU7yV/TvAwPLJ1Yg==",
++      "requires": {
++        "queue-tick": "^1.0.0"
++      }
++    },
++    "nan": {
++      "version": "2.17.0",
++      "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz",
++      "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ=="
++    },
++    "nanoassert": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-1.1.0.tgz",
++      "integrity": "sha512-C40jQ3NzfkP53NsO8kEOFd79p4b9kDXQMwgiY1z8ZwrDZgUyom0AHwGegF4Dm99L+YoYhuaB0ceerUcXmqr1rQ=="
++    },
++    "nanobench": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/nanobench/-/nanobench-2.1.1.tgz",
++      "integrity": "sha512-z+Vv7zElcjN+OpzAxAquUayFLGK3JI/ubCl0Oh64YQqsTGG09CGqieJVQw4ui8huDnnAgrvTv93qi5UaOoNj8A==",
++      "requires": {
++        "browser-process-hrtime": "^0.1.2",
++        "chalk": "^1.1.3",
++        "mutexify": "^1.1.0",
++        "pretty-hrtime": "^1.0.2"
++      },
++      "dependencies": {
++        "ansi-regex": {
++          "version": "2.1.1",
++          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
++          "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA=="
++        },
++        "ansi-styles": {
++          "version": "2.2.1",
++          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
++          "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA=="
++        },
++        "chalk": {
++          "version": "1.1.3",
++          "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
++          "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
++          "requires": {
++            "ansi-styles": "^2.2.1",
++            "escape-string-regexp": "^1.0.2",
++            "has-ansi": "^2.0.0",
++            "strip-ansi": "^3.0.0",
++            "supports-color": "^2.0.0"
++          }
++        },
++        "strip-ansi": {
++          "version": "3.0.1",
++          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
++          "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
++          "requires": {
++            "ansi-regex": "^2.0.0"
++          }
++        },
++        "supports-color": {
++          "version": "2.0.0",
++          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
++          "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g=="
++        }
++      }
++    },
++    "nanohtml": {
++      "version": "1.10.0",
++      "resolved": "https://registry.npmjs.org/nanohtml/-/nanohtml-1.10.0.tgz",
++      "integrity": "sha512-r/3AQl+jxAxUIJRiKExUjBtFcE1cm4yTOsTIdVqqlxPNtBxJh522ANrcQYzdNHhPzbPgb7j6qujq6eGehBX0kg==",
++      "requires": {
++        "acorn-node": "^1.8.2",
++        "camel-case": "^3.0.0",
++        "convert-source-map": "^1.5.1",
++        "estree-is-member-expression": "^1.0.0",
++        "hyperx": "^2.5.0",
++        "is-boolean-attribute": "0.0.1",
++        "nanoassert": "^1.1.0",
++        "nanobench": "^2.1.0",
++        "normalize-html-whitespace": "^0.2.0",
++        "through2": "^2.0.3",
++        "transform-ast": "^2.4.0"
++      }
++    },
++    "nanoid": {
++      "version": "3.3.4",
++      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
++      "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw=="
++    },
++    "nanomorph": {
++      "version": "5.4.3",
++      "resolved": "https://registry.npmjs.org/nanomorph/-/nanomorph-5.4.3.tgz",
++      "integrity": "sha512-uPP5y0x21KISffZCKHh1A0QW0RHZFQS0BR7LetlHBlay6UWAbjwhjiJTxOO6JeMHko5Cigl617zFoGrYFJ8ZLg==",
++      "requires": {
++        "nanoassert": "^1.1.0"
++      }
++    },
++    "napi-build-utils": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
++      "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==",
++      "optional": true
++    },
++    "natural-compare": {
++      "version": "1.4.0",
++      "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
++      "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="
++    },
++    "negotiator": {
++      "version": "0.6.3",
++      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
++      "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="
++    },
++    "no-case": {
++      "version": "2.3.2",
++      "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
++      "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
++      "requires": {
++        "lower-case": "^1.1.1"
++      }
++    },
++    "node-abi": {
++      "version": "3.28.0",
++      "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.28.0.tgz",
++      "integrity": "sha512-fRlDb4I0eLcQeUvGq7IY3xHrSb0c9ummdvDSYWfT9+LKP+3jCKw/tKoqaM7r1BAoiAC6GtwyjaGnOz6B3OtF+A==",
++      "optional": true,
++      "requires": {
++        "semver": "^7.3.5"
++      }
++    },
++    "node-forge": {
++      "version": "1.3.1",
++      "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
++      "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA=="
++    },
++    "node-gyp": {
++      "version": "8.4.1",
++      "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz",
++      "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==",
++      "requires": {
++        "env-paths": "^2.2.0",
++        "glob": "^7.1.4",
++        "graceful-fs": "^4.2.6",
++        "make-fetch-happen": "^9.1.0",
++        "nopt": "^5.0.0",
++        "npmlog": "^6.0.0",
++        "rimraf": "^3.0.2",
++        "semver": "^7.3.5",
++        "tar": "^6.1.2",
++        "which": "^2.0.2"
++      },
++      "dependencies": {
++        "are-we-there-yet": {
++          "version": "3.0.1",
++          "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz",
++          "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==",
++          "requires": {
++            "delegates": "^1.0.0",
++            "readable-stream": "^3.6.0"
++          }
++        },
++        "gauge": {
++          "version": "4.0.4",
++          "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz",
++          "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==",
++          "requires": {
++            "aproba": "^1.0.3 || ^2.0.0",
++            "color-support": "^1.1.3",
++            "console-control-strings": "^1.1.0",
++            "has-unicode": "^2.0.1",
++            "signal-exit": "^3.0.7",
++            "string-width": "^4.2.3",
++            "strip-ansi": "^6.0.1",
++            "wide-align": "^1.1.5"
++          }
++        },
++        "npmlog": {
++          "version": "6.0.2",
++          "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
++          "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
++          "requires": {
++            "are-we-there-yet": "^3.0.0",
++            "console-control-strings": "^1.1.0",
++            "gauge": "^4.0.3",
++            "set-blocking": "^2.0.0"
++          }
++        },
++        "readable-stream": {
++          "version": "3.6.0",
++          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
++          "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
++          "requires": {
++            "inherits": "^2.0.3",
++            "string_decoder": "^1.1.1",
++            "util-deprecate": "^1.0.1"
++          }
++        },
++        "rimraf": {
++          "version": "3.0.2",
++          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
++          "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
++          "requires": {
++            "glob": "^7.1.3"
++          }
++        }
++      }
++    },
++    "node-mouse": {
++      "version": "0.0.2",
++      "resolved": "https://registry.npmjs.org/node-mouse/-/node-mouse-0.0.2.tgz",
++      "integrity": "sha512-qqm+c/uKB1ceGMrKW+mxAxPKFTu0HD1DWoCElJHA0VQDloudzZD4bI++Z18mSDA3n5lix+RTXiOiu3XAOSYVHA=="
++    },
++    "node-releases": {
++      "version": "2.0.6",
++      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
++      "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg=="
++    },
++    "node-sass": {
++      "version": "7.0.1",
++      "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-7.0.1.tgz",
++      "integrity": "sha512-uMy+Xt29NlqKCFdFRZyXKOTqGt+QaKHexv9STj2WeLottnlqZEEWx6Bj0MXNthmFRRdM/YwyNo/8Tr46TOM0jQ==",
++      "requires": {
++        "async-foreach": "^0.1.3",
++        "chalk": "^4.1.2",
++        "cross-spawn": "^7.0.3",
++        "gaze": "^1.0.0",
++        "get-stdin": "^4.0.1",
++        "glob": "^7.0.3",
++        "lodash": "^4.17.15",
++        "meow": "^9.0.0",
++        "nan": "^2.13.2",
++        "node-gyp": "^8.4.1",
++        "npmlog": "^5.0.0",
++        "request": "^2.88.0",
++        "sass-graph": "4.0.0",
++        "stdout-stream": "^1.4.0",
++        "true-case-path": "^1.0.2"
++      },
++      "dependencies": {
++        "ansi-styles": {
++          "version": "4.3.0",
++          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
++          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
++          "requires": {
++            "color-convert": "^2.0.1"
++          }
++        },
++        "chalk": {
++          "version": "4.1.2",
++          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
++          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
++          "requires": {
++            "ansi-styles": "^4.1.0",
++            "supports-color": "^7.1.0"
++          }
++        },
++        "color-convert": {
++          "version": "2.0.1",
++          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
++          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
++          "requires": {
++            "color-name": "~1.1.4"
++          }
++        },
++        "color-name": {
++          "version": "1.1.4",
++          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
++          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
++        },
++        "has-flag": {
++          "version": "4.0.0",
++          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
++          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
++        },
++        "supports-color": {
++          "version": "7.2.0",
++          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
++          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
++          "requires": {
++            "has-flag": "^4.0.0"
++          }
++        }
++      }
++    },
++    "nodemon": {
++      "version": "2.0.16",
++      "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.16.tgz",
++      "integrity": "sha512-zsrcaOfTWRuUzBn3P44RDliLlp263Z/76FPoHFr3cFFkOz0lTPAcIw8dCzfdVIx/t3AtDYCZRCDkoCojJqaG3w==",
++      "requires": {
++        "chokidar": "^3.5.2",
++        "debug": "^3.2.7",
++        "ignore-by-default": "^1.0.1",
++        "minimatch": "^3.0.4",
++        "pstree.remy": "^1.1.8",
++        "semver": "^5.7.1",
++        "supports-color": "^5.5.0",
++        "touch": "^3.1.0",
++        "undefsafe": "^2.0.5",
++        "update-notifier": "^5.1.0"
++      },
++      "dependencies": {
++        "balanced-match": {
++          "version": "1.0.2",
++          "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
++          "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
++        },
++        "brace-expansion": {
++          "version": "1.1.11",
++          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
++          "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
++          "requires": {
++            "balanced-match": "^1.0.0",
++            "concat-map": "0.0.1"
++          }
++        },
++        "debug": {
++          "version": "3.2.7",
++          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
++          "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
++          "requires": {
++            "ms": "^2.1.1"
++          }
++        },
++        "minimatch": {
++          "version": "3.1.2",
++          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
++          "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
++          "requires": {
++            "brace-expansion": "^1.1.7"
++          }
++        },
++        "semver": {
++          "version": "5.7.1",
++          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
++          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
++        }
++      }
++    },
++    "nopt": {
++      "version": "5.0.0",
++      "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
++      "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
++      "requires": {
++        "abbrev": "1"
++      }
++    },
++    "normalize-html-whitespace": {
++      "version": "0.2.0",
++      "resolved": "https://registry.npmjs.org/normalize-html-whitespace/-/normalize-html-whitespace-0.2.0.tgz",
++      "integrity": "sha512-5CZAEQ4bQi8Msqw0GAT6rrkrjNN4ZKqAG3+jJMwms4O6XoMvh6ekwOueG4mRS1LbPUR1r9EdnhxxfpzMTOdzKw=="
++    },
++    "normalize-package-data": {
++      "version": "3.0.3",
++      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
++      "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
++      "requires": {
++        "hosted-git-info": "^4.0.1",
++        "is-core-module": "^2.5.0",
++        "semver": "^7.3.4",
++        "validate-npm-package-license": "^3.0.1"
++      }
++    },
++    "normalize-path": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
++      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
++    },
++    "normalize-url": {
++      "version": "4.5.1",
++      "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz",
++      "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA=="
++    },
++    "nosleep.js": {
++      "version": "0.12.0",
++      "resolved": "https://registry.npmjs.org/nosleep.js/-/nosleep.js-0.12.0.tgz",
++      "integrity": "sha512-9d1HbpKLh3sdWlhXMhU6MMH+wQzKkrgfRkYV0EBdvt99YJfj0ilCJrWRDYG2130Tm4GXbEoTCx5b34JSaP+HhA=="
++    },
++    "npm-conf": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz",
++      "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==",
++      "optional": true,
++      "requires": {
++        "config-chain": "^1.1.11",
++        "pify": "^3.0.0"
++      }
++    },
++    "npmlog": {
++      "version": "5.0.1",
++      "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
++      "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
++      "requires": {
++        "are-we-there-yet": "^2.0.0",
++        "console-control-strings": "^1.1.0",
++        "gauge": "^3.0.0",
++        "set-blocking": "^2.0.0"
++      }
++    },
++    "oauth-sign": {
++      "version": "0.9.0",
++      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
++      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
++    },
++    "object-assign": {
++      "version": "4.1.1",
++      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
++      "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="
++    },
++    "object-is": {
++      "version": "1.1.5",
++      "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz",
++      "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==",
++      "requires": {
++        "call-bind": "^1.0.2",
++        "define-properties": "^1.1.3"
++      }
++    },
++    "object-keys": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
++      "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
++    },
++    "offset-sourcemap-lines": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/offset-sourcemap-lines/-/offset-sourcemap-lines-1.0.1.tgz",
++      "integrity": "sha512-8giJa0GProV9hPLOp9qAobkvi6OiZnzeM6fdubVjhqcrISX8FYMk1jMVzG6R9d7HQWLysG22jyXEIF6sWu4fJw==",
++      "requires": {
++        "source-map": "^0.5.0"
++      }
++    },
++    "on-finished": {
++      "version": "2.4.1",
++      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
++      "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
++      "requires": {
++        "ee-first": "1.1.1"
++      }
++    },
++    "once": {
++      "version": "1.4.0",
++      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
++      "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
++      "requires": {
++        "wrappy": "1"
++      }
++    },
++    "open": {
++      "version": "8.4.0",
++      "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz",
++      "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==",
++      "requires": {
++        "define-lazy-prop": "^2.0.0",
++        "is-docker": "^2.1.1",
++        "is-wsl": "^2.2.0"
++      }
++    },
++    "optionator": {
++      "version": "0.9.1",
++      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
++      "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
++      "requires": {
++        "deep-is": "^0.1.3",
++        "fast-levenshtein": "^2.0.6",
++        "levn": "^0.4.1",
++        "prelude-ls": "^1.2.1",
++        "type-check": "^0.4.0",
++        "word-wrap": "^1.2.3"
++      }
++    },
++    "os-browserify": {
++      "version": "0.3.0",
++      "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
++      "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A=="
++    },
++    "osc": {
++      "version": "git+ssh://git@github.com/jean-emmanuel/osc.js.git#9197739162f26086e6a72670103c3fa036e9dcd5",
++      "from": "osc@github:jean-emmanuel/osc.js",
++      "requires": {
++        "long": "4.0.0",
++        "serialport": "9.2.0",
++        "slip": "1.0.2",
++        "wolfy87-eventemitter": "5.2.9",
++        "ws": "7.5.3"
++      },
++      "dependencies": {
++        "ws": {
++          "version": "7.5.3",
++          "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz",
++          "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg=="
++        }
++      }
++    },
++    "osi-licenses": {
++      "version": "0.1.1",
++      "resolved": "https://registry.npmjs.org/osi-licenses/-/osi-licenses-0.1.1.tgz",
++      "integrity": "sha512-ZGAGO6dIxTS/mXxEJCpIdYetAoxIOOr7uYpMOoDWo4+b/6rf+2GagOjTbegL+eoMI8aYAiyNgKWUT7vWJRPl9A=="
++    },
++    "oss-license-name-to-url": {
++      "version": "1.2.1",
++      "resolved": "https://registry.npmjs.org/oss-license-name-to-url/-/oss-license-name-to-url-1.2.1.tgz",
++      "integrity": "sha512-apFbKq0EAYi70q0pOpS0tDfSviZYdG3KM6U1GpofZPsRMwgDga0DQiPQ/GHyQx7PDDrLCGvFBNPLMLV/K4Jr4Q==",
++      "requires": {
++        "osi-licenses": "^0.1.0"
++      }
++    },
++    "outpipe": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/outpipe/-/outpipe-1.1.1.tgz",
++      "integrity": "sha512-BnNY/RwnDrkmQdUa9U+OfN/Y7AWmKuUPCCd+hbRclZnnANvYpO72zp/a6Q4n829hPbdqEac31XCcsvlEvb+rtA==",
++      "dev": true,
++      "requires": {
++        "shell-quote": "^1.4.2"
++      }
++    },
++    "p-cancelable": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
++      "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw=="
++    },
++    "p-limit": {
++      "version": "1.3.0",
++      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
++      "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
++      "requires": {
++        "p-try": "^1.0.0"
++      }
++    },
++    "p-locate": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
++      "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==",
++      "requires": {
++        "p-limit": "^1.1.0"
++      }
++    },
++    "p-map": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
++      "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
++      "requires": {
++        "aggregate-error": "^3.0.0"
++      }
++    },
++    "p-try": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
++      "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww=="
++    },
++    "package-json": {
++      "version": "6.5.0",
++      "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz",
++      "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==",
++      "requires": {
++        "got": "^9.6.0",
++        "registry-auth-token": "^4.0.0",
++        "registry-url": "^5.0.0",
++        "semver": "^6.2.0"
++      },
++      "dependencies": {
++        "semver": {
++          "version": "6.3.0",
++          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
++          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
++        }
++      }
++    },
++    "pako": {
++      "version": "1.0.11",
++      "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
++      "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
++    },
++    "parent-module": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
++      "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
++      "requires": {
++        "callsites": "^3.0.0"
++      }
++    },
++    "parents": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz",
++      "integrity": "sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==",
++      "requires": {
++        "path-platform": "~0.11.15"
++      }
++    },
++    "parse-asn1": {
++      "version": "5.1.6",
++      "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz",
++      "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==",
++      "requires": {
++        "asn1.js": "^5.2.0",
++        "browserify-aes": "^1.0.0",
++        "evp_bytestokey": "^1.0.0",
++        "pbkdf2": "^3.0.3",
++        "safe-buffer": "^5.1.1"
++      }
++    },
++    "parse-author": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/parse-author/-/parse-author-2.0.0.tgz",
++      "integrity": "sha512-yx5DfvkN8JsHL2xk2Os9oTia467qnvRgey4ahSm2X8epehBLx/gWLcy5KI+Y36ful5DzGbCS6RazqZGgy1gHNw==",
++      "requires": {
++        "author-regex": "^1.0.0"
++      }
++    },
++    "parse-json": {
++      "version": "2.2.0",
++      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
++      "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==",
++      "requires": {
++        "error-ex": "^1.2.0"
++      }
++    },
++    "parse-srcset": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz",
++      "integrity": "sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q=="
++    },
++    "path-browserify": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
++      "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g=="
++    },
++    "path-exists": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
++      "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ=="
++    },
++    "path-is-absolute": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
++      "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="
++    },
++    "path-key": {
++      "version": "3.1.1",
++      "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
++      "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
++    },
++    "path-parse": {
++      "version": "1.0.7",
++      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
++      "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
++    },
++    "path-platform": {
++      "version": "0.11.15",
++      "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz",
++      "integrity": "sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg=="
++    },
++    "path-type": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
++      "integrity": "sha512-dUnb5dXUf+kzhC/W/F4e5/SkluXIFf5VUHolW1Eg1irn1hGWjPGdsRcvYJ1nD6lhk8Ir7VM0bHJKsYTx8Jx9OQ==",
++      "requires": {
++        "pify": "^2.0.0"
++      },
++      "dependencies": {
++        "pify": {
++          "version": "2.3.0",
++          "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
++          "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog=="
++        }
++      }
++    },
++    "pbkdf2": {
++      "version": "3.1.2",
++      "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
++      "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
++      "requires": {
++        "create-hash": "^1.1.2",
++        "create-hmac": "^1.1.4",
++        "ripemd160": "^2.0.1",
++        "safe-buffer": "^5.0.1",
++        "sha.js": "^2.4.8"
++      }
++    },
++    "pend": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
++      "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="
++    },
++    "performance-now": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
++      "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="
++    },
++    "picocolors": {
++      "version": "0.2.1",
++      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
++      "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA=="
++    },
++    "picomatch": {
++      "version": "2.3.1",
++      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
++      "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
++    },
++    "pify": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
++      "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
++      "optional": true
++    },
++    "plist": {
++      "version": "3.0.6",
++      "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.6.tgz",
++      "integrity": "sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA==",
++      "requires": {
++        "base64-js": "^1.5.1",
++        "xmlbuilder": "^15.1.1"
++      }
++    },
++    "postcss": {
++      "version": "7.0.39",
++      "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
++      "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
++      "requires": {
++        "picocolors": "^0.2.1",
++        "source-map": "^0.6.1"
++      },
++      "dependencies": {
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
++        }
++      }
++    },
++    "prebuild-install": {
++      "version": "7.1.1",
++      "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz",
++      "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==",
++      "optional": true,
++      "requires": {
++        "detect-libc": "^2.0.0",
++        "expand-template": "^2.0.3",
++        "github-from-package": "0.0.0",
++        "minimist": "^1.2.3",
++        "mkdirp-classic": "^0.5.3",
++        "napi-build-utils": "^1.0.1",
++        "node-abi": "^3.3.0",
++        "pump": "^3.0.0",
++        "rc": "^1.2.7",
++        "simple-get": "^4.0.0",
++        "tar-fs": "^2.0.0",
++        "tunnel-agent": "^0.6.0"
++      }
++    },
++    "prelude-ls": {
++      "version": "1.2.1",
++      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
++      "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="
++    },
++    "prepend-http": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
++      "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA=="
++    },
++    "pretty-hrtime": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
++      "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A=="
++    },
++    "process": {
++      "version": "0.11.10",
++      "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
++      "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A=="
++    },
++    "process-nextick-args": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
++      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
++    },
++    "progress": {
++      "version": "2.0.3",
++      "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
++      "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="
++    },
++    "promise-inflight": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
++      "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g=="
++    },
++    "promise-retry": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
++      "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==",
++      "requires": {
++        "err-code": "^2.0.2",
++        "retry": "^0.12.0"
++      }
++    },
++    "proto-list": {
++      "version": "1.2.4",
++      "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
++      "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==",
++      "optional": true
++    },
++    "psl": {
++      "version": "1.9.0",
++      "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
++      "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag=="
++    },
++    "pstree.remy": {
++      "version": "1.1.8",
++      "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
++      "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w=="
++    },
++    "public-encrypt": {
++      "version": "4.0.3",
++      "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
++      "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
++      "requires": {
++        "bn.js": "^4.1.0",
++        "browserify-rsa": "^4.0.0",
++        "create-hash": "^1.1.0",
++        "parse-asn1": "^5.0.0",
++        "randombytes": "^2.0.1",
++        "safe-buffer": "^5.1.2"
++      },
++      "dependencies": {
++        "bn.js": {
++          "version": "4.12.0",
++          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
++          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
++        }
++      }
++    },
++    "pump": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
++      "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
++      "requires": {
++        "end-of-stream": "^1.1.0",
++        "once": "^1.3.1"
++      }
++    },
++    "punycode": {
++      "version": "1.4.1",
++      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
++      "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ=="
++    },
++    "pupa": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz",
++      "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==",
++      "requires": {
++        "escape-goat": "^2.0.0"
++      }
++    },
++    "python-shell": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/python-shell/-/python-shell-3.0.1.tgz",
++      "integrity": "sha512-TWeotuxe1auhXa5bGRScxnc2J+0r41NBntSa6RYZtMBLtAEsvCboKrEbW6DvASosWQepVkhZZlT3B5Ei766G+Q=="
++    },
++    "qs": {
++      "version": "6.5.3",
++      "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
++      "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA=="
++    },
++    "querystring": {
++      "version": "0.2.0",
++      "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
++      "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g=="
++    },
++    "querystring-es3": {
++      "version": "0.2.1",
++      "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
++      "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA=="
++    },
++    "queue-tick": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz",
++      "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag=="
++    },
++    "quick-lru": {
++      "version": "4.0.1",
++      "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
++      "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g=="
++    },
++    "randombytes": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
++      "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
++      "requires": {
++        "safe-buffer": "^5.1.0"
++      }
++    },
++    "randomfill": {
++      "version": "1.0.4",
++      "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
++      "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
++      "requires": {
++        "randombytes": "^2.0.5",
++        "safe-buffer": "^5.1.0"
++      }
++    },
++    "range-parser": {
++      "version": "1.2.1",
++      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
++      "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
++    },
++    "rc": {
++      "version": "1.2.8",
++      "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
++      "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
++      "requires": {
++        "deep-extend": "^0.6.0",
++        "ini": "~1.3.0",
++        "minimist": "^1.2.0",
++        "strip-json-comments": "~2.0.1"
++      },
++      "dependencies": {
++        "strip-json-comments": {
++          "version": "2.0.1",
++          "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
++          "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ=="
++        }
++      }
++    },
++    "rcedit": {
++      "version": "2.3.0",
++      "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-2.3.0.tgz",
++      "integrity": "sha512-h1gNEl9Oai1oijwyJ1WYqYSXTStHnOcv1KYljg/8WM4NAg3H1KBK3azIaKkQ1WQl+d7PoJpcBMscPfLXVKgCLQ=="
++    },
++    "read-only-stream": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz",
++      "integrity": "sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==",
++      "requires": {
++        "readable-stream": "^2.0.2"
++      }
++    },
++    "read-pkg": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
++      "integrity": "sha512-eFIBOPW7FGjzBuk3hdXEuNSiTZS/xEMlH49HxMyzb0hyPfu4EhVjT2DH32K1hSSmVq4sebAWnZuuY5auISUTGA==",
++      "requires": {
++        "load-json-file": "^2.0.0",
++        "normalize-package-data": "^2.3.2",
++        "path-type": "^2.0.0"
++      },
++      "dependencies": {
++        "hosted-git-info": {
++          "version": "2.8.9",
++          "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
++          "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw=="
++        },
++        "normalize-package-data": {
++          "version": "2.5.0",
++          "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
++          "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
++          "requires": {
++            "hosted-git-info": "^2.1.4",
++            "resolve": "^1.10.0",
++            "semver": "2 || 3 || 4 || 5",
++            "validate-npm-package-license": "^3.0.1"
++          }
++        },
++        "semver": {
++          "version": "5.7.1",
++          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
++          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
++        }
++      }
++    },
++    "read-pkg-up": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
++      "integrity": "sha512-1orxQfbWGUiTn9XsPlChs6rLie/AV9jwZTGmu2NZw/CUDJQchXJFYE0Fq5j7+n558T1JhDWLdhyd1Zj+wLY//w==",
++      "requires": {
++        "find-up": "^2.0.0",
++        "read-pkg": "^2.0.0"
++      }
++    },
++    "readable-stream": {
++      "version": "2.3.7",
++      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
++      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
++      "requires": {
++        "core-util-is": "~1.0.0",
++        "inherits": "~2.0.3",
++        "isarray": "~1.0.0",
++        "process-nextick-args": "~2.0.0",
++        "safe-buffer": "~5.1.1",
++        "string_decoder": "~1.1.1",
++        "util-deprecate": "~1.0.1"
++      },
++      "dependencies": {
++        "safe-buffer": {
++          "version": "5.1.2",
++          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
++          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
++        },
++        "string_decoder": {
++          "version": "1.1.1",
++          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
++          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
++          "requires": {
++            "safe-buffer": "~5.1.0"
++          }
++        }
++      }
++    },
++    "readdirp": {
++      "version": "3.6.0",
++      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
++      "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
++      "requires": {
++        "picomatch": "^2.2.1"
++      }
++    },
++    "redent": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
++      "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
++      "requires": {
++        "indent-string": "^4.0.0",
++        "strip-indent": "^3.0.0"
++      }
++    },
++    "regenerate": {
++      "version": "1.4.2",
++      "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
++      "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A=="
++    },
++    "regenerate-unicode-properties": {
++      "version": "10.1.0",
++      "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz",
++      "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==",
++      "requires": {
++        "regenerate": "^1.4.2"
++      }
++    },
++    "regenerator-runtime": {
++      "version": "0.13.10",
++      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz",
++      "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw=="
++    },
++    "regenerator-transform": {
++      "version": "0.15.0",
++      "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz",
++      "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==",
++      "requires": {
++        "@babel/runtime": "^7.8.4"
++      }
++    },
++    "regexp.prototype.flags": {
++      "version": "1.4.3",
++      "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz",
++      "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==",
++      "requires": {
++        "call-bind": "^1.0.2",
++        "define-properties": "^1.1.3",
++        "functions-have-names": "^1.2.2"
++      }
++    },
++    "regexpp": {
++      "version": "3.2.0",
++      "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
++      "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg=="
++    },
++    "regexpu-core": {
++      "version": "5.2.1",
++      "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz",
++      "integrity": "sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==",
++      "requires": {
++        "regenerate": "^1.4.2",
++        "regenerate-unicode-properties": "^10.1.0",
++        "regjsgen": "^0.7.1",
++        "regjsparser": "^0.9.1",
++        "unicode-match-property-ecmascript": "^2.0.0",
++        "unicode-match-property-value-ecmascript": "^2.0.0"
++      }
++    },
++    "registry-auth-token": {
++      "version": "4.2.2",
++      "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz",
++      "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==",
++      "requires": {
++        "rc": "1.2.8"
++      }
++    },
++    "registry-url": {
++      "version": "5.1.0",
++      "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz",
++      "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==",
++      "requires": {
++        "rc": "^1.2.8"
++      }
++    },
++    "regjsgen": {
++      "version": "0.7.1",
++      "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz",
++      "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA=="
++    },
++    "regjsparser": {
++      "version": "0.9.1",
++      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz",
++      "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==",
++      "requires": {
++        "jsesc": "~0.5.0"
++      },
++      "dependencies": {
++        "jsesc": {
++          "version": "0.5.0",
++          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
++          "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA=="
++        }
++      }
++    },
++    "replacestream": {
++      "version": "4.0.3",
++      "resolved": "https://registry.npmjs.org/replacestream/-/replacestream-4.0.3.tgz",
++      "integrity": "sha512-AC0FiLS352pBBiZhd4VXB1Ab/lh0lEgpP+GGvZqbQh8a5cmXVoTe5EX/YeTFArnp4SRGTHh1qCHu9lGs1qG8sA==",
++      "requires": {
++        "escape-string-regexp": "^1.0.3",
++        "object-assign": "^4.0.1",
++        "readable-stream": "^2.0.2"
++      }
++    },
++    "request": {
++      "version": "2.88.2",
++      "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
++      "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
++      "requires": {
++        "aws-sign2": "~0.7.0",
++        "aws4": "^1.8.0",
++        "caseless": "~0.12.0",
++        "combined-stream": "~1.0.6",
++        "extend": "~3.0.2",
++        "forever-agent": "~0.6.1",
++        "form-data": "~2.3.2",
++        "har-validator": "~5.1.3",
++        "http-signature": "~1.2.0",
++        "is-typedarray": "~1.0.0",
++        "isstream": "~0.1.2",
++        "json-stringify-safe": "~5.0.1",
++        "mime-types": "~2.1.19",
++        "oauth-sign": "~0.9.0",
++        "performance-now": "^2.1.0",
++        "qs": "~6.5.2",
++        "safe-buffer": "^5.1.2",
++        "tough-cookie": "~2.5.0",
++        "tunnel-agent": "^0.6.0",
++        "uuid": "^3.3.2"
++      },
++      "dependencies": {
++        "uuid": {
++          "version": "3.4.0",
++          "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
++          "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
++        }
++      }
++    },
++    "require-directory": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
++      "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="
++    },
++    "resolve": {
++      "version": "1.22.1",
++      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
++      "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
++      "requires": {
++        "is-core-module": "^2.9.0",
++        "path-parse": "^1.0.7",
++        "supports-preserve-symlinks-flag": "^1.0.0"
++      }
++    },
++    "resolve-from": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
++      "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="
++    },
++    "responselike": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
++      "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==",
++      "requires": {
++        "lowercase-keys": "^1.0.0"
++      }
++    },
++    "retry": {
++      "version": "0.12.0",
++      "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
++      "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow=="
++    },
++    "rimraf": {
++      "version": "2.7.1",
++      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
++      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
++      "requires": {
++        "glob": "^7.1.3"
++      }
++    },
++    "ripemd160": {
++      "version": "2.0.2",
++      "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
++      "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
++      "requires": {
++        "hash-base": "^3.0.0",
++        "inherits": "^2.0.1"
++      }
++    },
++    "roarr": {
++      "version": "2.15.4",
++      "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz",
++      "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==",
++      "optional": true,
++      "requires": {
++        "boolean": "^3.0.1",
++        "detect-node": "^2.0.4",
++        "globalthis": "^1.0.1",
++        "json-stringify-safe": "^5.0.1",
++        "semver-compare": "^1.0.0",
++        "sprintf-js": "^1.1.2"
++      }
++    },
++    "safe-buffer": {
++      "version": "5.2.1",
++      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
++      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
++    },
++    "safer-buffer": {
++      "version": "2.1.2",
++      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
++      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
++    },
++    "sanitize-html": {
++      "version": "1.27.5",
++      "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.27.5.tgz",
++      "integrity": "sha512-M4M5iXDAUEcZKLXkmk90zSYWEtk5NH3JmojQxKxV371fnMh+x9t1rqdmXaGoyEHw3z/X/8vnFhKjGL5xFGOJ3A==",
++      "requires": {
++        "htmlparser2": "^4.1.0",
++        "lodash": "^4.17.15",
++        "parse-srcset": "^1.0.2",
++        "postcss": "^7.0.27"
++      }
++    },
++    "sass-graph": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-4.0.0.tgz",
++      "integrity": "sha512-WSO/MfXqKH7/TS8RdkCX3lVkPFQzCgbqdGsmSKq6tlPU+GpGEsa/5aW18JqItnqh+lPtcjifqdZ/VmiILkKckQ==",
++      "requires": {
++        "glob": "^7.0.0",
++        "lodash": "^4.17.11",
++        "scss-tokenizer": "^0.3.0",
++        "yargs": "^17.2.1"
++      }
++    },
++    "scope-css": {
++      "version": "1.2.1",
++      "resolved": "https://registry.npmjs.org/scope-css/-/scope-css-1.2.1.tgz",
++      "integrity": "sha512-UjLRmyEYaDNiOS673xlVkZFlVCtckJR/dKgr434VMm7Lb+AOOqXKdAcY7PpGlJYErjXXJzKN7HWo4uRPiZZG0Q==",
++      "requires": {
++        "escaper": "^2.5.3",
++        "slugify": "^1.3.1",
++        "strip-css-comments": "^3.0.0"
++      }
++    },
++    "screenfull": {
++      "version": "5.2.0",
++      "resolved": "https://registry.npmjs.org/screenfull/-/screenfull-5.2.0.tgz",
++      "integrity": "sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA=="
++    },
++    "scss-tokenizer": {
++      "version": "0.3.0",
++      "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.3.0.tgz",
++      "integrity": "sha512-14Zl9GcbBvOT9057ZKjpz5yPOyUWG2ojd9D5io28wHRYsOrs7U95Q+KNL87+32p8rc+LvDpbu/i9ZYjM9Q+FsQ==",
++      "requires": {
++        "js-base64": "^2.4.3",
++        "source-map": "^0.7.1"
++      },
++      "dependencies": {
++        "source-map": {
++          "version": "0.7.4",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
++          "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA=="
++        }
++      }
++    },
++    "semver": {
++      "version": "7.3.7",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
++      "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
++      "requires": {
++        "lru-cache": "^6.0.0"
++      }
++    },
++    "semver-compare": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
++      "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==",
++      "optional": true
++    },
++    "semver-diff": {
++      "version": "3.1.1",
++      "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz",
++      "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==",
++      "requires": {
++        "semver": "^6.3.0"
++      },
++      "dependencies": {
++        "semver": {
++          "version": "6.3.0",
++          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
++          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
++        }
++      }
++    },
++    "send": {
++      "version": "0.18.0",
++      "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
++      "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
++      "requires": {
++        "debug": "2.6.9",
++        "depd": "2.0.0",
++        "destroy": "1.2.0",
++        "encodeurl": "~1.0.2",
++        "escape-html": "~1.0.3",
++        "etag": "~1.8.1",
++        "fresh": "0.5.2",
++        "http-errors": "2.0.0",
++        "mime": "1.6.0",
++        "ms": "2.1.3",
++        "on-finished": "2.4.1",
++        "range-parser": "~1.2.1",
++        "statuses": "2.0.1"
++      },
++      "dependencies": {
++        "debug": {
++          "version": "2.6.9",
++          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
++          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
++          "requires": {
++            "ms": "2.0.0"
++          },
++          "dependencies": {
++            "ms": {
++              "version": "2.0.0",
++              "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
++              "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
++            }
++          }
++        },
++        "depd": {
++          "version": "2.0.0",
++          "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
++          "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="
++        },
++        "ms": {
++          "version": "2.1.3",
++          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
++          "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
++        }
++      }
++    },
++    "serialize-error": {
++      "version": "7.0.1",
++      "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz",
++      "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==",
++      "optional": true,
++      "requires": {
++        "type-fest": "^0.13.1"
++      },
++      "dependencies": {
++        "type-fest": {
++          "version": "0.13.1",
++          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
++          "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==",
++          "optional": true
++        }
++      }
++    },
++    "serialport": {
++      "version": "9.2.0",
++      "resolved": "https://registry.npmjs.org/serialport/-/serialport-9.2.0.tgz",
++      "integrity": "sha512-C6AQ4jD4mre3tn3QA+atn++mEZDh4r40CIeh1sKhskKE+Q4eiIr/nzVMOiPxHb8gskrSNxujH+Br49tl3i9s9g==",
++      "optional": true,
++      "requires": {
++        "@serialport/binding-mock": "9.0.7",
++        "@serialport/bindings": "^9.2.0",
++        "@serialport/parser-byte-length": "9.0.7",
++        "@serialport/parser-cctalk": "9.0.7",
++        "@serialport/parser-delimiter": "9.0.7",
++        "@serialport/parser-inter-byte-timeout": "9.0.7",
++        "@serialport/parser-readline": "9.0.7",
++        "@serialport/parser-ready": "9.0.7",
++        "@serialport/parser-regex": "9.0.7",
++        "@serialport/stream": "9.0.7",
++        "debug": "^4.3.1"
++      }
++    },
++    "set-blocking": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
++      "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="
++    },
++    "setprototypeof": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
++      "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
++    },
++    "sha.js": {
++      "version": "2.4.11",
++      "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
++      "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
++      "requires": {
++        "inherits": "^2.0.1",
++        "safe-buffer": "^5.0.1"
++      }
++    },
++    "shasum-object": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz",
++      "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==",
++      "requires": {
++        "fast-safe-stringify": "^2.0.7"
++      }
++    },
++    "shebang-command": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
++      "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
++      "requires": {
++        "shebang-regex": "^3.0.0"
++      }
++    },
++    "shebang-regex": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
++      "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
++    },
++    "shell-quote": {
++      "version": "1.7.4",
++      "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.4.tgz",
++      "integrity": "sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw=="
++    },
++    "signal-exit": {
++      "version": "3.0.7",
++      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
++      "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
++    },
++    "simple-concat": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
++      "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q=="
++    },
++    "simple-get": {
++      "version": "4.0.1",
++      "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz",
++      "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
++      "optional": true,
++      "requires": {
++        "decompress-response": "^6.0.0",
++        "once": "^1.3.1",
++        "simple-concat": "^1.0.0"
++      },
++      "dependencies": {
++        "decompress-response": {
++          "version": "6.0.0",
++          "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
++          "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
++          "optional": true,
++          "requires": {
++            "mimic-response": "^3.1.0"
++          }
++        },
++        "mimic-response": {
++          "version": "3.1.0",
++          "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
++          "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
++          "optional": true
++        }
++      }
++    },
++    "slip": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/slip/-/slip-1.0.2.tgz",
++      "integrity": "sha512-XrcHe3NAcyD3wO+O4I13RcS4/3AF+S9RvGNj9JhJeS02HyImwD2E3QWLrmn9hBfL+fB6yapagwxRkeyYzhk98g=="
++    },
++    "slugify": {
++      "version": "1.6.5",
++      "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.5.tgz",
++      "integrity": "sha512-8mo9bslnBO3tr5PEVFzMPIWwWnipGS0xVbYf65zxDqfNwmzYn1LpiKNrR6DlClusuvo+hDHd1zKpmfAe83NQSQ=="
++    },
++    "smart-buffer": {
++      "version": "4.2.0",
++      "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
++      "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg=="
++    },
++    "socks": {
++      "version": "2.7.1",
++      "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
++      "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
++      "requires": {
++        "ip": "^2.0.0",
++        "smart-buffer": "^4.2.0"
++      },
++      "dependencies": {
++        "ip": {
++          "version": "2.0.0",
++          "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
++          "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ=="
++        }
++      }
++    },
++    "socks-proxy-agent": {
++      "version": "6.2.1",
++      "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz",
++      "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==",
++      "requires": {
++        "agent-base": "^6.0.2",
++        "debug": "^4.3.3",
++        "socks": "^2.6.2"
++      }
++    },
++    "sortablejs": {
++      "version": "1.15.0",
++      "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.0.tgz",
++      "integrity": "sha512-bv9qgVMjUMf89wAvM6AxVvS/4MX3sPeN0+agqShejLU5z5GX4C75ow1O2e5k4L6XItUyAK3gH6AxSbXrOM5e8w=="
++    },
++    "source-map": {
++      "version": "0.5.7",
++      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
++      "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ=="
++    },
++    "source-map-support": {
++      "version": "0.5.21",
++      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
++      "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
++      "requires": {
++        "buffer-from": "^1.0.0",
++        "source-map": "^0.6.0"
++      },
++      "dependencies": {
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
++        }
++      }
++    },
++    "sourcemap-codec": {
++      "version": "1.4.8",
++      "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
++      "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
++    },
++    "spdx-correct": {
++      "version": "3.1.1",
++      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
++      "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
++      "requires": {
++        "spdx-expression-parse": "^3.0.0",
++        "spdx-license-ids": "^3.0.0"
++      }
++    },
++    "spdx-exceptions": {
++      "version": "2.3.0",
++      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
++      "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A=="
++    },
++    "spdx-expression-parse": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
++      "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
++      "requires": {
++        "spdx-exceptions": "^2.1.0",
++        "spdx-license-ids": "^3.0.0"
++      }
++    },
++    "spdx-license-ids": {
++      "version": "3.0.12",
++      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz",
++      "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA=="
++    },
++    "sprintf-js": {
++      "version": "1.1.2",
++      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
++      "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==",
++      "optional": true
++    },
++    "sshpk": {
++      "version": "1.17.0",
++      "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
++      "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
++      "requires": {
++        "asn1": "~0.2.3",
++        "assert-plus": "^1.0.0",
++        "bcrypt-pbkdf": "^1.0.0",
++        "dashdash": "^1.12.0",
++        "ecc-jsbn": "~0.1.1",
++        "getpass": "^0.1.1",
++        "jsbn": "~0.1.0",
++        "safer-buffer": "^2.0.2",
++        "tweetnacl": "~0.14.0"
++      }
++    },
++    "ssri": {
++      "version": "8.0.1",
++      "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
++      "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
++      "requires": {
++        "minipass": "^3.1.1"
++      }
++    },
++    "stack-generator": {
++      "version": "2.0.10",
++      "resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.10.tgz",
++      "integrity": "sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==",
++      "requires": {
++        "stackframe": "^1.3.4"
++      }
++    },
++    "stackframe": {
++      "version": "1.3.4",
++      "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz",
++      "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw=="
++    },
++    "stacktrace-gps": {
++      "version": "3.1.2",
++      "resolved": "https://registry.npmjs.org/stacktrace-gps/-/stacktrace-gps-3.1.2.tgz",
++      "integrity": "sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==",
++      "requires": {
++        "source-map": "0.5.6",
++        "stackframe": "^1.3.4"
++      },
++      "dependencies": {
++        "source-map": {
++          "version": "0.5.6",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
++          "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA=="
++        }
++      }
++    },
++    "stacktrace-js": {
++      "version": "2.0.2",
++      "resolved": "https://registry.npmjs.org/stacktrace-js/-/stacktrace-js-2.0.2.tgz",
++      "integrity": "sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==",
++      "requires": {
++        "error-stack-parser": "^2.0.6",
++        "stack-generator": "^2.0.5",
++        "stacktrace-gps": "^3.0.4"
++      }
++    },
++    "statuses": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
++      "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="
++    },
++    "stdout-stream": {
++      "version": "1.4.1",
++      "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz",
++      "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==",
++      "requires": {
++        "readable-stream": "^2.0.1"
++      }
++    },
++    "stream-browserify": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz",
++      "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==",
++      "requires": {
++        "inherits": "~2.0.4",
++        "readable-stream": "^3.5.0"
++      },
++      "dependencies": {
++        "readable-stream": {
++          "version": "3.6.0",
++          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
++          "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
++          "requires": {
++            "inherits": "^2.0.3",
++            "string_decoder": "^1.1.1",
++            "util-deprecate": "^1.0.1"
++          }
++        }
++      }
++    },
++    "stream-combiner2": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
++      "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==",
++      "requires": {
++        "duplexer2": "~0.1.0",
++        "readable-stream": "^2.0.2"
++      }
++    },
++    "stream-http": {
++      "version": "3.2.0",
++      "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz",
++      "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==",
++      "requires": {
++        "builtin-status-codes": "^3.0.0",
++        "inherits": "^2.0.4",
++        "readable-stream": "^3.6.0",
++        "xtend": "^4.0.2"
++      },
++      "dependencies": {
++        "readable-stream": {
++          "version": "3.6.0",
++          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
++          "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
++          "requires": {
++            "inherits": "^2.0.3",
++            "string_decoder": "^1.1.1",
++            "util-deprecate": "^1.0.1"
++          }
++        }
++      }
++    },
++    "stream-splicer": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz",
++      "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==",
++      "requires": {
++        "inherits": "^2.0.1",
++        "readable-stream": "^2.0.2"
++      }
++    },
++    "strictdom": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/strictdom/-/strictdom-1.0.1.tgz",
++      "integrity": "sha512-cEmp9QeXXRmjj/rVp9oyiqcvyocWab/HaoN4+bwFeZ7QzykJD6L3yD4v12K1x0tHpqRqVpJevN3gW7kyM39Bqg=="
++    },
++    "string_decoder": {
++      "version": "1.3.0",
++      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
++      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
++      "requires": {
++        "safe-buffer": "~5.2.0"
++      }
++    },
++    "string-width": {
++      "version": "4.2.3",
++      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
++      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
++      "requires": {
++        "emoji-regex": "^8.0.0",
++        "is-fullwidth-code-point": "^3.0.0",
++        "strip-ansi": "^6.0.1"
++      }
++    },
++    "strip-ansi": {
++      "version": "6.0.1",
++      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
++      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
++      "requires": {
++        "ansi-regex": "^5.0.1"
++      }
++    },
++    "strip-bom": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
++      "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA=="
++    },
++    "strip-css-comments": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/strip-css-comments/-/strip-css-comments-3.0.0.tgz",
++      "integrity": "sha512-xJwk2yMZ6j+0Clj7ETUfqQ6frsaCIqNGg3zjTVswIt3SbiOsCQgRI1E93hdt/JgGfh5De/sTwxrnrBhhWzMwcg==",
++      "requires": {
++        "is-regexp": "^1.0.0"
++      }
++    },
++    "strip-indent": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
++      "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
++      "requires": {
++        "min-indent": "^1.0.0"
++      }
++    },
++    "strip-json-comments": {
++      "version": "3.1.1",
++      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
++      "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="
++    },
++    "strip-outer": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz",
++      "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==",
++      "requires": {
++        "escape-string-regexp": "^1.0.2"
++      }
++    },
++    "subarg": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
++      "integrity": "sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==",
++      "requires": {
++        "minimist": "^1.1.0"
++      }
++    },
++    "sumchecker": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz",
++      "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==",
++      "requires": {
++        "debug": "^4.1.0"
++      }
++    },
++    "supports-color": {
++      "version": "5.5.0",
++      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
++      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
++      "requires": {
++        "has-flag": "^3.0.0"
++      }
++    },
++    "supports-preserve-symlinks-flag": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
++      "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
++    },
++    "syntax-error": {
++      "version": "1.4.0",
++      "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz",
++      "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==",
++      "requires": {
++        "acorn-node": "^1.2.0"
++      }
++    },
++    "tar": {
++      "version": "6.1.12",
++      "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.12.tgz",
++      "integrity": "sha512-jU4TdemS31uABHd+Lt5WEYJuzn+TJTCBLljvIAHZOz6M9Os5pJ4dD+vRFLxPa/n3T0iEFzpi+0x1UfuDZYbRMw==",
++      "requires": {
++        "chownr": "^2.0.0",
++        "fs-minipass": "^2.0.0",
++        "minipass": "^3.0.0",
++        "minizlib": "^2.1.1",
++        "mkdirp": "^1.0.3",
++        "yallist": "^4.0.0"
++      },
++      "dependencies": {
++        "mkdirp": {
++          "version": "1.0.4",
++          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
++          "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
++        }
++      }
++    },
++    "tar-fs": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
++      "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
++      "optional": true,
++      "requires": {
++        "chownr": "^1.1.1",
++        "mkdirp-classic": "^0.5.2",
++        "pump": "^3.0.0",
++        "tar-stream": "^2.1.4"
++      },
++      "dependencies": {
++        "chownr": {
++          "version": "1.1.4",
++          "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
++          "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
++          "optional": true
++        }
++      }
++    },
++    "tar-stream": {
++      "version": "2.2.0",
++      "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
++      "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
++      "optional": true,
++      "requires": {
++        "bl": "^4.0.3",
++        "end-of-stream": "^1.4.1",
++        "fs-constants": "^1.0.0",
++        "inherits": "^2.0.3",
++        "readable-stream": "^3.1.1"
++      },
++      "dependencies": {
++        "readable-stream": {
++          "version": "3.6.0",
++          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
++          "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
++          "optional": true,
++          "requires": {
++            "inherits": "^2.0.3",
++            "string_decoder": "^1.1.1",
++            "util-deprecate": "^1.0.1"
++          }
++        }
++      }
++    },
++    "terser": {
++      "version": "3.17.0",
++      "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz",
++      "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==",
++      "requires": {
++        "commander": "^2.19.0",
++        "source-map": "~0.6.1",
++        "source-map-support": "~0.5.10"
++      },
++      "dependencies": {
++        "commander": {
++          "version": "2.20.3",
++          "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
++          "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
++        }
++      }
++    },
++    "text-table": {
++      "version": "0.2.0",
++      "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
++      "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw=="
++    },
++    "through": {
++      "version": "2.3.8",
++      "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
++      "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg=="
++    },
++    "through2": {
++      "version": "2.0.5",
++      "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
++      "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
++      "requires": {
++        "readable-stream": "~2.3.6",
++        "xtend": "~4.0.1"
++      }
++    },
++    "thunky": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
++      "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA=="
++    },
++    "timers-browserify": {
++      "version": "1.4.2",
++      "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz",
++      "integrity": "sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==",
++      "requires": {
++        "process": "~0.11.0"
++      }
++    },
++    "to-fast-properties": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
++      "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog=="
++    },
++    "to-readable-stream": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
++      "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q=="
++    },
++    "to-regex-range": {
++      "version": "5.0.1",
++      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
++      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
++      "requires": {
++        "is-number": "^7.0.0"
++      }
++    },
++    "toidentifier": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
++      "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="
++    },
++    "touch": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz",
++      "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==",
++      "requires": {
++        "nopt": "~1.0.10"
++      },
++      "dependencies": {
++        "nopt": {
++          "version": "1.0.10",
++          "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
++          "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==",
++          "requires": {
++            "abbrev": "1"
++          }
++        }
++      }
++    },
++    "tough-cookie": {
++      "version": "2.5.0",
++      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
++      "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
++      "requires": {
++        "psl": "^1.1.28",
++        "punycode": "^2.1.1"
++      },
++      "dependencies": {
++        "punycode": {
++          "version": "2.1.1",
++          "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
++          "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
++        }
++      }
++    },
++    "transform-ast": {
++      "version": "2.4.4",
++      "resolved": "https://registry.npmjs.org/transform-ast/-/transform-ast-2.4.4.tgz",
++      "integrity": "sha512-AxjeZAcIOUO2lev2GDe3/xZ1Q0cVGjIMk5IsriTy8zbWlsEnjeB025AhkhBJHoy997mXpLd4R+kRbvnnQVuQHQ==",
++      "requires": {
++        "acorn-node": "^1.3.0",
++        "convert-source-map": "^1.5.1",
++        "dash-ast": "^1.0.0",
++        "is-buffer": "^2.0.0",
++        "magic-string": "^0.23.2",
++        "merge-source-map": "1.0.4",
++        "nanobench": "^2.1.1"
++      },
++      "dependencies": {
++        "is-buffer": {
++          "version": "2.0.5",
++          "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
++          "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ=="
++        }
++      }
++    },
++    "trim-newlines": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
++      "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw=="
++    },
++    "trim-repeated": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz",
++      "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==",
++      "requires": {
++        "escape-string-regexp": "^1.0.2"
++      }
++    },
++    "true-case-path": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz",
++      "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==",
++      "requires": {
++        "glob": "^7.1.2"
++      }
++    },
++    "tty-browserify": {
++      "version": "0.0.1",
++      "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz",
++      "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw=="
++    },
++    "tunnel": {
++      "version": "0.0.6",
++      "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
++      "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
++      "optional": true
++    },
++    "tunnel-agent": {
++      "version": "0.6.0",
++      "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
++      "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
++      "requires": {
++        "safe-buffer": "^5.0.1"
++      }
++    },
++    "tweetnacl": {
++      "version": "0.14.5",
++      "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
++      "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA=="
++    },
++    "type-check": {
++      "version": "0.4.0",
++      "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
++      "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
++      "requires": {
++        "prelude-ls": "^1.2.1"
++      }
++    },
++    "type-fest": {
++      "version": "0.18.1",
++      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz",
++      "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw=="
++    },
++    "type-name": {
++      "version": "2.0.2",
++      "resolved": "https://registry.npmjs.org/type-name/-/type-name-2.0.2.tgz",
++      "integrity": "sha512-kkgkuqR/jKdKO5oh/I2SMu2dGbLXoJq0zkdgbxaqYK+hr9S9edwVVGf+tMUFTx2gH9TN2+Zu9JZ/Njonb3cjhA=="
++    },
++    "typedarray": {
++      "version": "0.0.6",
++      "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
++      "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
++    },
++    "typedarray-to-buffer": {
++      "version": "3.1.5",
++      "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
++      "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
++      "requires": {
++        "is-typedarray": "^1.0.0"
++      }
++    },
++    "uglifyify": {
++      "version": "5.0.2",
++      "resolved": "https://registry.npmjs.org/uglifyify/-/uglifyify-5.0.2.tgz",
++      "integrity": "sha512-NcSk6pgoC+IgwZZ2tVLVHq+VNKSvLPlLkF5oUiHPVOJI0s/OlSVYEGXG9PCAH0hcyFZLyvt4KBdPAQBRlVDn1Q==",
++      "requires": {
++        "convert-source-map": "~1.1.0",
++        "minimatch": "^3.0.2",
++        "terser": "^3.7.5",
++        "through": "~2.3.4",
++        "xtend": "^4.0.1"
++      },
++      "dependencies": {
++        "balanced-match": {
++          "version": "1.0.2",
++          "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
++          "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
++        },
++        "brace-expansion": {
++          "version": "1.1.11",
++          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
++          "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
++          "requires": {
++            "balanced-match": "^1.0.0",
++            "concat-map": "0.0.1"
++          }
++        },
++        "convert-source-map": {
++          "version": "1.1.3",
++          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
++          "integrity": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg=="
++        },
++        "minimatch": {
++          "version": "3.1.2",
++          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
++          "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
++          "requires": {
++            "brace-expansion": "^1.1.7"
++          }
++        }
++      }
++    },
++    "umd": {
++      "version": "3.0.3",
++      "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz",
++      "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow=="
++    },
++    "undeclared-identifiers": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz",
++      "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==",
++      "requires": {
++        "acorn-node": "^1.3.0",
++        "dash-ast": "^1.0.0",
++        "get-assigned-identifiers": "^1.2.0",
++        "simple-concat": "^1.0.0",
++        "xtend": "^4.0.1"
++      }
++    },
++    "undefsafe": {
++      "version": "2.0.5",
++      "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
++      "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA=="
++    },
++    "unicode-canonical-property-names-ecmascript": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
++      "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ=="
++    },
++    "unicode-match-property-ecmascript": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
++      "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
++      "requires": {
++        "unicode-canonical-property-names-ecmascript": "^2.0.0",
++        "unicode-property-aliases-ecmascript": "^2.0.0"
++      }
++    },
++    "unicode-match-property-value-ecmascript": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz",
++      "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw=="
++    },
++    "unicode-property-aliases-ecmascript": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
++      "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w=="
++    },
++    "unique-filename": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
++      "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
++      "requires": {
++        "unique-slug": "^2.0.0"
++      }
++    },
++    "unique-slug": {
++      "version": "2.0.2",
++      "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
++      "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
++      "requires": {
++        "imurmurhash": "^0.1.4"
++      }
++    },
++    "unique-string": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
++      "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==",
++      "requires": {
++        "crypto-random-string": "^2.0.0"
++      }
++    },
++    "universalify": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
++      "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
++    },
++    "unix-crypt-td-js": {
++      "version": "1.1.4",
++      "resolved": "https://registry.npmjs.org/unix-crypt-td-js/-/unix-crypt-td-js-1.1.4.tgz",
++      "integrity": "sha512-8rMeVYWSIyccIJscb9NdCfZKSRBKYTeVnwmiRYT2ulE3qd1RaDQ0xQDP+rI3ccIWbhu/zuo5cgN8z73belNZgw=="
++    },
++    "update-browserslist-db": {
++      "version": "1.0.10",
++      "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
++      "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
++      "requires": {
++        "escalade": "^3.1.1",
++        "picocolors": "^1.0.0"
++      },
++      "dependencies": {
++        "picocolors": {
++          "version": "1.0.0",
++          "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
++          "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
++        }
++      }
++    },
++    "update-notifier": {
++      "version": "5.1.0",
++      "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz",
++      "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==",
++      "requires": {
++        "boxen": "^5.0.0",
++        "chalk": "^4.1.0",
++        "configstore": "^5.0.1",
++        "has-yarn": "^2.1.0",
++        "import-lazy": "^2.1.0",
++        "is-ci": "^2.0.0",
++        "is-installed-globally": "^0.4.0",
++        "is-npm": "^5.0.0",
++        "is-yarn-global": "^0.3.0",
++        "latest-version": "^5.1.0",
++        "pupa": "^2.1.1",
++        "semver": "^7.3.4",
++        "semver-diff": "^3.1.1",
++        "xdg-basedir": "^4.0.0"
++      },
++      "dependencies": {
++        "ansi-styles": {
++          "version": "4.3.0",
++          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
++          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
++          "requires": {
++            "color-convert": "^2.0.1"
++          }
++        },
++        "chalk": {
++          "version": "4.1.2",
++          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
++          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
++          "requires": {
++            "ansi-styles": "^4.1.0",
++            "supports-color": "^7.1.0"
++          }
++        },
++        "color-convert": {
++          "version": "2.0.1",
++          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
++          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
++          "requires": {
++            "color-name": "~1.1.4"
++          }
++        },
++        "color-name": {
++          "version": "1.1.4",
++          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
++          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
++        },
++        "has-flag": {
++          "version": "4.0.0",
++          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
++          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
++        },
++        "supports-color": {
++          "version": "7.2.0",
++          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
++          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
++          "requires": {
++            "has-flag": "^4.0.0"
++          }
++        }
++      }
++    },
++    "upper-case": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
++      "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA=="
++    },
++    "uri-js": {
++      "version": "4.4.1",
++      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
++      "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
++      "requires": {
++        "punycode": "^2.1.0"
++      },
++      "dependencies": {
++        "punycode": {
++          "version": "2.1.1",
++          "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
++          "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
++        }
++      }
++    },
++    "url": {
++      "version": "0.11.0",
++      "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
++      "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==",
++      "requires": {
++        "punycode": "1.3.2",
++        "querystring": "0.2.0"
++      },
++      "dependencies": {
++        "punycode": {
++          "version": "1.3.2",
++          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
++          "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw=="
++        }
++      }
++    },
++    "url-parse-lax": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
++      "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==",
++      "requires": {
++        "prepend-http": "^2.0.0"
++      }
++    },
++    "util": {
++      "version": "0.12.5",
++      "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
++      "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
++      "requires": {
++        "inherits": "^2.0.3",
++        "is-arguments": "^1.0.4",
++        "is-generator-function": "^1.0.7",
++        "is-typed-array": "^1.1.3",
++        "which-typed-array": "^1.1.2"
++      }
++    },
++    "util-deprecate": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
++      "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
++    },
++    "uuid": {
++      "version": "8.3.2",
++      "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
++      "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
++    },
++    "v8-compile-cache": {
++      "version": "2.3.0",
++      "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
++      "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA=="
++    },
++    "validate-npm-package-license": {
++      "version": "3.0.4",
++      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
++      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
++      "requires": {
++        "spdx-correct": "^3.0.0",
++        "spdx-expression-parse": "^3.0.0"
++      }
++    },
++    "verror": {
++      "version": "1.10.0",
++      "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
++      "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
++      "requires": {
++        "assert-plus": "^1.0.0",
++        "core-util-is": "1.0.2",
++        "extsprintf": "^1.2.0"
++      },
++      "dependencies": {
++        "core-util-is": {
++          "version": "1.0.2",
++          "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
++          "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ=="
++        }
++      }
++    },
++    "vm-browserify": {
++      "version": "1.1.2",
++      "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
++      "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ=="
++    },
++    "watchify": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/watchify/-/watchify-4.0.0.tgz",
++      "integrity": "sha512-2Z04dxwoOeNxa11qzWumBTgSAohTC0+ScuY7XMenPnH+W2lhTcpEOJP4g2EIG/SWeLadPk47x++Yh+8BqPM/lA==",
++      "dev": true,
++      "requires": {
++        "anymatch": "^3.1.0",
++        "browserify": "^17.0.0",
++        "chokidar": "^3.4.0",
++        "defined": "^1.0.0",
++        "outpipe": "^1.1.0",
++        "through2": "^4.0.2",
++        "xtend": "^4.0.2"
++      },
++      "dependencies": {
++        "readable-stream": {
++          "version": "3.6.0",
++          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
++          "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
++          "dev": true,
++          "requires": {
++            "inherits": "^2.0.3",
++            "string_decoder": "^1.1.1",
++            "util-deprecate": "^1.0.1"
++          }
++        },
++        "through2": {
++          "version": "4.0.2",
++          "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz",
++          "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==",
++          "dev": true,
++          "requires": {
++            "readable-stream": "3"
++          }
++        }
++      }
++    },
++    "webworkify": {
++      "version": "1.5.0",
++      "resolved": "https://registry.npmjs.org/webworkify/-/webworkify-1.5.0.tgz",
++      "integrity": "sha512-AMcUeyXAhbACL8S2hqqdqOLqvJ8ylmIbNwUIqQujRSouf4+eUFaXbG6F1Rbu+srlJMmxQWsiU7mOJi0nMBfM1g=="
++    },
++    "which": {
++      "version": "2.0.2",
++      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
++      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
++      "requires": {
++        "isexe": "^2.0.0"
++      }
++    },
++    "which-typed-array": {
++      "version": "1.1.9",
++      "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz",
++      "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==",
++      "requires": {
++        "available-typed-arrays": "^1.0.5",
++        "call-bind": "^1.0.2",
++        "for-each": "^0.3.3",
++        "gopd": "^1.0.1",
++        "has-tostringtag": "^1.0.0",
++        "is-typed-array": "^1.1.10"
++      }
++    },
++    "wide-align": {
++      "version": "1.1.5",
++      "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
++      "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
++      "requires": {
++        "string-width": "^1.0.2 || 2 || 3 || 4"
++      }
++    },
++    "widest-line": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz",
++      "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==",
++      "requires": {
++        "string-width": "^4.0.0"
++      }
++    },
++    "wolfy87-eventemitter": {
++      "version": "5.2.9",
++      "resolved": "https://registry.npmjs.org/wolfy87-eventemitter/-/wolfy87-eventemitter-5.2.9.tgz",
++      "integrity": "sha512-P+6vtWyuDw+MB01X7UeF8TaHBvbCovf4HPEMF/SV7BdDc1SMTiBy13SRD71lQh4ExFTG1d/WNzDGDCyOKSMblw=="
++    },
++    "word-wrap": {
++      "version": "1.2.3",
++      "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
++      "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ=="
++    },
++    "wrap-ansi": {
++      "version": "7.0.0",
++      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
++      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
++      "requires": {
++        "ansi-styles": "^4.0.0",
++        "string-width": "^4.1.0",
++        "strip-ansi": "^6.0.0"
++      },
++      "dependencies": {
++        "ansi-styles": {
++          "version": "4.3.0",
++          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
++          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
++          "requires": {
++            "color-convert": "^2.0.1"
++          }
++        },
++        "color-convert": {
++          "version": "2.0.1",
++          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
++          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
++          "requires": {
++            "color-name": "~1.1.4"
++          }
++        },
++        "color-name": {
++          "version": "1.1.4",
++          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
++          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
++        }
++      }
++    },
++    "wrappy": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
++      "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
++    },
++    "write-file-atomic": {
++      "version": "3.0.3",
++      "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
++      "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
++      "requires": {
++        "imurmurhash": "^0.1.4",
++        "is-typedarray": "^1.0.0",
++        "signal-exit": "^3.0.2",
++        "typedarray-to-buffer": "^3.1.5"
++      }
++    },
++    "ws": {
++      "version": "8.6.0",
++      "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz",
++      "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw=="
++    },
++    "xdg-basedir": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
++      "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q=="
++    },
++    "xmlbuilder": {
++      "version": "15.1.1",
++      "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz",
++      "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg=="
++    },
++    "xtend": {
++      "version": "4.0.2",
++      "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
++      "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
++    },
++    "y18n": {
++      "version": "5.0.8",
++      "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
++      "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="
++    },
++    "yallist": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
++      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
++    },
++    "yargs": {
++      "version": "17.5.1",
++      "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz",
++      "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==",
++      "requires": {
++        "cliui": "^7.0.2",
++        "escalade": "^3.1.1",
++        "get-caller-file": "^2.0.5",
++        "require-directory": "^2.1.1",
++        "string-width": "^4.2.3",
++        "y18n": "^5.0.5",
++        "yargs-parser": "^21.0.0"
++      },
++      "dependencies": {
++        "yargs-parser": {
++          "version": "21.1.1",
++          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
++          "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="
++        }
++      }
++    },
++    "yargs-parser": {
++      "version": "20.2.9",
++      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
++      "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w=="
++    },
++    "yauzl": {
++      "version": "2.10.0",
++      "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
++      "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
++      "requires": {
++        "buffer-crc32": "~0.2.3",
++        "fd-slicer": "~1.1.0"
++      }
++    }
++  }
++}
diff --git a/pkgs/applications/audio/open-stage-control/update.sh b/pkgs/applications/audio/open-stage-control/update.sh
index a8cd0e04fa685..58b0441438ebe 100755
--- a/pkgs/applications/audio/open-stage-control/update.sh
+++ b/pkgs/applications/audio/open-stage-control/update.sh
@@ -1,25 +1,63 @@
 #!/usr/bin/env nix-shell
-#! nix-shell -i bash -p common-updater-scripts jq nodePackages.node2nix
+#! nix-shell -i bash -p common-updater-scripts jq nodejs
 set -euo pipefail
 
 # Find nixpkgs repo
 nixpkgs="$(git rev-parse --show-toplevel || (printf 'Could not find root of nixpkgs repo\nAre we running from within the nixpkgs git repo?\n' >&2; exit 1))"
 
-# Get latest release tag
-tag="$(curl -s https://api.github.com/repos/jean-emmanuel/open-stage-control/releases/latest | jq -r .tag_name)"
+stripwhitespace() {
+    sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//'
+}
+
+nixeval() {
+    nix --extra-experimental-features nix-command eval --json --impure -f "$nixpkgs" "$1" | jq -r .
+}
+
+vendorhash() {
+    (nix --extra-experimental-features nix-command build --impure -f "$nixpkgs" --no-link "$1" 2>&1 >/dev/null | tail -n3 | grep -F got: | cut -d: -f2- | stripwhitespace) 2>/dev/null || true
+}
+
+findpath() {
+    path="$(nix --extra-experimental-features nix-command eval --json --impure -f "$nixpkgs" "$1.meta.position" | jq -r . | cut -d: -f1)"
+    outpath="$(nix --extra-experimental-features nix-command eval --json --impure --expr "builtins.fetchGit \"$nixpkgs\"")"
+
+    if [ -n "$outpath" ]; then
+        path="${path/$(echo "$outpath" | jq -r .)/$nixpkgs}"
+    fi
+
+    echo "$path"
+}
+
+attr="${UPDATE_NIX_ATTR_PATH:-open-stage-control}"
+version="$(cd "$nixpkgs" && list-git-tags --pname="$(nixeval "$attr".pname)" --attr-path="$attr" | grep '^v' | sed -e 's|^v||' | sort -V | tail -n1)"
+
+pkgpath="$(findpath "$attr")"
+pkgdir="$(dirname "$pkgpath")"
+
+updated="$(cd "$nixpkgs" && update-source-version "$attr" "$version" --file="$pkgpath" --print-changes | jq -r length)"
+
+if [ "$updated" -eq 0 ]; then
+    echo 'update.sh: Package version not updated, nothing to do.'
+    exit 0
+fi
 
 # Download package.json from the latest release
-curl -sSL https://raw.githubusercontent.com/jean-emmanuel/open-stage-control/"$tag"/package.json | grep -v '"electron"\|"electron-installer-debian"' >"$nixpkgs"/pkgs/applications/audio/open-stage-control/package.json
+curl -sSL https://raw.githubusercontent.com/jean-emmanuel/open-stage-control/v"$version"/package.json | grep -v '"electron"\|"electron-installer-debian"' >"$pkgdir"/package.json
+
+# Lock dependencies with npm
+(cd "$pkgdir" && npm install --package-lock-only --ignore-scripts --legacy-peer-deps)
+
+# Turn lock file into patch file
+(cd "$pkgdir" && (diff -u /dev/null ./package-lock.json || [ $? -eq 1 ])) >"$pkgdir"/package-lock.json.patch
 
-# Lock dependencies with node2nix
-node2nix \
-  --node-env "$nixpkgs"/pkgs/development/node-packages/node-env.nix \
-  --nodejs-16 \
-  --input "$nixpkgs"/pkgs/applications/audio/open-stage-control/package.json \
-  --output "$nixpkgs"/pkgs/applications/audio/open-stage-control/node-packages.nix \
-  --composition "$nixpkgs"/pkgs/applications/audio/open-stage-control/node-composition.nix
+rm -f "$pkgdir"/{package.json,package-lock.json}
 
-rm -f "$nixpkgs"/pkgs/applications/audio/open-stage-control/package.json
+# Update FOD hash
+curhash="$(nixeval "$attr.npmDeps.outputHash")"
+newhash="$(vendorhash "$attr.npmDeps")"
 
-# Update hash
-(cd "$nixpkgs" && update-source-version "${UPDATE_NIX_ATTR_PATH:-open-stage-control}" "${tag#v}")
+if [ -n "$newhash" ] && [ "$curhash" != "$newhash" ]; then
+    sed -i -e "s|\"$curhash\"|\"$newhash\"|" "$pkgpath"
+else
+    echo 'update.sh: New npmDepsHash same as old npmDepsHash, nothing to do.'
+fi
diff --git a/pkgs/applications/audio/pianobooster/default.nix b/pkgs/applications/audio/pianobooster/default.nix
index 2c58ecc5dcbb3..7d62aa61d6b0b 100644
--- a/pkgs/applications/audio/pianobooster/default.nix
+++ b/pkgs/applications/audio/pianobooster/default.nix
@@ -1,29 +1,69 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, qttools
-, alsa-lib, ftgl, libGLU, libjack2, qtbase, rtmidi, wrapQtAppsHook
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+, qttools
+, alsa-lib
+, ftgl
+, libGLU
+, qtbase
+, rtmidi
+, libjack2
+, fluidsynth
+, soundfont-fluid
+, unzip
+, wrapQtAppsHook
 }:
 
 stdenv.mkDerivation rec {
   pname = "pianobooster";
-  version = "0.7.2b";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
-    owner = "captnfab";
+    owner = "pianobooster";
     repo = "PianoBooster";
     rev = "v${version}";
-    sha256 = "03xcdnlpsij22ca3i6xj19yqzn3q2ch0d32r73v0c96nm04gvhjj";
+    hash = "sha256-1WOlAm/HXSL6QK0Kd1mnFEZxxpMseTG+6WzgMNWt+RA=";
   };
 
-  nativeBuildInputs = [ cmake pkg-config qttools wrapQtAppsHook ];
+  postPatch = ''
+    substituteInPlace src/Settings.cpp src/GuiMidiSetupDialog.cpp \
+      --replace "/usr/share/soundfonts" "${soundfont-fluid}/share/soundfonts" \
+      --replace "FluidR3_GM.sf2" "FluidR3_GM2-2.sf2"
+  '';
 
-  buildInputs = [ alsa-lib ftgl libGLU libjack2 qtbase rtmidi ];
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    qttools
+    wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    alsa-lib
+    ftgl
+    libGLU
+    qtbase
+    rtmidi
+    libjack2
+    fluidsynth
+  ];
 
   cmakeFlags = [
     "-DOpenGL_GL_PREFERENCE=GLVND"
+    "-DUSE_JACK=ON"
   ];
 
+  postInstall = ''
+    qtWrapperArgs+=(
+      --prefix PATH : "${lib.makeBinPath [ unzip ]}"
+    )
+  '';
+
   meta = with lib; {
     description = "A MIDI file player that teaches you how to play the piano";
-    homepage = "https://github.com/captnfab/PianoBooster";
+    homepage = "https://github.com/pianobooster/PianoBooster";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ goibhniu orivej ];
diff --git a/pkgs/applications/audio/picard/default.nix b/pkgs/applications/audio/picard/default.nix
index ae81b13597e15..9db6656dd38dc 100644
--- a/pkgs/applications/audio/picard/default.nix
+++ b/pkgs/applications/audio/picard/default.nix
@@ -1,6 +1,7 @@
 { lib
 , python3Packages
 , fetchFromGitHub
+, fetchpatch
 , gettext
 , chromaprint
 , qt5
@@ -27,6 +28,15 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "sha256-KUHciIlwaKXvyCCkAzdh1vpe9cunDizrMUl0SoCpxgY=";
   };
 
+  patches = [
+    # fix for tests failing with newer mutagen, remove after >2.8.3
+    # https://tickets.metabrainz.org/browse/PICARD-2583
+    (fetchpatch {
+      url = "https://github.com/metabrainz/picard/commit/76c2dff6b61140bbc7675c9e9f62a086b885e539.patch";
+      hash = "sha256-V1/oq1tEcb1mtqbYAA9o7mJcw16vRO0IK3GGmJkwO1Q=";
+    })
+  ];
+
   nativeBuildInputs = [ gettext qt5.wrapQtAppsHook qt5.qtbase ]
   ++ lib.optionals (pyqt5.multimediaEnabled) [
     qt5.qtmultimedia.bin
diff --git a/pkgs/applications/audio/plexamp/default.nix b/pkgs/applications/audio/plexamp/default.nix
index 6c9a3aa418fe5..ae9ab6229e2fc 100644
--- a/pkgs/applications/audio/plexamp/default.nix
+++ b/pkgs/applications/audio/plexamp/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "plexamp";
-  version = "4.4.0";
+  version = "4.5.2";
 
   src = fetchurl {
     url = "https://plexamp.plex.tv/plexamp.plex.tv/desktop/Plexamp-${version}.AppImage";
     name="${pname}-${version}.AppImage";
-    sha512 = "VYdeZUgVWDce9XGyf5AnwPV/Ja6p2i3IRAcnSj7J7KqTUdgoNsPl4gqs4HcdrSCEX8PfloimJihoBuEKtgXcNA==";
+    sha512 = "/0CW5S5n4xh9FF/Sfxl3H0bNCpbUfz4ik4ptVTIwvEcXw2NoKS5dLxFSTn9lfVZAV+UfzSqcrWH5HknN+o5wQw==";
   };
 
   appimageContents = appimageTools.extractType2 {
@@ -33,7 +33,7 @@ in appimageTools.wrapType2 {
   meta = with lib; {
     description = "A beautiful Plex music player for audiophiles, curators, and hipsters";
     homepage = "https://plexamp.com/";
-    changelog = "https://forums.plex.tv/t/plexamp-release-notes/221280/46";
+    changelog = "https://forums.plex.tv/t/plexamp-release-notes/221280/47";
     license = licenses.unfree;
     maintainers = with maintainers; [ killercup synthetica ];
     platforms = [ "x86_64-linux" ];
diff --git a/pkgs/applications/audio/pocket-casts/default.nix b/pkgs/applications/audio/pocket-casts/default.nix
index 7b7bf50a2f83f..528cc18cbe46c 100644
--- a/pkgs/applications/audio/pocket-casts/default.nix
+++ b/pkgs/applications/audio/pocket-casts/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pocket-casts";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchurl {
     url = "https://github.com/felicianotech/pocket-casts-desktop-app/releases/download/v${version}/${pname}_${version}_amd64.deb";
-    sha256 = "sha256-frBtIxwRO/6k6j0itqN10t+9AyNadqXm8vC1YP960ts=";
+    sha256 = "sha256-nHdF9RDOkM9HwwmK/axiIPM4nmKrWp/FHNC/EI1vTTc=";
   };
 
   nativeBuildInputs = [
@@ -18,31 +18,32 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ alsa-lib gtk3 libXScrnSaver libXtst mesa nss ];
 
-  dontBuild = true;
-  dontConfigure = true;
-
-  unpackPhase = ''
-    dpkg-deb -x ${src} ./
+  unpackCmd = ''
+    # If unpacking using -x option, there is a permission error
+    dpkg-deb --fsys-tarfile $src | tar -x --no-same-permissions --no-same-owner;
   '';
 
   installPhase = ''
     runHook preInstall
 
-    mv usr $out
-    mv opt $out
-    mv "$out/opt/Pocket Casts" $out/opt/pocket-casts
-    mv $out/share/icons/hicolor/0x0 $out/share/icons/hicolor/256x256
+    mkdir -p $out
+    mv bin $out
+    mv lib $out
+    mv share $out
+
+    cp $out/lib/pocket-casts/resources/app/icon.png $out/share/pixmaps/pocket-casts.png
 
     runHook postInstall
   '';
 
   postFixup = ''
     substituteInPlace $out/share/applications/pocket-casts.desktop \
-      --replace '"/opt/Pocket Casts/pocket-casts"' $out/bin/pocket-casts \
-      --replace '/usr/share/icons/hicolor/0x0/apps/pocket-casts.png' "pocket-casts"
+      --replace Name=pocket-casts "Name=Pocket Casts" \
+      --replace GenericName=pocket-casts "GenericName=Podcasts App" \
+      --replace Exec=pocket-casts Exec=$out/bin/pocket-casts
     makeWrapper ${electron}/bin/electron \
       $out/bin/pocket-casts \
-      --add-flags $out/opt/pocket-casts/resources/app.asar
+      --add-flags $out/lib/pocket-casts/resources/app/main.js
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/audio/polyphone/default.nix b/pkgs/applications/audio/polyphone/default.nix
index 5e7c3f2b85ce7..568f3b6ba151b 100644
--- a/pkgs/applications/audio/polyphone/default.nix
+++ b/pkgs/applications/audio/polyphone/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, lib, mkDerivation, fetchFromGitHub, qmake, pkg-config, alsa-lib, libjack2, portaudio, libogg, flac, libvorbis, rtmidi, qtsvg }:
+{ stdenv, lib, mkDerivation, fetchFromGitHub, qmake, pkg-config, alsa-lib, libjack2, portaudio, libogg, flac, libvorbis, rtmidi, qtsvg, qttools }:
 
 mkDerivation rec {
-  version = "2.2.0";
+  version = "2.3.0";
   pname = "polyphone";
 
   src = fetchFromGitHub {
     owner = "davy7125";
     repo = "polyphone";
     rev = version;
-    sha256 = "0w5pidzhpwpggjn5la384fvjzkvprvrnidb06068whci11kgpbp7";
+    sha256 = "09habv51pw71wrb39shqi80i2w39dx5a39klzswsald5j9sia0ir";
   };
 
   buildInputs = [
@@ -22,7 +22,7 @@ mkDerivation rec {
     qtsvg
   ];
 
-  nativeBuildInputs = [ qmake pkg-config ];
+  nativeBuildInputs = [ qmake qttools pkg-config ];
 
   preConfigure = ''
     cd ./sources/
diff --git a/pkgs/applications/audio/praat/default.nix b/pkgs/applications/audio/praat/default.nix
index d05a12ec30af3..5dd17a74f491b 100644
--- a/pkgs/applications/audio/praat/default.nix
+++ b/pkgs/applications/audio/praat/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "praat";
-  version = "6.2.23";
+  version = "6.3";
 
   src = fetchFromGitHub {
     owner = "praat";
     repo = "praat";
     rev = "v${version}";
-    sha256 = "sha256-gl+kT8wXLCWnNmOBx6Vg+FbmJ8kJ8pJKsahpqcYw9Lk=";
+    sha256 = "sha256-/XSBUM6HkANATl1Y9vs8mQFgBTyVeCv8TxcaIdP/Nm8=";
   };
 
   configurePhase = ''
diff --git a/pkgs/applications/audio/psst/default.nix b/pkgs/applications/audio/psst/default.nix
index a3d05f97e45e2..9e7795401aa3e 100644
--- a/pkgs/applications/audio/psst/default.nix
+++ b/pkgs/applications/audio/psst/default.nix
@@ -11,19 +11,20 @@ let
     icon = "psst";
     terminal = false;
   };
+
 in
 rustPlatform.buildRustPackage rec {
   pname = "psst";
-  version = "unstable-2022-05-19";
+  version = "unstable-2022-10-13";
 
   src = fetchFromGitHub {
     owner = "jpochyla";
     repo = pname;
-    rev = "e403609e0916fe664fb1f28c7a259d01fa69b0e9";
-    sha256 = "sha256-hpAP/m9aJsfh9FtwLqaKFZllnCQn9OSYLWuNZakZJnk=";
+    rev = "d70ed8104533dc15bc36b989ba8428872c9b578f";
+    hash = "sha256-ZKhHN0ruLb6ZVKkrKv/YawRsVop6SP1QF/nrtkmA8P8=";
   };
 
-  cargoSha256 = "sha256-gQ0iI2wTS5n5pItmQCmFXDs5L8nA2w5ZrZyZtpMlUro=";
+  cargoSha256 = "sha256-TDxoRWQAzrgPElEEDNYkk3XX2i+LnNLMuY/J3pb3Xlk=";
   # specify the subdirectory of the binary crate to build from the workspace
   buildAndTestSubdir = "psst-gui";
 
@@ -41,10 +42,8 @@ rustPlatform.buildRustPackage rec {
   ];
 
   postInstall = ''
-    mkdir -pv $out/share/icons/hicolor/512x512/apps
     install -Dm444 psst-gui/assets/logo_512.png $out/share/icons/hicolor/512x512/apps/${pname}.png
-    mkdir -pv $out/share/applications
-    ln -s ${desktopItem}/share/applications/* $out/share/applications
+    install -Dm444 -t $out/share/applications ${desktopItem}/share/applications/*
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/audio/ptcollab/default.nix b/pkgs/applications/audio/ptcollab/default.nix
index 54d3fec5cabb7..842b8f0aa0702 100644
--- a/pkgs/applications/audio/ptcollab/default.nix
+++ b/pkgs/applications/audio/ptcollab/default.nix
@@ -13,13 +13,13 @@
 
 mkDerivation rec {
   pname = "ptcollab";
-  version = "0.6.4.1";
+  version = "0.6.4.5";
 
   src = fetchFromGitHub {
     owner = "yuxshao";
     repo = "ptcollab";
     rev = "v${version}";
-    sha256 = "sha256-/Z0UDxZtVnGKVmscNCZAvTGMALq/uMd7/h3r/QvUs0M=";
+    sha256 = "sha256-O7CNPMS0eRcqt2xAtyEFyLSV8U2xbxuV1DpBxZAFwQs=";
   };
 
   nativeBuildInputs = [ qmake pkg-config ];
diff --git a/pkgs/applications/audio/puddletag/default.nix b/pkgs/applications/audio/puddletag/default.nix
index 320b837ab878f..705820950b0da 100644
--- a/pkgs/applications/audio/puddletag/default.nix
+++ b/pkgs/applications/audio/puddletag/default.nix
@@ -1,4 +1,8 @@
-{ lib, fetchFromGitHub, python3Packages, wrapQtAppsHook }:
+{ lib
+, fetchFromGitHub
+, python3
+, wrapQtAppsHook
+}:
 
 # As of 2.1, puddletag has started pinning versions of all dependencies that it
 # was built against which is an issue as the chances of us having the exact same
@@ -14,18 +18,11 @@
 # ignoring the pinned versions, it's just something we will have to accept
 # unless we want to vendor those versions.
 
-let
-  # NOTE: check if we can drop any of these overrides when bumping the version
-  overrideVersions = [
-    "lxml"
-    "pyparsing"
-    "pyqt5"
-  ];
 
-in
-python3Packages.buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "puddletag";
   version = "2.2.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "puddletag";
@@ -34,33 +31,37 @@ python3Packages.buildPythonApplication rec {
     hash = "sha256-KaFfpOWI9u2ZC/3kuCLneWOOKSmAaIuHPFHptkKMH/g=";
   };
 
+  pythonRelaxDeps = true;
+
+  pythonRemoveDeps = [
+    "chromaprint"
+    "pyqt5-qt5"
+  ];
+
   postPatch = ''
     substituteInPlace setup.py \
       --replace share/pixmaps share/icons
+  '';
 
-    cp requirements.in requirements.txt
-    sed -i requirements.txt -e 's/^chromaprint$//'
-  '' + lib.concatMapStringsSep "\n"
-    (e: ''
-      sed -i requirements.txt -e 's/^${e}.*/${e}/'
-    '')
-    overrideVersions;
-
-  nativeBuildInputs = [ wrapQtAppsHook ];
+  nativeBuildInputs = [
+    python3.pkgs.pythonRelaxDepsHook
+    wrapQtAppsHook
+  ];
 
-  propagatedBuildInputs = with python3Packages; [
-    pyacoustid
+  propagatedBuildInputs = with python3.pkgs; [
     configobj
     levenshtein
     lxml
     mutagen
+    pyacoustid
     pyparsing
     pyqt5
     rapidfuzz
   ];
 
+  # the file should be executable but it isn't so our wrapper doesn't run
   preFixup = ''
-    makeWrapperArgs+=("''${qtWrapperArgs[@]}")
+    chmod 555 $out/bin/puddletag
   '';
 
   doCheck = false; # there are no tests
diff --git a/pkgs/applications/audio/pulseeffects-legacy/default.nix b/pkgs/applications/audio/pulseeffects-legacy/default.nix
index 2a775369d26ab..53d2a998fbe2e 100644
--- a/pkgs/applications/audio/pulseeffects-legacy/default.nix
+++ b/pkgs/applications/audio/pulseeffects-legacy/default.nix
@@ -45,13 +45,13 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "pulseeffects";
-  version = "4.8.4";
+  version = "4.8.7";
 
   src = fetchFromGitHub {
     owner = "wwmm";
     repo = "pulseeffects";
     rev = "v${version}";
-    sha256 = "19sndxvszafbd1l2033g2irpx2jrwi5bpbx8r35047wi0z7djiag";
+    sha256 = "sha256-ldvcA8aTHOgaascH6MF4CzmJ8I2rYOiR0eAkCZzvK/M=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix
index bed02f77e7b24..6eea4562de993 100644
--- a/pkgs/applications/audio/qmmp/default.nix
+++ b/pkgs/applications/audio/qmmp/default.nix
@@ -1,4 +1,4 @@
-{ lib, mkDerivation, fetchurl, cmake, pkg-config, xlibsWrapper
+{ lib, mkDerivation, fetchurl, cmake, pkg-config
 , qtbase, qttools, qtmultimedia, qtx11extras
 # transports
 , curl, libmms
@@ -40,7 +40,7 @@ mkDerivation rec {
   nativeBuildInputs = [ cmake pkg-config ];
   buildInputs =
     [ # basic requirements
-      qtbase qttools qtmultimedia qtx11extras xlibsWrapper
+      qtbase qttools qtmultimedia qtx11extras
       # transports
       curl libmms
       # input plugins
diff --git a/pkgs/applications/audio/radioboat/default.nix b/pkgs/applications/audio/radioboat/default.nix
index e121527152070..bd73237f79f62 100644
--- a/pkgs/applications/audio/radioboat/default.nix
+++ b/pkgs/applications/audio/radioboat/default.nix
@@ -11,16 +11,16 @@
 
 buildGoModule rec {
   pname = "radioboat";
-  version = "0.2.2";
+  version = "0.2.3";
 
   src = fetchFromGitHub {
     owner = "slashformotion";
     repo = "radioboat";
     rev = "v${version}";
-    sha256 = "sha256-e6SZv5gb7NOpCU3blFsH7A6ETWL8QlxtpDmmk8DKn8I=";
+    sha256 = "sha256-nY8h09SDTQPKLAHgWr3q8yRGtw3bIWvAFVu05rqXPcg=";
   };
 
-  vendorSha256 = "sha256-X3KiqaiOQYQBfVckh50C+4oxIVN6gXyNuQtBwGvjdFQ=";
+  vendorSha256 = "sha256-76Q77BXNe6NGxn6ocYuj58M4aPGCWTekKV5tOyxBv2U=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/applications/audio/sidplayfp/default.nix b/pkgs/applications/audio/sidplayfp/default.nix
index 9aef427f509f5..95a40b1a998e2 100644
--- a/pkgs/applications/audio/sidplayfp/default.nix
+++ b/pkgs/applications/audio/sidplayfp/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sidplayfp";
-  version = "2.2.3";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "libsidplayfp";
     repo = "sidplayfp";
     rev = "v${version}";
-    sha256 = "sha256-R60Dh19GYM157ysmN8EOJ47eO8a7sdkEEF1TObG1xzk=";
+    sha256 = "sha256-7a09ec/Ap6XCnmQekLnXbH9kPP3io4+A72dVSfp3krs=";
   };
 
   nativeBuildInputs = [ autoreconfHook perl pkg-config ];
diff --git a/pkgs/applications/audio/sony-headphones-client/default.nix b/pkgs/applications/audio/sony-headphones-client/default.nix
index 127b2a5b1a93e..c4491cd2a0dc2 100644
--- a/pkgs/applications/audio/sony-headphones-client/default.nix
+++ b/pkgs/applications/audio/sony-headphones-client/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "SonyHeadphonesClient";
-  version = "1.2";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "Plutoberth";
     repo = "SonyHeadphonesClient";
     rev = "v${version}";
-    sha256 = "sha256-oejXrs9X+R6Jydro0XIw2XifzFA7asDhpobtaE3//Hc=";
+    hash = "sha256-0DQanrglJiGsN8qQ5KxkL8I+Fpt1abeeuKiM8v9GclM=";
     fetchSubmodules = true;
   };
 
@@ -19,8 +19,6 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [ "-Wno-dev" ];
 
-  patches = [ ./gcc.patch ];
-
   postPatch = ''
     substituteInPlace Constants.h \
       --replace "UNKNOWN = -1" "// UNKNOWN removed since it doesn't fit in char"
diff --git a/pkgs/applications/audio/sony-headphones-client/gcc.patch b/pkgs/applications/audio/sony-headphones-client/gcc.patch
deleted file mode 100644
index 31050e4789e72..0000000000000
--- a/pkgs/applications/audio/sony-headphones-client/gcc.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff --git a/SingleInstanceFuture.h b/SingleInstanceFuture.h
-index 8af733f..d2e6c49 100644
---- a/SingleInstanceFuture.h
-+++ b/SingleInstanceFuture.h
-@@ -12,13 +12,13 @@ template <class T>
- class SingleInstanceFuture : public std::future<T>
- {
- public:
--	SingleInstanceFuture<T>() = default;
-+	SingleInstanceFuture(void) = default;
- 	template<class Func, class... Args>
- 	void setFromAsync(Func func, Args&&... args) noexcept(false);
- 	bool ready();
- 
- private:
--	SingleInstanceFuture<T>(std::future<T> other);
-+	SingleInstanceFuture(std::future<T> other);
- 	SingleInstanceFuture<T> operator=(std::future<T>& other);
- };
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index ecbdaec7f28af..2c821ec6b4c88 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -2,6 +2,9 @@
 , glib, pango, cairo, atk, gdk-pixbuf, gtk3, cups, nspr, nss, libpng, libnotify
 , libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg, curlWithGnuTls, zlib, gnome
 , at-spi2-atk, at-spi2-core, libpulseaudio, libdrm, mesa, libxkbcommon
+  # High-DPI support: Spotify's --force-device-scale-factor argument
+  # not added if `null`, otherwise, should be a number.
+, deviceScaleFactor ? null
 }:
 
 let
@@ -67,7 +70,7 @@ let
 in
 
 stdenv.mkDerivation {
-  pname = "spotify-unwrapped";
+  pname = "spotify";
   inherit version;
 
   # fetch from snapcraft instead of the debian repository most repos fetch from.
@@ -143,6 +146,9 @@ stdenv.mkDerivation {
       librarypath="${lib.makeLibraryPath deps}:$libdir"
       wrapProgram $out/share/spotify/spotify \
         ''${gappsWrapperArgs[@]} \
+        ${lib.optionalString (deviceScaleFactor != null) ''
+          --add-flags "--force-device-scale-factor=${toString deviceScaleFactor}" \
+        ''} \
         --prefix LD_LIBRARY_PATH : "$librarypath" \
         --prefix PATH : "${gnome.zenity}/bin"
 
diff --git a/pkgs/applications/audio/spotify/wrapper.nix b/pkgs/applications/audio/spotify/wrapper.nix
deleted file mode 100644
index 418ef3cbc03e6..0000000000000
--- a/pkgs/applications/audio/spotify/wrapper.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ symlinkJoin
-, lib
-, spotify-unwrapped
-, makeWrapper
-
-  # High-DPI support: Spotify's --force-device-scale-factor argument; not added
-  # if `null`, otherwise, should be a number.
-, deviceScaleFactor ? null
-}:
-
-symlinkJoin {
-  name = "spotify-${spotify-unwrapped.version}";
-
-  paths = [ spotify-unwrapped.out ];
-
-  nativeBuildInputs = [ makeWrapper ];
-  preferLocalBuild = true;
-  passthru.unwrapped = spotify-unwrapped;
-  postBuild = ''
-    wrapProgram $out/bin/spotify \
-        ${lib.optionalString (deviceScaleFactor != null) ''
-            --add-flags ${lib.escapeShellArg "--force-device-scale-factor=${
-                builtins.toString deviceScaleFactor
-              }"}
-        ''}
-  '';
-
-  meta = spotify-unwrapped.meta // {
-    priority = (spotify-unwrapped.meta.priority or 0) - 1;
-  };
-}
diff --git a/pkgs/applications/audio/spotifywm/default.nix b/pkgs/applications/audio/spotifywm/default.nix
index 2241db126b81c..0d03e74b623ab 100644
--- a/pkgs/applications/audio/spotifywm/default.nix
+++ b/pkgs/applications/audio/spotifywm/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchFromGitHub, spotify, xorg, runtimeShell }:
 stdenv.mkDerivation {
   pname = "spotifywm-unstable";
-  version = "2016-11-28";
+  version = "2022-10-26";
 
   src = fetchFromGitHub {
-    owner  = "dasJ";
-    repo   = "spotifywm";
-    rev    = "91dd5532ffb7a398d775abe94fe7781904ab406f";
-    sha256 = "01z088i83410bpx1vbp7c6cq01r431v55l7340x3izp53lnpp379";
+    owner = "dasJ";
+    repo = "spotifywm";
+    rev = "8624f539549973c124ed18753881045968881745";
+    sha256 = "sha256-AsXqcoqUXUFxTG+G+31lm45gjP6qGohEnUSUtKypew0=";
   };
 
   buildInputs = [ xorg.libX11 ];
diff --git a/pkgs/applications/audio/squeezelite/default.nix b/pkgs/applications/audio/squeezelite/default.nix
index e13a791ccbbc9..f5f1feacb00cc 100644
--- a/pkgs/applications/audio/squeezelite/default.nix
+++ b/pkgs/applications/audio/squeezelite/default.nix
@@ -34,13 +34,13 @@ stdenv.mkDerivation {
   pname = binName;
   # versions are specified in `squeezelite.h`
   # see https://github.com/ralph-irving/squeezelite/issues/29
-  version = "1.9.9.1403";
+  version = "1.9.9.1411";
 
   src = fetchFromGitHub {
     owner = "ralph-irving";
     repo = "squeezelite";
-    rev = "bc72c0de3fff771540a2a45aaafafed539387b3c";
-    hash = "sha256-205i61mbeQG2MzSE9NtPHSuNeyMbjZzbZVCFFzjqKqQ=";
+    rev = "ca44fc6e258bb413d6281d927063b25940f42e5c";
+    hash = "sha256-aZ+2nyy6tK3VwgTCWGoNaU4//kkHUzd6DZSfTEIgbvY=";
   };
 
   buildInputs = [ flac libmad libvorbis mpg123 ]
@@ -82,7 +82,7 @@ stdenv.mkDerivation {
     description = "Lightweight headless squeezebox client emulator";
     homepage = "https://github.com/ralph-irving/squeezelite";
     license = with licenses; [ gpl3Plus ] ++ optional dsdSupport bsd2;
-    maintainers = with maintainers; [ samdoshi ];
+    maintainers = with maintainers; [ adamcstephens ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/tagger/default.nix b/pkgs/applications/audio/tagger/default.nix
index 97751d6107c13..d7cfd5d75aaa3 100644
--- a/pkgs/applications/audio/tagger/default.nix
+++ b/pkgs/applications/audio/tagger/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tagger";
-  version = "2022.10.4";
+  version = "2022.11.1-f1";
 
   src = fetchFromGitHub {
     owner = "nlogozzo";
     repo = "NickvisionTagger";
     rev = version;
-    hash = "sha256-I4jhlz/dmS24nszP755xlYMF6aLhmAxlv6Td4xFbr3U=";
+    hash = "sha256-JeQTWs3TSs3Y+WGRR0bHINQr0OuS95dDxo+MkWte2Qw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/tauon/default.nix b/pkgs/applications/audio/tauon/default.nix
index 6c39fdcf5fc08..24c8e610a692d 100644
--- a/pkgs/applications/audio/tauon/default.nix
+++ b/pkgs/applications/audio/tauon/default.nix
@@ -25,13 +25,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tauon";
-  version = "7.4.2";
+  version = "7.4.3";
 
   src = fetchFromGitHub {
     owner = "Taiko2k";
     repo = "TauonMusicBox";
     rev = "v${version}";
-    sha256 = "sha256-fEEu7GqK1leOop3kd1Ci9BAH2bP31jvTOg3DEL8lIF4=";
+    sha256 = "sha256-eB4fwW5UvylVslSEvDFdCVYcEK3M2H+8VJGHH13vvA0=";
   };
 
   postUnpack = ''
diff --git a/pkgs/applications/audio/tenacity/default.nix b/pkgs/applications/audio/tenacity/default.nix
index 89051e70b5193..525a743965c27 100644
--- a/pkgs/applications/audio/tenacity/default.nix
+++ b/pkgs/applications/audio/tenacity/default.nix
@@ -1,8 +1,10 @@
 { stdenv
 , lib
-, fetchFromSourcehut
+, fetchFromGitHub
+, fetchpatch
 , cmake
-, wxGTK
+, wxGTK32
+, gtk3
 , pkg-config
 , python3
 , gettext
@@ -47,15 +49,23 @@
 
 stdenv.mkDerivation rec {
   pname = "tenacity";
-  version = "unstable-2021-10-18";
+  version = "unstable-2022-06-30";
 
-  src = fetchFromSourcehut {
-    owner = "~tenacity";
-    repo = "tenacity";
-    rev = "697c0e764ccb19c1e2f3073ae08ecdac7aa710e4";
-    sha256 = "1fc9xz8lyl8si08wkzncpxq92vizan60c3640qr4kbnxg7vi2iy4";
+  src = fetchFromGitHub {
+    owner = "tenacityteam";
+    repo = pname;
+    rev = "91f8b4340b159af551fff94a284c6b0f704a7932";
+    sha256 = "sha256-4VWckXzqo2xspw9eUloDvjxQYbsHn6ghEDw+hYqJcCE=";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://aur.archlinux.org/cgit/aur.git/plain/wxwidgets-gtk3-3.1.6-plus.patch?h=tenacity-wxgtk3-git&id=c2503538fa7d7001181905988179952d09f69659";
+      postFetch = "echo >> $out";
+      sha256 = "sha256-xRY1tizBJ9CBY6e9oZVz4CWx7DWPGD9A9Ysol4prBww=";
+    })
+  ];
+
   postPatch = ''
     touch src/RevisionIdent.h
 
@@ -123,8 +133,8 @@ stdenv.mkDerivation rec {
     sratom
     suil
     twolame
-    wxGTK
-    wxGTK.gtk
+    wxGTK32
+    gtk3
   ] ++ lib.optionals stdenv.isLinux [
     at-spi2-core
     dbus
diff --git a/pkgs/applications/audio/termusic/default.nix b/pkgs/applications/audio/termusic/default.nix
index 5cf216a6e21b1..08420191127de 100644
--- a/pkgs/applications/audio/termusic/default.nix
+++ b/pkgs/applications/audio/termusic/default.nix
@@ -7,14 +7,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "termusic";
-  version = "0.7.3";
+  version = "0.7.5";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-5I9Fu+A5IBfaxaPcYKTzWq3/8ts0BPSOOVeU6D61dbc=";
+    sha256 = "sha256-/wpaxXY0hT7XX44cW1f3JuowE5u46/aLMC2VXgty/jE=";
   };
 
-  cargoHash = "sha256-R/hElL0MjeBqboJTQkIREPOh+/YbdKtUAzqPD6BpSPs=";
+  cargoHash = "sha256-TznzZ1dcun57IQ8e2T2FOxSdyqxS6etnuvxOY8n1y14=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ alsa-lib ];
diff --git a/pkgs/applications/audio/whipper/default.nix b/pkgs/applications/audio/whipper/default.nix
index dfe540f04e65c..e3c4b45224897 100644
--- a/pkgs/applications/audio/whipper/default.nix
+++ b/pkgs/applications/audio/whipper/default.nix
@@ -2,6 +2,7 @@
 , python3
 , fetchFromGitHub
 , fetchpatch
+, installShellFiles
 , libcdio-paranoia
 , cdrdao
 , libsndfile
@@ -35,6 +36,8 @@ in python3.pkgs.buildPythonApplication rec {
   ];
 
   nativeBuildInputs = with python3.pkgs; [
+    installShellFiles
+
     setuptools-scm
     docutils
     setuptoolsCheckHook
@@ -65,6 +68,11 @@ in python3.pkgs.buildPythonApplication rec {
     export SETUPTOOLS_SCM_PRETEND_VERSION="${version}"
   '';
 
+  outputs = [ "out" "man" ];
+  postBuild = ''
+    make -C man
+  '';
+
   preCheck = ''
     # disable tests that require internet access
     # https://github.com/JoeLametta/whipper/issues/291
@@ -73,6 +81,10 @@ in python3.pkgs.buildPythonApplication rec {
     export HOME=$TMPDIR
   '';
 
+  postInstall = ''
+    installManPage man/*.1
+  '';
+
   passthru.tests.version = testers.testVersion {
     package = whipper;
     command = "HOME=$TMPDIR whipper --version";
diff --git a/pkgs/applications/audio/youtube-music/default.nix b/pkgs/applications/audio/youtube-music/default.nix
new file mode 100644
index 0000000000000..ac28733c81bc3
--- /dev/null
+++ b/pkgs/applications/audio/youtube-music/default.nix
@@ -0,0 +1,36 @@
+{ lib, fetchurl, appimageTools, }:
+
+let
+  pname = "youtube-music";
+  version = "1.17.0";
+
+  src = fetchurl {
+    url = "https://github.com/th-ch/youtube-music/releases/download/v${version}/YouTube-Music-${version}.AppImage";
+    sha256 = "sha256-3QNmCek6UD0WNaqalIksYWLHGfMgetLRLi8mEM1J39I=";
+  };
+
+  appimageContents = appimageTools.extract { inherit pname version src; };
+in
+appimageTools.wrapType2 rec {
+  inherit pname version src;
+
+  extraInstallCommands = ''
+    mv $out/bin/{${pname}-${version},${pname}}
+    install -m 444 \
+        -D ${appimageContents}/youtube-music.desktop \
+        -t $out/share/applications
+    substituteInPlace \
+        $out/share/applications/youtube-music.desktop \
+        --replace 'Exec=AppRun' 'Exec=${pname}'
+    cp -r ${appimageContents}/usr/share/icons $out/share
+  '';
+
+  meta = with lib; {
+    description = "Electron wrapper around YouTube Music";
+    homepage = "https://th-ch.github.io/youtube-music/";
+    license = licenses.mit;
+    sourceProvenance = with sourceTypes; [ fromSource ];
+    platforms = platforms.linux;
+    maintainers = [ maintainers.aacebedo ];
+  };
+}
diff --git a/pkgs/applications/backup/ludusavi/default.nix b/pkgs/applications/backup/ludusavi/default.nix
new file mode 100644
index 0000000000000..e7826fc6e949c
--- /dev/null
+++ b/pkgs/applications/backup/ludusavi/default.nix
@@ -0,0 +1,85 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, cmake
+, pkg-config
+, makeWrapper
+, bzip2
+, fontconfig
+, freetype
+, libGL
+, libX11
+, libXcursor
+, libXrandr
+, libXi
+, gnome
+, kdialog
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "ludusavi";
+  version = "0.15.0";
+
+  src = fetchFromGitHub {
+    owner = "mtkennerly";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-3nh1EhjiH+dUBw3CNeFSg/+Wkxr5AYgVdM1HzVKbqJI=";
+  };
+
+  cargoSha256 = "sha256-l9jYqmKC0GJL9MSRbrNng4rO6/dx4q8EVCxfuin4v6E=";
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    makeWrapper
+  ];
+
+  buildInputs = [
+    fontconfig
+    freetype
+    libX11
+    libXcursor
+    libXrandr
+    libXi
+  ];
+
+  postInstall = ''
+    install -Dm644 assets/com.github.mtkennerly.ludusavi.metainfo.xml -t \
+      "$out/share/metainfo/"
+    install -Dm644 assets/icon.png \
+      "$out/share/icons/hicolor/64x64/apps/${pname}.png"
+    install -Dm644 assets/icon.svg \
+      "$out/share/icons/hicolor/scalable/apps/${pname}.svg"
+    install -Dm644 "assets/${pname}.desktop" -t "$out/share/applications/"
+    install -Dm644 assets/MaterialIcons-Regular.ttf -t "$out/share/fonts/TTF/"
+    install -Dm644 LICENSE -t "$out/share/licenses/${pname}/"
+  '';
+
+  postFixup =
+    let
+      libPath = lib.makeLibraryPath [
+        libGL
+        bzip2
+        fontconfig
+        freetype
+        libX11
+        libXcursor
+        libXrandr
+        libXi
+      ];
+    in
+    ''
+      patchelf --set-rpath "${libPath}" "$out/bin/$pname"
+      wrapProgram $out/bin/$pname --prefix PATH : ${lib.makeBinPath [ gnome.zenity kdialog ]}
+    '';
+
+
+  meta = with lib; {
+    description = "Backup tool for PC game saves";
+    homepage = "https://github.com/mtkennerly/ludusavi";
+    changelog = "https://github.com/mtkennerly/ludusavi/blob/v${version}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ pasqui23 ];
+  };
+}
diff --git a/pkgs/applications/virtualization/crosvm/Cargo.lock b/pkgs/applications/backup/proxmox-backup-client/Cargo.lock
index 646562bd27d6c..213f1ed497250 100644
--- a/pkgs/applications/virtualization/crosvm/Cargo.lock
+++ b/pkgs/applications/backup/proxmox-backup-client/Cargo.lock
@@ -3,36 +3,10 @@
 version = 3
 
 [[package]]
-name = "aarch64"
-version = "0.1.0"
-dependencies = [
- "arch",
- "base",
- "data_model",
- "devices",
- "hypervisor",
- "kernel_cmdline",
- "kernel_loader",
- "kvm",
- "kvm_sys",
- "libc",
- "memoffset 0.6.5",
- "minijail",
- "remain",
- "resources",
- "sync",
- "thiserror",
- "vm_control",
- "vm_memory",
-]
-
-[[package]]
-name = "acpi_tables"
-version = "0.1.0"
-dependencies = [
- "data_model",
- "tempfile",
-]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 
 [[package]]
 name = "aho-corasick"
@@ -44,15 +18,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "android_system_properties"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7ed72e1635e121ca3e79420540282af22da58be50de153d36f81ddc6b83aa9e"
-dependencies = [
- "libc",
-]
-
-[[package]]
 name = "ansi_term"
 version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -63,90 +28,15 @@ dependencies = [
 
 [[package]]
 name = "anyhow"
-version = "1.0.61"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "508b352bb5c066aac251f6daf6b36eccd03e8a88e8081cd44959ea277a3af9a8"
-
-[[package]]
-name = "arch"
-version = "0.1.0"
-dependencies = [
- "acpi_tables",
- "anyhow",
- "base",
- "devices",
- "gdbstub_arch",
- "hypervisor",
- "kernel_cmdline",
- "libc",
- "minijail",
- "power_monitor",
- "remain",
- "resources",
- "sync",
- "thiserror",
- "vm_control",
- "vm_memory",
-]
-
-[[package]]
-name = "argh"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7e7e4aa7e40747e023c0761dafcb42333a9517575bbf1241747f68dd3177a62"
-dependencies = [
- "argh_derive",
- "argh_shared",
-]
-
-[[package]]
-name = "argh_derive"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69f2bd7ff6ed6414f4e5521bd509bae46454bbd513801767ced3f21a751ab4bc"
-dependencies = [
- "argh_shared",
- "heck",
- "proc-macro2",
- "quote 1.0.21",
- "syn 1.0.99",
-]
-
-[[package]]
-name = "argh_helpers"
-version = "0.1.0"
-dependencies = [
- "proc-macro2",
- "quote 1.0.21",
- "syn 1.0.99",
-]
-
-[[package]]
-name = "argh_shared"
-version = "0.1.8"
+version = "1.0.63"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "47253b98986dafc7a3e1cf3259194f1f47ac61abb57a57f46ec09e48d004ecda"
-
-[[package]]
-name = "assertions"
-version = "0.1.0"
+checksum = "a26fa4d7e3f2eebadf743988fc8aec9fa9a9e82611acafd77c1462ed6262440a"
 
 [[package]]
-name = "async-task"
-version = "4.3.0"
+name = "arrayvec"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524"
-
-[[package]]
-name = "async-trait"
-version = "0.1.57"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76464446b8bc32758d7e88ee1a804d9914cd9b1cb264c029899680b0be29826f"
-dependencies = [
- "proc-macro2",
- "quote 1.0.21",
- "syn 1.0.99",
-]
+checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
 
 [[package]]
 name = "atty"
@@ -160,88 +50,38 @@ dependencies = [
 ]
 
 [[package]]
-name = "audio_streams"
-version = "0.1.0"
-dependencies = [
- "async-trait",
- "futures",
- "remain",
- "thiserror",
-]
-
-[[package]]
-name = "autocfg"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0dde43e75fd43e8a1bf86103336bc699aa8d17ad1be60c76c0bdfd4828e19b78"
-dependencies = [
- "autocfg 1.1.0",
-]
-
-[[package]]
 name = "autocfg"
 version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[package]]
-name = "balloon_control"
-version = "0.1.0"
-dependencies = [
- "serde",
-]
+name = "base64"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
 
 [[package]]
-name = "base"
-version = "0.1.0"
+name = "bindgen"
+version = "0.57.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd4865004a46a0aafb2a0a5eb19d3c9fc46ee5f063a6cfc605c69ac9ecf5263d"
 dependencies = [
- "audio_streams",
- "base_event_token_derive",
- "cfg-if",
- "chrono",
- "data_model",
+ "bitflags",
+ "cexpr",
+ "clang-sys",
+ "clap",
  "env_logger",
  "lazy_static",
- "libc",
+ "lazycell",
  "log",
- "once_cell",
- "rand 0.8.5",
- "regex",
- "remain",
- "serde",
- "serde_json",
- "smallvec",
- "sync",
- "tempfile",
- "thiserror",
- "uuid",
- "win_util",
- "winapi",
-]
-
-[[package]]
-name = "base_event_token_derive"
-version = "0.1.0"
-dependencies = [
- "proc-macro2",
+ "peeking_take_while",
+ "proc-macro2 1.0.43",
  "quote 1.0.21",
- "syn 1.0.99",
-]
-
-[[package]]
-name = "bit_field"
-version = "0.1.0"
-dependencies = [
- "bit_field_derive",
-]
-
-[[package]]
-name = "bit_field_derive"
-version = "0.1.0"
-dependencies = [
- "proc-macro2",
- "quote 1.0.21",
- "syn 1.0.99",
+ "regex",
+ "rustc-hash",
+ "shlex",
+ "which",
 ]
 
 [[package]]
@@ -251,51 +91,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
-name = "broker_ipc"
-version = "0.1.0"
-dependencies = [
- "anyhow",
- "base",
- "metrics",
- "serde",
-]
-
-[[package]]
 name = "bumpalo"
-version = "3.10.0"
+version = "3.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37ccbd214614c6783386c1af30caf03192f17891059cecc394b4fb119e363de3"
+checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d"
 
 [[package]]
-name = "byteorder"
-version = "1.4.3"
+name = "bytes"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db"
 
 [[package]]
-name = "cbindgen"
-version = "0.20.0"
+name = "cc"
+version = "1.0.73"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51e3973b165dc0f435831a9e426de67e894de532754ff7a3f307c03ee5dec7dc"
+checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
 dependencies = [
- "clap",
- "heck",
- "indexmap",
- "log",
- "proc-macro2",
- "quote 1.0.21",
- "serde",
- "serde_json",
- "syn 1.0.99",
- "tempfile",
- "toml",
+ "jobserver",
 ]
 
 [[package]]
-name = "cc"
-version = "1.0.73"
+name = "cexpr"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
+checksum = "f4aedb84272dbe89af497cf81375129abda4fc0a9e7c5d317498c15cc30c0d27"
+dependencies = [
+ "nom",
+]
 
 [[package]]
 name = "cfg-if"
@@ -304,19 +127,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
-name = "chrono"
-version = "0.4.22"
+name = "clang-sys"
+version = "1.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1"
+checksum = "5a050e2153c5be08febd6734e29298e844fdb0fa21aeddd63b4eb7baa106c69b"
 dependencies = [
- "iana-time-zone",
- "js-sys",
- "num-integer",
- "num-traits",
- "serde",
- "time",
- "wasm-bindgen",
- "winapi",
+ "glob",
+ "libc",
+ "libloading",
 ]
 
 [[package]]
@@ -335,27 +153,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "cloudabi"
-version = "0.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-dependencies = [
- "bitflags",
-]
-
-[[package]]
-name = "const-sha1"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb58b6451e8c2a812ad979ed1d83378caa5e927eef2622017a45f251457c2c9d"
-
-[[package]]
-name = "core-foundation-sys"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
-
-[[package]]
 name = "crc32fast"
 version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -365,342 +162,146 @@ dependencies = [
 ]
 
 [[package]]
-name = "cros_async"
-version = "0.1.1"
-dependencies = [
- "anyhow",
- "async-task",
- "async-trait",
- "audio_streams",
- "base",
- "cfg-if",
- "data_model",
- "futures",
- "futures-executor",
- "futures-util",
- "intrusive-collections",
- "io_uring",
- "libc",
- "once_cell",
- "paste",
- "pin-utils",
- "remain",
- "serde",
- "slab",
- "smallvec",
- "sync",
- "tempfile",
- "thiserror",
- "win_util",
- "winapi",
-]
-
-[[package]]
-name = "cros_fuzz"
-version = "0.1.0"
+name = "dirs"
+version = "4.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059"
 dependencies = [
- "rand_core 0.4.2",
+ "dirs-sys",
 ]
 
 [[package]]
-name = "crossbeam-utils"
-version = "0.8.11"
+name = "dirs-next"
+version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51887d4adc7b564537b15adcfb307936f8075dfcd5f00dde9a9f1d29383682bc"
+checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1"
 dependencies = [
  "cfg-if",
- "once_cell",
+ "dirs-sys-next",
 ]
 
 [[package]]
-name = "crosvm"
-version = "0.1.0"
-dependencies = [
- "aarch64",
- "acpi_tables",
- "anyhow",
- "arch",
- "argh",
- "argh_helpers",
- "assertions",
- "audio_streams",
- "base",
- "bit_field",
- "broker_ipc",
- "cfg-if",
- "crosvm_plugin",
- "data_model",
- "devices",
- "disk",
- "enumn",
- "gdbstub",
- "gdbstub_arch",
- "hypervisor",
- "kernel_cmdline",
- "kernel_loader",
- "kvm",
- "kvm_sys",
- "lazy_static",
- "libc",
- "libcras",
- "log",
- "metrics",
- "minijail",
- "net_util",
- "p9",
- "protobuf",
- "protos",
- "remain",
- "resources",
- "rutabaga_gfx",
- "scudo",
- "serde_json",
- "serde_keyvalue",
- "sync",
- "tempfile",
- "terminal_size",
- "thiserror",
- "tube_transporter",
- "uuid",
- "vhost",
- "vm_control",
- "vm_memory",
- "x86_64",
-]
-
-[[package]]
-name = "crosvm-fuzz"
-version = "0.0.1"
-dependencies = [
- "base",
- "cros_fuzz",
- "data_model",
- "devices",
- "disk",
- "fuse",
- "hypervisor",
- "kernel_loader",
- "libc",
- "rand 0.6.5",
- "tempfile",
- "usb_util",
- "vm_memory",
-]
-
-[[package]]
-name = "crosvm_control"
-version = "0.1.0"
+name = "dirs-sys"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
 dependencies = [
- "anyhow",
- "base",
- "cbindgen",
  "libc",
- "vm_control",
+ "redox_users",
+ "winapi",
 ]
 
 [[package]]
-name = "crosvm_plugin"
-version = "0.17.0"
+name = "dirs-sys-next"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"
 dependencies = [
- "base",
- "kvm",
- "kvm_sys",
  "libc",
- "protobuf",
- "protos",
+ "redox_users",
+ "winapi",
 ]
 
 [[package]]
-name = "data_model"
-version = "0.1.0"
+name = "endian_trait"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77c844962d33db56fe7024846eeb8db92c79ccb68d3752a0ee37c261ac79fd46"
 dependencies = [
- "assertions",
- "cfg-if",
- "libc",
- "remain",
- "serde",
- "thiserror",
- "winapi",
+ "endian_trait_derive",
 ]
 
 [[package]]
-name = "dbus"
-version = "0.9.6"
+name = "endian_trait_derive"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f8bcdd56d2e5c4ed26a529c5a9029f5db8290d433497506f958eae3be148eb6"
+checksum = "a03aff727e0a6b907127d45940d06dec1ca6c0c3df1fdfa647780c32d2b61ca0"
 dependencies = [
- "libc",
- "libdbus-sys",
- "winapi",
+ "quote 0.4.2",
+ "syn 0.12.15",
 ]
 
 [[package]]
-name = "derive-into-owned"
-version = "0.1.0"
+name = "env_logger"
+version = "0.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "576fce04d31d592013a5887ba8d9c3830adff329e5096d7e1eb5e8e61262ca62"
+checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3"
 dependencies = [
- "quote 0.3.15",
- "syn 0.11.11",
+ "atty",
+ "humantime",
+ "log",
+ "regex",
+ "termcolor",
 ]
 
 [[package]]
-name = "devices"
-version = "0.1.0"
+name = "filetime"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e94a7bbaa59354bc20dd75b67f23e2797b4490e9d6928203fb105c79e448c86c"
 dependencies = [
- "acpi_tables",
- "anyhow",
- "argh",
- "async-task",
- "audio_streams",
- "balloon_control",
- "base",
- "bit_field",
  "cfg-if",
- "cros_async",
- "data_model",
- "dbus",
- "disk",
- "enumn",
- "fuse",
- "futures",
- "gpu_display",
- "hypervisor",
- "kvm_sys",
  "libc",
- "libcras",
- "libvda",
- "linux_input_sys",
- "memoffset 0.6.5",
- "minijail",
- "net_sys",
- "net_util",
- "once_cell",
- "p9",
- "power_monitor",
- "protobuf",
- "protos",
- "rand 0.7.3",
- "remain",
- "resources",
- "rutabaga_gfx",
- "serde",
- "serde_json",
- "serde_keyvalue",
- "smallvec",
- "sync",
- "system_api",
- "tempfile",
- "thiserror",
- "tpm2",
- "usb_util",
- "uuid",
- "vfio_sys",
- "vhost",
- "virtio_sys",
- "vm_control",
- "vm_memory",
- "vmm_vhost",
+ "redox_syscall",
+ "windows-sys",
 ]
 
 [[package]]
-name = "disk"
-version = "0.1.0"
+name = "flate2"
+version = "1.0.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6"
 dependencies = [
- "async-trait",
- "base",
- "cfg-if",
  "crc32fast",
- "cros_async",
- "data_model",
- "futures",
- "libc",
- "protobuf",
- "protos",
- "remain",
- "serde",
- "tempfile",
- "thiserror",
- "uuid",
- "vm_memory",
+ "miniz_oxide",
 ]
 
 [[package]]
-name = "downcast-rs"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
-
-[[package]]
-name = "either"
-version = "1.7.0"
+name = "fnv"
+version = "1.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f107b87b6afc2a64fd13cac55fe06d6c8859f12d4b14cbcdd2c67d0976781be"
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
 
 [[package]]
-name = "enumn"
-version = "0.1.5"
+name = "foreign-types"
+version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "038b1afa59052df211f9efd58f8b1d84c242935ede1c3dbaed26b018a9e06ae2"
+checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
 dependencies = [
- "proc-macro2",
- "quote 1.0.21",
- "syn 1.0.99",
+ "foreign-types-shared",
 ]
 
 [[package]]
-name = "env_logger"
-version = "0.9.0"
+name = "foreign-types-shared"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3"
-dependencies = [
- "atty",
- "humantime",
- "log",
- "regex",
- "termcolor",
-]
+checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
 
 [[package]]
-name = "fastrand"
-version = "1.8.0"
+name = "form_urlencoded"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499"
+checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191"
 dependencies = [
- "instant",
+ "matches",
+ "percent-encoding",
 ]
 
 [[package]]
-name = "fnv"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-
-[[package]]
-name = "fuchsia-cprng"
-version = "0.1.1"
+name = "fs2"
+version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
-
-[[package]]
-name = "fuse"
-version = "0.1.0"
+checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213"
 dependencies = [
- "base",
- "bitflags",
- "crossbeam-utils",
- "data_model",
- "enumn",
  "libc",
- "remain",
- "thiserror",
+ "winapi",
 ]
 
 [[package]]
 name = "futures"
-version = "0.3.21"
+version = "0.3.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f73fe65f54d1e12b726f517d3e2135ca3125a437b6d998caf1962961f7172d9e"
+checksum = "7f21eda599937fba36daeb58a22e8f5cee2d14c4a17b5b7739c7c8e5e3b8230c"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -713,9 +314,9 @@ dependencies = [
 
 [[package]]
 name = "futures-channel"
-version = "0.3.21"
+version = "0.3.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010"
+checksum = "30bdd20c28fadd505d0fd6712cdfcb0d4b5648baf45faef7f852afb2399bb050"
 dependencies = [
  "futures-core",
  "futures-sink",
@@ -723,56 +324,55 @@ dependencies = [
 
 [[package]]
 name = "futures-core"
-version = "0.3.21"
+version = "0.3.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3"
+checksum = "4e5aa3de05362c3fb88de6531e6296e85cde7739cccad4b9dfeeb7f6ebce56bf"
 
 [[package]]
 name = "futures-executor"
-version = "0.3.21"
+version = "0.3.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9420b90cfa29e327d0429f19be13e7ddb68fa1cccb09d65e5706b8c7a749b8a6"
+checksum = "9ff63c23854bee61b6e9cd331d523909f238fc7636290b96826e9cfa5faa00ab"
 dependencies = [
  "futures-core",
  "futures-task",
  "futures-util",
- "num_cpus",
 ]
 
 [[package]]
 name = "futures-io"
-version = "0.3.21"
+version = "0.3.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc4045962a5a5e935ee2fdedaa4e08284547402885ab326734432bed5d12966b"
+checksum = "bbf4d2a7a308fd4578637c0b17c7e1c7ba127b8f6ba00b29f717e9655d85eb68"
 
 [[package]]
 name = "futures-macro"
-version = "0.3.21"
+version = "0.3.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33c1e13800337f4d4d7a316bf45a567dbcb6ffe087f16424852d97e97a91f512"
+checksum = "42cd15d1c7456c04dbdf7e88bcd69760d74f3a798d6444e16974b505b0e62f17"
 dependencies = [
- "proc-macro2",
+ "proc-macro2 1.0.43",
  "quote 1.0.21",
  "syn 1.0.99",
 ]
 
 [[package]]
 name = "futures-sink"
-version = "0.3.21"
+version = "0.3.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868"
+checksum = "21b20ba5a92e727ba30e72834706623d94ac93a725410b6a6b6fbc1b07f7ba56"
 
 [[package]]
 name = "futures-task"
-version = "0.3.21"
+version = "0.3.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a"
+checksum = "a6508c467c73851293f390476d4491cf4d227dbabcd4170f3bb6044959b294f1"
 
 [[package]]
 name = "futures-util"
-version = "0.3.21"
+version = "0.3.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a"
+checksum = "44fb6cb1be61cc1d2e43b262516aafcf63b241cffdb1d3fa115f91d9c7b09c90"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -787,129 +387,138 @@ dependencies = [
 ]
 
 [[package]]
-name = "gdbstub"
-version = "0.6.2"
+name = "getrandom"
+version = "0.2.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c1f9371c87c11642ee94dcf92cb48b1484ba250b8e8bff3df71c28651f3f4e7"
+checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6"
 dependencies = [
- "bitflags",
  "cfg-if",
- "log",
- "managed",
- "num-traits",
- "paste",
+ "libc",
+ "wasi",
 ]
 
 [[package]]
-name = "gdbstub_arch"
-version = "0.2.3"
+name = "glob"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c24f469ba9556c5a063d6df35a8a338025fccf96ecae44f330a156b686f7a268"
-dependencies = [
- "gdbstub",
- "num-traits",
-]
+checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
 
 [[package]]
-name = "getrandom"
-version = "0.1.16"
+name = "h2"
+version = "0.3.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
+checksum = "5ca32592cf21ac7ccab1825cd87f6c9b3d9022c44d086172ed0966bec8af30be"
 dependencies = [
- "cfg-if",
- "libc",
- "wasi 0.9.0+wasi-snapshot-preview1",
+ "bytes",
+ "fnv",
+ "futures-core",
+ "futures-sink",
+ "futures-util",
+ "http",
+ "indexmap",
+ "slab",
+ "tokio",
+ "tokio-util 0.7.3",
+ "tracing",
 ]
 
 [[package]]
-name = "getrandom"
-version = "0.2.7"
+name = "hashbrown"
+version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6"
-dependencies = [
- "cfg-if",
- "libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
-]
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
 
 [[package]]
-name = "gpu_display"
-version = "0.1.0"
+name = "hermit-abi"
+version = "0.1.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
 dependencies = [
- "base",
- "cc",
- "data_model",
  "libc",
- "linux_input_sys",
- "pkg-config",
- "remain",
- "thiserror",
 ]
 
 [[package]]
-name = "hashbrown"
-version = "0.12.3"
+name = "hex"
+version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+dependencies = [
+ "serde",
+]
 
 [[package]]
-name = "heck"
-version = "0.3.3"
+name = "http"
+version = "0.2.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
+checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399"
 dependencies = [
- "unicode-segmentation",
+ "bytes",
+ "fnv",
+ "itoa",
 ]
 
 [[package]]
-name = "hermit-abi"
-version = "0.1.19"
+name = "http-body"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
 dependencies = [
- "libc",
+ "bytes",
+ "http",
+ "pin-project-lite",
 ]
 
 [[package]]
+name = "httparse"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
+
+[[package]]
+name = "httpdate"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
+
+[[package]]
 name = "humantime"
 version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
 
 [[package]]
-name = "hypervisor"
-version = "0.1.0"
+name = "hyper"
+version = "0.14.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02c929dc5c39e335a03c405292728118860721b10190d98c2a0f0efd5baafbac"
 dependencies = [
- "base",
- "bit_field",
- "bitflags",
- "data_model",
- "downcast-rs",
- "enumn",
- "fnv",
- "kvm",
- "kvm_sys",
- "libc",
- "memoffset 0.6.5",
- "serde",
- "sync",
- "tempfile",
- "vm_memory",
- "win_util",
- "winapi",
+ "bytes",
+ "futures-channel",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "httparse",
+ "httpdate",
+ "itoa",
+ "pin-project-lite",
+ "socket2",
+ "tokio",
+ "tower-service",
+ "tracing",
+ "want",
 ]
 
 [[package]]
-name = "iana-time-zone"
-version = "0.1.44"
+name = "idna"
+version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "808cf7d67cf4a22adc5be66e75ebdf769b3f2ea032041437a7061f97a63dad4b"
+checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
 dependencies = [
- "android_system_properties",
- "core-foundation-sys",
- "js-sys",
- "wasm-bindgen",
- "winapi",
+ "matches",
+ "unicode-bidi",
+ "unicode-normalization",
 ]
 
 [[package]]
@@ -918,325 +527,398 @@ version = "1.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e"
 dependencies = [
- "autocfg 1.1.0",
+ "autocfg",
  "hashbrown",
 ]
 
 [[package]]
-name = "instant"
-version = "0.1.12"
+name = "itoa"
+version = "1.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
-dependencies = [
- "cfg-if",
-]
+checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754"
 
 [[package]]
-name = "integration_tests"
-version = "0.1.0"
+name = "jobserver"
+version = "0.1.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa"
 dependencies = [
- "anyhow",
- "arch",
- "base",
  "libc",
- "tempfile",
 ]
 
 [[package]]
-name = "intrusive-collections"
-version = "0.9.4"
+name = "js-sys"
+version = "0.3.59"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfe531a7789d7120f3e17d4f3f2cd95f54418ba7354f60b7b622b6644a07888a"
-dependencies = [
- "memoffset 0.5.6",
-]
-
-[[package]]
-name = "io_uring"
-version = "0.1.1"
+checksum = "258451ab10b34f8af53416d1fdab72c22e805f0c92a1136d59470ec0b11138b2"
 dependencies = [
- "base",
- "data_model",
- "libc",
- "remain",
- "sync",
- "tempfile",
- "thiserror",
+ "wasm-bindgen",
 ]
 
 [[package]]
-name = "itoa"
-version = "1.0.3"
+name = "lazy_static"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 
 [[package]]
-name = "js-sys"
-version = "0.3.59"
+name = "lazycell"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "258451ab10b34f8af53416d1fdab72c22e805f0c92a1136d59470ec0b11138b2"
-dependencies = [
- "wasm-bindgen",
-]
+checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
 
 [[package]]
-name = "kernel_cmdline"
-version = "0.1.0"
+name = "lexical-core"
+version = "0.7.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe"
 dependencies = [
- "libc",
- "remain",
- "thiserror",
+ "arrayvec",
+ "bitflags",
+ "cfg-if",
+ "ryu",
+ "static_assertions",
 ]
 
 [[package]]
-name = "kernel_loader"
-version = "0.1.0"
-dependencies = [
- "base",
- "data_model",
- "libc",
- "remain",
- "tempfile",
- "thiserror",
- "vm_memory",
-]
+name = "libc"
+version = "0.2.132"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5"
 
 [[package]]
-name = "kvm"
-version = "0.1.0"
+name = "libloading"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd"
 dependencies = [
- "base",
- "data_model",
- "kvm_sys",
- "libc",
- "sync",
- "vm_memory",
+ "cfg-if",
+ "winapi",
 ]
 
 [[package]]
-name = "kvm_sys"
-version = "0.1.0"
+name = "log"
+version = "0.4.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
 dependencies = [
- "base",
- "data_model",
- "libc",
+ "cfg-if",
 ]
 
 [[package]]
-name = "lazy_static"
-version = "1.4.0"
+name = "matches"
+version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
 
 [[package]]
-name = "libc"
-version = "0.2.131"
+name = "memchr"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04c3b4822ccebfa39c02fc03d1534441b22ead323fa0f48bb7ddd8e6ba076a40"
-
-[[package]]
-name = "libcras"
-version = "0.1.0"
+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
 
 [[package]]
-name = "libdbus-sys"
-version = "0.2.2"
+name = "miniz_oxide"
+version = "0.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c185b5b7ad900923ef3a8ff594083d4d9b5aea80bb4f32b8342363138c0d456b"
+checksum = "6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc"
 dependencies = [
- "pkg-config",
+ "adler",
 ]
 
 [[package]]
-name = "libslirp-sys"
-version = "4.2.1"
+name = "mio"
+version = "0.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2772370ce9b7fa05c7eae0bd033005e139a64d52cee498a7905b3eb5d243c5f4"
+checksum = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf"
 dependencies = [
- "pkg-config",
-]
-
-[[package]]
-name = "libvda"
-version = "0.1.0"
-dependencies = [
- "enumn",
  "libc",
- "pkg-config",
+ "log",
+ "wasi",
+ "windows-sys",
 ]
 
 [[package]]
-name = "linux_input_sys"
-version = "0.1.0"
+name = "nix"
+version = "0.19.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2ccba0cfe4fdf15982d1674c69b1fd80bad427d293849982668dfe454bd61f2"
 dependencies = [
- "base",
- "data_model",
+ "bitflags",
+ "cc",
+ "cfg-if",
  "libc",
 ]
 
 [[package]]
-name = "log"
-version = "0.4.17"
+name = "nom"
+version = "5.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af"
 dependencies = [
- "cfg-if",
+ "lexical-core",
+ "memchr",
+ "version_check",
 ]
 
 [[package]]
-name = "managed"
-version = "0.8.0"
+name = "num_cpus"
+version = "1.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ca88d725a0a943b096803bd34e73a4437208b6077654cc4ecb2947a5f91618d"
+checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
+dependencies = [
+ "hermit-abi",
+ "libc",
+]
 
 [[package]]
-name = "memchr"
-version = "2.5.0"
+name = "once_cell"
+version = "1.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "074864da206b4973b84eb91683020dbefd6a8c3f0f38e054d93954e891935e4e"
 
 [[package]]
-name = "memoffset"
-version = "0.5.6"
+name = "openssl"
+version = "0.10.41"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa"
+checksum = "618febf65336490dfcf20b73f885f5651a0c89c64c2d4a8c3662585a70bf5bd0"
 dependencies = [
- "autocfg 1.1.0",
+ "bitflags",
+ "cfg-if",
+ "foreign-types",
+ "libc",
+ "once_cell",
+ "openssl-macros",
+ "openssl-sys",
 ]
 
 [[package]]
-name = "memoffset"
-version = "0.6.5"
+name = "openssl-macros"
+version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
+checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c"
 dependencies = [
- "autocfg 1.1.0",
+ "proc-macro2 1.0.43",
+ "quote 1.0.21",
+ "syn 1.0.99",
 ]
 
 [[package]]
-name = "metrics"
-version = "0.1.0"
+name = "openssl-sys"
+version = "0.9.75"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5f9bd0c2710541a3cda73d6f9ac4f1b240de4ae261065d309dbe73d9dceb42f"
 dependencies = [
- "anyhow",
- "base",
- "cfg-if",
- "chrono",
- "lazy_static",
+ "autocfg",
+ "cc",
  "libc",
- "protobuf",
- "protoc-rust",
- "serde",
- "serde_json",
- "sync",
- "winapi",
- "wmi",
+ "pkg-config",
+ "vcpkg",
 ]
 
 [[package]]
-name = "minijail"
-version = "0.2.3"
+name = "pathpatterns"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6e0644c02bcf32e41bcfd11d29d67c31480910717dc15ad59f968c736c0a99a"
 dependencies = [
+ "bitflags",
  "libc",
- "minijail-sys",
 ]
 
 [[package]]
-name = "minijail-sys"
-version = "0.0.13"
+name = "pbs-api-types"
+version = "0.1.0"
 dependencies = [
- "libc",
- "pkg-config",
- "which",
+ "anyhow",
+ "hex",
+ "lazy_static",
+ "percent-encoding",
+ "proxmox-lang",
+ "proxmox-schema",
+ "proxmox-serde",
+ "proxmox-time",
+ "proxmox-uuid",
+ "regex",
+ "serde",
+ "serde_plain",
 ]
 
 [[package]]
-name = "net_sys"
-version = "0.1.0"
-dependencies = [
- "base",
- "libc",
-]
+name = "pbs-buildcfg"
+version = "2.2.1"
 
 [[package]]
-name = "net_util"
+name = "pbs-client"
 version = "0.1.0"
 dependencies = [
- "base",
- "cfg-if",
- "cros_async",
- "data_model",
+ "anyhow",
+ "bitflags",
+ "bytes",
+ "futures",
+ "h2",
+ "hex",
+ "http",
+ "hyper",
+ "lazy_static",
  "libc",
- "libslirp-sys",
- "metrics",
- "net_sys",
- "pcap-file",
- "remain",
+ "nix",
+ "openssl",
+ "pathpatterns",
+ "pbs-api-types",
+ "pbs-buildcfg",
+ "pbs-datastore",
+ "pbs-tools",
+ "percent-encoding",
+ "pin-project-lite",
+ "proxmox-async",
+ "proxmox-compression",
+ "proxmox-fuse",
+ "proxmox-http",
+ "proxmox-io",
+ "proxmox-lang",
+ "proxmox-router",
+ "proxmox-schema",
+ "proxmox-sys",
+ "proxmox-time",
+ "pxar",
+ "regex",
+ "rustyline",
  "serde",
- "smallvec",
- "thiserror",
- "virtio_sys",
- "winapi",
+ "serde_json",
+ "tar",
+ "tokio",
+ "tokio-stream",
+ "tower-service",
+ "xdg",
 ]
 
 [[package]]
-name = "num-integer"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+name = "pbs-config"
+version = "0.1.0"
 dependencies = [
- "autocfg 1.1.0",
- "num-traits",
+ "anyhow",
+ "hex",
+ "lazy_static",
+ "libc",
+ "nix",
+ "once_cell",
+ "openssl",
+ "pbs-api-types",
+ "pbs-buildcfg",
+ "pbs-tools",
+ "proxmox-lang",
+ "proxmox-router",
+ "proxmox-schema",
+ "proxmox-section-config",
+ "proxmox-serde",
+ "proxmox-shared-memory",
+ "proxmox-sys",
+ "proxmox-time",
+ "regex",
+ "serde",
+ "serde_json",
 ]
 
 [[package]]
-name = "num-traits"
-version = "0.2.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+name = "pbs-datastore"
+version = "0.1.0"
 dependencies = [
- "autocfg 1.1.0",
+ "anyhow",
+ "base64",
+ "crc32fast",
+ "endian_trait",
+ "futures",
+ "hex",
+ "lazy_static",
+ "libc",
+ "log",
+ "nix",
+ "openssl",
+ "pathpatterns",
+ "pbs-api-types",
+ "pbs-buildcfg",
+ "pbs-config",
+ "pbs-tools",
+ "proxmox-borrow",
+ "proxmox-io",
+ "proxmox-lang",
+ "proxmox-schema",
+ "proxmox-sys",
+ "proxmox-time",
+ "proxmox-uuid",
+ "pxar",
+ "serde",
+ "serde_json",
+ "tokio",
+ "walkdir",
+ "zstd",
 ]
 
 [[package]]
-name = "num_cpus"
-version = "1.13.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
+name = "pbs-fuse-loop"
+version = "0.1.0"
 dependencies = [
- "hermit-abi",
+ "anyhow",
+ "futures",
+ "lazy_static",
  "libc",
+ "nix",
+ "proxmox-fuse",
+ "proxmox-sys",
+ "proxmox-time",
+ "regex",
+ "tokio",
 ]
 
 [[package]]
-name = "once_cell"
-version = "1.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1"
-
-[[package]]
-name = "p9"
+name = "pbs-tools"
 version = "0.1.0"
 dependencies = [
+ "anyhow",
+ "base64",
+ "bytes",
+ "crc32fast",
+ "endian_trait",
+ "flate2",
+ "foreign-types",
+ "futures",
+ "hex",
+ "lazy_static",
  "libc",
- "wire_format_derive",
+ "log",
+ "nix",
+ "nom",
+ "openssl",
+ "pbs-api-types",
+ "pbs-buildcfg",
+ "percent-encoding",
+ "proxmox-async",
+ "proxmox-borrow",
+ "proxmox-io",
+ "proxmox-lang",
+ "proxmox-sys",
+ "proxmox-time",
+ "regex",
+ "serde",
+ "serde_json",
+ "tokio",
+ "url",
+ "walkdir",
+ "zstd",
 ]
 
 [[package]]
-name = "paste"
-version = "1.0.8"
+name = "peeking_take_while"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9423e2b32f7a043629287a536f21951e8c6a82482d0acb1eeebfc90bc2225b22"
+checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
 
 [[package]]
-name = "pcap-file"
-version = "1.1.1"
+name = "percent-encoding"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ad13fed1a83120159aea81b265074f21d753d157dd16b10cc3790ecba40a341"
-dependencies = [
- "byteorder",
- "derive-into-owned",
- "thiserror",
-]
+checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
 
 [[package]]
 name = "pin-project-lite"
@@ -1257,24 +939,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae"
 
 [[package]]
-name = "power_monitor"
-version = "0.1.0"
+name = "proc-macro2"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cd07deb3c6d1d9ff827999c7f9b04cdfd66b1b17ae508e14fe47b620f2282ae0"
 dependencies = [
- "base",
- "dbus",
- "protobuf",
- "protoc-rust",
- "remain",
- "thiserror",
+ "unicode-xid",
 ]
 
 [[package]]
-name = "ppv-lite86"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
-
-[[package]]
 name = "proc-macro2"
 version = "1.0.43"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1284,263 +957,292 @@ dependencies = [
 ]
 
 [[package]]
-name = "protobuf"
-version = "2.27.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf7e6d18738ecd0902d30d1ad232c9125985a3422929b16c65517b38adc14f96"
+name = "proxmox-api-macro"
+version = "1.0.2"
 dependencies = [
- "serde",
- "serde_derive",
-]
-
-[[package]]
-name = "protobuf-codegen"
-version = "2.27.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aec1632b7c8f2e620343439a7dfd1f3c47b18906c4be58982079911482b5d707"
-dependencies = [
- "protobuf",
-]
-
-[[package]]
-name = "protoc"
-version = "2.27.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2ef1dc036942fac2470fdb8a911f125404ee9129e9e807f3d12d8589001a38f"
-dependencies = [
- "log",
- "which",
+ "anyhow",
+ "proc-macro2 1.0.43",
+ "quote 1.0.21",
+ "syn 1.0.99",
 ]
 
 [[package]]
-name = "protoc-rust"
-version = "2.27.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a9e315121c8e7e21396e940a3d27f92280a6d28e3931213bf6cbfea76c5cc94"
+name = "proxmox-async"
+version = "0.4.1"
 dependencies = [
- "protobuf",
- "protobuf-codegen",
- "protoc",
- "tempfile",
+ "anyhow",
+ "futures",
+ "lazy_static",
+ "pin-utils",
+ "proxmox-io",
+ "proxmox-lang",
+ "tokio",
 ]
 
 [[package]]
-name = "protos"
-version = "0.1.0"
-dependencies = [
- "kvm_sys",
- "protobuf",
- "protoc-rust",
-]
+name = "proxmox-backup"
+version = "2.2.1"
 
 [[package]]
-name = "qcow_utils"
+name = "proxmox-backup-client"
 version = "0.1.0"
 dependencies = [
- "base",
- "disk",
+ "anyhow",
+ "futures",
+ "hyper",
  "libc",
+ "nix",
+ "openssl",
+ "pathpatterns",
+ "pbs-api-types",
+ "pbs-buildcfg",
+ "pbs-client",
+ "pbs-config",
+ "pbs-datastore",
+ "pbs-fuse-loop",
+ "pbs-tools",
+ "proxmox-async",
+ "proxmox-io",
+ "proxmox-router",
+ "proxmox-schema",
+ "proxmox-sys",
+ "proxmox-time",
+ "pxar",
+ "serde",
+ "serde_json",
+ "tokio",
+ "tokio-stream",
+ "tokio-util 0.6.10",
+ "xdg",
+ "zstd",
 ]
 
 [[package]]
-name = "quote"
-version = "0.3.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a"
+name = "proxmox-borrow"
+version = "1.0.1"
 
 [[package]]
-name = "quote"
-version = "1.0.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
+name = "proxmox-compression"
+version = "0.1.1"
 dependencies = [
- "proc-macro2",
+ "anyhow",
+ "bytes",
+ "crc32fast",
+ "endian_trait",
+ "flate2",
+ "futures",
+ "proxmox-io",
+ "proxmox-lang",
+ "proxmox-time",
+ "tar",
+ "tokio",
+ "walkdir",
+ "zstd",
 ]
 
 [[package]]
-name = "rand"
-version = "0.6.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
+name = "proxmox-fuse"
+version = "0.1.3"
 dependencies = [
- "autocfg 0.1.8",
+ "anyhow",
+ "futures",
  "libc",
- "rand_chacha 0.1.1",
- "rand_core 0.4.2",
- "rand_hc 0.1.0",
- "rand_isaac",
- "rand_jitter",
- "rand_os",
- "rand_pcg",
- "rand_xorshift",
- "winapi",
+ "tokio",
+ "tokio-stream",
 ]
 
 [[package]]
-name = "rand"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
+name = "proxmox-http"
+version = "0.6.1"
 dependencies = [
- "getrandom 0.1.16",
- "libc",
- "rand_chacha 0.2.2",
- "rand_core 0.5.1",
- "rand_hc 0.2.0",
+ "anyhow",
+ "base64",
+ "futures",
+ "http",
+ "hyper",
+ "openssl",
+ "proxmox-io",
+ "proxmox-lang",
+ "proxmox-sys",
+ "tokio",
+ "tokio-openssl",
 ]
 
 [[package]]
-name = "rand"
-version = "0.8.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+name = "proxmox-io"
+version = "1.0.1"
 dependencies = [
- "libc",
- "rand_chacha 0.3.1",
- "rand_core 0.6.3",
+ "endian_trait",
+ "tokio",
 ]
 
 [[package]]
-name = "rand_chacha"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
-dependencies = [
- "autocfg 0.1.8",
- "rand_core 0.3.1",
-]
+name = "proxmox-lang"
+version = "1.1.0"
 
 [[package]]
-name = "rand_chacha"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
+name = "proxmox-router"
+version = "1.2.2"
 dependencies = [
- "ppv-lite86",
- "rand_core 0.5.1",
+ "anyhow",
+ "http",
+ "hyper",
+ "libc",
+ "nix",
+ "percent-encoding",
+ "proxmox-async",
+ "proxmox-lang",
+ "proxmox-schema",
+ "rustyline",
+ "serde",
+ "serde_json",
+ "tokio",
+ "unicode-width",
 ]
 
 [[package]]
-name = "rand_chacha"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+name = "proxmox-schema"
+version = "1.3.1"
 dependencies = [
- "ppv-lite86",
- "rand_core 0.6.3",
+ "anyhow",
+ "lazy_static",
+ "proxmox-api-macro",
+ "regex",
+ "serde",
+ "serde_json",
+ "textwrap",
 ]
 
 [[package]]
-name = "rand_core"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
+name = "proxmox-section-config"
+version = "1.0.0"
 dependencies = [
- "rand_core 0.4.2",
+ "anyhow",
+ "hex",
+ "proxmox-lang",
+ "proxmox-schema",
+ "serde",
+ "serde_json",
 ]
 
 [[package]]
-name = "rand_core"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
-
-[[package]]
-name = "rand_core"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
+name = "proxmox-serde"
+version = "0.1.0"
 dependencies = [
- "getrandom 0.1.16",
+ "anyhow",
+ "base64",
+ "proxmox-time",
+ "serde",
+ "serde_json",
 ]
 
 [[package]]
-name = "rand_core"
-version = "0.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
+name = "proxmox-shared-memory"
+version = "0.2.0"
 dependencies = [
- "getrandom 0.2.7",
+ "anyhow",
+ "libc",
+ "nix",
+ "proxmox-sys",
 ]
 
 [[package]]
-name = "rand_hc"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
+name = "proxmox-sortable-macro"
+version = "0.1.2"
 dependencies = [
- "rand_core 0.3.1",
+ "proc-macro2 1.0.43",
+ "quote 1.0.21",
+ "syn 1.0.99",
 ]
 
 [[package]]
-name = "rand_hc"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
+name = "proxmox-sys"
+version = "0.2.2"
 dependencies = [
- "rand_core 0.5.1",
+ "anyhow",
+ "base64",
+ "lazy_static",
+ "libc",
+ "log",
+ "nix",
+ "proxmox-borrow",
+ "proxmox-io",
+ "proxmox-lang",
+ "proxmox-sortable-macro",
+ "proxmox-time",
+ "regex",
+ "serde",
+ "serde_json",
+ "zstd",
 ]
 
 [[package]]
-name = "rand_isaac"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
+name = "proxmox-time"
+version = "1.1.2"
 dependencies = [
- "rand_core 0.3.1",
+ "anyhow",
+ "bitflags",
+ "js-sys",
+ "lazy_static",
+ "libc",
+ "nom",
 ]
 
 [[package]]
-name = "rand_jitter"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
+name = "proxmox-uuid"
+version = "1.0.1"
 dependencies = [
+ "js-sys",
  "libc",
- "rand_core 0.4.2",
- "winapi",
+ "serde",
 ]
 
 [[package]]
-name = "rand_os"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
+name = "pxar"
+version = "0.10.1"
 dependencies = [
- "cloudabi",
- "fuchsia-cprng",
+ "bitflags",
+ "endian_trait",
  "libc",
- "rand_core 0.4.2",
- "rdrand",
- "winapi",
+ "siphasher",
+ "tokio",
 ]
 
 [[package]]
-name = "rand_pcg"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
+name = "pxar-bin"
+version = "0.1.0"
 dependencies = [
- "autocfg 0.1.8",
- "rand_core 0.4.2",
+ "anyhow",
+ "futures",
+ "nix",
+ "pathpatterns",
+ "pbs-client",
+ "pbs-tools",
+ "proxmox-async",
+ "proxmox-router",
+ "proxmox-schema",
+ "proxmox-sys",
+ "pxar",
+ "serde_json",
+ "tokio",
 ]
 
 [[package]]
-name = "rand_xorshift"
-version = "0.1.1"
+name = "quote"
+version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
+checksum = "1eca14c727ad12702eb4b6bfb5a232287dcf8385cb8ca83a3eeaf6519c44c408"
 dependencies = [
- "rand_core 0.3.1",
+ "proc-macro2 0.2.3",
 ]
 
 [[package]]
-name = "rdrand"
-version = "0.4.0"
+name = "quote"
+version = "1.0.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
+checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
 dependencies = [
- "rand_core 0.3.1",
+ "proc-macro2 1.0.43",
 ]
 
 [[package]]
@@ -1553,6 +1255,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "redox_users"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
+dependencies = [
+ "getrandom",
+ "redox_syscall",
+ "thiserror",
+]
+
+[[package]]
 name = "regex"
 version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1570,49 +1283,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244"
 
 [[package]]
-name = "remain"
-version = "0.2.4"
+name = "rustc-hash"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06df529c0d271b27ac4a2c260f5ce2914b60bd44702cecec7b9f271adbdde23b"
-dependencies = [
- "proc-macro2",
- "quote 1.0.21",
- "syn 1.0.99",
-]
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
 
 [[package]]
-name = "remove_dir_all"
-version = "0.5.3"
+name = "rustyline"
+version = "7.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
+checksum = "8227301bfc717136f0ecbd3d064ba8199e44497a0bdd46bb01ede4387cfd2cec"
 dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "resources"
-version = "0.1.0"
-dependencies = [
- "base",
- "libc",
- "remain",
- "serde",
- "thiserror",
-]
-
-[[package]]
-name = "rutabaga_gfx"
-version = "0.1.0"
-dependencies = [
- "anyhow",
- "base",
- "data_model",
+ "bitflags",
+ "cfg-if",
+ "dirs-next",
+ "fs2",
  "libc",
- "pkg-config",
- "remain",
- "serde",
- "sync",
- "thiserror",
+ "log",
+ "memchr",
+ "nix",
+ "scopeguard",
+ "unicode-segmentation",
+ "unicode-width",
+ "utf8parse",
+ "winapi",
 ]
 
 [[package]]
@@ -1622,50 +1316,45 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09"
 
 [[package]]
-name = "scudo"
-version = "0.1.2"
+name = "same-file"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a043122e575636c0e47121917446b4f40803fc6defd8797369e7d2d47086d8e3"
+checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
 dependencies = [
- "libc",
- "scudo-sys",
+ "winapi-util",
 ]
 
 [[package]]
-name = "scudo-sys"
-version = "0.2.1"
+name = "scopeguard"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7aedac72a22df5e73d23abf6b26a9b124a3e10f0e5cc74b9aa8121c7e14cf106"
-dependencies = [
- "cc",
- "libc",
-]
+checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
 
 [[package]]
 name = "serde"
-version = "1.0.143"
+version = "1.0.144"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53e8e5d5b70924f74ff5c6d64d9a5acd91422117c60f48c4e07855238a254553"
+checksum = "0f747710de3dcd43b88c9168773254e809d8ddbdf9653b84e2554ab219f17860"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.143"
+version = "1.0.144"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3d8e8de557aee63c26b85b947f5e59b690d0454c753f3adeb5cd7835ab88391"
+checksum = "94ed3a816fb1d101812f83e789f888322c34e291f894f19590dc310963e87a00"
 dependencies = [
- "proc-macro2",
+ "proc-macro2 1.0.43",
  "quote 1.0.21",
  "syn 1.0.99",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.83"
+version = "1.0.85"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38dd04e3c8279e75b31ef29dbdceebfe5ad89f4d0937213c53f7d49d01b3d5a7"
+checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44"
 dependencies = [
  "itoa",
  "ryu",
@@ -1673,41 +1362,59 @@ dependencies = [
 ]
 
 [[package]]
-name = "serde_keyvalue"
-version = "0.1.0"
+name = "serde_plain"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95455e7e29fada2052e72170af226fbe368a4ca33dee847875325d9fdb133858"
 dependencies = [
- "argh",
- "num-traits",
- "remain",
  "serde",
- "serde_keyvalue_derive",
- "thiserror",
 ]
 
 [[package]]
-name = "serde_keyvalue_derive"
-version = "0.1.0"
+name = "shlex"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2"
+
+[[package]]
+name = "signal-hook-registry"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0"
 dependencies = [
- "argh",
- "proc-macro2",
- "quote 1.0.21",
- "syn 1.0.99",
+ "libc",
 ]
 
 [[package]]
+name = "siphasher"
+version = "0.3.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
+
+[[package]]
 name = "slab"
 version = "0.4.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef"
 dependencies = [
- "autocfg 1.1.0",
+ "autocfg",
 ]
 
 [[package]]
-name = "smallvec"
-version = "1.9.0"
+name = "socket2"
+version = "0.4.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1"
+checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "static_assertions"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
 
 [[package]]
 name = "strsim"
@@ -1717,12 +1424,12 @@ checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
 
 [[package]]
 name = "syn"
-version = "0.11.11"
+version = "0.12.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad"
+checksum = "c97c05b8ebc34ddd6b967994d5c6e9852fa92f8b82b3858c39451f97346dcce5"
 dependencies = [
- "quote 0.3.15",
- "synom",
+ "proc-macro2 0.2.3",
+ "quote 0.4.2",
  "unicode-xid",
 ]
 
@@ -1732,40 +1439,20 @@ version = "1.0.99"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13"
 dependencies = [
- "proc-macro2",
+ "proc-macro2 1.0.43",
  "quote 1.0.21",
  "unicode-ident",
 ]
 
 [[package]]
-name = "sync"
-version = "0.1.0"
-
-[[package]]
-name = "synom"
-version = "0.11.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6"
-dependencies = [
- "unicode-xid",
-]
-
-[[package]]
-name = "system_api"
-version = "0.1.0"
-
-[[package]]
-name = "tempfile"
-version = "3.3.0"
+name = "tar"
+version = "0.4.38"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
+checksum = "4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6"
 dependencies = [
- "cfg-if",
- "fastrand",
+ "filetime",
  "libc",
- "redox_syscall",
- "remove_dir_all",
- "winapi",
+ "xattr",
 ]
 
 [[package]]
@@ -1778,16 +1465,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "terminal_size"
-version = "0.1.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df"
-dependencies = [
- "libc",
- "winapi",
-]
-
-[[package]]
 name = "textwrap"
 version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1798,80 +1475,175 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "1.0.32"
+version = "1.0.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f5f6586b7f764adc0231f4c79be7b920e766bb2f3e51b3661cdb263828f19994"
+checksum = "3d0a539a918745651435ac7db7a18761589a94cd7e94cd56999f828bf73c8a57"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.32"
+version = "1.0.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12bafc5b54507e0149cdf1b145a5d80ab80a90bcd9275df43d4fff68460f6c21"
+checksum = "c251e90f708e16c49a16f4917dc2131e75222b72edfa9cb7f7c58ae56aae0c09"
 dependencies = [
- "proc-macro2",
+ "proc-macro2 1.0.43",
  "quote 1.0.21",
  "syn 1.0.99",
 ]
 
 [[package]]
-name = "time"
-version = "0.1.44"
+name = "tinyvec"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
+checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
 dependencies = [
+ "tinyvec_macros",
+]
+
+[[package]]
+name = "tinyvec_macros"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
+
+[[package]]
+name = "tokio"
+version = "1.20.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a8325f63a7d4774dd041e363b2409ed1c5cbbd0f867795e661df066b2b0a581"
+dependencies = [
+ "autocfg",
+ "bytes",
  "libc",
- "wasi 0.10.0+wasi-snapshot-preview1",
+ "memchr",
+ "mio",
+ "num_cpus",
+ "once_cell",
+ "pin-project-lite",
+ "signal-hook-registry",
+ "socket2",
+ "tokio-macros",
  "winapi",
 ]
 
 [[package]]
-name = "toml"
-version = "0.5.9"
+name = "tokio-macros"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7"
+checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484"
 dependencies = [
- "serde",
+ "proc-macro2 1.0.43",
+ "quote 1.0.21",
+ "syn 1.0.99",
 ]
 
 [[package]]
-name = "tpm2"
-version = "0.1.0"
+name = "tokio-openssl"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c08f9ffb7809f1b20c1b398d92acf4cc719874b3b2b2d9ea2f09b4a80350878a"
 dependencies = [
- "tpm2-sys",
+ "futures-util",
+ "openssl",
+ "openssl-sys",
+ "tokio",
 ]
 
 [[package]]
-name = "tpm2-sys"
-version = "0.1.0"
+name = "tokio-stream"
+version = "0.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df54d54117d6fdc4e4fea40fe1e4e566b3505700e148a6827e59b34b0d2600d9"
 dependencies = [
- "anyhow",
- "pkg-config",
+ "futures-core",
+ "pin-project-lite",
+ "tokio",
 ]
 
 [[package]]
-name = "tube_transporter"
-version = "0.1.0"
+name = "tokio-util"
+version = "0.6.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "36943ee01a6d67977dd3f84a5a1d2efeb4ada3a1ae771cadfaa535d9d9fc6507"
 dependencies = [
- "base",
- "data_model",
- "rand 0.8.5",
- "serde",
- "serde_json",
- "thiserror",
- "win_util",
- "winapi",
+ "bytes",
+ "futures-core",
+ "futures-sink",
+ "log",
+ "pin-project-lite",
+ "tokio",
 ]
 
 [[package]]
+name = "tokio-util"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc463cd8deddc3770d20f9852143d50bf6094e640b485cb2e189a2099085ff45"
+dependencies = [
+ "bytes",
+ "futures-core",
+ "futures-sink",
+ "pin-project-lite",
+ "tokio",
+ "tracing",
+]
+
+[[package]]
+name = "tower-service"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
+
+[[package]]
+name = "tracing"
+version = "0.1.36"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2fce9567bd60a67d08a16488756721ba392f24f29006402881e43b19aac64307"
+dependencies = [
+ "cfg-if",
+ "pin-project-lite",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-core"
+version = "0.1.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5aeea4303076558a00714b823f9ad67d58a3bbda1df83d8827d21193156e22f7"
+dependencies = [
+ "once_cell",
+]
+
+[[package]]
+name = "try-lock"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
+
+[[package]]
+name = "unicode-bidi"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992"
+
+[[package]]
 name = "unicode-ident"
 version = "1.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf"
 
 [[package]]
+name = "unicode-normalization"
+version = "0.1.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "854cbdc4f7bc6ae19c820d44abdc3277ac3e1b2b93db20a636825d9322fb60e6"
+dependencies = [
+ "tinyvec",
+]
+
+[[package]]
 name = "unicode-segmentation"
 version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1885,38 +1657,33 @@ checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
 
 [[package]]
 name = "unicode-xid"
-version = "0.0.4"
+version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc"
+checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
 
 [[package]]
-name = "usb_sys"
-version = "0.1.0"
+name = "url"
+version = "2.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c"
 dependencies = [
- "base",
+ "form_urlencoded",
+ "idna",
+ "matches",
+ "percent-encoding",
 ]
 
 [[package]]
-name = "usb_util"
-version = "0.1.0"
-dependencies = [
- "assertions",
- "base",
- "data_model",
- "libc",
- "remain",
- "thiserror",
- "usb_sys",
-]
+name = "utf8parse"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "936e4b492acfd135421d8dca4b1aa80a7bfc26e702ef3af710e0752684df5372"
 
 [[package]]
-name = "uuid"
-version = "0.8.2"
+name = "vcpkg"
+version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
-dependencies = [
- "getrandom 0.2.7",
-]
+checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
 
 [[package]]
 name = "vec_map"
@@ -1925,101 +1692,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
 
 [[package]]
-name = "vfio_sys"
-version = "0.1.0"
-dependencies = [
- "base",
- "data_model",
-]
-
-[[package]]
-name = "vhost"
-version = "0.1.0"
-dependencies = [
- "assertions",
- "base",
- "libc",
- "net_util",
- "remain",
- "thiserror",
- "virtio_sys",
- "vm_memory",
-]
-
-[[package]]
-name = "virtio_sys"
-version = "0.1.0"
-dependencies = [
- "base",
- "data_model",
-]
-
-[[package]]
-name = "vm_control"
-version = "0.1.0"
-dependencies = [
- "balloon_control",
- "base",
- "data_model",
- "gdbstub_arch",
- "hypervisor",
- "libc",
- "remain",
- "resources",
- "rutabaga_gfx",
- "serde",
- "serde_json",
- "sync",
- "thiserror",
- "vm_memory",
-]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 
 [[package]]
-name = "vm_memory"
-version = "0.1.0"
+name = "walkdir"
+version = "2.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56"
 dependencies = [
- "base",
- "bitflags",
- "cfg-if",
- "cros_async",
- "data_model",
- "libc",
- "remain",
- "serde",
- "thiserror",
+ "same-file",
+ "winapi",
+ "winapi-util",
 ]
 
 [[package]]
-name = "vmm_vhost"
-version = "0.1.0"
+name = "want"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0"
 dependencies = [
- "anyhow",
- "base",
- "bitflags",
- "cfg-if",
- "data_model",
- "libc",
- "remain",
- "serde",
- "serde_json",
- "tempfile",
- "thiserror",
+ "log",
+ "try-lock",
 ]
 
 [[package]]
 name = "wasi"
-version = "0.9.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
-
-[[package]]
-name = "wasi"
-version = "0.10.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
-
-[[package]]
-name = "wasi"
 version = "0.11.0+wasi-snapshot-preview1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
@@ -2043,7 +1743,7 @@ dependencies = [
  "bumpalo",
  "log",
  "once_cell",
- "proc-macro2",
+ "proc-macro2 1.0.43",
  "quote 1.0.21",
  "syn 1.0.99",
  "wasm-bindgen-shared",
@@ -2065,7 +1765,7 @@ version = "0.2.82"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5be8e654bdd9b79216c2929ab90721aa82faf65c48cdf08bdc4e7f51357b80da"
 dependencies = [
- "proc-macro2",
+ "proc-macro2 1.0.43",
  "quote 1.0.21",
  "syn 1.0.99",
  "wasm-bindgen-backend",
@@ -2080,30 +1780,11 @@ checksum = "6598dd0bd3c7d51095ff6531a5b23e02acdc81804e30d8f07afb77b7215a140a"
 
 [[package]]
 name = "which"
-version = "4.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c4fb54e6113b6a8772ee41c3404fb0301ac79604489467e0a9ce1f3e97c24ae"
-dependencies = [
- "either",
- "lazy_static",
- "libc",
-]
-
-[[package]]
-name = "widestring"
-version = "0.5.1"
+version = "3.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17882f045410753661207383517a6f62ec3dbeb6a4ed2acce01f0728238d1983"
-
-[[package]]
-name = "win_util"
-version = "0.1.0"
+checksum = "d011071ae14a2f6671d0b74080ae0cd8ebf3a6f8c9589a2cd45f23126fe29724"
 dependencies = [
- "anyhow",
- "lazy_static",
  "libc",
- "winapi",
- "windows",
 ]
 
 [[package]]
@@ -2138,77 +1819,92 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
-name = "windows"
-version = "0.10.0"
+name = "windows-sys"
+version = "0.36.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a43e544233e20425d5a58e9671cf76d6aed9e6f211508c050facb29b188dc10f"
+checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2"
 dependencies = [
- "const-sha1",
- "windows_gen",
- "windows_macros",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_msvc",
 ]
 
 [[package]]
-name = "windows_gen"
-version = "0.10.0"
+name = "windows_aarch64_msvc"
+version = "0.36.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.36.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.36.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc6283570a39b3594e31c64a498f48058758cc063eb087d972bb6476ad134a16"
+checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024"
 
 [[package]]
-name = "windows_macros"
-version = "0.10.0"
+name = "windows_x86_64_gnu"
+version = "0.36.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f757e7665f81f33ace9f89b0f0fc3a7c770e24ff4fa1475c6503bb35b4524893"
+checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.36.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680"
+
+[[package]]
+name = "xattr"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc"
 dependencies = [
- "syn 1.0.99",
- "windows_gen",
+ "libc",
 ]
 
 [[package]]
-name = "wire_format_derive"
-version = "0.1.0"
+name = "xdg"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c4583db5cbd4c4c0303df2d15af80f0539db703fa1c68802d4cbbd2dd0f88f6"
 dependencies = [
- "proc-macro2",
- "quote 1.0.21",
- "syn 1.0.99",
+ "dirs",
 ]
 
 [[package]]
-name = "wmi"
-version = "0.9.3"
+name = "zstd"
+version = "0.6.1+zstd.1.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "757a458f9bfab0542c11feed99bd492cbe23add50515bd8eecf8c6973673d32d"
+checksum = "5de55e77f798f205d8561b8fe2ef57abfb6e0ff2abe7fd3c089e119cdb5631a3"
 dependencies = [
- "chrono",
- "log",
- "serde",
- "thiserror",
- "widestring",
- "winapi",
+ "zstd-safe",
 ]
 
 [[package]]
-name = "x86_64"
-version = "0.1.0"
+name = "zstd-safe"
+version = "3.0.1+zstd.1.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1387cabcd938127b30ce78c4bf00b30387dddf704e3f0881dbc4ff62b5566f8c"
 dependencies = [
- "acpi_tables",
- "anyhow",
- "arch",
- "assertions",
- "base",
- "data_model",
- "devices",
- "gdbstub_arch",
- "hypervisor",
- "kernel_cmdline",
- "kernel_loader",
  "libc",
- "minijail",
- "once_cell",
- "remain",
- "resources",
- "sync",
- "thiserror",
- "vm_control",
- "vm_memory",
+ "zstd-sys",
+]
+
+[[package]]
+name = "zstd-sys"
+version = "1.4.20+zstd.1.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ebd5b733d7cf2d9447e2c3e76a5589b4f5e5ae065c22a2bc0b023cbc331b6c8e"
+dependencies = [
+ "bindgen",
+ "cc",
+ "libc",
 ]
diff --git a/pkgs/applications/backup/proxmox-backup-client/default.nix b/pkgs/applications/backup/proxmox-backup-client/default.nix
new file mode 100644
index 0000000000000..7c6cf6408a51a
--- /dev/null
+++ b/pkgs/applications/backup/proxmox-backup-client/default.nix
@@ -0,0 +1,70 @@
+{ lib, fetchgit, rustPlatform, pkg-config, openssl, fuse3, libuuid, acl, libxcrypt }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "proxmox-backup-client";
+  version = "2.2.1";
+
+  srcs = [
+    (fetchgit {
+      url = "git://git.proxmox.com/git/proxmox-backup.git";
+      rev = "v${version}";
+      name = pname;
+      hash = "sha256-uOKQe/BzO69f/ggEPoZQ2Rn3quytQrUeH7be19QV3KI=";
+    })
+    (fetchgit {
+      url = "git://git.proxmox.com/git/proxmox.git";
+      rev = "43b4440ef015d846161657490b18cf6ac7600fc4";
+      name = "proxmox";
+      hash = "sha256-05Z+IRRIioFGn+iAYG04DyNsgw9gQrJ6qAArpCwoIb0=";
+    })
+    (fetchgit {
+      url = "git://git.proxmox.com/git/proxmox-fuse.git";
+      rev = "d162ef9039878b871e2aa11b7d9a373ae512e2d1";
+      name = "proxmox-fuse";
+      hash = "sha256-w33ViWpBkCkMAhZVXiOdqnGOn/tddNRgzn71WioTnBU=";
+    })
+    (fetchgit {
+      url = "git://git.proxmox.com/git/pxar.git";
+      rev = "6f3f889e98c5f4e60c3b2c6bce73bd506b548c21";
+      name = "pxar";
+      hash = "sha256-GtNq6+O1xnxuR7b4TTWLFxcsejRyadSlk85H8C+yUGA=";
+    })
+  ];
+
+  sourceRoot = pname;
+
+  cargoPatches = [
+    ./re-route-dependencies.patch
+  ];
+
+  postPatch = ''
+    cp ${./Cargo.lock} Cargo.lock
+    rm .cargo/config
+  '';
+
+  cargoLock = {
+    lockFileContents = builtins.readFile ./Cargo.lock;
+  };
+
+  cargoBuildFlags = [
+    "--package=proxmox-backup-client"
+    "--bin=proxmox-backup-client"
+    "--bin=dump-catalog-shell-cli"
+
+    "--package=pxar-bin"
+    "--bin=pxar"
+  ];
+
+  doCheck = false;
+
+  nativeBuildInputs = [ pkg-config rustPlatform.bindgenHook ];
+  buildInputs = [ openssl fuse3 libuuid acl libxcrypt ];
+
+  meta = with lib; {
+    description = "The command line client for Proxmox Backup Server";
+    homepage = "https://pbs.proxmox.com/docs/backup-client.html";
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [ cofob ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/backup/proxmox-backup-client/re-route-dependencies.patch b/pkgs/applications/backup/proxmox-backup-client/re-route-dependencies.patch
new file mode 100644
index 0000000000000..a4d053f274e74
--- /dev/null
+++ b/pkgs/applications/backup/proxmox-backup-client/re-route-dependencies.patch
@@ -0,0 +1,148 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Thomas Lamprecht <thomas@lamprecht.org>
+Date: Wed, 18 May 2022 08:41:14 +0200
+Subject: [PATCH] re-route dependencies not available on crates.io to git repos
+
+Signed-off-by: Thomas Lamprecht <thomas@lamprecht.org>
+---
+ Cargo.toml    | 112 +++++++-------------------------------------------
+ 1 file changed, 15 insertions(+), 97 deletions(-)
+
+diff --git a/Cargo.toml b/Cargo.toml
+index 41980292..e7daaad5 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -25,94 +25,12 @@ members = [
+     "pbs-config",
+     "pbs-datastore",
+     "pbs-fuse-loop",
+-    "proxmox-rest-server",
+-    "proxmox-rrd",
+-    "pbs-tape",
+     "pbs-tools",
+ 
+-    "proxmox-backup-banner",
+     "proxmox-backup-client",
+-    "proxmox-file-restore",
+-    "proxmox-restore-daemon",
+     "pxar-bin",
+ ]
+ 
+-[lib]
+-name = "proxmox_backup"
+-path = "src/lib.rs"
+-
+-[dependencies]
+-apt-pkg-native = "0.3.2"
+-base64 = "0.13"
+-bitflags = "1.2.1"
+-bytes = "1.0"
+-cidr = "0.2.1"
+-crc32fast = "1"
+-endian_trait = { version = "0.6", features = ["arrays"] }
+-flate2 = "1.0"
+-anyhow = "1.0"
+-thiserror = "1.0"
+-futures = "0.3"
+-h2 = { version = "0.3", features = [ "stream" ] }
+-handlebars = "3.0"
+-hex = "0.4.3"
+-http = "0.2"
+-hyper = { version = "0.14", features = [ "full" ] }
+-lazy_static = "1.4"
+-libc = "0.2"
+-log = "0.4.17"
+-nix = "0.19.1"
+-num-traits = "0.2"
+-once_cell = "1.3.1"
+-openssl = "0.10.38" # currently patched!
+-pam = "0.7"
+-pam-sys = "0.5"
+-percent-encoding = "2.1"
+-regex = "1.5.5"
+-rustyline = "7"
+-serde = { version = "1.0", features = ["derive"] }
+-serde_json = "1.0"
+-siphasher = "0.3"
+-syslog = "4.0"
+-tokio = { version = "1.6", features = [ "fs", "io-util", "io-std", "macros", "net", "parking_lot", "process", "rt", "rt-multi-thread", "signal", "time" ] }
+-tokio-openssl = "0.6.1"
+-tokio-stream = "0.1.0"
+-tokio-util = { version = "0.6", features = [ "codec", "io" ] }
+-tower-service = "0.3.0"
+-udev = "0.4"
+-url = "2.1"
+-#valgrind_request = { git = "https://github.com/edef1c/libvalgrind_request", version = "1.1.0", optional = true }
+-walkdir = "2"
+-xdg = "2.2"
+-nom = "5.1"
+-crossbeam-channel = "0.5"
+-
+-# Used only by examples currently:
+-zstd = { version = "0.6", features = [ "bindgen" ] }
+-
+-pathpatterns = "0.1.2"
+-pxar = { version = "0.10.1", features = [ "tokio-io" ] }
+-
+-proxmox-http = { version = "0.6.1", features = [ "client", "http-helpers", "websocket" ] }
+-proxmox-io = "1"
+-proxmox-lang = "1.1"
+-proxmox-router = { version = "1.2.2", features = [ "cli" ] }
+-proxmox-schema = { version = "1.3.1", features = [ "api-macro" ] }
+-proxmox-section-config = "1"
+-proxmox-tfa = { version = "2", features = [ "api", "api-types" ] }
+-proxmox-time = "1.1.2"
+-proxmox-uuid = "1"
+-proxmox-serde = "0.1"
+-proxmox-shared-memory = "0.2"
+-proxmox-sys = { version = "0.2", features = [ "sortable-macro" ] }
+-proxmox-compression = "0.1"
+-
+-
+-proxmox-acme-rs = "0.4"
+-proxmox-apt = "0.8.0"
+-proxmox-async = "0.4"
+-proxmox-openid = "0.9.0"
+-
+ pbs-api-types = { path = "pbs-api-types" }
+ pbs-buildcfg = { path = "pbs-buildcfg" }
+ pbs-client = { path = "pbs-client" }
+@@ -126,22 +44,23 @@ pbs-tape = { path = "pbs-tape" }
+ # Local path overrides
+ # NOTE: You must run `cargo update` after changing this for it to take effect!
+ [patch.crates-io]
+-#proxmox = { path = "../proxmox/proxmox" }
+-#proxmox-async = { path = "../proxmox/proxmox-async" }
+-#proxmox-borrow = { path = "../proxmox/proxmox-borrow" }
+-#proxmox-fuse = { path = "../proxmox-fuse" }
+-#proxmox-http = { path = "../proxmox/proxmox-http" }
+-#proxmox-io = { path = "../proxmox/proxmox-io" }
+-#proxmox-lang = { path = "../proxmox/proxmox-lang" }
+-#proxmox-router = { path = "../proxmox/proxmox-router" }
+-#proxmox-schema = { path = "../proxmox/proxmox-schema" }
+-#proxmox-section-config = { path = "../proxmox/proxmox-section-config" }
+-#proxmox-shared-memory = { path = "../proxmox/proxmox-shared-memory" }
+-#proxmox-sys = { path = "../proxmox/proxmox-sys" }
++proxmox-async = { path = "../proxmox/proxmox-async" }
++proxmox-compression = { path = "../proxmox/proxmox-compression" }
++proxmox-borrow = { path = "../proxmox/proxmox-borrow" }
++proxmox-fuse = { path = "../proxmox-fuse" }
++proxmox-http = { path = "../proxmox/proxmox-http" }
++proxmox-io = { path = "../proxmox/proxmox-io" }
++proxmox-lang = { path = "../proxmox/proxmox-lang" }
++proxmox-router = { path = "../proxmox/proxmox-router" }
++proxmox-schema = { path = "../proxmox/proxmox-schema" }
++proxmox-section-config = { path = "../proxmox/proxmox-section-config" }
++proxmox-serde = { path = "../proxmox/proxmox-serde" }
++proxmox-shared-memory = { path = "../proxmox/proxmox-shared-memory" }
++proxmox-sys = { path = "../proxmox/proxmox-sys" }
+ #proxmox-tfa = { path = "../proxmox/proxmox-tfa" }
+-#proxmox-time = { path = "../proxmox/proxmox-time" }
+-#proxmox-uuid = { path = "../proxmox/proxmox-uuid" }
+-#pxar = { path = "../pxar" }
++proxmox-time = { path = "../proxmox/proxmox-time" }
++proxmox-uuid = { path = "../proxmox/proxmox-uuid" }
++pxar = { path = "../pxar" }
+ 
+ [features]
+ default = []
diff --git a/pkgs/applications/backup/timeshift/unwrapped.nix b/pkgs/applications/backup/timeshift/unwrapped.nix
index 61964370b3e2d..81a0cd8b02e12 100644
--- a/pkgs/applications/backup/timeshift/unwrapped.nix
+++ b/pkgs/applications/backup/timeshift/unwrapped.nix
@@ -72,6 +72,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/linuxmint/timeshift";
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ ShamrockLee ];
+    maintainers = with maintainers; [ ShamrockLee bobby285271 ];
   };
 }
diff --git a/pkgs/applications/backup/vorta/default.nix b/pkgs/applications/backup/vorta/default.nix
index 32d989e7a253a..ad55ef1ab8c8d 100644
--- a/pkgs/applications/backup/vorta/default.nix
+++ b/pkgs/applications/backup/vorta/default.nix
@@ -8,13 +8,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "vorta";
-  version = "0.8.7";
+  version = "0.8.9";
 
   src = fetchFromGitHub {
     owner = "borgbase";
     repo = "vorta";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-9SfHZbNM+lRtwLO/0dE9C4cHb3pSPkxBUITYNEdPMQw=";
+    sha256 = "sha256-5RZXHMov3CX0zRprs7sgz0+cGEdESLrg4I2glRnTkcU=";
   };
 
   nativeBuildInputs = [ wrapQtAppsHook ];
diff --git a/pkgs/applications/blockchains/alfis/default.nix b/pkgs/applications/blockchains/alfis/default.nix
index 62f21dff30f31..c3971ae41e1a3 100644
--- a/pkgs/applications/blockchains/alfis/default.nix
+++ b/pkgs/applications/blockchains/alfis/default.nix
@@ -2,6 +2,7 @@
 , lib
 , rustPlatform
 , fetchFromGitHub
+, fetchpatch
 , pkg-config
 , makeWrapper
 , webkitgtk
@@ -14,16 +15,24 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "alfis";
-  version = "0.8.2";
+  version = "0.8.3";
 
   src = fetchFromGitHub {
     owner = "Revertron";
     repo = "Alfis";
     rev = "v${version}";
-    sha256 = "sha256-E0n1keNk5jNnErNvYhb8oe26kK9Opl+IJ5zpsvrqS84=";
+    sha256 = "sha256-QOKFnre5MW9EvrKrKBHWpOxi2fBKTDMhzCDX3ISd2cQ=";
   };
 
-  cargoSha256 = "sha256-kbo3OMLYA/5xctz/YhQNd8IYlyCQB7D/8rCHZwjvlMI=";
+  cargoPatches = [
+    (fetchpatch {
+      name = "bump-rust-web-view.patch";
+      url = "https://github.com/Revertron/Alfis/commit/03b461a740ab6ccbacd576eafc7a3faf4a66648f.patch";
+      sha256 = "sha256-CSqSMdVD31w7QxxXWtjKmqlaEirmbs1EVuiefSf1NKY=";
+    })
+  ];
+
+  cargoSha256 = "sha256-B4xI++U6RCljXCyaOmNj/SwA6I16zoiZsgk2VTiKfkg=";
 
   checkFlags = [
     # these want internet access, disable them
diff --git a/pkgs/applications/blockchains/bisq-desktop/default.nix b/pkgs/applications/blockchains/bisq-desktop/default.nix
index 9ac34e61b238b..05542ef4c24eb 100644
--- a/pkgs/applications/blockchains/bisq-desktop/default.nix
+++ b/pkgs/applications/blockchains/bisq-desktop/default.nix
@@ -34,11 +34,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "bisq-desktop";
-  version = "1.9.5";
+  version = "1.9.6";
 
   src = fetchurl {
     url = "https://github.com/bisq-network/bisq/releases/download/v${version}/Bisq-64bit-${version}.deb";
-    sha256 = "1jmhngxyn2yf7k1dn98yr9d20jlvkmskbpzz5kbzci36v2wfmjrp";
+    sha256 = "02j6n693lhfn9x8kaz253xm76zzsdz8h10rkyxnlqiwwbn1wnmsa";
   };
 
   nativeBuildInputs = [ makeWrapper copyDesktopItems imagemagick dpkg zip xz ];
diff --git a/pkgs/applications/blockchains/bitcoin-knots/default.nix b/pkgs/applications/blockchains/bitcoin-knots/default.nix
index 803e27969e7ae..ca998248a6c58 100644
--- a/pkgs/applications/blockchains/bitcoin-knots/default.nix
+++ b/pkgs/applications/blockchains/bitcoin-knots/default.nix
@@ -26,11 +26,11 @@
 with lib;
 stdenv.mkDerivation rec {
   pname = if withGui then "bitcoin-knots" else "bitcoind-knots";
-  version = "22.0.knots20211108";
+  version = "23.0.knots20220529";
 
   src = fetchurl {
-    url = "https://bitcoinknots.org/files/22.x/${version}/guix/bitcoin-${version}.tar.gz";
-    sha256 = "04sqbx4sp3bzwbl8z53nz96n3s0590h327ih0mbgyvfvl3b8pj4i";
+    url = "https://bitcoinknots.org/files/23.x/${version}/bitcoin-${version}.tar.gz";
+    sha256 = "0c6l4bvj4ck8gp5vm4dla3l32swsp6ijk12fyf330wgry4mhqxyi";
   };
 
   nativeBuildInputs =
diff --git a/pkgs/applications/blockchains/btcd/default.nix b/pkgs/applications/blockchains/btcd/default.nix
new file mode 100644
index 0000000000000..34a6aa1dad83a
--- /dev/null
+++ b/pkgs/applications/blockchains/btcd/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "btcd";
+  version = "0.23.3";
+
+  src = fetchFromGitHub {
+    owner = "btcsuite";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-LdK68Ianiyrs+HVMwrkiX2ruCWKkdpuY8ylxhNbm9qI=";
+  };
+
+  vendorSha256 = "sha256-3w8rb0sfAIFCXqPXOKb4QwoLd7WsbFv3phu/rJCEjeY=";
+
+  subPackages = [ "." "cmd/*" ];
+
+  preCheck = ''
+    DIR="github.com/btcsuite/btcd/"
+    # TestCreateDefaultConfigFile requires the sample-btcd.conf in $DIR
+    mkdir -p $DIR
+    cp sample-btcd.conf $DIR
+  '';
+
+  meta = with lib; {
+    description = "An alternative full node bitcoin implementation written in Go (golang)";
+    homepage = "https://github.com/btcsuite/btcd";
+    license = licenses.isc;
+    maintainers = with maintainers; [ _0xB10C ];
+  };
+}
diff --git a/pkgs/applications/blockchains/electrs/default.nix b/pkgs/applications/blockchains/electrs/default.nix
index 3fa08757f7de7..35470a7b8542c 100644
--- a/pkgs/applications/blockchains/electrs/default.nix
+++ b/pkgs/applications/blockchains/electrs/default.nix
@@ -12,16 +12,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "electrs";
-  version = "0.9.9";
+  version = "0.9.10";
 
   src = fetchFromGitHub {
     owner = "romanz";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-jU0qN+T5bHn9l/SXDR/Wa8uCGyJhIDUCHzEQe39L2MQ=";
+    hash = "sha256-GqFtCK5hxnEfIfw3ITufeu26yueknuFZhLtGSXmJ8fE=";
   };
 
-  cargoHash = "sha256-hdScQd0Fd6gE9/f4kk0zjZLK42oK1aaDzIOcAIsJqbU=";
+  cargoHash = "sha256-p4t+G13XaCl7+IbX5YyBFF0PmARbw4XlRvnA0PRcjvQ=";
 
   # needed for librocksdb-sys
   nativeBuildInputs = [ llvmPackages.clang ];
@@ -33,6 +33,8 @@ rustPlatform.buildRustPackage rec {
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
+  passthru.updateScript = ./update.sh;
+
   meta = with lib; {
     description = "An efficient re-implementation of Electrum Server in Rust";
     homepage = "https://github.com/romanz/electrs";
diff --git a/pkgs/applications/blockchains/elements/default.nix b/pkgs/applications/blockchains/elements/default.nix
index be8f4ebb9f86e..1c02076c570dc 100644
--- a/pkgs/applications/blockchains/elements/default.nix
+++ b/pkgs/applications/blockchains/elements/default.nix
@@ -25,13 +25,13 @@
 with lib;
 stdenv.mkDerivation rec {
   pname = if withGui then "elements" else "elementsd";
-  version = "22.0";
+  version = "22.0.2";
 
   src = fetchFromGitHub {
     owner = "ElementsProject";
     repo = "elements";
     rev = "elements-${version}";
-    sha256 = "sha256-n98bz1W9hoJ5JDH34LG7R6igEIY1j4mRbO2PKnV8R2U=";
+    sha256 = "sha256-20Tem6CD7XAt1EDfkl46Nxhb+Vq3sCk/UqnLCAm85FU=";
   };
 
   nativeBuildInputs =
diff --git a/pkgs/applications/blockchains/ergo/default.nix b/pkgs/applications/blockchains/ergo/default.nix
index 3c54844863ffc..3d14ec40f2383 100644
--- a/pkgs/applications/blockchains/ergo/default.nix
+++ b/pkgs/applications/blockchains/ergo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ergo";
-  version = "4.0.104";
+  version = "5.0.3";
 
   src = fetchurl {
     url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar";
-    sha256 = "sha256-h6OVeDifYIKyIkwbN/pmJWge4/YGL6cnQQ/sI14LsHQ=";
+    sha256 = "sha256-IDAss4qX39qPyOsPpVg5zU6zq/QV/RTnbHTGVl9UmOA=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/blockchains/erigon.nix b/pkgs/applications/blockchains/erigon.nix
index 70a87a98e8856..d656db3c47c83 100644
--- a/pkgs/applications/blockchains/erigon.nix
+++ b/pkgs/applications/blockchains/erigon.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "erigon";
-  version = "2022.10.01";
+  version = "2.30.0";
 
   src = fetchFromGitHub {
     owner = "ledgerwatch";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-FuOVI59vfhm5q92hnfgarh3zpLXSDRmZQJuERHf4I7A=";
+    sha256 = "sha256-s5D+Ps5S95AyNh7tt2SnTvUxNHzOothsMZA7NW3x0yM=";
     fetchSubmodules = true;
   };
 
-  vendorSha256 = "sha256-B9brjWvYw65ti2Ac3D4nQUEax/q+Uf5DTPBHXeWQybw=";
+  vendorSha256 = "sha256-ICoThps7c4+9NQPeaASQ88YVbczJD/MgF2ldOmKjgvc=";
   proxyVendor = true;
 
   # Build errors in mdbx when format hardening is enabled:
diff --git a/pkgs/applications/blockchains/go-ethereum/default.nix b/pkgs/applications/blockchains/go-ethereum/default.nix
index ca8f33bcd5c57..915cb938423dc 100644
--- a/pkgs/applications/blockchains/go-ethereum/default.nix
+++ b/pkgs/applications/blockchains/go-ethereum/default.nix
@@ -9,13 +9,13 @@ let
 
 in buildGoModule rec {
   pname = "go-ethereum";
-  version = "1.10.25";
+  version = "1.10.26";
 
   src = fetchFromGitHub {
     owner = "ethereum";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-mnf0kMfQEEQMricZJfyF7ZB/2F1dyPBx9iT2v/rGh1U=";
+    sha256 = "sha256-eefQEOeKb6gZIJdK9cq20WnhwZE1qbyd8Cl0Hqh2+u8=";
   };
 
   vendorSha256 = "sha256-Dj+xN8lr98LJyYr2FwJ7yUIJkUeUrr1fkcbj4hShJI0=";
@@ -46,7 +46,7 @@ in buildGoModule rec {
     "cmd/utils"
   ];
 
-  # Following upstream: https://github.com/ethereum/go-ethereum/blob/v1.10.25/build/ci.go#L218
+  # Following upstream: https://github.com/ethereum/go-ethereum/blob/v1.10.26/build/ci.go#L218
   tags = [ "urfave_cli_no_docs" ];
 
   # Fix for usb-related segmentation faults on darwin
diff --git a/pkgs/applications/blockchains/groestlcoin/default.nix b/pkgs/applications/blockchains/groestlcoin/default.nix
index 57b6f719505cb..6d5bf0de2e72c 100644
--- a/pkgs/applications/blockchains/groestlcoin/default.nix
+++ b/pkgs/applications/blockchains/groestlcoin/default.nix
@@ -10,7 +10,7 @@
 , wrapQtAppsHook ? null
 , boost
 , libevent
-, miniupnpc_2
+, miniupnpc
 , zeromq
 , zlib
 , db53
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
     ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ autoSignDarwinBinariesHook ]
     ++ lib.optionals withGui [ wrapQtAppsHook ];
 
-  buildInputs = [ boost libevent miniupnpc_2 zeromq zlib ]
+  buildInputs = [ boost libevent miniupnpc zeromq zlib ]
     ++ lib.optionals withWallet [ db53 sqlite ]
     ++ lib.optionals withGui [ qrencode qtbase qttools ];
 
diff --git a/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
index 4d2f727193ec0..4f6ae53ec7845 100644
--- a/pkgs/applications/blockchains/ledger-live-desktop/default.nix
+++ b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
@@ -2,11 +2,11 @@
 
 let
   pname = "ledger-live-desktop";
-  version = "2.49.0";
+  version = "2.49.2";
 
   src = fetchurl {
     url = "https://download.live.ledger.com/${pname}-${version}-linux-x86_64.AppImage";
-    hash = "sha256-5HrPeLeMPh6hc1OLZVSPWMSV+ZwjgQyUmFCW+ZyYdCA=";
+    hash = "sha256-8KGZRTJu3uGFyf4vogoC9kDrKegD8Op4Z7gqQK+UFl8=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/blockchains/lighthouse/default.nix b/pkgs/applications/blockchains/lighthouse/default.nix
index fc95295d3d9e6..c778ce3f75755 100644
--- a/pkgs/applications/blockchains/lighthouse/default.nix
+++ b/pkgs/applications/blockchains/lighthouse/default.nix
@@ -17,7 +17,7 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "lighthouse";
-  version = "3.1.2";
+  version = "3.2.1";
 
   # lighthouse/common/deposit_contract/build.rs
   depositContractSpecVersion = "0.12.1";
@@ -27,10 +27,10 @@ rustPlatform.buildRustPackage rec {
     owner = "sigp";
     repo = "lighthouse";
     rev = "v${version}";
-    hash = "sha256-EJFg6ZjxxijxJNMwKRh0cYeqwujUV3OJgXBvBRsnbVI=";
+    sha256 = "sha256-Aqc3kk1rquhLKNZDlEun4bQpKI4Nsk7+Wr7E2IkJQEs=";
   };
 
-  cargoHash = "sha256-iXqRtBqvM9URQsL8qGmpr3CNX2fpbtDOaluibAX/lWo=";
+  cargoSha256 = "sha256-wGEk7OfEmyeRW65kq5stvKCdnCjfssyXUmNWGkGq42M=";
 
   buildFeatures = [ "modern" "gnosis" ];
 
diff --git a/pkgs/applications/blockchains/lnd/default.nix b/pkgs/applications/blockchains/lnd/default.nix
index bb91e141f44ef..a5cc7431246bc 100644
--- a/pkgs/applications/blockchains/lnd/default.nix
+++ b/pkgs/applications/blockchains/lnd/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "lnd";
-  version = "0.15.2-beta";
+  version = "0.15.4-beta";
 
   src = fetchFromGitHub {
     owner = "lightningnetwork";
     repo = "lnd";
     rev = "v${version}";
-    sha256 = "sha256-C7BZ6awY2v5Uvvh12YEosoEQyJoetWzH/1wIQSVjtEk=";
+    sha256 = "sha256-/PKW2Y6+PlWk88pC4DHFi1ZRqMfQzoO9MVLYZrB2UNc=";
   };
 
-  vendorSha256 = "sha256-rCdcPkgrFcDfLfF8wipFws7YTKEgotuVqVIJYLMOxbs=";
+  vendorSha256 = "sha256-bUo0PhtOFhsZfhAXtRJMjfaLrAsOv3ksxsrPOlMNv48=";
 
   subPackages = [ "cmd/lncli" "cmd/lnd" ];
 
diff --git a/pkgs/applications/blockchains/nearcore/default.nix b/pkgs/applications/blockchains/nearcore/default.nix
index a5c475308b323..058888d965da2 100644
--- a/pkgs/applications/blockchains/nearcore/default.nix
+++ b/pkgs/applications/blockchains/nearcore/default.nix
@@ -4,7 +4,7 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "nearcore";
-  version = "1.29.0";
+  version = "1.29.1";
 
   # https://github.com/near/nearcore/tags
   src = fetchFromGitHub {
@@ -13,10 +13,10 @@ rustPlatform.buildRustPackage rec {
     # there is also a branch for this version number, so we need to be explicit
     rev = "refs/tags/${version}";
 
-    sha256 = "sha256-TOZ6j4CaiOXmNn8kgVGP27SjvLDlGvabAA+PAEyFXIk=";
+    sha256 = "sha256-TmmGLrDpNOfadOIwmG7XRgI89XQjaqIavxCEE2plumc=";
   };
 
-  cargoSha256 = "sha256-LjBgsQynHIfrQP4Z7j1J8+PLqRZWGAOQ5dJaGOqabVk=";
+  cargoSha256 = "sha256-4suoHP6AXhXlt7+sHMX5RW/LGZrbMhNNmzYvFBcnMTs=";
   cargoPatches = [ ./0001-make-near-test-contracts-optional.patch ];
 
   postPatch = ''
diff --git a/pkgs/applications/blockchains/polkadot/default.nix b/pkgs/applications/blockchains/polkadot/default.nix
index 00f15c27d857c..31c610f255fe5 100644
--- a/pkgs/applications/blockchains/polkadot/default.nix
+++ b/pkgs/applications/blockchains/polkadot/default.nix
@@ -10,13 +10,13 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "polkadot";
-  version = "0.9.30";
+  version = "0.9.32";
 
   src = fetchFromGitHub {
     owner = "paritytech";
     repo = "polkadot";
     rev = "v${version}";
-    sha256 = "sha256-lnClnra69vfszPjnrOldSkd3kgC34bgociicC6Kpupw=";
+    sha256 = "sha256-bE7PzvkHKAP/nqNkoBMTGvZZwmf8YY+cGnJ2EM/2xAs=";
 
     # the build process of polkadot requires a .git folder in order to determine
     # the git commit hash that is being built and add it to the version string.
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
     '';
   };
 
-  cargoSha256 = "sha256-mnfA0ecfmMMAy1TZeydbep6hCIu9yZQY7/c5hb1OMGc=";
+  cargoSha256 = "sha256-NI50KFXvQgUV+G1l5D2gnAo1EohnCpQWlFCZ0iP2CVQ=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
diff --git a/pkgs/applications/blockchains/sparrow/default.nix b/pkgs/applications/blockchains/sparrow/default.nix
index e3b54a7465634..9a184bed83a53 100644
--- a/pkgs/applications/blockchains/sparrow/default.nix
+++ b/pkgs/applications/blockchains/sparrow/default.nix
@@ -5,7 +5,7 @@
 , makeDesktopItem
 , copyDesktopItems
 , autoPatchelfHook
-, openjdk17
+, openjdk18
 , gtk3
 , gsettings-desktop-schemas
 , writeScript
@@ -20,11 +20,11 @@
 
 let
   pname = "sparrow";
-  version = "1.6.5";
+  version = "1.7.0";
 
   src = fetchurl {
-    url = "https://github.com/sparrowwallet/${pname}/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0zk33w664fky3ir6cqm6walc80fjhg9s0hnrllrc2hrxrqnrn88p";
+    url = "https://github.com/sparrowwallet/${pname}/releases/download/${version}/${pname}-${version}-x86_64.tar.gz";
+    sha256 = "1rrf5xba733c2vxgd7bf164iswc66ggp64ywh79d0vf188imzmwr";
   };
 
   launcher = writeScript "sparrow" ''
@@ -60,7 +60,7 @@ let
       -m com.sparrowwallet.sparrow
     )
 
-    XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS ${openjdk17}/bin/java ''${params[@]} $@
+    XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS ${openjdk18}/bin/java ''${params[@]} $@
   '';
 
   torWrapper = writeScript "tor-wrapper" ''
@@ -71,14 +71,14 @@ let
 
   jdk-modules = stdenv.mkDerivation {
     name = "jdk-modules";
-    nativeBuildInputs = [ openjdk17 ];
+    nativeBuildInputs = [ openjdk18 ];
     dontUnpack = true;
 
     buildPhase = ''
       # Extract the JDK's JIMAGE and generate a list of modules.
       mkdir modules
       pushd modules
-      jimage extract ${openjdk17}/lib/openjdk/lib/modules
+      jimage extract ${openjdk18}/lib/openjdk/lib/modules
       ls | xargs -d " " -- echo > ../manifest.txt
       popd
     '';
@@ -93,7 +93,7 @@ let
   sparrow-modules = stdenv.mkDerivation {
     pname = "sparrow-modules";
     inherit version src;
-    nativeBuildInputs = [ makeWrapper gnugrep openjdk17 autoPatchelfHook stdenv.cc.cc.lib zlib ];
+    nativeBuildInputs = [ makeWrapper gnugrep openjdk18 autoPatchelfHook stdenv.cc.cc.lib zlib ];
 
     buildPhase = ''
       # Extract Sparrow's JIMAGE and generate a list of them.
@@ -187,6 +187,7 @@ stdenv.mkDerivation rec {
       desktopName = "Sparrow Bitcoin Wallet";
       genericName = "Bitcoin Wallet";
       categories = [ "Finance" ];
+      mimeTypes = [ "application/psbt" "application/bitcoin-transaction" "x-scheme-handler/bitcoin" "x-scheme-handler/auth47" "x-scheme-handler/lightning" ];
     })
   ];
 
@@ -222,6 +223,8 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  passthru.updateScript = ./update.sh;
+
   meta = with lib; {
     description = "A modern desktop Bitcoin wallet application supporting most hardware wallets and built on common standards such as PSBT, with an emphasis on transparency and usability.";
     homepage = "https://sparrowwallet.com";
diff --git a/pkgs/applications/blockchains/sparrow/update.sh b/pkgs/applications/blockchains/sparrow/update.sh
new file mode 100755
index 0000000000000..bda8b0765aede
--- /dev/null
+++ b/pkgs/applications/blockchains/sparrow/update.sh
@@ -0,0 +1,26 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p coreutils curl jq gnused gnupg common-updater-scripts
+
+set -eu -o pipefail
+
+version="$(curl -s https://api.github.com/repos/sparrowwallet/sparrow/releases| jq '.[] | {name} | limit(1;.[])' | sed 's/[\"v]//g' | head -n 1)"
+depname="sparrow-$version-x86_64.tar.gz"
+src_root="https://github.com/sparrowwallet/sparrow/releases/download/$version";
+src="$src_root/$depname";
+manifest="$src_root/sparrow-$version-manifest.txt"
+signature="$src_root/sparrow-$version-manifest.txt.asc"
+key="D4D0 D320 2FC0 6849 A257 B38D E946 1833 4C67 4B40"
+
+pushd $(mktemp -d --suffix=-sparrow-updater)
+export GNUPGHOME=$PWD/gnupg
+mkdir -m 700 -p "$GNUPGHOME"
+curl -L -o "$depname" -- "$src"
+curl -L -o manifest.txt -- "$manifest"
+curl -L -o signature.asc -- "$signature"
+gpg --batch --recv-keys "$key"
+gpg --batch --verify signature.asc manifest.txt
+sha256sum -c --ignore-missing manifest.txt
+sha256=$(nix-prefetch-url --type sha256 "file://$PWD/$depname")
+popd
+
+update-source-version sparrow "$version" "$sha256"
diff --git a/pkgs/applications/blockchains/trezor-suite/default.nix b/pkgs/applications/blockchains/trezor-suite/default.nix
index b110bd4e33be1..311f14bb1fa26 100644
--- a/pkgs/applications/blockchains/trezor-suite/default.nix
+++ b/pkgs/applications/blockchains/trezor-suite/default.nix
@@ -8,7 +8,7 @@
 
 let
   pname = "trezor-suite";
-  version = "22.8.2";
+  version = "22.10.3";
   name = "${pname}-${version}";
 
   suffix = {
@@ -19,8 +19,8 @@ let
   src = fetchurl {
     url = "https://github.com/trezor/${pname}/releases/download/v${version}/Trezor-Suite-${version}-${suffix}.AppImage";
     sha512 = { # curl -Lfs https://github.com/trezor/trezor-suite/releases/latest/download/latest-linux{-arm64,}.yml | grep ^sha512 | sed 's/: /-/'
-      aarch64-linux = "sha512-tzGkEDVXOJaTfRPO4UUfDpqaddjeJvVHpf81A9hhpUTRIgbAO4fcOrTgJcgWCBotDo8nHCWjw+n5BG5PEfQ19Q==";
-      x86_64-linux  = "sha512-qUM3HGYXbVbLRYXetLGbShPU5ochuptCUNn0G5RD3tQeipVZsgRkQCSfZ1Zb3HgoPUOna3u8Mp7Ipu1n8xi3vg==";
+      aarch64-linux = "sha512-fI0N1V+6SEZ9eNf+G/w5RcY8oeA5MsVzJnpnWoMzkkHZh5jVHgNbcqVgSPbzvQ/WZNv1MX37KETcxmDwRx//yw==";
+      x86_64-linux  = "sha512-zN89Qw6fQh27EaN9ARNwqhiBaiNoMic6Aq2UPG0OSUtOjEOdkGJ2pbR8MgWVccSgRH8ZmAAXZ0snVKfZWHbCjA==";
     }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
   };
 
@@ -42,8 +42,7 @@ appimageTools.wrapType2 rec {
     cp -a ${appimageContents}/resources/images/ $out/share/${pname}/resources
 
     install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
-    install -m 444 -D ${appimageContents}/${pname}.png $out/share/icons/hicolor/512x512/apps/${pname}.png
-    install -m 444 -D ${appimageContents}/resources/images/icons/512x512.png $out/share/icons/hicolor/512x512/apps/${pname}.png
+    install -m 444 -D ${appimageContents}/resources/images/desktop/512x512.png $out/share/icons/hicolor/512x512/apps/${pname}.png
     substituteInPlace $out/share/applications/${pname}.desktop \
       --replace 'Exec=AppRun --no-sandbox %U' 'Exec=${pname}'
 
diff --git a/pkgs/applications/blockchains/wownero/default.nix b/pkgs/applications/blockchains/wownero/default.nix
index 61945895eef7a..14e17c766dd99 100644
--- a/pkgs/applications/blockchains/wownero/default.nix
+++ b/pkgs/applications/blockchains/wownero/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitea, cmake, boost, miniupnpc_2, openssl, unbound
+{ lib, stdenv, fetchFromGitea, cmake, boost, miniupnpc, openssl, unbound
 , readline, libsodium, rapidjson
 }:
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ];
 
   buildInputs = [
-    boost miniupnpc_2 openssl unbound rapidjson readline libsodium
+    boost miniupnpc openssl unbound rapidjson readline libsodium
   ];
 
   postUnpack = ''
diff --git a/pkgs/applications/blockchains/zcash/default.nix b/pkgs/applications/blockchains/zcash/default.nix
index c4d007f290773..7466ff31d5816 100644
--- a/pkgs/applications/blockchains/zcash/default.nix
+++ b/pkgs/applications/blockchains/zcash/default.nix
@@ -1,17 +1,17 @@
-{ autoreconfHook, boost179, cargo, coreutils, curl, cxx-rs, db62, fetchFromGitHub
-, hexdump, lib, libevent, libsodium, makeWrapper, rust, rustPlatform, pkg-config
-, stdenv, testers, utf8cpp, util-linux, zcash, zeromq
+{ autoreconfHook, boost180, cargo, coreutils, curl, cxx-rs, db62, fetchFromGitHub
+, hexdump, hostPlatform, lib, libevent, libsodium, makeWrapper, rust, rustPlatform
+, pkg-config, Security, stdenv, testers, utf8cpp, util-linux, zcash, zeromq
 }:
 
 rustPlatform.buildRustPackage.override { inherit stdenv; } rec {
   pname = "zcash";
-  version = "5.1.0";
+  version = "5.3.0";
 
   src = fetchFromGitHub {
     owner = "zcash";
     repo  = "zcash";
     rev = "v${version}";
-    sha256 = "sha256-tU6DuWpe8Vlx0qIilAKWuO7WFp1ucbxtvOxoWLA0gdc=";
+    hash = "sha256-mlABKZDYYC3y+KlXQVFqdcm46m8K9tbOCqk4lM4shp8=";
   };
 
   prePatch = lib.optionalString stdenv.isAarch64 ''
@@ -20,15 +20,20 @@ rustPlatform.buildRustPackage.override { inherit stdenv; } rec {
       --replace "linker = \"aarch64-linux-gnu-gcc\"" ""
   '';
 
-  patches = [
-    ./patches/fix-missing-header.patch
-  ];
-
-  cargoSha256 = "sha256-ZWmkveDEENdXRirGmnUWSjtPNJvX0Jpgfxhzk44F7Q0=";
+  cargoHash = "sha256-6uhtOaBsgMw59Dy6yivZYUEWDsYfpInA7VmJrqxDS/4=";
 
   nativeBuildInputs = [ autoreconfHook cargo cxx-rs hexdump makeWrapper pkg-config ];
 
-  buildInputs = [ boost179 db62 libevent libsodium utf8cpp zeromq ];
+  buildInputs = [
+    boost180
+    db62
+    libevent
+    libsodium
+    utf8cpp
+    zeromq
+  ] ++ lib.optionals stdenv.isDarwin [
+    Security
+  ];
 
   # Use the stdenv default phases (./configure; make) instead of the
   # ones from buildRustPackage.
@@ -50,7 +55,7 @@ rustPlatform.buildRustPackage.override { inherit stdenv; } rec {
 
   configureFlags = [
     "--disable-tests"
-    "--with-boost-libdir=${lib.getLib boost179}/lib"
+    "--with-boost-libdir=${lib.getLib boost180}/lib"
     "RUST_TARGET=${rust.toRustTargetSpec stdenv.hostPlatform}"
   ];
 
@@ -75,5 +80,8 @@ rustPlatform.buildRustPackage.override { inherit stdenv; } rec {
     homepage = "https://z.cash/";
     maintainers = with maintainers; [ rht tkerber centromere ];
     license = licenses.mit;
+
+    # https://github.com/zcash/zcash/issues/4405
+    broken = hostPlatform.isAarch64 && hostPlatform.isDarwin;
   };
 }
diff --git a/pkgs/applications/blockchains/zcash/patches/fix-missing-header.patch b/pkgs/applications/blockchains/zcash/patches/fix-missing-header.patch
deleted file mode 100644
index 6850d78ef12bf..0000000000000
--- a/pkgs/applications/blockchains/zcash/patches/fix-missing-header.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/src/uint256.h	2022-07-20 10:07:39.191319302 +0000
-+++ b/src/uint256.h	2022-07-20 10:07:11.809632293 +0000
-@@ -7,6 +7,7 @@
- #ifndef BITCOIN_UINT256_H
- #define BITCOIN_UINT256_H
-
-+#include <array>
- #include <assert.h>
- #include <cstring>
- #include <stdexcept>
diff --git a/pkgs/applications/display-managers/lightdm-mobile-greeter/default.nix b/pkgs/applications/display-managers/lightdm-mobile-greeter/default.nix
new file mode 100644
index 0000000000000..a4ea16aa4a78c
--- /dev/null
+++ b/pkgs/applications/display-managers/lightdm-mobile-greeter/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, fetchFromGitea
+, gtk3
+, libhandy_0
+, lightdm
+, lightdm-mobile-greeter
+, linkFarm
+, pkg-config
+, rustPlatform
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "lightdm-mobile-greeter";
+  version = "2022-10-30";
+
+  src = fetchFromGitea {
+    domain = "git.raatty.club";
+    owner = "raatty";
+    repo = "lightdm-mobile-greeter";
+    rev = "8c8d6dfce62799307320c8c5a1f0dd5c8c18e4d3";
+    hash = "sha256-SrAR2+An3BN/doFl/s8PcYZMUHLfVPXKZOo6ndO60nY=";
+  };
+  cargoHash = "sha256-NZ0jOkEBNa5oOydfyKm0XQB/vkAvBv9wHBbnM9egQFQ=";
+
+  buildInputs = [
+    gtk3
+    libhandy_0
+    lightdm
+  ];
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  postInstall = ''
+    mkdir -p $out/share/xgreeters
+    substitute lightdm-mobile-greeter.desktop \
+      $out/share/xgreeters/lightdm-mobile-greeter.desktop \
+      --replace lightdm-mobile-greeter $out/bin/lightdm-mobile-greeter
+  '';
+
+  passthru.xgreeters = linkFarm "lightdm-mobile-greeter-xgreeters" [{
+    path = "${lightdm-mobile-greeter}/share/xgreeters/lightdm-mobile-greeter.desktop";
+    name = "lightdm-mobile-greeter.desktop";
+  }];
+
+  meta = with lib; {
+    description = "A simple log in screen for use on touch screens";
+    homepage = "https://git.raatty.club/raatty/lightdm-mobile-greeter";
+    maintainers = with maintainers; [ colinsane ];
+    platforms = platforms.linux;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/applications/display-managers/lightdm-slick-greeter/default.nix b/pkgs/applications/display-managers/lightdm-slick-greeter/default.nix
index fe8132fb1b469..fe912d2cc30a6 100644
--- a/pkgs/applications/display-managers/lightdm-slick-greeter/default.nix
+++ b/pkgs/applications/display-managers/lightdm-slick-greeter/default.nix
@@ -104,7 +104,7 @@ stdenv.mkDerivation rec {
     description = "A slick-looking LightDM greeter";
     homepage = "https://github.com/linuxmint/slick-greeter";
     license = licenses.gpl3Only;
-    maintainers = with maintainers; [ water-sucks ];
+    maintainers = with maintainers; [ water-sucks bobby285271 ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index 976cfb95fd0c2..70d146db32187 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -10,8 +10,8 @@ let
     inherit tiling_wm;
   };
   stableVersion = {
-    version = "2021.3.1.16"; # "Android Studio Dolphin (2021.3.1)"
-    sha256Hash = "GnJbWFeG9DuUQzbK9wM2BEbj9LXm4jQFf/Eh5Q75HZo=";
+    version = "2021.3.1.17"; # "Android Studio Dolphin (2021.3.1)"
+    sha256Hash = "sha256-ia2wzg/6RreJTnv+2xQrH11SxDwXHmpsualaSfd3Vso=";
   };
   betaVersion = {
     version = "2022.1.1.12"; # "Android Studio Electric Eel (2022.1.1) Beta 2"
diff --git a/pkgs/applications/editors/codeblocks/default.nix b/pkgs/applications/editors/codeblocks/default.nix
index 032fd765b27f4..7a1c0af2c6430 100644
--- a/pkgs/applications/editors/codeblocks/default.nix
+++ b/pkgs/applications/editors/codeblocks/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchpatch, pkg-config, file, zip, wxGTK31-gtk3, gtk3
+{ lib, stdenv, fetchurl, fetchpatch, pkg-config, file, zip, wxGTK31, gtk3
 , contribPlugins ? false, hunspell, gamin, boost, wrapGAppsHook
 }:
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config file zip wrapGAppsHook ];
-  buildInputs = [ wxGTK31-gtk3 gtk3 ]
+  buildInputs = [ wxGTK31 gtk3 ]
     ++ optionals contribPlugins [ hunspell gamin boost ];
   enableParallelBuilding = true;
   patches = [
diff --git a/pkgs/applications/editors/cudatext/default.nix b/pkgs/applications/editors/cudatext/default.nix
index f80a598aea932..7af47c46485a3 100644
--- a/pkgs/applications/editors/cudatext/default.nix
+++ b/pkgs/applications/editors/cudatext/default.nix
@@ -38,13 +38,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "cudatext";
-  version = "1.174.0";
+  version = "1.176.0";
 
   src = fetchFromGitHub {
     owner = "Alexey-T";
     repo = "CudaText";
     rev = version;
-    hash = "sha256-3jj04ndyuJpfXu9z8j/Pdp8yNybmzLbrPr/S+uV7Rfg=";
+    hash = "sha256-7J/FAcmZYmgbmYEFm2V3+RBUcLE+8A+yOiJd/xp2Aww=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/editors/cudatext/deps.json b/pkgs/applications/editors/cudatext/deps.json
index 1d26a8731c59f..4ae432b946a7a 100644
--- a/pkgs/applications/editors/cudatext/deps.json
+++ b/pkgs/applications/editors/cudatext/deps.json
@@ -11,13 +11,13 @@
   },
   "ATFlatControls": {
     "owner": "Alexey-T",
-    "rev": "2022.10.24",
-    "hash": "sha256-IXMOZV4NNL7VHzlbzPCcYOPYneV7bDYm5L7Ge/SlnJs="
+    "rev": "2022.11.09",
+    "hash": "sha256-2Q1azfhThrk1t65Q+2aRr00V0UFrvR+z5oVMeW9c2ug="
   },
   "ATSynEdit": {
     "owner": "Alexey-T",
-    "rev": "2022.10.25",
-    "hash": "sha256-eleuHFE+kBmqKBVKOPzUAi+LVgzRr8gIKdCIPzfxUOo="
+    "rev": "2022.11.09",
+    "hash": "sha256-rgXVOWmmc1ap/fCiXCvn34rhUbNRoMHbTXXYtnxk2pQ="
   },
   "ATSynEdit_Cmp": {
     "owner": "Alexey-T",
@@ -36,8 +36,8 @@
   },
   "Python-for-Lazarus": {
     "owner": "Alexey-T",
-    "rev": "2021.10.27",
-    "hash": "sha256-ikXdDUMJ9MxRejEVAhwUsXYVh0URVFHzEpnXuN5NGpA="
+    "rev": "2022.10.26",
+    "hash": "sha256-pVVO3PMazcGizN3RI4zO2tgLJLDOYIKhwnMLBJ5IiwY="
   },
   "Emmet-Pascal": {
     "owner": "Alexey-T",
diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix
index 1d1406160c791..8c9189466c83b 100644
--- a/pkgs/applications/editors/eclipse/plugins.nix
+++ b/pkgs/applications/editors/eclipse/plugins.nix
@@ -433,25 +433,26 @@ rec {
     };
   };
 
-  gnuarmeclipse = buildEclipseUpdateSite rec {
-    name = "gnuarmeclipse-${version}";
-    version = "3.1.1-201606210758";
+  embed-cdt = buildEclipseUpdateSite rec {
+    name = "embed-cdt-${version}";
+    version = "6.3.1";
 
     src = fetchzip {
-      stripRoot = false;
-      url = "https://github.com/gnuarmeclipse/plug-ins/releases/download/v${version}/ilg.gnuarmeclipse.repository-${version}.zip";
-      sha256 = "1g77jlhfa3csaxxps1z5lasrd9l2p5ajnddnq9ra5syw8ggkdc2h";
+      stripRoot = true;
+      url = "https://github.com/eclipse-embed-cdt/eclipse-plugins/archive/v${version}.zip";
+      sha256 = "sha256-0wHRIls48NGDQzD+wuX79Thgiax+VVYVPJw2Z6NEzsg=";
     };
 
     meta = with lib; {
-      homepage = "http://gnuarmeclipse.livius.net/";
-      description = "GNU ARM Eclipse Plug-ins";
+      homepage = "https://github.com/eclipse-embed-cdt/eclipse-plugins";
+      description = "Embedded C/C++ Development Tools (formerly GNU MCU/ARM Eclipse)";
       sourceProvenance = with sourceTypes; [ binaryBytecode ];
-      license = licenses.epl10;
+      license = licenses.epl20;
       platforms = platforms.all;
       maintainers = [ maintainers.bjornfor ];
     };
   };
+  gnuarmeclipse = embed-cdt; # backward compat alias, added 2022-11-04
 
   jsonedit = buildEclipsePlugin rec {
     name = "jsonedit-${version}";
diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
index d479802e60d43..f2acd4be8518e 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
@@ -39,10 +39,10 @@
       elpaBuild {
         pname = "ada-mode";
         ename = "ada-mode";
-        version = "7.2.1";
+        version = "7.3.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ada-mode-7.2.1.tar";
-          sha256 = "1x9gkyi23xsq8zn0n8vb1xgkh85maj2cj95ravhkakb2cd9dmbjv";
+          url = "https://elpa.gnu.org/packages/ada-mode-7.3.1.tar";
+          sha256 = "09ji22823w59nnqcjr5524ylxs93c5javsxcvmgbiqlvx9gfrdkk";
         };
         packageRequires = [ emacs uniquify-files wisi ];
         meta = {
@@ -249,10 +249,10 @@
       elpaBuild {
         pname = "auctex";
         ename = "auctex";
-        version = "13.1.4";
+        version = "13.1.6";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/auctex-13.1.4.tar";
-          sha256 = "1r9qysnfdbiblq3c95rgsh7vgy3k4qabnj0vicqhdkca0cl2b2bj";
+          url = "https://elpa.gnu.org/packages/auctex-13.1.6.tar";
+          sha256 = "0pdinnhkv7vqib01a6vxq1iixs7sw72r0sxzryv78c9hxn2k4552";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -350,6 +350,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    bind-key = callPackage ({ elpaBuild, fetchurl, lib }:
+      elpaBuild {
+        pname = "bind-key";
+        ename = "bind-key";
+        version = "2.4.1";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/bind-key-2.4.1.tar";
+          sha256 = "0jrbm2l6h4r7qjcdcsfczbijmbf3njzzzrymv08zanchmy7lvsv2";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/bind-key.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     blist = callPackage ({ elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "blist";
@@ -399,10 +414,10 @@
       elpaBuild {
         pname = "boxy";
         ename = "boxy";
-        version = "1.1.1";
+        version = "1.1.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/boxy-1.1.1.tar";
-          sha256 = "08jb5v93l3y9cx48qhpv20i7kdxvl5dinxj3z0pxkx0ckvml7cvd";
+          url = "https://elpa.gnu.org/packages/boxy-1.1.2.tar";
+          sha256 = "0gqfs8rwqb3clwqgvv9wibl2mfx0njkdcpwl662p4bwnapl4hsi9";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -414,10 +429,10 @@
       elpaBuild {
         pname = "boxy-headings";
         ename = "boxy-headings";
-        version = "2.1.3";
+        version = "2.1.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/boxy-headings-2.1.3.tar";
-          sha256 = "09k5x123db19v2k49y8acyk5y3r0fxw0xz61qqqidrgrx8fs3mg9";
+          url = "https://elpa.gnu.org/packages/boxy-headings-2.1.4.tar";
+          sha256 = "101kiw10p0sd8j8px16zsw57my7h2f1anhnwj678z22hxhs8vla7";
         };
         packageRequires = [ boxy emacs org ];
         meta = {
@@ -493,10 +508,10 @@
       elpaBuild {
         pname = "cape";
         ename = "cape";
-        version = "0.9";
+        version = "0.10";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/cape-0.9.tar";
-          sha256 = "0bjzm1jf3554q83mbmyj584v29cgb0s5wpj74y4p9iyy40g739rw";
+          url = "https://elpa.gnu.org/packages/cape-0.10.tar";
+          sha256 = "1ykr01wb0mgs1z181fk9m65lcrv60as5qzbnd0cnndva7p3078lc";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -594,21 +609,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    cl-print = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
-      elpaBuild {
-        pname = "cl-print";
-        ename = "cl-print";
-        version = "1.0";
-        src = fetchurl {
-          url = "https://elpa.gnu.org/packages/cl-print-1.0.el";
-          sha256 = "0ib8j7rv5f4c4xg3kban58jm6cam756i3xz6j8100846g3jn9zcc";
-        };
-        packageRequires = [ emacs ];
-        meta = {
-          homepage = "https://elpa.gnu.org/packages/cl-print.html";
-          license = lib.licenses.free;
-        };
-      }) {};
     clipboard-collector = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "clipboard-collector";
@@ -654,21 +654,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    coffee-mode = callPackage ({ elpaBuild, fetchurl, lib }:
-      elpaBuild {
-        pname = "coffee-mode";
-        ename = "coffee-mode";
-        version = "0.4.1.1";
-        src = fetchurl {
-          url = "https://elpa.gnu.org/packages/coffee-mode-0.4.1.1.el";
-          sha256 = "1jffd8rqmc3l597db26rggis6apf91glyzm1qvpf5g3iz55g6slz";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://elpa.gnu.org/packages/coffee-mode.html";
-          license = lib.licenses.free;
-        };
-      }) {};
     comint-mime = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "comint-mime";
@@ -786,10 +771,10 @@
       elpaBuild {
         pname = "consult";
         ename = "consult";
-        version = "0.19";
+        version = "0.20";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/consult-0.19.tar";
-          sha256 = "11dac6cl40xyg05wzxanxsc74f1kgnnkqlgf5gqlkq24gwmlgvyk";
+          url = "https://elpa.gnu.org/packages/consult-0.20.tar";
+          sha256 = "134yyjap69lm3j99q7719b3pgc71y0nl30v9gy0cycf7dp7p1ssx";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -801,10 +786,10 @@
       elpaBuild {
         pname = "consult-recoll";
         ename = "consult-recoll";
-        version = "0.7";
+        version = "0.8";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/consult-recoll-0.7.tar";
-          sha256 = "12a1qhp7yz6r5pblm68wp1zis0xnvsn2rm12rz9fircq8p3ff3j7";
+          url = "https://elpa.gnu.org/packages/consult-recoll-0.8.tar";
+          sha256 = "02vg1rr2fkcqrrivqgggdjdq0ywvlyzazwq1xd02yah3j4sbv4ag";
         };
         packageRequires = [ consult emacs ];
         meta = {
@@ -831,10 +816,10 @@
       elpaBuild {
         pname = "corfu";
         ename = "corfu";
-        version = "0.27";
+        version = "0.28";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/corfu-0.27.tar";
-          sha256 = "1i8nl94aaa5p4bp0idsmph3z61lccg9a7plbsnpicy0klsaj69r2";
+          url = "https://elpa.gnu.org/packages/corfu-0.28.tar";
+          sha256 = "0gayzzxac42nxj1612isc4f5xishrr0bnvycpcfmkm5pf41kq50f";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -906,10 +891,10 @@
       elpaBuild {
         pname = "crdt";
         ename = "crdt";
-        version = "0.3.3";
+        version = "0.3.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/crdt-0.3.3.tar";
-          sha256 = "12xdqdp4zwd163wc19cjakabgjyzm4l4xg4bns6q1p60zgynbkx8";
+          url = "https://elpa.gnu.org/packages/crdt-0.3.5.tar";
+          sha256 = "0pir9ap8lryrw12slgg4v30bzjphc37r6p0fw36larlh9wp8jj5z";
         };
         packageRequires = [];
         meta = {
@@ -1041,10 +1026,10 @@
       elpaBuild {
         pname = "debbugs";
         ename = "debbugs";
-        version = "0.33";
+        version = "0.34";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/debbugs-0.33.tar";
-          sha256 = "1s4p3jf9yrm8pn5pljpkrw05n2p9v6fpl141rh1df7f7l0w80qbk";
+          url = "https://elpa.gnu.org/packages/debbugs-0.34.tar";
+          sha256 = "06nxia4myhysiw12vsflgllrp9nyhmjnybrrcl1vyf4pw0fc6yrx";
         };
         packageRequires = [ emacs soap-client ];
         meta = {
@@ -1071,10 +1056,10 @@
       elpaBuild {
         pname = "denote";
         ename = "denote";
-        version = "1.0.0";
+        version = "1.1.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/denote-1.0.0.tar";
-          sha256 = "1gywi22x12p7hkliwy84i7pvyis5ja22fybz5shkdmkcl12mx631";
+          url = "https://elpa.gnu.org/packages/denote-1.1.0.tar";
+          sha256 = "06fmxszw8y8r2sm1j45wx14zb22jg5k5l73k1znhx4gl4v3bl968";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1086,10 +1071,10 @@
       elpaBuild {
         pname = "detached";
         ename = "detached";
-        version = "0.9.1";
+        version = "0.9.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/detached-0.9.1.tar";
-          sha256 = "1hzvqb18bpdpmnk469cmkayvddm37knd3mjj7m6zv3qsjw17n6f1";
+          url = "https://elpa.gnu.org/packages/detached-0.9.2.tar";
+          sha256 = "00rbdcl56gqjqrlbmf5mfgakzl086bgs5xb15ic3jlm676j64gqh";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1251,10 +1236,10 @@
       elpaBuild {
         pname = "doc-toc";
         ename = "doc-toc";
-        version = "1.0";
+        version = "1.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/doc-toc-1.0.tar";
-          sha256 = "07yan1jmp6q87rhm8bmglswnhzlh5r9j35x5sqm5yfx0pcp16kpj";
+          url = "https://elpa.gnu.org/packages/doc-toc-1.1.tar";
+          sha256 = "145k0w84nda1gq5g8zd9510kxhqqqk72ladi3av6hpydvym6bszz";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1277,21 +1262,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    dtache = callPackage ({ detached, elpaBuild, emacs, fetchurl, lib }:
-      elpaBuild {
-        pname = "dtache";
-        ename = "dtache";
-        version = "0.7";
-        src = fetchurl {
-          url = "https://elpa.gnu.org/packages/dtache-0.7.tar";
-          sha256 = "0cws662f53f2j1viicrwijmniiqxz1n4mh6kwck25pl954xa61gf";
-        };
-        packageRequires = [ detached emacs ];
-        meta = {
-          homepage = "https://elpa.gnu.org/packages/dtache.html";
-          license = lib.licenses.free;
-        };
-      }) {};
     dts-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "dts-mode";
@@ -1341,10 +1311,10 @@
       elpaBuild {
         pname = "ebdb";
         ename = "ebdb";
-        version = "0.8.14";
+        version = "0.8.16";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ebdb-0.8.14.tar";
-          sha256 = "0h7yva7p4b4lapi7pwcibf75nqmazjf3r67ibnkc8l9salfhml25";
+          url = "https://elpa.gnu.org/packages/ebdb-0.8.16.tar";
+          sha256 = "0qldw0a346xbkq289mynvfz38n4yh2rfbvgs5f7ixfc014y3j3gw";
         };
         packageRequires = [ emacs seq ];
         meta = {
@@ -1386,10 +1356,10 @@
       elpaBuild {
         pname = "ediprolog";
         ename = "ediprolog";
-        version = "2.1";
+        version = "2.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ediprolog-2.1.el";
-          sha256 = "1piimsmzpirw8plrpy79xbpnvynzzhcxi31g6lg6is8gridiv3md";
+          url = "https://elpa.gnu.org/packages/ediprolog-2.2.tar";
+          sha256 = "021jm5zdxrjg7xcja18vgc2v52rk17xi1k7xxw8q802nmixhy0js";
         };
         packageRequires = [];
         meta = {
@@ -1401,10 +1371,10 @@
       elpaBuild {
         pname = "eev";
         ename = "eev";
-        version = "20220926";
+        version = "20221108";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/eev-20220926.tar";
-          sha256 = "0kc30y44wl691jchafljp938kbwilawdfxm0bp6nsniv1bm95rpy";
+          url = "https://elpa.gnu.org/packages/eev-20221108.tar";
+          sha256 = "0va6jb57pyv21zvjaq99yi1275rl2bna7ci5zicqshiq2naxdqzr";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1416,10 +1386,10 @@
       elpaBuild {
         pname = "ef-themes";
         ename = "ef-themes";
-        version = "0.6.0";
+        version = "0.9.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ef-themes-0.6.0.tar";
-          sha256 = "00xq5ymsq8lq2jc541lw64i9pp0a0757wj3nasmfsa27wfpivzhb";
+          url = "https://elpa.gnu.org/packages/ef-themes-0.9.0.tar";
+          sha256 = "1yhnpnnz3v4v54ha4sibdzp2af6jq5p55jm0g6k0viqv2qpjmh3l";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1435,16 +1405,17 @@
                          , jsonrpc
                          , lib
                          , project
+                         , seq
                          , xref }:
       elpaBuild {
         pname = "eglot";
         ename = "eglot";
-        version = "1.8";
+        version = "1.9";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/eglot-1.8.tar";
-          sha256 = "1n04jnf3wwpxafrzfd02l53wf90brjc8p835f84k0n0rjxin99k5";
+          url = "https://elpa.gnu.org/packages/eglot-1.9.tar";
+          sha256 = "1v6pyk3c680xmsv6lrq5xcj9x771z87i3b92in87zg841mw3b6as";
         };
-        packageRequires = [ eldoc emacs flymake jsonrpc project xref ];
+        packageRequires = [ eldoc emacs flymake jsonrpc project seq xref ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/eglot.html";
           license = lib.licenses.free;
@@ -1578,10 +1549,10 @@
       elpaBuild {
         pname = "ement";
         ename = "ement";
-        version = "0.3";
+        version = "0.4.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ement-0.3.tar";
-          sha256 = "08k1qfcymsnaz0mzq33l3i0fj9kjf5y0pdpn7k0skhhlsw90h078";
+          url = "https://elpa.gnu.org/packages/ement-0.4.1.tar";
+          sha256 = "0hf1gdz5kgvy64652h33iph3lrnmiv98lhar421m0grbh326xn95";
         };
         packageRequires = [
           emacs
@@ -1606,10 +1577,10 @@
       elpaBuild {
         pname = "emms";
         ename = "emms";
-        version = "11";
+        version = "12";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/emms-11.tar";
-          sha256 = "000lqhsafyh1n293ksnlyavxv1pzl5pazds4sgxjcqd45lyn55ii";
+          url = "https://elpa.gnu.org/packages/emms-12.tar";
+          sha256 = "048ijrpw6s4k7zr78fzc3ksjjri6mnyp6c47h5lp5nw5gvm4np7a";
         };
         packageRequires = [ cl-lib nadvice seq ];
         meta = {
@@ -1746,10 +1717,10 @@
       elpaBuild {
         pname = "exwm";
         ename = "exwm";
-        version = "0.26";
+        version = "0.27";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/exwm-0.26.tar";
-          sha256 = "03pg0r8a5vb1wc5grmjgzql74p47fniv47x39gdll5s3cq0haf6q";
+          url = "https://elpa.gnu.org/packages/exwm-0.27.tar";
+          sha256 = "094k33clmxhnab0wniyrs48sdz28kna2g6fmkhsd7n20nmhhc4sn";
         };
         packageRequires = [ xelb ];
         meta = {
@@ -1836,10 +1807,10 @@
       elpaBuild {
         pname = "fontaine";
         ename = "fontaine";
-        version = "0.4.0";
+        version = "0.4.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/fontaine-0.4.0.tar";
-          sha256 = "1phbni32zgwml5mwldbqmqmkbhbdj4vf4bs98wj0my6d902x6lbw";
+          url = "https://elpa.gnu.org/packages/fontaine-0.4.1.tar";
+          sha256 = "0szj9ys7bkj6cwg2bmb7sniyzjzdy3f7qm9r90grrgs5iir3k2qa";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2144,6 +2115,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    hcel = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "hcel";
+        ename = "hcel";
+        version = "1.0.0";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/hcel-1.0.0.tar";
+          sha256 = "1j6snbyi710qnxr68mbmj1v2i6gqf6znd872fkjkyj85pg3iibia";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/hcel.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     heap = callPackage ({ elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "heap";
@@ -2163,10 +2149,10 @@
       elpaBuild {
         pname = "hiddenquote";
         ename = "hiddenquote";
-        version = "1.1";
+        version = "1.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/hiddenquote-1.1.tar";
-          sha256 = "1j692ka84z6k9c3bhcn28irym5fga4d1wvhmvzvixdbfwn58ivw5";
+          url = "https://elpa.gnu.org/packages/hiddenquote-1.2.tar";
+          sha256 = "1ssfy1ha5a1pakihmkifry200k7z1mxcgl4w9pwvp7wmzbkv2zql";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2221,16 +2207,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    hydra = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
+    hydra = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib, lv }:
       elpaBuild {
         pname = "hydra";
         ename = "hydra";
-        version = "0.14.0";
+        version = "0.15.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/hydra-0.14.0.tar";
-          sha256 = "1r2vl2cpzqzayfzc0bijigxc7c0mkgcv96g4p65gnw99jk8d78kb";
+          url = "https://elpa.gnu.org/packages/hydra-0.15.0.tar";
+          sha256 = "1mppx20920kfq97wd7mkrn4bcmm46k5m8wqm49asd54w701iq3n1";
         };
-        packageRequires = [ cl-lib ];
+        packageRequires = [ cl-lib lv ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/hydra.html";
           license = lib.licenses.free;
@@ -2406,6 +2392,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    jarchive = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "jarchive";
+        ename = "jarchive";
+        version = "0.8.0";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/jarchive-0.8.0.tar";
+          sha256 = "0xfl0gbfqjgbkd28r56j35kc8y6x8nd2zi8xqzxmqvcyv9sd731l";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/jarchive.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     javaimp = callPackage ({ elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "javaimp";
@@ -2695,10 +2696,10 @@
       elpaBuild {
         pname = "logos";
         ename = "logos";
-        version = "0.5.1";
+        version = "1.0.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/logos-0.5.1.tar";
-          sha256 = "0154fxl20crl0ay064cbhgsjnj70nq5jz778hzjjy3mnkwzsmbh3";
+          url = "https://elpa.gnu.org/packages/logos-1.0.1.tar";
+          sha256 = "1kmfsgapinx6p8zyxd2s81j703iiril9c907r576z5k498pfifb6";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2706,14 +2707,29 @@
           license = lib.licenses.free;
         };
       }) {};
+    lv = callPackage ({ elpaBuild, fetchurl, lib }:
+      elpaBuild {
+        pname = "lv";
+        ename = "lv";
+        version = "0.15.0";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/lv-0.15.0.tar";
+          sha256 = "1xnyk8bvr0bdz68qc1sga3w9lwdga5qpp3m7290z1vyv0mznh4gm";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/lv.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     map = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "map";
         ename = "map";
-        version = "3.2.1";
+        version = "3.3.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/map-3.2.1.tar";
-          sha256 = "1zj0y3nvkrd2v43za214xr3h9z6wyp7r5s6nf5g1pj272yb871d1";
+          url = "https://elpa.gnu.org/packages/map-3.3.1.tar";
+          sha256 = "1gvywhdfg27nx6pyq7yfwq9x6j96jama59i5s9rp41pvg2dlmvm0";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2725,10 +2741,10 @@
       elpaBuild {
         pname = "marginalia";
         ename = "marginalia";
-        version = "0.14";
+        version = "0.15";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/marginalia-0.14.tar";
-          sha256 = "0y1mz9688h56knyly7by3gl6v37q437c3lp5bsx6jajysb8v69xw";
+          url = "https://elpa.gnu.org/packages/marginalia-0.15.tar";
+          sha256 = "0sadz4c44pld9aqn49a7l80lqgv2ncv7aw401d740n2ja2grg6vb";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2886,48 +2902,29 @@
           license = lib.licenses.free;
         };
       }) {};
-    mmm-mode = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
+    mmm-mode = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "mmm-mode";
         ename = "mmm-mode";
-        version = "0.5.8";
+        version = "0.5.9";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/mmm-mode-0.5.8.tar";
-          sha256 = "05ckf4zapdpvnd3sqpw6kxaa567zh536a36m9qzx3sqyjbyn5fb4";
+          url = "https://elpa.gnu.org/packages/mmm-mode-0.5.9.tar";
+          sha256 = "12fss1ccb66xc87m5wpr3vg7bfrzz5m0q6s7pa0avvhsm2f8r2yh";
         };
-        packageRequires = [ cl-lib ];
+        packageRequires = [ cl-lib emacs ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/mmm-mode.html";
           license = lib.licenses.free;
         };
       }) {};
-    modus-operandi-theme = callPackage ({ elpaBuild
-                                        , emacs
-                                        , fetchurl
-                                        , lib
-                                        , modus-themes }:
-      elpaBuild {
-        pname = "modus-operandi-theme";
-        ename = "modus-operandi-theme";
-        version = "0.13.2";
-        src = fetchurl {
-          url = "https://elpa.gnu.org/packages/modus-operandi-theme-0.13.2.tar";
-          sha256 = "1sw18ijp9rhaf8y8x8z5rmxy23pxd3gaicgmp2zndcfmm54gwsic";
-        };
-        packageRequires = [ emacs modus-themes ];
-        meta = {
-          homepage = "https://elpa.gnu.org/packages/modus-operandi-theme.html";
-          license = lib.licenses.free;
-        };
-      }) {};
     modus-themes = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "modus-themes";
         ename = "modus-themes";
-        version = "2.7.1";
+        version = "3.0.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/modus-themes-2.7.1.tar";
-          sha256 = "1ms5nig05z26342723jln50m7xq055knr2570x40lkg2m9s1ikx1";
+          url = "https://elpa.gnu.org/packages/modus-themes-3.0.0.tar";
+          sha256 = "1c3rls175nmc4n01hfzwqxv2nhyv8n6i8d4pv93k28z6c30n8lhs";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2935,25 +2932,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    modus-vivendi-theme = callPackage ({ elpaBuild
-                                       , emacs
-                                       , fetchurl
-                                       , lib
-                                       , modus-themes }:
-      elpaBuild {
-        pname = "modus-vivendi-theme";
-        ename = "modus-vivendi-theme";
-        version = "0.13.2";
-        src = fetchurl {
-          url = "https://elpa.gnu.org/packages/modus-vivendi-theme-0.13.2.tar";
-          sha256 = "1qn3kzxwf81zc7gprd9wblhb8b8akdkxwajpgk036y8i4cmvmspn";
-        };
-        packageRequires = [ emacs modus-themes ];
-        meta = {
-          homepage = "https://elpa.gnu.org/packages/modus-vivendi-theme.html";
-          license = lib.licenses.free;
-        };
-      }) {};
     multi-mode = callPackage ({ elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "multi-mode";
@@ -3083,10 +3061,10 @@
       elpaBuild {
         pname = "nano-modeline";
         ename = "nano-modeline";
-        version = "0.7.1";
+        version = "0.7.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/nano-modeline-0.7.1.tar";
-          sha256 = "18a4mp27z6pj87yhp81x5a79g0kv6mzzd0axq2p31003r675l0hx";
+          url = "https://elpa.gnu.org/packages/nano-modeline-0.7.2.tar";
+          sha256 = "14405gj7fh14incbpsg75fwzxfzazqp9lfk60i4w731kfwhlc727";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3098,10 +3076,10 @@
       elpaBuild {
         pname = "nano-theme";
         ename = "nano-theme";
-        version = "0.3.1";
+        version = "0.3.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/nano-theme-0.3.1.tar";
-          sha256 = "003jhzh52iqrqlxh1gpv3y2wjlxx4ng3al5zcpm5q42kix8cjpd1";
+          url = "https://elpa.gnu.org/packages/nano-theme-0.3.4.tar";
+          sha256 = "1hfw6zxnzm4x55iqk1pg6nlp79c86np856bbdac4nv65ff4dkiqq";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3177,10 +3155,10 @@
       elpaBuild {
         pname = "notmuch-indicator";
         ename = "notmuch-indicator";
-        version = "0.1.1";
+        version = "0.2.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/notmuch-indicator-0.1.1.tar";
-          sha256 = "1fdl8xm48id1a85gf3gr8d8m3sz61xrras9f598pvrksm3j162b6";
+          url = "https://elpa.gnu.org/packages/notmuch-indicator-0.2.2.tar";
+          sha256 = "1jca5zm8vd91ivk5c6n2210ybp1i8rb8cpi1dymbxkcjxc61fzgp";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3357,10 +3335,10 @@
       elpaBuild {
         pname = "org-modern";
         ename = "org-modern";
-        version = "0.4";
+        version = "0.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/org-modern-0.4.tar";
-          sha256 = "0xn2vmlz43p9b1gscijwzhaxa44dsshlw31llhffqpxlw2amm1lf";
+          url = "https://elpa.gnu.org/packages/org-modern-0.5.tar";
+          sha256 = "0fd5inaq094xhlv4cnd7p47hishlxlhjb17srk4cm1jdgaar3pnp";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3387,10 +3365,10 @@
       elpaBuild {
         pname = "org-real";
         ename = "org-real";
-        version = "1.0.5";
+        version = "1.0.6";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/org-real-1.0.5.tar";
-          sha256 = "0g70bzhr094fah86cyvd9ci8q28qi9c44g33i4lw7clklgdx7mxl";
+          url = "https://elpa.gnu.org/packages/org-real-1.0.6.tar";
+          sha256 = "1qfzmmv3c1yc14v502x0438pxh2bcwli1r3xmcxibhb7h6p9mr3k";
         };
         packageRequires = [ boxy emacs org ];
         meta = {
@@ -3417,10 +3395,10 @@
       elpaBuild {
         pname = "org-transclusion";
         ename = "org-transclusion";
-        version = "1.3.0";
+        version = "1.3.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/org-transclusion-1.3.0.tar";
-          sha256 = "1fgxpx5cikp03xzki55b7davx8m6zmrmrd0jzd69mv9gyw3bywg7";
+          url = "https://elpa.gnu.org/packages/org-transclusion-1.3.1.tar";
+          sha256 = "1v7i2i28500p4gvikcpp931qpks9zmvfpf6lfzrqdqppx2ix295q";
         };
         packageRequires = [ emacs org ];
         meta = {
@@ -3627,10 +3605,10 @@
       elpaBuild {
         pname = "phps-mode";
         ename = "phps-mode";
-        version = "0.4.25";
+        version = "0.4.30";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/phps-mode-0.4.25.tar";
-          sha256 = "1sqwh7lkpgwc8m7vrbzjk8vc2p3b9gq6smyz6zx8pq4pf1rqkzrd";
+          url = "https://elpa.gnu.org/packages/phps-mode-0.4.30.tar";
+          sha256 = "0gwdcfvp3564zmiaw1p0vfyw46n6kn14nh8qx0jwzwygy22v1jdq";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3687,10 +3665,10 @@
       elpaBuild {
         pname = "posframe";
         ename = "posframe";
-        version = "1.1.7";
+        version = "1.2.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/posframe-1.1.7.tar";
-          sha256 = "13i2wxx079gfq0vbq0iwmsig5b7x4aspd1q02yqc79846f1dsx4w";
+          url = "https://elpa.gnu.org/packages/posframe-1.2.0.tar";
+          sha256 = "06xk6z3b5mqgcskjiwkl9viccvzriflr8y51aclyfdamh5qb6kqb";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3702,10 +3680,10 @@
       elpaBuild {
         pname = "project";
         ename = "project";
-        version = "0.8.1";
+        version = "0.8.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/project-0.8.1.tar";
-          sha256 = "0q2js8qihlhchpx2mx0f992ygslsqri2q4iv8kcl4fx31lpp7c1k";
+          url = "https://elpa.gnu.org/packages/project-0.8.3.tar";
+          sha256 = "15x6nbvyy592fwn36syxi9719sknvrm4bwnpyc16z9jn2xm62q3p";
         };
         packageRequires = [ emacs xref ];
         meta = {
@@ -3762,10 +3740,10 @@
       elpaBuild {
         pname = "pyim";
         ename = "pyim";
-        version = "5.2.5";
+        version = "5.2.8";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/pyim-5.2.5.tar";
-          sha256 = "00f23pl53rdy9iwp4gj2656wik7c6vnmhsglg7z4pz3ippz3f4hq";
+          url = "https://elpa.gnu.org/packages/pyim-5.2.8.tar";
+          sha256 = "1klarzr5lfga09ysq3c7gkgmzl6r08gpl4519x5damxd82x4r3y2";
         };
         packageRequires = [ async emacs xr ];
         meta = {
@@ -3867,10 +3845,10 @@
       elpaBuild {
         pname = "rcirc-color";
         ename = "rcirc-color";
-        version = "0.4.2";
+        version = "0.4.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/rcirc-color-0.4.2.tar";
-          sha256 = "0pa9p018kwsy44cmkli7x6cz1abxkyi26ac7w3vh99qp7x97dia3";
+          url = "https://elpa.gnu.org/packages/rcirc-color-0.4.4.tar";
+          sha256 = "1jwx9fd3m7zl6c7q91v185iy7b8q1bncvif80xi6hbi2srz9rlfg";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4532,10 +4510,10 @@
       elpaBuild {
         pname = "srht";
         ename = "srht";
-        version = "0.1";
+        version = "0.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/srht-0.1.tar";
-          sha256 = "1cdylp2hma83iv062nf7qyz21a3r8562gwx2lk6cf45k2kh3hbv8";
+          url = "https://elpa.gnu.org/packages/srht-0.2.tar";
+          sha256 = "1qps9vdsiy5zkz88kh9kl1hnn1wlfz6n5brzcxi28fwx0hb3ksz2";
         };
         packageRequires = [ emacs plz ];
         meta = {
@@ -4702,10 +4680,10 @@
       elpaBuild {
         pname = "taxy-magit-section";
         ename = "taxy-magit-section";
-        version = "0.11";
+        version = "0.12.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/taxy-magit-section-0.11.tar";
-          sha256 = "058z95c0z2hxplr5pfgph1cdq68zcrkmwx1wqyd5fy4a5h43yknq";
+          url = "https://elpa.gnu.org/packages/taxy-magit-section-0.12.1.tar";
+          sha256 = "0bs00y8pl51dji23zx5w64h6la0y109q0jv2q1nggizk6q5bsxmg";
         };
         packageRequires = [ emacs magit-section taxy ];
         meta = {
@@ -4732,10 +4710,10 @@
       elpaBuild {
         pname = "tempel";
         ename = "tempel";
-        version = "0.4";
+        version = "0.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/tempel-0.4.tar";
-          sha256 = "002ng6x1qlhnk7vvpwjl8wkm869k0ihpbdgbnhqjsnpzln1gib0w";
+          url = "https://elpa.gnu.org/packages/tempel-0.5.tar";
+          sha256 = "0gx48p2kkwizxf30h8jq658ksp00ibf5azjxvcs1nj8hz2g3agjx";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4942,6 +4920,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    triples = callPackage ({ elpaBuild, emacs, fetchurl, lib, seq }:
+      elpaBuild {
+        pname = "triples";
+        ename = "triples";
+        version = "0.1";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/triples-0.1.tar";
+          sha256 = "1b1qrrg60wx4ikl9nd8gmawj0pc0yysxq901l29336gwpbwj81y7";
+        };
+        packageRequires = [ emacs seq ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/triples.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     undo-tree = callPackage ({ elpaBuild, emacs, fetchurl, lib, queue }:
       elpaBuild {
         pname = "undo-tree";
@@ -5006,6 +4999,36 @@
           license = lib.licenses.free;
         };
       }) {};
+    url-scgi = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "url-scgi";
+        ename = "url-scgi";
+        version = "0.8";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/url-scgi-0.8.tar";
+          sha256 = "1837vyamwk5mp2nf3k477hyr5pq1xy6p7br7kl6h2k8jmxqy3mlj";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/url-scgi.html";
+          license = lib.licenses.free;
+        };
+      }) {};
+    use-package = callPackage ({ bind-key, elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "use-package";
+        ename = "use-package";
+        version = "2.4.4";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/use-package-2.4.4.tar";
+          sha256 = "1hw73006l1xh0padqxyr0l3sjnr3fxyz619csz8ds6am86fdxvfp";
+        };
+        packageRequires = [ bind-key emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/use-package.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     validate = callPackage ({ cl-lib ? null
                             , elpaBuild
                             , emacs
@@ -5152,10 +5175,10 @@
       elpaBuild {
         pname = "vertico";
         ename = "vertico";
-        version = "0.27";
+        version = "0.28";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/vertico-0.27.tar";
-          sha256 = "0yf02xwv0zx2pwb7c97k7qbbvmkripb1pb4mn16rvs07a9r217hz";
+          url = "https://elpa.gnu.org/packages/vertico-0.28.tar";
+          sha256 = "0rkvfya674hy8g37hy40knwwppbygmx005cg04136kdlkmywb0l1";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5385,10 +5408,10 @@
       elpaBuild {
         pname = "wisi";
         ename = "wisi";
-        version = "3.1.8";
+        version = "4.0.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/wisi-3.1.8.tar";
-          sha256 = "1k4vfxjas79yv5xfnmjygf185zkypx65gpqlmxpvfgcmvl7dgbdy";
+          url = "https://elpa.gnu.org/packages/wisi-4.0.0.tar";
+          sha256 = "1w082nqzvzljm8m8gxja7va88g0lz264d4ir24ydak22rfr688bv";
         };
         packageRequires = [ emacs seq ];
         meta = {
diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix
index 94ca0cdf0b6d8..3b19adfa17190 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix
@@ -69,7 +69,7 @@ self: let
                 then null
                 else super.project;
       # Compilation instructions for the Ada executables:
-      # https://www.nongnu.org/ada-mode/ada-mode.html#Ada-executables
+      # https://www.nongnu.org/ada-mode/
       ada-mode = super.ada-mode.overrideAttrs (old: {
         # actually unpack source of ada-mode and wisi
         # which are both needed to compile the tools
@@ -85,15 +85,18 @@ self: let
         nativeBuildInputs = [
           buildPackages.gnat
           buildPackages.gprbuild
-          buildPackages.lzip
+          buildPackages.dos2unix
+          buildPackages.re2c
         ];
 
         buildInputs = [
           pkgs.gnatcoll-xref
         ];
 
-        preInstall = ''
+        buildPhase = ''
+          runHook preBuild
           ./build.sh -j$NIX_BUILD_CORES
+          runHook postBuild
         '';
 
         postInstall = (old.postInstall or "") + "\n" + ''
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
index 304e2482dccc7..22f60c8fd88ad 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
@@ -1,258 +1,93 @@
-{ lib, pkgs }: self: with self; with lib.licenses; {
-
-  elisp-ffi = let
-    rev = "da37c516a0e59bdce63fb2dc006a231dee62a1d9";
-  in melpaBuild {
-    pname = "elisp-ffi";
-    version = "20170518.0";
-
-    commit = rev;
-
-    src = pkgs.fetchFromGitHub {
-      owner = "skeeto";
-      repo = "elisp-ffi";
-      inherit rev;
-      sha256 = "sha256-StOezQEnNTjRmjY02ub5FRh59aL6gWfw+qgboz0wF94=";
-    };
-
-    nativeBuildInputs = [ pkgs.pkg-config ];
-
-    buildInputs = [ pkgs.libffi ];
-
-    preBuild = ''
-      mv ffi.el elisp-ffi.el
-      make
-    '';
-
-    recipe = pkgs.writeText "recipe" ''
-      (elisp-ffi
-      :repo "skeeto/elisp-ffi"
-      :fetcher github)
-    '';
-
-    meta = {
-      description = "Emacs Lisp Foreign Function Interface";
-      longDescription = ''
-        This library provides an FFI for Emacs Lisp so that Emacs
-        programs can invoke functions in native libraries. It works by
-        driving a subprocess to do the heavy lifting, passing result
-        values on to Emacs.
-      '';
-      license = publicDomain;
-    };
-  };
-
-  ghc-mod = melpaBuild {
-    pname = "ghc";
-    version = pkgs.haskellPackages.ghc-mod.version;
-
-    src = pkgs.haskellPackages.ghc-mod.src;
-
-    packageRequires = [ haskell-mode ];
-
-    propagatedUserEnvPkgs = [ pkgs.haskellPackages.ghc-mod ];
+{ lib, pkgs }:
 
-    recipe = pkgs.writeText "recipe" ''
-      (ghc-mod :repo "DanielG/ghc-mod" :fetcher github :files ("elisp/*.el"))
-    '';
+self: with self; {
 
-    fileSpecs = [ "elisp/*.el" ];
+  agda-input = callPackage ./manual-packages/agda-input { };
 
-    meta = {
-      description = "An extension of haskell-mode that provides completion of symbols and documentation browsing";
-      license = bsd3;
-    };
-  };
-
-  haskell-unicode-input-method = let
-    rev = "d8d168148c187ed19350bb7a1a190217c2915a63";
-  in melpaBuild {
-    pname = "haskell-unicode-input-method";
-    version = "20110905.2307";
-
-    commit = rev;
-
-    src = pkgs.fetchFromGitHub {
-      owner = "roelvandijk";
-      repo = "emacs-haskell-unicode-input-method";
-      inherit rev;
-      sha256 = "09b7bg2s9aa4s8f2kdqs4xps3jxkq5wsvbi87ih8b6id38blhf78";
-    };
-
-    recipe = pkgs.writeText "recipe" ''
-      (haskell-unicode-input-method
-       :repo "roelvandijk/emacs-haskell-unicode-input-method"
-       :fetcher github)
-    '';
-
-    packageRequires = [];
-
-    meta = {
-      homepage = "https://melpa.org/#haskell-unicode-input-method/";
-      license = lib.licenses.free;
-    };
-  };
+  agda2-mode = callPackage ./manual-packages/agda2-mode { };
 
-  matrix-client = let
-    rev = "d2ac55293c96d4c95971ed8e2a3f6f354565c5ed";
-  in melpaBuild
-  {
-    pname = "matrix-client";
-    version = "0.3.0";
-
-    commit = rev;
-
-    src = pkgs.fetchFromGitHub {
-      owner = "alphapapa";
-      repo = "matrix-client.el";
-      inherit rev;
-      sha256 = "1scfv1502yg7x4bsl253cpr6plml1j4d437vci2ggs764sh3rcqq";
-    };
-
-    patches = [
-      # Fix: avatar loading when imagemagick support is not available
-      (pkgs.fetchpatch {
-        url = "https://github.com/alphapapa/matrix-client.el/commit/5f49e615c7cf2872f48882d3ee5c4a2bff117d07.patch";
-        sha256 = "07bvid7s1nv1377p5n61q46yww3m1w6bw4vnd4iyayw3fby1lxbm";
-      })
-    ];
-
-    packageRequires = [
-      anaphora
-      cl-lib
-      self.map
-      dash-functional
-      esxml
-      f
-      ov
-      tracking
-      rainbow-identifiers
-      dash
-      s
-      request
-      frame-purpose
-      a
-      ht
-    ];
-
-    recipe = pkgs.writeText "recipe" ''
-      (matrix-client
-      :repo "alphapapa/matrix-client.el"
-      :fetcher github)
-    '';
-
-    meta = {
-      description = "A chat client and API wrapper for Matrix.org";
-      license = gpl3Plus;
-    };
-
-  };
+  bqn-mode = callPackage ./manual-packages/bqn-mode { };
 
-  agda2-mode = callPackage ./agda2-mode { };
+  cask = callPackage ./manual-packages/cask { };
 
-  agda-input = callPackage ./agda-input{ };
+  control-lock = callPackage ./manual-packages/control-lock { };
 
-  bqn-mode = callPackage ./bqn-mode { };
+  ebuild-mode = callPackage ./manual-packages/ebuild-mode { };
 
-  llvm-mode = callPackage ./llvm-mode { };
+  elisp-ffi = callPackage ./manual-packages/elisp-ffi { };
 
-  ott-mode = callPackage ./ott-mode { };
+  emacspeak = callPackage ./manual-packages/emacspeak { };
 
-  urweb-mode = callPackage ./urweb-mode { };
+  ement = callPackage ./manual-packages/ement { };
 
-  voicemacs = callPackage ./voicemacs { };
+  ess-R-object-popup = callPackage ./manual-packages/ess-R-object-popup { };
 
-  # Packages made the classical callPackage way
+  evil-markdown = callPackage ./manual-packages/evil-markdown { };
 
-  ebuild-mode = callPackage ./ebuild-mode { };
+  font-lock-plus = callPackage ./manual-packages/font-lock-plus { };
 
-  evil-markdown = callPackage ./evil-markdown { };
+  ghc-mod = callPackage ./manual-packages/elisp-ffi { };
 
-  emacspeak = callPackage ./emacspeak { };
+  git-undo = callPackage ./manual-packages/git-undo { };
 
-  ement = callPackage ./ement { };
+  haskell-unicode-input-method = callPackage ./manual-packages/haskell-unicode-input-method { };
 
-  ess-R-object-popup = callPackage ./ess-R-object-popup { };
+  header-file-mode = callPackage ./manual-packages/header-file-mode { };
 
-  font-lock-plus = callPackage ./font-lock-plus { };
+  helm-words = callPackage ./manual-packages/helm-words { };
 
-  git-undo = callPackage ./git-undo { };
+  idris2-mode = callPackage ./manual-packages/idris2-mode { };
 
-  header-file-mode = callPackage ./header-file-mode { };
+  isearch-plus = callPackage ./manual-packages/isearch-plus { };
 
-  helm-words = callPackage ./helm-words { };
+  isearch-prop = callPackage ./manual-packages/isearch-prop { };
 
-  idris2-mode = callPackage ./idris2-mode { };
+  jam-mode = callPackage ./manual-packages/jam-mode { };
 
-  isearch-plus = callPackage ./isearch-plus { };
+  llvm-mode = callPackage ./manual-packages/llvm-mode { };
 
-  isearch-prop = callPackage ./isearch-prop { };
-
-  jam-mode = callPackage ./jam-mode { };
-
-  nano-theme = callPackage ./nano-theme { };
-
-  perl-completion = callPackage ./perl-completion { };
-
-  control-lock = callPackage ./control-lock { };
+  matrix-client = callPackage ./manual-packages/matrix-client {
+    _map = self.map;
+  };
 
-  pod-mode = callPackage ./pod-mode { };
+  ott-mode = callPackage ./manual-packages/ott-mode { };
 
-  power-mode = callPackage ./power-mode { };
+  perl-completion = callPackage ./manual-packages/perl-completion { };
 
-  prisma-mode = let
-    rev = "5283ca7403bcb21ca0cac8ecb063600752dfd9d4";
-  in melpaBuild {
-    pname = "prisma-mode";
-    version = "20211207.0";
+  pod-mode = callPackage ./manual-packages/pod-mode { };
 
-    commit = rev;
+  power-mode = callPackage ./manual-packages/power-mode { };
 
-    packageRequires = [ js2-mode ];
+  prisma-mode = callPackage ./manual-packages/prisma-mode { };
 
-    src = pkgs.fetchFromGitHub {
-      owner = "pimeys";
-      repo = "emacs-prisma-mode";
-      inherit rev;
-      sha256 = "sha256-DJJfjbu27Gi7Nzsa1cdi8nIQowKH8ZxgQBwfXLB0Q/I=";
-    };
+  structured-haskell-mode = self.shm;
 
-    recipe = pkgs.writeText "recipe" ''
-      (prisma-mode
-      :repo "pimeys/emacs-prisma-mode"
-      :fetcher github)
-    '';
+  sv-kalender = callPackage ./manual-packages/sv-kalender { };
 
-    meta = {
-      description = "Major mode for Prisma Schema Language";
-      license = gpl2Only;
-    };
-  };
+  tree-sitter-langs = callPackage ./manual-packages/tree-sitter-langs { final = self; };
 
-  structured-haskell-mode = self.shm;
+  tsc = callPackage ./manual-packages/tsc { };
 
-  sv-kalender = callPackage ./sv-kalender { };
+  urweb-mode = callPackage ./manual-packages/urweb-mode { };
 
-  tree-sitter-langs = callPackage ./tree-sitter-langs { final = self; };
-  tsc = callPackage ./tsc { };
+  voicemacs = callPackage ./manual-packages/voicemacs { };
 
-  yes-no = callPackage ./yes-no { };
+  yes-no = callPackage ./manual-packages/yes-no { };
 
-  youtube-dl = callPackage ./youtube-dl { };
+  youtube-dl = callPackage ./manual-packages/youtube-dl { };
 
   # From old emacsPackages (pre emacsPackagesNg)
-  cedille = callPackage ./cedille { cedille = pkgs.cedille; };
-  color-theme-solarized = callPackage ./color-theme-solarized { };
-  session-management-for-emacs = callPackage ./session-management-for-emacs { };
-  hsc3-mode = callPackage ./hsc3 { };
-  prolog-mode = callPackage ./prolog { };
-  rect-mark = callPackage ./rect-mark { };
-  sunrise-commander = callPackage ./sunrise-commander { };
+  cedille = callPackage ./manual-packages/cedille { inherit (pkgs) cedille; };
+  color-theme-solarized = callPackage ./manual-packages/color-theme-solarized { };
+  hsc3-mode = callPackage ./manual-packages/hsc3 { };
+  prolog-mode = callPackage ./manual-packages/prolog { };
+  rect-mark = callPackage ./manual-packages/rect-mark { };
+  session-management-for-emacs = callPackage ./manual-packages/session-management-for-emacs { };
+  sunrise-commander = callPackage ./manual-packages/sunrise-commander { };
 
   # camelCase aliases for some of the kebab-case expressions above
   colorThemeSolarized = color-theme-solarized;
   emacsSessionManagement = session-management-for-emacs;
   rectMark = rect-mark;
   sunriseCommander = sunrise-commander;
-
 }
diff --git a/pkgs/applications/editors/emacs/elisp-packages/agda-input/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/agda-input/default.nix
index a96f7393dfaff..a96f7393dfaff 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/agda-input/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/agda-input/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/agda2-mode/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/agda2-mode/default.nix
index 2533153bd4474..2533153bd4474 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/agda2-mode/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/agda2-mode/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/bqn-mode/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/bqn-mode/default.nix
index 6430e56ef730d..6430e56ef730d 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/bqn-mode/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/bqn-mode/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/cask/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/cask/default.nix
new file mode 100644
index 0000000000000..692481cc7fbc7
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/cask/default.nix
@@ -0,0 +1,76 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, bash
+, emacs
+, python3
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "cask";
+  version = "0.8.8";
+
+  src = fetchFromGitHub {
+    owner = "cask";
+    repo = "cask";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-TlReq5sLVJj+pXmJSnepKQkNEWVhnh30iq4egM1HJMU=";
+  };
+
+  doCheck = true;
+
+  nativeBuildInputs = [ emacs ];
+  buildInputs = [
+    bash
+    python3
+  ]
+  ++ (with emacs.pkgs; [
+    ansi
+    dash
+    ecukes
+    el-mock
+    ert-async
+    ert-runner
+    f
+    git
+    noflet
+    package-build
+    s
+    servant
+    shell-split-string
+  ]);
+
+  strictDeps = true;
+
+  buildPhase = ''
+    runHook preBuild
+
+    emacs --batch -L . -f batch-byte-compile cask.el cask-cli.el
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    install -Dm444 -t $out/share/emacs/site-lisp/cask *.el *.elc
+    install -Dm555 -t $out/share/emacs/site-lisp/cask/bin bin/cask
+    ln -s $out/share/emacs/site-lisp/cask/bin/cask $out/bin/cask
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Project management for Emacs";
+    longDescription = ''
+      Cask is a project management tool for Emacs that helps automate the
+      package development cycle; development, dependencies, testing, building,
+      packaging and more.
+    '';
+    homepage = "https://cask.readthedocs.io/en/latest/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    inherit (emacs.meta) platforms;
+  };
+})
diff --git a/pkgs/applications/editors/emacs/elisp-packages/cedille/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/cedille/default.nix
index e9a5e9128810b..e9a5e9128810b 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/cedille/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/cedille/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/color-theme-solarized/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/color-theme-solarized/default.nix
index 1ac8b2f707686..1ac8b2f707686 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/color-theme-solarized/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/color-theme-solarized/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/control-lock/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/control-lock/default.nix
index 82ea42aa2b83e..82ea42aa2b83e 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/control-lock/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/control-lock/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/ebuild-mode/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ebuild-mode/default.nix
index 04a105ed5145d..04a105ed5145d 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/ebuild-mode/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ebuild-mode/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/elisp-ffi/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/elisp-ffi/default.nix
new file mode 100644
index 0000000000000..74b829701b0b5
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/elisp-ffi/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, melpaBuild
+, fetchFromGitHub
+, pkg-config
+, libffi
+, writeText
+}:
+
+let
+  rev = "da37c516a0e59bdce63fb2dc006a231dee62a1d9";
+in melpaBuild {
+  pname = "elisp-ffi";
+  version = "20170518.0";
+
+  commit = rev;
+
+  src = fetchFromGitHub {
+    owner = "skeeto";
+    repo = "elisp-ffi";
+    inherit rev;
+    sha256 = "sha256-StOezQEnNTjRmjY02ub5FRh59aL6gWfw+qgboz0wF94=";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ libffi ];
+
+  preBuild = ''
+    mv ffi.el elisp-ffi.el
+    make
+ '';
+
+  recipe = writeText "recipe" ''
+   (elisp-ffi :repo "skeeto/elisp-ffi" :fetcher github)
+  '';
+
+  meta = {
+    description = "Emacs Lisp Foreign Function Interface";
+    longDescription = ''
+        This library provides an FFI for Emacs Lisp so that Emacs
+        programs can invoke functions in native libraries. It works by
+        driving a subprocess to do the heavy lifting, passing result
+        values on to Emacs.
+      '';
+    license = lib.licenses.publicDomain;
+  };
+}
diff --git a/pkgs/applications/editors/emacs/elisp-packages/emacspeak/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/emacspeak/default.nix
index 927605676cfdf..927605676cfdf 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/emacspeak/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/emacspeak/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ement/default.nix
index c43d0d7765443..c43d0d7765443 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ement/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/ement/handle-nil-images.patch b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ement/handle-nil-images.patch
index 271e1cd2dbac7..271e1cd2dbac7 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/ement/handle-nil-images.patch
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ement/handle-nil-images.patch
diff --git a/pkgs/applications/editors/emacs/elisp-packages/ess-R-object-popup/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ess-R-object-popup/default.nix
index 7809dcd735660..7809dcd735660 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/ess-R-object-popup/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ess-R-object-popup/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/evil-markdown/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/evil-markdown/default.nix
index a2605f33778d9..d4079a53dcaa0 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/evil-markdown/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/evil-markdown/default.nix
@@ -2,6 +2,8 @@
 , trivialBuild
 , fetchFromGitHub
 , emacs
+, evil
+, markdown-mode
 }:
 
 trivialBuild rec {
@@ -15,11 +17,9 @@ trivialBuild rec {
     hash = "sha256-HBBuZ1VWIn6kwK5CtGIvHM1+9eiNiKPH0GUsyvpUVN8=";
   };
 
-  buildInputs = [
-    emacs
-  ] ++ propagatedUserEnvPkgs;
+  buildInputs = propagatedUserEnvPkgs;
 
-  propagatedUserEnvPkgs = with emacs.pkgs; [
+  propagatedUserEnvPkgs = [
     evil
     markdown-mode
   ];
diff --git a/pkgs/applications/editors/emacs/elisp-packages/font-lock-plus/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/font-lock-plus/default.nix
index 019d241f507b0..019d241f507b0 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/font-lock-plus/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/font-lock-plus/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ghc-mod/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ghc-mod/default.nix
new file mode 100644
index 0000000000000..533c63608ab75
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ghc-mod/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, pkgs
+, melpaBuild
+, haskellPackages
+, writeText
+}:
+
+melpaBuild {
+  pname = "ghc";
+
+  inherit (haskellPackages.ghc-mod) version src;
+
+  packageRequires = [ haskell-mode ];
+
+  propagatedUserEnvPkgs = [ haskellPackages.ghc-mod ];
+
+  recipe = writeText "recipe" ''
+    (ghc-mod :repo "DanielG/ghc-mod" :fetcher github :files ("elisp/*.el"))
+  '';
+
+  fileSpecs = [ "elisp/*.el" ];
+
+  meta = {
+    description = "An extension of haskell-mode that provides completion of symbols and documentation browsing";
+    license = lib.licenses.bsd3;
+  };
+}
diff --git a/pkgs/applications/editors/emacs/elisp-packages/git-undo/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/git-undo/default.nix
index b8bbe7db577bb..b8bbe7db577bb 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/git-undo/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/git-undo/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/haskell-unicode-input-method/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/haskell-unicode-input-method/default.nix
new file mode 100644
index 0000000000000..1d9fa6a0c084a
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/haskell-unicode-input-method/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, melpaBuild
+, fetchFromGitHub
+, writeText
+}:
+
+let
+  rev = "d8d168148c187ed19350bb7a1a190217c2915a63";
+in melpaBuild {
+  pname = "haskell-unicode-input-method";
+  version = "20110905.2307";
+
+  commit = rev;
+
+  src = fetchFromGitHub {
+    owner = "roelvandijk";
+    repo = "emacs-haskell-unicode-input-method";
+    inherit rev;
+    sha256 = "09b7bg2s9aa4s8f2kdqs4xps3jxkq5wsvbi87ih8b6id38blhf78";
+  };
+
+  recipe = writeText "recipe" ''
+      (haskell-unicode-input-method
+       :repo "roelvandijk/emacs-haskell-unicode-input-method"
+       :fetcher github)
+    '';
+
+  packageRequires = [];
+
+  meta = {
+    homepage = "https://melpa.org/#haskell-unicode-input-method/";
+    license = lib.licenses.free;
+  };
+}
diff --git a/pkgs/applications/editors/emacs/elisp-packages/header-file-mode/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/header-file-mode/default.nix
index df3b2a56519e6..df3b2a56519e6 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/header-file-mode/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/header-file-mode/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/helm-words/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/helm-words/default.nix
index 21a65614398af..21a65614398af 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/helm-words/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/helm-words/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/hsc3/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/hsc3/default.nix
index 3b20326d96f52..3b20326d96f52 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/hsc3/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/hsc3/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/idris2-mode/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/idris2-mode/default.nix
index c415b783bc948..c415b783bc948 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/idris2-mode/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/idris2-mode/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/isearch-plus/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/isearch-plus/default.nix
index c28a17743421f..c28a17743421f 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/isearch-plus/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/isearch-plus/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/isearch-prop/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/isearch-prop/default.nix
index d5283da41dff6..d5283da41dff6 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/isearch-prop/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/isearch-prop/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/jam-mode/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/jam-mode/default.nix
index 09b7877c9deba..09b7877c9deba 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/jam-mode/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/jam-mode/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/llvm-mode/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/llvm-mode/default.nix
index 26f9e25ad665c..26f9e25ad665c 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/llvm-mode/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/llvm-mode/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/matrix-client/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/matrix-client/default.nix
new file mode 100644
index 0000000000000..d8efbb9e9cb36
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/matrix-client/default.nix
@@ -0,0 +1,73 @@
+{ lib
+, melpaBuild
+, fetchFromGitHub
+, fetchpatch
+, writeText
+# Emacs packages
+, _map
+, a
+, anaphora
+, cl-lib
+, dash
+, dash-functional
+, esxml
+, f
+, frame-purpose
+, ht
+, ov
+, rainbow-identifiers
+, request
+, s
+, tracking
+}:
+
+let
+  rev = "d2ac55293c96d4c95971ed8e2a3f6f354565c5ed";
+in melpaBuild {
+  pname = "matrix-client";
+  version = "0.3.0";
+
+  commit = rev;
+
+  src = fetchFromGitHub {
+    owner = "alphapapa";
+    repo = "matrix-client.el";
+    inherit rev;
+    sha256 = "1scfv1502yg7x4bsl253cpr6plml1j4d437vci2ggs764sh3rcqq";
+  };
+
+  patches = [
+    # Fix: avatar loading when imagemagick support is not available
+    (fetchpatch {
+      url = "https://github.com/alphapapa/matrix-client.el/commit/5f49e615c7cf2872f48882d3ee5c4a2bff117d07.patch";
+      sha256 = "07bvid7s1nv1377p5n61q46yww3m1w6bw4vnd4iyayw3fby1lxbm";
+    })
+  ];
+
+  packageRequires = [
+    _map
+    a
+    anaphora
+    cl-lib
+    dash
+    dash-functional
+    esxml
+    f
+    frame-purpose
+    ht
+    ov
+    rainbow-identifiers
+    request
+    s
+    tracking
+  ];
+
+  recipe = writeText "recipe" ''
+    (matrix-client :repo "alphapapa/matrix-client.el" :fetcher github)
+  '';
+
+  meta = {
+    description = "A chat client and API wrapper for Matrix.org";
+    license = lib.licenses.gpl3Plus;
+  };
+}
diff --git a/pkgs/applications/editors/emacs/elisp-packages/ott-mode/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ott-mode/default.nix
index 6eeead468ff22..6eeead468ff22 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/ott-mode/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ott-mode/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/perl-completion/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/perl-completion/default.nix
index 515254a42a983..ad12c606abb9d 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/perl-completion/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/perl-completion/default.nix
@@ -1,6 +1,9 @@
-{ lib, stdenv, fetchurl }:
+{ lib
+, trivial-build
+, fetchurl
+}:
 
-stdenv.mkDerivation {
+trivial-build {
   name = "perl-completion";
 
   src = fetchurl {
@@ -10,14 +13,8 @@ stdenv.mkDerivation {
 
   dontUnpack = true;
 
-  installPhase = ''
-    install -d $out/share/emacs/site-lisp
-    install $src $out/share/emacs/site-lisp/perl-completion.el
-  '';
-
   meta = {
     description = "Minor mode provides useful features for editing perl codes";
     homepage = "http://emacswiki.org/emacs/PerlCompletion";
-    platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/applications/editors/emacs/elisp-packages/pod-mode/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/pod-mode/default.nix
index 549633b7dfbdc..549633b7dfbdc 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/pod-mode/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/pod-mode/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/power-mode/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/power-mode/default.nix
index bd6a2996d6e1b..bd6a2996d6e1b 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/power-mode/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/power-mode/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/prisma-mode/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/prisma-mode/default.nix
new file mode 100644
index 0000000000000..983363ae838f4
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/prisma-mode/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, fetchFromGitHub
+, melpaBuild
+, js2-mode
+, writeText
+}:
+
+let
+  rev = "5283ca7403bcb21ca0cac8ecb063600752dfd9d4";
+in melpaBuild {
+  pname = "prisma-mode";
+  version = "20211207.0";
+
+  commit = rev;
+
+  packageRequires = [ js2-mode ];
+
+  src = fetchFromGitHub {
+    owner = "pimeys";
+    repo = "emacs-prisma-mode";
+    inherit rev;
+    sha256 = "sha256-DJJfjbu27Gi7Nzsa1cdi8nIQowKH8ZxgQBwfXLB0Q/I=";
+  };
+
+  recipe = writeText "recipe" ''
+    (prisma-mode :repo "pimeys/emacs-prisma-mode" :fetcher github)
+  '';
+
+  meta = {
+    description = "Major mode for Prisma Schema Language";
+    license = lib.licenses.gpl2Only;
+  };
+}
diff --git a/pkgs/applications/editors/emacs/elisp-packages/prolog/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/prolog/default.nix
index 590906d6acdbd..590906d6acdbd 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/prolog/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/prolog/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/rect-mark/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/rect-mark/default.nix
index aef7fbf8c9a0b..aef7fbf8c9a0b 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/rect-mark/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/rect-mark/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/session-management-for-emacs/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/session-management-for-emacs/default.nix
index 71f9981f461a9..71f9981f461a9 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/session-management-for-emacs/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/session-management-for-emacs/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/sunrise-commander/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/sunrise-commander/default.nix
index eaa7d8b577934..eaa7d8b577934 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/sunrise-commander/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/sunrise-commander/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/sv-kalender/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/sv-kalender/default.nix
index 73fee0dcf3988..73fee0dcf3988 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/sv-kalender/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/sv-kalender/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/default-grammars.json b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/default-grammars.json
index 746ec60669dfc..1cfa52fed5b58 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/default-grammars.json
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/default-grammars.json
@@ -1,5 +1,4 @@
 [
-  "tree-sitter-agda",
   "tree-sitter-bash",
   "tree-sitter-c",
   "tree-sitter-c-sharp",
@@ -7,11 +6,11 @@
   "tree-sitter-css",
   "tree-sitter-elixir",
   "tree-sitter-elm",
-  "tree-sitter-fluent",
   "tree-sitter-go",
   "tree-sitter-haskell",
   "tree-sitter-hcl",
   "tree-sitter-html",
+  "tree-sitter-janet-simple",
   "tree-sitter-java",
   "tree-sitter-javascript",
   "tree-sitter-jsdoc",
@@ -19,6 +18,8 @@
   "tree-sitter-julia",
   "tree-sitter-nix",
   "tree-sitter-ocaml",
+  "tree-sitter-perl",
+  "tree-sitter-pgn",
   "tree-sitter-php",
   "tree-sitter-prisma",
   "tree-sitter-python",
@@ -27,5 +28,6 @@
   "tree-sitter-scala",
   "tree-sitter-typescript",
   "tree-sitter-verilog",
+  "tree-sitter-yaml",
   "tree-sitter-zig"
 ]
diff --git a/pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/default.nix
index cb4cec172bac1..cb4cec172bac1 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/update-defaults.py b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/update-defaults.py
index 19bcb8989c30d..128ce66dda8bc 100755
--- a/pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/update-defaults.py
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/update-defaults.py
@@ -1,5 +1,6 @@
 #!/usr/bin/env nix-shell
-#! nix-shell ../../../../../../. -i python3 -p python3 -p nix
+#! nix-shell ../../../../../../../. -i python3 -p python3 -p nix
+
 from os.path import (
     dirname,
     abspath,
diff --git a/pkgs/applications/editors/emacs/elisp-packages/tsc/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tsc/default.nix
index a9462298979d0..a9462298979d0 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/tsc/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tsc/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/tsc/src.json b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tsc/src.json
index 6aa6fee1830ab..6aa6fee1830ab 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/tsc/src.json
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tsc/src.json
diff --git a/pkgs/applications/editors/emacs/elisp-packages/tsc/update.py b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tsc/update.py
index ce2054f909ef3..082602fcc4fde 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/tsc/update.py
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tsc/update.py
@@ -80,7 +80,8 @@ def get_cargo_sha256(drv_path: str):
 if __name__ == "__main__":
     cwd = sys.argv[1]
 
-    nixpkgs = abspath(join(cwd, "../../../../../.."))
+    # This should point to the root default.nix of Nixpkgs tree
+    nixpkgs = abspath(join(cwd, "../../../../../../.."))
 
     tag_name = requests.get(
         "https://api.github.com/repos/emacs-tree-sitter/elisp-tree-sitter/releases/latest"
diff --git a/pkgs/applications/editors/emacs/elisp-packages/urweb-mode/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/urweb-mode/default.nix
index 6f7e822d81d37..6f7e822d81d37 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/urweb-mode/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/urweb-mode/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/voicemacs/add-missing-require.patch b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/voicemacs/add-missing-require.patch
index 58c043bf78ede..58c043bf78ede 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/voicemacs/add-missing-require.patch
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/voicemacs/add-missing-require.patch
diff --git a/pkgs/applications/editors/emacs/elisp-packages/voicemacs/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/voicemacs/default.nix
index d7c3758bf324e..d7c3758bf324e 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/voicemacs/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/voicemacs/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/yes-no/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/yes-no/default.nix
index 2b51332c30d4a..2b51332c30d4a 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/yes-no/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/yes-no/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/youtube-dl/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/youtube-dl/default.nix
index e6e645a3b3a1c..e6e645a3b3a1c 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/youtube-dl/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/youtube-dl/default.nix
diff --git a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix
index ad3708d11b096..d3c3d58908585 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix
@@ -507,6 +507,16 @@ let
           packageRequires = with self; [ evil highlight ];
         });
 
+        hamlet-mode = super.hamlet-mode.overrideAttrs (attrs: {
+          patches = [
+            # Fix build; maintainer email fails to parse
+            (pkgs.fetchpatch {
+              url = "https://github.com/lightquake/hamlet-mode/commit/253495d1330d6ec88d97fac136c78f57c650aae0.patch";
+              sha256 = "dSxS5yuXzCW96CUyvJWwjkhf1FMGBfiKKoBxeDVdz9Y=";
+            })
+          ];
+        });
+
         helm-rtags = fix-rtags super.helm-rtags;
 
         # tries to write to $HOME
diff --git a/pkgs/applications/editors/emacs/elisp-packages/nano-theme/default.nix b/pkgs/applications/editors/emacs/elisp-packages/nano-theme/default.nix
deleted file mode 100644
index 735e18f6b68ab..0000000000000
--- a/pkgs/applications/editors/emacs/elisp-packages/nano-theme/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ trivialBuild
-, fetchFromGitHub
-, emacs
-}:
-
-trivialBuild rec {
-  pname = "nano-theme";
-  version = "0.pre+unstable=2021-06-29";
-
-  src = fetchFromGitHub {
-    owner = "rougier";
-    repo  = pname;
-    rev = "4a231787a32b3019f9f0abb3511a112fd54bf685";
-    hash = "sha256-eco9BMKLhPuwFJb5QesbM6g3cZv3FdVvQ9fXq6D3Ifc=";
-  };
-
-  meta = {
-    homepage = "https://github.com/rougier/nano-theme";
-    description = "GNU Emacs / N Λ N O Theme";
-    inherit (emacs.meta) platforms;
-  };
-}
diff --git a/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix b/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix
index 53b5f9e1743ea..58d425a825076 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix
@@ -49,10 +49,10 @@
       elpaBuild {
         pname = "annotate";
         ename = "annotate";
-        version = "1.8.0";
+        version = "1.8.1";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/annotate-1.8.0.tar";
-          sha256 = "169cav480g2fm3z7d5dixrng2h8fv39sa9n066b79cb573p4bbcp";
+          url = "https://elpa.nongnu.org/nongnu/annotate-1.8.1.tar";
+          sha256 = "00rpaki0vf6aiwa4by1v3hba79jmx1g7c283q1gibp4ka7grxzc2";
         };
         packageRequires = [];
         meta = {
@@ -214,10 +214,10 @@
       elpaBuild {
         pname = "buttercup";
         ename = "buttercup";
-        version = "1.26";
+        version = "1.28";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/buttercup-1.26.tar";
-          sha256 = "1ddzk6h4cxrl7mn8vr2qp4xjj2al3h5s3kwqxpdwd3zn6wqgyqm4";
+          url = "https://elpa.nongnu.org/nongnu/buttercup-1.28.tar";
+          sha256 = "0gli1cxqiqg4adln7svplcc6rk718q4gn6idwxbzx8mgcwhmw75f";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -344,10 +344,10 @@
       elpaBuild {
         pname = "corfu-terminal";
         ename = "corfu-terminal";
-        version = "0.4";
+        version = "0.5";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/corfu-terminal-0.4.tar";
-          sha256 = "1rmfj2lzdab2s49k9ja79i7xcw74r9cr5kv7rgrisqxwgcnvsi95";
+          url = "https://elpa.nongnu.org/nongnu/corfu-terminal-0.5.tar";
+          sha256 = "1m53d4vi7cl91d8k550735r3ns4lm9vz3gvb0b7skib8jw3x5xqr";
         };
         packageRequires = [ corfu emacs popon ];
         meta = {
@@ -533,10 +533,10 @@
       elpaBuild {
         pname = "editorconfig";
         ename = "editorconfig";
-        version = "0.8.2";
+        version = "0.9.1";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/editorconfig-0.8.2.tar";
-          sha256 = "1ff8hwyzb249lf78j023sbibgfmimmk6mxkjmcnqqnk1jafprk02";
+          url = "https://elpa.nongnu.org/nongnu/editorconfig-0.9.1.tar";
+          sha256 = "0i271313bsk3hlkc3bzjv79i20y6ffk7gwn26rnhljwpi828wfsw";
         };
         packageRequires = [ cl-lib emacs nadvice ];
         meta = {
@@ -711,10 +711,10 @@
       elpaBuild {
         pname = "evil-nerd-commenter";
         ename = "evil-nerd-commenter";
-        version = "3.5.7";
+        version = "3.5.8";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/evil-nerd-commenter-3.5.7.tar";
-          sha256 = "1lar8hy9n29gv4cijalyy2ba23y0kyh9ycnsi5dzjs68pk3y4hca";
+          url = "https://elpa.nongnu.org/nongnu/evil-nerd-commenter-3.5.8.tar";
+          sha256 = "0hrzwca24dy4g9h7v5csqpwvsfj1ns4gqlnlf1q5i0jqvhvklnj5";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -777,10 +777,10 @@
       elpaBuild {
         pname = "flymake-popon";
         ename = "flymake-popon";
-        version = "0.3";
+        version = "0.5";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/flymake-popon-0.3.tar";
-          sha256 = "1cmimdkav8cdl7x6qplm4pvj2ifyb3lk8h2q624vh7cxxlh8yq0l";
+          url = "https://elpa.nongnu.org/nongnu/flymake-popon-0.5.tar";
+          sha256 = "1q1adxsrx8sjw6pffwxvk0yrgbz0rbrzi1g7g7zq5952vnz4dnn0";
         };
         packageRequires = [ emacs flymake popon posframe ];
         meta = {
@@ -792,10 +792,10 @@
       elpaBuild {
         pname = "focus";
         ename = "focus";
-        version = "1.0.0";
+        version = "1.0.1";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/focus-1.0.0.tar";
-          sha256 = "0gicqiw7npcf18rfb99hm1s054m9l4izzcqzij2kpnc544aqgf9y";
+          url = "https://elpa.nongnu.org/nongnu/focus-1.0.1.tar";
+          sha256 = "1kiyvbdbjhjfkl5cq6q78lfgbir7iayswwm2qnj4df95nbm8shsz";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -833,21 +833,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    geiser = callPackage ({ elpaBuild
-                          , emacs
-                          , fetchurl
-                          , lib
-                          , project
-                          , transient }:
+    geiser = callPackage ({ elpaBuild, emacs, fetchurl, lib, project }:
       elpaBuild {
         pname = "geiser";
         ename = "geiser";
-        version = "0.26.1";
+        version = "0.28";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/geiser-0.26.1.tar";
-          sha256 = "1fq68gvyyrplxw8i0yma4q0yqmrzp00v1v7izlc5r7h58wryy39a";
+          url = "https://elpa.nongnu.org/nongnu/geiser-0.28.tar";
+          sha256 = "0qp732j16cdmkpqv4vjplh9kcdbb1s4gfwff2d7k1sg4wqi8sa95";
         };
-        packageRequires = [ emacs project transient ];
+        packageRequires = [ emacs project ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/geiser.html";
           license = lib.licenses.free;
@@ -928,16 +923,21 @@
           license = lib.licenses.free;
         };
       }) {};
-    geiser-guile = callPackage ({ elpaBuild, emacs, fetchurl, geiser, lib }:
+    geiser-guile = callPackage ({ elpaBuild
+                                , emacs
+                                , fetchurl
+                                , geiser
+                                , lib
+                                , transient }:
       elpaBuild {
         pname = "geiser-guile";
         ename = "geiser-guile";
-        version = "0.26.1";
+        version = "0.28.0";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/geiser-guile-0.26.1.tar";
-          sha256 = "1ay7v2qsl0kr9zvf6j1sss3gxniwrqp8xgxhxf7nhlkmkgcfp1wk";
+          url = "https://elpa.nongnu.org/nongnu/geiser-guile-0.28.0.tar";
+          sha256 = "0nw77psyvl9lackyq5l60k84f1dyddn8y2sxm5b1z71gjkp481zi";
         };
-        packageRequires = [ emacs geiser ];
+        packageRequires = [ emacs geiser transient ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/geiser-guile.html";
           license = lib.licenses.free;
@@ -1178,10 +1178,10 @@
       elpaBuild {
         pname = "haskell-mode";
         ename = "haskell-mode";
-        version = "4.7.1";
+        version = "17.2";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/haskell-mode-4.7.1.tar";
-          sha256 = "07x7440xi8dkv1zpzwi7p96jy3zd6pdv1mhs066l8bp325516wyb";
+          url = "https://elpa.nongnu.org/nongnu/haskell-mode-17.2.tar";
+          sha256 = "1crq9065jy3941z9wh09n82x7bbbmxgcn9ylfj9xgn1rcvgb0cmg";
         };
         packageRequires = [];
         meta = {
@@ -1208,10 +1208,10 @@
       elpaBuild {
         pname = "helm";
         ename = "helm";
-        version = "3.8.8";
+        version = "3.9.0";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/helm-3.8.8.tar";
-          sha256 = "1qsiw8gswjwfp79n7g103db7xsmk36lq6ln558ipn4cw0fpnq1sc";
+          url = "https://elpa.nongnu.org/nongnu/helm-3.9.0.tar";
+          sha256 = "00lln7g27iipa9lhd9hw3gl6s92d2di4nlfyjz0hgg32v39fnvjd";
         };
         packageRequires = [ helm-core popup ];
         meta = {
@@ -1223,10 +1223,10 @@
       elpaBuild {
         pname = "helm-core";
         ename = "helm-core";
-        version = "3.8.8";
+        version = "3.9.0";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/helm-core-3.8.8.tar";
-          sha256 = "0wg21425ki8n8d954lkmlyci6awwwv53jg4gn5z495vh27qiv3qn";
+          url = "https://elpa.nongnu.org/nongnu/helm-core-3.9.0.tar";
+          sha256 = "1fvrxj64qc4976s6af2zc428dnx2p0skxdnkjikz8rpw8kmffcb9";
         };
         packageRequires = [ async emacs ];
         meta = {
@@ -1582,16 +1582,17 @@
                           , fetchurl
                           , lib
                           , seq
+                          , url-scgi
                           , xml-rpc }:
       elpaBuild {
         pname = "mentor";
         ename = "mentor";
-        version = "0.4";
+        version = "0.5";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/mentor-0.4.tar";
-          sha256 = "1n51yabm4npx62fpfn8rhky09x4y779ismdxa026fycy7va7ynzz";
+          url = "https://elpa.nongnu.org/nongnu/mentor-0.5.tar";
+          sha256 = "1kkzm881fxhc5hb83x0j12lv22b72nzw45qrypbl1jf2siispz9l";
         };
-        packageRequires = [ async emacs seq xml-rpc ];
+        packageRequires = [ async emacs seq url-scgi xml-rpc ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/mentor.html";
           license = lib.licenses.free;
@@ -1798,10 +1799,10 @@
       elpaBuild {
         pname = "org-mime";
         ename = "org-mime";
-        version = "0.3.1";
+        version = "0.3.2";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/org-mime-0.3.1.tar";
-          sha256 = "0dm7addyc98kh1lm4d8x7nvnkh6bwkw300ms2zlwm1ii91jzfkkg";
+          url = "https://elpa.nongnu.org/nongnu/org-mime-0.3.2.tar";
+          sha256 = "12crmbrjxac1ml2x1jh3wbpgh0fddhnl3gdmb5r9dlpkay1c5dxs";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1929,6 +1930,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    pcre2el = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "pcre2el";
+        ename = "pcre2el";
+        version = "1.11";
+        src = fetchurl {
+          url = "https://elpa.nongnu.org/nongnu/pcre2el-1.11.tar";
+          sha256 = "147da1iqlgsjsnfffk4iwfjsrv98xz5s4wjdys9r98n0j723js7r";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/pcre2el.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     pdf-tools = callPackage ({ elpaBuild
                              , emacs
                              , fetchurl
@@ -1953,10 +1969,10 @@
       elpaBuild {
         pname = "php-mode";
         ename = "php-mode";
-        version = "1.24.1";
+        version = "1.24.2";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/php-mode-1.24.1.tar";
-          sha256 = "0ixm7z2bq4aacbwyzx53alfnqwbdn36i5ixdi3qjhr8rh5k48vg1";
+          url = "https://elpa.nongnu.org/nongnu/php-mode-1.24.2.tar";
+          sha256 = "1v84b7mjilr6z1zmjfvwp4mwc68mb298fcn03xcaivnd91gvmvs2";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1968,10 +1984,10 @@
       elpaBuild {
         pname = "popon";
         ename = "popon";
-        version = "0.9";
+        version = "0.12";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/popon-0.9.tar";
-          sha256 = "1vnrdjg63fcpgzzc45l9cx67yb2lnk5prfp5js4dpdhz93d14qck";
+          url = "https://elpa.nongnu.org/nongnu/popon-0.12.tar";
+          sha256 = "06vsri7dka3qbiwfkl4ml8b99alah24zq8y4n1szh587xy3c7dj0";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1998,10 +2014,10 @@
       elpaBuild {
         pname = "projectile";
         ename = "projectile";
-        version = "2.5.0";
+        version = "2.6.0";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/projectile-2.5.0.tar";
-          sha256 = "09gsm6xbqj3357vlshs1w7ygfm004gpgs0pqrvwl6xmccxpqzmi0";
+          url = "https://elpa.nongnu.org/nongnu/projectile-2.6.0.tar";
+          sha256 = "0r0ylllx7vr903sjci1i6yf4xzn7k4azaw9l3azvc3mzrrjagvvj";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2039,6 +2055,24 @@
           license = lib.licenses.free;
         };
       }) {};
+    racket-mode = callPackage ({ elpaBuild
+                               , emacs
+                               , fetchurl
+                               , lib }:
+      elpaBuild {
+        pname = "racket-mode";
+        ename = "racket-mode";
+        version = "1.0.20221118.122133";
+        src = fetchurl {
+          url = "https://elpa.nongnu.org/nongnu/racket-mode-1.0.20221118.122133.tar";
+          sha256 = "0a2lpvkarcw5rlydm3va7ajjsyhfbj023h93n6n94pjvllhn2rp2";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/racket-mode.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     rainbow-delimiters = callPackage ({ elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "rainbow-delimiters";
@@ -2099,6 +2133,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    rfc-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "rfc-mode";
+        ename = "rfc-mode";
+        version = "1.3.0";
+        src = fetchurl {
+          url = "https://elpa.nongnu.org/nongnu/rfc-mode-1.3.0.tar";
+          sha256 = "1wdqp03rrx7ar21nvbnrb7518c3vgf41z00bav00pw8cdx5c4m10";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/rfc-mode.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     rubocop = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "rubocop";
@@ -2148,6 +2197,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    scad-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "scad-mode";
+        ename = "scad-mode";
+        version = "93.1";
+        src = fetchurl {
+          url = "https://elpa.nongnu.org/nongnu/scad-mode-93.1.tar";
+          sha256 = "0k9wqz2nd4j0wz2y300nn6rs8a9vpshnaa2hx6f8649k4y87bblp";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/scad-mode.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     scala-mode = callPackage ({ elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "scala-mode";
@@ -2257,10 +2321,10 @@
       elpaBuild {
         pname = "smartparens";
         ename = "smartparens";
-        version = "4.7.1";
+        version = "1.11.0";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/smartparens-4.7.1.tar";
-          sha256 = "0si9wb7j760c4vdv7p049bgppppw5crrh50038bsh8sghq2gdld8";
+          url = "https://elpa.nongnu.org/nongnu/smartparens-1.11.0.tar";
+          sha256 = "1179wicy5nrjk2iq73rxkx6c44k9ybs1vz6llw0qbwc5l10diyvr";
         };
         packageRequires = [];
         meta = {
@@ -2347,10 +2411,10 @@
       elpaBuild {
         pname = "subed";
         ename = "subed";
-        version = "1.0.10";
+        version = "1.0.24";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/subed-1.0.10.tar";
-          sha256 = "08vw9sv2g76yj8sfnx53dd28zkj4s0842i7qi92jam993v9s8h0z";
+          url = "https://elpa.nongnu.org/nongnu/subed-1.0.24.tar";
+          sha256 = "1x9w858pgyhd7hlvn85h379f8sfvf8ly3a9596q4jkqbcp9riymq";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2362,10 +2426,10 @@
       elpaBuild {
         pname = "sweeprolog";
         ename = "sweeprolog";
-        version = "0.4.5";
+        version = "0.8.8";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/sweeprolog-0.4.5.tar";
-          sha256 = "17dbrn2yvc6ib4dig410kbmvpwp4iz6q9hx6g0mk3vxqjrmgwyls";
+          url = "https://elpa.nongnu.org/nongnu/sweeprolog-0.8.8.tar";
+          sha256 = "0h9vn4kc1f1vxvzxv14hbv24skjmishg408s4d8g39bylhj5c5s4";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2392,10 +2456,10 @@
       elpaBuild {
         pname = "swsw";
         ename = "swsw";
-        version = "2.2";
+        version = "2.3";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/swsw-2.2.tar";
-          sha256 = "0bxcpk5329g4xdfnx8n70q53v4aansxfcs3fdpzssayyyv4fk72m";
+          url = "https://elpa.nongnu.org/nongnu/swsw-2.3.tar";
+          sha256 = "0qwdv174bh9k1bpd5szzmhk7hw89xf7rz2i2hzdrmlpvcs3ps653";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2623,10 +2687,10 @@
       elpaBuild {
         pname = "vcomplete";
         ename = "vcomplete";
-        version = "1.2.1";
+        version = "2.0";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/vcomplete-1.2.1.tar";
-          sha256 = "1fcchgv4kdmhzgincfy1jm625lwj3qrjskd0cswag5z15by6b5xf";
+          url = "https://elpa.nongnu.org/nongnu/vcomplete-2.0.tar";
+          sha256 = "0fh5rfvhjmpfdhp4k4b1y57zlsixiabhzca9329id48p8jm4rqyp";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2653,10 +2717,10 @@
       elpaBuild {
         pname = "web-mode";
         ename = "web-mode";
-        version = "17.3.1";
+        version = "17.3.3";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/web-mode-17.3.1.tar";
-          sha256 = "0xlpxk9qscxip93lqyl1l5bzv6nxgq5yb8r05s4jslcipbbfil1d";
+          url = "https://elpa.nongnu.org/nongnu/web-mode-17.3.3.tar";
+          sha256 = "1ci28dfg6k4hwiqz85v9c24n7s52z29ghfyfjg971lq4mfqbx4yy";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2751,10 +2815,10 @@
       elpaBuild {
         pname = "xah-fly-keys";
         ename = "xah-fly-keys";
-        version = "18.1.20220921110635";
+        version = "22.0.20221031102959";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/xah-fly-keys-18.1.20220921110635.tar";
-          sha256 = "0nnd7jq1k62cgjb5y45jg6b76gvzyqh11kha7has4zipd52psvnj";
+          url = "https://elpa.nongnu.org/nongnu/xah-fly-keys-22.0.20221031102959.tar";
+          sha256 = "08i6y3ry0sp597vz0zl7c50lnp04fszydw6m1093sb5nlifbhrb8";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2766,10 +2830,10 @@
       elpaBuild {
         pname = "xml-rpc";
         ename = "xml-rpc";
-        version = "1.6.15";
+        version = "1.6.16";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/xml-rpc-1.6.15.tar";
-          sha256 = "0z87rn7zbd8335iqfvk16zpvby66l0izzw438pxdr7kf60i5vgwl";
+          url = "https://elpa.nongnu.org/nongnu/xml-rpc-1.6.16.tar";
+          sha256 = "0gglrrnicbsf1lrk4pwmif5658yrhx80ixgi5hm85p8yxarn3ynm";
         };
         packageRequires = [];
         meta = {
diff --git a/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json b/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
index 1a630831d89ac..b7f0666e20056 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
+++ b/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
@@ -1531,14 +1531,14 @@
   "repo": "mrkkrp/ace-popup-menu",
   "unstable": {
    "version": [
-    20210608,
-    839
+    20221004,
+    1115
    ],
    "deps": [
     "avy-menu"
    ],
-   "commit": "594a305704be8ca0ef79a12b787bdb59bc6077c0",
-   "sha256": "1ykpb4l29iw5bxmip9cn6irgiak2hwb79kg1k5m32wc9p6b4kbjf"
+   "commit": "e91283271ca409d7f1a477337cc82fb8a74e75ac",
+   "sha256": "0k97zd3jwm98jmf62z8fkba3pyazhyw9w7alai6wj977ph1h9wav"
   },
   "stable": {
    "version": [
@@ -1816,11 +1816,11 @@
   "repo": "louabill/ado-mode",
   "unstable": {
    "version": [
-    20220415,
-    1647
+    20221023,
+    1422
    ],
-   "commit": "07ab2979692d70ca21ac64313903d5347ab748a9",
-   "sha256": "1qdjx229x584qad4bhs6v23mmk4zjkcwbpap076lgbj3vg39cfzw"
+   "commit": "5610074e29ce08631c5210f1873938c3bcd9cbde",
+   "sha256": "17dlhrb74gf4bwjwvzca454ljqxhmfschv7zbgya0r1vax9vbb2i"
   },
   "stable": {
    "version": [
@@ -1893,25 +1893,25 @@
   "repo": "minad/affe",
   "unstable": {
    "version": [
-    20220603,
-    548
+    20221109,
+    841
    ],
    "deps": [
     "consult"
    ],
-   "commit": "e8cb221892ae4d82fc52fffb72b45b5b89ada334",
-   "sha256": "0gwg60c3f2ypjwpai3j4dhzdjn29lxskf3s0nw75pnipngf0sh9r"
+   "commit": "ff75fbe6f6b280815c33ed2d6694bf0ee74dd1fe",
+   "sha256": "01cza8ffx6djh1mign5bzkdvmcjrd69g3hwc3s0grpcidbqi0qic"
   },
   "stable": {
    "version": [
     0,
-    4
+    5
    ],
    "deps": [
     "consult"
    ],
-   "commit": "0982fbfee5877b2492568cce2d746b263f198db3",
-   "sha256": "01hmhg3smjni8gpyap4wmqb4ax6dxfn6jnwlpdp76imbvb9m26ma"
+   "commit": "ff75fbe6f6b280815c33ed2d6694bf0ee74dd1fe",
+   "sha256": "01cza8ffx6djh1mign5bzkdvmcjrd69g3hwc3s0grpcidbqi0qic"
   }
  },
  {
@@ -2008,11 +2008,11 @@
   "repo": "Malabarba/aggressive-indent-mode",
   "unstable": {
    "version": [
-    20220817,
-    9
+    20221009,
+    1158
    ],
-   "commit": "70b3f0add29faff41e480e82930a231d88ee9ca7",
-   "sha256": "1wxr1z0w5lx5pk1lr7ycss38knar8vb655njlqidlhh1cwbw991v"
+   "commit": "f376cdc25de5c0f8c330f1e053557d95ca47a540",
+   "sha256": "1j2hgg7k1nhcwf5mrncmyc6babrlhks2wkcdhz8d1q8rpymiqq38"
   },
   "stable": {
    "version": [
@@ -2032,11 +2032,11 @@
   "repo": "vietor/agtags",
   "unstable": {
    "version": [
-    20200730,
-    116
+    20221026,
+    904
    ],
-   "commit": "d80c6f61dee74040c07b7010d48cab1df13a3abf",
-   "sha256": "05jkkh7m126j24ayh85bk10s4z3lsy1s6n217qb7hlgfl8y5fqdj"
+   "commit": "e8e04ece2f32d65b084974597bfe8077da3ddba0",
+   "sha256": "14sxysq606rq06banjhj5andny3j9r8yk3v4w8ipk0kd033qrr22"
   }
  },
  {
@@ -2062,11 +2062,11 @@
   "url": "https://bitbucket.org/agriggio/ahg",
   "unstable": {
    "version": [
-    20220825,
-    1006
+    20221013,
+    916
    ],
-   "commit": "0e1bb428e1501155dba3f1cbcd789267263ba264",
-   "sha256": "0qavisfyaza5wsg6lksd85y4izy46lyz4vh7wk6m3y4bjxv6rbyn"
+   "commit": "8f0dc52dedcf20e1662c964c6577cfb737381505",
+   "sha256": "0hi6vdzx2v18knbz1y6jq5rkrz0nxp7i6gva4riwd55cjd51nbj4"
   }
  },
  {
@@ -2228,20 +2228,20 @@
   "repo": "wlemuel/alarm-clock",
   "unstable": {
    "version": [
-    20220924,
-    840
+    20221106,
+    1409
    ],
-   "commit": "1d8cb396f4e63e9e16d82ab64b1ce599f98f09ce",
-   "sha256": "0hag6bd7lc9230pn81jg55w6qirgm0rdbzib6kyh4hdhcknm4fmh"
+   "commit": "01f43a74591c4b0de34804e126b671990c7360b4",
+   "sha256": "167q6s32d78b6xywycfahpilpgp64bhcc6ydrjb07fbrbfjk96m7"
   },
   "stable": {
    "version": [
     1,
     0,
-    2
+    3
    ],
-   "commit": "1d8cb396f4e63e9e16d82ab64b1ce599f98f09ce",
-   "sha256": "0hag6bd7lc9230pn81jg55w6qirgm0rdbzib6kyh4hdhcknm4fmh"
+   "commit": "54a5557c05c63053fe31072905ba80d8231ce2f3",
+   "sha256": "02gr5scf50js00xa1chvd0j7agr8bys5madzk96fwg0s4gfdmyqa"
   }
  },
  {
@@ -2366,16 +2366,16 @@
   "repo": "jwiegley/alert",
   "unstable": {
    "version": [
-    20220914,
-    2051
+    20221110,
+    1614
    ],
    "deps": [
     "cl-lib",
     "gntp",
     "log4e"
    ],
-   "commit": "2c11cf9374f88bfc657764afe39ec7f6bad1779d",
-   "sha256": "12iliic7ivcx4wjw0ibxw2wywjv3ywpizk7kc74akwx3r3k44sp5"
+   "commit": "730184b7923a65241fdff695485a3ad432caf201",
+   "sha256": "0xvb7rbfpwpkdqrbnnv0dy4q1gpy25lm849rf2gqqlrgdmywxafk"
   },
   "stable": {
    "version": [
@@ -2508,14 +2508,14 @@
   "repo": "iyefrat/all-the-icons-completion",
   "unstable": {
    "version": [
-    20220409,
-    1204
+    20221026,
+    616
    ],
    "deps": [
     "all-the-icons"
    ],
-   "commit": "286e2c064a1298be0d8d4100dc91d7a7a554d04a",
-   "sha256": "19q35l8ljsgk5f5pcxals2wr7mq4gs278y8bhy983gnlwm80ww43"
+   "commit": "4d8ae544ecf5414c7ddefcf15ca6c3de4f627ef5",
+   "sha256": "1cp5i01ln4j71gng38d03p2mdrvjgfcm29k4qjn5gzq6g4713wic"
   }
  },
  {
@@ -2841,14 +2841,15 @@
   "url": "https://repo.or.cz/amread-mode.git",
   "unstable": {
    "version": [
-    20220519,
-    45
+    20221111,
+    845
    ],
    "deps": [
-    "cl-lib"
+    "cl-lib",
+    "pyim"
    ],
-   "commit": "21f3cf796c08625cf70d534a990f4ae2273a5d4f",
-   "sha256": "1rs5ybxh779fzb2xr0y8rhh4qzdpgrfgir4r81rpfxyhksls88xx"
+   "commit": "3ff235a6204e224d47cb0c99368e6a0f21bf8dce",
+   "sha256": "03q5rndj0ywkg3gq91rhmzwb71y2qd4yc4x5x6vsi8kfxmbv73bs"
   }
  },
  {
@@ -3227,11 +3228,11 @@
   "repo": "bastibe/annotate.el",
   "unstable": {
    "version": [
-    20220930,
-    1003
+    20221024,
+    1829
    ],
-   "commit": "0c3342bd55c827b8e4529fd5ee2aa40053a334f6",
-   "sha256": "0y9v37y8l1mx14lggddlimlmivzz0ll4pwhq87szf50bv23xiq7r"
+   "commit": "479aa90fd6a4db69361339c0058190423fe839e7",
+   "sha256": "1rsb6chgcn3qyzdrajvmidax1gx13v5ngkp24fl1avrsf4kgbmjw"
   },
   "stable": {
    "version": [
@@ -3277,10 +3278,11 @@
     2,
     6,
     2,
-    2
+    2,
+    20221106
    ],
-   "commit": "442c76badc353d1b621243c43293106f60f7d746",
-   "sha256": "0kskd56y71p4w1bgr15szbzjl05kfxpf1cs4bd9dnwdwfp5s0ygw"
+   "commit": "b00db9d927d8951c44ef2e80fd4941180e9f40e7",
+   "sha256": "17f1w71r4pbmssg40xx3nx2chk28f0nc8adhr4vnq3ijkw69v1c7"
   }
  },
  {
@@ -3646,19 +3648,19 @@
   "repo": "radian-software/apheleia",
   "unstable": {
    "version": [
-    20220915,
-    208
+    20221112,
+    350
    ],
-   "commit": "7aa46ba84f06251f280d226f98cb06ef83a0a697",
-   "sha256": "0d7za28ii0z4whw59qvnnf2lwl15r7zswa4b62psk3q9ijlqn53b"
+   "commit": "33d4542b58476d50f01464576664de1acea1f62f",
+   "sha256": "1gcsw3sfm4ixasfcmq2gjd878ap94sigkhis41l62y6kwzp9z63b"
   },
   "stable": {
    "version": [
     3,
-    0
+    1
    ],
-   "commit": "18ccacc5cf0806ecf11d0a3d462de1803e46a9ad",
-   "sha256": "0fpqh4wv69msfsnv3k88cai3nbja70ab5c02xf8gwfgg3613pjdd"
+   "commit": "5286b1c61c82755e9486cb210524ceed038b265f",
+   "sha256": "1145zh7nqadgz5r2llwjwgj2aciv08mn2cpp3zlf0rf3awg86yg7"
   }
  },
  {
@@ -3806,11 +3808,11 @@
   "repo": "waymondo/apropospriate-theme",
   "unstable": {
    "version": [
-    20220817,
-    235
+    20221016,
+    2248
    ],
-   "commit": "07265cc0122d3bde62615e8f5671e271598d95da",
-   "sha256": "18kdrnx264bf2k59b6355b1fbpqd02c5rjr9sfhafpgwg0265d6h"
+   "commit": "b7f0cfc44f53f61ff6494dfad84d685aac995ac6",
+   "sha256": "0qj06f4wngqnw08idx74l1wk1rr0lndwx2xzpr6411qf3rblriy9"
   },
   "stable": {
    "version": [
@@ -3857,21 +3859,6 @@
   }
  },
  {
-  "ename": "arc-dark-theme",
-  "commit": "f8c9060669b262f0588643bd8758edac578834bc",
-  "sha256": "0a61kxdyzm6gf8gf8fniqz5mqkxk24k8hpxww3996v9mqs1bn05s",
-  "fetcher": "github",
-  "repo": "cfraz89/arc-dark-theme",
-  "unstable": {
-   "version": [
-    20190314,
-    1632
-   ],
-   "commit": "ee17dcca35dd0304145efc468b3f25af6907a59d",
-   "sha256": "0cfj5c6rz68095wxs8m733lwc5ymbgi5v82drxhjqcascvrdr1v1"
-  }
- },
- {
   "ename": "arch-packer",
   "commit": "6d1796688ed0d6957557d960ca28e450f9bcb6cf",
   "sha256": "04kv22vpcpjhc047yz6k6dizmwwdjk6vcm8imri76gi9ns1w5n5z",
@@ -3892,6 +3879,25 @@
   }
  },
  {
+  "ename": "archive-phar",
+  "commit": "1ab12c61c97414197a7bdd3148f32674a0da3296",
+  "sha256": "1k826i5v76b4d7880v5863ii7qr80zkpfw7d7q8n1dfl6i5yca3a",
+  "fetcher": "github",
+  "repo": "emacs-php/archive-phar.el",
+  "unstable": {
+   "version": [
+    20221009,
+    2129
+   ],
+   "deps": [
+    "datetime-format",
+    "php-runtime"
+   ],
+   "commit": "0bda3e338446d06dbe9d8c8837dee746de48632f",
+   "sha256": "12gxlg70m6h5gay96mbszg8kkh8c1ib4g132zdr3pzb7w1qgvhh3"
+  }
+ },
+ {
   "ename": "archive-region",
   "commit": "f8e4328cae9b4759a75da0b26ea8b68821bc71af",
   "sha256": "1aiz6a0vdc2zm2q5r80cj5xixqfhsgmr7ldj9ff40k4sf3z5xny3",
@@ -4162,26 +4168,26 @@
   "repo": "zkry/asm-blox",
   "unstable": {
    "version": [
-    20220921,
-    28
+    20221112,
+    2256
    ],
    "deps": [
     "yaml"
    ],
-   "commit": "b9008a3b2df97501d9a5aedcc5666bd292fbc5d6",
-   "sha256": "0vld3d1pbri0xz8c4cyf21z7dfy8g37y05fzhph594xnjmrzf8wx"
+   "commit": "0234a9fe3e4bea7717e857f516209fcc00cf85c0",
+   "sha256": "184v0773cxggidk06wnsziib3kxkdhfr1j8hizmi75hnsrn1g2ya"
   },
   "stable": {
    "version": [
     0,
-    3,
+    4,
     0
    ],
    "deps": [
     "yaml"
    ],
-   "commit": "d73e111a0b96d335e9bca69a234bd0004dfe36f9",
-   "sha256": "1f19822ygyn07lpzfvvxhk49cjk2lc5zam1wd59whfqmpl93s0y3"
+   "commit": "374d9703afd2976736abe6a73c4d4561a3238211",
+   "sha256": "1lgy0yrvf5cx9cw95kg8w3xdy3fniagny9pv7an1lydhbfh8nn9w"
   }
  },
  {
@@ -4272,11 +4278,11 @@
   "repo": "jwiegley/emacs-async",
   "unstable": {
    "version": [
-    20220928,
-    1909
+    20221103,
+    638
    ],
-   "commit": "53addd02fbad33765f508f8e6254ebd44e1f81e5",
-   "sha256": "18pysi1pf6hbv6w0nq50j5xclvgd006iqqijh44wck9hxhdwyfr1"
+   "commit": "10cedd8ac7173e92a6822317f1782550199d2d6d",
+   "sha256": "0pjfnza5iha7amy6wdd0zg0h02mfaj6xzimqhjrhi05hh6kakccb"
   },
   "stable": {
    "version": [
@@ -4493,17 +4499,16 @@
   "repo": "jyp/attrap",
   "unstable": {
    "version": [
-    20220908,
-    1519
+    20221107,
+    1434
    ],
    "deps": [
     "dash",
     "f",
-    "flycheck",
     "s"
    ],
-   "commit": "ecfdf357f4bde6d9acb0826c82a32e72e9c4972f",
-   "sha256": "03pnyvvvppg60gs9nf6n6inaf2bdppq0ilgm174zw4s8ir2ad4r5"
+   "commit": "7cf39d3227d2e99bb2d627bb47fdd90c10a7675a",
+   "sha256": "0b8pi351k8i7grwpj1h94ym49gq2kgi2bc50cji1f7cimwci3qim"
   },
   "stable": {
    "version": [
@@ -4552,32 +4557,33 @@
  },
  {
   "ename": "auctex-latexmk",
-  "commit": "3f48af615c56f093dff417a5d3b705f9993c518f",
-  "sha256": "1rdlgkiwlgm06i1gjxcfciz6wgdskfhln8qhixyfxk7pnz0ax327",
+  "commit": "799607b1d94b48b6d979809ee1ea8c33c73bcd20",
+  "sha256": "1pn17ig5jmn55kdgppixy1fxxmwnxqfzg2adc7hdi4c3dbq0vbfd",
   "fetcher": "github",
-  "repo": "tom-tan/auctex-latexmk",
+  "repo": "emacsmirror/auctex-latexmk",
   "unstable": {
    "version": [
-    20170618,
-    1636
+    20221025,
+    1219
    ],
    "deps": [
     "auctex"
    ],
-   "commit": "64967712b1bbfac8069aa5940fddef938a692a1a",
-   "sha256": "0syd65b6x6lz6as5ih5pldmwgbmq0v3d9pay2n04vqrvsij6m3qy"
+   "commit": "b00a95e6b34c94987fda5a57c20cfe2f064b1c7a",
+   "sha256": "0bbvb4aw9frg4fc0z9qkc5xd2s9x65k6vdscy5svsy0h17iacsbb"
   },
   "stable": {
    "version": [
     1,
     0,
-    2
+    2,
+    1
    ],
    "deps": [
     "auctex"
    ],
-   "commit": "4d353522650d7685acbf1d38f7dbc504f734bd84",
-   "sha256": "0qvscgffmzqk8lkcg3yk91vciim5ygk2m4crk02qn72ipkw5q13m"
+   "commit": "b00a95e6b34c94987fda5a57c20cfe2f064b1c7a",
+   "sha256": "0bbvb4aw9frg4fc0z9qkc5xd2s9x65k6vdscy5svsy0h17iacsbb"
   }
  },
  {
@@ -5130,11 +5136,11 @@
   "repo": "LionyxML/auto-dark-emacs",
   "unstable": {
    "version": [
-    20220901,
-    109
+    20221114,
+    343
    ],
-   "commit": "9293593dfd9c4effa8abe855c7569c1f22531983",
-   "sha256": "1kzmgq64n9llf3gd48s784vi7ly0gad8nfb58mzja5hy5h21pjwf"
+   "commit": "10a42b015e35e8c6a99a3fb5ceeb1db0f5893cee",
+   "sha256": "0gdmjmdzb1p21mrrsl6kv3fvzwmvmbkx9yydn7rylv19zfgj4iwh"
   }
  },
  {
@@ -5598,21 +5604,6 @@
   }
  },
  {
-  "ename": "autotest",
-  "commit": "5fc2c4a590cbeccfb43003972a78f5d76ec4a9e7",
-  "sha256": "0f46m5pc40i531dzfnhkcn192dcs1q20y083c1c0wg2zhjcdr5iy",
-  "fetcher": "github",
-  "repo": "zenspider/elisp",
-  "unstable": {
-   "version": [
-    20190331,
-    2230
-   ],
-   "commit": "b59013510006294b5e7623522f620d5cbac95cf3",
-   "sha256": "06ij30gvpf7244xsdv14qdb86nqqahfrr20gafla764w6r1il62z"
-  }
- },
- {
   "ename": "autotetris-mode",
   "commit": "4c5c698b7dfb179f43b9fdf4652b96e2d7f8e7c6",
   "sha256": "0k4yq4pvrs1zaf9aqxmlb6l2v4k774zbxj4zcx49w3l1h8gwxpbb",
@@ -5683,11 +5674,11 @@
   "repo": "ryuslash/avandu",
   "unstable": {
    "version": [
-    20170101,
-    1903
+    20221106,
+    834
    ],
-   "commit": "f44588d8e747fa880411cb4542cc39962252b90a",
-   "sha256": "097wls9k6qrf12nn8mpszfbqsaqc81956yqxns1sjs6dmjqi0c7z"
+   "commit": "f064cd62f878d945cc2f202cda9a1a82b39d9e22",
+   "sha256": "029l6qjfcj8sw459rrlg80z0gliib8cb0q9qj5rl32xdsj12hzni"
   }
  },
  {
@@ -5886,15 +5877,15 @@
   "repo": "Yuki-Inoue/aws.el",
   "unstable": {
    "version": [
-    20161007,
-    1914
+    20221011,
+    538
    ],
    "deps": [
     "dash",
     "tblui"
    ],
-   "commit": "5601d4f268fc34b86a02ca90cde7d3771619a368",
-   "sha256": "15idbbxsghzn737s9jppnx820nnm1srcl1418458hwfy3wqhq38g"
+   "commit": "7b500097ac3c2addbe1644f78595dc2ea4eb87c4",
+   "sha256": "1r7aw44c73n7sl8r407gl57d7n4p2chbs4djj25m0f08szakyzmi"
   }
  },
  {
@@ -6309,17 +6300,17 @@
  },
  {
   "ename": "base16-theme",
-  "commit": "a91349e3285531fd7040b8bf192c15cccbcac8d1",
-  "sha256": "1j49gan9i0wqr2zvc23811yiv72gyiwiqyf4jckik4vcfx3gsk1f",
+  "commit": "cf0d141b1568596bc58c225d3f8c47b50e81dbae",
+  "sha256": "1ymxd1pg6npqr5msd7zw19vac99bw206cmq1qxwg3jciahifmp8s",
   "fetcher": "github",
-  "repo": "base16-project/base16-emacs",
+  "repo": "tinted-theming/base16-emacs",
   "unstable": {
    "version": [
-    20220828,
-    153
+    20221014,
+    2302
    ],
-   "commit": "a53091ca225b70136e8e3a1f693d0e856022dd31",
-   "sha256": "07yqdqidhch8q2baqfrai7nqa4mn9cr45l7nq97z8aq0x57ws7xh"
+   "commit": "29c469afa822ef24b38e4a4de33b1a638c5bcb5f",
+   "sha256": "1yja2j22z87nrb35k2d3hq32czwm93wm1vdklxjhv32w4qsvcghw"
   },
   "stable": {
    "version": [
@@ -6419,26 +6410,26 @@
   "repo": "dykstrom/basic-mode",
   "unstable": {
    "version": [
-    20220917,
-    718
+    20221112,
+    1533
    ],
    "deps": [
     "seq"
    ],
-   "commit": "a3c305577c2e8d53b78f0255161f3568e9d0bb89",
-   "sha256": "0nwzqj3m0nx403kx4qmc7slg9n5x0xyld43rxr95hwv204gwvh6y"
+   "commit": "1d6cd9a3c400a3609ea2464103bb814b51d3d560",
+   "sha256": "177z5rmh4306zkadnpp0as3w51n972hnzsb15sxc4iccfb3zjap9"
   },
   "stable": {
    "version": [
     0,
-    4,
-    6
+    6,
+    2
    ],
    "deps": [
     "seq"
    ],
-   "commit": "a3c305577c2e8d53b78f0255161f3568e9d0bb89",
-   "sha256": "0nwzqj3m0nx403kx4qmc7slg9n5x0xyld43rxr95hwv204gwvh6y"
+   "commit": "1d6cd9a3c400a3609ea2464103bb814b51d3d560",
+   "sha256": "177z5rmh4306zkadnpp0as3w51n972hnzsb15sxc4iccfb3zjap9"
   }
  },
  {
@@ -6533,11 +6524,11 @@
   "repo": "bazelbuild/emacs-bazel-mode",
   "unstable": {
    "version": [
-    20220707,
-    1549
+    20221105,
+    2049
    ],
-   "commit": "8f7875998f233d248097006df224a33873bbc4f2",
-   "sha256": "0nirvfq49s629163p2k2g8ir8di78p0zp0qriyyycg4v4ir4q63m"
+   "commit": "68d58547dd1df92adc91715f97c3dcd125b00810",
+   "sha256": "1khb0mrhfajr5dv93867mlr7k0csc8f4w12wp5f2rfdxfr9fgi61"
   }
  },
  {
@@ -6776,6 +6767,21 @@
   }
  },
  {
+  "ename": "beans",
+  "commit": "c458bd38ec9ec1de6717ea634b2d53f9083e3b23",
+  "sha256": "1sp43p1ajjh8zwrwkl09rhkkmxf01cw3i74ibqxn6m3hbdb3ry56",
+  "fetcher": "github",
+  "repo": "TheBlackBeans/emacs-beans",
+  "unstable": {
+   "version": [
+    20221114,
+    1634
+   ],
+   "commit": "0d04b79222812aa4978b6486a9ccac461850fe7a",
+   "sha256": "0b7yywa91saiijx6flsn1s1n5jbb7vqy3my2gxryyrqgrxcq1xx7"
+  }
+ },
+ {
   "ename": "bech32",
   "commit": "b66ddcba09e89d770ea5a828979474be76e7d1d5",
   "sha256": "0c453zjmpyv6rvhis6bnkhmykpvxqf56arqqiwczv0xphpkckx8k",
@@ -6991,11 +6997,11 @@
   "repo": "jcs-elpa/better-scroll",
   "unstable": {
    "version": [
-    20220704,
-    645
+    20221020,
+    430
    ],
-   "commit": "cea04fac68efe6aab497780fb683cddef2fa2748",
-   "sha256": "1j5mvbpc7cd5s0sj3y5cbbv6n9qnycdfyc6m54z6vwhpdm43b5n5"
+   "commit": "e7b3196f437f690028aeea414aaf71ca3779c175",
+   "sha256": "00l2r24v99bx7ikh02bcxl3297xb9nmbvx0g2svcc08jijp47fq8"
   },
   "stable": {
    "version": [
@@ -7238,8 +7244,8 @@
   "repo": "tmalsburg/helm-bibtex",
   "unstable": {
    "version": [
-    20220404,
-    1608
+    20221024,
+    857
    ],
    "deps": [
     "biblio",
@@ -7249,8 +7255,8 @@
     "parsebib",
     "s"
    ],
-   "commit": "c089a1cc87d91611366b9430c2890c628b3342c4",
-   "sha256": "1vlpq96w4bvbjz4pa3f2l8vs0jp7gb7k7jlhqjbdpm5qv09q513k"
+   "commit": "78f5931e1cc82e7ae2bcf0508cf31d0d1629a8dd",
+   "sha256": "1qbrkq0yidrp2x2qjpxlyx14yjcv2lir0hjabylapmkmr048v3fk"
   },
   "stable": {
    "version": [
@@ -7372,28 +7378,28 @@
   "repo": "jwiegley/use-package",
   "unstable": {
    "version": [
-    20220807,
-    1556
+    20221117,
+    1610
    ],
    "deps": [
     "bind-key",
     "key-chord"
    ],
-   "commit": "e0d0fd78a77cb7da880ba4c3063fa8a28ec6dae9",
-   "sha256": "0rjh8hk1k8ryhcyzg198ypcdx70ymq27wfqrhqhrkxldhdzvipwp"
+   "commit": "9090080b15486c3e337be254226efe7e5fde4c99",
+   "sha256": "03mqkv63ink2ysy86slac8ac7a5g22bi0pwvxyncfasm43q9d0sx"
   },
   "stable": {
    "version": [
     2,
     4,
-    1
+    4
    ],
    "deps": [
     "bind-key",
     "key-chord"
    ],
-   "commit": "caa92f1d64fc25480551757d854b4b49981dfa6b",
-   "sha256": "088kl3bml0rs5bkfymgzr15ram9qvy66h1kaisrbkynh0yxvf8g9"
+   "commit": "9090080b15486c3e337be254226efe7e5fde4c99",
+   "sha256": "03mqkv63ink2ysy86slac8ac7a5g22bi0pwvxyncfasm43q9d0sx"
   }
  },
  {
@@ -7404,20 +7410,20 @@
   "repo": "jwiegley/use-package",
   "unstable": {
    "version": [
-    20220910,
-    2157
+    20221117,
+    1610
    ],
-   "commit": "9a45a8004a9e520e0e822b960ca9d70c2528181e",
-   "sha256": "1bb1c67d8mwy2hcyzadn2ffski2m5hz95wai0754hf978j637mp0"
+   "commit": "9090080b15486c3e337be254226efe7e5fde4c99",
+   "sha256": "03mqkv63ink2ysy86slac8ac7a5g22bi0pwvxyncfasm43q9d0sx"
   },
   "stable": {
    "version": [
     2,
     4,
-    1
+    4
    ],
-   "commit": "caa92f1d64fc25480551757d854b4b49981dfa6b",
-   "sha256": "088kl3bml0rs5bkfymgzr15ram9qvy66h1kaisrbkynh0yxvf8g9"
+   "commit": "9090080b15486c3e337be254226efe7e5fde4c99",
+   "sha256": "03mqkv63ink2ysy86slac8ac7a5g22bi0pwvxyncfasm43q9d0sx"
   }
  },
  {
@@ -7906,6 +7912,29 @@
   }
  },
  {
+  "ename": "bluesound",
+  "commit": "e28ec7b3785728171cb6fec7874a0bf6925b87bf",
+  "sha256": "04kj86i28l4ri4d3pimm633jic3r6w006ydy95lha9xsm62sd74r",
+  "fetcher": "sourcehut",
+  "repo": "rwv/bluesound-el",
+  "unstable": {
+   "version": [
+    20221104,
+    656
+   ],
+   "commit": "416b9825db5feea326388ca1bec2614046522006",
+   "sha256": "1a2zwc185nzj3qa59xlxvnlngsk2y1kxsqr6m4j20p5l8vd1wgcp"
+  },
+  "stable": {
+   "version": [
+    0,
+    2
+   ],
+   "commit": "416b9825db5feea326388ca1bec2614046522006",
+   "sha256": "1a2zwc185nzj3qa59xlxvnlngsk2y1kxsqr6m4j20p5l8vd1wgcp"
+  }
+ },
+ {
   "ename": "bm",
   "commit": "cae2ac3513e371a256be0f1a7468e38e686c2487",
   "sha256": "07459r7m12j2nsb7qrb26bx32alylhaaq3z448n42lz02a8dc63g",
@@ -8098,8 +8127,8 @@
   "repo": "boogie-org/boogie-friends",
   "unstable": {
    "version": [
-    20220922,
-    1942
+    20221115,
+    658
    ],
    "deps": [
     "cl-lib",
@@ -8108,8 +8137,8 @@
     "flycheck",
     "yasnippet"
    ],
-   "commit": "8d1bafab5dffc3c63324b5306503943e67497ddc",
-   "sha256": "1w7j63066c5mv6l1ngahcbif9ws431k9vy53p1fw2jzaa1sd0cv8"
+   "commit": "5b32e4859823ed7f5e70fd5d2eac5d813a8e3e51",
+   "sha256": "1gihjkxnq4mqlcgjhmfbf4i7v7zyqy01ls2ac10pa5k1db2g1nbc"
   }
  },
  {
@@ -8182,16 +8211,16 @@
   "repo": "jyp/boon",
   "unstable": {
    "version": [
-    20220918,
-    1946
+    20221106,
+    2025
    ],
    "deps": [
     "dash",
     "expand-region",
     "multiple-cursors"
    ],
-   "commit": "ee3d12fa3a811f13806b005bb3b1395e5f41dba9",
-   "sha256": "09ajsnp4hj2a467py832p80cm5mdafj1x47vh2cvm4gh5zqdmnwa"
+   "commit": "106f842df7f68cbffbb2bb63f7f99f34fe7d3edf",
+   "sha256": "0pw2ig0hn9m62yv6j7snllzb9aanyjjfx3xzaif4bl0ili2zd78c"
   },
   "stable": {
    "version": [
@@ -8215,15 +8244,15 @@
   "repo": "emacscollective/borg",
   "unstable": {
    "version": [
-    20220812,
-    1139
+    20221106,
+    2238
    ],
    "deps": [
     "epkg",
     "magit"
    ],
-   "commit": "d3cdc176ee72e3e3feac6dd6b527cff5dcf788eb",
-   "sha256": "0nw1vnw60h366a4i97gp2vjly2n4bvj5y645f6wqaabqxbglz463"
+   "commit": "032ddf33799dd0a2c89d1a3e9e04dc3cdc13320c",
+   "sha256": "19y7sc7d9qb926b5jv2l2jwhsgl3wm6php30w2r9jh5gspmh0ck7"
   },
   "stable": {
    "version": [
@@ -8714,14 +8743,14 @@
   "repo": "astoff/buffer-env",
   "unstable": {
    "version": [
-    20220811,
-    1159
+    20221110,
+    2137
    ],
    "deps": [
     "compat"
    ],
-   "commit": "9ccfbd07c4b2e2af38fe315ce7e3d905298d2fdd",
-   "sha256": "1hsf5r96pd3j4s90xym3dkrsnxqg8pwlmrj93p0xvdr493gms2a4"
+   "commit": "1817692a5a7751601e8a96d905dc94bfa6b1d485",
+   "sha256": "0pbp152275k50zgp6zhca9yq4hkrssdf9jbqr7zjb2qmq8fq9pxd"
   }
  },
  {
@@ -8847,14 +8876,25 @@
   "repo": "swflint/buffer-sets",
   "unstable": {
    "version": [
-    20220914,
-    2115
+    20221102,
+    1813
+   ],
+   "deps": [
+    "cl-lib"
+   ],
+   "commit": "e14026496655562ebd191ba25fad59ca8948c9bb",
+   "sha256": "0ljbb3zbm8kwasd4jxnq2mmw8ad7p6zxdpz8jz4wmjpskgya7nbn"
+  },
+  "stable": {
+   "version": [
+    3,
+    5
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "c6c09baf3ca39260b2f4c6aaf2f3d967f688760d",
-   "sha256": "13y6qp43jbwlafdf72z8k7nbsij9qwyj62w91qczq02x7v9jrbzr"
+   "commit": "e14026496655562ebd191ba25fad59ca8948c9bb",
+   "sha256": "0ljbb3zbm8kwasd4jxnq2mmw8ad7p6zxdpz8jz4wmjpskgya7nbn"
   }
  },
  {
@@ -8943,8 +8983,8 @@
   "repo": "alphapapa/bufler.el",
   "unstable": {
    "version": [
-    20220726,
-    1658
+    20221031,
+    1852
    ],
    "deps": [
     "dash",
@@ -8953,8 +8993,8 @@
     "map",
     "pretty-hydra"
    ],
-   "commit": "31173ff3ff4f7c01c3d9deea7b13bb22e33cc8dd",
-   "sha256": "1595h0gdxqhd72xw8zk0pb99191ja1vw10q5yz8137gbnb1im174"
+   "commit": "bf5fdccbae6bb6dc51e31dc282805e32bb41e412",
+   "sha256": "142ql507mb7w6l3mr1y4914znnikab5vh8sm2q35pfvka383k1r7"
   },
   "stable": {
    "version": [
@@ -9169,14 +9209,14 @@
   "repo": "alphapapa/burly.el",
   "unstable": {
    "version": [
-    20220825,
-    2211
+    20221024,
+    2019
    ],
    "deps": [
     "map"
    ],
-   "commit": "4a877f80252edac8dc7e613b1c5b3aa4e9b9137f",
-   "sha256": "06abnnn2bwzvlmp0cgiyj5cmi6bkcc5scllvxc343nwlqnxp4anh"
+   "commit": "f570fa87ee72a451f535cfb038d81798a01a7e20",
+   "sha256": "0ajlpgx4dpf82f3mg6292p3jfn01z6xrflk5pk4vqw6bjscnzgay"
   },
   "stable": {
    "version": [
@@ -9321,19 +9361,19 @@
   "repo": "jorgenschaefer/emacs-buttercup",
   "unstable": {
    "version": [
-    20220814,
-    2150
+    20221026,
+    2006
    ],
-   "commit": "e2b77ac49cc61c32566f22b84ba304a5703ff7b3",
-   "sha256": "1xymh8nywhb00ylggjfmad1vxqrzw59mzxhd0jhy5c9z8qsvms44"
+   "commit": "eaa4b3ccd115a2bb25be98dc637950645d3adbae",
+   "sha256": "1dc8m5w26gi698d31xvh1q8mwf4a3wa1xrnyhqqxrmfr8b71clpk"
   },
   "stable": {
    "version": [
     1,
-    26
+    28
    ],
-   "commit": "9022546ebf2f492e9f3ce92e02ed893bcecab027",
-   "sha256": "1zr9lczdr9dfh99n079d5advxm9p32a8f984dx14f3jn5mx750b1"
+   "commit": "eaa4b3ccd115a2bb25be98dc637950645d3adbae",
+   "sha256": "1dc8m5w26gi698d31xvh1q8mwf4a3wa1xrnyhqqxrmfr8b71clpk"
   }
  },
  {
@@ -9879,16 +9919,16 @@
   "repo": "beacoder/call-graph",
   "unstable": {
    "version": [
-    20220528,
-    27
+    20221103,
+    240
    ],
    "deps": [
     "hierarchy",
     "ivy",
     "tree-mode"
    ],
-   "commit": "fec9f746de753b85d75ff2a595b39014a8f44dbb",
-   "sha256": "0f8sl7am5rmsxi9b39x9d7m7cybf6ky5iigwx5p4hzjjaji9j7gd"
+   "commit": "4a8206e0b8b8ffa073d35d132e0654068a3d425f",
+   "sha256": "0gb4m3jz7sm3iy2ipa1ijvkxbp1hwd3ka6p5i7jrhbs29hf1zamv"
   },
   "stable": {
    "version": [
@@ -10017,19 +10057,19 @@
   "repo": "minad/cape",
   "unstable": {
    "version": [
-    20220909,
-    1345
+    20221109,
+    839
    ],
-   "commit": "5cd6b861b7fb88c7a0a3d5062b36631b561fea8c",
-   "sha256": "09lzzhx438s9wlpmiyyx9bbb2hlscf415f080bkz6gyw4nsdh0g4"
+   "commit": "4b32036a6c667b445dcc001fd70a01eee8baa924",
+   "sha256": "0kcnyzksj8yglk67g1130wxzscgipm7cz2hs8mvdqpcbz4i38jny"
   },
   "stable": {
    "version": [
     0,
-    9
+    10
    ],
-   "commit": "5cd6b861b7fb88c7a0a3d5062b36631b561fea8c",
-   "sha256": "09lzzhx438s9wlpmiyyx9bbb2hlscf415f080bkz6gyw4nsdh0g4"
+   "commit": "4b32036a6c667b445dcc001fd70a01eee8baa924",
+   "sha256": "0kcnyzksj8yglk67g1130wxzscgipm7cz2hs8mvdqpcbz4i38jny"
   }
  },
  {
@@ -10094,8 +10134,8 @@
   "repo": "Titan-C/cardano.el",
   "unstable": {
    "version": [
-    20220929,
-    1312
+    20221002,
+    1553
    ],
    "deps": [
     "bech32",
@@ -10109,8 +10149,8 @@
     "yaml-mode",
     "yasnippet"
    ],
-   "commit": "833a33780ea4fd95e99495b05fc19abac0412e5c",
-   "sha256": "1rzab8kqmrgsp3firl0v7bcbasv499gpj7qrm2g65lp1vygqh8m9"
+   "commit": "5654cd04cf0ab482a7f92a206abf43762ef653f3",
+   "sha256": "1pw73csxkfr71piq5mjy54njd1s3vk5j9a1bfwvna33kqwcqjcic"
   }
  },
  {
@@ -10143,14 +10183,14 @@
   "repo": "kwrooijen/cargo.el",
   "unstable": {
    "version": [
-    20220717,
-    1129
+    20221025,
+    810
    ],
    "deps": [
     "markdown-mode"
    ],
-   "commit": "7bd3682456bcd666ae550224487e63c0106a7cf9",
-   "sha256": "17fplf8cr9lgx59fz9f0zm65sz8a5bdjzbkf7x6wbzpp1clnc4m9"
+   "commit": "d2720c8dc7ac3b18ce112a886d3b8696797d01cb",
+   "sha256": "1qsva3ba3r883c8kr8ffsnzrd8fqf02yx4dxml3qzwhi74s1n5wq"
   },
   "stable": {
    "version": [
@@ -10260,48 +10300,6 @@
   }
  },
  {
-  "ename": "cask",
-  "commit": "69e996727e40fa28cb5356f664ffdc3d5aca21b2",
-  "sha256": "0c1fxikcba3xcd3xpspnjhaahyl5n3r91c2b40xvadyjarkhxhgc",
-  "fetcher": "github",
-  "repo": "cask/cask",
-  "unstable": {
-   "version": [
-    20220715,
-    1113
-   ],
-   "deps": [
-    "ansi",
-    "cl-lib",
-    "epl",
-    "f",
-    "package-build",
-    "s",
-    "shut-up"
-   ],
-   "commit": "026de18b8dc992d3a5ba0510e7e94e4e6c557006",
-   "sha256": "0a2bpmg1z9vffhbxrwa6h6061r03db0yjpawlx154lmd0x08gy54"
-  },
-  "stable": {
-   "version": [
-    0,
-    8,
-    8
-   ],
-   "deps": [
-    "ansi",
-    "cl-lib",
-    "epl",
-    "f",
-    "package-build",
-    "s",
-    "shut-up"
-   ],
-   "commit": "9347a4d4459722f0863167bd21001477d76f3dc8",
-   "sha256": "1i948z6q07mfibs1v7k1cl8hs299m5vlm2brlpz9hm0bkfmmwm2f"
-  }
- },
- {
   "ename": "cask-mode",
   "commit": "2d8bc1afaf69b4f29ba1bb0243c25574bc1197cc",
   "sha256": "0fs9zyihipr3klnh3w22h43qz0wnxplm62x4kx7pm1chq9bc9kz6",
@@ -10430,11 +10428,11 @@
   "repo": "catppuccin/emacs",
   "unstable": {
    "version": [
-    20220515,
-    435
+    20221023,
+    2331
    ],
-   "commit": "9dcbe770d38f6ea417dc614caa4ab197bfa896a7",
-   "sha256": "02cwwa6c5gqqivm64qr65455bx9l3j4k3w8y5d39g27lcbawl2vp"
+   "commit": "b4be30de73aa295ab56a20c21dff07fba3dec05e",
+   "sha256": "15wdl02r6yjkqmzh5xg60hgcdvwr32vv6sw2mzjyh6g1wi6x134q"
   }
  },
  {
@@ -10803,11 +10801,11 @@
   "repo": "nbarrientos/cern-ldap.el",
   "unstable": {
    "version": [
-    20220925,
-    1550
+    20221014,
+    1151
    ],
-   "commit": "4851e952318e11ea9693efe2e460983d5c6dffcd",
-   "sha256": "0axaynilvccj0bwv5xa6zbk5m1vvxgy1avngvpdqqxp8hwm4m1rj"
+   "commit": "0d188a997f24caaa3da748ad6ca16eb55cecff27",
+   "sha256": "0n42q82b9cayc76bhd29ali059gwlzk26i5m58ax6ibvd1pzwi2n"
   },
   "stable": {
    "version": [
@@ -10868,17 +10866,17 @@
  },
  {
   "ename": "cfengine-code-style",
-  "commit": "c737839aeda583e61257ad40157e24df7f918b0f",
-  "sha256": "1ny8xvdnz740qmw9m81xnwd0gh0a516arpvl3nfimglaai5bfc9a",
+  "commit": "6a0ae196cac93c467cba4221efa8785d44049cb8",
+  "sha256": "0f155i1593dvsi4xqww3cxz21hkz0i484k7cczqycp209b69rlrg",
   "fetcher": "github",
-  "repo": "cfengine/core",
+  "repo": "cfengine/cfengine-code-style",
   "unstable": {
    "version": [
-    20171115,
-    2108
+    20171111,
+    1027
    ],
-   "commit": "10e43677e99a29d8072bb120e7cd7b9d03b1218f",
-   "sha256": "0mncl7wb2vi620snk4z01k0wdbvvd5b2nw9nlnfr9a4hkn3fg44r"
+   "commit": "92a25872a6d1de00c5bfc2b9455ccb0082bf6569",
+   "sha256": "19nv6czxbl6kpcx54bq57xr2df2dyjwjg11vwal19hy6w7yd1av1"
   },
   "stable": {
    "version": [
@@ -11040,10 +11038,10 @@
    "version": [
     1,
     3,
-    7
+    9
    ],
-   "commit": "2b930905c23f1cd2fcf3ecad558fde5b708ea1a8",
-   "sha256": "0rjaj1y2nax40j41b8wz32lx0znhr1vvx6x9cf477c8rd9sbfxhj"
+   "commit": "a8a369f77d798bf65f65271256980a498fa43564",
+   "sha256": "0q6gac1ykkc332z4x88d1wn2mvkz92lwjy36dji93hvl9y3228af"
   }
  },
  {
@@ -11711,8 +11709,8 @@
   "repo": "clojure-emacs/cider",
   "unstable": {
    "version": [
-    20220930,
-    1032
+    20221109,
+    2212
    ],
    "deps": [
     "clojure-mode",
@@ -11722,8 +11720,8 @@
     "sesman",
     "spinner"
    ],
-   "commit": "e75706f53bd0470bcec0d1e3a4cef6a043a20fc7",
-   "sha256": "09k527ah8vh02mvzy28y5hwr6dvzqgdjxbjwv9q4fc1bvmfmnl0l"
+   "commit": "5064287ba71c4c8ede169b0f561d707f4a365c55",
+   "sha256": "01r53aclh5wf70l6kpzmnx64jm6ixx6x9c390hbdvjbif6mp8xbv"
   },
   "stable": {
    "version": [
@@ -11943,14 +11941,14 @@
   "repo": "emacs-circe/circe",
   "unstable": {
    "version": [
-    20220526,
-    1206
+    20221022,
+    2222
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "41cdc116b09818d33f5cb0fc1d72c025c23aa2f1",
-   "sha256": "0hmclqaagnqvyvxb93vi1qdyvqm53hsyjyv1b4zh79hwzvn6s8g3"
+   "commit": "d0bd8113c23affe4f7bd9e19c498cee99e436f0a",
+   "sha256": "11hy7izabnngmbly279lhylznrjw1fmpkxrxbrr6lx53ybck0knr"
   },
   "stable": {
    "version": [
@@ -12021,16 +12019,16 @@
   "repo": "emacs-citar/citar",
   "unstable": {
    "version": [
-    20220925,
-    2234
+    20221030,
+    1200
    ],
    "deps": [
     "citeproc",
     "org",
     "parsebib"
    ],
-   "commit": "219a69c519fa77ba609b05ac5dbcb9ae357d383b",
-   "sha256": "02ay11a5nn7j1f3f3zjrsrp6j1hsyl1k58v8cx4mi5m73wbchc98"
+   "commit": "c37a4827d019eac76a297ebd2d6af04ffce42afb",
+   "sha256": "1zlw1na4i4gq9b1zdh4pzyvwrn2dzrjzx1a0541211i5c1h79xd9"
   },
   "stable": {
    "version": [
@@ -12116,8 +12114,8 @@
   "repo": "andras-simonyi/citeproc-el",
   "unstable": {
    "version": [
-    20220921,
-    1924
+    20221105,
+    1054
    ],
    "deps": [
     "dash",
@@ -12128,8 +12126,8 @@
     "s",
     "string-inflection"
    ],
-   "commit": "678db833e0128fe399ad4c99794186b46f33a68a",
-   "sha256": "1sig8rfbx815nnd7mc7lk17fb82ng3gqiahmzwcr9rj0i7a8wk45"
+   "commit": "69536c8776dea383951538fd197333bee766d7c7",
+   "sha256": "1x95hr3w8ck3dhhnpj4yfrqfrh3mmfld8lqaqpijwmgjgf2gfivh"
   },
   "stable": {
    "version": [
@@ -12196,20 +12194,20 @@
   "repo": "universal-ctags/citre",
   "unstable": {
    "version": [
-    20220523,
-    745
+    20221111,
+    1230
    ],
-   "commit": "1c0ca637c7993559a0175e3001941457b8c71211",
-   "sha256": "0ybv61akxv7nrxpc5zfjbbxrv8xs38sgrbsbslx2mqzcv9915q2i"
+   "commit": "244501472ddf31c91cc374231849a05c86dfb1fb",
+   "sha256": "1051lqy1wbcmzdwmyqx0320mqrq64wrafk70dymyki2q9y291782"
   },
   "stable": {
    "version": [
     0,
-    2,
+    3,
     1
    ],
-   "commit": "1c0ca637c7993559a0175e3001941457b8c71211",
-   "sha256": "0ybv61akxv7nrxpc5zfjbbxrv8xs38sgrbsbslx2mqzcv9915q2i"
+   "commit": "050bb7cafc2a89379406f363f7120ac56177ede7",
+   "sha256": "168z6yidh2nxkmdlx9cqdzzb7achxdipnbk5pj9787m9bp1sdpkd"
   }
  },
  {
@@ -12266,11 +12264,11 @@
   "repo": "pkal/clang-capf",
   "unstable": {
    "version": [
-    20220122,
-    1219
+    20221030,
+    1830
    ],
-   "commit": "b1765719288a138e125cc5ce624ef561c80015bf",
-   "sha256": "1v8h916rqylz98v1xi1bqdcakgjjl3l1f51xcvyd41wn1kfiaxnf"
+   "commit": "5e4dfba90ce86bbc7ee61805edfca04fff93c291",
+   "sha256": "1769cix8j147knn0xpngzg0zz372nn47v7mkw9qnrn1r789ggdcp"
   },
   "stable": {
    "version": [
@@ -12574,14 +12572,14 @@
   "repo": "jpe90/emacs-clj-deps-new",
   "unstable": {
    "version": [
-    20220221,
-    2235
+    20221007,
+    1014
    ],
    "deps": [
     "transient"
    ],
-   "commit": "e1b7f00783ee7c494a773910c77b8ccc2bd68461",
-   "sha256": "14r8sqjlrw04ml5116fq7sz2s1icbqva5admcw17f5az81lnzslj"
+   "commit": "e1cf65eb040f5a2e9a3eca970044ba71cc53fb27",
+   "sha256": "03db3l5klc20wgdaj44scgjfi2mha85bip07ls6pwbi039ls7rvx"
   }
  },
  {
@@ -12592,8 +12590,8 @@
   "repo": "clojure-emacs/clj-refactor.el",
   "unstable": {
    "version": [
-    20220821,
-    1956
+    20221023,
+    1644
    ],
    "deps": [
     "cider",
@@ -12606,14 +12604,14 @@
     "seq",
     "yasnippet"
    ],
-   "commit": "cd97626fd952f824564808a2f21b40bfcb59ff0f",
-   "sha256": "1bvy3s953qlca9k8pvd1npl5nbpsbzbp8y41k3h6w588hjdwarsi"
+   "commit": "8300d5cab861668f313fbbbb3e2926e3e5130e86",
+   "sha256": "15ya7hp5d2kwh1ig55d75vlghm1vsq99jh44i8q8v25vfmzjp7gp"
   },
   "stable": {
    "version": [
     3,
-    5,
-    6
+    6,
+    0
    ],
    "deps": [
     "cider",
@@ -12626,8 +12624,8 @@
     "seq",
     "yasnippet"
    ],
-   "commit": "cd97626fd952f824564808a2f21b40bfcb59ff0f",
-   "sha256": "1bvy3s953qlca9k8pvd1npl5nbpsbzbp8y41k3h6w588hjdwarsi"
+   "commit": "8300d5cab861668f313fbbbb3e2926e3e5130e86",
+   "sha256": "15ya7hp5d2kwh1ig55d75vlghm1vsq99jh44i8q8v25vfmzjp7gp"
   }
  },
  {
@@ -12732,6 +12730,21 @@
   }
  },
  {
+  "ename": "cloak-mode",
+  "commit": "c9b3f81e06724e43563c87ef46c210ab71b08e80",
+  "sha256": "1k2lpc77ln4d7cm43d6v4xswwy1b28izc6566s68cy11k0g6qfd3",
+  "fetcher": "github",
+  "repo": "erickgnavar/cloak-mode",
+  "unstable": {
+   "version": [
+    20221031,
+    431
+   ],
+   "commit": "e182ec462f486bb84d66780c9d27051e6921f9c7",
+   "sha256": "19xwhiiyjmlcwamzg562x2gd5hj7csnmdzc969d137ira03v40qa"
+  }
+ },
+ {
   "ename": "cloc",
   "commit": "0dd7a641efd13aa0bd7509d8a5b0a28e3a0493c8",
   "sha256": "1ny5wixa9x4fq5jvhs01jmyvwkfvwwi9aamrcqsl42s9sx6ygz7a",
@@ -13057,15 +13070,15 @@
   "repo": "magit/closql",
   "unstable": {
    "version": [
-    20220821,
-    1814
+    20221017,
+    952
    ],
    "deps": [
     "compat",
     "emacsql-sqlite"
    ],
-   "commit": "46b3020acf6655fd8abb4ef60e090629ee33e8c3",
-   "sha256": "1zgn8mg9l7nymc72bii2677lwin63x15avssz47w04j0g3ii6dwz"
+   "commit": "463b0f4d4c3e66acd5d30c6572cc45eaecc25633",
+   "sha256": "0kzi6h41iyz2rhz64f671p7swjnqrg9swlmfm7hr03z3hsghpz3w"
   },
   "stable": {
    "version": [
@@ -13247,11 +13260,11 @@
   "stable": {
    "version": [
     3,
-    24,
-    2
+    25,
+    0
    ],
-   "commit": "31f835410efeea50acd43512eb9e5646a26ea177",
-   "sha256": "0lm5ywvdhidxk1dncp8rinr89l8kfxgypng2a6x2i7c6s8b1x3z9"
+   "commit": "13e46189c7f3b39a26e9ca689bc029b7061d26a7",
+   "sha256": "0h6fvq4xbb717p0n67afhiwih1zgjphl0wcl3y1wg8bg2cv8zvll"
   }
  },
  {
@@ -13319,11 +13332,11 @@
   "repo": "tumashu/cnfonts",
   "unstable": {
    "version": [
-    20220906,
-    2225
+    20221019,
+    159
    ],
-   "commit": "ed68587a8961c7db0e8fcf7d2db5fc69295c5f37",
-   "sha256": "0x8s955clsm4f6bc77jrw1d9vz3l3b6drcii6ykb031qrjsxbl4f"
+   "commit": "102f808e500715e0cfb80905110d1f42aa7b6069",
+   "sha256": "1vim429ikgsh7zvh521af39xgmm6qb3fc3pwb51458fj010gf8pj"
   },
   "stable": {
    "version": [
@@ -13436,8 +13449,8 @@
   "repo": "wandersoncferreira/code-review",
   "unstable": {
    "version": [
-    20220629,
-    1215
+    20221111,
+    1212
    ],
    "deps": [
     "a",
@@ -13451,8 +13464,8 @@
     "transient",
     "uuidgen"
    ],
-   "commit": "95b36ec8e7935f96b2f3c6c9086d49cf4a72cbff",
-   "sha256": "1mplrc84a5qd6cqv0kcqm13zdmvn71g5pmilhjdagn36dsb1vn16"
+   "commit": "182c1cc6ebced5c161aa37d01142dfab7eb8e7b3",
+   "sha256": "0yi6i1ayfax5c1qmxx9xx318wg2ajp98k6r2rb8fwr8183flc993"
   },
   "stable": {
    "version": [
@@ -13545,11 +13558,11 @@
   "repo": "patrickt/codespaces.el",
   "unstable": {
    "version": [
-    20220901,
-    1802
+    20221018,
+    1831
    ],
-   "commit": "33705cd5e9628f1582baeac371b8bb5a1cc0250e",
-   "sha256": "01hfbvm31a2ncfsi8d661jsgj8lvyzz78xlpxxfn877lb5i0j3l5"
+   "commit": "8e0843684ea685c2b25b8f5601cf02553bab4b08",
+   "sha256": "1w3ay58aq3hgibmigb6frr7w1q660fvzhapr7lzgfh8w2z4lq7l9"
   },
   "stable": {
    "version": [
@@ -14262,11 +14275,11 @@
   "repo": "company-mode/company-mode",
   "unstable": {
    "version": [
-    20220825,
-    1044
+    20221007,
+    2145
    ],
-   "commit": "35408c0ac3a730908fbce0810f8d159eb353c1d5",
-   "sha256": "0chh9zbb7hj64lx2sb7bid2wbyk4qaadkzghslfqybxmsdsizyik"
+   "commit": "48fea7a905b3bcc6d97609316beced666da89b1f",
+   "sha256": "17w9irn5aaxadsm5smz5cm1dxy0xb1hh0dnhwqclq3y5llrb21lx"
   },
   "stable": {
    "version": [
@@ -14712,16 +14725,16 @@
   "repo": "jcs-elpa/company-emojify",
   "unstable": {
    "version": [
-    20220727,
-    1740
+    20221006,
+    557
    ],
    "deps": [
     "company",
     "emojify",
     "ht"
    ],
-   "commit": "7731c85a03713fdd09908db948942f1444506dc7",
-   "sha256": "1m2yg7ihfd5ww02pympq2xky5kv8g6cxl2nzinggwwa4nc7da10f"
+   "commit": "6856bdb187bf6f8c31965058e4408827f6ae178f",
+   "sha256": "0751hs1gdmn5f2nv607lh7pn01xnpczkkvivqn1nl5n2l45s0i8i"
   },
   "stable": {
    "version": [
@@ -14816,16 +14829,16 @@
   "repo": "jcs-elpa/company-fuzzy",
   "unstable": {
    "version": [
-    20220721,
-    1609
+    20221025,
+    1115
    ],
    "deps": [
     "company",
     "ht",
     "s"
    ],
-   "commit": "91b76fc475f7eb17a0ae8b94a42625dfb546cc01",
-   "sha256": "1yabv0g07xpj1kfm95ygxa21zgq8r0lq0iyavdv9s56q1aiwpkpq"
+   "commit": "3c8c960b4e5341f6806cf43aa794c0798051222d",
+   "sha256": "04gfcsj9fr989xgm2gagb61iiq9jgx5l8xxixs4ps524a7igl21v"
   },
   "stable": {
    "version": [
@@ -15380,15 +15393,15 @@
   "repo": "emacs-php/phpactor.el",
   "unstable": {
    "version": [
-    20200121,
-    1218
+    20221023,
+    608
    ],
    "deps": [
     "company",
     "phpactor"
    ],
-   "commit": "5ccf65d59e6bbc9cd958dd5988e8fd2143b0d57f",
-   "sha256": "0k4dzn4a5y4kq7yz3ifvzziv90rp5si380c5ypgxr5iwb1b8a0l3"
+   "commit": "c652439afd052910d322a8fb9249e09d278a3f37",
+   "sha256": "06wl6g2nv4k6x912wjbnph2f5c5b1qbn1hjaylqzqj5rjd857cm3"
   },
   "stable": {
    "version": [
@@ -15488,15 +15501,15 @@
   "repo": "tumashu/company-posframe",
   "unstable": {
    "version": [
-    20220906,
-    933
+    20221118,
+    824
    ],
    "deps": [
     "company",
     "posframe"
    ],
-   "commit": "b67ec1fa83229187fdf1d3dc5576f81a37a2b369",
-   "sha256": "0ncvrj57w1wa4q6rjkzsd46wjixnqxmcfbm0vi78fcq8avqjry7y"
+   "commit": "ab58972c2cebc5ecf68c4cdd140c3aed2c68f42b",
+   "sha256": "0nqcqs3ngxmb946mg11b2im9sycwdykghzbv3sp4aans8q62ig6k"
   },
   "stable": {
    "version": [
@@ -15520,28 +15533,27 @@
   "repo": "radian-software/prescient.el",
   "unstable": {
    "version": [
-    20220911,
-    138
+    20221112,
+    344
    ],
    "deps": [
     "company",
     "prescient"
    ],
-   "commit": "928cc72ec3dca8e9a60d356b9b8ce896ec5ff621",
-   "sha256": "1hyn000z6xy5cb2k7h8xairxvhlhk2pcc1rqabwg76jlh8qbr24w"
+   "commit": "c28bca2213efd2666b0328c29f2c26e9b603cc9a",
+   "sha256": "0156sbs4b535mcwm44qjr8lx48svmjvdqh8c8hr6d0l709f27yq3"
   },
   "stable": {
    "version": [
-    5,
-    2,
-    1
+    6,
+    0
    ],
    "deps": [
     "company",
     "prescient"
    ],
-   "commit": "07d61b7779c4cca3009390383e7f98a55de7e17e",
-   "sha256": "0z97d7nnl1hgxj4fsvgw3hb3j4dc9wkdq2vq3dw607f29lwqiadk"
+   "commit": "c28bca2213efd2666b0328c29f2c26e9b603cc9a",
+   "sha256": "0156sbs4b535mcwm44qjr8lx48svmjvdqh8c8hr6d0l709f27yq3"
   }
  },
  {
@@ -15741,16 +15753,16 @@
   "repo": "Alexander-Miller/company-shell",
   "unstable": {
    "version": [
-    20220822,
-    2014
+    20221103,
+    2107
    ],
    "deps": [
     "cl-lib",
     "company",
     "dash"
    ],
-   "commit": "024c2172a0cc8f1b35f173e42fff5f2d938920fc",
-   "sha256": "06nfq2va9vwf5wiqdfrjziv3hjkj36w8p91bicfb92ggv1afg9ra"
+   "commit": "e55b9000192f82e96fdc0f7ca1e8a868e67762a8",
+   "sha256": "113h10n3yb3gb4qpmg1ji7fmzy912qcysq4c2v80gx4qqbn1qq5h"
   },
   "stable": {
    "version": [
@@ -16113,10 +16125,10 @@
  },
  {
   "ename": "compdef",
-  "commit": "b95fa8694bd49595da9fb56454e6539e76feff97",
-  "sha256": "1ndwkmmd4ajpg3g78b761dhhkjzwp9qan10r568rp2knbf6xnaw4",
+  "commit": "806fbdac545ee9dee54b1686b3c00deec60b8ef2",
+  "sha256": "06sgvx3b3bs6ny12rny3l8rphw9bxifvmbcmlc96wff54fbzcjmx",
   "fetcher": "github",
-  "repo": "wurosh/compdef",
+  "repo": "cyruseuros/compdef",
   "unstable": {
    "version": [
     20200304,
@@ -16164,26 +16176,26 @@
   "repo": "mkcms/compiler-explorer.el",
   "unstable": {
    "version": [
-    20220807,
-    1136
+    20221108,
+    825
    ],
    "deps": [
     "request"
    ],
-   "commit": "04da0fd822d7e9eca82c993c99f6318df824b652",
-   "sha256": "0f9lmwjh644cnifk8wmsv36rwi3zvc8x1g9sm0rqh0mq4fxbgcka"
+   "commit": "36a2cbf0863d4563096546c38ff26db3d7a3e18c",
+   "sha256": "0529mwqp5p0lca010dxvjs1ka9fjbywpl0yii71wqc6rbc1kblvi"
   },
   "stable": {
    "version": [
     0,
-    1,
+    2,
     0
    ],
    "deps": [
     "request"
    ],
-   "commit": "0195db82b767e9defa36a2e298e6ac4aa4b47e69",
-   "sha256": "1ky63d2szw4sfgjd8xyfxswg2x7b8vnqnly6h1yisxc17994vl4v"
+   "commit": "36a2cbf0863d4563096546c38ff26db3d7a3e18c",
+   "sha256": "0529mwqp5p0lca010dxvjs1ka9fjbywpl0yii71wqc6rbc1kblvi"
   }
  },
  {
@@ -16218,8 +16230,8 @@
   "repo": "emacs-php/composer.el",
   "unstable": {
    "version": [
-    20200616,
-    1717
+    20221111,
+    1808
    ],
    "deps": [
     "f",
@@ -16227,8 +16239,8 @@
     "s",
     "seq"
    ],
-   "commit": "7c7f89df226cac69664d7eca5e913b544dc475c5",
-   "sha256": "0iyajdlp95mii462xqy6fqbv5q7vai3ya4jip8433zwwr2pkdbsr"
+   "commit": "6a6e3eb46b4ae380f9f56362d6525d6725fc1b0a",
+   "sha256": "0qf73cgy7jmchk8hvabg7v07wq0scfdm06vsbf1m2ds5zq8lcbnb"
   },
   "stable": {
    "version": [
@@ -16302,8 +16314,8 @@
   "repo": "necaris/conda.el",
   "unstable": {
    "version": [
-    20220830,
-    1547
+    20221107,
+    1742
    ],
    "deps": [
     "dash",
@@ -16311,8 +16323,8 @@
     "pythonic",
     "s"
    ],
-   "commit": "cb9544e8f7d6c642b7fd8c1ecc2cf4fc7370c352",
-   "sha256": "0cix7xlpz1jq5xpih5v706b2c4mf2769bpkix8fr9pxyc6kf8ra4"
+   "commit": "2af92fead0e24b9cae7d0c5b446177694fc8a77e",
+   "sha256": "1khb36k2pqd9ych73lxwbg6r7r1h7krcybb6gx0m8h6lj1wzmkrz"
   },
   "stable": {
    "version": [
@@ -16466,25 +16478,25 @@
   "repo": "minad/consult",
   "unstable": {
    "version": [
-    20220930,
-    2231
+    20221117,
+    807
    ],
    "deps": [
     "compat"
    ],
-   "commit": "af11b72f628c1ff0b051bb4180bfdb7833d64e40",
-   "sha256": "0fmaxga2xws2xnxfxrqkvjacba1a1y6811s2m6bibfcm8iyldpyk"
+   "commit": "35b57c1996b0887d4940960f1cd7deb7a5f4a2d9",
+   "sha256": "13i6r3910w9i6zaawhxwmkrnck43qxl8j6acrqn6qjd9cyh2j8n5"
   },
   "stable": {
    "version": [
     0,
-    19
+    20
    ],
    "deps": [
     "compat"
    ],
-   "commit": "ef3aad65e41e425fbcc80c4a9a1f6fc4cafff383",
-   "sha256": "1lb7ci1kkgv07c4hcfxisr5zjx68hq15bqf4x3bhmnn13x38j7jw"
+   "commit": "d5b328637255ad6e7da4190ca15f3da040bbb606",
+   "sha256": "1rm53sqfl8hnb1l1fr0s8kxgp03prc2ggywqs5ssiqx87vhyn70w"
   }
  },
  {
@@ -16563,15 +16575,15 @@
   "repo": "karthink/consult-dir",
   "unstable": {
    "version": [
-    20220808,
-    141
+    20221001,
+    1748
    ],
    "deps": [
     "consult",
     "project"
    ],
-   "commit": "8abf62df088de87175e98adf8f6f5fb93515004c",
-   "sha256": "17ha6s84i01199p1bcr89d5fxklz7lg1j9wip1485x43f7gfhddj"
+   "commit": "ed8f0874d26f10f5c5b181ab9f2cf4107df8a0eb",
+   "sha256": "0fkd4ybgh06x1ci4wqpcyvc3vw97v0qc5lzlyj9ycfgdqixym58y"
   },
   "stable": {
    "version": [
@@ -16628,27 +16640,27 @@
   "repo": "minad/consult-flycheck",
   "unstable": {
    "version": [
-    20220403,
-    1810
+    20221109,
+    842
    ],
    "deps": [
     "consult",
     "flycheck"
    ],
-   "commit": "9b40f136c017fadf6239d7602d16bf73b4ad5198",
-   "sha256": "0m30kz2ixxih433kddkyi0sfh7hkwm746417l2f30b273vlfj7ya"
+   "commit": "7a10be316d728d3384fa25574a30857c53fb3655",
+   "sha256": "1xg46wynfabk4pd7z7lk7d8x8rwlqk8dxjg4aki5dv6il1swg4cs"
   },
   "stable": {
    "version": [
     0,
-    8
+    9
    ],
    "deps": [
     "consult",
     "flycheck"
    ],
-   "commit": "92b259e6a8ebe6439f67d3d7ffa44b7e64b76478",
-   "sha256": "15lihfdjdp5ynmq0g8wkq8dhb2jdlvfcqbb2ap588igi5vax3glz"
+   "commit": "7a10be316d728d3384fa25574a30857c53fb3655",
+   "sha256": "1xg46wynfabk4pd7z7lk7d8x8rwlqk8dxjg4aki5dv6il1swg4cs"
   }
  },
  {
@@ -16659,14 +16671,14 @@
   "repo": "OlMon/consult-flyspell",
   "unstable": {
    "version": [
-    20220419,
-    2044
+    20221029,
+    823
    ],
    "deps": [
     "consult"
    ],
-   "commit": "396def174495cc77413e2065ef79658a02490dad",
-   "sha256": "1yvxzkp81yn5k3z1fdkayhb3cn2x92z7wfxcxrqxlasjz9nax5cm"
+   "commit": "d587961ef0d5f9992cedef3b35b87b11d610a375",
+   "sha256": "0sz64k5fb0jpm2cmynfnnsslb1ka86zq1fdvc5ipbysiqnplfjpb"
   }
  },
  {
@@ -16727,29 +16739,29 @@
   "repo": "gagbo/consult-lsp",
   "unstable": {
    "version": [
-    20220507,
-    856
+    20221102,
+    844
    ],
    "deps": [
     "consult",
     "f",
     "lsp-mode"
    ],
-   "commit": "19606a03cf854e1b0930c4526ed92c4560dccdc2",
-   "sha256": "1g4wimqghcph6jrk9y7sqk2pqppx63n4z0557fpgwd57x62rl7zv"
+   "commit": "f6fff70edb3a27726f9c61d3d81849df85f7ccbe",
+   "sha256": "0jfwnzjpbk9bhrr7yifv650cq2i4z3j4dzw5kc34j192d05b90q7"
   },
   "stable": {
    "version": [
     1,
-    0
+    1
    ],
    "deps": [
     "consult",
     "f",
     "lsp-mode"
    ],
-   "commit": "a750a90c265176f0285cb13aded119383836a7b2",
-   "sha256": "14dyclspkf1a34nvjj800ckz1phsizq07ps8k4x0ah6ik0hfhy1w"
+   "commit": "c2ec2c509396780b6180473411764ac93b27d64f",
+   "sha256": "0bnq8jahcyjsai1y4ngdq08y77m1hn78h3p48czr7sg907nr42yh"
   }
  },
  {
@@ -16760,16 +16772,16 @@
   "repo": "mclear-tools/consult-notes",
   "unstable": {
    "version": [
-    20220822,
-    158
+    20221108,
+    1835
    ],
    "deps": [
     "consult",
     "dash",
     "s"
    ],
-   "commit": "fd4091dd3655fdbbbb3fa15cfa96babe17c8b8b5",
-   "sha256": "0q8hg6290gxchqwic4290jnkhg9pd03pd8gj6fxi9n7k72rx418i"
+   "commit": "92f54a5fe345d390a11acf9008661fe73ae28539",
+   "sha256": "0rc5cj6x4basnlvrndnwph0bk6drk07mh8chhrrh4pqlw9nv089f"
   }
  },
  {
@@ -16811,15 +16823,15 @@
   "repo": "jgru/consult-org-roam",
   "unstable": {
    "version": [
-    20220921,
-    507
+    20221119,
+    811
    ],
    "deps": [
     "consult",
     "org-roam"
    ],
-   "commit": "3eae47a4667a583e30703c1c5344e26225b5f676",
-   "sha256": "1p78nb940kyrlb3qpd2ll6zbvi1swdajc661ly9aq6kzmrvcia9r"
+   "commit": "4f5e77d36fb8256818df9042ee699954566d81d5",
+   "sha256": "06xd014f03z8mzg2a7gln2bhv260rgq4zpcwxmkwn6kg5kcn5x0l"
   }
  },
  {
@@ -16830,15 +16842,15 @@
   "repo": "Qkessler/consult-project-extra",
   "unstable": {
    "version": [
-    20220424,
-    1815
+    20221013,
+    1014
    ],
    "deps": [
     "consult",
     "project"
    ],
-   "commit": "fa882a0bf9b697ebb59d0dfa2ffd81ea6daabf41",
-   "sha256": "00gf7fam9gfll9s7bw7bna64y1ynmlhqf4jcbkfhj02laff2virf"
+   "commit": "9fdf45fa40471900b0b158d73c4b1521a13d47ef",
+   "sha256": "02m5vslf46kc9qjdyjqg3kjgv7a8vs0vmmc9gjh62nxfnz1dl7gn"
   },
   "stable": {
    "version": [
@@ -16879,25 +16891,25 @@
   "repo": "jao/consult-recoll",
   "unstable": {
    "version": [
-    20220922,
-    1758
+    20221014,
+    2002
    ],
    "deps": [
     "consult"
    ],
-   "commit": "308171055786f99d6cdab22a397d31afa3eea2c2",
-   "sha256": "0cz21661z4i2fh86ic5xqws64h9yasvm9lzw5hxxm7r5li0nrkwb"
+   "commit": "8d506e2d01f46fc6b0a0825efb90b062ad6fe3d4",
+   "sha256": "11i6fp56mg69vp45avkg19vw2pdnxqsdhzww1vwha30y30q2pqw1"
   },
   "stable": {
    "version": [
     0,
-    7
+    8
    ],
    "deps": [
     "consult"
    ],
-   "commit": "714810486a13bb6adba5be0eaaca7eabe3298927",
-   "sha256": "0353j98ql2nzwq1ffx721b9qv1jgxljx2z3h3z7hyygkc7r95q07"
+   "commit": "1480027006df774ac3e2f38a6750a369263ea409",
+   "sha256": "1l2a7ikh2ii8yhssa2zhqnibrdr6h2gjn87biy7a0npksh8pp35j"
   }
  },
  {
@@ -17237,6 +17249,25 @@
   }
  },
  {
+  "ename": "corfu-prescient",
+  "commit": "72a84587636e291bee48d7e9ad5723791ad02d7e",
+  "sha256": "1w7w88l43bpybgzdlp4b195y9y0mikp143wlki91s38m1hg0n0rd",
+  "fetcher": "github",
+  "repo": "radian-software/prescient.el",
+  "unstable": {
+   "version": [
+    20221118,
+    1427
+   ],
+   "deps": [
+    "corfu",
+    "prescient"
+   ],
+   "commit": "680fefa4601586dd87d549d33f5ae6fda3212c35",
+   "sha256": "16k34jp07snzknyp2lg0g6vsb7pk96s0fplb9hdjq8w3n4kyirb1"
+  }
+ },
+ {
   "ename": "corral",
   "commit": "7b0d7e326f0401de0488b77d39af7bd7b8e8fdd4",
   "sha256": "1drccqk4qzkgvkgkzlrrfd1dcgj8ziqriijrjihrzjgjsbpzv6da",
@@ -17314,15 +17345,15 @@
   "repo": "abo-abo/swiper",
   "unstable": {
    "version": [
-    20220923,
-    1051
+    20221015,
+    936
    ],
    "deps": [
     "ivy",
     "swiper"
    ],
-   "commit": "0ca0c096f1ed6a920f3b398f743525adddb1ad61",
-   "sha256": "0g6xhbsbn8rchj3hg85hy0hms1x451ffq13sjnmh4hi61n9nr48q"
+   "commit": "b8be4913a661b557e0d3275726e36871556569d3",
+   "sha256": "1pwq00w97rbx0ppddhxmlkp4cb3d6w81c3ymq6baf12fkghixv6x"
   },
   "stable": {
    "version": [
@@ -17582,14 +17613,14 @@
   "repo": "CsBigDataHub/counsel-fd",
   "unstable": {
    "version": [
-    20220514,
-    2227
+    20221011,
+    1853
    ],
    "deps": [
     "counsel"
    ],
-   "commit": "c1ba2e36fe69111e7f6f42ea1b0e3b7a45d96de0",
-   "sha256": "1jpaknp9v9xyxqs9gkm9v1ylwp9pn2smla9zk4qk49i6ff5db6dd"
+   "commit": "7c1e413e4ce44df2232c19ebe3357ac8ec33cb3b",
+   "sha256": "1p56m3kwbv45rqwca2c0pjqm4a590nmy0z66c01hvp775xd2n2jc"
   }
  },
  {
@@ -18470,11 +18501,11 @@
   "repo": "crystal-lang-tools/emacs-crystal-mode",
   "unstable": {
    "version": [
-    20220918,
-    1616
+    20221008,
+    1847
    ],
-   "commit": "e5b50952fc1d10b715231588cc1655eeef4a2458",
-   "sha256": "1z0zwi4alcw591ma5xx5ygcm7ckzgag0hxbq2i16x18ha83nimpp"
+   "commit": "9bfb9f0f566e937cc6a2f2913d1b56978b81dc99",
+   "sha256": "0d81b296ifn65h29cplvlznqjq8955a4kpsj9kyiwmg44v88afzv"
   },
   "stable": {
    "version": [
@@ -18551,8 +18582,8 @@
   "repo": "hlolli/csound-mode",
   "unstable": {
    "version": [
-    20220919,
-    1033
+    20221002,
+    1512
    ],
    "deps": [
     "dash",
@@ -18560,8 +18591,8 @@
     "multi",
     "shut-up"
    ],
-   "commit": "eae7a91c42d28a7a2a88fbd3cc02a0fc7b4a62af",
-   "sha256": "0v6mhdyfyi3v6plyx6k329mnvcdc9pldhibgnxjna3kpb5h2wb03"
+   "commit": "ceb29955f36e01b02effc66a5b13a23224e41b67",
+   "sha256": "0q7vmnw1liv2jcmjynvwm54j2wsmvsv7fak1bxib13l8jhvwn88z"
   },
   "stable": {
    "version": [
@@ -18776,19 +18807,19 @@
   "repo": "radian-software/ctrlf",
   "unstable": {
    "version": [
-    20220911,
-    6
+    20221112,
+    340
    ],
-   "commit": "e4bd61ef59f10b3c6bd480041396c21bf62174ec",
-   "sha256": "1lkl4b24bdnmv66kk3zgl7c9y47r827rj4dsyk7vzi836sa32qci"
+   "commit": "9b4cf6c79a961f2bfbb949805aa300fcf1eb40a6",
+   "sha256": "061id540spjycgy2xshj8kwgdngkjinznhx2qp5pmqzzx7z7rpfb"
   },
   "stable": {
    "version": [
     1,
-    5
+    6
    ],
-   "commit": "495b9bc1002d27356929c101c458e69e4201e214",
-   "sha256": "1nd1yk86s0dyf87q77dg724f6629p270q3ar85jgp8gclw5plvyz"
+   "commit": "9b4cf6c79a961f2bfbb949805aa300fcf1eb40a6",
+   "sha256": "061id540spjycgy2xshj8kwgdngkjinznhx2qp5pmqzzx7z7rpfb"
   }
  },
  {
@@ -18909,11 +18940,11 @@
   "stable": {
    "version": [
     1,
-    1,
-    2
+    2,
+    0
    ],
-   "commit": "b043b0247bf9b144a5c3360e5096a4b141dd1fb6",
-   "sha256": "0zsfz1h68xpbgdb1ln8l081vwrgd7i01ap4rjlyrsk8j3q3ry5wz"
+   "commit": "7679c8452051ed5c89f891c72c6ada76757fc935",
+   "sha256": "1lkf849g6zqkshzj2845n1w58q1bxgqb85lh6w7ssi1m653mxhd1"
   }
  },
  {
@@ -19202,14 +19233,14 @@
   "repo": "ideasman42/emacs-cycle-at-point",
   "unstable": {
    "version": [
-    20220723,
-    646
+    20221017,
+    149
    ],
    "deps": [
     "recomplete"
    ],
-   "commit": "7d8198e509c49eaeb76072bb8f1baa46d7970100",
-   "sha256": "1jhlda49j0ijd1b3xqy8lh5mspirx0p54icq4s1cs5f8kbf0w9rd"
+   "commit": "ef2c2dbbf6c7682d9a80eebc2ae721d5d93b1698",
+   "sha256": "0j6gphh61snmg8vhbs8rynw08llh67s91hzy1bcyqccn8wcwbqrx"
   }
  },
  {
@@ -19253,11 +19284,11 @@
   "repo": "mrkkrp/cyphejor",
   "unstable": {
    "version": [
-    20210816,
-    1607
+    20221004,
+    1118
    ],
-   "commit": "70b30cb79337ccfcc4e013c8ce7ab78815a65f1a",
-   "sha256": "16hifzlwidm0hbmd21hx3z0ps6qbhpqxp1ip9s0iycw95799f3aj"
+   "commit": "0ba2e60589f485bf1bb2540617c970ed00c70266",
+   "sha256": "0qblp5rg8vk2jid471nzy94sylds31ihjc7gw8sh7q1nligfa3lk"
   },
   "stable": {
    "version": [
@@ -19462,25 +19493,25 @@
   "repo": "jyp/dante",
   "unstable": {
    "version": [
-    20220907,
-    1402
+    20221116,
+    840
    ],
    "deps": [
     "company",
     "dash",
     "f",
     "flycheck",
-    "haskell-mode",
+    "flymake",
     "lcr",
     "s"
    ],
-   "commit": "1ab4d9520d17cd37d1f370d1c8adebf4d9d3f737",
-   "sha256": "0xap0fxmnwj3h9qrd0gfadkz3glkjj5gav7vj6jjf2ymhvhwm5mz"
+   "commit": "914d4f21252a66fe526abedebe24703bc73397d9",
+   "sha256": "07qkd90babkdffpxsp2ha0q3ixwp21szyy7c1k8frqsv0gl0dm02"
   },
   "stable": {
    "version": [
     1,
-    6
+    7
    ],
    "deps": [
     "company",
@@ -19491,8 +19522,8 @@
     "lcr",
     "s"
    ],
-   "commit": "38b589417294c7ea44bf65b73b8046d950f9531b",
-   "sha256": "1mnmn635552zlwd4zr68jbvdjipl6gi4mi6wiyck28fsmq8kw96h"
+   "commit": "b9061204dfa4c0a62589c25159b6a9b6bcc030be",
+   "sha256": "0q7hackvaplh1f645ngd76f2ls5mvg93xicr3rkxr07hd36yihag"
   }
  },
  {
@@ -19503,8 +19534,8 @@
   "repo": "emacs-lsp/dap-mode",
   "unstable": {
    "version": [
-    20220921,
-    941
+    20221118,
+    1707
    ],
    "deps": [
     "bui",
@@ -19517,8 +19548,8 @@
     "posframe",
     "s"
    ],
-   "commit": "442aef50dbc3cfb853bee6d919e98d2941973136",
-   "sha256": "1mzfj50zfc99p5pxyy779yzz5r6pvlnr8q217f2rihp676vajv8b"
+   "commit": "461f15f920c37ed06a53c1082287c5801a317b52",
+   "sha256": "1ny1agamc5iyh340gwrf59qyl9sp58nn62p6y8z6jsrxl08z4ipy"
   },
   "stable": {
    "version": [
@@ -19623,21 +19654,6 @@
   }
  },
  {
-  "ename": "darkburn-theme",
-  "commit": "a04dd517e02bc4b4a62d956aa901a727354202b0",
-  "sha256": "18hwdnwmkf640vcyx8d66i424wwazbzjq3k0w0xjmwsn2mpyhm9w",
-  "fetcher": "github",
-  "repo": "gorauskas/darkburn-theme",
-  "unstable": {
-   "version": [
-    20170423,
-    1652
-   ],
-   "commit": "b59053533246330e9107721da7977a0af312c915",
-   "sha256": "1ffmip31dnv3zzh1h9cpchl6lya49zn2j13acx6rj9r01ndlbrar"
-  }
- },
- {
   "ename": "darkmine-theme",
   "commit": "e527d1335f5fd2aba5b00255a7d69adbc20585ff",
   "sha256": "06vzldyqlmfd11g8dqrqh5x244ikfa20qwpsmbgsiry3041k8iw5",
@@ -19675,14 +19691,14 @@
   "repo": "emacsfodder/emacs-theme-darktooth",
   "unstable": {
    "version": [
-    20220923,
-    347
+    20221014,
+    1418
    ],
    "deps": [
     "autothemer"
    ],
-   "commit": "c64c1dd0e2364197ca9ac6410392eade27a55909",
-   "sha256": "1bx757mhv2vpjdxc4hna6vfvazddbj8al7p1i47kz64qvgfvnab5"
+   "commit": "fd3df73a4d937fa9e12f0b18acb009a9d40f245e",
+   "sha256": "0dvfk9kyza6yq0jn9g2ffb5gv07xnjg6myxkqfxpll7m2s0zasi7"
   },
   "stable": {
    "version": [
@@ -19765,11 +19781,11 @@
   "repo": "magnars/dash.el",
   "unstable": {
    "version": [
-    20220608,
-    1931
+    20221013,
+    836
    ],
-   "commit": "0ac1ecf6b56eb67bb81a3cf70f8d4354b5782341",
-   "sha256": "0li53fpvszg51p1m3mw5klyxhgl5fz45zid82pw985znapk5a0l2"
+   "commit": "3df46d7d9fe74f52a661565888e4d31fd760f0df",
+   "sha256": "07g8rizz6bsjqymnbmjniv7v09d90x4zy5b9j8clmgyfy5040ivg"
   },
   "stable": {
    "version": [
@@ -19868,11 +19884,11 @@
   "repo": "emacs-dashboard/emacs-dashboard",
   "unstable": {
    "version": [
-    20220922,
-    509
+    20221118,
+    1318
    ],
-   "commit": "554dc6fac1362dd6b66318c8250eea8bd63aa92f",
-   "sha256": "00jbjryi6m6ah7ylf1w965n4zndm5l54jkfkhjd2y3vxyr706hr8"
+   "commit": "92106c5a39e703bf18efa67a9c7dc92260845788",
+   "sha256": "0vfkm1x8x0azifyafnj7pg6lalvhrhhsizwm9vjb500fkjjhkazr"
   },
   "stable": {
    "version": [
@@ -20194,6 +20210,21 @@
   }
  },
  {
+  "ename": "ddate",
+  "commit": "e3da6cf03b3fca63621dc9992924aeaa7d9a3a69",
+  "sha256": "05i2ia1kmmqw5qjvdl9480d0v6q8hgnh5dy52z69mk7lgrsd3n80",
+  "fetcher": "sourcehut",
+  "repo": "earneson/emacs-ddate",
+  "unstable": {
+   "version": [
+    20221031,
+    1611
+   ],
+   "commit": "31576a62792743c614e362688b3752b7a959814e",
+   "sha256": "0p2an6mqqshprr8yh9j5r71nasfr50ankg04d8z4jzz4yjigarx0"
+  }
+ },
+ {
   "ename": "ddskk",
   "commit": "570bde6b4b89eb74eaf47dda64004cd575f9d953",
   "sha256": "1bgjpr7dikl360famf7fnd610z8wgj00pg3s5z632wra0yg331yy",
@@ -20201,15 +20232,15 @@
   "repo": "skk-dev/ddskk",
   "unstable": {
    "version": [
-    20220803,
-    1302
+    20221030,
+    2049
    ],
    "deps": [
     "ccc",
     "cdb"
    ],
-   "commit": "3ed86d42717ab2a54ec8de6ab32d552dc0a4c3b0",
-   "sha256": "12fjhp10zvlymgamgzmhl0g4bs6ix731b6s8xjmzhwjvzavcsclg"
+   "commit": "c24a624884a3cfb0c28d6d5b9eb19e01387f0917",
+   "sha256": "06dkkv3pc9pqx73s5kpb6vm5nipmn3yj215d1r1krgh6n2g2a673"
   }
  },
  {
@@ -20251,29 +20282,29 @@
   "repo": "Wilfred/deadgrep",
   "unstable": {
    "version": [
-    20220704,
-    1714
+    20221101,
+    2055
    ],
    "deps": [
     "dash",
     "s",
     "spinner"
    ],
-   "commit": "0c57d113aa6840bec073b3432ed62b382f20acc6",
-   "sha256": "1r16kvq4kpa3c0p1zh2539rb0i82kqy0jbl9avwyi96va0zm4rxp"
+   "commit": "f687ca31f8d3bd8ebf05165b080b50ba724ce9bf",
+   "sha256": "0xvzchpwmiznfbrjqi5v3kxz625n117j4aa6ix8r6s9fhk8bm5j0"
   },
   "stable": {
    "version": [
     0,
-    10
+    12
    ],
    "deps": [
     "dash",
     "s",
     "spinner"
    ],
-   "commit": "647523452d57e94cec6ebc28e35d3e88487d82dc",
-   "sha256": "1lb17pisy0zfz9ixawf8rld34m47zil96r3khlv32vzpi84f9x1a"
+   "commit": "d32fe49079c1e9e0af95387120fa4990d4107778",
+   "sha256": "0bwf8gsqw7hsmacqd34piwgv066ijfclmxaigkvhvpac0lpsmi79"
   }
  },
  {
@@ -20376,15 +20407,15 @@
   "repo": "preetpalS/decl.el",
   "unstable": {
    "version": [
-    20220102,
-    1310
+    20221027,
+    1823
    ],
    "deps": [
     "cl-lib",
     "dash"
    ],
-   "commit": "9e6e2395e1f739e390697c35a9af99452642869e",
-   "sha256": "0f59v25j7z1ga7h4s36407wwmbbb2qjy29q6jymiilyd4bjgkq8f"
+   "commit": "1b11ee91c4b2a2d30b236debf65538fbe4bf10a9",
+   "sha256": "1niaiczykfvz6jhgza2mqaz42lcgkb6scp1ar7fsd53aq7clccmv"
   }
  },
  {
@@ -20905,20 +20936,20 @@
   "repo": "niklaseklund/detached.el",
   "unstable": {
    "version": [
-    20220928,
-    806
+    20221118,
+    1226
    ],
-   "commit": "772ac746a9e8350f24ff548301ef13986e5b21d9",
-   "sha256": "129y80yya8v3a8iz9z8nix44mivfkd5p3q454ancynv89pkbhsl2"
+   "commit": "8c7a2e1129b254946d86a7b7ae1c8378afab7b69",
+   "sha256": "0fcvx4x9yzzl3qac8gh565jzb52w9j2xdbiw60xyqdxihljpqv6m"
   },
   "stable": {
    "version": [
     0,
     9,
-    1
+    2
    ],
-   "commit": "b7d4375e25a47fd4b2da4835f306262d9766e3e5",
-   "sha256": "0v7g23jmxh2z1v484pzmcavcsxkd5qydfj6075a8abx3kv7n6nj4"
+   "commit": "6415d90f8260b6c5f1da00e0028acf4be5b4053e",
+   "sha256": "0bcrqqim6is75d4zadswxp162m9gd34xmb2wxsx9rhvkwq0ln35k"
   }
  },
  {
@@ -21191,14 +21222,14 @@
   "repo": "dgutov/diff-hl",
   "unstable": {
    "version": [
-    20220919,
-    1045
+    20221007,
+    2147
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "5d90cca340cb72a821dd20635e4f5a924dd20ccf",
-   "sha256": "18ik214pgwpf9x30a30a1d0yi5s43nvw6y67gd72c0qmcnqyka6n"
+   "commit": "68fb280b300c5d8460cc7b9183e29fb3ec604136",
+   "sha256": "1948r26zwk0aaw5n8rvl7frj3cjncwcbw64scfggb5s91m4isd7j"
   },
   "stable": {
    "version": [
@@ -21550,11 +21581,11 @@
   "repo": "jcs-elpa/diminish-buffer",
   "unstable": {
    "version": [
-    20220704,
-    648
+    20221028,
+    1921
    ],
-   "commit": "2069f27332a05608a5246684bc4d6850c14a4890",
-   "sha256": "0v01nkkwg6vr3gddslmca823ll0j9bz5i0jivnbp74z08ycx6jny"
+   "commit": "983854a90ae39ef5d4d7aecaea108dc64aa2a593",
+   "sha256": "0zb5afa150cm0dv68ksl21x5k2f6dx8sd7isanad1kpz1kii7c0c"
   },
   "stable": {
    "version": [
@@ -21638,14 +21669,32 @@
   "repo": "tilmanrassy/emacs-dir-treeview",
   "unstable": {
    "version": [
-    20220918,
-    42
+    20221103,
+    35
    ],
    "deps": [
     "treeview"
    ],
-   "commit": "3430eb32d824270181fc74bac7334fa7c4b5be9a",
-   "sha256": "0grvkyasj1mck8i7qhclgidcx9zqil9pm1n5gk4h659fr9ji283k"
+   "commit": "bdcce576c4e8e8da7f82192cecc650e76d068958",
+   "sha256": "1g1vkp3rzcicc8y6sf7r6qy5lxd8kfg7r0gkxz95fk3l4symfdsf"
+  }
+ },
+ {
+  "ename": "dir-treeview-themes",
+  "commit": "e59e58de6cf1cc8a8a90753f1ae11a9569a495bb",
+  "sha256": "00ng8xn5yi4h2d1dqfh5qyj3kjhqzm35bz5asxv8pprkmz1fwy2z",
+  "fetcher": "github",
+  "repo": "tilmanrassy/emacs-dir-treeview-themes",
+  "unstable": {
+   "version": [
+    20221106,
+    2133
+   ],
+   "deps": [
+    "dir-treeview"
+   ],
+   "commit": "1d2e19c1df9f68186d7d0fe4529c92f7112136a2",
+   "sha256": "1h8kbr1swad0d84bqblg4c4gvm2pnq72n5hrbxjwahr45j8xrp1l"
   }
  },
  {
@@ -21734,11 +21783,11 @@
   "repo": "hjudt/dired-duplicates",
   "unstable": {
    "version": [
-    20220718,
-    1341
+    20221007,
+    703
    ],
-   "commit": "94319f44f716e9b4b0e0d4f6067c0e028dc0072b",
-   "sha256": "1k4s2xcy283s8fayaqbk97an81652dpqq03zwn49w8ikgzh1gd5w"
+   "commit": "3c16f563880453ad65e1b19ec92d7c4c5a6269f2",
+   "sha256": "1h80636fmdc1ykkqapirqhh86vqln80c6h71iwnsq351s4mrly74"
   }
  },
  {
@@ -22612,14 +22661,14 @@
   "repo": "alexluigit/dirvish",
   "unstable": {
    "version": [
-    20221001,
-    426
+    20221014,
+    1236
    ],
    "deps": [
     "transient"
    ],
-   "commit": "a877ba816f907daea2d86bd10754bec6484e753a",
-   "sha256": "0xq2h5fbfzd3r4hxy0lp0zz12a9mhf8x58ddxk1s6j80v8xr5v0b"
+   "commit": "ec4100612b2e93d9e188e7eab4c144b45f3547ee",
+   "sha256": "0jqsg91qzbd1n7cg7y1484js8ykrysmxs17c0f4lvx7vxwkjhpyg"
   },
   "stable": {
    "version": [
@@ -22861,11 +22910,11 @@
   "repo": "josegpt/display-wttr",
   "unstable": {
    "version": [
-    20220907,
-    1625
+    20221102,
+    1426
    ],
-   "commit": "d1f5b57e00ee229548005ddd1e8061e213effd32",
-   "sha256": "1hmawlnd2l89p48pviwn4khvjs0iry8x67cyqw70r10dd0ybn851"
+   "commit": "7062953d034e27c297d58748cf74dad552aa2873",
+   "sha256": "1yppnxpzpwp3qkxfa9g8c0vzxg2s08qq4djk635hrml57adaya8g"
   },
   "stable": {
    "version": [
@@ -23350,19 +23399,18 @@
   "repo": "Silex/docker.el",
   "unstable": {
    "version": [
-    20220904,
-    1648
+    20221023,
+    1201
    ],
    "deps": [
     "aio",
     "dash",
-    "docker-tramp",
     "s",
     "tablist",
     "transient"
    ],
-   "commit": "670b7c346ba562614c27b68c04723af784978c15",
-   "sha256": "02dlrnmm9rckncfi3w5pkn3fq9pgqah52w62x607awbgn28q55m4"
+   "commit": "cc0046e6a557dce0ccc4108dd22e04f21ba8b0dc",
+   "sha256": "11l8jpqj6m04ndhnfz41nhph1rqjvqbfd5vw334mph776aq1baln"
   },
   "stable": {
    "version": [
@@ -23710,28 +23758,28 @@
   "repo": "seagle0128/doom-modeline",
   "unstable": {
    "version": [
-    20220930,
-    952
+    20221111,
+    711
    ],
    "deps": [
     "compat",
     "shrink-path"
    ],
-   "commit": "5dbb43411e79c1c67cdcd05e04c037c229c8ea87",
-   "sha256": "03zj28dvf7dh2j21ffdn7liblg7j72wx3yfijx42w9v9hfgcya1m"
+   "commit": "440fd160b4dff530465938bed40094a0d413fc11",
+   "sha256": "0ablv6fyqb6mzzk7iyx24nj5xmmmhw7kqmi2xldjv0a7aplmxbqr"
   },
   "stable": {
    "version": [
     3,
     3,
-    1
+    2
    ],
    "deps": [
     "compat",
     "shrink-path"
    ],
-   "commit": "156b02445c3360added80009ab3c1a33dd88c5d9",
-   "sha256": "0p728hbphfch6kmkjxm1qwxrwz6l94s3sj7wl1wc4mp82zrdsi15"
+   "commit": "aa0e2ddbaa5703d85a8ffea85979aa9a2db9eeb5",
+   "sha256": "1v24hiqs4zbq613vanixgng9cx697di63jpafpmjlsripjfvk1qp"
   }
  },
  {
@@ -23761,14 +23809,14 @@
   "repo": "doomemacs/themes",
   "unstable": {
    "version": [
-    20220916,
-    1056
+    20221112,
+    2247
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "535800fd6ca7f5af56f7aa3d0e8f46fef8b7999b",
-   "sha256": "1pqp46dk423j4iiiqx5ddijvinlyp1014amg2s7b57sqya1r19x9"
+   "commit": "b5ff201f4bea4286e9ed015a2043cf2394182232",
+   "sha256": "04xq0v50rhikwfkzhwx2rzismipb2b57niks7s1svfp4jl1sg5fm"
   },
   "stable": {
    "version": [
@@ -24223,11 +24271,11 @@
   "repo": "emacsmirror/dsvn",
   "unstable": {
    "version": [
-    20190316,
-    2201
+    20221102,
+    1416
    ],
-   "commit": "c37d2412ba92aad647bcf5aeb151e620e8069f8d",
-   "sha256": "1bv4ivv9j5r0ax4vay1kmwv753y44qj6qprr38yh7ky0fpsml34c"
+   "commit": "36ecd5219584e46dcf6bd252e2ea1ec517d2fc05",
+   "sha256": "0nn6h1blz0x3isqnwyx74xc32k8wi9z27nm5icgsyzv672hm0xdi"
   }
  },
  {
@@ -24429,11 +24477,11 @@
   "stable": {
    "version": [
     3,
-    4,
-    1
+    6,
+    0
    ],
-   "commit": "ac188544b55357c1fff277f54d1481d28a634e19",
-   "sha256": "02zn79l7y7rvy7b6bimlf5qymrvzc43w8q7l4jx3k8wzn2g5326z"
+   "commit": "c3b75bdfd3763b39aaac8baa5104312ac701d501",
+   "sha256": "0kgg5a2y1zxc6av2vmlh4vy46lsgnq2xvxjpv3m5i8pzgv0angsg"
   }
  },
  {
@@ -24527,11 +24575,11 @@
   "repo": "xenodium/dwim-shell-command",
   "unstable": {
    "version": [
-    20220928,
-    2032
+    20221115,
+    2354
    ],
-   "commit": "6f599480be69437171fb4e9d58fd29b20731096f",
-   "sha256": "0qr50ivwgbpygp9kscm6h71jjys06s2jib1k8q35xahaah4dbrkf"
+   "commit": "c6a84a93c687b6ada6ea297135125cff232520d9",
+   "sha256": "1krm1pn73wk1s3gvif4vk7q281nx0syh5dfai3lmkd6jwphwhzxj"
   }
  },
  {
@@ -24542,14 +24590,14 @@
   "repo": "harsman/dyalog-mode",
   "unstable": {
    "version": [
-    20210413,
-    810
+    20221102,
+    913
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "697a84194766708d2607e8ba48a552e383c6523e",
-   "sha256": "1afcfqf9z1d67va9cdi2fxpr1l1nrgkksxh5g7h8ggqkml2ks8hn"
+   "commit": "1fe61fa2e0145af434f3fa1c5077b973389d8651",
+   "sha256": "1swvwnbzp848ih41xmgvrvzii2s9qdxd7lfkcik4pm5br0njmx2m"
   }
  },
  {
@@ -24980,11 +25028,11 @@
   "repo": "earthly/earthly-emacs",
   "unstable": {
    "version": [
-    20210903,
-    230
+    20221018,
+    355
    ],
-   "commit": "16f262dbeec1e0b9f7f3a6a7cbafbed76e39d8d8",
-   "sha256": "0j359dvmgkwrwcx24ncg34sfyxmkharpsniszmd7gjl2cq8sjja2"
+   "commit": "0427c367768ab52c359c34941ed13dbf419d74d7",
+   "sha256": "01s1srcc1qp9x74gdjha1cmr1fjv1fbwjd2h4rk74alyrhhzhwn5"
   }
  },
  {
@@ -25205,26 +25253,26 @@
   "repo": "joostkremers/ebib",
   "unstable": {
    "version": [
-    20220920,
-    2227
+    20221113,
+    1408
    ],
    "deps": [
     "parsebib"
    ],
-   "commit": "740d1c3bbb7b5a92073be8428f52932412b7eb8c",
-   "sha256": "1ypaj0cg4dc2qnhwcqkv498s1hrwg3w85dqiww146ps67n4296wd"
+   "commit": "374400c99f600cfda703da4fb8d16898be48cb74",
+   "sha256": "1azgsjf5j8k6llq74brykidcb2mnq6fghk8jyq7qad5afh7n0mrc"
   },
   "stable": {
    "version": [
     2,
-    38,
-    1
+    39,
+    3
    ],
    "deps": [
     "parsebib"
    ],
-   "commit": "43f4e50d8e20c87f279da1a7317977297387bff1",
-   "sha256": "1a2pjnfk3yk7r13avjv4xcmq0ld1lw78ngifn9khpl28kd9fgv74"
+   "commit": "374400c99f600cfda703da4fb8d16898be48cb74",
+   "sha256": "1azgsjf5j8k6llq74brykidcb2mnq6fghk8jyq7qad5afh7n0mrc"
   }
  },
  {
@@ -25280,11 +25328,11 @@
   "repo": "qaiviq/echo-bar.el",
   "unstable": {
    "version": [
-    20220830,
-    1406
+    20221101,
+    2254
    ],
-   "commit": "dee94a0051395e3a0eda516131b7bf4874ab6109",
-   "sha256": "0nn6vyqcka5gq9ibnqw14k2zxr2hz60y9zswr2y0inpvphaigykl"
+   "commit": "d0a24635da51502bdda9f5451793966fffef92a8",
+   "sha256": "13j9hdlx2f5fvbghibkv43i7x7hih778fn8ybi8g4y1l350kr68m"
   }
  },
  {
@@ -25742,28 +25790,28 @@
   "repo": "editorconfig/editorconfig-emacs",
   "unstable": {
    "version": [
-    20220301,
-    332
+    20221107,
+    300
    ],
    "deps": [
     "cl-lib",
     "nadvice"
    ],
-   "commit": "1d4acc3ec73609990eabacb59c038708bc401003",
-   "sha256": "1blx38fyfl1zgfh5k1mgsnxxjlski7f0n890kiyjbaw2ba9zzmgr"
+   "commit": "3352e487809dda4a0366314e30c9efa431b61f79",
+   "sha256": "1v8x649r9b0ihnhddkkfb8ck21z2hr3swgczwgzwdk0ys6pl89my"
   },
   "stable": {
    "version": [
     0,
-    8,
-    2
+    9,
+    1
    ],
    "deps": [
     "cl-lib",
     "nadvice"
    ],
-   "commit": "375418d1d63f6ec780876593181b6d39054919da",
-   "sha256": "1lqxgc24gr67yhi64i9v4w2dcjhpx99jg1kr25gr2byqkkdldkz0"
+   "commit": "3352e487809dda4a0366314e30c9efa431b61f79",
+   "sha256": "1v8x649r9b0ihnhddkkfb8ck21z2hr3swgczwgzwdk0ys6pl89my"
   }
  },
  {
@@ -26113,8 +26161,8 @@
   "repo": "joaotavora/eglot",
   "unstable": {
    "version": [
-    20220926,
-    1235
+    20221020,
+    1010
    ],
    "deps": [
     "eldoc",
@@ -26124,23 +26172,24 @@
     "seq",
     "xref"
    ],
-   "commit": "a49f620f53d00efe471dbceccc795329d6d40e5e",
-   "sha256": "18vgyjagk8s37dm30pqra1xk12rg0nv9npmm2q9vb44r47kbr02l"
+   "commit": "e501275e06952889056268dabe08ccd0dbaf23e5",
+   "sha256": "1a4ici02cvqyd06l6gfyz4gyhh8migdbynvj4dvldv9k7bj1q5g5"
   },
   "stable": {
    "version": [
     1,
-    8
+    9
    ],
    "deps": [
     "eldoc",
     "flymake",
     "jsonrpc",
     "project",
+    "seq",
     "xref"
    ],
-   "commit": "132ea08f97f94ad2e050fc8d1628ecb41de7229a",
-   "sha256": "19x748wpyc9q884qrx40jkq3h5swazg190pq0x60547q35pac83s"
+   "commit": "d1159172c9d436d7e649207565c606e9e572a8db",
+   "sha256": "030837yak24ymjawsfr1hgyfdjy3k30ld1ca0cgnrxhgxc7p8hwv"
   }
  },
  {
@@ -26151,16 +26200,16 @@
   "repo": "fsharp/emacs-fsharp-mode",
   "unstable": {
    "version": [
-    20220630,
-    2007
+    20221027,
+    1923
    ],
    "deps": [
     "eglot",
     "fsharp-mode",
     "jsonrpc"
    ],
-   "commit": "185bfc2ca091cdd5d80ee798247d249076de2b30",
-   "sha256": "012lqc8px3qbn7qdm2w1ylaa6zxvs3l71xmpdyh5whhmgpfhc3wf"
+   "commit": "f8873096d24cac7b30419854347220f37345e780",
+   "sha256": "1mny0dr231bm2pz0rnkzr8kbv1f7sk34qdxxd6q7wssgif5rcxvq"
   },
   "stable": {
    "version": [
@@ -26184,15 +26233,15 @@
   "repo": "yveszoundi/eglot-java",
   "unstable": {
    "version": [
-    20220403,
-    1815
+    20221102,
+    2300
    ],
    "deps": [
     "eglot",
     "jsonrpc"
    ],
-   "commit": "da76eb69b3f86992d62302649a987f157b7b7371",
-   "sha256": "0m64jdv20pch1f1n41rh28bgi4cxa84vdfpq7sdxjgs8laqc928g"
+   "commit": "10d0b3b65adf83fbd939f973cafc5b5122536bb4",
+   "sha256": "0f3vclq7hhim46njd5lw78g6v60aa3f3jvvmml99vxmxmd36a7gf"
   }
  },
  {
@@ -26251,17 +26300,17 @@
  },
  {
   "ename": "eide",
-  "commit": "932b2461a32c23477bffbc981cb26d9eb437cd76",
-  "sha256": "13n0mwfjxpjjndlmxlqpzpajjn0jcfgxhln0gz7z4p87myln6wsq",
+  "commit": "aaf337a7843c79b463b66b1e96a3a044c8cea4f6",
+  "sha256": "0ir02p1qrkxsh6b2v2aagkxzzzbd8hysxhr5zpbp11gv6sw4harj",
   "fetcher": "git",
-  "url": "https://forge.chalec.org/hjuvi/eide.git",
+  "url": "https://forge.tedomum.net/hjuvi/eide.git",
   "unstable": {
    "version": [
-    20220531,
-    452
+    20221101,
+    2045
    ],
-   "commit": "a32b9266414d9173dfa92fa44b17064ebb39522f",
-   "sha256": "09v74b78vq0vw93pm2xgkdyp6f7ql0l52bzgj1pyayjr5y6y65mg"
+   "commit": "e0a5deb627da9cf70f02229601a1ebe6d78cabc8",
+   "sha256": "03yj94kw9n32bsjb7mxsq7acb8x915cgw5c11112mb56qjsz6203"
   },
   "stable": {
    "version": [
@@ -26344,8 +26393,8 @@
   "repo": "kostafey/ejc-sql",
   "unstable": {
    "version": [
-    20220517,
-    1303
+    20221101,
+    922
    ],
    "deps": [
     "clomacs",
@@ -26353,8 +26402,8 @@
     "direx",
     "spinner"
    ],
-   "commit": "5e100426be90fc193154b1219ab1058534a4fb52",
-   "sha256": "0mxl8z86wi4kjnxl2bmk5j8p7fvlihcgpd7lkxnlsifqysnvpp86"
+   "commit": "83f39df28f9812773bf89d7af1caf5e7950fb84e",
+   "sha256": "1yfb0lv1p5l8c3idr8ya1c26zbl781f61358k9y301mn8hf8j090"
   },
   "stable": {
    "version": [
@@ -26856,11 +26905,11 @@
   "repo": "Mstrodl/elcord",
   "unstable": {
    "version": [
-    20220723,
-    33
+    20221031,
+    1726
    ],
-   "commit": "7aacd702335b4ab3344d3815c0fffed319effdf9",
-   "sha256": "15rjghwgvnd00ql62x03smsban15g7asskqkvhn2znqfsngbxs3b"
+   "commit": "d0c9ace493d088bc70f7422705ff27dfcf162cca",
+   "sha256": "0czilbq6cwwxd1hbrjh5jb7jlxz6rz8kzx2n7g26rbr16sk0mdl4"
   }
  },
  {
@@ -26905,11 +26954,11 @@
   "repo": "doublep/eldev",
   "unstable": {
    "version": [
-    20220908,
-    2134
+    20221117,
+    2048
    ],
-   "commit": "cd9ecdb4783ca0ff4487e49cd079f390d56281e7",
-   "sha256": "0gn9dixa8m0xa5xn81nh6v673jm81k9dsj6iq3n7ka055xsg2g3m"
+   "commit": "2ddf8cbe9bb4f973ecfa6012870af23b030ad6f6",
+   "sha256": "1f649vm59kkwiwc3pwzvw6phnc9id8vm6jfyg05j716k2pa4q0n4"
   },
   "stable": {
    "version": [
@@ -26929,11 +26978,11 @@
   "repo": "casouri/eldoc-box",
   "unstable": {
    "version": [
-    20220729,
-    844
+    20221117,
+    2216
    ],
-   "commit": "cee5266af554ac18a47a77f355a8839ed650f3f8",
-   "sha256": "1vvz7snizsrw69r2pxf3kid5yghhyffqvl16fq60h6wh1p6ivf1p"
+   "commit": "3021dcd85764b6a918e1689bf649c16918c339da",
+   "sha256": "14blf7as7j6k7g8ry8a45c5zpgjca79axwr4b3yk3hcp9q9rvzfk"
   },
   "stable": {
    "version": [
@@ -26991,15 +27040,15 @@
   "url": "https://repo.or.cz/eldoc-overlay.git",
   "unstable": {
    "version": [
-    20220210,
-    1358
+    20221007,
+    212
    ],
    "deps": [
     "inline-docs",
     "quick-peek"
    ],
-   "commit": "b96f5864a47407ec608c807e0d890f62b891ee03",
-   "sha256": "1rdpg18gffh7ss5di6f4l1wks904867r38w0ilpgb52p8j0pswa0"
+   "commit": "5ae9e062295ea2a2855569826b770f3469f73e2f",
+   "sha256": "1awxac30162p4vk17jnazf4qz48zz7asfgpcj8ivw8x3njr8crsh"
   }
  },
  {
@@ -27306,8 +27355,8 @@
   "repo": "jeetelongname/elfeed-goodies",
   "unstable": {
    "version": [
-    20220929,
-    1136
+    20221003,
+    1406
    ],
    "deps": [
     "cl-lib",
@@ -27316,8 +27365,8 @@
     "popwin",
     "powerline"
    ],
-   "commit": "ff9fa91e29c9cd06fdddedc1eabbdf4d3cb93e8c",
-   "sha256": "1s7f21cw84qv59hj3bnsph68p3mhzvdcsl9v095787pcddc85s3b"
+   "commit": "544ef42ead011d960a0ad1c1d34df5d222461a6b",
+   "sha256": "147pwqx2maf430qhigzfd6lqk7a5sbrydf9a4c5bvsw8jv7wzb6l"
   }
  },
  {
@@ -27328,8 +27377,8 @@
   "repo": "remyhonig/elfeed-org",
   "unstable": {
    "version": [
-    20220529,
-    1958
+    20221118,
+    852
    ],
    "deps": [
     "cl-lib",
@@ -27338,8 +27387,8 @@
     "org",
     "s"
    ],
-   "commit": "d28c858303e60dcb3a6eb18ea85ee3cb9e3dd623",
-   "sha256": "189hr2pqpm9vpz06frkl6r3k6q6ispx97zj24lczcli44l7d8gsz"
+   "commit": "3242ec0519800a58f20480c8a6e3b3337d137084",
+   "sha256": "1qp5a7gmrf8hy9zvi237shnff2jcrs2s6iln4pd5l6hqb74akdrq"
   }
  },
  {
@@ -27412,15 +27461,15 @@
   "repo": "SqrtMinusOne/elfeed-summary",
   "unstable": {
    "version": [
-    20220906,
-    822
+    20221117,
+    841
    ],
    "deps": [
     "elfeed",
     "magit-section"
    ],
-   "commit": "5006ef64325911785225dc37004f50d4ff51abb4",
-   "sha256": "0z485gf21qvk5k2xd056ja3fm96z8jazy4zf8hzp2hzwhi338vww"
+   "commit": "125e0f059d9f186efa2a04e317b59245963d6f11",
+   "sha256": "1lrzrf759qqa329yi7hx81b12lli530ih10p2jghxbhqgzqndssz"
   },
   "stable": {
    "version": [
@@ -27825,11 +27874,11 @@
   "repo": "elixir-editors/emacs-elixir",
   "unstable": {
    "version": [
-    20220811,
-    353
+    20221017,
+    2044
    ],
-   "commit": "d495ed87a9c507f5939a51c740f119950c83e2ff",
-   "sha256": "1cqiqairhx7chs3n72ii9iqx926hslz9av4m0k1cr52ldnxz1s80"
+   "commit": "4974ff9a83daf50f2f03dc0d6d00871296e088b0",
+   "sha256": "1cc8qmfiz6azm7ly22cjhv7mmf5crmnfk3gx6315h0lz6rqh2885"
   },
   "stable": {
    "version": [
@@ -27901,8 +27950,8 @@
   "repo": "jcollard/elm-mode",
   "unstable": {
    "version": [
-    20220227,
-    931
+    20221025,
+    1514
    ],
    "deps": [
     "f",
@@ -27910,8 +27959,8 @@
     "s",
     "seq"
    ],
-   "commit": "d4e434fa1857ba2f58d27c7520ebeac0515cd140",
-   "sha256": "0vqqi7g2xwsldmgffi1ygfv87qar6xyqk9r2j23hpyqjh9pzcvx5"
+   "commit": "2c5184beea35ef92485710647b378bd8c881745b",
+   "sha256": "056a7xzv7pv6hhqjqcrxra2kpr5r715wj2jrivbcqvmmxrq1vs2v"
   },
   "stable": {
    "version": [
@@ -28582,14 +28631,14 @@
   "repo": "emacscollective/elx",
   "unstable": {
    "version": [
-    20220717,
-    1643
+    20221013,
+    1037
    ],
    "deps": [
     "compat"
    ],
-   "commit": "2432d4bea001653384c592a11fcc96ecaa5e834f",
-   "sha256": "108frsb0jk21k2gbiy4wyrl20ky20salz1fhxqcgnzcxjsxc9y5k"
+   "commit": "6f8894a7c7dde11679d38526f8d5717d009a1bd3",
+   "sha256": "1nk4f0161zzgg4v278x9p3hgyzggmzda1f0s9qs2r0vj5964yvvp"
   },
   "stable": {
    "version": [
@@ -28624,11 +28673,11 @@
   "repo": "knu/emacsc",
   "unstable": {
    "version": [
-    20220420,
-    1042
+    20221105,
+    1715
    ],
-   "commit": "199c08147ebe98da1004c478c92ba8866950b637",
-   "sha256": "0jmbvpqbywp25dgyq0pxxpggvcjkq8lpff37374if1rhiyj0qac2"
+   "commit": "f7634a86c3643a6432dda3897bd524957cf9ff1f",
+   "sha256": "0sd6d92279c6gz920cm0xbhg7pqnsm92cxd7cwmkrzbvw091a2wd"
   },
   "stable": {
    "version": [
@@ -28657,161 +28706,191 @@
  },
  {
   "ename": "emacsql",
-  "commit": "a02b89d3e5ecf109065026c8d71f35253336b998",
-  "sha256": "1kbn4px1d6l0hj07igss1q7k6bsypm81m6bwb9pwqw1bm1h7jx8a",
+  "commit": "f7e6b437ceaaba30f84580656fcaee728332bece",
+  "sha256": "02f0667nhs4prl2zyzy2x9nz6n30g5kxmkv92zkpirxy3bh95f0h",
   "fetcher": "github",
   "repo": "magit/emacsql",
   "unstable": {
    "version": [
-    20220918,
-    1902
+    20221024,
+    1455
    ],
-   "commit": "18b40213fdc4cab2f836f5dc3f42b12f3c27af66",
-   "sha256": "1hcbigbiahcs9b0sb3grzff88bm6rsb3cs16c4c8lsqlfqkv1ghj"
+   "commit": "e318a6c8f65371e2ab667d811205a0d9a98dacbb",
+   "sha256": "1p8ianzpkr6yra7va4pb9c4l9j8dm1l769wzsap5cdqgg7k45inw"
   },
   "stable": {
    "version": [
     3,
-    0,
-    0
+    1,
+    1
    ],
-   "commit": "8c5f095458aa37e4146b80d9319ee63571734127",
-   "sha256": "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"
+   "commit": "c1a44076c0e44d5730b67b13c0e741f66f52fc85",
+   "sha256": "1xpmji2qgr9r38cdhws65x9s9jy7fk93q8g1j2fm7j8kcfjh9x3g"
   }
  },
  {
   "ename": "emacsql-mysql",
-  "commit": "9cc47c05fb0d282531c9560252090586e9f6196e",
-  "sha256": "1c20zhpdzfqjds6kcjhiq1m5ch53fsx6n1xk30i35kkg1wxaaqzy",
+  "commit": "f7e6b437ceaaba30f84580656fcaee728332bece",
+  "sha256": "01zs7cprfjcjmw661k8c88nvp2lk7ynvhgbj9n24p8m042p4jj4v",
   "fetcher": "github",
-  "repo": "skeeto/emacsql",
+  "repo": "magit/emacsql",
   "unstable": {
    "version": [
-    20220918,
-    1902
+    20221013,
+    1512
    ],
    "deps": [
     "emacsql"
    ],
-   "commit": "18b40213fdc4cab2f836f5dc3f42b12f3c27af66",
-   "sha256": "1hcbigbiahcs9b0sb3grzff88bm6rsb3cs16c4c8lsqlfqkv1ghj"
+   "commit": "ec4f3d091b8e2c60ee305a63a6f45f0ea5996ed6",
+   "sha256": "0wl3zs33lk61dnk2km7qyp5vzl973iq1zlriqy7qf40pxykmzbbv"
   },
   "stable": {
    "version": [
     3,
-    0,
-    0
+    1,
+    1
    ],
    "deps": [
     "emacsql"
    ],
-   "commit": "8c5f095458aa37e4146b80d9319ee63571734127",
-   "sha256": "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"
+   "commit": "c1a44076c0e44d5730b67b13c0e741f66f52fc85",
+   "sha256": "1xpmji2qgr9r38cdhws65x9s9jy7fk93q8g1j2fm7j8kcfjh9x3g"
+  }
+ },
+ {
+  "ename": "emacsql-pg",
+  "commit": "f7e6b437ceaaba30f84580656fcaee728332bece",
+  "sha256": "0p3kq642lgjqfhfk1dfa15wfi0axb1zq9g7n75ci0p4fi761i020",
+  "fetcher": "github",
+  "repo": "magit/emacsql",
+  "unstable": {
+   "version": [
+    20221013,
+    1512
+   ],
+   "deps": [
+    "emacsql",
+    "pg"
+   ],
+   "commit": "ec4f3d091b8e2c60ee305a63a6f45f0ea5996ed6",
+   "sha256": "0wl3zs33lk61dnk2km7qyp5vzl973iq1zlriqy7qf40pxykmzbbv"
+  },
+  "stable": {
+   "version": [
+    3,
+    1,
+    1
+   ],
+   "deps": [
+    "emacsql",
+    "pg"
+   ],
+   "commit": "c1a44076c0e44d5730b67b13c0e741f66f52fc85",
+   "sha256": "1xpmji2qgr9r38cdhws65x9s9jy7fk93q8g1j2fm7j8kcfjh9x3g"
   }
  },
  {
   "ename": "emacsql-psql",
-  "commit": "9cc47c05fb0d282531c9560252090586e9f6196e",
-  "sha256": "1aa1g9jyjmz6w0lmi2cf67926ad3xvs0qsg7lrccnllr9k0flly3",
+  "commit": "f7e6b437ceaaba30f84580656fcaee728332bece",
+  "sha256": "10fxnb0l5y0l39yry6y3gshnaml19m62ii72770sdcfqi2llm3hw",
   "fetcher": "github",
-  "repo": "skeeto/emacsql",
+  "repo": "magit/emacsql",
   "unstable": {
    "version": [
-    20220918,
-    1902
+    20221013,
+    1512
    ],
    "deps": [
     "emacsql"
    ],
-   "commit": "18b40213fdc4cab2f836f5dc3f42b12f3c27af66",
-   "sha256": "1hcbigbiahcs9b0sb3grzff88bm6rsb3cs16c4c8lsqlfqkv1ghj"
+   "commit": "ec4f3d091b8e2c60ee305a63a6f45f0ea5996ed6",
+   "sha256": "0wl3zs33lk61dnk2km7qyp5vzl973iq1zlriqy7qf40pxykmzbbv"
   },
   "stable": {
    "version": [
     3,
-    0,
-    0
+    1,
+    1
    ],
    "deps": [
     "emacsql"
    ],
-   "commit": "8c5f095458aa37e4146b80d9319ee63571734127",
-   "sha256": "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"
+   "commit": "c1a44076c0e44d5730b67b13c0e741f66f52fc85",
+   "sha256": "1xpmji2qgr9r38cdhws65x9s9jy7fk93q8g1j2fm7j8kcfjh9x3g"
   }
  },
  {
   "ename": "emacsql-sqlite",
-  "commit": "3cfa28c7314fa57fa9a3aaaadf9ef83f8ae541a9",
-  "sha256": "1y81nabzzb9f7b8azb9giy23ckywcbrrg4b88gw5qyjizbb3h70x",
+  "commit": "f5f22149f13c361f6657d41f4a22ede651eaaa25",
+  "sha256": "0323bvxrg7sgkb8fpi96b7ks4ypgxgxkryk0ccx0wsjp2v87kajb",
   "fetcher": "github",
-  "repo": "skeeto/emacsql",
+  "repo": "magit/emacsql",
   "unstable": {
    "version": [
-    20220918,
-    1902
+    20221024,
+    1455
    ],
    "deps": [
     "emacsql"
    ],
-   "commit": "18b40213fdc4cab2f836f5dc3f42b12f3c27af66",
-   "sha256": "1hcbigbiahcs9b0sb3grzff88bm6rsb3cs16c4c8lsqlfqkv1ghj"
+   "commit": "e318a6c8f65371e2ab667d811205a0d9a98dacbb",
+   "sha256": "1p8ianzpkr6yra7va4pb9c4l9j8dm1l769wzsap5cdqgg7k45inw"
   },
   "stable": {
    "version": [
     3,
-    0,
-    0
+    1,
+    1
    ],
    "deps": [
     "emacsql"
    ],
-   "commit": "8c5f095458aa37e4146b80d9319ee63571734127",
-   "sha256": "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"
+   "commit": "c1a44076c0e44d5730b67b13c0e741f66f52fc85",
+   "sha256": "1xpmji2qgr9r38cdhws65x9s9jy7fk93q8g1j2fm7j8kcfjh9x3g"
   }
  },
  {
   "ename": "emacsql-sqlite-builtin",
-  "commit": "780e7b4449c54f6ff5716b4953c85accfb7f0ebd",
-  "sha256": "1a062am3ff11i8nh368m8yq8vwcgl9d7i4bcfilpx9zzm1car1va",
+  "commit": "402d5f088111264aaca5196da9ca3ffada3220c6",
+  "sha256": "0zxs2vlpxa9a2c7j9s0bpab7z5hjayr9jagamnaxa5cq8a488v8s",
   "fetcher": "github",
-  "repo": "emacscollective/emacsql-sqlite-builtin",
+  "repo": "magit/emacsql",
   "unstable": {
    "version": [
-    20220422,
-    1605
+    20221024,
+    1455
    ],
    "deps": [
-    "emacsql",
-    "emacsql-sqlite"
+    "emacsql"
    ],
-   "commit": "c6f66f2a94a0c520d5c1028858adc2ab0f959f96",
-   "sha256": "1yz3c32y60jnqrh4h6z5as0hb00higlj96fi8x3dyd9m711gr9m2"
+   "commit": "e318a6c8f65371e2ab667d811205a0d9a98dacbb",
+   "sha256": "1p8ianzpkr6yra7va4pb9c4l9j8dm1l769wzsap5cdqgg7k45inw"
   }
  },
  {
   "ename": "emacsql-sqlite-module",
-  "commit": "0efbc8e05348b2e87f9d1f08629e7a2389a089f4",
-  "sha256": "1p3jh49r7cmbc3r79ws3l44pxyrf9faywvgwhiakpa51295ilcqc",
+  "commit": "402d5f088111264aaca5196da9ca3ffada3220c6",
+  "sha256": "1p951ya66k0va5zjg49jy2dl1il9ajc2rf6p5mnymp0iwmg76r6i",
   "fetcher": "github",
-  "repo": "emacscollective/emacsql-sqlite-builtin",
+  "repo": "magit/emacsql",
   "unstable": {
    "version": [
-    20220422,
-    1605
+    20221024,
+    1455
    ],
    "deps": [
     "emacsql",
-    "emacsql-sqlite",
     "sqlite3"
    ],
-   "commit": "c6f66f2a94a0c520d5c1028858adc2ab0f959f96",
-   "sha256": "1yz3c32y60jnqrh4h6z5as0hb00higlj96fi8x3dyd9m711gr9m2"
+   "commit": "e318a6c8f65371e2ab667d811205a0d9a98dacbb",
+   "sha256": "1p8ianzpkr6yra7va4pb9c4l9j8dm1l769wzsap5cdqgg7k45inw"
   }
  },
  {
   "ename": "emacsql-sqlite3",
-  "commit": "5a25cf38b4f39b1c4d259143f1586fdad605b101",
-  "sha256": "06zm6vs6sry2lwksikxp0rjyvs1rgiqyapyw7m8hgy336h810v84",
+  "commit": "402d5f088111264aaca5196da9ca3ffada3220c6",
+  "sha256": "0kb92kgbhxllyx72igxlky5kzp9z8175zw9m8irxjb8x523sf499",
   "fetcher": "github",
   "repo": "cireu/emacsql-sqlite3",
   "unstable": {
@@ -28942,11 +29021,11 @@
   "repo": "oantolin/embark",
   "unstable": {
    "version": [
-    20220920,
-    1647
+    20221111,
+    143
    ],
-   "commit": "2422d4e86f24b2b4204f2441f953e8407d011a2e",
-   "sha256": "1k053s6mcsn3czq01c0xzah4sr25v01cymar8j8gags4np2dky8c"
+   "commit": "2aba953bf11f01b8ac9b2f44d151335eaf09802f",
+   "sha256": "0fd3x4f5dbm4bhqq3g2z03w6fb2zrrlvw6zxl39ldmq5gmparfbn"
   },
   "stable": {
    "version": [
@@ -28965,15 +29044,15 @@
   "repo": "oantolin/embark",
   "unstable": {
    "version": [
-    20220918,
-    100
+    20221023,
+    1636
    ],
    "deps": [
     "consult",
     "embark"
    ],
-   "commit": "fc9f13863c168a2c25b22a10c8f6f8a87b662ea7",
-   "sha256": "1127siihv7j5ym926llc2965g2wwvj31r4igz3gh6jzdiw6frpdv"
+   "commit": "f2a83a6db4fbbf171692ca751ff7175daec62cff",
+   "sha256": "0gi2bin3kx2hf6v5lj6ijnwna0s9h6xpq1pmyjn5rdg331r408di"
   },
   "stable": {
    "version": [
@@ -29117,11 +29196,11 @@
   "repo": "smihica/emmet-mode",
   "unstable": {
    "version": [
-    20210820,
-    1124
+    20221111,
+    329
    ],
-   "commit": "0d03a59201383f37632f718012bd835222d11a8d",
-   "sha256": "1y1wna9pisnzqg4h7db6vhjzgf5bi9vv9xra5b6y7asimg8jxk2b"
+   "commit": "63b6932603184956b5ea8919036d2b307b48d7fd",
+   "sha256": "1g0fvp98w23dsyi75idyv4jf90635z80hchd1k13pychla6bw76j"
   },
   "stable": {
    "version": [
@@ -29141,28 +29220,28 @@
   "url": "https://git.savannah.gnu.org/git/emms.git",
   "unstable": {
    "version": [
-    20220923,
-    2202
+    20221006,
+    1511
    ],
    "deps": [
     "cl-lib",
     "nadvice",
     "seq"
    ],
-   "commit": "e2d64ee4acb8cf25daa88dfaf16a8a12c03abf3a",
-   "sha256": "1nacmp8p28w40mzkh66vxk2qikrw3lpqkq43r8p1bv0wjjicf3ww"
+   "commit": "d9f67eeb1ce68c228fcbe02596318c6452b6292a",
+   "sha256": "0mafdjgyn7f6yzzl8pxasmanrz57xr385n00xyzg0p9dl7xrb2rd"
   },
   "stable": {
    "version": [
-    11
+    12
    ],
    "deps": [
     "cl-lib",
     "nadvice",
     "seq"
    ],
-   "commit": "912024027e797d2671b4a9ffbfc9f634b8f7aa84",
-   "sha256": "0hkfjqhfjrggmdnsbi4z742qf92kw40jm3yciypd4j811lkiassk"
+   "commit": "88cbd8c8fae985f077418647a5cb1b69f8b6d18b",
+   "sha256": "1kk4fqhj1rsahd5zn7ngs7si9blx1cvp75ch651r4a549mjbad83"
   }
  },
  {
@@ -29674,11 +29753,11 @@
   "repo": "zenspider/enhanced-ruby-mode",
   "unstable": {
    "version": [
-    20220717,
-    652
+    20221011,
+    1957
    ],
-   "commit": "8dcb8888cd8007420594212945fee88f82b663f6",
-   "sha256": "1p98jxfjvc4y42sk5hja1v9vrqycgpj2zqx1fgjaqac0a4f0032j"
+   "commit": "7e76d754e1632b4fc9a024fa393c3fc837bcc86b",
+   "sha256": "1gc2kgvnzq6m6hswcvsd4c00xywi2phdnr121r53kvsv46avrq9z"
   },
   "stable": {
    "version": [
@@ -29778,15 +29857,15 @@
   "repo": "purcell/envrc",
   "unstable": {
    "version": [
-    20220924,
-    833
+    20221118,
+    1647
    ],
    "deps": [
     "inheritenv",
     "seq"
    ],
-   "commit": "27d2886cc36039527e4e86fc654eaef3804dc4a0",
-   "sha256": "0iwx0pijcvdsbrsywiykm964haq7bsbkwhyd8a44k0swkyzw0fxa"
+   "commit": "c54bf9e6972c563d345e20571ffd44d7bfb56974",
+   "sha256": "0nfk85qai1nfr7ls2vhrwnvqfrvf69gsfj4py2rk503wgxabchbx"
   },
   "stable": {
    "version": [
@@ -29923,15 +30002,15 @@
   "repo": "emacscollective/epkg",
   "unstable": {
    "version": [
-    20220927,
-    1207
+    20221118,
+    2249
    ],
    "deps": [
     "closql",
     "compat"
    ],
-   "commit": "582759aa230e1de252f7b60711e38034769ab602",
-   "sha256": "1cgxqaif9azbmfi101alca1x728jm5l5dzly9fczamlbz587jaac"
+   "commit": "40bb1f5e0c4fe155d34dc6f7b002fd2560c51013",
+   "sha256": "1lrpg2xwk8rs8zk125fs78w5nfs210r1qq1gbmi0zvyy2xz4jfrv"
   },
   "stable": {
    "version": [
@@ -30585,10 +30664,11 @@
     2,
     6,
     2,
-    2
+    2,
+    20221106
    ],
-   "commit": "442c76badc353d1b621243c43293106f60f7d746",
-   "sha256": "0kskd56y71p4w1bgr15szbzjl05kfxpf1cs4bd9dnwdwfp5s0ygw"
+   "commit": "b00db9d927d8951c44ef2e80fd4941180e9f40e7",
+   "sha256": "17f1w71r4pbmssg40xx3nx2chk28f0nc8adhr4vnq3ijkw69v1c7"
   }
  },
  {
@@ -30599,19 +30679,20 @@
   "repo": "erlang/otp",
   "unstable": {
    "version": [
-    20220215,
-    1844
+    20221019,
+    643
    ],
-   "commit": "7e702ac4b321c4870bdbbfc4c24ac3a5d5d572b5",
-   "sha256": "11brsimchkqbgdqcfhdkprx7nfm05paxrjb5bgh8h24izp3v7jzl"
+   "commit": "1da7d9bc5ec5c30c34435aee72601f44c4e7e38d",
+   "sha256": "1vj3g17mgh8brfy7j0c76yn7s0hcd9hgmilnyhcplz8x76w96w4l"
   },
   "stable": {
    "version": [
     25,
-    1
+    1,
+    2
    ],
-   "commit": "6efb5e31df6bc512ed6c466584ef15b846dcecab",
-   "sha256": "1wrdcc576ad4fibm95c3mfni8sg1h536b4affdj05qg5cyjjwwis"
+   "commit": "38ad8e28421c745c06ef9bd55f6e6204cd1f15ef",
+   "sha256": "0fn6zyqrgyiznyghkhygak524f3clc3kz91rarq8cqn3r920dmg9"
   }
  },
  {
@@ -30825,8 +30906,8 @@
   "repo": "dakrone/es-mode",
   "unstable": {
    "version": [
-    20220912,
-    1442
+    20221026,
+    1103
    ],
    "deps": [
     "cl-lib",
@@ -30835,8 +30916,8 @@
     "s",
     "spark"
    ],
-   "commit": "7db6bee12496c2cc70bfff05ca4d3b376d50db7a",
-   "sha256": "0mrs2ynk9gj3c5x7rcbri9lq0xhq72zd20h6xd1016ihs5dk56lm"
+   "commit": "e82465fd785688bb58918ea62ca4de06a2a23a1e",
+   "sha256": "0nb0nh651wnx8916j4ybhmadfk4ri6gnpfw9x58fv50nnmna9bc9"
   },
   "stable": {
    "version": [
@@ -31556,11 +31637,11 @@
   "repo": "emacs-ess/ESS",
   "unstable": {
    "version": [
-    20220915,
-    2126
+    20221108,
+    1714
    ],
-   "commit": "f45542e723d7415f5e22bcf39f25e31d055d168c",
-   "sha256": "088dd8mmsabpg639r08rv8kz6qzmlmgfvqln8k26h0szzrin01di"
+   "commit": "7ec23bf341c23445c98f5e1faf6a1369b92f2e9f",
+   "sha256": "0g0gp2f5a1p4vh60yispyq4ilq744j5qa3bds362f9cwcf32q7cw"
   },
   "stable": {
    "version": [
@@ -31881,6 +31962,21 @@
   }
  },
  {
+  "ename": "etd",
+  "commit": "811ae26187fec7d656e27193208e0d662f316662",
+  "sha256": "0lagwan61zgk5wyjjv6dx3hsasprsl1fvppf6339p7i97vfy1jdj",
+  "fetcher": "github",
+  "repo": "emacsfodder/etd",
+  "unstable": {
+   "version": [
+    20221003,
+    114
+   ],
+   "commit": "f26f603d088631ce0466aa529de7156fa94ffbc5",
+   "sha256": "0x9pdrarbddd240nwxwi487l66m2w496mq1sqf6ghw778sjy9yda"
+  }
+ },
+ {
   "ename": "eterm-256color",
   "commit": "e556383f7e18c0215111aa720d4653465e91eff6",
   "sha256": "1mxc2hqjcj67jq5k4621a7f089qahcqw7f0dzqpaxn7if11w333b",
@@ -32174,15 +32270,15 @@
   "repo": "emacs-evil/evil",
   "unstable": {
    "version": [
-    20220929,
-    1317
+    20221115,
+    1255
    ],
    "deps": [
     "cl-lib",
     "goto-chg"
    ],
-   "commit": "0aaf5944db224f1d8948acac64e2b703ed151446",
-   "sha256": "0b0frclfbh9k5igv5gdcgb9cwnwmnxcmkf5sgsmm8glrnvgblg1q"
+   "commit": "5ce46a1fc175a8f13507ce2b6ec4c3618923f093",
+   "sha256": "19mkwjnsq04mldc70mimkl7bc9mqigc619rpzc9dl7z65z7fgk8c"
   },
   "stable": {
    "version": [
@@ -32375,15 +32471,15 @@
   "repo": "emacs-evil/evil-collection",
   "unstable": {
    "version": [
-    20220926,
-    1733
+    20221031,
+    1942
    ],
    "deps": [
     "annalist",
     "evil"
    ],
-   "commit": "f45f4ab142adc02582e88d18e8f7ac904802b4c1",
-   "sha256": "04ak4hjg8dlzcx104lgmx66ip57z9vswhjhn2sx2b2sfyfhkbi6y"
+   "commit": "c3611aefc36d2236de1f085720c4c017ac0eb4cf",
+   "sha256": "0hbrvvb4h34w5fh4hplg3z3if13jqzll0lbsfg8ic1l61nicky4q"
   },
   "stable": {
    "version": [
@@ -32467,24 +32563,6 @@
   }
  },
  {
-  "ename": "evil-ediff",
-  "commit": "b3eff8cd4bedff3e2111d96743d94be5053826f1",
-  "sha256": "0yglhxm670996hd7305q38y5f47y87n75hh0q7qlm2vra2m2wa5s",
-  "fetcher": "github",
-  "repo": "emacs-evil/evil-ediff",
-  "unstable": {
-   "version": [
-    20170724,
-    1923
-   ],
-   "deps": [
-    "evil"
-   ],
-   "commit": "67b0e69f65c196eff5b39dacb7a9ec05bb919c74",
-   "sha256": "0f8g07fyzyc8pdwizyj62v0dy65ap885asph83529y0j8wnni8ps"
-  }
- },
- {
   "ename": "evil-embrace",
   "commit": "d4886f068766514deab5673b4366d6bdd311e3b6",
   "sha256": "10cfkksh3llyfk26x36b7ri0x6a6hrcv275pxk7ckhs1pyhb14y7",
@@ -32518,33 +32596,33 @@
  },
  {
   "ename": "evil-escape",
-  "commit": "855ea20024b606314f8590129259747cac0bcc97",
-  "sha256": "0jiwsgcqw8m6z4z82gx0m0r0vbvkcxc0czhn4mqjwkhhglwzgi8l",
+  "commit": "657ffe9e8dac16a89c52cb9137afbcc45e28fa60",
+  "sha256": "00dhynqcx9d5qi0svr5qa8cj1nybrxj2r00v86nl94pi8j4qfb28",
   "fetcher": "github",
-  "repo": "syl20bnr/evil-escape",
+  "repo": "emacsorphanage/evil-escape",
   "unstable": {
    "version": [
-    20180910,
-    1234
+    20221010,
+    2116
    ],
    "deps": [
     "cl-lib",
     "evil"
    ],
-   "commit": "f4e9116bfbaac8c9d210c17ad488e0982291245f",
-   "sha256": "1whppnlzkjig1yrz0fjvp8cy86215gjahgh88166nzk95wlc3pvf"
+   "commit": "3c335a5709b1abb08687960038746b36add465f9",
+   "sha256": "1z30v59igndqzxg9gcx4bsbf5jkh11wp936il8azkrz3qdryaj4a"
   },
   "stable": {
    "version": [
     3,
-    14
+    16
    ],
    "deps": [
     "cl-lib",
     "evil"
    ],
-   "commit": "b4d44fc5015341e484495fc86b73d09b2ac062ec",
-   "sha256": "0s8lmmm25qabicwaj9jybpbd8mkc62yl7jnhk1lpablydjkv3w2i"
+   "commit": "3c335a5709b1abb08687960038746b36add465f9",
+   "sha256": "1z30v59igndqzxg9gcx4bsbf5jkh11wp936il8azkrz3qdryaj4a"
   }
  },
  {
@@ -33070,20 +33148,20 @@
   "repo": "redguardtoo/evil-nerd-commenter",
   "unstable": {
    "version": [
-    20220718,
-    1414
+    20221015,
+    245
    ],
-   "commit": "d34ad3001f70d041d676df9cd947784244ebe93e",
-   "sha256": "1i4q9lpak6cj1an40d95z6skqy0j3dryn0vvnbhhw1y5l6w4917x"
+   "commit": "9609fb170da00aeca1716b022d93e1cb68464a34",
+   "sha256": "0xrbmz9mx4aclqgjyjaq7vj9xf4291rw4nxaz2nvqblv8yylqbr0"
   },
   "stable": {
    "version": [
     3,
     5,
-    7
+    8
    ],
-   "commit": "29ced6fda6a76771a8a054ef55c13a1330793d4d",
-   "sha256": "0xnm8i23c2p3mdf4xxjk00766ygvysk7c8iib2jkah5pfg6jc9vb"
+   "commit": "9609fb170da00aeca1716b022d93e1cb68464a34",
+   "sha256": "0xrbmz9mx4aclqgjyjaq7vj9xf4291rw4nxaz2nvqblv8yylqbr0"
   }
  },
  {
@@ -33167,14 +33245,14 @@
   "repo": "Somelauw/evil-org-mode",
   "unstable": {
    "version": [
-    20220227,
-    1024
+    20221001,
+    2335
    ],
    "deps": [
     "evil"
    ],
-   "commit": "0d10ff7bb9a3a93d25cd91018b17f0a052b335f3",
-   "sha256": "15g47xgpswzc8lz7qdbbzfcq1n9m4474qa2jkg43l8d5ali8qa7z"
+   "commit": "b1f309726b1326e1a103742524ec331789f2bf94",
+   "sha256": "1xjmar7zny1g62881ym2dpp3f0cmwh8y8d14phja8y4w6nhiz3s4"
   },
   "stable": {
    "version": [
@@ -33716,15 +33794,15 @@
   "repo": "iyefrat/evil-tex",
   "unstable": {
    "version": [
-    20220415,
-    842
+    20221021,
+    1344
    ],
    "deps": [
     "auctex",
     "evil"
    ],
-   "commit": "44830d42eaec6dd78cbb6d700e898bbf89ed57b9",
-   "sha256": "1s5lfl74skr8n0fb46c1hkaqdq7vhmi7j95aksarz201njmapnz6"
+   "commit": "97616a81fb88ad558051b57d899fdaba56d8d7fa",
+   "sha256": "1v80bx3gq7ld03gzafbnsj2nkzc6zd7v7lsmdcp9qdpnnz88i3ky"
   },
   "stable": {
    "version": [
@@ -33895,15 +33973,15 @@
   "repo": "meain/evil-textobj-tree-sitter",
   "unstable": {
    "version": [
-    20220930,
-    1401
+    20221024,
+    351
    ],
    "deps": [
     "evil",
     "tree-sitter"
    ],
-   "commit": "fad2178f4455301afcafcf93d93fa5c5ca2aed47",
-   "sha256": "00yfc4hwbsdm9qfvi8pbva7ifr2lxrcrnb16dv05jmfssx8kdpdk"
+   "commit": "087c3c3ce249515446d01f4a98d9fadc2bc41666",
+   "sha256": "0jds213935jf84fq6ks0fcd6ilc14xzfs1rdmhr4kajalkl8127w"
   }
  },
  {
@@ -34154,10 +34232,10 @@
  },
  {
   "ename": "ewal",
-  "commit": "b95fa8694bd49595da9fb56454e6539e76feff97",
-  "sha256": "1gwq8n64v173g2jp2i23qm9lzbhjikr6y0j6nry720sa7j0y4pm2",
+  "commit": "517cb9637e8fe5a05b6c1ee86e5fa11a87abc7b4",
+  "sha256": "1vdzdwd911vqnab82jik8f3jb8ry88fywcrzrdp57dcsh3wz658s",
   "fetcher": "github",
-  "repo": "wurosh/ewal",
+  "repo": "cyruseuros/ewal",
   "unstable": {
    "version": [
     20200305,
@@ -34178,10 +34256,10 @@
  },
  {
   "ename": "ewal-doom-themes",
-  "commit": "b95fa8694bd49595da9fb56454e6539e76feff97",
-  "sha256": "0fn1ds2w7zcfqrcn9p74sz4hkccwg4xf8dbcgxg9sxzl89waya4b",
+  "commit": "9a6ca6eda4e8c94950af90d7d2889c7603597e83",
+  "sha256": "0hbrb05aja245zzkbcgm8ri5l6jkk8lv6kygmgm2b5klswg4vacx",
   "fetcher": "github",
-  "repo": "wurosh/ewal",
+  "repo": "cyruseuros/ewal",
   "unstable": {
    "version": [
     20200922,
@@ -34210,10 +34288,10 @@
  },
  {
   "ename": "ewal-evil-cursors",
-  "commit": "b95fa8694bd49595da9fb56454e6539e76feff97",
-  "sha256": "1xkjf31ba3ixv7nmxngba9pswpfr1nj4jni5y08rxfjxirwm0vbl",
+  "commit": "a85152f2fe8f4f6508001481615f9b9010fc8fa2",
+  "sha256": "0nsd4w1va85c3y9bch9vah72h9bdy4y5c6gdsqgrc28k7vscx4qq",
   "fetcher": "github",
-  "repo": "wurosh/ewal",
+  "repo": "cyruseuros/ewal",
   "unstable": {
    "version": [
     20190911,
@@ -34240,10 +34318,10 @@
  },
  {
   "ename": "ewal-spacemacs-themes",
-  "commit": "b95fa8694bd49595da9fb56454e6539e76feff97",
-  "sha256": "1dliqwmlnl9bdw166xyadlgf3is22qn5bzrm0mv2gqi8p8ib5dl8",
+  "commit": "a85152f2fe8f4f6508001481615f9b9010fc8fa2",
+  "sha256": "0k1jlj1yb8dwdj65k5ck5qxgskmfwy892jqpqpfrnkb1bx519qmx",
   "fetcher": "github",
-  "repo": "wurosh/ewal",
+  "repo": "cyruseuros/ewal",
   "unstable": {
    "version": [
     20190911,
@@ -34410,8 +34488,8 @@
   "repo": "anonimitoraf/exercism.el",
   "unstable": {
    "version": [
-    20221001,
-    1037
+    20221030,
+    2058
    ],
    "deps": [
     "a",
@@ -34423,8 +34501,8 @@
     "s",
     "transient"
    ],
-   "commit": "44dca0c889ac605777257ec3db442263772bb2c6",
-   "sha256": "1nzjfbyl0n4h9h9rrb037i65xd6j22ymvhb5irmrqvxbb2fvfs7w"
+   "commit": "22b270047541a8173467d0e929e318b9f8606c3c",
+   "sha256": "1z0plm622dn5ybqlmagiy91wqj956qrlyys6557yw1l1rqvjc3ds"
   }
  },
  {
@@ -34489,11 +34567,11 @@
   "repo": "magnars/expand-region.el",
   "unstable": {
    "version": [
-    20220729,
-    659
+    20221030,
+    957
    ],
-   "commit": "c5c4362741deebb0985a8a29f9b8b0e25160764a",
-   "sha256": "17h58v5mnggbrwrp61cwkqx8hzazkdqyz9p6s1hl9g2hys7zkb00"
+   "commit": "b70feaa644310dc2d599dc277cd20a1f2b6446ac",
+   "sha256": "1lzqkcc08gjnwypcwydd81bva1d4s6l0c14k3z3fsjpsa3kynv5x"
   },
   "stable": {
    "version": [
@@ -34643,11 +34721,11 @@
   "url": "https://repo.or.cz/external-dict.el.git",
   "unstable": {
    "version": [
-    20220816,
-    2136
+    20221113,
+    1021
    ],
-   "commit": "680c37f01e5205805dffeef05be00e2196886a8c",
-   "sha256": "01rq6xw86q03br55njh51myzl2v1wfb2z6xpapwfs77rcismx616"
+   "commit": "c790489635a497cdb8f4277a982677c95479ffb0",
+   "sha256": "08sh4j4hd09r9ahrr19g1lky14s7sqqpyjhjwn3lv0mbs971zhgn"
   }
  },
  {
@@ -34682,16 +34760,16 @@
   "repo": "ananthakumaran/exunit.el",
   "unstable": {
    "version": [
-    20211209,
-    1012
+    20221019,
+    1320
    ],
    "deps": [
     "f",
     "s",
     "transient"
    ],
-   "commit": "8871bb12ce0cdb209029ab796b0b202735f82f7f",
-   "sha256": "1pk918xnx506q3c7927pr1h22hayg68bia8cq9ziy3rphldj0j3z"
+   "commit": "e0a8c2b81f3d53885ed753b911b3cb6ee9229bec",
+   "sha256": "1wwhb42q86730wn08iyv4538xhvjq62jpm79bxpr1dcanc9w0wab"
   }
  },
  {
@@ -34949,18 +35027,18 @@
   "repo": "thblt/eziam-theme-emacs",
   "unstable": {
    "version": [
-    20200327,
-    1810
+    20221003,
+    1256
    ],
-   "commit": "f30927040c77f88cd1859be59978cddd238bf386",
-   "sha256": "1p7nli4abv8cbbplwjpljw039b0z0mi916j1fw2738n5mr38b236"
+   "commit": "5bec687a692331f7d8e1fe012817d66c40234bad",
+   "sha256": "1br74wkzvq51wqhimsf0c7pzvfpcb80hb47dqjahh938y7x0fkdc"
   },
   "stable": {
    "version": [
-    3
+    5
    ],
-   "commit": "e0c0daa37c3d70880052b3d55fcda05b92d575a6",
-   "sha256": "0jv0l1hcb33cinqivckhp18a8fkxpg38pkdyva1zripgz1ldjvxc"
+   "commit": "5bec687a692331f7d8e1fe012817d66c40234bad",
+   "sha256": "1br74wkzvq51wqhimsf0c7pzvfpcb80hb47dqjahh938y7x0fkdc"
   }
  },
  {
@@ -35288,29 +35366,37 @@
   "repo": "condy0919/fanyi.el",
   "unstable": {
    "version": [
-    20220805,
-    216
+    20221117,
+    1821
    ],
    "deps": [
     "s"
    ],
-   "commit": "031c7ab7a16113bdca2b351781dc95aff9658c9a",
-   "sha256": "0d9v93ll884srr8f6di1iyp396wr0bklip6cv0xydw3mimv2rv3x"
+   "commit": "7181af0d848226ecdb9f517d8e4cf219d00f9000",
+   "sha256": "15i0j6r9wvzs96zys842akzdklrz2yrblc8zm5pcfs6rb56nnk7i"
   }
  },
  {
-  "ename": "farmhouse-theme",
-  "commit": "3b0d427db8ab66d2fe323366b0837595b3b59afa",
-  "sha256": "0hbqdrw6x25b331qhbg3yaaa45c2b896wknsjm0a1kg142klq229",
+  "ename": "farmhouse-themes",
+  "commit": "0dafbc9c4ba23eaae9e2d6ffac487bb5746c9aa9",
+  "sha256": "18v53d40zzkpdk2wv9q553cf9arf2j2g1ifkd96vhrdjxd92hjai",
   "fetcher": "github",
-  "repo": "mattly/emacs-farmhouse-theme",
+  "repo": "emacsorphanage/farmhouse-themes",
   "unstable": {
    "version": [
-    20160713,
-    2244
+    20221025,
+    2054
+   ],
+   "commit": "30c763d01611dad88f1a1ff88451431e2629016d",
+   "sha256": "1ywm5k2zwamqm5h13fydsvahpfml5s292xy1ds1k9j33r44rqcyl"
+  },
+  "stable": {
+   "version": [
+    1,
+    1
    ],
-   "commit": "7ddc1ff13b4a3d5466bd0d33ecb86100352e83a7",
-   "sha256": "09k6agh205kr2lif354m38l3967b0jajm14rgpl7l1vlajh8wzfd"
+   "commit": "30c763d01611dad88f1a1ff88451431e2629016d",
+   "sha256": "1ywm5k2zwamqm5h13fydsvahpfml5s292xy1ds1k9j33r44rqcyl"
   }
  },
  {
@@ -35657,11 +35743,11 @@
   "repo": "technomancy/fennel-mode",
   "unstable": {
    "version": [
-    20220928,
-    842
+    20221025,
+    1830
    ],
-   "commit": "9173638b9a1f15e94a05440fdaec7a2f9ea45438",
-   "sha256": "0bb59s38lwpkmbwxld0z69jj3fk6h97yn2gqv51xm2rbkg2s92wc"
+   "commit": "da958db7a6fdeeaf202cd8fdca630e85dbf6a455",
+   "sha256": "13ycnl5js9j8208cawm3vpkcqzw6nfjf097hihy3nsn9x1wszlkl"
   },
   "stable": {
    "version": [
@@ -35807,8 +35893,8 @@
   "repo": "knpatel401/filetree",
   "unstable": {
    "version": [
-    20220312,
-    1650
+    20221108,
+    236
    ],
    "deps": [
     "dash",
@@ -35816,8 +35902,8 @@
     "seq",
     "transient"
    ],
-   "commit": "9125e5b7ebbb99b8c007018fcfd5034e7ac6630d",
-   "sha256": "1gwx52498q6yg8vyfdw4mrxjj49cbcaf9r95rl2dcms9rb9s5rqv"
+   "commit": "1c48ef63a639bfe1ae4d5095725ef88a3f2c590d",
+   "sha256": "1y20zz6n72g4bqlfxfjlc7zgpf2qpd7q6qn13bvrn47104v9qjli"
   }
  },
  {
@@ -36719,15 +36805,15 @@
   "repo": "wanderlust/flim",
   "unstable": {
    "version": [
-    20220720,
-    1311
+    20221103,
+    353
    ],
    "deps": [
     "apel",
     "oauth2"
    ],
-   "commit": "b27f4ae0bff18791bf41efa346cdc2eb35ad53e7",
-   "sha256": "1yd1f3fg64lk9isf0dvd2afkgq6fw6h5f7k0afz0nbs0vid482s1"
+   "commit": "57c6b868aa314717f40a520daed7249665e8d992",
+   "sha256": "1mf8r5mf3bd0719fnhifb6lfvl7n4m552crcdhkbkkif8srrl6df"
   }
  },
  {
@@ -37020,8 +37106,8 @@
   "repo": "flycheck/flycheck",
   "unstable": {
    "version": [
-    20220928,
-    1355
+    20221112,
+    1552
    ],
    "deps": [
     "dash",
@@ -37029,8 +37115,8 @@
     "pkg-info",
     "seq"
    ],
-   "commit": "d72c29fec85f1da6584475d88c1265f80e1275ad",
-   "sha256": "1l39inrl26z9z13hdvbi8wk0zqnx31j4g2bs5nv80fxc8j5sxqna"
+   "commit": "ab93e2db1dd8333e86f8aeeafbf1e2a0e5f0be38",
+   "sha256": "10q5jlkbg0hvm96n2xr8k16ykwdvchb04h79bzhhm4x3zd99q4p7"
   },
   "stable": {
    "version": [
@@ -38017,16 +38103,16 @@
   "repo": "emacs-grammarly/flycheck-grammarly",
   "unstable": {
    "version": [
-    20220704,
-    625
+    20221116,
+    1127
    ],
    "deps": [
     "flycheck",
     "grammarly",
     "s"
    ],
-   "commit": "ae6105c353e50aaf3d8056d19a8f9d55bae8e073",
-   "sha256": "1j816rxrzdibw30mhnkh4fqb3lby51203rc97nmcn8qr9vcy1hhg"
+   "commit": "c9ed648745cb94dc3420d622f84456decd0d0aeb",
+   "sha256": "0mggj1jma9r3sg6qc9zjbll7a9yklsyjf8kyg3g2vha7qchwaml3"
   },
   "stable": {
    "version": [
@@ -38081,8 +38167,8 @@
   "repo": "flycheck/flycheck-haskell",
   "unstable": {
    "version": [
-    20220426,
-    2358
+    20221111,
+    59
    ],
    "deps": [
     "dash",
@@ -38091,8 +38177,8 @@
     "let-alist",
     "seq"
    ],
-   "commit": "d92dea78fb8638f7c27a3eb925d84c669fb257dd",
-   "sha256": "0sv8k40h4qxlfwz2g8qzrri5vwwan5aadk9snaif10ix84zyfzbn"
+   "commit": "50425a8b96fea84ea15940a4a07b184e43bb8e7a",
+   "sha256": "088w5f8zw01lr4h6dzdnl36hg5ijln9mknwp7ydvl1scw6v4clf0"
   },
   "stable": {
    "version": [
@@ -39661,11 +39747,11 @@
   "repo": "leotaku/flycheck-aspell",
   "unstable": {
    "version": [
-    20220411,
-    826
+    20221025,
+    1844
    ],
-   "commit": "5ec0f9b28b1d86eec192b23bc24d9a33dfe51882",
-   "sha256": "02qv8gxlnasak87gggfg1643m5281fzjh4snpq1gjwyv6biqlldz"
+   "commit": "6efe0ae2d82ba83c563e117b290cb22ae91d2f58",
+   "sha256": "1y0skf7vnym6qn3q9gkzb0pzalpcsqzaa6vprr6alr73yh59vz2n"
   }
  },
  {
@@ -39705,15 +39791,15 @@
   "repo": "mohkale/flymake-collection",
   "unstable": {
    "version": [
-    20220918,
-    1326
+    20221113,
+    1
    ],
    "deps": [
     "flymake",
     "let-alist"
    ],
-   "commit": "023472345980c251429046d6a20e85c76f9e928e",
-   "sha256": "1zfysavx2w5mvy2mgi3v32205f1b7zfcrabi17rzi0v88h8j46a8"
+   "commit": "274e5ec3e614e73fd0d7c3e1ffc652461bf5b5f3",
+   "sha256": "18mwz6i84y1wdw8zq13rmx8jsax6fkiqvlbngix7sp2vy8mqgv5c"
   },
   "stable": {
    "version": [
@@ -39842,6 +39928,30 @@
   }
  },
  {
+  "ename": "flymake-elisp-config",
+  "commit": "11cf3b5e38a99673f65a9bc410cd6faaa2889396",
+  "sha256": "019r9a30jdyjxk2rghbx7g16gpfdhq555s32cmbh9yxxvc7jz683",
+  "fetcher": "github",
+  "repo": "ROCKTAKEY/flymake-elisp-config",
+  "unstable": {
+   "version": [
+    20221110,
+    1626
+   ],
+   "commit": "e946d9a761a8427dfdd0ae634bcfce4d56111947",
+   "sha256": "1caclvx5k4x7pdd3pzm2kr1vkncwjgq9w15hbhr16y3sr2g8lh7k"
+  },
+  "stable": {
+   "version": [
+    0,
+    4,
+    0
+   ],
+   "commit": "1d6a7d82a89e265f22e0851f3c1d2e78ef74ce0d",
+   "sha256": "14a62l6c7ni5i4wnn18x0wswc0xvyf0lc6mcavdad8v3c9rip66l"
+  }
+ },
+ {
   "ename": "flymake-elixir",
   "commit": "05dae578f0dd6b5185f666431b3f36aad3aeffa1",
   "sha256": "15r3m58hnc75l3j02xdr8yg25fbn2sbz1295ac44widzis82m792",
@@ -39864,11 +39974,11 @@
   "repo": "orzechowskid/flymake-eslint",
   "unstable": {
    "version": [
-    20220318,
-    152
+    20221002,
+    2307
    ],
-   "commit": "bfcf28259c7d774b259a6ed122f1f0936a5b96b9",
-   "sha256": "18rvmvaw7jdlrc4xvl9nw9lawwqnd5ahnf7j95qlqfrr3fm2avmw"
+   "commit": "efbf9e1fcc6ba4959c4ad0435742c96099f4f96f",
+   "sha256": "0qmfwfi818l8v18srkbz7hsq59wdklgdlqx1q6824qjndbrb41nq"
   },
   "stable": {
    "version": [
@@ -39993,15 +40103,15 @@
   "repo": "emacs-grammarly/flymake-grammarly",
   "unstable": {
    "version": [
-    20220704,
-    626
+    20221116,
+    1127
    ],
    "deps": [
     "grammarly",
     "s"
    ],
-   "commit": "4bbf93df6ca31a925417b656eec521f7b2c85681",
-   "sha256": "0vai15xyzyp9hc2pafaa8nwsqs56yvrf1fkkk7mdzr03pfg3qdc7"
+   "commit": "e3ed1a8bcb80a002a29fcc82e205d010bd9f3505",
+   "sha256": "0nf7y37livrhj3dapwzbpal5jclc0arr2hwvhhzyck5mg1q6vi5r"
   },
   "stable": {
    "version": [
@@ -40256,14 +40366,14 @@
   "repo": "emacs-languagetool/flymake-languagetool",
   "unstable": {
    "version": [
-    20220922,
-    1914
+    20221116,
+    1917
    ],
    "deps": [
     "s"
    ],
-   "commit": "f30d3ddb5b27bd700d3965709125940df32217af",
-   "sha256": "1xq4lsqvfwdhszgs7dzvm8rcdp0xpahk0ppjmx46xng3lqq885rv"
+   "commit": "b4b4d9f041dbc887f3adfb61600e9df4e51f9917",
+   "sha256": "0vyqh5h5rc12hk8w801wqi1nrcq5m6r5swak9vca7fh0rihjimz6"
   },
   "stable": {
    "version": [
@@ -40759,11 +40869,11 @@
   "repo": "erickgnavar/flymake-sqlfluff",
   "unstable": {
    "version": [
-    20220925,
-    2144
+    20221116,
+    729
    ],
-   "commit": "b76f335555c9a94ffc3d7281f3dca345de474eed",
-   "sha256": "0snghmn59xcfqb90rgfph8fviapcwhh7d76hls54ixc6lc5za42p"
+   "commit": "8ce6b40ebcb3a90e23621e2e1b85e3d06bed5e76",
+   "sha256": "1jfhwr4a3imi1n8akarxakdxv90d4icx1r1yjfsjj9hvlgxads4s"
   }
  },
  {
@@ -41162,26 +41272,26 @@
   "repo": "larstvei/Focus",
   "unstable": {
    "version": [
-    20220910,
-    1300
+    20221016,
+    1846
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "9dd85fc474bbc1ebf22c287752c960394fcd465a",
-   "sha256": "1cz44s8bh0y3qbw06hbqr196apj7yn9xq0gbpq4dv6zg49hqfjkx"
+   "commit": "2507ec4ec5a9402647ef85540669db1815520c15",
+   "sha256": "0qbzbs18isxyf5yiz64vyxvzjpfjdaafxnas2lhx3sjkgglb08i2"
   },
   "stable": {
    "version": [
     1,
     0,
-    0
+    1
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "5f3f20e7f22fb9fd7c48abce8bd38061d97e4bc0",
-   "sha256": "0a55i4bychfnnzjg67a9h4j130hchcg44446dwwx1l1h48i692dw"
+   "commit": "2507ec4ec5a9402647ef85540669db1815520c15",
+   "sha256": "0qbzbs18isxyf5yiz64vyxvzjpfjdaafxnas2lhx3sjkgglb08i2"
   }
  },
  {
@@ -41460,19 +41570,19 @@
   "repo": "usaoc/elisp-for",
   "unstable": {
    "version": [
-    20220929,
-    1246
+    20221017,
+    634
    ],
-   "commit": "22de9e71e0b7f831da4e4a756c75abcc73a02fad",
-   "sha256": "12asqfhy6bmwg7k0iysvv1z85cvnyrwrl8bzbjrx7giwyy3rk30l"
+   "commit": "7b5d13eae258c5299a6525cb32a3bb69fb7f652c",
+   "sha256": "1ax6wpawa6zlizbdcvgklyq7nz6jiwdmlz7ln9aq81m4qzap44ql"
   },
   "stable": {
    "version": [
     1,
-    2
+    3
    ],
-   "commit": "5df8659ef315882b90f84da2eb9adf95443b571c",
-   "sha256": "0xm4l2kiy5j1pjjrja7791msb37fi26nabfhnacxaiagxksxlda5"
+   "commit": "e82e63f5235d22901c4774eef3ff3d17df6472b7",
+   "sha256": "12scp1yc2h2vl17y4csaf8rcczhqcajc33mwdiklpl8nzviswbdv"
   }
  },
  {
@@ -41564,8 +41674,8 @@
   "repo": "magit/forge",
   "unstable": {
    "version": [
-    20220915,
-    1551
+    20221025,
+    1208
    ],
    "deps": [
     "closql",
@@ -41579,14 +41689,14 @@
     "transient",
     "yaml"
    ],
-   "commit": "2a2c6dde1754679673ccb29eb384dabe1d43624c",
-   "sha256": "14zp036826bqa5aac0safkiggsj1k4ighf0yq378prymbn595qib"
+   "commit": "45b06b80137e981bca268b800469dada0ef7acb0",
+   "sha256": "0pv5bd3x074sl23x2ryfs8rbbvrmvc7pmaiqf6dxmns9rzy14jfy"
   },
   "stable": {
    "version": [
     0,
     3,
-    1
+    2
    ],
    "deps": [
     "closql",
@@ -41599,8 +41709,8 @@
     "transient",
     "yaml"
    ],
-   "commit": "2cecef36f41dfe1edc6078690b0c0d05af6b35f5",
-   "sha256": "112mghydfzrbiwnzrb2f9d74y6ja702157p66ss94kqps0lj7rkp"
+   "commit": "ecedeaf641f3c06ac72db57837d15bdb02ac198b",
+   "sha256": "0p1jlq169hpalhzmjm3h4q3x5xr9kdmz0qig8jwfvisyqay5vbih"
   }
  },
  {
@@ -41635,15 +41745,15 @@
   "repo": "lassik/emacs-format-all-the-code",
   "unstable": {
    "version": [
-    20220928,
-    1045
+    20221008,
+    1655
    ],
    "deps": [
     "inheritenv",
     "language-id"
    ],
-   "commit": "d01a0702472d159bacc704394198a77a64d3c79b",
-   "sha256": "1r406npg5f2wqysj9rligcjjr68m44ja8n8v82rf8zpi6v1pmp8h"
+   "commit": "c237c4cdf70a93c2d975b418314af33a210a5740",
+   "sha256": "17y2paxygi4akwndjmnzj7ngg814nq0ylxsrihkni0grxv5b76ww"
   },
   "stable": {
    "version": [
@@ -42226,11 +42336,11 @@
   "repo": "pdo/frimacs",
   "unstable": {
    "version": [
-    20220723,
-    1902
+    20221113,
+    1231
    ],
-   "commit": "b35fdefb60ead4d7559131601c43761973762a9a",
-   "sha256": "034x3b471xfn1ih95az59h34ad2qvb9qpav29ng5z0ry2hqcq0za"
+   "commit": "ae3870ebced2fb92f7fac1aa0051f7e46b30d55b",
+   "sha256": "0r18cgi4hycif9r53vn1cakajkbrqpaziz240bq5yw2wnyvmkgfx"
   }
  },
  {
@@ -42280,16 +42390,16 @@
   "repo": "waymondo/frog-jump-buffer",
   "unstable": {
    "version": [
-    20220414,
-    1935
+    20221114,
+    141
    ],
    "deps": [
     "avy",
     "dash",
     "frog-menu"
    ],
-   "commit": "ff0cfe9cb4a60d855f0754b741a9417ee413dee0",
-   "sha256": "0pp0z6zk6lni6pgkrh8is4c99v6npddaarsykwdxai0qxim9q4f3"
+   "commit": "ab830cb7a5af9429866ba88fb37589a0366d8bf2",
+   "sha256": "0996896n7135xzxxhh50phhb1y06rcycj2gxx7p26p7aa72ambc3"
   }
  },
  {
@@ -42349,11 +42459,11 @@
   "repo": "fsharp/emacs-fsharp-mode",
   "unstable": {
    "version": [
-    20220630,
-    1931
+    20221106,
+    2050
    ],
-   "commit": "da57a3bb8a2521de1cd2bb61743ac64d19d91091",
-   "sha256": "03mfvwlgykm3xblaif7yb6war9362003474wk07w0679sfim28nx"
+   "commit": "cfd3f8827e8ec9cbf4d23653c4b05db4c01a5947",
+   "sha256": "0nxicqypwpksq9nc1b6v25j984ssqg8nb53wdpynsc422g2sqs0h"
   },
   "stable": {
    "version": [
@@ -42408,14 +42518,14 @@
   "repo": "factor/factor",
   "unstable": {
    "version": [
-    20211221,
-    2127
+    20221108,
+    1757
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "f93602c02915dc97014f77ffbdef778376002996",
-   "sha256": "0c8315a1hdvlbmz268hr2sdmswj34yha7y23ashv4l6n11dan5xs"
+   "commit": "8c9bb02fe3c958d657857117825a83548cdfe2f0",
+   "sha256": "1gjbz95nzv348qnj76pxgmc3515sv4zw59axkhbp841cfjkd091g"
   },
   "stable": {
    "version": [
@@ -42568,14 +42678,14 @@
   "repo": "jojojames/fussy",
   "unstable": {
    "version": [
-    20220827,
-    2321
+    20221010,
+    2026
    ],
    "deps": [
     "flx"
    ],
-   "commit": "1e785a4cd94c8d68df5b7905de05bb03c53e70ba",
-   "sha256": "0bx1cz503vwfnx694bxhvl4c92y7swz4qv52788426szsf5qp7ma"
+   "commit": "0fbfcbace0729dba685da9b9a74566639b840ec3",
+   "sha256": "0vk9nhsvw6v1hm67bihri61x5aja3hbrlawsfcb1s2h1lx36byh9"
   },
   "stable": {
    "version": [
@@ -42597,14 +42707,14 @@
   "repo": "diku-dk/futhark-mode",
   "unstable": {
    "version": [
-    20220824,
-    828
+    20221025,
+    843
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "adf92a6c38b059f8ead65a08ccebdc5855cf9d1b",
-   "sha256": "0d3inzi0m87qcql0xlppxxprzjn4k8crvds6vmqv7b7wvk86rdjn"
+   "commit": "6d89758828c6ebdce0d28c334c618bfd1d45e8d1",
+   "sha256": "0r91yw867h1z592rcw744616sfzqak7mrgpkc1p7qzb77d3fxqf4"
   }
  },
  {
@@ -43046,28 +43156,25 @@
   "repo": "emacs-geiser/geiser",
   "unstable": {
    "version": [
-    20220917,
-    1659
+    20221115,
+    2228
    ],
    "deps": [
-    "project",
-    "transient"
+    "project"
    ],
-   "commit": "486c39cfbdf1789fe493535b7e0ae72ff518e53e",
-   "sha256": "0m2h9vfip6x46xjs05wk667adqgygapnmrclyhmp85vw57mlx7yv"
+   "commit": "15dfe0fceea4d3508cd22a05fee18b617f84df2f",
+   "sha256": "10f048rkcw0rnn03dq9v5bgg61zclznnsl6hl9sqjanb16vhs5lp"
   },
   "stable": {
    "version": [
     0,
-    26,
-    1
+    28
    ],
    "deps": [
-    "project",
-    "transient"
+    "project"
    ],
-   "commit": "d0a54c942839a561032b4bc41ca65ff4481bd073",
-   "sha256": "0m2h9vfip6x46xjs05wk667adqgygapnmrclyhmp85vw57mlx7yv"
+   "commit": "04dbdacfeca0190856abad859360da4bb873f9dd",
+   "sha256": "0dd20cq3nz4jjysaqx2aiqqaxvkfkbj2x4zm2mz3pd4rmydckj2y"
   }
  },
  {
@@ -43078,14 +43185,14 @@
   "repo": "emacs-geiser/chez",
   "unstable": {
    "version": [
-    20211216,
-    2332
+    20221027,
+    137
    ],
    "deps": [
     "geiser"
    ],
-   "commit": "48427d4aecc6fed751d266673f1ce2ad57ddbcfc",
-   "sha256": "03fc9ahb0pmznkcnxzgpni4clj1zgky6vaqkc94nf8b8swniwkm9"
+   "commit": "d64687c46dcd12aa3225a0fa38269f79a248dfb0",
+   "sha256": "0hjbml8jmix32wpzjlb9wh8kkbvzzr3lrj4nrm8srnp2zibyqw4q"
   },
   "stable": {
    "version": [
@@ -43221,26 +43328,28 @@
   "repo": "emacs-geiser/guile",
   "unstable": {
    "version": [
-    20220922,
-    52
+    20221115,
+    2230
    ],
    "deps": [
-    "geiser"
+    "geiser",
+    "transient"
    ],
-   "commit": "8f0ffecb430fffc8e32bb49bdc33becfa6846647",
-   "sha256": "0s62ldzsm8zljdfi5aiwzs015hx313pij4mmj5ids08nsa341ddc"
+   "commit": "961c9630f90733f517a9124750e72da55b569f10",
+   "sha256": "1hhn4nrhwnkrks1kij27dza0zlj0z6jpw9k9nqqswb3h9qll3nvz"
   },
   "stable": {
    "version": [
     0,
-    26,
-    1
+    28,
+    0
    ],
    "deps": [
-    "geiser"
+    "geiser",
+    "transient"
    ],
-   "commit": "e540e14db538ed0d116a188569413f5aadd79180",
-   "sha256": "06939mv9i7zzqvq71d0ixk3y9135132f3pk9jgjdwvacl1d31h8k"
+   "commit": "f5e82dc0f5a076335f201885a7edbefaa1ad435f",
+   "sha256": "13qxg1npm0pmnml5q268k5xk1clyqldp8v200ihrqwqlc3ga7f36"
   }
  },
  {
@@ -44141,15 +44250,15 @@
   "repo": "walseb/git-backup-ivy",
   "unstable": {
    "version": [
-    20220816,
-    30
+    20221015,
+    431
    ],
    "deps": [
     "git-backup",
     "ivy"
    ],
-   "commit": "ad6434bcd540de8e3cd9953035680f0a745040d5",
-   "sha256": "1c3ycd4if2ykd7pl7zxlrh6cqgrz158nlx9ynq3cddqglqb0jw6l"
+   "commit": "e54a3c4b95023c58664a2c59b95a95a07759a1f8",
+   "sha256": "12r7nk5zxplaq5sk67003h57nc7m6z3xi50g6xnqwas8z7pczfpi"
   }
  },
  {
@@ -44208,16 +44317,16 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20220918,
-    2032
+    20221106,
+    1128
    ],
    "deps": [
     "compat",
     "transient",
     "with-editor"
    ],
-   "commit": "ec17d4138c8efd6d9c98c66629ff73411320243c",
-   "sha256": "03krj28c9hywwyqhdljwbjd8vmd239a605wlg602wbdffzb728z1"
+   "commit": "161ab485209ecd0f304e16ca95f8a145327e7ffe",
+   "sha256": "0dm68s284ybcqr626d2fhfc6icyb1c0yrbmmdbwr0vdlc0zv1iha"
   },
   "stable": {
    "version": [
@@ -44636,14 +44745,14 @@
   "repo": "pidu/git-timemachine",
   "unstable": {
    "version": [
-    20220920,
-    828
+    20221109,
+    2051
    ],
    "deps": [
     "transient"
    ],
-   "commit": "77a3e7239fd8c194eee4b35f66f63bffdcd66ce6",
-   "sha256": "1k1rsfdj0kvacii2lkhrb8vdhvbagsgrn4xxvzrcp5zwrcj6rs2d"
+   "commit": "d8ffd0d7cc4ab3dd7de494c9ea36dfd99e2744fa",
+   "sha256": "1vg29wwzpkd5qf3z2xsl34cfmyh1gq7pf2nz335ln5nfkzz4jnbc"
   },
   "stable": {
    "version": [
@@ -45315,6 +45424,21 @@
   }
  },
  {
+  "ename": "gitstatus",
+  "commit": "65871aadda4b9335f923eea4724b42367c57b5a4",
+  "sha256": "017cgcsiisiapvqvnh22k15m48id6bh2gpxqf6b3l0fps7lwhqib",
+  "fetcher": "github",
+  "repo": "igorepst/gitstatus-el",
+  "unstable": {
+   "version": [
+    20221113,
+    1951
+   ],
+   "commit": "c3e30341d0add9728010e566b9eb031c76414b47",
+   "sha256": "061wy9clb5w25r6g65wv4pdkp9cbhp2z8fv4v1np4gnwcvgjm26y"
+  }
+ },
+ {
   "ename": "gitter",
   "commit": "b8076c3b4d60e4c505bb6f4e426ecc4f69d74684",
   "sha256": "1ad5abqgfh6x2fcqbbdvgbg8xin69j0h93z7bav1hs3jla7mgwnv",
@@ -45446,6 +45570,21 @@
   }
  },
  {
+  "ename": "glue",
+  "commit": "2b15ab947b0fd53c0e425becc42b235a1954a0f8",
+  "sha256": "09y3qhjwv70d16yfb3rrds0k19f191v4790fglshx3gsgdac7mwc",
+  "fetcher": "sourcehut",
+  "repo": "hajovonta/glue",
+  "unstable": {
+   "version": [
+    20221114,
+    1120
+   ],
+   "commit": "abfad405f240d9a89f792aae36efb3c2af43021f",
+   "sha256": "08iyb35mpcdca9raq636m06gdis6p3n67wqhzq612p71gpx9l4bl"
+  }
+ },
+ {
   "ename": "gmail-message-mode",
   "commit": "1e6aed365c42987d64d0cd9a8a6178339b1b39e8",
   "sha256": "0py0i7b893ihb8l1hmk3jfl0xil450znadcd18q7svr3zl2m0gkk",
@@ -45686,11 +45825,11 @@
   "repo": "emacs-gnuplot/gnuplot",
   "unstable": {
    "version": [
-    20220913,
-    1152
+    20221112,
+    2049
    ],
-   "commit": "d50c352b23d921ca94bbb4219b3c99697fbcd435",
-   "sha256": "1qwcb4qyqqh74fl37wgmvjkzw41mkd97i8wf7xg8jqjpzzhnxsk3"
+   "commit": "fe7ce76d797b34214178ac8e470f2fa9a63b2520",
+   "sha256": "06avd1bpk6n8d3yc2427f6z24f3d6dlbfhw6gg39mja06n4a2jh3"
   },
   "stable": {
    "version": [
@@ -46148,8 +46287,8 @@
  },
  {
   "ename": "go-gen-test",
-  "commit": "0861c126161a2674f0e115eac6f948490b142b44",
-  "sha256": "1pj8n8xj9ccq9ips4wy4v6hdxxgwv11pwi671l6jjrig38v13dzr",
+  "commit": "8948263cf6c99092690a0dc3650700aeba776aa6",
+  "sha256": "1hq7agbl1msdfa9cmmisvphzfdsw2dgkzw0qi6kkzs75c8q3c33s",
   "fetcher": "github",
   "repo": "s-kostyaev/go-gen-test",
   "unstable": {
@@ -46531,11 +46670,11 @@
   "repo": "lorniu/go-translate",
   "unstable": {
    "version": [
-    20220627,
-    545
+    20221119,
+    627
    ],
-   "commit": "8bbcbce42a7139f079df3e9b9bda0def2cbb690f",
-   "sha256": "1d4ck11mflkc9i0lninpxlb4xgs7j04br12k5i1ccajwklhxjwbd"
+   "commit": "8746d229474958dc4456ef9ba4b0a258acff8e56",
+   "sha256": "1znqj87xgb880aqqd10mxq5r3walhasvldmm3mvmvnywg91rrdyj"
   },
   "stable": {
    "version": [
@@ -46569,11 +46708,11 @@
   "repo": "emacsorphanage/god-mode",
   "unstable": {
    "version": [
-    20210102,
-    515
+    20221109,
+    707
    ],
-   "commit": "a72feb2fe8b1a8993c472995d83d9c4718f7a7c1",
-   "sha256": "1wsc04l5j5a9y5439qx85pcchxjnjgcgwbffw3l30q9zlblvc58b"
+   "commit": "49c1a1753188e5b2788b8c1f1f9fbd1264460bab",
+   "sha256": "0h1kfvr4zahk8ihvri1r16b2nkg3dg3524ic64c6w0jing2gr37c"
   },
   "stable": {
    "version": [
@@ -46617,11 +46756,11 @@
   "repo": "minad/goggles",
   "unstable": {
    "version": [
-    20220403,
-    1812
+    20221011,
+    1137
    ],
-   "commit": "6941fd5bc19c0a2789dda38334d2be582ed34e5a",
-   "sha256": "16vc4j1hbs25vy414wjid8i821cx1pcld3ilnrlapix3hlsnnjbc"
+   "commit": "f0e80d3be9f5195682f8edf903ded9cdc947683a",
+   "sha256": "1ca5gwa2r1nya84w0dkvmplbqfyksqbgfcl595fc1z5mysg09yzh"
   },
   "stable": {
    "version": [
@@ -46681,11 +46820,11 @@
   "repo": "jixiuf/golden-ratio-scroll-screen",
   "unstable": {
    "version": [
-    20200419,
-    451
+    20221102,
+    240
    ],
-   "commit": "1b6ff0e3e8822423335d3f7d88c1fcb4cf43ce42",
-   "sha256": "0kniznqdbaim9llf76zi0cbwpa21xcf07w970hrspffjpzkcadnv"
+   "commit": "ed82ac7e9129c7be5983b44def0b9239b54d4dcf",
+   "sha256": "12w5xdpnmpqyf3phl4y822w3sz84x2a0xv2jqkhzz0paywn1abb6"
   }
  },
  {
@@ -47279,20 +47418,20 @@
   "repo": "lifeisfoo/emacs-grails",
   "unstable": {
    "version": [
-    20220407,
-    1847
+    20221110,
+    929
    ],
-   "commit": "350869ecc4f429fc4e26f826d6050d068e724c5d",
-   "sha256": "1zw8hh97jlxjdgi5spsfd40qgahwbcca2cg2wbqyn1pgq4rjdx0i"
+   "commit": "3019f86e555ee94388795a0475cfa213e3897bbb",
+   "sha256": "17kl8fc1s72in3bq10mv25xrkvz3rx065fz0xq94q00wjwkmm5ry"
   },
   "stable": {
    "version": [
     0,
     5,
-    0
+    1
    ],
-   "commit": "350869ecc4f429fc4e26f826d6050d068e724c5d",
-   "sha256": "1zw8hh97jlxjdgi5spsfd40qgahwbcca2cg2wbqyn1pgq4rjdx0i"
+   "commit": "3019f86e555ee94388795a0475cfa213e3897bbb",
+   "sha256": "17kl8fc1s72in3bq10mv25xrkvz3rx065fz0xq94q00wjwkmm5ry"
   }
  },
  {
@@ -47489,11 +47628,11 @@
   "repo": "vermiculus/graphql.el",
   "unstable": {
    "version": [
-    20180912,
-    31
+    20221029,
+    1808
    ],
-   "commit": "672dd9ebd7e67d8089388b0c484cd650e76565f3",
-   "sha256": "0sp0skc1rnhi39szfbq1i99pdgd3bhn4c15cff05iqhjy2d4hniw"
+   "commit": "4575642c3213593abe5972510c418ebb11bf1d99",
+   "sha256": "1apbnxbxzk6ngigdpbjkn52cli9axwxlkv2fhksyqsqvxrg8f119"
   },
   "stable": {
    "version": [
@@ -47791,11 +47930,11 @@
   "repo": "seagle0128/grip-mode",
   "unstable": {
    "version": [
-    20220430,
-    1545
+    20221003,
+    1518
    ],
-   "commit": "f23c861ece56e909b94f9363f6009146b5a8788c",
-   "sha256": "1gg7xcfb0wb1fs5rzrk1zmmf4gxkrqj6my4slbl7vvbn2rhp9rzj"
+   "commit": "e1e8ee952f75cdca93327b6e7dcd79244ca66bc0",
+   "sha256": "008iyd67l69zk4zdzzkjjjja54z81w88l71rsbp054ggsvy6qq0a"
   },
   "stable": {
    "version": [
@@ -48151,6 +48290,21 @@
   }
  },
  {
+  "ename": "guake",
+  "commit": "35bcc9c7d44af4ba4f24a4ba7beee051579ea88c",
+  "sha256": "1mpxqigp85aama7lam57q8113ds4nkb7zzbb3i63jiz0bpx03mkq",
+  "fetcher": "github",
+  "repo": "juergenhoetzel/emacs-guake",
+  "unstable": {
+   "version": [
+    20221029,
+    1811
+   ],
+   "commit": "2753ce833b95bd1f042ac0e4b7adfe34975a88ed",
+   "sha256": "0j22rsvw5c2cm68s6r8zyydmwj8nn9v8npp7x8s8mcg1rlh00ifm"
+  }
+ },
+ {
   "ename": "guess-language",
   "commit": "6e78cb707943fcaaba0414d7af2af717efce84d0",
   "sha256": "1p8j18hskvsv4pn3cal5s91l19hgshq8hpclmp84z9hlnj9g9fpm",
@@ -48645,22 +48799,34 @@
   "repo": "alphapapa/hammy.el",
   "unstable": {
    "version": [
-    20220926,
-    1800
+    20221106,
+    2041
+   ],
+   "deps": [
+    "ts"
+   ],
+   "commit": "84c0f14e2fcbaa36dfbf2986d44e672d028fa2e6",
+   "sha256": "1jz3cfmlwf5p5hzix4phl7gz8nymmbf5h3h3qd2ni37yz01d2xch"
+  },
+  "stable": {
+   "version": [
+    0,
+    2,
+    1
    ],
    "deps": [
     "ts"
    ],
-   "commit": "62d3262a60d0f6f07920919bb3c47b57cb11bab2",
-   "sha256": "0q9lz0pz501l2s5g5hcn62ii2xfma04csij1rc6k3wzv6gnx4ary"
+   "commit": "84c0f14e2fcbaa36dfbf2986d44e672d028fa2e6",
+   "sha256": "1jz3cfmlwf5p5hzix4phl7gz8nymmbf5h3h3qd2ni37yz01d2xch"
   }
  },
  {
   "ename": "handle",
-  "commit": "b95fa8694bd49595da9fb56454e6539e76feff97",
-  "sha256": "0r0675hhficyhpz41sxpi2ah06918aa3df1sxsx7vqh4pbv2ixl8",
+  "commit": "5097daa6482aa8d89d438a1d9ca3fc9708352d69",
+  "sha256": "0dazlkh595vy6x2j64wla8y41yflcmn8sj2n5fq49xsiqsjpx5ch",
   "fetcher": "github",
-  "repo": "wurosh/handle",
+  "repo": "cyruseuros/handle",
   "unstable": {
    "version": [
     20191029,
@@ -48918,11 +49084,11 @@
   "repo": "haskell/haskell-mode",
   "unstable": {
    "version": [
-    20220917,
-    1353
+    20221113,
+    1425
    ],
-   "commit": "90503413f4cdb0ed26871e39c4e6e2552b57f7db",
-   "sha256": "19f9zqb6pfa71hpv4vk7ym8hcsy8hn0jmp3k2xk36vc38g1mr8ma"
+   "commit": "a34ccdc54be15043ff0d253c3c20087524255491",
+   "sha256": "1z2jcgdm5bc13zwl4y7fn5rxqqzs3i54qw32wb2hwpa42izwq159"
   },
   "stable": {
    "version": [
@@ -49228,28 +49394,28 @@
   "repo": "emacs-helm/helm",
   "unstable": {
    "version": [
-    20220928,
-    1917
+    20221117,
+    1800
    ],
    "deps": [
     "helm-core",
     "popup"
    ],
-   "commit": "0a9a1e32cf130d181b26e23919402c8c25f41996",
-   "sha256": "1i8hbdp5sg99h3imqydk4wd7mqsa04113yavk5sx1wgc17jm1l42"
+   "commit": "8de5444df2bafd1b3a91acd0e00cf1e0ee81682b",
+   "sha256": "09dk0dz8fkigi3zbinq76310nnnw29z4pca0ypsn2z6l0l3hg7zb"
   },
   "stable": {
    "version": [
     3,
-    8,
-    8
+    9,
+    0
    ],
    "deps": [
     "helm-core",
     "popup"
    ],
-   "commit": "0a9a1e32cf130d181b26e23919402c8c25f41996",
-   "sha256": "1i8hbdp5sg99h3imqydk4wd7mqsa04113yavk5sx1wgc17jm1l42"
+   "commit": "371df21b1e73be03b90028e2f5d8554f70a989b7",
+   "sha256": "1i253ani2bl665biha0f071pncr2jh7x5yxp8rg2013sdf4nr74c"
   }
  },
  {
@@ -49329,14 +49495,14 @@
   "repo": "emacsorphanage/helm-ag",
   "unstable": {
    "version": [
-    20210702,
-    845
+    20221017,
+    1528
    ],
    "deps": [
     "helm"
    ],
-   "commit": "7cfed5d3e861717466ae6d3f76c759548a9fad04",
-   "sha256": "0j1l9ifssd2xmdiif0c922dsdii143kjp8ifygqigb9m4wbsz8ax"
+   "commit": "2f5e41ae979394208989c25f4cdc73a0532fede9",
+   "sha256": "07mxpsay8an9m97g8vbvz09mgb781wh11w2v3s28gyhg8awsk4sq"
   },
   "stable": {
    "version": [
@@ -49520,16 +49686,16 @@
   "repo": "tmalsburg/helm-bibtex",
   "unstable": {
    "version": [
-    20210725,
-    1510
+    20221114,
+    1204
    ],
    "deps": [
     "bibtex-completion",
     "cl-lib",
     "helm"
    ],
-   "commit": "63c108a5efc130f037bc1c36cb3ee7d963567c12",
-   "sha256": "0wbfyklpjvv7vlyljki0pi10l4jhgy95jlpmqzblh0lgd34ypr4s"
+   "commit": "8ebf50d5bd368082d0b7ab79d26a52f372cdef98",
+   "sha256": "1x6nfkprj95cp4ldb485v13hrkd7rvzp750d9xz80vk76gpvaw3l"
   },
   "stable": {
    "version": [
@@ -50134,26 +50300,26 @@
   "repo": "emacs-helm/helm",
   "unstable": {
    "version": [
-    20220928,
-    1917
+    20221113,
+    1706
    ],
    "deps": [
     "async"
    ],
-   "commit": "0a9a1e32cf130d181b26e23919402c8c25f41996",
-   "sha256": "1i8hbdp5sg99h3imqydk4wd7mqsa04113yavk5sx1wgc17jm1l42"
+   "commit": "51b28e8c5ba63aa891d5d05aca08ac2688701971",
+   "sha256": "10xicmc6h0qlxahnf7zd70jg40i2mcz9m7vr1b28wpjgi1rmf8ix"
   },
   "stable": {
    "version": [
     3,
-    8,
-    8
+    9,
+    0
    ],
    "deps": [
     "async"
    ],
-   "commit": "0a9a1e32cf130d181b26e23919402c8c25f41996",
-   "sha256": "1i8hbdp5sg99h3imqydk4wd7mqsa04113yavk5sx1wgc17jm1l42"
+   "commit": "371df21b1e73be03b90028e2f5d8554f70a989b7",
+   "sha256": "1i253ani2bl665biha0f071pncr2jh7x5yxp8rg2013sdf4nr74c"
   }
  },
  {
@@ -50686,10 +50852,10 @@
  },
  {
   "ename": "helm-file-preview",
-  "commit": "6c2287c7b4c543e92ccfab120388b2c05174d2db",
-  "sha256": "0rvwf54xz3wb640z0r8gsdv9frf650r7llviicvy5gmfddrlpjh4",
+  "commit": "acd2e8a57e818e02c404d15bb3371f94db6ecc8d",
+  "sha256": "18hlcvdqnb74ww7i8q6xs2pjvh9l7bkbjb5a8aibmfjjgb0mg5lx",
   "fetcher": "github",
-  "repo": "jcs-elpa/helm-file-preview",
+  "repo": "jcs-legacy/helm-file-preview",
   "unstable": {
    "version": [
     20220720,
@@ -50803,15 +50969,15 @@
   "repo": "PythonNut/helm-flx",
   "unstable": {
    "version": [
-    20220402,
-    21
+    20221020,
+    1739
    ],
    "deps": [
     "flx",
     "helm"
    ],
-   "commit": "27dd9e3ce385a3ca15092150e65781de14b5b00b",
-   "sha256": "1ipg6sfwnv9ilhy3qy84ml3awf74gm18vjmkw42adcsvyg54w843"
+   "commit": "5220099e695a3586dba2d59640217fe378e66310",
+   "sha256": "173yabrl1whjlisklj4lm2amw5apyjbhl2a3xgbjvpk10mvxm0if"
   }
  },
  {
@@ -50950,10 +51116,10 @@
  },
  {
   "ename": "helm-fuzzy",
-  "commit": "6c2287c7b4c543e92ccfab120388b2c05174d2db",
-  "sha256": "088mrqqv9d2vrja67xrd37zzxl4k02rl5smscrp7ad6d60y1k1zy",
+  "commit": "bb481c8a5d68360e9d76004ef2834a4108ea110a",
+  "sha256": "16251nz521c45wwbzrj0vddd29s7jd4vdrcrp54w3dc3v0sc87ck",
   "fetcher": "github",
-  "repo": "jcs-elpa/helm-fuzzy",
+  "repo": "jcs-legacy/helm-fuzzy",
   "unstable": {
    "version": [
     20220704,
@@ -51764,14 +51930,14 @@
   "repo": "emacs-helm/helm-ls-git",
   "unstable": {
    "version": [
-    20220914,
-    954
+    20221118,
+    503
    ],
    "deps": [
     "helm"
    ],
-   "commit": "a0dbaa0df28942a70f580dcbd73febe29b6c2167",
-   "sha256": "040br1xfz4bx35hk8ag22prwaf78z9kaf012ykbxrj2vp90pxqr6"
+   "commit": "c5893f0cd92b20dcdcd5dc89d9ba6200a95c3f80",
+   "sha256": "0lh7xm295z6fahymxa16jb49pnb8d4fklilbvza8ckbnh422ga31"
   },
   "stable": {
    "version": [
@@ -52291,7 +52457,7 @@
   "repo": "alphapapa/org-rifle",
   "unstable": {
    "version": [
-    20200512,
+    20221024,
     1943
    ],
    "deps": [
@@ -52300,8 +52466,8 @@
     "helm",
     "s"
    ],
-   "commit": "263f56d70112f5d0496684c89a2aa07959e0a95f",
-   "sha256": "0pm6va26kadjvbai4qsnjc2bk379w2nk6h3b5f0c2yv3q5na0p49"
+   "commit": "74725b63e71b1c941f354e6c8a2cf8b5ee7ef563",
+   "sha256": "0qfr98i07k2irxfgw92nhwpab9q7lbzfyczkj0qlkwn9lrdj6blk"
   },
   "stable": {
    "version": [
@@ -53581,14 +53747,14 @@
   "repo": "bdc34/helm-taskswitch",
   "unstable": {
    "version": [
-    20190304,
-    1414
+    20221019,
+    1542
    ],
    "deps": [
     "helm"
    ],
-   "commit": "00fe3a1f535dc63ec8ad1a46739f08c27fc5087c",
-   "sha256": "1y8nmh4aq450xqvc69zcr23gahzk3d6z4y0vpd73m0mys1rmvrng"
+   "commit": "6e8b62702376c1d30ab52a419dd72cb2a40fd76e",
+   "sha256": "0vpkhpqq4v16ax2cqy2j75ycwq15cc3k128b4jw31bk93225faaf"
   },
   "stable": {
    "version": [
@@ -53805,14 +53971,14 @@
   "repo": "emacs-helm/helm-wikipedia",
   "unstable": {
    "version": [
-    20210525,
-    717
+    20221113,
+    824
    ],
    "deps": [
     "helm"
    ],
-   "commit": "c242c74efaeda2ffbafd281ee6bceae1a42507bb",
-   "sha256": "17210p61q6g1rx8a3gacbrv69c4n92h5ajh28yw5ya23c275dnkb"
+   "commit": "ab040154f2efab9b5eea36b3bd368a66f62efbfb",
+   "sha256": "091xsyvdsxkvg6rszgqymd8y7yp6v37x1k1022qbf9j66m46y9pj"
   }
  },
  {
@@ -54000,8 +54166,8 @@
   "repo": "Wilfred/helpful",
   "unstable": {
    "version": [
-    20220925,
-    2206
+    20221108,
+    2042
    ],
    "deps": [
     "dash",
@@ -54009,8 +54175,8 @@
     "f",
     "s"
    ],
-   "commit": "3aa08da7a151f1928bf0e3d12fc2443b6485b6ef",
-   "sha256": "062ym5662b83dxga30qgdvp7krq30m41m3qpj2n64jfimbyk1f56"
+   "commit": "dc4e356b55212f67c7022f3aec4f5986a23d5d5e",
+   "sha256": "18dy3nxdnxz3wyr4hza9jcv4agsyyqf82jp6jdqcj13kncfl9gn5"
   },
   "stable": {
    "version": [
@@ -54059,10 +54225,10 @@
  },
  {
   "ename": "hercules",
-  "commit": "b95fa8694bd49595da9fb56454e6539e76feff97",
-  "sha256": "13c70hncl53xvnx54mz9hd9763zx7kwwcr5p2fsqyfrcj0qcganl",
+  "commit": "78e6b3849758c7a69a0241cbe6c0687378d3f9b4",
+  "sha256": "1mx4grbhpsmp4vzaqf82xk9asb2hyr1wvqh5sc0pcr0xp3ij7f9z",
   "fetcher": "github",
-  "repo": "wurosh/hercules",
+  "repo": "cyruseuros/hercules",
   "unstable": {
    "version": [
     20200420,
@@ -54711,6 +54877,29 @@
   }
  },
  {
+  "ename": "himalaya",
+  "commit": "c39d0ba8f00112e3e57bb087dd603b35b0f7a769",
+  "sha256": "1idw1fr381lynlqryd7cks9sxybrhrvxxgh99pxz9c0164pfrpk8",
+  "fetcher": "github",
+  "repo": "dantecatalfamo/himalaya-emacs",
+  "unstable": {
+   "version": [
+    20221007,
+    1816
+   ],
+   "commit": "1735b55e4dd60c63fe3900e959655f1f8b961590",
+   "sha256": "19w5vjx0zlfvfldblb7fjd4vzhbsi9y0plj1a6avplk8jypjdr7r"
+  },
+  "stable": {
+   "version": [
+    0,
+    1
+   ],
+   "commit": "1735b55e4dd60c63fe3900e959655f1f8b961590",
+   "sha256": "19w5vjx0zlfvfldblb7fjd4vzhbsi9y0plj1a6avplk8jypjdr7r"
+  }
+ },
+ {
   "ename": "hindent",
   "commit": "e5c071ae1fe6c174842824b0a2006d7697de9387",
   "sha256": "0cvbl9lfr3k1lszkx8dshnid8ai7zdxjglawiczvazbmvj69gkjl",
@@ -54981,11 +55170,11 @@
   "repo": "ideasman42/emacs-hl-indent-scope",
   "unstable": {
    "version": [
-    20220929,
-    2350
+    20221016,
+    508
    ],
-   "commit": "6220879d7b8b8fdb2274555b401890f7ae8d48c0",
-   "sha256": "0ysbg6r9af45qxc2cnh41ymp69aq1sr3dqyxb9f37ss2dkdjryc3"
+   "commit": "fa2f0f28ad869e83ae3c77d8d936dde5a1e45f24",
+   "sha256": "1lygcap8fk25cqqnvsdrkhhvca22c62vf02xq75ccx2aic9dnshh"
   }
  },
  {
@@ -55033,14 +55222,14 @@
   "repo": "tarsius/hl-todo",
   "unstable": {
    "version": [
-    20220422,
-    1611
+    20221011,
+    1032
    ],
    "deps": [
     "compat"
    ],
-   "commit": "6769accd7003ba5a0376d2c5cef0fcffce8f45be",
-   "sha256": "16jgnv26jp3zxz2gry6703gi4p9v8ggm4ljhm85bg84ana81rhw0"
+   "commit": "c699c9beb2f878ad3803c91bd0bd7c1a5e1c9690",
+   "sha256": "1bmvcr72ch94kdqnzysx98kswlv9r6al6kwv7bxrkbq922shqf11"
   },
   "stable": {
    "version": [
@@ -55060,16 +55249,16 @@
   "repo": "narendraj9/hledger-mode",
   "unstable": {
    "version": [
-    20220515,
-    1225
+    20221116,
+    2203
    ],
    "deps": [
     "async",
     "htmlize",
     "popup"
    ],
-   "commit": "400bde42a8d2712af80cd7c773c9cdfbb63a515a",
-   "sha256": "0xmcfpr3rxli1adwypg18npl8hb8ak5rg6a6i26inzzqja6vr897"
+   "commit": "07baa57017e1b7703560363a6e1948b630a5158d",
+   "sha256": "0ps6w2a060662c36nmjh0z9ln1gccgl9cvgynrw8m5811inxw4km"
   }
  },
  {
@@ -55136,16 +55325,16 @@
   "repo": "thanhvg/emacs-hnreader",
   "unstable": {
    "version": [
-    20220928,
-    423
+    20221117,
+    650
    ],
    "deps": [
     "org",
     "promise",
     "request"
    ],
-   "commit": "8481681c9b2f3bd1ddab12a657f5f3827e288ad7",
-   "sha256": "0ls4q79s361bwa89g1iq3mk6a9d5q3f5sldip8ww42dafmd9smbi"
+   "commit": "8444e177035e236e991f9ea73074c053a45426ad",
+   "sha256": "0v49fvc3phvff2scwlvjdy98y91dmkywij9dl8j95i5iahksq2fp"
   }
  },
  {
@@ -55347,11 +55536,11 @@
   "repo": "axelf4/hotfuzz",
   "unstable": {
    "version": [
-    20220731,
-    934
+    20221017,
+    1506
    ],
-   "commit": "5ccab77f7bfb1d4246aa01639e151ec9509c64bb",
-   "sha256": "0s353mpajdzr76bjj8b1qvfyzmy0kv9lmhwlvbcf8xmd05gi6ifn"
+   "commit": "05330fc7208c654631e7484c3c7c441716901237",
+   "sha256": "0s38pip10k4sfjffcx96pbjvrjlx7ijjgs4plr9axxdvdgnjwjvy"
   }
  },
  {
@@ -55495,14 +55684,14 @@
   "repo": "Wilfred/ht.el",
   "unstable": {
    "version": [
-    20220911,
-    1544
+    20221031,
+    705
    ],
    "deps": [
     "dash"
    ],
-   "commit": "cdc76669a5032c42a2b9f7cddcbc33c5deeb6beb",
-   "sha256": "0zpfxq6f4j2pv3hipbpvvissv1shls95l908d1nayxs2rlpsyycw"
+   "commit": "ef768ccdeb8159814628ab0e2714e7dc8d9674fa",
+   "sha256": "1ckkjb9nl9vfphj6c2zdc5jjsv44b00l8p8kn6dzihazjcip7f4m"
   },
   "stable": {
    "version": [
@@ -56367,14 +56556,14 @@
   "repo": "purcell/ibuffer-vc",
   "unstable": {
    "version": [
-    20200805,
-    604
+    20221025,
+    1411
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "5fa6aea09bc67f71ea743302d609f459967b1e81",
-   "sha256": "03xkhr8vq741pgbv0b184j5ksqhhdvb7pzwa1arpymsarc6hjwsy"
+   "commit": "813d2dec32bd7ecbb1ecd781c2a63046f71d0dd3",
+   "sha256": "04h6p5vfxm3pgkjc29wvb58csg7wh31gj9wp4x8i8hpma5gkm07l"
   },
   "stable": {
    "version": [
@@ -56419,6 +56608,21 @@
   }
  },
  {
+  "ename": "icl-mode",
+  "commit": "4d93fb60f904ff2c155f998b64ac82045ceabd1b",
+  "sha256": "1743cm7x8l5ixnhkmq5lmblc90k7263ql9c9sl3d5c85bqvh0wlx",
+  "fetcher": "github",
+  "repo": "CeleritasCelery/icl-mode",
+  "unstable": {
+   "version": [
+    20221003,
+    2316
+   ],
+   "commit": "1ef19c3c1c7f2667796907391d5337bbc2d73df3",
+   "sha256": "0jzly3l4a6769ins869chb752297p4702xcbxq8qx96wdigipsdz"
+  }
+ },
+ {
   "ename": "icomplete-vertical",
   "commit": "1a952162da476b4a0f496d9dc15d2d7a8d0964f6",
   "sha256": "10rbsxp3jp8xyzcklpcc2zs0sv4pvvkqb7i96js9cp13nc9a7rgz",
@@ -56976,15 +57180,15 @@
   "repo": "idris-hackers/idris-mode",
   "unstable": {
    "version": [
-    20220609,
-    1232
+    20221118,
+    1026
    ],
    "deps": [
     "cl-lib",
     "prop-menu"
    ],
-   "commit": "9bc7697406f719258d93835df3c1761efbfecaa7",
-   "sha256": "1d1f7kx0fw632js7qd1sra5wbpwyamcqs5wpzhyynmr5ybb0vyl7"
+   "commit": "67e06eccbd063078df9671169c60ed5bb941d9cf",
+   "sha256": "1hc6f24l8z8nz0sg5dz14wrxsi40x5dzx9a4plldcfdh743lsvp6"
   },
   "stable": {
    "version": [
@@ -57230,14 +57434,14 @@
   "repo": "tarsius/imake",
   "unstable": {
    "version": [
-    20220422,
-    1611
+    20221022,
+    2233
    ],
    "deps": [
     "compat"
    ],
-   "commit": "8dde269f35eb3d287799342227d1e5a077a33777",
-   "sha256": "0dy18zmszi83f2ahpw8i7irdfh0wv9b3plxw9gyx1sn413w1rp1n"
+   "commit": "d9b5cb5c0a5483e663cc3c345df7659ddf08b61e",
+   "sha256": "0b53y83w1ksy96h10vnbn0f3is4g5nb3dxmh0v8plrchkwxb0pq3"
   },
   "stable": {
    "version": [
@@ -57871,14 +58075,14 @@
   "repo": "clojure-emacs/inf-clojure",
   "unstable": {
    "version": [
-    20220807,
-    2113
+    20221114,
+    616
    ],
    "deps": [
     "clojure-mode"
    ],
-   "commit": "59a9f0695f3d97a593f8d5ea04b51ea5dcb2718a",
-   "sha256": "18kj3ds5sl4dmfqrsbvkd9hpwfyn5qh5nyx1bf7sljbcfjgildw2"
+   "commit": "e5ce3839835b9b561fca5810f43f413c96c197d9",
+   "sha256": "04ggx767a795scidy0f58d577pm7ipgpxpi43rlqc2g9gcgzk9sd"
   },
   "stable": {
    "version": [
@@ -57931,11 +58135,11 @@
   "repo": "J3RN/inf-elixir",
   "unstable": {
    "version": [
-    20220721,
-    1939
+    20221013,
+    2100
    ],
-   "commit": "5b45f5bd346446d87c629794b3c3e586c3eefd9c",
-   "sha256": "19h3wxwv4yws2hw03pqw4574dvmywy36zr3rby6bd71sx8ljdbkl"
+   "commit": "0eaea59f20889b3d0048719377e5a05a2e7fea1a",
+   "sha256": "1swiw3yih4xbgrh4dx7sqxrz4d7jjkhnjfirjdcds0c6mjg0cvzp"
   },
   "stable": {
    "version": [
@@ -57970,11 +58174,11 @@
   "repo": "nonsequitur/inf-ruby",
   "unstable": {
    "version": [
-    20220811,
-    949
+    20221016,
+    2238
    ],
-   "commit": "eb7bf95d5b03bdb9b28647c89ea0a73e35fe0ad1",
-   "sha256": "1n7zdjf80saj0mwrlcfalk2s04d1cwsy13swp0dlj17cmjndzp66"
+   "commit": "c6192178941b46754fdb50405f344481c8ef2fd1",
+   "sha256": "1rmhqwhyp7756z0zl313clv4wkv1zxvyhlznqjpjwqajcjbz1ib4"
   },
   "stable": {
    "version": [
@@ -58367,11 +58571,11 @@
   "repo": "ideasman42/emacs-theme-inkpot",
   "unstable": {
    "version": [
-    20220819,
-    28
+    20221029,
+    2301
    ],
-   "commit": "4a488ddf2cd47949ee627af03743f66ee91177cd",
-   "sha256": "1byl4lrd82y7wr98c3bljfv9q1cpi44j7r7cjx37wmkfp464gq68"
+   "commit": "7b723a7c9c6381d09cc1c267fb067c055cfeab72",
+   "sha256": "1wrb6m7i180pxa2mg3737vhamzmrrwki0ii44iakp5588qyn7y3c"
   }
  },
  {
@@ -58429,6 +58633,21 @@
   }
  },
  {
+  "ename": "insecure-lock",
+  "commit": "1fe53161ec25badb9a4b1b415f42d2d520bb614c",
+  "sha256": "1j1xkwqyrcgprsnqihd7c9x85rrphskwcjnvc9firvyw8rs5k4sr",
+  "fetcher": "github",
+  "repo": "BlueFlo0d/insecure-lock",
+  "unstable": {
+   "version": [
+    20221111,
+    2002
+   ],
+   "commit": "2750190c70ebf564fe142ab5ee7e44675609b06a",
+   "sha256": "0929nkdz3xdkk2mvprxkzjyi6wnljwvlp7wg2fl014w46izs4kkg"
+  }
+ },
+ {
   "ename": "insert-char-preview",
   "commit": "d8f3ae2c4ed25ee4ba28b787270f7abd35d7392c",
   "sha256": "1zs4rv310ry0a5fhji9b0r6xmyh6lr799c49adg3ghy5y6kgp7ry",
@@ -58984,14 +59203,14 @@
   "repo": "jcs-elpa/isearch-project",
   "unstable": {
    "version": [
-    20220704,
-    652
+    20221019,
+    1956
    ],
    "deps": [
     "f"
    ],
-   "commit": "08b1102c1f55011952aff818261a9478175a5b92",
-   "sha256": "0fsqa970gqxdrvjkgp468f1shpb7alzh50j1r5bpvkfx9ifdx40h"
+   "commit": "73cd2bdc5655a838f7c20b45fc922ab43209a172",
+   "sha256": "1k6w9nz75n7pmxx5jmnsi0cb41jh15p6ch3pxqs989pnf8xinia1"
   },
   "stable": {
    "version": [
@@ -59169,19 +59388,19 @@
   "repo": "doublep/iter2",
   "unstable": {
    "version": [
-    20220826,
-    1344
+    20221104,
+    1938
    ],
-   "commit": "0cfd73224557d3b8282f4f5b24cbbfa4e0120184",
-   "sha256": "12hq64vp5sskfar9zci1jsjyfiyp2npiflz44skgz5ngvi57x0hj"
+   "commit": "5ea6ba6effc4b71e7a4aed16b3f42408f9064c01",
+   "sha256": "0vb6xrv6dnw7x8a2iak8509zz63ss4jkxwg8mbwqgamxcvf39hc8"
   },
   "stable": {
    "version": [
     1,
-    3
+    4
    ],
-   "commit": "0eaf7f97f3481f76a18b688c1ef4619abbe90651",
-   "sha256": "1hsg5q1acghb0xz2pv5g20zg5j32wikp47b62if8afq767rkc5f3"
+   "commit": "37913b80fb7a2b6c265378c55ea50d502f2cce77",
+   "sha256": "1k0n35vxcvvy8c2yih24c8gjc4bqd5lawda0zz62c5kgksgn87ri"
   }
  },
  {
@@ -59511,10 +59730,10 @@
  },
  {
   "ename": "ivy-file-preview",
-  "commit": "545ee0661388b1535ea58b526cecdd06b30ad48d",
-  "sha256": "0svw9sdlblv4m0dylrlyr0rvddhj1kkrilf3316vqsngnrwqj3vp",
+  "commit": "09b3569fc6a2cad431218108a43ca88d7c244c95",
+  "sha256": "0byq6ywljrsxcn59f8cjcizpwj0zis0sdrs87a9gah2kif51j8r0",
   "fetcher": "github",
-  "repo": "jcs-elpa/ivy-file-preview",
+  "repo": "jcs-legacy/ivy-file-preview",
   "unstable": {
    "version": [
     20220704,
@@ -59847,28 +60066,27 @@
   "repo": "radian-software/prescient.el",
   "unstable": {
    "version": [
-    20220601,
-    1652
+    20221112,
+    344
    ],
    "deps": [
     "ivy",
     "prescient"
    ],
-   "commit": "07d61b7779c4cca3009390383e7f98a55de7e17e",
-   "sha256": "0z97d7nnl1hgxj4fsvgw3hb3j4dc9wkdq2vq3dw607f29lwqiadk"
+   "commit": "c28bca2213efd2666b0328c29f2c26e9b603cc9a",
+   "sha256": "0156sbs4b535mcwm44qjr8lx48svmjvdqh8c8hr6d0l709f27yq3"
   },
   "stable": {
    "version": [
-    5,
-    2,
-    1
+    6,
+    0
    ],
    "deps": [
     "ivy",
     "prescient"
    ],
-   "commit": "07d61b7779c4cca3009390383e7f98a55de7e17e",
-   "sha256": "0z97d7nnl1hgxj4fsvgw3hb3j4dc9wkdq2vq3dw607f29lwqiadk"
+   "commit": "c28bca2213efd2666b0328c29f2c26e9b603cc9a",
+   "sha256": "0156sbs4b535mcwm44qjr8lx48svmjvdqh8c8hr6d0l709f27yq3"
   }
  },
  {
@@ -59965,10 +60183,10 @@
  },
  {
   "ename": "ivy-searcher",
-  "commit": "6263a1c7140f349fe3eef8542e57f6a817b9e868",
-  "sha256": "0alvk5n5m8lpf6bllqbdprlc49pdf2z3mdfp7zkjmw7w9n3gzsla",
+  "commit": "974102e6d35c401453ad6c39c157abf0651e5ba4",
+  "sha256": "19sn32hhcs81ir1pm50kyf25yry6xaf522g65fash0why2b2kyfi",
   "fetcher": "github",
-  "repo": "jcs-elpa/ivy-searcher",
+  "repo": "jcs-legacy/ivy-searcher",
   "unstable": {
    "version": [
     20220704,
@@ -60984,11 +61202,11 @@
   "repo": "Michael-Allan/Java_Mode_Tamed",
   "unstable": {
    "version": [
-    20220825,
-    1612
+    20221117,
+    1441
    ],
-   "commit": "ed80b7d736b2f0909dfa9a40be2bba80ea513d7b",
-   "sha256": "1h4ciihwclvgmgw9z79a9rfxkqyp0p2jh58h6ddpynn4768b7lsk"
+   "commit": "be47c70024dff044322b281ebbcea38de6d5b50b",
+   "sha256": "0n1hhq7vmj9a7lww8vfwq96lmsdsj5hngb18gid2qav7kf32dlw3"
   }
  },
  {
@@ -61012,17 +61230,17 @@
  },
  {
   "ename": "journalctl-mode",
-  "commit": "38710d44fba3c886431d1acb7477ae4035cf00c1",
+  "commit": "aa0b80e1ee16d20c38593650f148783d4f93c822",
   "sha256": "126gj6rh6j0j6lbygx15lg5qxfaz4bpspbzd1hv3h05nvnnykv3h",
   "fetcher": "github",
   "repo": "SebastianMeisel/journalctl-mode",
   "unstable": {
    "version": [
-    20201217,
-    1625
+    20221119,
+    901
    ],
-   "commit": "c5bca1a5f42d2fe2a00fdf52fe480137ace971d3",
-   "sha256": "0m0d5kzw5cymnmnilm688dlkhh0g64d7qyv3nd6mxbgrii559v9r"
+   "commit": "c902ad94c2d043f620a44e4c9b1bd7f4d6f22229",
+   "sha256": "0xp149ibvjxr04pnlfl75gfcjwa91wxvk59dr6fa6761j6phc98j"
   },
   "stable": {
    "version": [
@@ -61354,14 +61572,14 @@
   "repo": "mooz/js2-mode",
   "unstable": {
    "version": [
-    20220710,
-    57
+    20221028,
+    1819
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "841cfec9570ae06a67a131997e2aff32340e81d7",
-   "sha256": "0whvhmgpv6yxqiljd1l4a880i0dhp0z0jxqaad7jjvwij07vvla4"
+   "commit": "a297ec2c2d9aa50ddc6c06959bb5a054e17b692a",
+   "sha256": "0h83xh7rwv42q8f81ywd45y6z2snrq65ygimqqyv04c6i0b76k9a"
   },
   "stable": {
    "version": [
@@ -61732,11 +61950,11 @@
   "repo": "iwahbe/jsonian",
   "unstable": {
    "version": [
-    20220708,
-    1813
+    20221119,
+    518
    ],
-   "commit": "7ad6d73aff49b346dc9f577ba8a450ac0a8d2aa5",
-   "sha256": "03q7d5mc0jlgmwxm0lmlrc5pcbpvdxmmbi8qm5wsk9xazdynn7fk"
+   "commit": "1e8103c281bf7781bf3246d2049165d8966710c6",
+   "sha256": "0xv5lsl21h0jg5iryg89j6qf4c97v2rw7rh5ja8bbch3s21bv69c"
   }
  },
  {
@@ -61885,14 +62103,14 @@
   "repo": "tpapp/julia-repl",
   "unstable": {
    "version": [
-    20220428,
-    541
+    20221026,
+    833
    ],
    "deps": [
     "s"
    ],
-   "commit": "ee4a33f8d0121d0092ae73e0c4c84db6a86ea55c",
-   "sha256": "12c2yni17dcj8c4iyzwyvph2s4s9gk35hddd6f0da9c33g9qi9wp"
+   "commit": "6625e95c3d0561c6966a13c2565d35d2ae6c07ca",
+   "sha256": "0iymb4zmgcxpyxdrpw5icqmmw711p85c2s593kqf3wxcbx8acv45"
   },
   "stable": {
    "version": [
@@ -62161,20 +62379,20 @@
   "repo": "leon-barrett/just-mode.el",
   "unstable": {
    "version": [
-    20220401,
-    1814
+    20221107,
+    1633
    ],
-   "commit": "35f1bd4748cd3e960e6930b34310e5506212b304",
-   "sha256": "19piyjnkvy8g87s7gyn07wh67kdygxksv3k7xiq49wb3rpqdrr0g"
+   "commit": "45a221063093f3461816913acdaba898e62b42ce",
+   "sha256": "08n2z3822g5gq2zdbj2nzmd5y4xwa8w4bpgcgdjffnc9casnjdwm"
   },
   "stable": {
    "version": [
     0,
     1,
-    6
+    7
    ],
-   "commit": "35f1bd4748cd3e960e6930b34310e5506212b304",
-   "sha256": "19piyjnkvy8g87s7gyn07wh67kdygxksv3k7xiq49wb3rpqdrr0g"
+   "commit": "45a221063093f3461816913acdaba898e62b42ce",
+   "sha256": "08n2z3822g5gq2zdbj2nzmd5y4xwa8w4bpgcgdjffnc9casnjdwm"
   }
  },
  {
@@ -62539,15 +62757,15 @@
   "repo": "ogdenwebb/emacs-kaolin-themes",
   "unstable": {
    "version": [
-    20220519,
-    720
+    20221025,
+    812
    ],
    "deps": [
     "autothemer",
     "cl-lib"
    ],
-   "commit": "5fd75d41647d9535eb730b99b5adddc9edf55cd2",
-   "sha256": "1pi9xhrlw76b35zsndgkfc4g5v1kk29y023xd0iczf74v8ih08ps"
+   "commit": "c24665044f1bced33b6df4e36e55495f05050c78",
+   "sha256": "0qryc82d5s314bm1ijxn7hk5fpm1qclr2hc630sh3ppkgayrlp48"
   },
   "stable": {
    "version": [
@@ -63170,20 +63388,20 @@
   "repo": "hperrey/khalel",
   "unstable": {
    "version": [
-    20220904,
-    1048
+    20221008,
+    1456
    ],
-   "commit": "dee767071c0fa8fc6ccc73384abf11c4c3b45229",
-   "sha256": "0gpw5vsx9rnkmqlpi8jxabs240cgx9ny7cnz6wpixwn7xcrdxcal"
+   "commit": "fce18763a07769f2dbbb84eb20490aabbf612b66",
+   "sha256": "1w951a7czw5f62d9336lvrrsw57pym27vscfby1pz6n6ld44ybsl"
   },
   "stable": {
    "version": [
     0,
     1,
-    7
+    8
    ],
-   "commit": "dee767071c0fa8fc6ccc73384abf11c4c3b45229",
-   "sha256": "0gpw5vsx9rnkmqlpi8jxabs240cgx9ny7cnz6wpixwn7xcrdxcal"
+   "commit": "bc919e40ce9afbc1cc160d86c27f73b1cb9f5b50",
+   "sha256": "1w951a7czw5f62d9336lvrrsw57pym27vscfby1pz6n6ld44ybsl"
   }
  },
  {
@@ -63438,11 +63656,11 @@
   "repo": "WammKD/emacs-klere-theme",
   "unstable": {
    "version": [
-    20210320,
-    1912
+    20221101,
+    805
    ],
-   "commit": "f9eacacc00455e6c42961ec41f24f864c2a05ace",
-   "sha256": "10a84q8ilzs5b8f8yf2awlyfa8v3s6gr1lz459nlnkq9fflxwdj1"
+   "commit": "6f63bbf71653ec94ccc3693141f031eb6902b25f",
+   "sha256": "131az3gfpspzg8xlhmcryzkz83nfxzh1jcd4aa0fzcixxz59kqcl"
   }
  },
  {
@@ -63687,8 +63905,8 @@
   "repo": "abrochard/kubel",
   "unstable": {
    "version": [
-    20220909,
-    2022
+    20221112,
+    240
    ],
    "deps": [
     "dash",
@@ -63696,8 +63914,8 @@
     "transient",
     "yaml-mode"
    ],
-   "commit": "723736950beafd7d611fa42790ffc41ec202abd9",
-   "sha256": "157bvdc6qmbx0ml26l42ix1r437hi09mc0pyi7831lx83aslsb56"
+   "commit": "ca6c3f84cefaf1287e432f2f3b4bdf630edd3bac",
+   "sha256": "0y3f1c4fbzy0yb5n986bzmgkkaxhgw06wxjvla4mkln6hccnxdia"
   },
   "stable": {
    "version": [
@@ -63863,14 +64081,14 @@
   "repo": "emacsfodder/kurecolor",
   "unstable": {
    "version": [
-    20220919,
-    313
+    20220830,
+    1620
    ],
    "deps": [
     "s"
    ],
-   "commit": "190756dc0046358e172cff7e9f94db23634a4485",
-   "sha256": "0d1qfdmmp7f8gfqazg9mr0hixq204xh418bznvrrwnk8lfrdpnaz"
+   "commit": "553e852e19b01015f84846568d96cde9ef670ba2",
+   "sha256": "18csg7y73bwvdimsj1kjzkzbsh925yd2p3jjh2wcixqykxlqx3kr"
   },
   "stable": {
    "version": [
@@ -64235,11 +64453,11 @@
   "repo": "lassik/emacs-language-id",
   "unstable": {
    "version": [
-    20220919,
-    759
+    20221025,
+    541
    ],
-   "commit": "f3dff989e44153abf6a9745904be09bad417ec0a",
-   "sha256": "1f0cyx9hya0bvwq4j782qfds536zzzbapwg2sbylp0a8fcvq55km"
+   "commit": "40ceb1f23d4419e8fdb2808c2c71dd46e541c4c4",
+   "sha256": "15719hkfnkn15bal2ppcxqaddhqhxg3wb9i8kzac5g81mfs79agb"
   },
   "stable": {
    "version": [
@@ -64599,25 +64817,25 @@
   "repo": "jyp/lcr",
   "unstable": {
    "version": [
-    20210102,
-    853
+    20221012,
+    742
    ],
    "deps": [
     "dash"
    ],
-   "commit": "493424dab9f374c5521dca8714481b70cb3c3cfd",
-   "sha256": "10nvxvyz39avlf2v8d4lag7jj5x5p8jvaqiww7x6l992mp11hahk"
+   "commit": "6c345112ffb59f3e7babca6c83942f686b5f554b",
+   "sha256": "0hhn0gqkwki0dfk6j759hmbj1ijn4bs550jh3kgy9jfmnb7cd81l"
   },
   "stable": {
    "version": [
     1,
-    1
+    5
    ],
    "deps": [
     "dash"
    ],
-   "commit": "c14f40692292d59156c7632dbdd2867c086aa75f",
-   "sha256": "0mc55icihxqpf8b05990q1lc2nj2792wcgyr73xsiqx0963sjaj8"
+   "commit": "6c345112ffb59f3e7babca6c83942f686b5f554b",
+   "sha256": "0hhn0gqkwki0dfk6j759hmbj1ijn4bs550jh3kgy9jfmnb7cd81l"
   }
  },
  {
@@ -65255,14 +65473,14 @@
   "repo": "DamienCassou/libbcel",
   "unstable": {
    "version": [
-    20220831,
-    1413
+    20221003,
+    1827
    ],
    "deps": [
     "request"
    ],
-   "commit": "4d5fd6399a6e758b038ae664adb06c4d9b9c29c8",
-   "sha256": "1zsc8lk8cclygask1bg417f0p96ch0nvw1gf6avnhp2np7akq1np"
+   "commit": "3d506a3fb5b377bf460e7b8096f7211949567f75",
+   "sha256": "0rx1l49rfbbhjlwl8swrm54asan6vvjl184g271wlfr1459y7hsa"
   },
   "stable": {
    "version": [
@@ -65520,11 +65738,11 @@
   "repo": "ligolang/ligo",
   "unstable": {
    "version": [
-    20220908,
-    1957
+    20221031,
+    1737
    ],
-   "commit": "70575ac1c92f0a29096f6f2a1f01c59cefdc4b3e",
-   "sha256": "0qdb9x8k83qh9863qsbbc3d6xxww217ahachyxvplyhd8d7fhg45"
+   "commit": "d3c28b3f98a12af5f68abe729d378a597b26ecd9",
+   "sha256": "0fa01mgsj21cvd7isgy0fli5qpczbzy8dd2bdn5f6m23b9z1j1hy"
   },
   "stable": {
    "version": [
@@ -65544,8 +65762,8 @@
   "repo": "emacs-vs/line-reminder",
   "unstable": {
    "version": [
-    20220928,
-    1307
+    20221017,
+    747
    ],
    "deps": [
     "fringe-helper",
@@ -65553,8 +65771,8 @@
     "indicators",
     "ov"
    ],
-   "commit": "7561700e37543bc7622e41d81d5b6dd038a8efe0",
-   "sha256": "0amx49lpbdxmm844b8xlc9x3x848pdq3az41b0l7qkyvsschxajl"
+   "commit": "501b4739e422ca4859f47b9226e2ea292ecb6800",
+   "sha256": "1kgkjr5gh0agibc0jbj2z7bab9cnjrwkxsdfs2b7p3jkcmfdd2qg"
   },
   "stable": {
    "version": [
@@ -65702,14 +65920,14 @@
   "repo": "noctuid/link-hint.el",
   "unstable": {
    "version": [
-    20220623,
-    2310
+    20221008,
+    1445
    ],
    "deps": [
     "avy"
    ],
-   "commit": "54612293cc4e01df639c41597cb83a633b0f5514",
-   "sha256": "0mk65vglhx8z7a1j7ag5rxqbpxjqmk0zb6fihb6gh29d8qlcppfl"
+   "commit": "1f9bb60289d87f31f92b86ed22d1f2c0a7af0222",
+   "sha256": "1v2bj3arixy08fcyhszir7b1sm1fll3k2zfp5as510fh8j5302ba"
   }
  },
  {
@@ -65765,11 +65983,11 @@
   "repo": "coldnew/linum-relative",
   "unstable": {
    "version": [
-    20180124,
-    1047
+    20221025,
+    517
    ],
-   "commit": "c74a6981b688a5e1e6b8e0809363963ff558ce4d",
-   "sha256": "0svxi1l3s4rg1k1apfw25gzi127rsks56b5yfg79a48b5rf1xmkh"
+   "commit": "8fbe89ad897921849665a3e8da18cee7d0721441",
+   "sha256": "1igyxlnlqbbbivf52ahm9hxhrc29zyql2x9fi7s3rdjh3ki8y55r"
   },
   "stable": {
    "version": [
@@ -65930,8 +66148,8 @@
   "repo": "abo-abo/lispy",
   "unstable": {
    "version": [
-    20220912,
-    529
+    20221114,
+    2013
    ],
    "deps": [
     "ace-window",
@@ -65940,8 +66158,8 @@
     "swiper",
     "zoutline"
    ],
-   "commit": "31b9bfb4bc9799a2654b28e85a5cae2820c15f32",
-   "sha256": "0lsxjh0jycarbaydps3sr1anxfb6j6pnxhmw7b6iz277hhmrcfzf"
+   "commit": "f35eadf8c1be43a395e196463314b17ea3b4e16f",
+   "sha256": "01k73h33njx01v0rylrrgxw5q4dzkiiygn68gilx1lkndcg17kyx"
   },
   "stable": {
    "version": [
@@ -66135,14 +66353,14 @@
   "repo": "Fuco1/litable",
   "unstable": {
    "version": [
-    20200130,
-    1329
+    20221028,
+    1640
    ],
    "deps": [
     "dash"
    ],
-   "commit": "02247ca284cbc79f3afb783d62ed092bfc5b8d83",
-   "sha256": "0c84fvc33ddicfi8blkcd6dv1lagjnlk9bwjj88zcvg48fnykqvr"
+   "commit": "0a75befedbf826c9779f83500792b044658f2374",
+   "sha256": "14612mv4m8zrh0skshnbcl47dvd9ih2jn80svyyq3hg7dxvmh5wg"
   }
  },
  {
@@ -66304,14 +66522,14 @@
   "repo": "Atreyagaurav/litex-mode",
   "unstable": {
    "version": [
-    20220918,
-    2348
+    20221108,
+    300
    ],
    "deps": [
     "units-mode"
    ],
-   "commit": "966aa25af6b4268d20d35f1338753bfa93df01d4",
-   "sha256": "0wmiahqqrw3frf6qx74h11vk7y2pbr99wixnwp4w8lmwxhb2pxm8"
+   "commit": "72e20233db66cb37306bdc066c68e6d7086ab3c4",
+   "sha256": "017lqavwks3f0q71aw0mw45k79d0ydjfdn2l9i66bmvdms5bjih5"
   },
   "stable": {
    "version": [
@@ -66390,11 +66608,11 @@
   "repo": "donkirkby/live-py-plugin",
   "unstable": {
    "version": [
-    20220518,
-    204
+    20221118,
+    341
    ],
-   "commit": "e509c806138cbe164c0d655cc7d662f94c386c9b",
-   "sha256": "1hc4zggmvizhbim37l61jk5xmnm0r3vn8d2vzmvzw70kiwiwss53"
+   "commit": "388cb12be5f1e225449cf34bf8c0b18b718d932c",
+   "sha256": "1fbkz6j545sy33xqkg9kgkr83147yg7g1f7brr796hmc474f5h1k"
   },
   "stable": {
    "version": [
@@ -66455,11 +66673,11 @@
   "repo": "yhisamatsu/livescript-mode",
   "unstable": {
    "version": [
-    20140613,
-    421
+    20221015,
+    1316
    ],
-   "commit": "90a918d9686e256e6d4d439cc20f24dad8d3b804",
-   "sha256": "0kqjz0i0zapyhh8z57cvc8ifiizngix3ca01mjnvyq3zxg1bqrsg"
+   "commit": "e71a82a400e9d451c966c397bb8fa7887d35637b",
+   "sha256": "1z3vzbhcd1dp7vlk119ap6dnl7c3dlj7lcxg7gvy3xgzqvxkpijq"
   }
  },
  {
@@ -66715,17 +66933,25 @@
  },
  {
   "ename": "log4j-mode",
-  "commit": "caaa21f235c4864f6008fb454d0a970a2fd22a86",
-  "sha256": "0311jb47fjji8dqy98anr487f7vnvi85p4mn5ymqvxs5c6972gms",
-  "fetcher": "git",
-  "url": "https://git.code.sf.net/p/log4j-mode/code",
+  "commit": "bd8b15d28b2c94a84c0431af1a2ab77536b2767c",
+  "sha256": "0s0jbzg1g6fkqx7aq01lg8iv68c5g2hxxz1pssgkillx7442429q",
+  "fetcher": "github",
+  "repo": "dykstrom/log4j-mode",
   "unstable": {
    "version": [
-    20160108,
-    1918
+    20221112,
+    1509
+   ],
+   "commit": "a878589fbbd291d0aa27f56c582ab900a03ca063",
+   "sha256": "04jw2zfbzw8qblkmxg5c4dm31i5kk8d9r3l1bqa1bld8s7pdxnp4"
+  },
+  "stable": {
+   "version": [
+    1,
+    6
    ],
-   "commit": "a278948ea07ef8f4fdb6d389345a68b50de14fae",
-   "sha256": "0fa2k0c0pp55crz358aw6b26q3mgw6lik498vy8p95vmcy6lb9v3"
+   "commit": "a878589fbbd291d0aa27f56c582ab900a03ca063",
+   "sha256": "04jw2zfbzw8qblkmxg5c4dm31i5kk8d9r3l1bqa1bld8s7pdxnp4"
   }
  },
  {
@@ -67018,20 +67244,20 @@
   "repo": "0x60df/loophole",
   "unstable": {
    "version": [
-    20220611,
-    1100
+    20221111,
+    1517
    ],
-   "commit": "f7e9cca980b7467a03d9a161a5e9e5a828bfd6c9",
-   "sha256": "1g6nlv5h0gly56jypfmcdkisrd7xisgm5pyrw3wcxklgkkw2ym1a"
+   "commit": "a4f161f9ab582ac7cd92e8621530f3a30a59372e",
+   "sha256": "0kxgkrw7bfk484qa3plh7y0acj8z8byrf2pfq7n8f0k1mcfd71wa"
   },
   "stable": {
    "version": [
     0,
     8,
-    2
+    3
    ],
-   "commit": "4d887f7695b48be92c4226faf683c9c328257481",
-   "sha256": "19iv3jvl5zb4i1q5fvn57xka93z9w6sfb1m0ry8mqb8g2bp5alnl"
+   "commit": "24acca1a45d987093561f7294b7b1d1f738f23af",
+   "sha256": "1j9pkdsl18wrhf6zhxz020sls5gx5y15samk7dyilag1c3kh0rfy"
   }
  },
  {
@@ -67144,14 +67370,14 @@
   "repo": "abo-abo/lpy",
   "unstable": {
    "version": [
-    20220818,
-    1613
+    20221106,
+    1310
    ],
    "deps": [
     "lispy"
    ],
-   "commit": "ce78a4613458790cc785c1687af7eed8f0d8d66c",
-   "sha256": "1vxrjy6k030hcbclblgcaaw7h6k17kl3n9zla08527525c0gma01"
+   "commit": "fa95b11e1023704510cc7dd2897bf8bcc3027cbb",
+   "sha256": "18kx2mfmxy8s8csnp0iaiirl2z9baicq9f2w7rxlgkxww5511v7d"
   }
  },
  {
@@ -67181,36 +67407,40 @@
   "repo": "emacs-lsp/lsp-dart",
   "unstable": {
    "version": [
-    20220918,
-    1430
+    20221108,
+    1242
    ],
    "deps": [
     "dap-mode",
     "dart-mode",
     "dash",
     "f",
+    "ht",
+    "jsonrpc",
     "lsp-mode",
     "lsp-treemacs"
    ],
-   "commit": "f64c08cdef162bfcf479655685247ef1c9a1bbc1",
-   "sha256": "1izx8p1q5dmlbwx7j8mv3ms101bn5sf8pj9r96sirj5z2rnj8h4b"
+   "commit": "cc6c51b1e7887736c08260dbbcd28215c019a67a",
+   "sha256": "1cq730i2nnj1xyxr2f9kc0y2w7abmnhn6ga05f57wzy2bnx5vhi5"
   },
   "stable": {
    "version": [
     1,
-    22,
-    2
+    24,
+    1
    ],
    "deps": [
     "dap-mode",
     "dart-mode",
     "dash",
     "f",
+    "ht",
+    "jsonrpc",
     "lsp-mode",
     "lsp-treemacs"
    ],
-   "commit": "64c93a047b19b5564cd8aa55dca2189d94dc3a71",
-   "sha256": "083alvmnl5210b8rbayxy4ga76876pnwm67p2kbm8c5j4i27wpd2"
+   "commit": "cc6c51b1e7887736c08260dbbcd28215c019a67a",
+   "sha256": "1cq730i2nnj1xyxr2f9kc0y2w7abmnhn6ga05f57wzy2bnx5vhi5"
   }
  },
  {
@@ -67221,8 +67451,8 @@
   "repo": "emacs-lsp/lsp-docker",
   "unstable": {
    "version": [
-    20220513,
-    1434
+    20221025,
+    1659
    ],
    "deps": [
     "dash",
@@ -67231,8 +67461,8 @@
     "lsp-mode",
     "yaml"
    ],
-   "commit": "a0d7cbf80652429c0be4dc7d39e1887ba4691ec7",
-   "sha256": "1mf3c76c8979pqwkikx5dpi0nnfq7w111c6fa65sp4s9y1aip63z"
+   "commit": "3ffd7729cdd748586734135e36713517e14a1578",
+   "sha256": "0jvflkqgrvy5nadw0vdygcdfss1hnl11j4fi47wk0hnhlanvlj67"
   }
  },
  {
@@ -67507,14 +67737,14 @@
   "repo": "ROCKTAKEY/lsp-latex",
   "unstable": {
    "version": [
-    20221001,
-    1150
+    20221020,
+    159
    ],
    "deps": [
     "lsp-mode"
    ],
-   "commit": "94c4536579c18e17e87f2441810968a153c3bea1",
-   "sha256": "1myzjgx2hq70aa9vb0vmgh2jdd25c5b7x580ccb9c0p40rzjjpbr"
+   "commit": "ee4df225b59992946c19d8523e940944f76661c4",
+   "sha256": "06xzx79b39ykr4afmcpgqhw71mkpn6rk37kf7h392ras9mf17vvc"
   },
   "stable": {
    "version": [
@@ -67569,8 +67799,8 @@
   "repo": "emacs-lsp/lsp-metals",
   "unstable": {
    "version": [
-    20220715,
-    2128
+    20221102,
+    1628
    ],
    "deps": [
     "dap-mode",
@@ -67582,8 +67812,8 @@
     "scala-mode",
     "treemacs"
    ],
-   "commit": "097d6021a4ff0eae704cc3074e064c9509c5cafc",
-   "sha256": "0ari87b4fxb38rldvvasw4bqxmwndqq1yj18jr1rhb42w367qqdx"
+   "commit": "9a5c8b0e636e6796e5ce8ccea040a583856fb1f5",
+   "sha256": "0lmkk6817wq4q5sinq5dw63hplairbby03k6b30d4ifqybamra25"
   },
   "stable": {
    "version": [
@@ -67613,8 +67843,8 @@
   "repo": "emacs-lsp/lsp-mode",
   "unstable": {
    "version": [
-    20221001,
-    846
+    20221118,
+    815
    ],
    "deps": [
     "dash",
@@ -67624,8 +67854,8 @@
     "markdown-mode",
     "spinner"
    ],
-   "commit": "a5bb8deaa1bfa03ee94b563cd1b030676931a7df",
-   "sha256": "1rcqjk6fj0a7plnlb41ci26041r6w3lfkb2ifwb5fgdfg5r7cqiz"
+   "commit": "b4e8aac32d28dfe0f73e0981387c5b20249f385c",
+   "sha256": "0pim03m7czfy6jphzmw9y38jxhagmffy02d0q95glwxxiz7m6h6r"
   },
   "stable": {
    "version": [
@@ -67855,15 +68085,15 @@
   "repo": "rgherdt/emacs-lsp-scheme",
   "unstable": {
    "version": [
-    20220914,
-    2015
+    20221029,
+    816
    ],
    "deps": [
     "f",
     "lsp-mode"
    ],
-   "commit": "62a2d49014312b7f80c06994cbf634aa8d175a95",
-   "sha256": "0lz067p59izfjynnc2ggcwm42pbzzs4qrcx8fr49lichfraf552f"
+   "commit": "447df67e0347a2f26101432066a8724b1f39446e",
+   "sha256": "0c81pshmpky6pjym9shp39aj1a9fhzrj0x4l50x1fsjwi30m1qii"
   },
   "stable": {
    "version": [
@@ -67939,15 +68169,15 @@
   "repo": "merrickluo/lsp-tailwindcss",
   "unstable": {
    "version": [
-    20220912,
-    1321
+    20221102,
+    1343
    ],
    "deps": [
     "f",
     "lsp-mode"
    ],
-   "commit": "c0ca58d090453db2ec70fe55f8203055d2358533",
-   "sha256": "1fr1hzlpbq9jpgk3lrjaqap96l0rqnmxb11vwfa3ar0aypvpcz1z"
+   "commit": "6e5addff47bac15f99d8efcff2191818dd71d7b4",
+   "sha256": "0y2j1rp66h2vxf1q553a74mr7a9m6a7c7hrvzwx1wv19wz7ayb1n"
   },
   "stable": {
    "version": [
@@ -67969,8 +68199,8 @@
   "repo": "emacs-lsp/lsp-treemacs",
   "unstable": {
    "version": [
-    20220918,
-    742
+    20221001,
+    1958
    ],
    "deps": [
     "dash",
@@ -67979,8 +68209,8 @@
     "lsp-mode",
     "treemacs"
    ],
-   "commit": "f7ae97560cfbc88e781a2d5b9253dace7175b918",
-   "sha256": "09zcv0zjzikf1f5l6bkjafwb6icx4vpd625as01d4b2cywnzsyhl"
+   "commit": "2894e6dec583eaa77037627e9d8c3bc89cf7273d",
+   "sha256": "0v5glmbv0kb85sprk8s2a25lifzlwan5vz47lqyfwxzavhhyigns"
   },
   "stable": {
    "version": [
@@ -68073,6 +68303,21 @@
   }
  },
  {
+  "ename": "lurk-mode",
+  "commit": "8249b98a1b3239260f61e67002288803047cbaf6",
+  "sha256": "1pkhfryh00a6d3snmqj4c511bjf8lwydzzal7x0ysfgvaljldfab",
+  "fetcher": "github",
+  "repo": "lurk-lang/lurk-emacs",
+  "unstable": {
+   "version": [
+    20221114,
+    2218
+   ],
+   "commit": "568fdce7b80a3d71d09369318b18f86de2372105",
+   "sha256": "03d2xlyw9bqd9wpxxim63c43jpdnjnxi2xyp16359zhxs2np9src"
+  }
+ },
+ {
   "ename": "lush-theme",
   "commit": "8b29b2f36852e711ce3520d71e83921a1dcb9ccf",
   "sha256": "03kqws8dzm0ay5k86f4v7g2g2ygwk4fzmz2vyzhzhbsj8hrniq9p",
@@ -68350,14 +68595,14 @@
   "repo": "amake/macports.el",
   "unstable": {
    "version": [
-    20220909,
-    1357
+    20221113,
+    1020
    ],
    "deps": [
     "transient"
    ],
-   "commit": "818873e82db5d3680a74e15cec17670d9df23d1f",
-   "sha256": "1x58cz0rqyvh0izvi8pflixp59rks7kgp6d1n4q83pj606g1spdh"
+   "commit": "78898be20e3fffef67b3f1eb812347df89cd151f",
+   "sha256": "1312gd7f02frc26c899cpdbdsxafqgw459i1lwxnnssck48m30vz"
   }
  },
  {
@@ -68385,20 +68630,20 @@
  },
  {
   "ename": "macrostep",
-  "commit": "855ea20024b606314f8590129259747cac0bcc97",
-  "sha256": "1h1gag21x05a14j0wbg0lg502fq2hbqfhjlg05kysw9f870whfq2",
+  "commit": "a649845500363aba783230677128b2cbae88b05f",
+  "sha256": "06zijpmbyrd2asjz2hqqj301aaixnc5wzf2s53xsfg4nb4907ad1",
   "fetcher": "github",
-  "repo": "joddie/macrostep",
+  "repo": "emacsorphanage/macrostep",
   "unstable": {
    "version": [
-    20161120,
-    2106
+    20221026,
+    1347
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267",
-   "sha256": "1fm40mxdn289cyzgw992223dgrjmwxn4q8svyyxfaxjrpb38jhjz"
+   "commit": "75ecd041219239f0dceab4883594ea2fe366b484",
+   "sha256": "1mhbxjwpxs54jg04chif8s27xks92xlw9j0r24szpngg554fny3h"
   },
   "stable": {
    "version": [
@@ -68544,8 +68789,8 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20220926,
-    56
+    20221113,
+    2221
    ],
    "deps": [
     "compat",
@@ -68555,8 +68800,8 @@
     "transient",
     "with-editor"
    ],
-   "commit": "ada7b21fcc90004d7ac1c5a42c0750e12c2a5ef8",
-   "sha256": "1nl5axpxv5srxyihkzsi1sqnb5r09fah9ppvsiw1ihgc6fh7a460"
+   "commit": "05b0d99d714350d51676b86da9f5daa2f6b7fa3e",
+   "sha256": "043y2fzvm7b9626qyaljab5zcgwflalw5vi9sln72q3pyx8zk8rw"
   },
   "stable": {
    "version": [
@@ -68882,15 +69127,15 @@
   "repo": "Ailrun/magit-lfs",
   "unstable": {
    "version": [
-    20220314,
-    1957
+    20221031,
+    1447
    ],
    "deps": [
     "dash",
     "magit"
    ],
-   "commit": "8ebe246f20f4ab5c9f191c38137833c7f01a0432",
-   "sha256": "08ild7xc9m8pvkb23x5kxdc7ar7gz7470fng1f0zjlk4izbf1nh5"
+   "commit": "cd9f46e1840270be27e2c2d9dcf036ff0781f66d",
+   "sha256": "0psnyxrc7fy2vng81mak0ji7kw58ly01frzr5z2xpj08hxx16b3c"
   },
   "stable": {
    "version": [
@@ -69876,19 +70121,19 @@
   "repo": "minad/marginalia",
   "unstable": {
    "version": [
-    20220922,
-    1059
+    20221016,
+    1017
    ],
-   "commit": "ddba3a384916d83b68527379bbdf01161201853e",
-   "sha256": "1df0bq51sfr5gqnsjzdvlqmylq1q8ns4msgws8bvzhjsaxmffsm7"
+   "commit": "cc7a086cd7816ad41ff004c61c41bdd26ec3ea0b",
+   "sha256": "0ncdyczalvl677nim0iha003xway7rwxw8y35vcvkgsdk4vzv848"
   },
   "stable": {
    "version": [
     0,
-    14
+    15
    ],
-   "commit": "b6d9a7e663847d5b539adf46ecb68d25d18f68a3",
-   "sha256": "1gbcjw447vxd3ivfjgnya2ix3w791kvbika1v9bzj8s7i996fb6f"
+   "commit": "cc7a086cd7816ad41ff004c61c41bdd26ec3ea0b",
+   "sha256": "0ncdyczalvl677nim0iha003xway7rwxw8y35vcvkgsdk4vzv848"
   }
  },
  {
@@ -69996,11 +70241,11 @@
   "repo": "jrblevin/markdown-mode",
   "unstable": {
    "version": [
-    20220829,
-    225
+    20221105,
+    236
    ],
-   "commit": "3f1c61b25cb0677122414e9ea14064a13e548c36",
-   "sha256": "1vkz37ngsizrncnh5dd0p5jk3il22rg4sn24vvb4mcgvc77wwvk5"
+   "commit": "c338cdff80012893e64ba62a199281f430db7021",
+   "sha256": "0glmrn96aji78jf3nvj5w0bkwswd0kyazfnm1jszgyy7h01am9rm"
   },
   "stable": {
    "version": [
@@ -70034,8 +70279,8 @@
   "repo": "ancane/markdown-preview-mode",
   "unstable": {
    "version": [
-    20210516,
-    936
+    20221006,
+    1601
    ],
    "deps": [
     "cl-lib",
@@ -70043,8 +70288,8 @@
     "web-server",
     "websocket"
    ],
-   "commit": "dde87b96de9e81dd01d174da67ef68687b3a5eb5",
-   "sha256": "0a0qskhy6jil583hq3mgbzdsi3m1schzyzrd46yfxdsvqiczg170"
+   "commit": "85fbfec507a222326695a3b91ff7306d0c4f94c6",
+   "sha256": "1rsglacdj38xvrn2p5m0w26pmq5xl9hn8zi7pflgqhlx9fdjpn8s"
   },
   "stable": {
    "version": [
@@ -70326,15 +70571,16 @@
   "repo": "martianh/mastodon.el",
   "unstable": {
    "version": [
-    20220922,
-    940
+    20221117,
+    1357
    ],
    "deps": [
     "persist",
-    "request"
+    "request",
+    "ts"
    ],
-   "commit": "6b88c28779bd64aaf56c9d1e0c5fced77a506c0a",
-   "sha256": "1vr0bj52p7mkg354rpcz6zqpb0fjyai1q2cqpsrp005qr6j177si"
+   "commit": "98276c45f29d4e45955ad7649758619453423cb4",
+   "sha256": "1sikn8jbq06k2z3qssrgh393hadrvmf667k6w3xd02sbas3zpk5d"
   },
   "stable": {
    "version": [
@@ -70472,11 +70718,11 @@
   "url": "https://git.code.sf.net/p/matlab-emacs/src",
   "unstable": {
    "version": [
-    20220412,
-    913
+    20221008,
+    1623
    ],
-   "commit": "5069e3ca0034e0da64eb9b3cd426f52992938d06",
-   "sha256": "02b4gayf67fgsridj2a57p0x298pj4dly8nkimyjm15k8152s9c9"
+   "commit": "e0d127935c7a45b1178182a43ab000f41a9f73d7",
+   "sha256": "1nwpqbbfabcjryqg41fkdailhq2m5f55yxcz7z75s07y15xl1c5y"
   }
  },
  {
@@ -70846,11 +71092,11 @@
   "repo": "baaash/melancholy-theme",
   "unstable": {
    "version": [
-    20220909,
-    2250
+    20221017,
+    43
    ],
-   "commit": "f009efc4388e46ead770ce5330f1f1493463f252",
-   "sha256": "0iyj4p28v1d2japbq0n1kjgnxc118r63wp2l8dh84749x9ks2n11"
+   "commit": "42b89124dd400d81b81d871d853ed8f11abfe01c",
+   "sha256": "1d44ry85qxfm6jkmwjgr2i74lni0f8g0r5k777s5lvfq3yirmjw6"
   }
  },
  {
@@ -70966,16 +71212,17 @@
   "repo": "skangas/mentor",
   "unstable": {
    "version": [
-    20220922,
-    1342
+    20221030,
+    1607
    ],
    "deps": [
     "async",
     "seq",
+    "url-scgi",
     "xml-rpc"
    ],
-   "commit": "969459eeee86c995f73f9f2026255b3b734c4665",
-   "sha256": "0rq6ff046h48x590yd33fl5bf5mwwajiq0d4ishmq0say7kkns35"
+   "commit": "291ba7fd29aabcadb584feddc0b3ae4120713209",
+   "sha256": "1yijc61x6c8g6azm3bj7miqzymx5n25pjx0b5850i5jddqd2sjvz"
   },
   "stable": {
    "version": [
@@ -70999,11 +71246,11 @@
   "repo": "meow-edit/meow",
   "unstable": {
    "version": [
-    20220930,
-    15
+    20221027,
+    28
    ],
-   "commit": "dae2baa8228ee0a5cb37c6707057160c57bfe5f2",
-   "sha256": "08zpgaihsza69n6wnx4va3qjnh0bica477xshf7klyp6w13akr3k"
+   "commit": "4ad1a11d14c8bc0ba4137900c7833fbdacf7bdb3",
+   "sha256": "0dnz5kd2swk7jn661nchj2sjhl7ydf4zks2vfxcyr7npgkxw78cf"
   },
   "stable": {
    "version": [
@@ -71384,20 +71631,20 @@
   "repo": "org2blog/org2blog",
   "unstable": {
    "version": [
-    20220919,
-    2119
+    20221118,
+    536
    ],
-   "commit": "a87e5d665838478dc03416f078e7d6f2100604ea",
-   "sha256": "1zfkny44mvwdlgh0dx0kb7wrlcazfhasbm19yp604adn0nvi9vvm"
+   "commit": "0d435af91c237351f0880536cb3cf21a91041ba4",
+   "sha256": "1h2i63b7615kdn7d8bfhpn8c5ml17vf9lj7cyz4bhgrd8jdsrm71"
   },
   "stable": {
    "version": [
     1,
     1,
-    15
+    16
    ],
-   "commit": "a87e5d665838478dc03416f078e7d6f2100604ea",
-   "sha256": "1zfkny44mvwdlgh0dx0kb7wrlcazfhasbm19yp604adn0nvi9vvm"
+   "commit": "0d435af91c237351f0880536cb3cf21a91041ba4",
+   "sha256": "1h2i63b7615kdn7d8bfhpn8c5ml17vf9lj7cyz4bhgrd8jdsrm71"
   }
  },
  {
@@ -71408,14 +71655,14 @@
   "repo": "ianxm/emacs-tracker",
   "unstable": {
    "version": [
-    20220713,
-    1131
+    20221030,
+    42
    ],
    "deps": [
     "seq"
    ],
-   "commit": "b524398c768227bc14fd12c833dcd4e22d66efd3",
-   "sha256": "1fz3mvgmn94a3csfhlwgagqpr8838q3jxl3l89zsa9sjmbl4cyfj"
+   "commit": "ace35dfb6d00749a24993f3fb8f838938826b45e",
+   "sha256": "0r0lngyf076gbx6dhzwwpn2jr3vn688sbv2qkyw5gxrmlynvy8wi"
   }
  },
  {
@@ -71441,11 +71688,11 @@
   "repo": "kazu-yamamoto/Mew",
   "unstable": {
    "version": [
-    20210625,
-    240
+    20221117,
+    1310
    ],
-   "commit": "fc4bca6d95d8b8d5e169ecf1433d968c2eec299d",
-   "sha256": "0lcy73df204ww4kmbkfz5cbpmdwbsn7z47j5by89izn14dczllvq"
+   "commit": "7e4dd83a1896f44e1b6c820263c850e3b33eec50",
+   "sha256": "0zjnqnrz4gy1rikrgg8smg62wy3m50w0gpsq644606s24hvf7kwc"
   },
   "stable": {
    "version": [
@@ -72026,6 +72273,30 @@
   }
  },
  {
+  "ename": "mint-mode",
+  "commit": "7c3d1601a7b1c1a8486468503bfa32c2dbc7271f",
+  "sha256": "1w7nsv055dwbqxv519xlv6cr7r3xrxmbj3cmjiracf76p6fwsrk5",
+  "fetcher": "github",
+  "repo": "creatorrr/emacs-mint-mode",
+  "unstable": {
+   "version": [
+    20221031,
+    411
+   ],
+   "commit": "df81e04668de74740e252ddb0f34569b351b92b4",
+   "sha256": "0lsafb7jciqll2f3mr7jnf4ydrhlvqi1pjyr5snsjk98q0yigskj"
+  },
+  "stable": {
+   "version": [
+    2,
+    0,
+    0
+   ],
+   "commit": "7bb0f9946f5833eada199e880fdc4efa6df09e0b",
+   "sha256": "0fwxhkkhvbwdxrg9j9pjgkh864fa8rvc6dcr46a69spyjja3rw90"
+  }
+ },
+ {
   "ename": "mip-mode",
   "commit": "cbfefacda071c0f5ee698a4c345a2d6fea6a0d24",
   "sha256": "0jr8lzs1qzp2ki7xmm5vrdc6vmzagy8zsil0217vyl89pdfmxnyr",
@@ -72129,11 +72400,11 @@
   "repo": "jdtsmith/mlscroll",
   "unstable": {
    "version": [
-    20210601,
-    2158
+    20221101,
+    1715
    ],
-   "commit": "db502020ffe6bc65576b93527a20c0bf3df562da",
-   "sha256": "0gw6xw38x8h72gbvhmddgzijs4xvkrgs6c7v552db56hrlsj9lhp"
+   "commit": "101821ad61222e318d924aaebac091650ec2a047",
+   "sha256": "1nh0bh8q2n02ys0jvvpgba8k188v20d4dvnnl71vfwkm2b17kpmw"
   },
   "stable": {
    "version": [
@@ -72176,32 +72447,32 @@
  },
  {
   "ename": "mmm-mode",
-  "commit": "ddf7604d914273aef49e75ae1d45c2a9a4bbbedc",
-  "sha256": "10vkqaf4684cm5yds1xfinvgc3v7871fb203sfl9dbkcgnd5dcjw",
+  "commit": "0c8a45f5dd7edb239c27207b1f5f01b646c05a47",
+  "sha256": "0vykcl1zm8igyh9apid6spcbfjqnw6lqxd9zlhc7h57nakly7kjj",
   "fetcher": "github",
-  "repo": "purcell/mmm-mode",
+  "repo": "dgutov/mmm-mode",
   "unstable": {
    "version": [
-    20200908,
-    2236
+    20221027,
+    2340
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "0d00cdf4d02cc166304f6967a20fa22e2eaf208b",
-   "sha256": "1drm89pi67khc04816nynslcqdr9xaf6mb85y6aqrrl4sy0zzwxl"
+   "commit": "3c2071347a48a5aa172671687b0a3972381dc7d7",
+   "sha256": "02gcv9rxxl278sx5kw1w1zgj0yi2rscr2dk93l58yggwc4pxnai5"
   },
   "stable": {
    "version": [
     0,
     5,
-    8
+    9
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "8aed53f9aec4bcb9faf5f2b080e863f51d775905",
-   "sha256": "0ds48cfznxcakrfgyyw1valb7ia1sijwlmxs7mcq4787ck9l8hwr"
+   "commit": "8725cfc12bded653d52a6a223c4d34bec2b1d538",
+   "sha256": "12dn3zp17kw1cj3a883mn1g3dgdai5qy9p799zg752ishp3dqan8"
   }
  },
  {
@@ -72212,14 +72483,14 @@
   "repo": "mrkkrp/mmt",
   "unstable": {
    "version": [
-    20210321,
-    1829
+    20221004,
+    1324
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "05cdbb643469676b91a44badecf84deccb50f262",
-   "sha256": "09zlqx9xrcj80vdd07yz9gzq5p8mayjlqkrcv7c8vm5wn5dl3gnq"
+   "commit": "2b4ef792dec725d287212e57de55702fa17f1496",
+   "sha256": "0mq87qnln9svmfb3lnwcdwpxcz76nnn0ckgh1x4sgb54w559y8dv"
   },
   "stable": {
    "version": [
@@ -72374,11 +72645,11 @@
   "repo": "mrkkrp/modalka",
   "unstable": {
    "version": [
-    20220802,
-    1450
+    20221004,
+    1116
    ],
-   "commit": "414b3e89937495b36fd8897adc6443eca98df78c",
-   "sha256": "0x859mslpfqxg38728jf603mgpl4nw9bvx5fdgbjcp9isla7bim0"
+   "commit": "af2464bc74fe50c0b47de74671418834fe33b953",
+   "sha256": "0ga4ff6bnn0j5dxr2hzjz16idvpb2nvlycw5vw8bwps8g4wg1nm5"
   },
   "stable": {
    "version": [
@@ -72598,20 +72869,20 @@
   "repo": "protesilaos/modus-themes",
   "unstable": {
    "version": [
-    20221001,
-    752
+    20221117,
+    1155
    ],
-   "commit": "ad5cb41daf57456dc28d54b07f9a1dcb2c55cbd4",
-   "sha256": "19b49lg598qz50976i09scz15bz5njk8bnd51c7cb4cyknh1c87z"
+   "commit": "30b622807601d3c1722347717f998d6d5a0146f3",
+   "sha256": "0iis4lc2sxbzf5syp23zqpy451avv7k1hwjc5d3y0lrnp4ivchln"
   },
   "stable": {
    "version": [
-    2,
-    6,
+    3,
+    0,
     0
    ],
-   "commit": "976f52b34a23b9d42cbc94f2a31636af5771a5d6",
-   "sha256": "1zl1gd3jlkanjmlsxmwhqaiwyblp6kzznfjnw9cq8ah2390y9n1c"
+   "commit": "0bf4095918281f50f27ff3174482678c84c645d7",
+   "sha256": "1468y1ra4w4ihq68mfvddyijppj5sz143aawzg2nxdzphy9a84l2"
   }
  },
  {
@@ -72622,11 +72893,11 @@
   "repo": "kuanyui/moe-theme.el",
   "unstable": {
    "version": [
-    20220707,
-    1110
+    20221107,
+    255
    ],
-   "commit": "786c5f9aefa38b36f6bee0aa56aaa8da00fa0924",
-   "sha256": "14yhw72d7x5q8si3m8lc0ycfi1l8zmdi1vrllq8ikx0bcnq2i9wm"
+   "commit": "b7960f079e6f2b82468b4ca2afd4edf8bbdb6fdb",
+   "sha256": "1g8n3k5dsaib17jksbbbyg7sm82fskxgb6zv8jysrj4zv3yll7h3"
   },
   "stable": {
    "version": [
@@ -73096,8 +73367,8 @@
   "repo": "themkat/mos-mode",
   "unstable": {
    "version": [
-    20220927,
-    1845
+    20221007,
+    1641
    ],
    "deps": [
     "dap-mode",
@@ -73105,8 +73376,8 @@
     "ht",
     "lsp-mode"
    ],
-   "commit": "3f82f1de4f951096424e0da14ea4e4a40a82059d",
-   "sha256": "1i9xcmnvnz1vxhi4c9hkfnyniabyah0pwd3r64lgxr5yv04wzsyp"
+   "commit": "396abaa4afbca895fe27bc0570491fb005fc7693",
+   "sha256": "02br0xi6cqpj196f581c3gsl1j81wf7gqb2ras7v5f4c1jh3icw0"
   }
  },
  {
@@ -73224,11 +73495,11 @@
   "repo": "emacsfodder/move-text",
   "unstable": {
    "version": [
-    20220914,
-    457
+    20221006,
+    1634
    ],
-   "commit": "c47727ada2c17d2832d62079ca981852ae0b0623",
-   "sha256": "0pxvipjp9xvr9zwiwij943jgpy7fk8pxphbdj0vrg8ar5avlqiam"
+   "commit": "b17f0f4cbe9d8a72e6d9765daf2e6cdc12b3f4ba",
+   "sha256": "1s9cjk20f4vbaffpv0yv7irk7azgmv8l54v9cd1nwfjrzybqq1xx"
   },
   "stable": {
    "version": [
@@ -73583,30 +73854,30 @@
   "repo": "yaruopooner/msvc",
   "unstable": {
    "version": [
-    20210503,
-    1856
+    20221015,
+    1610
    ],
    "deps": [
     "ac-clang",
     "cedet",
     "cl-lib"
    ],
-   "commit": "122dc9cb7f145f12dac7b117a48fceb38b279432",
-   "sha256": "0ch9kvqvyirv8asqd5w2g3yb7h15741aavzm5hlmy8sj3l7q22jz"
+   "commit": "1bf173b5da3fbf2bdb799116e2a1f31916c1e16e",
+   "sha256": "0f16m120pf5pf5hy7cywxb0gp26mw8bj3ypbxk0dlb436gpyi41y"
   },
   "stable": {
    "version": [
     1,
     4,
-    2
+    3
    ],
    "deps": [
     "ac-clang",
     "cedet",
     "cl-lib"
    ],
-   "commit": "9fe50e5961fa63fc5cf7326370f441993e9d5cfc",
-   "sha256": "133pidan95qyn78gdhfxlyk8x5f28rm5rwb9wdw1gpjy4l72q22f"
+   "commit": "1bf173b5da3fbf2bdb799116e2a1f31916c1e16e",
+   "sha256": "0f16m120pf5pf5hy7cywxb0gp26mw8bj3ypbxk0dlb436gpyi41y"
   }
  },
  {
@@ -73806,11 +74077,11 @@
   "repo": "mkcms/mu4e-overview",
   "unstable": {
    "version": [
-    20200824,
-    1549
+    20221107,
+    833
    ],
-   "commit": "7daaa35a6d78feb83167e780a9c23da719c9051b",
-   "sha256": "1fv31h6f7vhnkdrjf2jij6nirnqfxmxq464cmqzp3lfyzxi8pxg0"
+   "commit": "21d4fbf44f67b786a61072afd20065a56b3952a1",
+   "sha256": "1lsb080ff134ibxq0lcc99qq3ysyikiabkfiyldnjwcs41ixihha"
   },
   "stable": {
    "version": [
@@ -74072,15 +74343,15 @@
   "repo": "suonlight/multi-vterm",
   "unstable": {
    "version": [
-    20210727,
-    1050
+    20221031,
+    610
    ],
    "deps": [
     "project",
     "vterm"
    ],
-   "commit": "a3df7218c1ecadef779e2c47815201052283f9ea",
-   "sha256": "0z6321994c4c8f5iya240pzvhirci9idlc110wjjwsm4pzdrrppj"
+   "commit": "36746d85870dac5aaee6b9af4aa1c3c0ef21a905",
+   "sha256": "01kysm6dks2c499g8b8p9nz6pjlhspmg1dp7fcx6vq9gds52qqi7"
   }
  },
  {
@@ -74414,11 +74685,11 @@
   "repo": "NinjaTrappeur/my-repo-pins",
   "unstable": {
    "version": [
-    20220726,
-    813
+    20221115,
+    1729
    ],
-   "commit": "f460f17c524db2c815966a0b1ffe86ac450d4908",
-   "sha256": "1ma1fgnka7v03jf0vn0fxn137k0gj4i9c58a34d7gqf6i2j7wajn"
+   "commit": "e6d7d6c21c53d9120e54d5f68a6277f49acbe3bc",
+   "sha256": "0a1d5z8ma5b8mjkaiibblcf1x2rnlbr5zc0nxjnhv2lw569iv3ql"
   },
   "stable": {
    "version": [
@@ -74476,20 +74747,20 @@
   "repo": "easimonenko/mybuild-mode",
   "unstable": {
    "version": [
-    20220919,
-    2032
+    20221007,
+    1928
    ],
-   "commit": "0fc84a09a065903338d9364e980b692051f229b0",
-   "sha256": "0iyyxz665qnndcj1scyyxllzbnpzc2239m1kx6w187dfg5gnzk1g"
+   "commit": "54e3c31e3b5f133eb8611a3759e59733b17e33e3",
+   "sha256": "0lyl68cv9ajapnzb4cdh76kb35n9s4mjjagh28z1nc5jp8c23ky0"
   },
   "stable": {
    "version": [
     0,
-    1,
+    2,
     0
    ],
-   "commit": "0fc84a09a065903338d9364e980b692051f229b0",
-   "sha256": "0iyyxz665qnndcj1scyyxllzbnpzc2239m1kx6w187dfg5gnzk1g"
+   "commit": "54e3c31e3b5f133eb8611a3759e59733b17e33e3",
+   "sha256": "0lyl68cv9ajapnzb4cdh76kb35n9s4mjjagh28z1nc5jp8c23ky0"
   }
  },
  {
@@ -74649,11 +74920,11 @@
   "repo": "kenranunderscore/emacs-naga-theme",
   "unstable": {
    "version": [
-    20220901,
-    1437
+    20221004,
+    1251
    ],
-   "commit": "368fc32a34f9d91e42d6e98c158da72cf87c28db",
-   "sha256": "0acjxkmall0bd6xxk18wkdx37k143zn3ss2wjim4vivywxvx5pgz"
+   "commit": "81ede3eb8f0fb4854ec3a9d2350f98dfd03163d4",
+   "sha256": "0686qrzwrjinp69hnqn76gdydxk8plgdcc3ymwbbbvzfwb466933"
   }
  },
  {
@@ -74711,11 +74982,11 @@
   "repo": "john2x/nameframe",
   "unstable": {
    "version": [
-    20171107,
-    56
+    20221023,
+    957
    ],
-   "commit": "aafb8c5c5fbe0510e2f5d5b6b6b5dd0b73abe5d8",
-   "sha256": "1ivklkz3j722wg038bh3hmycp9j64zjrig49vl42mkj6d3ggwilg"
+   "commit": "06d3400750c6b33ae215b9ac2922ee4dafd6b506",
+   "sha256": "1fi22bynd6hxa35yw5fa7nx92iik7rk616dly4x6iy1d0sqyf3ik"
   }
  },
  {
@@ -74726,15 +74997,34 @@
   "repo": "john2x/nameframe",
   "unstable": {
    "version": [
-    20170406,
-    119
+    20221023,
+    957
    ],
    "deps": [
     "nameframe",
     "perspective"
    ],
-   "commit": "d14186e99fa800d293e8e3072ba26f383c6624c6",
-   "sha256": "0aibzwp39lxafag0vpa36xp8md7nhvgibj1nklzhga2d9nq9l4km"
+   "commit": "06d3400750c6b33ae215b9ac2922ee4dafd6b506",
+   "sha256": "1fi22bynd6hxa35yw5fa7nx92iik7rk616dly4x6iy1d0sqyf3ik"
+  }
+ },
+ {
+  "ename": "nameframe-project",
+  "commit": "100740cadc5128b9e7ff26a3522c9e68f29619ce",
+  "sha256": "1gsnmsnpy6j5d01m3hjkzykamrqkqzjk34lzzkyziwprr1gyd969",
+  "fetcher": "github",
+  "repo": "john2x/nameframe",
+  "unstable": {
+   "version": [
+    20221024,
+    209
+   ],
+   "deps": [
+    "nameframe",
+    "project"
+   ],
+   "commit": "3116b6738f74a95e144a75344355e09f72620e01",
+   "sha256": "0ymrxcjnq6z48byypzxkqb83pslf014rxvy65bizn2xmr4ziw0qk"
   }
  },
  {
@@ -74745,15 +75035,15 @@
   "repo": "john2x/nameframe",
   "unstable": {
    "version": [
-    20160928,
-    403
+    20221023,
+    957
    ],
    "deps": [
     "nameframe",
     "projectile"
    ],
-   "commit": "696223c61ca8e8f5cc557d2c198801a2f3c32ad3",
-   "sha256": "14zrxv0x7p7rfrwdk02kzgvg8n594ij47yrr0c8q7b6vckhrz4gw"
+   "commit": "06d3400750c6b33ae215b9ac2922ee4dafd6b506",
+   "sha256": "1fi22bynd6hxa35yw5fa7nx92iik7rk616dly4x6iy1d0sqyf3ik"
   }
  },
  {
@@ -75242,10 +75532,10 @@
    "version": [
     0,
     1,
-    45
+    47
    ],
-   "commit": "0474d4cb5cfb0207265a4508a0e82ae7a293ab61",
-   "sha256": "0mjl2gncz02gnli329rxabvjf90dw6llvrbqn51is1qs3rcqjis0"
+   "commit": "4515ec26790aa93af6463bca926ad614a1bc94b6",
+   "sha256": "0nygv1qd7a73z401gpwmkflhm6nhfn61js34f281x8kg7l2lihby"
   }
  },
  {
@@ -75747,11 +76037,11 @@
   "repo": "m-cat/nimbus-theme",
   "unstable": {
    "version": [
-    20220921,
-    2351
+    20221003,
+    1934
    ],
-   "commit": "08a4e4b76b70a297415abf0ff882dec02b81ffcd",
-   "sha256": "151zm0zlzpx0f94vqybxsiv6vkb6i14l42n4g18shhb3p3wajyzh"
+   "commit": "3afc9b9d5288f4125f19176888f7639c3ae64500",
+   "sha256": "0fbv3dpm3a50vaprs15zz92x4wygds2q52x8c11xssmnmsydnzy9"
   },
   "stable": {
    "version": [
@@ -75873,15 +76163,15 @@
   "repo": "NixOS/nix-mode",
   "unstable": {
    "version": [
-    20220831,
-    402
+    20221109,
+    17
    ],
    "deps": [
     "magit-section",
     "transient"
    ],
-   "commit": "34d51e2731408b5b615f785a83faa3d6dc2a92a1",
-   "sha256": "0i3j0723njp2640cf70nlv57y1vyh2lhfiz902k6v7pqbl1hvr58"
+   "commit": "127d76202f10973e5af760fdb7804cc55cf51152",
+   "sha256": "1vaw5mc551ikgfqrww2v4njh16nxka9jacymga3v1mhzfw5gmqjk"
   },
   "stable": {
    "version": [
@@ -76170,14 +76460,14 @@
   "repo": "emacscollective/no-littering",
   "unstable": {
    "version": [
-    20220915,
-    1024
+    20221027,
+    346
    ],
    "deps": [
     "compat"
    ],
-   "commit": "1d5ac2720662aa60a33ff916dc9402e61c65064b",
-   "sha256": "0451bbp71hprbrf2291mykviianv5fv006w4ilnkah0l1sjh7210"
+   "commit": "cb277b8a84ca5857b607b3ff6132ee3663a57953",
+   "sha256": "1x6jcsndmlxvj9ncrg2nam5zqvcs0a5jjjm7ij3q929rdn5fl3kc"
   },
   "stable": {
    "version": [
@@ -76513,11 +76803,11 @@
   "url": "https://git.notmuchmail.org/git/notmuch",
   "unstable": {
    "version": [
-    20220923,
-    2323
+    20221115,
+    1134
    ],
-   "commit": "3db892f43b4ac333a09dd05c8f230bf3f8d2b9e9",
-   "sha256": "04vrddkxpbp9p82hhx7wpcwq4pvfvr20nyak939z9zbf3399q8ip"
+   "commit": "5ba7684445b9338ab289d502d4688d9aff3d8803",
+   "sha256": "15f6f4wm0k99ipzd7q3iv4w1ch534wyrnm0vhqa25k0sz2skzssr"
   },
   "stable": {
    "version": [
@@ -76657,15 +76947,15 @@
   "repo": "tarsius/notmuch-transient",
   "unstable": {
    "version": [
-    20220503,
-    1117
+    20221028,
+    1344
    ],
    "deps": [
     "compat",
     "notmuch"
    ],
-   "commit": "341fe7f05efe68460451bd5cb7151ca6d8b8cfc8",
-   "sha256": "0pggrrf2xdb6r2h2fm96fhwl1cdawqn4a509wymr33gafnr5f2rf"
+   "commit": "757ee082a2228e70151468f049eee2f14ed1e8d2",
+   "sha256": "0l3bpqcd10fi7ggalgxak5fy5dx70ag3acbki7w38q9100gzl3rd"
   },
   "stable": {
    "version": [
@@ -77031,11 +77321,11 @@
   "repo": "enricoflor/numbex",
   "unstable": {
    "version": [
-    20220518,
-    29
+    20221009,
+    114
    ],
-   "commit": "aa3903f190946e54f41601dd7831f3aa973a8be7",
-   "sha256": "1fnll6ccys7wmwbw4xp638ln0qsdy9bfczphgrdjps0h8xr3awpc"
+   "commit": "f3b512453110b0ad0c341159f28f72000fc7731a",
+   "sha256": "1ys9xbv8krv8yi2as39hl868dngypch27q6f0wawkq8kj5chdw33"
   }
  },
  {
@@ -77245,14 +77535,14 @@
   "repo": "rocher/ob-ada-spark",
   "unstable": {
    "version": [
-    20220715,
-    1824
+    20221114,
+    2007
    ],
    "deps": [
     "f"
    ],
-   "commit": "e2c9b08b62d8cd480f274f548bd97f3a941ae707",
-   "sha256": "0s4w0dqyc9hgwf6xsrz4jwybfpn0bml1laq5bkr0n4w61cs8nf6f"
+   "commit": "92978410ca14aa4e84c229a0920ad40be91c35e1",
+   "sha256": "1ry81c9cqagfk35nrm1m5q3ph23fx9pawy03sldjvjgcy7pgimzw"
   },
   "stable": {
    "version": [
@@ -77687,6 +77977,21 @@
   }
  },
  {
+  "ename": "ob-ffuf",
+  "commit": "bad4caee59b4d861cc2d11ee9a0d0abe6d9c6bbd",
+  "sha256": "15xmsklf085dlg630cz6w5bka50n0h8aja6nqd6jyxlaz821nz4r",
+  "fetcher": "github",
+  "repo": "daniel-ts/ob-ffuf",
+  "unstable": {
+   "version": [
+    20221004,
+    1715
+   ],
+   "commit": "5310a3e766a252ac34f8cb2307c4e48e982f5611",
+   "sha256": "1sm56xiyd626zqqw55c4qwa9s6n9pnqr5942f3fgdwgj0bimx8dz"
+  }
+ },
+ {
   "ename": "ob-fricas",
   "commit": "2710ca2d6c8ca2ab9b44f319a6bde8e3b41ce94a",
   "sha256": "0nwgrcvlklsrqv8z6lsvzvs52xf4sd6fwpl4b67amaifsay5bn59",
@@ -77712,14 +78017,15 @@
   "repo": "juergenhoetzel/ob-fsharp",
   "unstable": {
    "version": [
-    20170618,
-    1429
+    20221113,
+    1904
    ],
    "deps": [
-    "fsharp-mode"
+    "fsharp-mode",
+    "seq"
    ],
-   "commit": "65ec2b626ac55313d8a04e746940370f615fed1e",
-   "sha256": "12k6z3zsh8av3avhl2a62v475bpxpcdy56v8i248bv1wgd3ma2mi"
+   "commit": "a5e893a88d47bd8ea01cf456331ce54910321b47",
+   "sha256": "0ag3jib93ncwnmxa90b74alrcqwrr3g8zsw2cc30gb2pgh1hikwb"
   }
  },
  {
@@ -77884,15 +78190,15 @@
   "repo": "shg/ob-julia-vterm.el",
   "unstable": {
    "version": [
-    20220903,
-    554
+    20221102,
+    756
    ],
    "deps": [
     "julia-vterm",
     "queue"
    ],
-   "commit": "1da59a806f88483063d3c0449d8927d76acd975a",
-   "sha256": "1cjdkzcqy5v9zkmh9kha3smj1ljghnhr9p7q9lpdj1917wfmg171"
+   "commit": "e0069ff1d8ebf0be13cc24b980579577b5e343d8",
+   "sha256": "10ljjgraasg34mfj2dfcl4bb3mnd4bwizxbzfjdw9w9hhbdf9icn"
   },
   "stable": {
    "version": [
@@ -77961,6 +78267,24 @@
   }
  },
  {
+  "ename": "ob-lurk",
+  "commit": "8249b98a1b3239260f61e67002288803047cbaf6",
+  "sha256": "1adw6aip92xmzcgl2zqnpw7pw8nsfjsn5kbpxdq8a70cx04k820m",
+  "fetcher": "github",
+  "repo": "lurk-lang/lurk-emacs",
+  "unstable": {
+   "version": [
+    20221107,
+    1338
+   ],
+   "deps": [
+    "lurk-mode"
+   ],
+   "commit": "b341ffbf5959bbbc7dd33b35e207ce8b7bfbf565",
+   "sha256": "1hs4msdqi1m74ypgqrzag49x868i2vxf6wybb6kcc26kb9f36pwp"
+  }
+ },
+ {
   "ename": "ob-mermaid",
   "commit": "4df483806a4caaeb99fdac42f83bfe648d2e4165",
   "sha256": "0fp57m80ksnb6zs1gndwsqhrphkv9lfysq0h7h8g3parizh2idzs",
@@ -78117,6 +78441,30 @@
   }
  },
  {
+  "ename": "ob-raku",
+  "commit": "cafef552b7bfcebf5782725e61dac591a6a0b929",
+  "sha256": "0b1xsh610db42hxh86nh540nskc2gxxwfw5b9qqwwi7p2mwvglzl",
+  "fetcher": "github",
+  "repo": "masukomi/ob-raku",
+  "unstable": {
+   "version": [
+    20221013,
+    1938
+   ],
+   "commit": "21aa77a0ca70b7bef0ecf7d4d9c5272d71f0210c",
+   "sha256": "1bm4j40cl5mallyhxq1pi3abf09n5hsmn7ig9549802bmn8wq696"
+  },
+  "stable": {
+   "version": [
+    1,
+    0,
+    2
+   ],
+   "commit": "21aa77a0ca70b7bef0ecf7d4d9c5272d71f0210c",
+   "sha256": "1bm4j40cl5mallyhxq1pi3abf09n5hsmn7ig9549802bmn8wq696"
+  }
+ },
+ {
   "ename": "ob-redis",
   "commit": "baba2cef36a0e392b4df720d257642bcac67e724",
   "sha256": "138q9405v5ihp9d24x4jkrmzrfhza2hjr31xhz7nfc2b63vh6mkg",
@@ -78299,15 +78647,15 @@
   "url": "https://repo.or.cz/ob-spice.git",
   "unstable": {
    "version": [
-    20220529,
-    404
+    20221030,
+    217
    ],
    "deps": [
     "org",
     "spice-mode"
    ],
-   "commit": "b1106ef2a74b2e88b294b05b83af22810feef4f6",
-   "sha256": "1k0ylhlaz8g2f1p1chn9vrzid78fswpyjalim73566pslc09lxsp"
+   "commit": "4d3ab60c2012aba2a5bd96a4d42dfeea0be6edac",
+   "sha256": "1q0ssiggaknc9hd7hyh8hi57sc0vm7k4lnj3yjxjvi0m4akv0qa5"
   },
   "stable": {
    "version": [
@@ -78407,15 +78755,15 @@
   "repo": "ahendriksen/ob-tmux",
   "unstable": {
    "version": [
-    20190708,
-    1202
+    20221005,
+    2025
    ],
    "deps": [
     "s",
     "seq"
    ],
-   "commit": "3687ed7b874bdfe14617f5d14492887cb0836a85",
-   "sha256": "057gnjgn6g7qpf8hpidp302s2bv5lkijx6b35knvg266czda6fra"
+   "commit": "e672ca5a9534b9f33ed7aa5cd21b88189ccc5697",
+   "sha256": "0crwld32hg47y11qaxq3xxhvqnvijkrg566s82801ryavvyqn5mk"
   },
   "stable": {
    "version": [
@@ -78602,11 +78950,11 @@
   "repo": "ideasman42/emacs-theme-oblivion",
   "unstable": {
    "version": [
-    20220710,
-    1045
+    20221029,
+    2302
    ],
-   "commit": "3349191b123e5bdcf9177e97d2301bb571800da3",
-   "sha256": "00w5by87igi5l72xqkg6dn5zh7rk1lxc9p6m0c885ylp9giwalqj"
+   "commit": "a86b744d3baa4b6888e36d9109675853e0b3b9b8",
+   "sha256": "0zjzjp3g38kcp0x5imyk09pn4qylzzxrdj6b6h27jiff08jcbi3w"
   }
  },
  {
@@ -78617,8 +78965,8 @@
   "repo": "licht1stein/obsidian.el",
   "unstable": {
    "version": [
-    20220910,
-    2033
+    20221115,
+    1143
    ],
    "deps": [
     "dash",
@@ -78627,14 +78975,14 @@
     "s",
     "yaml"
    ],
-   "commit": "148874a4778635079525589fdb4136ba314da801",
-   "sha256": "1qk81pzk9k48cdpkpwh871ilay3jg2c4xjxgvgqvk3115ac2m1bh"
+   "commit": "95bf7624e26adb29925e4609dd0aeacdb29c5bc5",
+   "sha256": "17ymp9z735cisb7bjdcmqmhv88n2vhzg3l7708jcj6a588i3sbf3"
   },
   "stable": {
    "version": [
     1,
     1,
-    4
+    9
    ],
    "deps": [
     "dash",
@@ -78643,8 +78991,8 @@
     "s",
     "yaml"
    ],
-   "commit": "148874a4778635079525589fdb4136ba314da801",
-   "sha256": "1qk81pzk9k48cdpkpwh871ilay3jg2c4xjxgvgqvk3115ac2m1bh"
+   "commit": "95bf7624e26adb29925e4609dd0aeacdb29c5bc5",
+   "sha256": "17ymp9z735cisb7bjdcmqmhv88n2vhzg3l7708jcj6a588i3sbf3"
   }
  },
  {
@@ -78867,26 +79215,26 @@
   "repo": "oer/oer-reveal",
   "unstable": {
    "version": [
-    20220804,
-    1019
+    20221005,
+    1718
    ],
    "deps": [
     "org-re-reveal"
    ],
-   "commit": "099a6b85097bcd7830cd8919030d7f2d8b8b06ff",
-   "sha256": "09pk03njc4mk7r0brccch6ajnz182gxxh5d78yiqx4d5kgjj39pm"
+   "commit": "a5a292c5a5f3757e01bdd13bbd57bbf7b55bda0b",
+   "sha256": "1b3anr0mm9ikk0sjckhm77ih5ahf40wpgjf3n7zax632a70aaq0k"
   },
   "stable": {
    "version": [
     4,
-    7,
+    8,
     0
    ],
    "deps": [
     "org-re-reveal"
    ],
-   "commit": "099a6b85097bcd7830cd8919030d7f2d8b8b06ff",
-   "sha256": "09pk03njc4mk7r0brccch6ajnz182gxxh5d78yiqx4d5kgjj39pm"
+   "commit": "a5a292c5a5f3757e01bdd13bbd57bbf7b55bda0b",
+   "sha256": "1b3anr0mm9ikk0sjckhm77ih5ahf40wpgjf3n7zax632a70aaq0k"
   }
  },
  {
@@ -79377,6 +79725,21 @@
   }
  },
  {
+  "ename": "opam-switch-mode",
+  "commit": "37c77a66ad3485dddc61fb6ad65e8562c98f6931",
+  "sha256": "0b066r7dzhk6p62l7vhv8q072r9b1d4x1s4d5pdlmcwzs3s0nw50",
+  "fetcher": "github",
+  "repo": "ProofGeneral/opam-switch-mode",
+  "unstable": {
+   "version": [
+    20221109,
+    2306
+   ],
+   "commit": "dea35145a39b80b7d1df217395928d76abab0b13",
+   "sha256": "196x7nk7669xpcadl7dcs2mjqc9b5sml2kpqsb3dqw5b5rww82ih"
+  }
+ },
+ {
   "ename": "open-in-msvs",
   "commit": "09a462fac31a7ceda4ee84a8550ff1db6d11140f",
   "sha256": "0cng0brxjdriyhwsbn85pfrgqg56chzk24lvkx91rzgz15fbpnv5",
@@ -79645,11 +80008,11 @@
   "repo": "oantolin/orderless",
   "unstable": {
    "version": [
-    20220918,
-    48
+    20221113,
+    1719
    ],
-   "commit": "6b86527b30ef96e047d97e314ac640a410891d1f",
-   "sha256": "0iy6zkbsf5q6vv8qdlpdhdlchbyq30cxjmv4rgl2a85nqay0zic1"
+   "commit": "2debd96da6f75703ccbca6d852ad994ce84fa529",
+   "sha256": "0ppwlp6a105m5ic5k2xgxz4c5wwsq025vhclzgvbnk73lmmg2c0v"
   },
   "stable": {
    "version": [
@@ -80056,22 +80419,19 @@
   "repo": "alphapapa/org-bookmark-heading",
   "unstable": {
    "version": [
-    20220805,
-    2357
+    20221022,
+    1422
    ],
-   "commit": "fac3edac3b70a00f5412e3e7e2830a5cfee84432",
-   "sha256": "1wr442hqiih6ygcwcww1k56fkw5afn5rlcd49hs4qwqg4cchvgc0"
+   "commit": "f245c9023df28d6ee545dae4b96a1c237e6965ba",
+   "sha256": "0al7l30xsgp13975mxmp416s7z89v27njv8jcv3fv2czvjzllh5g"
   },
   "stable": {
    "version": [
     1,
-    1
-   ],
-   "deps": [
-    "f"
+    2
    ],
-   "commit": "d71c6c96b878fb5d57fea0200a8c19e8d897b857",
-   "sha256": "0d5w8a3j1mkds9513v659flmq0ci178qd8wynz56wvcz3sqqw4h3"
+   "commit": "f245c9023df28d6ee545dae4b96a1c237e6965ba",
+   "sha256": "0al7l30xsgp13975mxmp416s7z89v27njv8jcv3fv2czvjzllh5g"
   }
  },
  {
@@ -80924,32 +81284,38 @@
   "repo": "kidd/org-gcal.el",
   "unstable": {
    "version": [
-    20220809,
-    1955
+    20221119,
+    0
    ],
    "deps": [
+    "aio",
     "alert",
+    "elnode",
     "org",
     "persist",
     "request",
     "request-deferred"
    ],
-   "commit": "40291bec0cd0bf8a2f5db656e4d3077b256092ae",
-   "sha256": "00ais9k2qc9ib7ihh38hwz3gmkn9zcb2x5n7x8cllhdq8zmy00a6"
+   "commit": "86faad251d3109a900661d40001f214cf51bc635",
+   "sha256": "1ygl4c6x7h1wlwhh92b75wiqf5hkmi3q5j4q9klvicn2hb1hfgaa"
   },
   "stable": {
    "version": [
     0,
-    2
+    4,
+    0
    ],
    "deps": [
+    "aio",
     "alert",
-    "cl-lib",
+    "elnode",
     "org",
+    "persist",
+    "request",
     "request-deferred"
    ],
-   "commit": "badd3629e6243563c30ff1dd0452b7601f6cc036",
-   "sha256": "1pxfcyf447h18220izi8qlnwdr8rlwn5kds8gr5i1v90s6hpa498"
+   "commit": "86faad251d3109a900661d40001f214cf51bc635",
+   "sha256": "1ygl4c6x7h1wlwhh92b75wiqf5hkmi3q5j4q9klvicn2hb1hfgaa"
   }
  },
  {
@@ -81231,14 +81597,14 @@
   "repo": "shg/org-inline-pdf.el",
   "unstable": {
    "version": [
-    20220429,
-    1012
+    20221029,
+    751
    ],
    "deps": [
     "org"
    ],
-   "commit": "b790818ecbb85cd6dee44754935eb12153a79679",
-   "sha256": "0a5fk5wkzljrjwclq8x1lbg9krzfj336pc5kid5ncq947p0m04bn"
+   "commit": "513c0badffcc65d618d43543abd72077e144fd22",
+   "sha256": "1i5hvdnd0bqr663i2ccdxba58ib0ixmc1y40mld6znmgc8p2973l"
   },
   "stable": {
    "version": [
@@ -81446,8 +81812,8 @@
   "repo": "yangsheng6810/org-latex-impatient",
   "unstable": {
    "version": [
-    20210409,
-    2251
+    20221111,
+    623
    ],
    "deps": [
     "dash",
@@ -81455,8 +81821,8 @@
     "posframe",
     "s"
    ],
-   "commit": "39f22dc98cb8268af67c6df71778ec5784d2b683",
-   "sha256": "14rjgdl941kja3hndc55q3c65fi7plviirxihffkw498h0vkbyhs"
+   "commit": "031025a8be9bf7255aa047388d027642cd2d6183",
+   "sha256": "1hr4xk89zphahaa8n1fjwf6y7bfvnn30ck8pysjlfwa5510fpw0w"
   }
  },
  {
@@ -81467,14 +81833,14 @@
   "url": "https://repo.or.cz/org-link-beautify.git",
   "unstable": {
    "version": [
-    20220914,
-    1311
+    20221117,
+    1124
    ],
    "deps": [
     "all-the-icons"
    ],
-   "commit": "e349e50928651199213518b84f6df429ac3a32d8",
-   "sha256": "0bh0cqgswaxr4y0zxr8wija04q0w7hgl7y8hs588bq56s0z2nnbr"
+   "commit": "f4d9c343c75dc0bbda5375d5315cdee8c819a61e",
+   "sha256": "0vxw5f8fcx6n6gkmzxh0vd0gmpzjaczsa3a9ig1hxz6zw46q1vzi"
   }
  },
  {
@@ -81619,20 +81985,20 @@
   "repo": "org-mime/org-mime",
   "unstable": {
    "version": [
-    20220722,
-    242
+    20221003,
+    105
    ],
-   "commit": "5c19b458f8dbd61f8a40c8b94ba843833ba90a77",
-   "sha256": "0j8h9wqk0ca551ynfx9wliy92ddhgiq4gw8idhq4l1lkdykpnb11"
+   "commit": "cc00afcf0291633324364c1c83bfe2833cfdc1bf",
+   "sha256": "1w5z9irzk918mj75z5m0j2h8mms8v27x50kp7r3b01wblf0jd2zc"
   },
   "stable": {
    "version": [
     0,
     3,
-    1
+    2
    ],
-   "commit": "cf96f585c68ad14751a3f73d937cbfcb890171b9",
-   "sha256": "17380kpf08j5ai30nn5iks0k3x8sm3kmz8lkyr1v0qvpr5a8s70b"
+   "commit": "cc00afcf0291633324364c1c83bfe2833cfdc1bf",
+   "sha256": "1w5z9irzk918mj75z5m0j2h8mms8v27x50kp7r3b01wblf0jd2zc"
   }
  },
  {
@@ -81714,19 +82080,19 @@
   "repo": "minad/org-modern",
   "unstable": {
    "version": [
-    20220915,
-    1915
+    20221020,
+    749
    ],
-   "commit": "828cf100c62fc9dfb50152c192ac3a968c1b54bc",
-   "sha256": "1xllmcvn4328cpw89jbrp6zf6ln39cgvsklfy7f4g94j2ih74zmp"
+   "commit": "59b2e3c94756b4e37b2cf7b9f81028c6d4758672",
+   "sha256": "1n5csrj560crc66iqpfsx60055cgzh817v169s6jqkqzrzdigzvy"
   },
   "stable": {
    "version": [
     0,
-    4
+    5
    ],
-   "commit": "5de3da1ff55b4567e9df3b234c09427aed2cbcd7",
-   "sha256": "0af9dzp9n3882kvsp3q4008hffq1mp9hjl964mlp5j8vay3x7qbz"
+   "commit": "ed9d67d00f26148019acd67b4aac0e26360a33b1",
+   "sha256": "1gny2p3w6ck5sarv6vap2y1lj6h9qaxbh7r7bzszb9qj8rhapk6q"
   }
  },
  {
@@ -82200,9 +82566,23 @@
   "ename": "org-present-remote",
   "commit": "a3645b08cb46e3d91081da7baa982b5283918447",
   "sha256": "07bsnyf6cqhj8d81bxbjz3aahik7czz2qvk678k5cpan8835w37h",
-  "error": "Not in archive",
   "fetcher": "sourcehut",
-  "repo": "duncan-bayne/org-present-remote"
+  "repo": "duncan-bayne/org-present-remote",
+  "unstable": {
+   "version": [
+    20221107,
+    1139
+   ],
+   "deps": [
+    "elnode",
+    "fakir",
+    "org-present",
+    "s",
+    "web"
+   ],
+   "commit": "95ea38b985b5aaa49b8039010bbe5fda5188a197",
+   "sha256": "0r65l071x4mkvyq4glskn0p8lv5jpg3z6anwhn15f8hrndmyqzl2"
+  }
  },
  {
   "ename": "org-pretty-tags",
@@ -82348,8 +82728,8 @@
   "repo": "alphapapa/org-ql",
   "unstable": {
    "version": [
-    20220825,
-    2155
+    20221007,
+    2334
    ],
    "deps": [
     "dash",
@@ -82363,8 +82743,8 @@
     "transient",
     "ts"
    ],
-   "commit": "e41cdb45912f1731b5b060f9e05d011096663655",
-   "sha256": "1xhwypxzcq0b1rcm12ra5lylhp83hh4p5klqjb6f4qy34id3wr41"
+   "commit": "5f70636556bffca92d8ef8297ba3002a4ab5b52d",
+   "sha256": "1fyqsl8ybx3x413p04cywzj0gdwwpidqw1ja2433ij21vvmph1vj"
   },
   "stable": {
    "version": [
@@ -82407,6 +82787,21 @@
   }
  },
  {
+  "ename": "org-rainbow-tags",
+  "commit": "157458f7bec9624418993723ec2a7931f9da2e25",
+  "sha256": "1ph8jrqpvdcv0s8i8n8a6pqnv3bf9jvarmddv1zsrfcf7hbrdhvg",
+  "fetcher": "github",
+  "repo": "KaratasFurkan/org-rainbow-tags",
+  "unstable": {
+   "version": [
+    20221114,
+    1307
+   ],
+   "commit": "6001ec9345bea4e60b2178940ef197c055d5a5d8",
+   "sha256": "1qlpszfvi1zngfi377pxkb9byhw0x8h4wsc70jn2slddq0jryjad"
+  }
+ },
+ {
   "ename": "org-random-todo",
   "commit": "ad320d60e2c95881f31628c19ad3b9ece7e3d165",
   "sha256": "1abhpazwr7gp9bvl83zdg2nvw51mg70myqi18l3hzic033pbhxwz",
@@ -82464,28 +82859,28 @@
   "repo": "oer/org-re-reveal",
   "unstable": {
    "version": [
-    20220808,
-    734
+    20221007,
+    1714
    ],
    "deps": [
     "htmlize",
     "org"
    ],
-   "commit": "6f78a0a2287e7eecd4d22aebdb597ebadcc3eab3",
-   "sha256": "0mn7qn80289gizvnxyjjs00b7qmlf0692kai7qgzgfj6i87pjc38"
+   "commit": "941aa4b94f4eb13cea23013126e84f335059dead",
+   "sha256": "1jzr7xlzinhfb0197anbkrr5zrs13f7kyznr5q3zyxdndhg6a53n"
   },
   "stable": {
    "version": [
     3,
-    15,
-    0
+    16,
+    1
    ],
    "deps": [
     "htmlize",
     "org"
    ],
-   "commit": "6f78a0a2287e7eecd4d22aebdb597ebadcc3eab3",
-   "sha256": "0mn7qn80289gizvnxyjjs00b7qmlf0692kai7qgzgfj6i87pjc38"
+   "commit": "941aa4b94f4eb13cea23013126e84f335059dead",
+   "sha256": "1jzr7xlzinhfb0197anbkrr5zrs13f7kyznr5q3zyxdndhg6a53n"
   }
  },
  {
@@ -82640,8 +83035,8 @@
   "repo": "jkitchin/org-ref",
   "unstable": {
    "version": [
-    20220906,
-    1801
+    20221015,
+    1308
    ],
    "deps": [
     "avy",
@@ -82656,8 +83051,8 @@
     "parsebib",
     "s"
    ],
-   "commit": "fcd49ce41bdb906beb557586f5b705e9eb732162",
-   "sha256": "15dwk2h1dr477yh7s5lmns61cwsp9g4lp1aqc92f8a9mvap4rcix"
+   "commit": "25fddfc5c4d700cba4600ae114a8c12603ae1649",
+   "sha256": "01rd5acrn7s5ihqzh1fqzciflj1mhdqcgykqfiwcsrm31kmzwm83"
   },
   "stable": {
    "version": [
@@ -82733,15 +83128,15 @@
   "repo": "akirak/org-reverse-datetree",
   "unstable": {
    "version": [
-    20220929,
-    1630
+    20221119,
+    1134
    ],
    "deps": [
     "dash",
     "org"
    ],
-   "commit": "e4e13cc5e240f9b2717295f6df536d29a8ead108",
-   "sha256": "0l05bn79dp27zk5xkcyk8qj6rwl7s1z02ncbzxw8qq10fs4081rm"
+   "commit": "b6d6b7179019e87b13dfdfeef28037821ed4d01f",
+   "sha256": "0yibkc1mh8z15lpjws92d71d8vxr6svcbdnlxi9rpr1c108vqqkg"
   },
   "stable": {
    "version": [
@@ -82842,15 +83237,15 @@
   "repo": "org-roam/org-roam-bibtex",
   "unstable": {
    "version": [
-    20220908,
-    1053
+    20221104,
+    2139
    ],
    "deps": [
     "bibtex-completion",
     "org-roam"
    ],
-   "commit": "12f721ab0b1e74ccae00711d60aab700b38fa8cc",
-   "sha256": "0psb9mh00xi9d7r9s0mxjjjfjy66znkhyfkxs78ysmvdhq5jh7c5"
+   "commit": "3810ddcd9d69ab27a40d5ba88b553df8db1b4884",
+   "sha256": "0l22sdq5gg8ih9ir6djd1yfql3yy00c24g2sjyxhswsv83q6j2k8"
   },
   "stable": {
    "version": [
@@ -82874,14 +83269,14 @@
   "repo": "tefkah/org-roam-timestamps",
   "unstable": {
    "version": [
-    20220111,
-    1755
+    20221104,
+    1544
    ],
    "deps": [
     "org-roam"
    ],
-   "commit": "604fdad0feb61419751d3d6b828cc443a99f418f",
-   "sha256": "1lpqksk7n76n0xgkjnzafslhsjd05j0b3a1scmhdg7idi2c436fi"
+   "commit": "c4ff1e2f5b0905b5caa917249aab56ddc1de1ab3",
+   "sha256": "0z8ny8rcra6vkzazc5lsb5hgv9aj70cljpy96iafiiji7213bw2w"
   }
  },
  {
@@ -82892,16 +83287,16 @@
   "repo": "org-roam/org-roam-ui",
   "unstable": {
    "version": [
-    20220927,
-    1434
+    20221105,
+    1040
    ],
    "deps": [
     "org-roam",
     "simple-httpd",
     "websocket"
    ],
-   "commit": "6bf6a5eecc1fa7ddbb1fcda85e08fe9c393f9298",
-   "sha256": "0y2rpk2ncl18ymvvvqzjvy1d3kxi94ack6qxb8zp2p5jdx2n0ciw"
+   "commit": "5ac74960231db0bf7783c2ba7a19a60f582e91ab",
+   "sha256": "0yic5rgp4f1rmi979if79kva7wn3rqnky423mqgf7sdw310h8akl"
   }
  },
  {
@@ -83219,11 +83614,11 @@
   "repo": "bastibe/org-static-blog",
   "unstable": {
    "version": [
-    20220508,
-    1410
+    20221024,
+    605
    ],
-   "commit": "a6cd8f651f971eaa68be1cbfd30cc775e3a7ee93",
-   "sha256": "0i5r35my8sbnbic8jskzpnjlp6fjn7vglxaa9pkknjxs0dvj1x6m"
+   "commit": "f830e027986df120be4f199f4f36b8f2948f3247",
+   "sha256": "1vz9zjwk3m03yvx28p14jx0a075wc2b11xilldsaqvq8srijim16"
   },
   "stable": {
    "version": [
@@ -83459,15 +83854,49 @@
   "url": "https://repo.or.cz/org-tag-beautify.git",
   "unstable": {
    "version": [
-    20220930,
-    948
+    20221031,
+    326
    ],
    "deps": [
     "all-the-icons",
     "org-pretty-tags"
    ],
-   "commit": "25ceccde36cbb3bbed55da939348c47f91670455",
-   "sha256": "04j8c8j0d4lgn2pd2x21q79x3gdwsnzw57l45n5r8arqpdmmjbgz"
+   "commit": "1c0600d10e513aebd6a991d0acde9ccea4122909",
+   "sha256": "1gkc3d6xgaimlxcw3bw2zgyi290z379vlqm0md8lc1jzay7xzls7"
+  }
+ },
+ {
+  "ename": "org-tagged",
+  "commit": "e0efb01cd7b9d2cd9099e5937e62bf80ef65b9ca",
+  "sha256": "1d5bz28n9s3rx8hjvnri20sj2p2dalnvwi41syk3i4dfg4r996wq",
+  "fetcher": "github",
+  "repo": "gizmomogwai/org-tagged",
+  "unstable": {
+   "version": [
+    20220926,
+    2048
+   ],
+   "deps": [
+    "dash",
+    "org",
+    "s"
+   ],
+   "commit": "4b0174473772fca976426e982bb3f4a3037c1e37",
+   "sha256": "09sfdy8r8rybzbi5ri5bb91vgl2mk7xi66rms73pd0q2qjp054la"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    4
+   ],
+   "deps": [
+    "dash",
+    "org",
+    "s"
+   ],
+   "commit": "c2cd03bc86af55689964424988d724158348903d",
+   "sha256": "0zqdwcv2x8jm59fhmycyv7kyvkbikwi8p2dcynhg6id5wr0gyqwd"
   }
  },
  {
@@ -83707,11 +84136,11 @@
   "repo": "takaxp/org-tree-slide",
   "unstable": {
    "version": [
-    20220112,
-    142
+    20221016,
+    1623
    ],
-   "commit": "3faa042393ebfe5699a3bffce775f039d7416ceb",
-   "sha256": "0751qlg8xxwx7mldgdry1gfrarvhzg2smjzxd3382i6j63mpala9"
+   "commit": "d6529bc2df727d09014e0e56abf4f15a8e8fc20f",
+   "sha256": "1br32mpwarmrn158y2pkkmfl2ssv8q8spzknkg2avr16fil0j1pz"
   },
   "stable": {
    "version": [
@@ -83781,15 +84210,15 @@
   "repo": "mtekman/org-treeusage.el",
   "unstable": {
    "version": [
-    20200418,
-    1904
+    20221011,
+    1301
    ],
    "deps": [
     "dash",
     "org"
    ],
-   "commit": "f2d3e5cfac135dea304a3f75711520b0d80fc847",
-   "sha256": "0v9zd2lnzvdxz3wqvw0j3bzd7228x6k8dyr7pzmimkl4l26cybqm"
+   "commit": "c561b3d468aa35e70a43d9a18a4f505996ae882d",
+   "sha256": "1npk4364rny892yrqm6g0ad7xhfa48ivxa4kk7xnakrz7ca23dj3"
   }
  },
  {
@@ -83882,11 +84311,11 @@
   "repo": "flexibeast/org-vcard",
   "unstable": {
    "version": [
-    20220206,
-    1209
+    20221111,
+    328
    ],
-   "commit": "bdaebcb4ef44c155a92d9c89a21a1d29019ee026",
-   "sha256": "1djpjs0v0w6drqpi39y58hs563rqszcfwmldnwcmyp3f3cgqd8k3"
+   "commit": "92345fa9f1e1f928278a654ac5ad57d22d74dbef",
+   "sha256": "1yd5ff89lss0dcnqkgmcb30bb719lixcad4pfkggpssnnix998rv"
   },
   "stable": {
    "version": [
@@ -83931,10 +84360,10 @@
    "version": [
     1,
     1,
-    10
+    12
    ],
-   "commit": "88f24a2aafef0c2172e780ad42adf937a16071ca",
-   "sha256": "1b7afdiagnf9biw0px7qc6ayjbbhy5z2gwl7g1whb3h5hvrri4j5"
+   "commit": "afa4b6f8ff274df87eb11f1afd0321084a45a2ab",
+   "sha256": "125db5gyyc4xyrr0n06ch5rrai3zcxbr3rm3i3b5gyki8wjw0ydk"
   }
  },
  {
@@ -83998,16 +84427,16 @@
   "repo": "akhramov/org-wild-notifier.el",
   "unstable": {
    "version": [
-    20220701,
-    1147
+    20221107,
+    1009
    ],
    "deps": [
     "alert",
     "async",
     "dash"
    ],
-   "commit": "9392b06d20b2f88e45a41bea17bb2f10f24fd19c",
-   "sha256": "1wj1dj2nirdj9m748q1yaakzzv3w39qlgak59yg3slbj6pcpgzl4"
+   "commit": "544df8a78090411479495494f9de724c350649ac",
+   "sha256": "1xwx3q18kl5za2qzq596v1ibhggnrmn7b3r8sd77c7kffjd8k6ib"
   },
   "stable": {
    "version": [
@@ -84119,8 +84548,8 @@
   "repo": "org2blog/org2blog",
   "unstable": {
    "version": [
-    20220919,
-    2119
+    20221118,
+    536
    ],
    "deps": [
     "htmlize",
@@ -84129,14 +84558,14 @@
     "writegood-mode",
     "xml-rpc"
    ],
-   "commit": "a87e5d665838478dc03416f078e7d6f2100604ea",
-   "sha256": "1zfkny44mvwdlgh0dx0kb7wrlcazfhasbm19yp604adn0nvi9vvm"
+   "commit": "0d435af91c237351f0880536cb3cf21a91041ba4",
+   "sha256": "1h2i63b7615kdn7d8bfhpn8c5ml17vf9lj7cyz4bhgrd8jdsrm71"
   },
   "stable": {
    "version": [
     1,
     1,
-    15
+    16
    ],
    "deps": [
     "htmlize",
@@ -84145,8 +84574,8 @@
     "writegood-mode",
     "xml-rpc"
    ],
-   "commit": "a87e5d665838478dc03416f078e7d6f2100604ea",
-   "sha256": "1zfkny44mvwdlgh0dx0kb7wrlcazfhasbm19yp604adn0nvi9vvm"
+   "commit": "0d435af91c237351f0880536cb3cf21a91041ba4",
+   "sha256": "1h2i63b7615kdn7d8bfhpn8c5ml17vf9lj7cyz4bhgrd8jdsrm71"
   }
  },
  {
@@ -84731,11 +85160,11 @@
   "repo": "minad/osm",
   "unstable": {
    "version": [
-    20220702,
-    2218
+    20221021,
+    1152
    ],
-   "commit": "1c5e825fbec4c22ae3a649dec84d51803768b44a",
-   "sha256": "0p19vcv32pm27vxm33gdggzggac5hb0ji75fhs4g5va69kv1nxyw"
+   "commit": "5b24ed076c9998be627c19549d403d5b219b7b28",
+   "sha256": "1c0wymsrfdjsapwyhkp1a497hw96pkps7j5fkf0rd2sp9c4fln7y"
   },
   "stable": {
    "version": [
@@ -85525,14 +85954,14 @@
   "repo": "coldnew/org-html5slide",
   "unstable": {
    "version": [
-    20131228,
-    606
+    20221025,
+    521
    ],
    "deps": [
     "org"
    ],
-   "commit": "4703dfbd9d79161509def673d2c1e118d722a58f",
-   "sha256": "19h3w3fcas60jv02v7hxjmh05804sb7bif70jssq3qwisj0j09xm"
+   "commit": "4e0d9026c96e1dde22cca7c700669f1f863a9d07",
+   "sha256": "1bbnj1vbyz79pprq0fb50ngv7ial7car247pj3dk9wyq0ch7navz"
   }
  },
  {
@@ -85543,14 +85972,14 @@
   "repo": "kaushalmodi/ox-hugo",
   "unstable": {
    "version": [
-    20220626,
-    2055
+    20221028,
+    1631
    ],
    "deps": [
     "tomelr"
    ],
-   "commit": "97ff24fe0b8d29c503b88eea69235b02ae71beb0",
-   "sha256": "0s58mynwry8087rsp1ypcl7x7p6pikxz8pnarp0vnzjq1gysk4sw"
+   "commit": "a66063a9915c859c57944564f0b8dbc7949d4449",
+   "sha256": "0yd7i1ryzc6lwmkfhkdh1kqqjyvzc1m0yyprm2m8xakkc12wljmd"
   },
   "stable": {
    "version": [
@@ -85730,6 +86159,30 @@
   }
  },
  {
+  "ename": "ox-linuxmag-fr",
+  "commit": "ad7a2f32c6d2c0964f50f30cb627ff50cf4c11b0",
+  "sha256": "1d4bsr6fbxs9z944a48gy31akp6giaz5lx59f2l3x65m32qss73w",
+  "fetcher": "github",
+  "repo": "DamienCassou/ox-linuxmag-fr",
+  "unstable": {
+   "version": [
+    20221030,
+    716
+   ],
+   "commit": "32e0bd1f19b4e6b80b88272f7ec00dc34e52c544",
+   "sha256": "1l4psldwd4jkd6nbh55m78czyicssrnrqdn2gbgqpdxjfvwzw6qn"
+  },
+  "stable": {
+   "version": [
+    0,
+    2,
+    0
+   ],
+   "commit": "32e0bd1f19b4e6b80b88272f7ec00dc34e52c544",
+   "sha256": "1l4psldwd4jkd6nbh55m78czyicssrnrqdn2gbgqpdxjfvwzw6qn"
+  }
+ },
+ {
   "ename": "ox-mdx-deck",
   "commit": "13d1a86dfe682f65daf529f9f62dd494fd860be9",
   "sha256": "1k41sbqcfrj485ps11f6xdb1kxp7kh22k0zhn9vrjb5mxwdilfyl",
@@ -86379,19 +86832,19 @@
   "repo": "melpa/package-build",
   "unstable": {
    "version": [
-    20220830,
-    1429
+    20221113,
+    1600
    ],
-   "commit": "c3c535e93d9dc92acd21ebc4b15016b5c3b90e7d",
-   "sha256": "17z0wbqdd6fspbj43yq8biff6wfggk74xgnaf1xx6ynsp1i74is5"
+   "commit": "9190f3d21b7cd1c0e7c26f4c1cf6b4a07f7ab8fa",
+   "sha256": "02r5bs5ifm95j0lcdkaqkn77wdwvdmd2f6r6b4b5ynyx3rlp9003"
   },
   "stable": {
    "version": [
     3,
-    1
+    2
    ],
-   "commit": "1604b3a5f0040c6f487d38561388abab2f3d54c5",
-   "sha256": "1gkqav0ipfk5gsklxrbggqrbphr12qg1qr6dpdi4f0hs0i11fr23"
+   "commit": "b40825a1ff83fb1adfaa61ea91d99a85bc52ea85",
+   "sha256": "02ngllr9lilpjsgdpk4628kdp0nwdlrkxj78bvi4jlhnbk4chh1c"
   }
  },
  {
@@ -86417,15 +86870,15 @@
   "repo": "purcell/package-lint",
   "unstable": {
    "version": [
-    20220913,
-    1226
+    20221003,
+    1636
    ],
    "deps": [
     "cl-lib",
     "let-alist"
    ],
-   "commit": "02fb44250bdcd08950c5530a7f1b1ca180455a67",
-   "sha256": "0krlmbpx4giji0vwx67p1dnd8fryca6jj6fmry44csqr3byc9fxq"
+   "commit": "4ea8318c1bf79ccb1b4658d58917bbd9f990c432",
+   "sha256": "0q6spg36yx1rw22ka6cmf59dyx12rvrgmsdlkiaacp5s17rxmv76"
   },
   "stable": {
    "version": [
@@ -86764,42 +87217,6 @@
   }
  },
  {
-  "ename": "pallet",
-  "commit": "bf977287e9bd668efbd972c9937906384ee832c6",
-  "sha256": "0q50cdwnn2w1n5h4bappncjjyi5yaixxannwgy23fngdrz1mxwd7",
-  "fetcher": "github",
-  "repo": "rdallasgray/pallet",
-  "unstable": {
-   "version": [
-    20150512,
-    702
-   ],
-   "deps": [
-    "cask",
-    "dash",
-    "f",
-    "s"
-   ],
-   "commit": "0e1ae11e1ebfe644cbf832df62ac2dbf6ecd0501",
-   "sha256": "03mlg6dmpjw8fq2s3c4gpqj20kjhzldz3m51bf6s0mxq9bclx2xw"
-  },
-  "stable": {
-   "version": [
-    0,
-    9,
-    2
-   ],
-   "deps": [
-    "cask",
-    "dash",
-    "f",
-    "s"
-   ],
-   "commit": "0e1ae11e1ebfe644cbf832df62ac2dbf6ecd0501",
-   "sha256": "03mlg6dmpjw8fq2s3c4gpqj20kjhzldz3m51bf6s0mxq9bclx2xw"
-  }
- },
- {
   "ename": "pamparam",
   "commit": "03de45e491e970cc5733950a825b98545b5ac24b",
   "sha256": "01n35a3fnwbb7w2qpk8b5f9wwmr6d5jcjzcv6gnc1768a43p9yzf",
@@ -86920,11 +87337,11 @@
   "repo": "coldnew/pangu-spacing",
   "unstable": {
    "version": [
-    20190823,
-    401
+    20221025,
+    522
    ],
-   "commit": "2e2dc6427b4427b045df37ba793884c6225c262e",
-   "sha256": "00zqb68vzcqd1mcxz3nsdydima14381dvqc4nncqm1l6hnapxf1h"
+   "commit": "2303013e5cd7852136f1429162fea0e1c8cb0221",
+   "sha256": "15myim253yw5pipjidqcj09ayi7zyliaw9dcr4kwcyh6ymv0syaw"
   },
   "stable": {
    "version": [
@@ -86979,7 +87396,7 @@
   "unstable": {
    "version": [
     20191011,
-    1111
+    1119
    ],
    "deps": [
     "hydra",
@@ -86987,8 +87404,8 @@
     "seq",
     "spinner"
    ],
-   "commit": "339fe3518d1d102b2295670340e75caf4f01a29a",
-   "sha256": "05hwwdhx980jm1y495r8qng029wm02m45mm7w4wxyjhh6385rbzf"
+   "commit": "96401577ed02f433debe7604e49afd478e9eda61",
+   "sha256": "0v9hmvq6bcr2hwlb09ldsd6pjl19ri5n2hl2bs3x52fqjj6fdzzn"
   },
   "stable": {
    "version": [
@@ -87271,11 +87688,11 @@
   "repo": "joostkremers/parsebib",
   "unstable": {
    "version": [
-    20220916,
-    2236
+    20221007,
+    1402
    ],
-   "commit": "f87b0fd64abb61e6ed5ac01813fb1ee98eb7d3bf",
-   "sha256": "0v2rywfbhlcvg2d4pbf18jil14v938krfnq2hqhi3vsrcshwkfii"
+   "commit": "1efca921cbb49380396df9d81308b32e55fc8b63",
+   "sha256": "054s29rbqjrsn50d8ckvg0b9581bpq5bp1yb4905p8p2sbhjgmsp"
   },
   "stable": {
    "version": [
@@ -87947,14 +88364,11 @@
   "repo": "joddie/pcre2el",
   "unstable": {
    "version": [
-    20161120,
-    2103
-   ],
-   "deps": [
-    "cl-lib"
+    20221018,
+    1608
    ],
-   "commit": "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d",
-   "sha256": "14br6ad138qx1z822wqssswqiihxiynz1k69p6mcdisr2q8yyi1z"
+   "commit": "b7f6cc8d447a0e402fface7fac3f5ad02a9f9f6e",
+   "sha256": "0k84559j94np4xkclwybsg31cmx70mcgy9hyqim5spqviq5gvw76"
   },
   "stable": {
    "version": [
@@ -88030,16 +88444,16 @@
   "repo": "vedang/pdf-tools",
   "unstable": {
    "version": [
-    20220823,
-    513
+    20221007,
+    1404
    ],
    "deps": [
     "let-alist",
     "nadvice",
     "tablist"
    ],
-   "commit": "1a0a30c54dc3effdba4781a2983115d4b6993260",
-   "sha256": "1gy7d25iplix02h9kqxxvfrxfwr2gm11xdmmx9ckbj3q51b5gi1r"
+   "commit": "d6980bc3273e1cf1a73feee6bb523d1568405685",
+   "sha256": "1a0l76k183fmkd7wjw86lf0mwcvkvd0gsyyh3p49z56094srxjar"
   },
   "stable": {
    "version": [
@@ -88104,6 +88518,21 @@
   }
  },
  {
+  "ename": "pebble-mode",
+  "commit": "a4d55337a929006127b96f69dea244c38b73eeb5",
+  "sha256": "07xyxd5w95pyr4l7z040yg9s69hmcpg9scd8zgnzqshrngsb91fl",
+  "fetcher": "github",
+  "repo": "ArneBab/pebble-mode",
+  "unstable": {
+   "version": [
+    20221009,
+    2113
+   ],
+   "commit": "b256cebef2911021f0241364b4642357d5efd201",
+   "sha256": "02hcii6kywn6vxpgkjm0xw6zppq5ra3kds7w34g15abi9xdmkhxh"
+  }
+ },
+ {
   "ename": "peek-mode",
   "commit": "08384964d8c1f5f60c84c044d26a79105973ab21",
   "sha256": "07wcnh3jmp2gi9xhd3d8i2n0pr2g9kav497nnz94i85awhzf8fi4",
@@ -88198,9 +88627,24 @@
   "ename": "per-buffer-theme",
   "commit": "2a2a6c0bf1cad99ed82db7b90b8b7ab79827ac17",
   "sha256": "06vykjgf4rxh832z74jxkhi4jxlh60hnh8zjvdyr9nbh1dy35bjn",
-  "error": "Not in archive",
   "fetcher": "hg",
-  "url": "https://hg.serna.eu/emacs/per-buffer-theme"
+  "url": "https://hg.serna.eu/emacs/per-buffer-theme",
+  "unstable": {
+   "version": [
+    20221002,
+    2219
+   ],
+   "commit": "2cbb15c05edff4ce23ce61858cf16e8953cd58b3",
+   "sha256": "0xcswgiak6s44m80nv6lj2j2j6i79xi2hix428hbkykd4ahdqghl"
+  },
+  "stable": {
+   "version": [
+    2,
+    2
+   ],
+   "commit": "2cbb15c05edff4ce23ce61858cf16e8953cd58b3",
+   "sha256": "0xcswgiak6s44m80nv6lj2j2j6i79xi2hix428hbkykd4ahdqghl"
+  }
  },
  {
   "ename": "perfect-margin",
@@ -88609,11 +89053,11 @@
   "repo": "emarsden/pg-el",
   "unstable": {
    "version": [
-    20221001,
-    1320
+    20221111,
+    756
    ],
-   "commit": "99085cd115b705e42e574b13dc168b901b767bf3",
-   "sha256": "09l2zzp0r0pwl0kak9z6kn700vm4mr99acn2g2dgn9c3pl0syndj"
+   "commit": "3e79c965063bc15d1e2ed9a1c152ba603b84e68a",
+   "sha256": "1g3qh1xvdri2vp652jzihzvfnn39wbpy79sscaav09lkbc4phgb5"
   },
   "stable": {
    "version": [
@@ -88742,14 +89186,14 @@
   "repo": "zk-phi/phi-grep",
   "unstable": {
    "version": [
-    20210306,
-    425
+    20221004,
+    836
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "7e2804c7ab4e875c7511917692c4b192662aa1ae",
-   "sha256": "1znim5mfd8s4dzwsg8gp2im1i837pw990r9r7mcv5zkzyll7wiq3"
+   "commit": "9f3c42952ad4ad75d24abbdccb041240db4f0557",
+   "sha256": "011i9dw2n3sq9yhm2qz55mnffmi5v9zc928crv480hjrbjad8f90"
   }
  },
  {
@@ -88975,20 +89419,20 @@
   "repo": "emacs-php/php-mode",
   "unstable": {
    "version": [
-    20220917,
-    1904
+    20221112,
+    1616
    ],
-   "commit": "6513efaf6fd062aaa5ed542a710394553fe1c4e1",
-   "sha256": "1dpv03sgnxhzjh2xi5r5krdxvilzwglllvczn4l715rjx92f55iy"
+   "commit": "d01cfc9cd51706e076bf7e5cbf0cfa7ee885efb4",
+   "sha256": "13lkzvamr86409whr8as4721gx9xrlfkmxvv941775mryliqk6j6"
   },
   "stable": {
    "version": [
     1,
     24,
-    1
+    2
    ],
-   "commit": "2440330456e6b73ba3725d1bebddfe67cb6e6e5c",
-   "sha256": "06xgmlbvqhkrnk6390mdbpjij34msxxwzqmagi6zpwpsf38mn6qf"
+   "commit": "d01cfc9cd51706e076bf7e5cbf0cfa7ee885efb4",
+   "sha256": "13lkzvamr86409whr8as4721gx9xrlfkmxvv941775mryliqk6j6"
   }
  },
  {
@@ -89038,16 +89482,14 @@
   "repo": "emacs-php/php-runtime.el",
   "unstable": {
    "version": [
-    20181212,
-    1825
+    20221009,
+    1955
    ],
    "deps": [
-    "cl-lib",
-    "f",
     "s"
    ],
-   "commit": "017e0e70f07d6b25e37d5c5f4d271a914b677631",
-   "sha256": "1c74xd6p3hfanpd4920agvnar9rjbyvz33kwrzw9vywzrs68ncvh"
+   "commit": "36e6ae862cb02104b5782a563f0a5846c00e0082",
+   "sha256": "1nv67f9ydpfjbaj0wxx4w98d37jrs51drjpkmih15b3ymfqcjh22"
   },
   "stable": {
    "version": [
@@ -89091,8 +89533,8 @@
   "repo": "emacs-php/phpactor.el",
   "unstable": {
    "version": [
-    20220310,
-    1511
+    20221023,
+    608
    ],
    "deps": [
     "async",
@@ -89100,8 +89542,8 @@
     "f",
     "php-runtime"
    ],
-   "commit": "34195f1533209e2ffd0f898a69c7db2bffd1eabe",
-   "sha256": "1xp4v5dm2x31xp5rq80jii2y8nprqd3jcmzpc0dp9xk3fq9hbq7l"
+   "commit": "dde09addf36017527441a855054406f8ffc4e534",
+   "sha256": "11jah2d520qqyfil2qbhblph233a9wjwzbhpc7yzhbqdm29pr9vr"
   },
   "stable": {
    "version": [
@@ -89125,14 +89567,14 @@
   "repo": "emacs-php/phpstan.el",
   "unstable": {
    "version": [
-    20220723,
-    1451
+    20221105,
+    2112
    ],
    "deps": [
     "php-mode"
    ],
-   "commit": "e229e990e36a2bfb88503bfe2bb6f2836eaa2874",
-   "sha256": "1235m8q85rijgx9a5jn3p812hdffjlnalh7nvdl3qgxjsf2c4bd0"
+   "commit": "8b4be09defe5856a1855c976474ada67557780cd",
+   "sha256": "17s8wxriq98lqysrf1w9k54hfyhxn6k33raphvxj1xc4ll87vhg3"
   },
   "stable": {
    "version": [
@@ -89268,11 +89710,11 @@
   "repo": "johanclaesson/picpocket",
   "unstable": {
    "version": [
-    20210806,
-    1135
+    20221101,
+    2104
    ],
-   "commit": "7e30e96c26b1ff0d374612534c3e09d309426252",
-   "sha256": "0sx4493sxgw0fd7b48h8biygnd10k5bl69hhsd69a4yc7yq1zbnm"
+   "commit": "30942846bd8cb95a938a534ed9ed9efeff813b7c",
+   "sha256": "0a6jnnl74z1nr1w4qkllil4vv5k669vkjl5z6zc42b4sb5qrksw7"
   }
  },
  {
@@ -91349,20 +91791,20 @@
   "repo": "tumashu/posframe",
   "unstable": {
    "version": [
-    20220528,
-    27
+    20221118,
+    614
    ],
-   "commit": "0d23bc5f7cfac00277d83ae7ba52c48685bcbc68",
-   "sha256": "1p42kyh1l9m3h48fl4pq27rcz2dbhgk28qnrf5h1mmxjln1lbb2w"
+   "commit": "48b7130ca3b5c98bdb21bf99b64a3536acf2b0eb",
+   "sha256": "1v8jkrgfkj2a08m82dz7vrlyjw3wrk3nd33wi4c166agssznlmih"
   },
   "stable": {
    "version": [
     1,
-    1,
-    7
+    2,
+    0
    ],
-   "commit": "c91d4d53fa479ceb604071008ce0a901770eff57",
-   "sha256": "15h809mf8d8w8axbfzjs40j8yrh5ms88x4pmlx1qlcac8j6qrilf"
+   "commit": "48b7130ca3b5c98bdb21bf99b64a3536acf2b0eb",
+   "sha256": "1v8jkrgfkj2a08m82dz7vrlyjw3wrk3nd33wi4c166agssznlmih"
   }
  },
  {
@@ -91468,14 +91910,14 @@
   "repo": "milkypostman/powerline",
   "unstable": {
    "version": [
-    20220122,
-    1904
+    20221110,
+    1956
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "566c77844f053cb39fa7acdfbc143a855450f0b5",
-   "sha256": "0nhh2bq35s8rgz6g38i97759d92d6z5yak66687lnk481wca3x4l"
+   "commit": "c35c35bdf5ce2d992882c1f06f0f078058870d4a",
+   "sha256": "0k1n5pg8v3ybkqxcipw80jqv94ka0dp63qxl0hvjwlxk16gxp8kb"
   },
   "stable": {
    "version": [
@@ -91712,20 +92154,19 @@
   "repo": "radian-software/prescient.el",
   "unstable": {
    "version": [
-    20221001,
-    127
+    20221118,
+    307
    ],
-   "commit": "a86b71431002f7c7be6ea86f6f2694d206564b13",
-   "sha256": "1hxfilsd8bia4zn2gzsfzpll39bb980z4j76wqh4ry69nx84w2gf"
+   "commit": "a000de747515aa7e7ad1ea0eab711864a4be0ab5",
+   "sha256": "1d1d4msmkc0cvd6vva0pfq72i07p0my9wj2s8zvj60pvah620yl0"
   },
   "stable": {
    "version": [
-    5,
-    2,
-    1
+    6,
+    0
    ],
-   "commit": "07d61b7779c4cca3009390383e7f98a55de7e17e",
-   "sha256": "0z97d7nnl1hgxj4fsvgw3hb3j4dc9wkdq2vq3dw607f29lwqiadk"
+   "commit": "c28bca2213efd2666b0328c29f2c26e9b603cc9a",
+   "sha256": "0156sbs4b535mcwm44qjr8lx48svmjvdqh8c8hr6d0l709f27yq3"
   }
  },
  {
@@ -92476,20 +92917,20 @@
   "repo": "bbatsov/projectile",
   "unstable": {
    "version": [
-    20220828,
-    1421
+    20221118,
+    1035
    ],
-   "commit": "20aa2adccc1ecb19f54f2fbc428b4904071fcab8",
-   "sha256": "14wwnnms1bg7vn1jkvsl2ham8w0ncphm2gm5a78ggn6rq8z62p82"
+   "commit": "5703797bb2a400e962479e670086aca4241a77b7",
+   "sha256": "0xm6792q1z90mjmxrp54vw2yh34hzxisdxz5dl5df78ckkgbxsww"
   },
   "stable": {
    "version": [
     2,
-    5,
+    6,
     0
    ],
-   "commit": "a2a1aba8aa12d0ff0e044c4336a5c2598c259720",
-   "sha256": "0wyq23xsfwpzfzncs2wr5ap4x2jh9r95qnhlzr8igq3325vm0b4f"
+   "commit": "e3bae8c91bb69c501dcc2e74f9ea14e89cf0a09c",
+   "sha256": "0xs52fv4scb6389fzd0mp1qjh695z3b7n7116bb0mn50kjws6447"
   }
  },
  {
@@ -92590,15 +93031,15 @@
   "repo": "nlamirault/ripgrep.el",
   "unstable": {
    "version": [
-    20180914,
-    1500
+    20221013,
+    541
    ],
    "deps": [
     "projectile",
     "ripgrep"
    ],
-   "commit": "93eca9138f6d6eea1af92f476c797ce19fa573d9",
-   "sha256": "0b1pa7srl1qmxaylv6iqy7rn4ajv9l87agpjrni01al01z6jfk1x"
+   "commit": "b6bd5beb0c11348f1afd9486cbb451d0d2e3c45a",
+   "sha256": "0wi7kx98c80vja6hs509d3jg96h5lk1wdldz6qiz5arijbcl3n9z"
   },
   "stable": {
    "version": [
@@ -92995,10 +93436,10 @@
   "stable": {
    "version": [
     21,
-    7
+    9
    ],
-   "commit": "54489e95e01882407f356f83c9074415e561db00",
-   "sha256": "0yhjgmgzj0awwsp6g2hsvwx86v2ns8pfcvk2wdq6kdyv6dngh7ig"
+   "commit": "90b73ac3f0b10320315c2ca0d03a5a9b095d2f66",
+   "sha256": "0g904h7z2nb8vx0529zzq3gm0jal9w4l5ch0zl1q9i1g0n3q1dfp"
   }
  },
  {
@@ -93257,6 +93698,21 @@
   }
  },
  {
+  "ename": "ptree",
+  "commit": "37562efe28a6c4e1c72a57236f80aa734d7144ed",
+  "sha256": "1ycgj0gnl3xh5bjnadfwjlip6f51kbmsvdqykiy2mv7321lrghpc",
+  "fetcher": "github",
+  "repo": "alpha-catharsis/ptree",
+  "unstable": {
+   "version": [
+    20221106,
+    1649
+   ],
+   "commit": "23cb9093f99b9869606f8d54fa5c45ea35fcc789",
+   "sha256": "0vxji487f1yfffjs8vgi8f4l2ssj3n26lr2sx5xzdj70x2w5rz04"
+  }
+ },
+ {
   "ename": "pubmed",
   "commit": "ee84560c15e7389e902fb4a4c548c08be231de82",
   "sha256": "048kh442dnzgwz4wml2a5griav8zyrfzn5b43n9ky84pm7lgcxp3",
@@ -93264,30 +93720,30 @@
   "repo": "fvdbeek/emacs-pubmed",
   "unstable": {
    "version": [
-    20220710,
-    2149
+    20221023,
+    930
    ],
    "deps": [
     "esxml",
     "s",
     "unidecode"
    ],
-   "commit": "7e38b3f8ec72618b89afdeaa113f1787dcb690ca",
-   "sha256": "1f884r3fs9nybf5y9dwp8f9m8azssxjy55z7bd0nl9pjll9rhsz2"
+   "commit": "b2fbc124cabf0d373845763adf882e9d89ff5daa",
+   "sha256": "05j4nhn2bgacc54pvmkhwgdsmzxzkcfn49a12k43wckrrf3izbqf"
   },
   "stable": {
    "version": [
     0,
     6,
-    1
+    2
    ],
    "deps": [
     "esxml",
     "s",
     "unidecode"
    ],
-   "commit": "7e38b3f8ec72618b89afdeaa113f1787dcb690ca",
-   "sha256": "1f884r3fs9nybf5y9dwp8f9m8azssxjy55z7bd0nl9pjll9rhsz2"
+   "commit": "b2fbc124cabf0d373845763adf882e9d89ff5daa",
+   "sha256": "05j4nhn2bgacc54pvmkhwgdsmzxzkcfn49a12k43wckrrf3izbqf"
   }
  },
  {
@@ -93298,26 +93754,26 @@
   "repo": "xFA25E/pueue",
   "unstable": {
    "version": [
-    20220915,
-    1249
+    20221105,
+    1230
    ],
    "deps": [
     "with-editor"
    ],
-   "commit": "169ffd565462cb72eaff0b376d1f37c81a4b5fbb",
-   "sha256": "1xq02cy2h7idpbwv00893zkzql6ph2na5cgwrpj5qa19by41xdj5"
+   "commit": "5ad6979a0129c7cddc69f71c9084e4356f450fac",
+   "sha256": "1jcy8gv7zg0hr2p1vcdx0wy2gh6wmrxp6j3g4idsa9sa1kbm6dj0"
   },
   "stable": {
    "version": [
     2,
-    0,
+    1,
     0
    ],
    "deps": [
     "with-editor"
    ],
-   "commit": "e00246371283f8ed68b912582cabfb368cc58609",
-   "sha256": "0331djqk9989rd8f8gna8b1a3x86ir3i7563ivcnzk5a4zm8jzv2"
+   "commit": "5ad6979a0129c7cddc69f71c9084e4356f450fac",
+   "sha256": "1jcy8gv7zg0hr2p1vcdx0wy2gh6wmrxp6j3g4idsa9sa1kbm6dj0"
   }
  },
  {
@@ -93427,11 +93883,11 @@
   "repo": "AmaiKinono/puni",
   "unstable": {
    "version": [
-    20220730,
-    1556
+    20221016,
+    427
    ],
-   "commit": "28836e98d5566172b1a94d7b38290d07b49201b2",
-   "sha256": "1z35nzsqcp8q9nnka0d5gpiidl07qfqmd2giwnd3b3v7h3v1kwpz"
+   "commit": "af8dfe1f5a3e5c4ba650fd15716ae707f29b33f8",
+   "sha256": "1pdghwwcx28f056w0v26d21da6l3nwh8nsmw7lf8zrn43b259yas"
   }
  },
  {
@@ -93919,28 +94375,28 @@
   "repo": "tumashu/pyim",
   "unstable": {
    "version": [
-    20220927,
-    803
+    20221107,
+    41
    ],
    "deps": [
     "async",
     "xr"
    ],
-   "commit": "1129a07aa45c71c8d6712b73f089e7addbce53db",
-   "sha256": "180bkdl5zbsxi5q0fxr4p6676iblky9cd1qq9cxssbyzjpj1qpgq"
+   "commit": "93fab3c9e8c2490687781d45c1cecead0bd3ecf2",
+   "sha256": "1rlfic87ibbxd86fj0x4cryhz41yggpzy94p3h9xk8j3y74sab9r"
   },
   "stable": {
    "version": [
     5,
     2,
-    5
+    8
    ],
    "deps": [
     "async",
     "xr"
    ],
-   "commit": "2d9e9c5b9703dc4f3a400ab353ee99556c892c00",
-   "sha256": "0ixvwfdk6kl14gqaz6988iz36fdjk8gd94aiqkaf7y2wlm4gjs11"
+   "commit": "93fab3c9e8c2490687781d45c1cecead0bd3ecf2",
+   "sha256": "1rlfic87ibbxd86fj0x4cryhz41yggpzy94p3h9xk8j3y74sab9r"
   }
  },
  {
@@ -94087,35 +94543,34 @@
   "repo": "it-is-wednesday/pyinspect.el",
   "unstable": {
    "version": [
-    20220805,
-    918
+    20221118,
+    1014
    ],
-   "commit": "df5959e699157d757c16ce11efdf3045a5b58d23",
-   "sha256": "15xbs4g5agp700ajqrfcz6fgmridj55v8hhg1jmhqn1aacvh6zas"
+   "commit": "a6f9a47327b2465dde106307e5dd8e84cb3321d9",
+   "sha256": "1lqgv9xbl3fvgkz60rwq7awmzhkpfd70bhl1fbz8v4cl4fhbl1p7"
   }
  },
  {
   "ename": "pylint",
-  "commit": "a073c91d6f4d31b82f6bfee785044c4e3ae96d3f",
-  "sha256": "1138a8dn9y4ypbphs1zfvr8gr4vdjcy0adsl4xfbgsls4kcdwpxx",
+  "commit": "89fc03827a999fc978864f5a2a39d64ae1863fe0",
+  "sha256": "1igci9rq79x8h7q5k98awhw0i696mqbfgl99ykznzfhzpwxywr3j",
   "fetcher": "github",
-  "repo": "PyCQA/pylint",
+  "repo": "emacsorphanage/pylint",
   "unstable": {
    "version": [
-    20210411,
-    1931
+    20221117,
+    1303
    ],
-   "commit": "38d15c98316359c7b0b190f2245a3b2e2bf62109",
-   "sha256": "1iipx981kz25iznb2p90a3cag71abw6np96r0mf99g44z8ghaapd"
+   "commit": "bddb91610b6b6aa1e7fee96b6be3be69dfe3695e",
+   "sha256": "0n7d70l9bjz210dazvn13mr7s0klinnqr36n59fzsrij6xp46kaq"
   },
   "stable": {
    "version": [
-    2,
-    15,
+    1,
     3
    ],
-   "commit": "403dac602ee01e317a22800e0d63bdeb0c2faa7e",
-   "sha256": "179mijqrrla2sfflmk9v7bl3xc21wpnflksvhn3qj8l2yr5p3xwc"
+   "commit": "bddb91610b6b6aa1e7fee96b6be3be69dfe3695e",
+   "sha256": "0n7d70l9bjz210dazvn13mr7s0klinnqr36n59fzsrij6xp46kaq"
   }
  },
  {
@@ -94234,28 +94689,28 @@
   "repo": "wbolster/emacs-python-black",
   "unstable": {
    "version": [
-    20211217,
-    2037
+    20221103,
+    1759
    ],
    "deps": [
     "dash",
     "reformatter"
    ],
-   "commit": "cc6919e758b5845b201e1cb08a9b5d9a2598a7f1",
-   "sha256": "1jz4kyj08s1pn7d5z0hpc8asy8kfs3mfqg3i8bps1cbrpx5aky5m"
+   "commit": "e1bbf574a952562ddeadb0caa42c44016136c2c9",
+   "sha256": "1x6b67cs7kn8711fxr3fq8y9wcpf9g71asf9wiqfrk2mrfzli6a3"
   },
   "stable": {
    "version": [
     1,
-    1,
+    2,
     0
    ],
    "deps": [
     "dash",
     "reformatter"
    ],
-   "commit": "6b6ab71d2762b6da703f8d1d3d964b712a98939e",
-   "sha256": "1cmzc0fa3jj7ajxbqhbsc8jx47k6g223sfd42c4lrqdnmh95760m"
+   "commit": "e1bbf574a952562ddeadb0caa42c44016136c2c9",
+   "sha256": "1x6b67cs7kn8711fxr3fq8y9wcpf9g71asf9wiqfrk2mrfzli6a3"
   }
  },
  {
@@ -94429,20 +94884,20 @@
   "repo": "jdtsmith/python-mls",
   "unstable": {
    "version": [
-    20220528,
-    1502
+    20221003,
+    1451
    ],
-   "commit": "bbfe9a8b2ea081c032eccfd541dac2bc46aa54a6",
-   "sha256": "0686f0a2jglby8nmwjfbzxjm7xd7h71safa4bphj1rb9v23kxzwl"
+   "commit": "398ba92372cc37bae5d63e4d4c42e65edf7db74b",
+   "sha256": "0mdlqmdwv6kz8dqlzwv46rwz4qkr53a05kh8wgz5mln1x77rwax7"
   },
   "stable": {
    "version": [
     0,
     1,
-    3
+    4
    ],
-   "commit": "e0af9d48023c9f999160245df64c524ec54c2af6",
-   "sha256": "188wrjm7yp5q08q6gkyalqy5b6cc7lkjx3xza21gkpc1iwd75436"
+   "commit": "398ba92372cc37bae5d63e4d4c42e65edf7db74b",
+   "sha256": "0mdlqmdwv6kz8dqlzwv46rwz4qkr53a05kh8wgz5mln1x77rwax7"
   }
  },
  {
@@ -94453,11 +94908,11 @@
   "repo": "python-mode-devs/python-mode",
   "unstable": {
    "version": [
-    20220922,
-    1149
+    20221031,
+    1030
    ],
-   "commit": "7cf62b573db2b698413cdfe3f78c3e5ad7d62738",
-   "sha256": "0src4xn05c8k1sjcz5g79gz8as82ldj33r6qpzfp0i58sgnyhlf7"
+   "commit": "d0fd742a28e051b99490e48971dafd9766064553",
+   "sha256": "17jzl1njx420aram9p2kki1f1drwrnr0n6zglc8sv8azli0nxsq4"
   },
   "stable": {
    "version": [
@@ -94477,8 +94932,8 @@
   "repo": "wbolster/emacs-python-pytest",
   "unstable": {
    "version": [
-    20220917,
-    1903
+    20221021,
+    1937
    ],
    "deps": [
     "dash",
@@ -94486,13 +94941,13 @@
     "s",
     "transient"
    ],
-   "commit": "bec1483d51a97e181049fbe8ce21659c81bf855d",
-   "sha256": "0sipnpkmyap3b7nj2cn3rlf9xfz6xgnvzmi3ns5nrg232j7ar4jc"
+   "commit": "33c921adaa6c9c8f7cceba2342114c6b406e0d7c",
+   "sha256": "00bnqya530fsdwzqxz7d15xqnv6axip1i6ny9zb1yahkzkc8zbvi"
   },
   "stable": {
    "version": [
     3,
-    2,
+    3,
     0
    ],
    "deps": [
@@ -94501,8 +94956,8 @@
     "s",
     "transient"
    ],
-   "commit": "02cf74617cf54d85bd58c75b8fe64b6f8ea36aba",
-   "sha256": "1l7lyni2vjzgqsnysf4dgww0adhhsfmjc07dn1l65m9jjsr99x2g"
+   "commit": "aef8b42f7ca69d84289209c7bf0974c8ef4c95ab",
+   "sha256": "1a8086j4iq8qg230dx9nxcaivffyb7y5fga8fc1m5x4v9dh171x7"
   }
  },
  {
@@ -94763,8 +95218,8 @@
   "repo": "quarto-dev/quarto-emacs",
   "unstable": {
    "version": [
-    20220802,
-    2041
+    20221005,
+    1632
    ],
    "deps": [
     "markdown-mode",
@@ -94772,8 +95227,8 @@
     "polymode",
     "request"
    ],
-   "commit": "769a4ec178f8ad3e0c87b1ee23e64616ee161b02",
-   "sha256": "1xi47d32mlpi80ylg9wj50amxiysbmigzpvf4xwivl181yn7cikl"
+   "commit": "b7dcba7050b2e1e65acdd5656d08a186bca2c922",
+   "sha256": "1f5jc9yni00mls6d9r0kxvziq1x20kimaixcg084wnmni20g97zb"
   }
  },
  {
@@ -94973,11 +95428,14 @@
   "repo": "emacsorphanage/quickrun",
   "unstable": {
    "version": [
-    20210904,
-    1553
+    20221015,
+    1114
+   ],
+   "deps": [
+    "ht"
    ],
-   "commit": "78317951cd3db986d811de616b7035559831749b",
-   "sha256": "0z7zpsmhfhnzvf1vqpsj5wsnlxmyxgc1z6599xsbvl30fw589y1r"
+   "commit": "548b64c3679ff058d80d0080c06d736e25611563",
+   "sha256": "1nbvp4vwiz3hd962db1gh4c19r4xj0p0rr6jbm34mbnm3bm0lgyz"
   },
   "stable": {
    "version": [
@@ -95135,11 +95593,11 @@
   "repo": "greghendershott/racket-mode",
   "unstable": {
    "version": [
-    20220921,
-    1525
+    20221118,
+    1721
    ],
-   "commit": "0071a3c630a24eca95d115da81fd0091259ccc50",
-   "sha256": "00jl4ybzjwkz687cyzdf7l967bpi26bgp5kqbwlrv7awpwjdbyri"
+   "commit": "28d19dee861354d92108692dd80d9f18b2db0c46",
+   "sha256": "08blxg2ibf9nr2m1hhrw9l232a1zly44sw8xrzbznipv6s9388w1"
   }
  },
  {
@@ -96344,11 +96802,11 @@
   "repo": "ideasman42/emacs-recomplete",
   "unstable": {
    "version": [
-    20220731,
-    2328
+    20221017,
+    37
    ],
-   "commit": "3ed522a234bced2d2ba1d069fd00e715359ac29a",
-   "sha256": "18195hq4m5mk95k72q6m4hrircvh29v47w2qv47pw0gplpx0fa47"
+   "commit": "44d4e57a2bfb401c282e4a460db755680e896de9",
+   "sha256": "191mw99sk027jzhp6gn9g4mx6a318bycfyjdmgsdhms21lxjz0j0"
   }
  },
  {
@@ -96459,19 +96917,19 @@
   "repo": "minad/recursion-indicator",
   "unstable": {
    "version": [
-    20220403,
-    1812
+    20221016,
+    1015
    ],
-   "commit": "63d946c5cb11b81184151f1385efed325f6cac2d",
-   "sha256": "1p0m1fklflvfd78p506js2i687fxv061j8n959wiiv6avm41nccp"
+   "commit": "ba3cc0765af966e8acc27f6606c8918f442e37e9",
+   "sha256": "1rq2c5jvs0v9z7zvvs6vynchmaxaznw8jw00qbw5y8hq0alifi3g"
   },
   "stable": {
    "version": [
     0,
-    2
+    3
    ],
-   "commit": "5d98022dee5a5ba3343f1c26e28febc2f095912c",
-   "sha256": "1ksd8p98z5w7kaahwalsmxdb9zvyb1kcr32mcsjqbnxxzagld880"
+   "commit": "ba3cc0765af966e8acc27f6606c8918f442e37e9",
+   "sha256": "1rq2c5jvs0v9z7zvvs6vynchmaxaznw8jw00qbw5y8hq0alifi3g"
   }
  },
  {
@@ -96896,6 +97354,30 @@
   }
  },
  {
+  "ename": "related-files",
+  "commit": "c7162cc6467750014a2f16e9d4fbb6415ea5764c",
+  "sha256": "1qd2s7kiwmrpxpzpby2n7384nm4nzm0xdidmzkrc9rczswg04gbr",
+  "fetcher": "github",
+  "repo": "DamienCassou/related-files",
+  "unstable": {
+   "version": [
+    20221101,
+    1909
+   ],
+   "commit": "4085ed9c235983e530da24cb1fbe33a5b7928ab3",
+   "sha256": "1nnhggbxgvl9h5k796kq3ni2jvv61kki68f3yk54s6yc9h2sgn6p"
+  },
+  "stable": {
+   "version": [
+    0,
+    3,
+    0
+   ],
+   "commit": "4085ed9c235983e530da24cb1fbe33a5b7928ab3",
+   "sha256": "1nnhggbxgvl9h5k796kq3ni2jvv61kki68f3yk54s6yc9h2sgn6p"
+  }
+ },
+ {
   "ename": "remark-mode",
   "commit": "083f2070eb27d66f09552bf42a346f41a9b9b4b5",
   "sha256": "1ccgii79h05bjl16nz7rgvkf35s9y18vp7l6mx6chciwjz6l78kn",
@@ -97200,11 +97682,11 @@
   "repo": "tkf/emacs-request",
   "unstable": {
    "version": [
-    20220911,
-    1704
+    20221115,
+    1450
    ],
-   "commit": "43ff7865f9e0a67911f0f1dab462213089809f25",
-   "sha256": "0b12sc20xvgj729bvsc219kk30bik13c7zsb9lnspc7g3k3hvmm0"
+   "commit": "eb66f05fe37f22228f470882b04a6362683975e1",
+   "sha256": "0g6n9bajgs7mgw9qlx0kin109br92wfn5py5zby674khxvppxdf8"
   },
   "stable": {
    "version": [
@@ -97551,14 +98033,14 @@
   "repo": "a13/reverse-im.el",
   "unstable": {
    "version": [
-    20220922,
-    1650
+    20221103,
+    2351
    ],
    "deps": [
     "seq"
    ],
-   "commit": "40e841b9d5b72ac0872de4e3f08406cb80236706",
-   "sha256": "07msas5vwhvdccxr7scnvvlbr5478d1s6h9c6xkhl8ylml61gv44"
+   "commit": "542a3f7742d2f7878f1509bd193d137b5bba8e7b",
+   "sha256": "1j3sca85q5kd9b2h0iyy2pml1md6jx0q36c3y948svdil11hxv92"
   },
   "stable": {
    "version": [
@@ -97649,11 +98131,11 @@
   "repo": "galdor/rfc-mode",
   "unstable": {
    "version": [
-    20210615,
-    1721
+    20221013,
+    1342
    ],
-   "commit": "3ef663203b157e7c5b2cd3c425ec8fbe7977a24c",
-   "sha256": "0lrmgvrj69rs49vjfwkm3w9z4y5mkndra1kdqmr9s7z9f1558is1"
+   "commit": "93208d44516e1f4c6e181ee5d374f2dbd7199d0c",
+   "sha256": "0rxsmxk3kdlywmyaw2nrq26hqb84l46cj56l1f15b98c3m0pzxzg"
   },
   "stable": {
    "version": [
@@ -97676,15 +98158,15 @@
   "repo": "dajva/rg.el",
   "unstable": {
    "version": [
-    20220521,
-    1653
+    20221024,
+    1631
    ],
    "deps": [
     "transient",
     "wgrep"
    ],
-   "commit": "89343e9858787fa8d3651cd03ff7b0d03309dee8",
-   "sha256": "0pka31i87mf9ih40cb8yc1scvzklb5h5agscac2v7faklranih7i"
+   "commit": "3880e8c734c976a2d393aeacf60d510f56d8217d",
+   "sha256": "10rbfncv2baz28zls0zcqbz5gahbvdi3ixab4cm6gfm13xbgwvf7"
   },
   "stable": {
    "version": [
@@ -97904,8 +98386,8 @@
   "repo": "DogLooksGood/emacs-rime",
   "unstable": {
    "version": [
-    20220620,
-    951
+    20221112,
+    1341
    ],
    "deps": [
     "cl-lib",
@@ -97913,8 +98395,8 @@
     "popup",
     "posframe"
    ],
-   "commit": "3eeef9c445fa056a4b32137f9ef72c27ced2d4ab",
-   "sha256": "1sk09z05xvg94pkf4181hvlg9q0m71kinzxv8223ls8df6ymc43k"
+   "commit": "74f3dff40e66c65388a9471eecbc1d9aca5612f7",
+   "sha256": "1bqhn6pvsgs1x882q7y5p372aify2jmyfmgmx99nzakxbfkb0yqp"
   },
   "stable": {
    "version": [
@@ -98119,14 +98601,14 @@
   "repo": "dgutov/robe",
   "unstable": {
    "version": [
-    20220731,
-    2016
+    20221115,
+    149
    ],
    "deps": [
     "inf-ruby"
    ],
-   "commit": "993ae13791ba882076b644b0c8054b6e89e22dad",
-   "sha256": "1a4sdhrmaswi5h5wwqabiyqfz6lfgn0iq68j6qrbn1lwdmcf71d2"
+   "commit": "c29b47f588715b911da4588a59f3a5245f844138",
+   "sha256": "05b60l9pn4hh3fdxlk0q98qi2w283a62x7jw02v958y33p030bqd"
   },
   "stable": {
    "version": [
@@ -98173,20 +98655,20 @@
   "repo": "kopoli/robot-mode",
   "unstable": {
    "version": [
-    20210425,
-    1925
+    20221109,
+    1630
    ],
-   "commit": "e7e9c4d4750d048ad771fa735621ad813fa9c128",
-   "sha256": "127lydk66n90ih39q8gxzb44rss2xllb7bn3ygxrf5m5vvl9w5rj"
+   "commit": "fb9be47a1d4e57a80ae2c0d4dff3eba2fe29ebdc",
+   "sha256": "10i4lwjf60ms3dj8s7k9c0vb24rhszskhciz9lijphcdh8k622hz"
   },
   "stable": {
    "version": [
     0,
-    6,
-    1
+    7,
+    0
    ],
-   "commit": "e7e9c4d4750d048ad771fa735621ad813fa9c128",
-   "sha256": "127lydk66n90ih39q8gxzb44rss2xllb7bn3ygxrf5m5vvl9w5rj"
+   "commit": "fb9be47a1d4e57a80ae2c0d4dff3eba2fe29ebdc",
+   "sha256": "10i4lwjf60ms3dj8s7k9c0vb24rhszskhciz9lijphcdh8k622hz"
   }
  },
  {
@@ -98283,6 +98765,24 @@
   }
  },
  {
+  "ename": "ropgadget",
+  "commit": "a780acaae76a8515bf0fa70c4b3ef2be0f724ab2",
+  "sha256": "181gqggha3zf469z2rzfvl7ngsszl984f1b8vabiqw4983ig06jr",
+  "fetcher": "github",
+  "repo": "Dragoncraft89/ropgadget-el",
+  "unstable": {
+   "version": [
+    20221006,
+    1105
+   ],
+   "deps": [
+    "transient"
+   ],
+   "commit": "03305f2d73d7092adab495c45b15c8f16f292c8f",
+   "sha256": "0h141q39ij5bggvs4nq8532vdji29pxaaxszahlhabz5rz44wrf6"
+  }
+ },
+ {
   "ename": "ros",
   "commit": "7df44ae0ba89a2c4089a39b212784a6a359f1521",
   "sha256": "1frlg1zn9ip2s3ija20rkmf880smk01jz6jclqkygx6kd4fsbi9m",
@@ -98290,11 +98790,11 @@
   "repo": "DerBeutlin/ros.el",
   "unstable": {
    "version": [
-    20220604,
-    749
+    20221031,
+    2003
    ],
-   "commit": "f66d2177b00b277a36c058549c477d854148623c",
-   "sha256": "07magls67fy99ckvy759lqk2q41mi4dvljx78ahclckyp7adwl21"
+   "commit": "3c4be0ec8dc14d69f2f0b5f46521edf60535b12d",
+   "sha256": "1srrm2i0yff0dns6rk5wzj8s1hnnbki6ijvih6gn6pfqz3ndvpn6"
   }
  },
  {
@@ -98368,15 +98868,15 @@
   "repo": "pezra/rspec-mode",
   "unstable": {
    "version": [
-    20220809,
-    150
+    20221018,
+    1123
    ],
    "deps": [
     "cl-lib",
     "ruby-mode"
    ],
-   "commit": "484f0bab468674852aaf3e0ad0c3b3d4335d4316",
-   "sha256": "15skhq2skmwmp0z7zq1z2lb0s67bgxaigf068c7s6giz4k4zgxal"
+   "commit": "4437a243b2042585db994d77e6b7c85864a8d11a",
+   "sha256": "1ynvrly22v4jzydr168534xl5kxxnbxg7wm15zj4bjiiq1b47b5z"
   },
   "stable": {
    "version": [
@@ -98530,26 +99030,26 @@
   "repo": "jimeh/rubocopfmt.el",
   "unstable": {
    "version": [
-    20200713,
-    1144
+    20221024,
+    2139
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "b4be08469c9d8d95b2847c625241d9be8fa34ed0",
-   "sha256": "1qg28av36qdrldgk7lcv1qkw1k77yyw2yzl6bmkxp9jhd4r5kd67"
+   "commit": "9b0023158cf2517fc07938f678fac8b67f1c6da3",
+   "sha256": "1gscj8k82gx3qrq38wvg29jqd8kk2b1qdg2n5s31dcs2sycb5fxi"
   },
   "stable": {
    "version": [
     0,
     5,
-    0
+    1
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "b84810105940aa5e0bde20c9a89359c95c9b6917",
-   "sha256": "1w922wl7zab61v6z09rh3xpjnfi97c802ijvv4g92nqds6fhnym1"
+   "commit": "b180786c007e6f4c2f2a9673a13fb0651d012f76",
+   "sha256": "1ns7b93abjw495y6i3k3dl5yxr7ydgiy7a499f1ww0nys8fi3i12"
   }
  },
  {
@@ -98874,17 +99374,16 @@
   "repo": "semenInRussia/emacs-run-command-recipes",
   "unstable": {
    "version": [
-    20220903,
-    824
+    20221023,
+    1807
    ],
    "deps": [
     "dash",
     "f",
-    "ht",
     "run-command"
    ],
-   "commit": "6a1ffaed684fdfc4b963d0d723b9753ee0f19e4c",
-   "sha256": "0605g09zbhvard03vs0wv5052i3vns82gzf9ar1lz8pd8vngpxy9"
+   "commit": "ca44efc45b906bd377871b876171476f977e9fc1",
+   "sha256": "10i801x33ld4x7gyfc6fvmhc292hd9dn20qqvyjf1wiqijb1nddc"
   }
  },
  {
@@ -98895,11 +99394,11 @@
   "repo": "ideasman42/emacs-run-stuff",
   "unstable": {
    "version": [
-    20220710,
-    1035
+    20221009,
+    2235
    ],
-   "commit": "1c51c273ab2f1750278284a15bf6cff464bddc2a",
-   "sha256": "0f450kxzd7xjgh0frqzgfw9p4a8mij54xxmrhc5hbq12pxrddk0f"
+   "commit": "984e5219adbee369487768a3ad6a408515e15446",
+   "sha256": "0k4m4rab3dqcsww3c9wz9d3ms7z93nvm97s94gy6i27xw3na5hca"
   }
  },
  {
@@ -99033,8 +99532,8 @@
   "repo": "brotzeit/rustic",
   "unstable": {
    "version": [
-    20220928,
-    1157
+    20221119,
+    1151
    ],
    "deps": [
     "dash",
@@ -99048,8 +99547,8 @@
     "spinner",
     "xterm-color"
    ],
-   "commit": "0eca6e6f0b5b3b02233a2d03c797be2f9a983c19",
-   "sha256": "189dxc9p6dgiqgs3s0855lw4i2vpl2c9rhyyjanyih64mi378rm1"
+   "commit": "1dfa9b5dfbab261bda7555e675ab2b6db13d0be2",
+   "sha256": "1lara2q3m2mxfxk8bjhal58gqwkaj1rmh9v2racydzp32hjwk6xg"
   },
   "stable": {
    "version": [
@@ -99239,16 +99738,16 @@
   "repo": "sagemath/sage-shell-mode",
   "unstable": {
    "version": [
-    20201225,
-    1011
+    20221020,
+    1012
    ],
    "deps": [
     "cl-lib",
     "deferred",
     "let-alist"
    ],
-   "commit": "7fc47d5eab0efac009d5a9316e3dfa223595ab5a",
-   "sha256": "05r8z8wvsdwkbhsv5czrjwg5fq7232vsfcvkk7vj8arkfnhyg1yz"
+   "commit": "80fbb4ee9ed8507d22214ed7a4ffd135c9e8c7c8",
+   "sha256": "02wzr52bw63av2pjc2bb2szznjw4073d2ysh63074llvz2g3jvcz"
   },
   "stable": {
    "version": [
@@ -99576,17 +100075,25 @@
  },
  {
   "ename": "scad-mode",
-  "commit": "2d27782b9ac8474fbd4f51535351207c9c84984c",
-  "sha256": "04b4y9jks8sslgmkx54fds8fba9xv54z0cfab52dy99v1301ms3k",
+  "commit": "298a2b6bf4c7ed9e63e8127b55da7d8266789de1",
+  "sha256": "1ng9fng5c4iwy11647fab8xzhmqgplsii26ms092dghh1nbb30pj",
   "fetcher": "github",
-  "repo": "openscad/openscad",
+  "repo": "openscad/emacs-scad-mode",
   "unstable": {
    "version": [
-    20200830,
-    301
+    20221114,
+    559
+   ],
+   "commit": "188c9708e06f59c580866e4b9ead81513dc92df0",
+   "sha256": "08l9kxxzzm3apfrrwvkqsxyscal8357b7w87c3aagbbwvmxc3zfw"
+  },
+  "stable": {
+   "version": [
+    93,
+    1
    ],
-   "commit": "aa43490a2b0085a6b32f2d8a1a6ded8de2a3a11b",
-   "sha256": "0vd61am22frcnarif1xgd1flk56jv46xwpmh8b17w11x3wmbpr6p"
+   "commit": "efcc16b1af3c3e2262fe75e9eb0f2ed30547da3f",
+   "sha256": "1785fyahlqs7fshvcsa2vpvdi2q1qza03iii984xc260dc4wqv5v"
   }
  },
  {
@@ -99615,11 +100122,11 @@
   "repo": "hvesalai/emacs-scala-mode",
   "unstable": {
    "version": [
-    20210414,
-    1126
+    20221025,
+    1502
    ],
-   "commit": "598cb680f321d9609295aa9b4679040cc703b602",
-   "sha256": "0ryr6jhl0irhaii6cz9nlly8rn4c6h5pnax6xzn9iszl8f7xgphs"
+   "commit": "5d7cf21c37e345c49f921fe5111a49fd54efd1e0",
+   "sha256": "1dygncmjizlg33g2yghihmkf5hjwhrd8b63qvl4dndxwbq995n6r"
   },
   "stable": {
    "version": [
@@ -99958,11 +100465,11 @@
   "repo": "ideasman42/emacs-scroll-on-drag",
   "unstable": {
    "version": [
-    20220708,
-    211
+    20221030,
+    2303
    ],
-   "commit": "6d4de55bb6b72aaec53b82b8f8cdccc5396d6bf5",
-   "sha256": "0irv4xp7zlyiw1rfpdr1skspp9m6wvvcbmyxzkldpnbn2gbiy8xi"
+   "commit": "a11a242b085f6a4bd64c2846aeed220528572956",
+   "sha256": "07210wrnxzyq9q5kzsv3gaz9cm9cy8aqbaawhsrqr47jhyngzklp"
   }
  },
  {
@@ -99973,11 +100480,11 @@
   "repo": "ideasman42/emacs-scroll-on-jump",
   "unstable": {
    "version": [
-    20220708,
-    211
+    20221029,
+    1138
    ],
-   "commit": "0cba79dcb28fd82abe9d1c1bbc00fd7655dcedf6",
-   "sha256": "1y44f074j4aigg9h2j2fzy94ndb1xx7mashk441y4mh1ghv8nmrr"
+   "commit": "b0525ea8812579b11428f3bd0cebc41dcb192ef0",
+   "sha256": "1qvv36hmm7yb5m2khlv115rfh8m0s9lhg6jda0dwgs3nifhgxf8v"
   }
  },
  {
@@ -100425,28 +100932,27 @@
   "repo": "radian-software/prescient.el",
   "unstable": {
    "version": [
-    20220911,
-    138
+    20221118,
+    307
    ],
    "deps": [
     "prescient",
     "selectrum"
    ],
-   "commit": "928cc72ec3dca8e9a60d356b9b8ce896ec5ff621",
-   "sha256": "1hyn000z6xy5cb2k7h8xairxvhlhk2pcc1rqabwg76jlh8qbr24w"
+   "commit": "a000de747515aa7e7ad1ea0eab711864a4be0ab5",
+   "sha256": "1d1d4msmkc0cvd6vva0pfq72i07p0my9wj2s8zvj60pvah620yl0"
   },
   "stable": {
    "version": [
-    5,
-    2,
-    1
+    6,
+    0
    ],
    "deps": [
     "prescient",
     "selectrum"
    ],
-   "commit": "07d61b7779c4cca3009390383e7f98a55de7e17e",
-   "sha256": "0z97d7nnl1hgxj4fsvgw3hb3j4dc9wkdq2vq3dw607f29lwqiadk"
+   "commit": "c28bca2213efd2666b0328c29f2c26e9b603cc9a",
+   "sha256": "0156sbs4b535mcwm44qjr8lx48svmjvdqh8c8hr6d0l709f27yq3"
   }
  },
  {
@@ -100643,28 +101149,28 @@
   "repo": "twlz0ne/separedit.el",
   "unstable": {
    "version": [
-    20220924,
-    225
+    20221117,
+    642
    ],
    "deps": [
     "dash",
     "edit-indirect"
    ],
-   "commit": "328d792401f8f099472c4c35a2c085fbe18fd00d",
-   "sha256": "1w68083gwbahi85jpac0hv3p2xzn7gfn0gh2xpss2q2b8hc6cbig"
+   "commit": "91a41ff8044e7cbeb82159f6c595393606e5e744",
+   "sha256": "0bl6wvw1z5bax4msmdahxi0y4cp85nb4s90j32r8vzn41s3pyabz"
   },
   "stable": {
    "version": [
     0,
     3,
-    0
+    37
    ],
    "deps": [
     "dash",
     "edit-indirect"
    ],
-   "commit": "424b0f260a1bca20cd9359c42a0bc64a1a5e1928",
-   "sha256": "1i85mbnh6ijycsgxiknzvkimxag72cxg8asg3d1g4bakv3gp32rr"
+   "commit": "91a41ff8044e7cbeb82159f6c595393606e5e744",
+   "sha256": "0bl6wvw1z5bax4msmdahxi0y4cp85nb4s90j32r8vzn41s3pyabz"
   }
  },
  {
@@ -102106,14 +102612,14 @@
   "repo": "emacs-sideline/sideline-flymake",
   "unstable": {
    "version": [
-    20220629,
-    802
+    20221009,
+    1555
    ],
    "deps": [
     "sideline"
    ],
-   "commit": "3320d2416a255b0b8d7abb314883e103d66aeb07",
-   "sha256": "0bcraac5w9mra97xg59vjxkw2zgmbiyyhb8nn3yic2hp06gmbq94"
+   "commit": "e1e1f5cbdfa9ac352e884de97d68da4ea41cc060",
+   "sha256": "0y3adfvi7d28xkaxa539ys9i1rndn2c9ahs221vlmyf0g9ijxcxh"
   },
   "stable": {
    "version": [
@@ -102331,15 +102837,15 @@
   "repo": "semenInRussia/simple-indentation.el",
   "unstable": {
    "version": [
-    20220907,
-    1733
+    20221113,
+    1645
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "f5a8e9ae755e1cc1e7a3b5e3cc37e2ebf40cce2e",
-   "sha256": "01pbbn2mizzgp2kql4vfx2mdqsbpsaf1p2lswhaf91njr75bdp37"
+   "commit": "77685b3dd802dade7d60817fc0e24e60c101776b",
+   "sha256": "0dsrqip19pjdbdg039pq56wqynx271h5f25wx13k0y08smgpylnm"
   }
  },
  {
@@ -102542,11 +103048,11 @@
   "repo": "smallwat3r/emacs-simplicity-theme",
   "unstable": {
    "version": [
-    20220628,
-    1930
+    20221016,
+    1444
    ],
-   "commit": "35a51e39b581d91481865eecff9fa4178e8bdc2b",
-   "sha256": "1ly91cbivj6z4f7fdr2x8zzbad0sraq651vs99a32659gm03r7g7"
+   "commit": "f4aab6aa07b536688eb62355b83dde5fcd16e049",
+   "sha256": "0ydgx94wxv6x81yqzy5bwrs06cx8hsrw2c1y4gw3awm953m9259g"
   }
  },
  {
@@ -102590,15 +103096,17 @@
   "repo": "magit/sisyphus",
   "unstable": {
    "version": [
-    20220506,
-    1140
+    20221013,
+    1729
    ],
    "deps": [
     "compat",
+    "elx",
+    "llama",
     "magit"
    ],
-   "commit": "2af8cec83790980a9a96c15ee3655a179aa3ddb1",
-   "sha256": "0g2rvh7vs3d4mmkflvr2jxl8q3hgwcw0wfq788mxhiwkknyrkfmj"
+   "commit": "64860faa0eba4bac8c794af4e8969c9458deb550",
+   "sha256": "1km8xsl6l1ydc0gj4slwlmchbi4g1svq2spv0b7bj3wwn8knk9mf"
   },
   "stable": {
    "version": [
@@ -102897,15 +103405,15 @@
   "repo": "slime/slime",
   "unstable": {
    "version": [
-    20220712,
-    817
+    20221003,
+    936
    ],
    "deps": [
     "cl-lib",
     "macrostep"
    ],
-   "commit": "805c29672c8a1f6c68286ab379359f9ab9ad9dc2",
-   "sha256": "0fp8yfw91g04nqfjll0yv2szx3xrk42h8g789j27jj85qp5i051y"
+   "commit": "f41e5590e28a1dff1fc07111b43841eb1692de94",
+   "sha256": "083yr0gy4id40yy2ny50y047p6b0pz8xyc07i7dpqw9l830bsjwq"
   },
   "stable": {
    "version": [
@@ -103136,11 +103644,11 @@
   "repo": "joaotavora/sly",
   "unstable": {
    "version": [
-    20220713,
-    1433
+    20221108,
+    2234
    ],
-   "commit": "ef5211456a59d639c98b2ed42428726d32728ff8",
-   "sha256": "02wmkfysrix7a1915f1lp1v3v3jpl4xh6bnzd5c4jcl8mj3vypn9"
+   "commit": "992e3f3c1a599a8a10af12323d547b35ce70362c",
+   "sha256": "0krbfrb304b1v3ps2kiy60bb5d7iw9xx2k1qdxc7x4m6smimbrhi"
   }
  },
  {
@@ -103164,14 +103672,15 @@
   "stable": {
    "version": [
     0,
-    1,
+    2,
     0
    ],
    "deps": [
+    "popup",
     "sly"
    ],
-   "commit": "c387ba34a75b172e8a75747220c416462ae9de31",
-   "sha256": "1cr6p11vsplb6afh2avwb585q606npp692gb5vqs377nni5vx7km"
+   "commit": "3180921efdc19a2195960e1d601b2a6f31a6feea",
+   "sha256": "0gncp8xv33s4wx594bgd35vr1455bcggv1bg28qv75mhv41nzw97"
   }
  },
  {
@@ -104284,14 +104793,14 @@
   "stable": {
    "version": [
     1,
-    2,
+    3,
     0
    ],
    "deps": [
     "dash"
    ],
-   "commit": "d59b7196a62edb0e72eef52772eec42cab8baa45",
-   "sha256": "1hdp7lcr7pdary7qssf2na6a3n0ycijbx3z0ggk37gxzvz59jiv4"
+   "commit": "4bd4131c452f46f47b029bf38c7d98a2d3337b8f",
+   "sha256": "0772ld106dq1bqk6xib9a4ml2jsqqikfrjgz4bz0dc039yw34cp1"
   }
  },
  {
@@ -104437,16 +104946,16 @@
   "repo": "ethereum/emacs-solidity",
   "unstable": {
    "version": [
-    20220713,
-    2146
+    20221024,
+    220
    ],
    "deps": [
     "dash",
     "flycheck",
     "solidity-mode"
    ],
-   "commit": "211dbdf0dfab1139681156e6f9621a5bbe0f74a1",
-   "sha256": "14mpncf9mpypcinfvzhmvnjlxf5laxxwnf02qjdagiws42lgwm2f"
+   "commit": "8cb8ac6d1311f5bc893cd72ee96e3e335ee8b2a1",
+   "sha256": "0jpjgb3py59wmj3gw5hqxlw2ivan0bgy2ahc62bdkzhi7n3166ci"
   },
   "stable": {
    "version": [
@@ -104470,11 +104979,11 @@
   "repo": "ethereum/emacs-solidity",
   "unstable": {
    "version": [
-    20220308,
-    1517
+    20221024,
+    220
    ],
-   "commit": "20fb77e089e10187b37ae1a94153017b82ed2a0a",
-   "sha256": "0lyfhb4lirk08jc73c2vhlskfb496vnh0h906a74wz2pwg84q4m5"
+   "commit": "929ce58ff0d42cf1109f9fb0655c787ee58cc2da",
+   "sha256": "0yy9bdbab8k84csskq6lq6vgrzpm3zjj8a9gxbnwxc4ksarm1npg"
   },
   "stable": {
    "version": [
@@ -104970,11 +105479,11 @@
   "repo": "nashamri/spacemacs-theme",
   "unstable": {
    "version": [
-    20220817,
-    1546
+    20221103,
+    1406
    ],
-   "commit": "e04d1f21107a1565861625209bb9c46a7aa43cc5",
-   "sha256": "1yz8xg9ni9290nly5b93djkzk9235q6k4lhb5ghs6snr0r39157n"
+   "commit": "1ec73d68b0f120f92538d9a329a3a46e32f74510",
+   "sha256": "16ip8pcifhr2k07qi935nhrdmmgwlrxhilk3bjzajxa92ajgpmw8"
   },
   "stable": {
    "version": [
@@ -105083,11 +105592,11 @@
   "repo": "ideasman42/emacs-spatial-navigate",
   "unstable": {
    "version": [
-    20220708,
-    211
+    20221030,
+    1131
    ],
-   "commit": "6840ca694d281d39de76c1af0cb2ec526b40820a",
-   "sha256": "0mh7nmqz9wmfpvq7w4xc23k2kvmamvbbblb01xf9if7szyiyyksf"
+   "commit": "4dd8a164f35affa322c67d9e65af8eda21f99775",
+   "sha256": "1k8r70j9cqv60pxn8mdy9ixx7l5wbkxs445l7fl9v9h5msav2w7c"
   }
  },
  {
@@ -105098,11 +105607,11 @@
   "repo": "condy0919/spdx.el",
   "unstable": {
    "version": [
-    20220923,
-    205
+    20221117,
+    127
    ],
-   "commit": "cb733ffbb621c0c3eb3a7ab349c33df41dbcce72",
-   "sha256": "03xfszsgqf3wvbnavnnkfj6j931dfzlj1skljmjvg5831c06ifl9"
+   "commit": "9364053159df98809996f3dce622b192638e40ee",
+   "sha256": "046vfbz6capsymqniclbsyhx6zc1l25z6391709kchyl4as2qlp7"
   }
  },
  {
@@ -105223,11 +105732,11 @@
   "repo": "ideasman42/emacs-spell-fu",
   "unstable": {
    "version": [
-    20220911,
-    851
+    20221015,
+    431
    ],
-   "commit": "3e532cc3b2e08d488ad5c8e91d2d46c6868439ef",
-   "sha256": "1r659lfrsi0dx85hgy7a0arkpga7g54l7di2icyi0fxd4ci6qjjn"
+   "commit": "d9078002221609bf69dfb420fea3623d2f534b12",
+   "sha256": "1splj1g8cjk3vlwzzhr8s889s80nbxgfld55y4nm303m4hm91xr5"
   }
  },
  {
@@ -105723,11 +106232,11 @@
   "repo": "pekingduck/emacs-sqlite3-api",
   "unstable": {
    "version": [
-    20220529,
-    1106
+    20221110,
+    1050
    ],
-   "commit": "2f6095201b1d943d92cc017e100eec571a8d2aab",
-   "sha256": "00kxjvfgw3qcy49l5qkkxar32m7kk25knc9kij7xr8fz8pqhr633"
+   "commit": "108521be0242bedf232775a28728588da9699336",
+   "sha256": "0xcybd9470lvlw3nwlnpz0s8nx1h2r1qfwcd1sqk65p8p3gi60q9"
   },
   "stable": {
    "version": [
@@ -105831,11 +106340,11 @@
   "repo": "srfi-explorations/emacs-srfi",
   "unstable": {
    "version": [
-    20220925,
-    2308
+    20221116,
+    52
    ],
-   "commit": "20a1c9b36e99cbfbf70598e2cfaccd960e74c1ce",
-   "sha256": "1kz95vb6jbpkzs11mx623sj8xdf8n007vr9ix6wqvdsaqy158qkl"
+   "commit": "689d27ed94254e3a3ce5a104057acc525e68a2ff",
+   "sha256": "0d14p5ijhs3aii7bzlbkaj7wwsbky2ar8mw55qqvz247b0zr4061"
   },
   "stable": {
    "version": [
@@ -106107,11 +106616,11 @@
   "repo": "SFTtech/starlit-emacs",
   "unstable": {
    "version": [
-    20220507,
-    1833
+    20221107,
+    1632
    ],
-   "commit": "f788903244778508891eba0da70ea9f287efc9ae",
-   "sha256": "12dn7sz4xkici1k3jizijh0lzwf8fd0k62dy6v8kcvmwpnqxmrkb"
+   "commit": "5f0e9deecfa95e241e4b3957e976b2471ba219f1",
+   "sha256": "1ly7c72yhacbcapvfilm7vrfdm6sxkfyf73cxnzixd7jyjymfzv1"
   }
  },
  {
@@ -106274,11 +106783,12 @@
   },
   "stable": {
    "version": [
-    1,
-    5
+    2,
+    0,
+    2
    ],
-   "commit": "03fc757c4255bfd445cdbc2a62ca3b02a65beba5",
-   "sha256": "1p6lcc2xnslkcm2d3pg5zd6nvbdy1y9m3ymrcv1kz0xj33cnphjf"
+   "commit": "7c0fb7928fa691df68107a8473d1970cd6909945",
+   "sha256": "1pr4asqm2ql29jg3z5racp2z7nl56rj13bzy5jx5rd31gyaqi69f"
   }
  },
  {
@@ -106453,33 +106963,21 @@
   }
  },
  {
-  "ename": "string-edit",
-  "commit": "ad320d60e2c95881f31628c19ad3b9ece7e3d165",
-  "sha256": "1z2m9dskxcvbrcdx296qy5spbqd9gf1fvgqwsf9jy5487n03nyhh",
+  "ename": "string-edit-at-point",
+  "commit": "1b2c64ce1b4ce5d94dfefff25fc15537bd427ea4",
+  "sha256": "02phwnx53p671nbm1q7rrc60xvfk602bwbwj86frrfvl2s8cmbx8",
   "fetcher": "github",
   "repo": "magnars/string-edit.el",
   "unstable": {
    "version": [
-    20220604,
-    2128
-   ],
-   "deps": [
-    "dash"
-   ],
-   "commit": "d7c4b9db6c4987b5c022a9858e6302a4c53aff5f",
-   "sha256": "1fr17145rk62wc8h4vr164ya8vr6ifyy0h4kzbsgwwkh6qji6aym"
-  },
-  "stable": {
-   "version": [
-    0,
-    1,
-    0
+    20220913,
+    712
    ],
    "deps": [
     "dash"
    ],
-   "commit": "9f9c9cd659156fd2217be814eb4e91da48d44647",
-   "sha256": "15gdcpbba3h84s7xnpk69nav6bixdixnirdh5n1rly010q0m5s5x"
+   "commit": "e285ada415b975a9eb70a7e065123923d9bf8798",
+   "sha256": "1ad7vc0ba09mnahhjr29gg8agjvdzminxsdblwldld726y4prr6f"
   }
  },
  {
@@ -107270,25 +107768,25 @@
   "repo": "thblt/sway.el",
   "unstable": {
    "version": [
-    20211109,
-    1601
+    20221101,
+    2243
    ],
    "deps": [
     "dash"
    ],
-   "commit": "d84adab82ca5f84847702671dd60c0377c82ccd9",
-   "sha256": "1xqlflk0k1zcsblydsx583mrh5zxpjbah8h1jb1lrfzwrbx0m627"
+   "commit": "6268291a29da9c6165432f9bbdebf6bab13c72f5",
+   "sha256": "0cbk44ldrimb9aai1az5vq63m32qcpapc1hsy13lxwnwi2ixcr6w"
   },
   "stable": {
    "version": [
     0,
-    3
+    4
    ],
    "deps": [
     "dash"
    ],
-   "commit": "d84adab82ca5f84847702671dd60c0377c82ccd9",
-   "sha256": "1xqlflk0k1zcsblydsx583mrh5zxpjbah8h1jb1lrfzwrbx0m627"
+   "commit": "8a3487115eec5893d317254b423f2ce058f5f795",
+   "sha256": "1vsz6jdkqh2haphdlyxj7zxaj8bngy1wiljlwv8snci65g9n4479"
   }
  },
  {
@@ -107382,14 +107880,14 @@
   "repo": "swift-emacs/swift-mode",
   "unstable": {
    "version": [
-    20220924,
-    648
+    20221119,
+    910
    ],
    "deps": [
     "seq"
    ],
-   "commit": "f4529efa453f2f3051e2c8f772cd9da80147b93d",
-   "sha256": "01dw8azlwfs6x9arl4kd28s03pqvza79g7dhw54v2rg42g3hpdx5"
+   "commit": "6d7093fb4a0b81686ffeff7e39f76027d83b7eb2",
+   "sha256": "0x27wj5kc77qwnvzm905np37w8rn96i1d104pa882z6pd4bx46ps"
   },
   "stable": {
    "version": [
@@ -107767,14 +108265,14 @@
  },
  {
   "ename": "symex",
-  "commit": "bbe4ff01aa8c06093cd0e4ad0cce253c3fb52816",
-  "sha256": "0nx03kl4bwdbidhvb7zba9gr6pc2gplh6zbnlxjb3zsvdm4injh1",
+  "commit": "8d14a6b06d97b36d5d76e418f800d6bc3156700f",
+  "sha256": "0y6nma82mxggp0724axy1fnvi3girnscjygdhl28dd3wx6kk268b",
   "fetcher": "github",
-  "repo": "countvajhula/symex.el",
+  "repo": "drym-org/symex.el",
   "unstable": {
    "version": [
-    20220811,
-    235
+    20221111,
+    2236
    ],
    "deps": [
     "evil",
@@ -107786,8 +108284,8 @@
     "seq",
     "undo-tree"
    ],
-   "commit": "adebb7aa1dedac88585bd1077ac81f97df3bd7d5",
-   "sha256": "0bhm3nvnhmnr2djsig9vqzpsk5plsx6q1zv5hbnwyjcrawm6d9rs"
+   "commit": "32f4d28fd115c0ba417f48afafef62a6cc0c264c",
+   "sha256": "0ppcadpl7mrrv84n8vqym6g8b9srg9nhclbzlcjx0mqksa6p6mlr"
   },
   "stable": {
    "version": [
@@ -108005,11 +108503,26 @@
   "repo": "enricoflor/syntree",
   "unstable": {
    "version": [
-    20220615,
-    2331
+    20221114,
+    1804
    ],
-   "commit": "1ad84a7905959b1d2c4f2fee37fbccc87d711864",
-   "sha256": "1c47v2bwgpjbz05sszmd8a85flwrs9ikmvny9jjk5kc8z40kxg2q"
+   "deps": [
+    "org"
+   ],
+   "commit": "a36e5eeaeef2a179184883fc0a91b63d653d3cd9",
+   "sha256": "09mp6zw1lrzaf5sijq6h2qwcjavyk5zdngvl4jn1hh90l18rn6ld"
+  },
+  "stable": {
+   "version": [
+    1,
+    1,
+    0
+   ],
+   "deps": [
+    "org"
+   ],
+   "commit": "fa0a590bc92ed956cc8a0e5661bca27f6d781f98",
+   "sha256": "101ql0ih85nxqawf1d6r0g8qiy50rwzhssmwmfrx2r1ss47yk4iv"
   }
  },
  {
@@ -108196,11 +108709,11 @@
   "repo": "fritzgrabo/tab-bar-echo-area",
   "unstable": {
    "version": [
-    20211013,
-    1942
+    20221115,
+    1953
    ],
-   "commit": "d0d51ecbc5929eb7752b387c5bdfe4d879e78224",
-   "sha256": "1p3ikc776mr18r5py0sw098ahsj9w45ikqns4wbgr2fsjmgcgksr"
+   "commit": "3ab62ca7db3c1d83f96b7971ea4b3b0101b51ae9",
+   "sha256": "0grapqwfqjbi9yzcirgd8gmkg4zkplagwvdyal4jd4aajnnx6sh8"
   }
  },
  {
@@ -108355,14 +108868,14 @@
   "repo": "mclear-tools/tabspaces",
   "unstable": {
    "version": [
-    20220924,
-    1805
+    20221114,
+    1744
    ],
    "deps": [
     "project"
    ],
-   "commit": "93a2b5650e4a75bc844251b1807ec0aa48ea27e9",
-   "sha256": "1rqy6wxbriz1xxsk5mjifsczvi1dpqn3adhj677r4b9lbrl4jkqk"
+   "commit": "f25bb670c0f7b3f7555634d19fcdd3eb979ac7c0",
+   "sha256": "0y32r7p4mh56zjhmd5pfkgic3gx0xlwabay690pxzl9sqjpnai4p"
   }
  },
  {
@@ -108477,11 +108990,11 @@
   "repo": "tmalsburg/tango-plus-theme",
   "unstable": {
    "version": [
-    20220525,
-    1311
+    20221011,
+    1012
    ],
-   "commit": "bdf1dd6ea9c43d07b22dfa15fec0dcfd03544c63",
-   "sha256": "01q6c2k9lkz1zpi816b9s99lwrnlf4ni9r0z45jx4fljsy59c0i3"
+   "commit": "30495d1ab1df6213ecac008c599b91e6f9244c12",
+   "sha256": "1qdz7nf4wqv58ck02ralp7l4an1ashh1bnjgqkp444as3vyli2c4"
   }
  },
  {
@@ -108522,11 +109035,11 @@
   "repo": "11111000000/tao-theme-emacs",
   "unstable": {
    "version": [
-    20220414,
-    354
+    20221108,
+    9
    ],
-   "commit": "d6fe980783e22df310df1ae51ac249c28c83ac53",
-   "sha256": "0pi1rbz6fdqy7l39ymqa509n8f16lfgwv9b9995g29xp0sil35hm"
+   "commit": "632e735c70b16828b3f50bd415b5e218e9780ead",
+   "sha256": "1h1lskg0nysp3xpzpqn90p05fzvix1dpws5fmrklfbd7m7nzbn2a"
   },
   "stable": {
    "version": [
@@ -108546,11 +109059,11 @@
   "repo": "saf-dmitry/taskpaper-mode",
   "unstable": {
    "version": [
-    20220924,
-    1640
+    20221030,
+    1048
    ],
-   "commit": "d441ae6b392597f0e01bc79292845c880d468b60",
-   "sha256": "123h7wz2ql6cl6s0n6n18g4ssa0p1a90svx7zh9627w45q68qlbr"
+   "commit": "9620d66e568c0bbdf033a559bac578e235e66293",
+   "sha256": "0hllchgha24xm18c0jnnbx4dg701fbg6j6lb9w4nz8mhgy9yvq52"
   },
   "stable": {
    "version": [
@@ -108737,15 +109250,15 @@
   "repo": "zevlg/telega.el",
   "unstable": {
    "version": [
-    20220819,
-    506
+    20221105,
+    1528
    ],
    "deps": [
     "rainbow-identifiers",
     "visual-fill-column"
    ],
-   "commit": "42a0dd0e30a82a8e34eaccf6e7a1366f4621d49d",
-   "sha256": "1psgkb2k5w1f3r6ik4gby9w5qinhwdimb6yhsqz06y9a2d9g97rm"
+   "commit": "870fe3201c14f828cfec0529aa78c110958e9aae",
+   "sha256": "1xrcgkrz8x24wb6k9f5jss6dixdzng1lsyw3jby5r19xsi742fc6"
   },
   "stable": {
    "version": [
@@ -108792,16 +109305,16 @@
   "repo": "dbordak/telephone-line",
   "unstable": {
    "version": [
-    20220919,
-    1412
+    20221030,
+    2254
    ],
    "deps": [
     "cl-generic",
     "cl-lib",
     "seq"
    ],
-   "commit": "ab518000fdcd9a6600bcbf97f3ff028314465ddf",
-   "sha256": "14qgjix39r8agw87yv7j3fpqv24xdys6kycab83g99xy20k4cjm3"
+   "commit": "314187790b5c5e9962c6d8eac9323b5b801e4aef",
+   "sha256": "1pv6hlzks02bvxkfyg8m04l36clg39h5w7nq2k6ppi5bh4d4kmc8"
   },
   "stable": {
    "version": [
@@ -108858,19 +109371,19 @@
   "repo": "minad/tempel",
   "unstable": {
    "version": [
-    20220912,
-    1523
+    20221016,
+    1017
    ],
-   "commit": "836de584d064bfd2c581ce9ade87a9d4cee88acb",
-   "sha256": "176a0rh97bwwpkwzb2a3sy6phj6zqb69llmvzdccafqn5bg4khy7"
+   "commit": "7d7adf155760d33b8c391fbf1e99c5be85bab85a",
+   "sha256": "1za73zszj373r8pxf89cwwfrwsf8dy6nxciw11adcccrm92xwdsz"
   },
   "stable": {
    "version": [
     0,
-    4
+    5
    ],
-   "commit": "ff9756b0646b1d06443eb4bdc64db443f1aa6c40",
-   "sha256": "0iyh6wxchqg83gpwvg6lz4qy4c2qh25iqjpjm56kif52346a99d2"
+   "commit": "7d7adf155760d33b8c391fbf1e99c5be85bab85a",
+   "sha256": "1za73zszj373r8pxf89cwwfrwsf8dy6nxciw11adcccrm92xwdsz"
   }
  },
  {
@@ -109380,15 +109893,15 @@
   "repo": "emacsorphanage/terraform-mode",
   "unstable": {
    "version": [
-    20210621,
-    1953
+    20221117,
+    409
    ],
    "deps": [
     "dash",
     "hcl-mode"
    ],
-   "commit": "e560caaa9d9a11b0868adf6d9dcae5ebb5055730",
-   "sha256": "0r4zw6jwn5v1xzzbc1195jblhcg3ikbmz3wiwy462qzib56bj8d3"
+   "commit": "80f0433358b79ed4ba88c51829c7359baa1af8b1",
+   "sha256": "0gcxsd9zv47hzq1d5xqblyzgcf7vk215743s7x7ciiiwlg5xndnw"
   },
   "stable": {
    "version": [
@@ -109403,6 +109916,24 @@
   }
  },
  {
+  "ename": "tesouro",
+  "commit": "5c7225e77ee69b180e0dbcb34974aaf7a8e9c96f",
+  "sha256": "1c96y0463mrmspvvjj8j44gp3as663ps55hna2jrvn1wzlynvi1i",
+  "fetcher": "github",
+  "repo": "rberaldo/tesouro.el",
+  "unstable": {
+   "version": [
+    20221003,
+    1303
+   ],
+   "deps": [
+    "request"
+   ],
+   "commit": "3dbfc49209237215163be1ea338dea099ddc0795",
+   "sha256": "1jygw524avkz76gjfa2bbjkd0x7dxd69g6fxl1rkwa514s5gjcid"
+  }
+ },
+ {
   "ename": "test-c",
   "commit": "ef915dc2d3bc09ef79eb8edde02101c89733c0b2",
   "sha256": "1gy5dxkd4fpzzm2sq9g7bmi1ylwvsgh6hlvjmc1c064wjkha9j9z",
@@ -109704,11 +110235,11 @@
   "repo": "monkeyjunglejuice/matrix-emacs-theme",
   "unstable": {
    "version": [
-    20220622,
-    1214
+    20221025,
+    916
    ],
-   "commit": "289ed872003708ef1595e5e6765b50ca53e34ac8",
-   "sha256": "128szhyyndfp2hvhyp5628z6nmn0k137y77qbhm3ga5laixdsd2z"
+   "commit": "e1032b8d9f35b3f14042b6f626d3ea5e408b5d70",
+   "sha256": "1mwz8bbqq190qbx6fyx2vxnlhbwwab87mknpza85wnc4klh9j6py"
   }
  },
  {
@@ -109907,12 +110438,12 @@
   "stable": {
    "version": [
     2022,
-    9,
-    26,
+    11,
+    14,
     0
    ],
-   "commit": "167ba9f102920b1ed9b7c4b666b370935a4151dd",
-   "sha256": "1syxzqkr32r9ybdjiv545k5lg927z3qw61nprgs1s5im3fd4yh54"
+   "commit": "68ba6854cce62923446c15e7f638417a8d7da7c8",
+   "sha256": "06nf0cs5cyi69d15471j4mnwbkkli80jnffpkwb23173q2n10h81"
   }
  },
  {
@@ -109962,14 +110493,14 @@
   "repo": "tidalcycles/Tidal",
   "unstable": {
    "version": [
-    20220808,
-    1553
+    20221001,
+    2224
    ],
    "deps": [
     "haskell-mode"
    ],
-   "commit": "4356f6309a3686cbb5e4d298f265baadb855b945",
-   "sha256": "07syq66z3b4nnxf67zljsvnmmd0im76vd24kw660qcls5fj4k3ps"
+   "commit": "aa5f3a976567552de57090e1b67b537cd08b4367",
+   "sha256": "0rjpg4ig1wjc6k9dicb2nyc2bvxhwlrj4mb0agpy434j1f1xdm2z"
   },
   "stable": {
    "version": [
@@ -110065,14 +110596,26 @@
   "repo": "swflint/time-block-command",
   "unstable": {
    "version": [
-    20220905,
-    1732
+    20221102,
+    1811
+   ],
+   "deps": [
+    "ts"
+   ],
+   "commit": "5e2c7c050378307e25f3964e082c5ee531ae00b2",
+   "sha256": "00akh3fcm335glr4lm3nwxhlxf363f6ipk2a7x31sclmwd6jn5fj"
+  },
+  "stable": {
+   "version": [
+    1,
+    2,
+    1
    ],
    "deps": [
     "ts"
    ],
-   "commit": "f6daeb2084af8ef8efe968120394c69fa376d533",
-   "sha256": "1ijnk7rg60i36zdf19d74ldx9zpswq0y95q9p3vc4xv9rl34j89f"
+   "commit": "5e2c7c050378307e25f3964e082c5ee531ae00b2",
+   "sha256": "00akh3fcm335glr4lm3nwxhlxf363f6ipk2a7x31sclmwd6jn5fj"
   }
  },
  {
@@ -110140,30 +110683,28 @@
   "repo": "tmarble/timesheet.el",
   "unstable": {
    "version": [
-    20191024,
-    151
+    20221004,
+    1702
    ],
    "deps": [
-    "auctex",
     "org",
     "s"
    ],
-   "commit": "5098dc87d3d4f289b6c1b6532070dacbfe6de9fd",
-   "sha256": "0wqxlb4a7fzf14629zw021216qyzz56xwr8hfh2fy6kj90m9br4c"
+   "commit": "511751b239c84d7619ec1c61d7f108b732b64442",
+   "sha256": "01j8wps938mjjlq55w9lgky3f51k260ipjqv8072x0n73mwf9008"
   },
   "stable": {
    "version": [
     0,
-    4,
-    1
+    5,
+    0
    ],
    "deps": [
-    "auctex",
     "org",
     "s"
    ],
-   "commit": "67ca6a9f6733052066b438301fb2dd81b8b3f6eb",
-   "sha256": "0rmh8lik27pmq95858jbjzgvf6rsfdnpynwcagj1fgkval5kzdbs"
+   "commit": "511751b239c84d7619ec1c61d7f108b732b64442",
+   "sha256": "01j8wps938mjjlq55w9lgky3f51k260ipjqv8072x0n73mwf9008"
   }
  },
  {
@@ -110258,11 +110799,11 @@
   "repo": "aimebertrand/timu-spacegrey-theme",
   "unstable": {
    "version": [
-    20220922,
-    1439
+    20221007,
+    1029
    ],
-   "commit": "80d227124e4bb6f8fbf613187fda77b7a16be9df",
-   "sha256": "0zc7imlrl367zhdr2hfygk8fj2zfj7p46i9593jqbhjq7w5hpha5"
+   "commit": "278ff2d30f3c2f657c0a828d177ecb37837386d5",
+   "sha256": "0c879srhnn6fqmsnh9mjfdbrilwrymh8x2wn0w3jw0pp7x3brp65"
   },
   "stable": {
    "version": [
@@ -110401,11 +110942,11 @@
   "repo": "kuanyui/tldr.el",
   "unstable": {
    "version": [
-    20210921,
-    1715
+    20221109,
+    1501
    ],
-   "commit": "d3fd2a809a266c005915026799121c78e8b358f0",
-   "sha256": "0jbyz1anxq2ql8351v97dw9l70akys7mvh5m8q35nska2sgbzkax"
+   "commit": "2b5d53571bd30b75d4f5a642aa129055803a6bfb",
+   "sha256": "0i58abjzxi6qkfclwhphp7ljdc4sx80cj7izcq76glkpkif6sysn"
   }
  },
  {
@@ -110450,11 +110991,11 @@
   "repo": "dalanicolai/toc-mode",
   "unstable": {
    "version": [
-    20220916,
-    859
+    20220926,
+    530
    ],
-   "commit": "cf6b12ca356d119e68935737e3340155d8fda3f3",
-   "sha256": "0zchj8q3q5vzj279mnddvyrx8kv3jdhcras3jafq8yz9kjmn0sd7"
+   "commit": "448a0ac00c110802f3124bbf9c5a72bdfc3c3c28",
+   "sha256": "1ifln37dz86yj9qw4apd0iz9rcadksj154sn342r860rgy8scpvh"
   }
  },
  {
@@ -110489,16 +111030,16 @@
   "repo": "abrochard/emacs-todoist",
   "unstable": {
    "version": [
-    20220517,
-    1814
+    20221101,
+    1418
    ],
    "deps": [
     "dash",
     "org",
     "transient"
    ],
-   "commit": "f9ec1e730705f1fc8888f11a2b4ef1a4907e2f0b",
-   "sha256": "0kay18q6nr8skib17hx2sswcxdzgp00wf23avnnqacy90x540pv8"
+   "commit": "bfd496dad20bd34ffb0c2301c004a195262718c1",
+   "sha256": "0xc7pdb347cp82kyhsm448qy6xrgl91ji9bzb19bflp3ic9fmjjl"
   }
  },
  {
@@ -110550,24 +111091,6 @@
   }
  },
  {
-  "ename": "toggle",
-  "commit": "bd02426ce7ab46361363c7a6c56b1575642003e0",
-  "sha256": "08lk8h2dk5s8k93j5vmxdlgg453pif8wbcx2w3xkjlh43dw1vdfq",
-  "fetcher": "github",
-  "repo": "zenspider/elisp",
-  "unstable": {
-   "version": [
-    20180316,
-    3
-   ],
-   "deps": [
-    "cl-lib"
-   ],
-   "commit": "ee8a9c3052446876057ff853369d136aea7831f5",
-   "sha256": "15sla4n88003fclni5nhsrw3ib7bql11ks8pb7rgjyjddqrq274r"
-  }
- },
- {
   "ename": "toggle-quotes",
   "commit": "0f6e83e3184d336891f76c4740f64646d58ea980",
   "sha256": "16w453v4g7ww93bydim62p785x7w4vssp9l5liy0h3ppfmgvmxhp",
@@ -110614,17 +111137,17 @@
  },
  {
   "ename": "tok-theme",
-  "commit": "a3645b08cb46e3d91081da7baa982b5283918447",
-  "sha256": "0809srvdwzwhcy2vq1w0vryl9cwr0bxqzh99sbq4c23j4jgxw6wj",
-  "fetcher": "sourcehut",
-  "repo": "tok/tok-theme",
+  "commit": "db6d990692684c9e1ed7cbd96539d94d434b3f1d",
+  "sha256": "12rd1h5sphwq90pkd8j6fqdwfhifr4rzrfm3z8b4rc8w0hwwdsj9",
+  "fetcher": "github",
+  "repo": "topikettunen/tok-theme",
   "unstable": {
    "version": [
-    20220928,
-    1823
+    20221003,
+    1909
    ],
-   "commit": "eb67fd9ba96a29e00d6c62261721ddf7c156e26b",
-   "sha256": "0m9hczl0jdwr7i3k4ba1rx0k4lvbjvjgg0fdvpax8p8lc1yav4cy"
+   "commit": "adef847adc38b9346ccb83df61ebc51e44776dc5",
+   "sha256": "078g924qvkg2bmm456n7ami14sl7lq51ssv2v0vlyd3wzmd637d7"
   }
  },
  {
@@ -111134,14 +111657,14 @@
   "repo": "magit/transient",
   "unstable": {
    "version": [
-    20220918,
-    2101
+    20221118,
+    1443
    ],
    "deps": [
     "compat"
    ],
-   "commit": "097f5be6e0c228790a6e78ffee5f0c599cb58b20",
-   "sha256": "12x23xkm6h63lqa3bxhjjf943pf918gh49fbxgfh2y4vb358xgyj"
+   "commit": "804c27f1f585c05a777c288fbcfa1c16a3c0cd45",
+   "sha256": "1krw6rhgc6qvldb83zg021n13gg22l5afddnzpas5z7c0p154dm9"
   },
   "stable": {
    "version": [
@@ -111252,11 +111775,11 @@
   "repo": "emacsorphanage/transpose-frame",
   "unstable": {
    "version": [
-    20220913,
-    1749
+    20221109,
+    2053
    ],
-   "commit": "7b7f8a1582436749a57ebbba6ead716b5a0edddc",
-   "sha256": "0m9jmfwwhgkwxbq3y000ymx7parbgqr7gq3yjm2wh1ll747gv51y"
+   "commit": "94c87794d53883a2358d13da264ad8dab9a52daa",
+   "sha256": "106rxnzyd7rqfw885wx385wx0c2jqrfbh99rf16b7acxbwnskbvy"
   },
   "stable": {
    "version": [
@@ -111474,16 +111997,29 @@
   "repo": "ShuguangSun/tree-sitter-ess-r",
   "unstable": {
    "version": [
-    20220801,
-    1453
+    20221012,
+    640
+   ],
+   "deps": [
+    "ess",
+    "tree-sitter",
+    "tree-sitter-langs"
+   ],
+   "commit": "9eb7c35a11d917bc417d8b7b109ed336d58bea53",
+   "sha256": "15lax4f8jdjsk4ba8f9x8is56qisg9p7cvwlragqdf38bkc29ynx"
+  },
+  "stable": {
+   "version": [
+    1,
+    0
    ],
    "deps": [
     "ess",
     "tree-sitter",
     "tree-sitter-langs"
    ],
-   "commit": "52fcf9a83dc3ec1cbd0b662794a59cfc23eaa204",
-   "sha256": "08mr4scy3pw45hghbss71akdy08qqdsphwfw59pmdjs36m65ik1r"
+   "commit": "9669c00f3d3463e6769725af74c392891e269eed",
+   "sha256": "083m21lqgic910fqbxc104fai0vh2hrb7s2nlln43l7hlb8939b4"
   }
  },
  {
@@ -111525,14 +112061,14 @@
   "repo": "erickgnavar/tree-sitter-ispell.el",
   "unstable": {
    "version": [
-    20220704,
-    340
+    20221105,
+    713
    ],
    "deps": [
     "tree-sitter"
    ],
-   "commit": "5cd63219bbef77eb002c7e7d0df30f5714ae69dc",
-   "sha256": "1nd2zhny96mdsbpczq7z8g85j3kd0jqqcpqkf67dm6avnvb30a7v"
+   "commit": "6d486371d641a809f44df21921e64ef381844e83",
+   "sha256": "1a1hgxd9f8b5n49bbyqlcswjwbyazjq7p75ng481mlkvb9hac1ic"
   }
  },
  {
@@ -111543,26 +112079,26 @@
   "repo": "emacs-tree-sitter/tree-sitter-langs",
   "unstable": {
    "version": [
-    20220925,
-    1020
+    20221114,
+    1054
    ],
    "deps": [
     "tree-sitter"
    ],
-   "commit": "00738cb725785cbd42978f944f8661c33b5d3fe5",
-   "sha256": "1nr1k92c0k7q0x7mgm0x23jyysc09mf967bmhyw6m4pdy1myc38x"
+   "commit": "df7d7d1a46b5145d4101f6b313d22e815e4f42b4",
+   "sha256": "0a34032r6vdnyg4akvil559q1jx091sbmzaq5l59a20pz8jxw349"
   },
   "stable": {
    "version": [
     0,
     12,
-    4
+    5
    ],
    "deps": [
     "tree-sitter"
    ],
-   "commit": "00738cb725785cbd42978f944f8661c33b5d3fe5",
-   "sha256": "1nr1k92c0k7q0x7mgm0x23jyysc09mf967bmhyw6m4pdy1myc38x"
+   "commit": "df7d7d1a46b5145d4101f6b313d22e815e4f42b4",
+   "sha256": "0a34032r6vdnyg4akvil559q1jx091sbmzaq5l59a20pz8jxw349"
   }
  },
  {
@@ -111609,8 +112145,8 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20220926,
-    1903
+    20221107,
+    2105
    ],
    "deps": [
     "ace-window",
@@ -111622,8 +112158,8 @@
     "pfuture",
     "s"
    ],
-   "commit": "20765acd38e00faa46a72b9a2cf63a7b451c6850",
-   "sha256": "04wglc8lkw06hq9y9lsd3p5pwsc70cxx047da9v9hhdm2milggkn"
+   "commit": "b19060f25e55514f3d798d9f5af2dcd5b94a6026",
+   "sha256": "12qq84hnilpgw5rvvbcabi7cj42n73abk07iqaf89b78qkl15vr3"
   },
   "stable": {
    "version": [
@@ -112983,11 +113519,11 @@
   "repo": "ideasman42/emacs-undo-fu",
   "unstable": {
    "version": [
-    20220731,
-    2326
+    20221015,
+    433
    ],
-   "commit": "b0d6eba024ac87a0aaf7fa66ae76d76f6c764d46",
-   "sha256": "1h68p5dy11mmmn680smhh748gxk3ch11lsjfp10wskrhahvfix7y"
+   "commit": "9a7a297e98114deed6c66f7569b7d0ee4aa2ee0a",
+   "sha256": "1a0w645a79z74g2zh8yffmsjyf4vd1niaw8cq4r5wk8zlgg6dqqn"
   }
  },
  {
@@ -113455,11 +113991,11 @@
   "repo": "Atreyagaurav/units-mode",
   "unstable": {
    "version": [
-    20220904,
-    1848
+    20221027,
+    303
    ],
-   "commit": "8611f09fa1d0ca898eef262ad45d8585a64344b3",
-   "sha256": "16zcq5wcb294x57m306l0pn7h4p549g0831ancqd89ydln8iwswz"
+   "commit": "10c8de24180f87b1a8a3b0a9b3fbb29eec925417",
+   "sha256": "0gk0bjmmglr1s82rji8cykvqzfl3r9spv7zxk3m37yjrr9wx9a8l"
   },
   "stable": {
    "version": [
@@ -113494,11 +114030,11 @@
   "repo": "EricCrosson/unkillable-scratch",
   "unstable": {
    "version": [
-    20190309,
-    17
+    20221015,
+    1323
    ],
-   "commit": "a484c27516f2ee20e239713a95bd7de4f35f8501",
-   "sha256": "06pslqk97q858a3y6z7rgmc16nzqlkaj9phrqmxkq354lkllndlx"
+   "commit": "6c752e4cd4762bb4bcde2b0b96f2e83740efd104",
+   "sha256": "1sx2j32xv95hg3wslhqkrs2fcsiyh3rvkrmp9p0bzmim0v7w2p78"
   },
   "stable": {
    "version": [
@@ -113718,26 +114254,26 @@
   "repo": "jwiegley/use-package",
   "unstable": {
    "version": [
-    20220910,
-    25
+    20221117,
+    1610
    ],
    "deps": [
     "bind-key"
    ],
-   "commit": "9407f5f01c78ec3cb180f76eaf3adab35b80e3c3",
-   "sha256": "1llivgzivfsrfqzlzpmi6swz18p03sqmbjdncv42b70m5gd34i79"
+   "commit": "9090080b15486c3e337be254226efe7e5fde4c99",
+   "sha256": "03mqkv63ink2ysy86slac8ac7a5g22bi0pwvxyncfasm43q9d0sx"
   },
   "stable": {
    "version": [
     2,
     4,
-    1
+    4
    ],
    "deps": [
     "bind-key"
    ],
-   "commit": "caa92f1d64fc25480551757d854b4b49981dfa6b",
-   "sha256": "088kl3bml0rs5bkfymgzr15ram9qvy66h1kaisrbkynh0yxvf8g9"
+   "commit": "9090080b15486c3e337be254226efe7e5fde4c99",
+   "sha256": "03mqkv63ink2ysy86slac8ac7a5g22bi0pwvxyncfasm43q9d0sx"
   }
  },
  {
@@ -113748,8 +114284,8 @@
   "repo": "jwiegley/use-package",
   "unstable": {
    "version": [
-    20220807,
-    1556
+    20221116,
+    1928
    ],
    "deps": [
     "bind-chord",
@@ -113757,14 +114293,14 @@
     "key-chord",
     "use-package"
    ],
-   "commit": "e0d0fd78a77cb7da880ba4c3063fa8a28ec6dae9",
-   "sha256": "0rjh8hk1k8ryhcyzg198ypcdx70ymq27wfqrhqhrkxldhdzvipwp"
+   "commit": "41bf2aaf8854973d06f79ef69a638d0ef3ccf2bc",
+   "sha256": "0jji4lydv80dl9brbjhf2vyrsf52564nkvlqdrf0xbgaxjh34bnk"
   },
   "stable": {
    "version": [
     2,
     4,
-    1
+    4
    ],
    "deps": [
     "bind-chord",
@@ -113772,8 +114308,8 @@
     "key-chord",
     "use-package"
    ],
-   "commit": "caa92f1d64fc25480551757d854b4b49981dfa6b",
-   "sha256": "088kl3bml0rs5bkfymgzr15ram9qvy66h1kaisrbkynh0yxvf8g9"
+   "commit": "9090080b15486c3e337be254226efe7e5fde4c99",
+   "sha256": "03mqkv63ink2ysy86slac8ac7a5g22bi0pwvxyncfasm43q9d0sx"
   }
  },
  {
@@ -113813,28 +114349,28 @@
   "repo": "jwiegley/use-package",
   "unstable": {
    "version": [
-    20220807,
-    1558
+    20221116,
+    1928
    ],
    "deps": [
     "system-packages",
     "use-package"
    ],
-   "commit": "d3c648a88e68547ec0e2ff5ea0f236f7d0e5942c",
-   "sha256": "0l5rw0h48pg0q6p8srwga1cq19wsafd4vrg5idmm6q596682wpiv"
+   "commit": "41bf2aaf8854973d06f79ef69a638d0ef3ccf2bc",
+   "sha256": "0jji4lydv80dl9brbjhf2vyrsf52564nkvlqdrf0xbgaxjh34bnk"
   },
   "stable": {
    "version": [
     2,
     4,
-    1
+    4
    ],
    "deps": [
     "system-packages",
     "use-package"
    ],
-   "commit": "caa92f1d64fc25480551757d854b4b49981dfa6b",
-   "sha256": "088kl3bml0rs5bkfymgzr15ram9qvy66h1kaisrbkynh0yxvf8g9"
+   "commit": "9090080b15486c3e337be254226efe7e5fde4c99",
+   "sha256": "03mqkv63ink2ysy86slac8ac7a5g22bi0pwvxyncfasm43q9d0sx"
   }
  },
  {
@@ -113943,14 +114479,14 @@
   "repo": "diml/utop",
   "unstable": {
    "version": [
-    20220719,
-    2111
+    20221103,
+    1446
    ],
    "deps": [
     "tuareg"
    ],
-   "commit": "ebca87c7a3b2f366cfcb8885da1a6ae5fa362d6c",
-   "sha256": "19gc6rqajpsxjcm2c8nzpch9x5bbly77gdsdi30pnn0kf06lz3dq"
+   "commit": "c596ac7b88ce0686bc8bf82dfa77fc055cdbfbef",
+   "sha256": "1nl18rshaw0f93i67n53s7f9x9ykn49bik14432zmr00kcddmn4q"
   },
   "stable": {
    "version": [
@@ -114011,11 +114547,11 @@
   "repo": "kborling/uwu-theme",
   "unstable": {
    "version": [
-    20220411,
-    1904
+    20221022,
+    49
    ],
-   "commit": "feef3e73dbcb3fbba431c62a99a3333959f6158e",
-   "sha256": "0b16d5fkrqbj5v83cbkzchzgp4fhj7qqj67lsd5ix8pgqfgbhi4y"
+   "commit": "188d74cb279537f476c6f35b4e4f966d38884314",
+   "sha256": "16idjqc6bdqg60mv2h3bgip38j1mpfwpffckpg5vzan9ylsivxxx"
   }
  },
  {
@@ -114049,15 +114585,15 @@
   "repo": "damon-kwok/v-mode",
   "unstable": {
    "version": [
-    20220104,
-    142
+    20221007,
+    635
    ],
    "deps": [
     "dash",
     "hydra"
    ],
-   "commit": "a701f4cedfff91cf4bcd17c9a2cd16a49f942743",
-   "sha256": "0s9dr9lc79arm8sm730hm86yikfsinb56nxkq6lq8sl4lv6ll8rz"
+   "commit": "84f26ab0f0f5b23133292674da9fa4558207c33d",
+   "sha256": "1469bnibmg99a4wy6lgrcavds8vzj34jwmlll2lbmhfh55ay1v5a"
   }
  },
  {
@@ -114354,14 +114890,14 @@
   "repo": "redguardtoo/vc-msg",
   "unstable": {
    "version": [
-    20220526,
-    1435
+    20221005,
+    1228
    ],
    "deps": [
     "popup"
    ],
-   "commit": "720c6f0e699f25463cd37642ee23adb4e23bc60b",
-   "sha256": "0pn4gpxzgxlz12h4yymqdfmvic51jc5s3b973wl3qjizv1j1062l"
+   "commit": "027fefad63868cd7695372510c27922656cf996a",
+   "sha256": "05iqjc9g2kxdbhkywbisc2fkv15vw81hxjzphwiq46ikimrppy6a"
   },
   "stable": {
    "version": [
@@ -114724,11 +115260,11 @@
   "repo": "federicotdn/verb",
   "unstable": {
    "version": [
-    20220915,
-    2159
+    20221113,
+    2327
    ],
-   "commit": "f945690276fbf16e65ac97f53ba5da9f8b637546",
-   "sha256": "1zggkw47v3q7r8v66zvpkp60pgidwxypjc373956s0d09ifw3i2p"
+   "commit": "b8ff1a0bbf84920fe26c56b9658bd289f43ad100",
+   "sha256": "0vmrmjfkky17sj8qrvibbnv621dnfksm21wn2h7kn40qi5h5kxb4"
   },
   "stable": {
    "version": [
@@ -114856,6 +115392,25 @@
   }
  },
  {
+  "ename": "vertico-prescient",
+  "commit": "72a84587636e291bee48d7e9ad5723791ad02d7e",
+  "sha256": "13hwp7264x0p2ffkfblx219a8idz351nxvc4y0fjyg9p5l3dswjl",
+  "fetcher": "github",
+  "repo": "radian-software/prescient.el",
+  "unstable": {
+   "version": [
+    20221118,
+    1427
+   ],
+   "deps": [
+    "prescient",
+    "vertico"
+   ],
+   "commit": "680fefa4601586dd87d549d33f5ae6fda3212c35",
+   "sha256": "16k34jp07snzknyp2lg0g6vsb7pk96s0fplb9hdjq8w3n4kyirb1"
+  }
+ },
+ {
   "ename": "vertigo",
   "commit": "f1957e7fa03b6b8eb2f3250bd814d707bce3cfa3",
   "sha256": "0x0wy1z601sk1x96bl2xx18qm4avd77iybq1a3ss8x8ykwqlgf83",
@@ -115440,11 +115995,11 @@
   "repo": "emacs-vs/vs-dark-theme",
   "unstable": {
    "version": [
-    20220923,
-    1634
+    20221024,
+    1544
    ],
-   "commit": "d03f8d4eb43e89f64985eb661be9a6265588585d",
-   "sha256": "1fx7fh367fl2q0s8j3nbgrb8hg82bllibds73nyvdh0v4ffhcl9k"
+   "commit": "94694257af1831359e645ae87a88437457d2fc49",
+   "sha256": "0cdywisdy3696qk5861gckd7pnkca7asnxnp2f24y384g2gjhpnp"
   },
   "stable": {
    "version": [
@@ -115463,11 +116018,11 @@
   "repo": "emacs-vs/vs-light-theme",
   "unstable": {
    "version": [
-    20220923,
-    1634
+    20221024,
+    1546
    ],
-   "commit": "0d324e0c536e990dd6592d88b2f41c34e4c18af1",
-   "sha256": "15l43fb22vybpcbb4a5m0m5sxc8lhgfdznwpd58ck6xdhqzvyjfz"
+   "commit": "344a4dc59ecb25be772b5a15f07b448f3eb339b9",
+   "sha256": "0xskb48klafspqwymfy9x708lxsgymd3r054nmalnl2z4q1wvh7s"
   },
   "stable": {
    "version": [
@@ -115540,11 +116095,11 @@
   "repo": "akermu/emacs-libvterm",
   "unstable": {
    "version": [
-    20220831,
-    835
+    20221118,
+    1354
    ],
-   "commit": "d6fcd38b9544dd4d05dbe5db10e950043b68de9c",
-   "sha256": "136rp9lhin6mvi6k35b1cj1vm57s5xg449yxmykngq45811bnr9q"
+   "commit": "f14d113ee4618f052879509ec378feb9766b871b",
+   "sha256": "0alvh18agp815g5r2cwvyhfpspjfjz5gi84bg1xsi085g1wvgmbl"
   }
  },
  {
@@ -115798,11 +116353,11 @@
   "repo": "emacs-w3m/emacs-w3m",
   "unstable": {
    "version": [
-    20220902,
-    545
+    20221116,
+    2331
    ],
-   "commit": "8fcf1e4e331180fe964699e2a6a3158e1ec562d2",
-   "sha256": "1688cczdinxyg71150a6zqrx8m7ak42i48bdzf88y7zy6xbxby2d"
+   "commit": "b1642c87fe83700a929aebb774c89071e23c84e0",
+   "sha256": "1qblbxv4zbyv2ax1m42wfh1nx6bpl7snixx0whg8jiiqmk9sy6rb"
   }
  },
  {
@@ -115875,11 +116430,11 @@
   "repo": "wakatime/wakatime-mode",
   "unstable": {
    "version": [
-    20220621,
-    616
+    20221110,
+    1632
    ],
-   "commit": "48234857e86391b687df6adf3551d02e62a6db23",
-   "sha256": "04lmszp0ky83m62f4p37kfr24ib418rijl74w1dvgw1q654w9949"
+   "commit": "ef923829912c3854d230834f81083814b7c9d992",
+   "sha256": "0m29817s2din4n42pflvzg2538i91s0n06y78pf8q94qf0mfspcl"
   }
  },
  {
@@ -115953,16 +116508,16 @@
   "repo": "abrochard/walkman",
   "unstable": {
    "version": [
-    20220318,
-    2122
+    20221007,
+    1937
    ],
    "deps": [
     "json-mode",
     "org",
     "transient"
    ],
-   "commit": "3118dd4f493caffcc2849058833572dfc0c0e0a9",
-   "sha256": "03hyz3bhbisymm0gzqzsrmvyzkkgh73zbqgra6m70jka8sv065xs"
+   "commit": "f5021a4d9f16a2013e67a9fa7c121f87bf030203",
+   "sha256": "0i2yr9iv8zd8nwhap96smab1657gldrayypm18jpbfq8md6cmkg5"
   },
   "stable": {
    "version": [
@@ -116063,16 +116618,16 @@
   "repo": "wanderlust/wanderlust",
   "unstable": {
    "version": [
-    20220904,
-    1506
+    20221117,
+    1230
    ],
    "deps": [
     "apel",
     "flim",
     "semi"
    ],
-   "commit": "d99ffe08649aa2f7e781e701b39d7aba2bcdc183",
-   "sha256": "0141618ncs203d9009cdky5prnjm86nv9chkhiw8wycyc9dipvdv"
+   "commit": "f5cb2f0cf5e2c893acf2e669fd549836828dfdfc",
+   "sha256": "1ijs57wv1vrh33vn311hgkp42vlmjyi998nc4qdrqi7yy9j8hl1h"
   }
  },
  {
@@ -116309,11 +116864,11 @@
   "repo": "fxbois/web-mode",
   "unstable": {
    "version": [
-    20220820,
-    1935
+    20221012,
+    800
    ],
-   "commit": "de9dfa3ac3cd54e6acb4f9d9d1343f8d4eabd363",
-   "sha256": "0rwifqcn1m5s82vqpi0jk9zx0vz2i2bj5m5jjc1grkgkfhf2psr8"
+   "commit": "4b8a695825fda366927894e498421f35fce1cbb9",
+   "sha256": "0m8fhy3vgczgl051l05lycydpybki2b5gi63i134h2xmgm2m5rvq"
   },
   "stable": {
    "version": [
@@ -116890,21 +117445,21 @@
  },
  {
   "ename": "which-key-posframe",
-  "commit": "56ab10dc99ea4f5b207f9874124aff414d859a17",
-  "sha256": "1vpdni3ascz2zw6k1xrnw2vqnq8p30mc7d8v81qdbjb58q27l8ll",
+  "commit": "0fc5bff470f7417985fd7dbfe67506bb6e01d76c",
+  "sha256": "1wck1gymfmqdb1zmlxfbwv2fzx3xky87pp0hcvs01n8d2gk1gvc7",
   "fetcher": "github",
-  "repo": "yanghaoxie/which-key-posframe",
+  "repo": "emacsorphanage/which-key-posframe",
   "unstable": {
    "version": [
-    20210615,
-    944
+    20220804,
+    1311
    ],
    "deps": [
     "posframe",
     "which-key"
    ],
-   "commit": "90e85d74899fc23d95798048cc0bbdb4bab9c1b7",
-   "sha256": "173a04s00rydqpkrwdd9khwijbslkwmzqa557x6r1vpp0pdgaz0l"
+   "commit": "421cbfbe5d43ca8a48ecb18ea6d3d95f9ca6e9e6",
+   "sha256": "1bgd7lg11cq0awyxxacjv5b0785x8v9rhyqxay6q02j0xrg3w6ms"
   },
   "stable": {
    "version": [
@@ -117055,11 +117610,11 @@
   "repo": "lassik/emacs-whois",
   "unstable": {
    "version": [
-    20220826,
-    1112
+    20221103,
+    1110
    ],
-   "commit": "1e4fd3a2001b5dd8f52190ef6ff6535d9aa981c4",
-   "sha256": "1pjx56zr4bbfgx0x1i6r4krzv22jg2kjhapy8g9i8mi32m2iqwcb"
+   "commit": "ce6bbe7f106f11840443fd94cc3161f67ffc9f61",
+   "sha256": "143xzj9mm3r8acfl71msw2n4ajw4qhkcvgn6a5x98mf53i110z6f"
   },
   "stable": {
    "version": [
@@ -117107,11 +117662,11 @@
   "repo": "akib/emacs-why-this",
   "unstable": {
    "version": [
-    20220722,
-    1608
+    20221014,
+    1653
    ],
-   "commit": "4552587fd48263509cbaf2edfbfaf4536049cb20",
-   "sha256": "0nmvwpc2s7w9mkzkjgjnbb32527xn9pb62392yyb5c46w35shm06"
+   "commit": "258f010001b4d3da89eea56b329f9f24bed0f6ce",
+   "sha256": "1pcfcbh55a26si8hb2hbgax7iww7nhcgy9m93ncikxhwrk8s8k37"
   }
  },
  {
@@ -117834,11 +118389,11 @@
   "repo": "hsjunnesson/wolfram.el",
   "unstable": {
    "version": [
-    20220621,
-    1228
+    20221111,
+    816
    ],
-   "commit": "b1d9905666eb075fb2f40d09beec272200f6eb3b",
-   "sha256": "05682cbflka1nvqr1jm1bpf92ia7zr7ad1cwndpgsxggidnsns3q"
+   "commit": "e3e8bbc70adf544022dfbd3e95b8904d70e71471",
+   "sha256": "04d0jcj2lzhyc0bsywn8vpgxr3cbfv1vdfij5d82d018vyn5s1jz"
   },
   "stable": {
    "version": [
@@ -117966,14 +118521,14 @@
   "repo": "martianh/wordreference.el",
   "unstable": {
    "version": [
-    20220909,
-    1548
+    20221114,
+    1300
    ],
    "deps": [
     "s"
    ],
-   "commit": "13c474678f1efbf56ae7ca6bda70566496ea3b80",
-   "sha256": "0xrbxjl1nsyfllq24mxb29w37z1avy9fhhc9xg3200p1j7kk99vl"
+   "commit": "31d5c2c06f07a695d41212760726bd5036297405",
+   "sha256": "1q5g5j63z2j43zfiyr76gq12mkslp194mhnmljsnfv4c0gbgihwj"
   }
  },
  {
@@ -118085,11 +118640,14 @@
   "repo": "akib/emacs-workroom",
   "unstable": {
    "version": [
-    20220608,
-    1718
+    20221114,
+    350
+   ],
+   "deps": [
+    "project"
    ],
-   "commit": "e1092127bdf93d8f1ae0c58ec595d0181f606f1e",
-   "sha256": "104ba079b0s63ac6702hx71hp4ky76krki246x55dansvypcsydq"
+   "commit": "b81e76e0a39937b7544bf77cbff16cc8c239b58f",
+   "sha256": "137nc6zm8fnj1ymvmrmkm7y41132cpfr6i8akzj7sj8jmvayzv98"
   }
  },
  {
@@ -118163,16 +118721,16 @@
   "repo": "dangom/writefreely.el",
   "unstable": {
    "version": [
-    20190628,
-    1606
+    20221024,
+    221
    ],
    "deps": [
     "org",
     "ox-gfm",
     "request"
    ],
-   "commit": "83a487e48e0d8342c372deb74d04c0b43474268c",
-   "sha256": "1qslhhb0zbg542xsa3rw4xh8wsz9k7nm61c62rhbasd4s39159yc"
+   "commit": "ef22839e590ea62f8ec9510bf03fba8fa3aef4c4",
+   "sha256": "1pb8gmbqj40m1xqbhaa8k8j29zl39bfsib74m6rcwlzbn2fk5gdg"
   }
  },
  {
@@ -118404,11 +118962,11 @@
   "repo": "jobbflykt/x509-mode",
   "unstable": {
    "version": [
-    20220926,
-    944
+    20221115,
+    1401
    ],
-   "commit": "933b02832ca2e098f865d2080b9feb058afa008b",
-   "sha256": "12bc8jzay4l7wmw177l7x3h5yaf8gg3vzisbcvbfcn0x076765ll"
+   "commit": "814114b3dfe44ac477831c8ca5da0050a9d0fdf1",
+   "sha256": "0p0l8q1m3mj9lfss2sjbglpcp4dxzf46zjl9c2vzqf2v7hxlps2a"
   }
  },
  {
@@ -118565,6 +119123,21 @@
   }
  },
  {
+  "ename": "xit-mode",
+  "commit": "d891efd536e7c93c35761de34ab10b640974d93d",
+  "sha256": "1fv97ym57qzrwjsz8cxzva33vrx0l0kn6v59crc6yv5h3x7p1n30",
+  "fetcher": "github",
+  "repo": "ryanolsonx/xit-mode",
+  "unstable": {
+   "version": [
+    20221006,
+    717
+   ],
+   "commit": "f9f8f07c54090f03107180b125c54e329493a1a7",
+   "sha256": "1jq2aikfk9wnqxvxl2z4xccz1vhwgyipwc68kv0b4yxjjnppv6fw"
+  }
+ },
+ {
   "ename": "xkcd",
   "commit": "855ea20024b606314f8590129259747cac0bcc97",
   "sha256": "0gy2952zg1rq5gl10x7iwbchz5jibfcvikd3chifqbmil80wh6b5",
@@ -118683,11 +119256,11 @@
   "repo": "xml-rpc-el/xml-rpc-el",
   "unstable": {
    "version": [
-    20200907,
-    42
+    20221027,
+    1812
    ],
-   "commit": "9fa979302b24f2fee4e450384663b64a8cec061e",
-   "sha256": "0bb6051dh8pz6bb9vfwdfaamhlhxbbw5xnsrlilpmsk8lg3dqniz"
+   "commit": "de58ee692a459d7e0e8d3df004eda2686f749d3f",
+   "sha256": "1whvbw91hjkc85wdrxrfvkw8nm8w3c3cpcqf3i0dk5479idv160l"
   },
   "stable": {
    "version": [
@@ -119222,11 +119795,11 @@
   "repo": "yoshiki/yaml-mode",
   "unstable": {
    "version": [
-    20220903,
-    1821
+    20221022,
+    920
    ],
-   "commit": "9969207f60b69e42c573a63764faeb9caaccb2bf",
-   "sha256": "0q4fsjaji44j9p1q6hbmv3zpwig5wk42hxqzq545y9h0mdlw3lma"
+   "commit": "141b85f9e01589e67955f3785a83b72b42109357",
+   "sha256": "02in151g2sadxz3bf9a51ckmb1yi8vd15hsb42lgfmxn6bkgw50j"
   },
   "stable": {
    "version": [
@@ -119812,11 +120385,11 @@
   "repo": "ryuslash/yoshi-theme",
   "unstable": {
    "version": [
-    20220917,
-    638
+    20221024,
+    20
    ],
-   "commit": "ac195a65281bed6ac894a9c9e904d56d375ce05e",
-   "sha256": "0kjf6klrb0fm029cb2jhaqhpwa64lpn5cwm226q1g9k0l7ygnyb9"
+   "commit": "59cf53110ed73344c7f96da8136b88b039b69602",
+   "sha256": "0sgyq59hpib2q0yrih4l33pdcvg6hk17cwfv27khhayf4hf92cnn"
   },
   "stable": {
    "version": [
@@ -119863,6 +120436,21 @@
   }
  },
  {
+  "ename": "youtube-sub-extractor",
+  "commit": "6b5f8eceb815d74d7839e30971c96aebc7944c7f",
+  "sha256": "17a3cnffh49vhm1i76wv1sl3qy9cf58hnckpwl07vj0mhkr50826",
+  "fetcher": "github",
+  "repo": "agzam/youtube-sub-extractor.el",
+  "unstable": {
+   "version": [
+    20221116,
+    653
+   ],
+   "commit": "d69f732299fdf256504e15767c1d7e5de771220e",
+   "sha256": "1wnr7inr5g6q9q11mgsnqchssg2dpnpk1wrynngf9m6z6sg9bjs8"
+  }
+ },
+ {
   "ename": "ytdious",
   "commit": "946fc7cf4d5e6cd346c331bec7af519ab93f53c4",
   "sha256": "1yg5kfr0kbr55ral50m56njkfl3lz2shlp2fs4cgmwrbp9pvzb9p",
@@ -119927,6 +120515,21 @@
   }
  },
  {
+  "ename": "yuck-mode",
+  "commit": "12f786a873bf4f74045c342bd5f767892b69bebb",
+  "sha256": "1an3lizpmsydm9f8rnfa9g3l3d3b8kxzqz5z517x48mzfyq1dln0",
+  "fetcher": "github",
+  "repo": "mmcjimsey26/yuck-mode",
+  "unstable": {
+   "version": [
+    20221024,
+    146
+   ],
+   "commit": "b1f76283d435812d08a616db36dc17d949464487",
+   "sha256": "1x6l7wr5pgs9k0d7s2b884dpqg4g4jza4p0mhrr4lhdx4bjbyxmp"
+  }
+ },
+ {
   "ename": "yul-mode",
   "commit": "9b4b6a6b1bdfdf4ca2f6cb6de66633958d14a86e",
   "sha256": "0gskwhx1nd7wcj305ghxylrk7m2xx9kwg1r6a1qwq9cm72dsg5sg",
@@ -120205,15 +120808,15 @@
   "repo": "EFLS/zetteldeft",
   "unstable": {
    "version": [
-    20220921,
-    1949
+    20221006,
+    731
    ],
    "deps": [
     "ace-window",
     "deft"
    ],
-   "commit": "29fa4c9708046f40199106eceaa14ceb58648be9",
-   "sha256": "1z19x12rq7kwacfkzqqviqnxa2ija60pk587ic6vyd0xls4v025a"
+   "commit": "63be6478751376f04d36c6ea52fe65acd69f0927",
+   "sha256": "0sjzszdlw2mplfh0c9qgsc1hi95hwr420vwaz6gh5vbxcmfy4qzm"
   },
   "stable": {
    "version": [
@@ -120295,16 +120898,16 @@
   "repo": "Vidianos-Giannitsis/zetteldesk.el",
   "unstable": {
    "version": [
-    20220703,
-    1648
+    20221009,
+    2122
    ],
    "deps": [
     "hydra",
     "major-mode-hydra",
     "zetteldesk"
    ],
-   "commit": "b9367a738628dbb569ab878b65240a567eadaaf6",
-   "sha256": "1n03p2q95vl3qw3dldh4y8h562jly6wnjiajpwyx10ckycxb8wry"
+   "commit": "7d99ea13b8187cea1cc6c44fc70100a2fdd8ed15",
+   "sha256": "178dvb1ais0p87xf7lqnvax9fs066zdlxw0hsaplyrfwlb6p3k4a"
   },
   "stable": {
    "version": [
@@ -120510,11 +121113,11 @@
   "repo": "localauthor/zk",
   "unstable": {
    "version": [
-    20220828,
-    1523
+    20221104,
+    1238
    ],
-   "commit": "5960a9d0fbe2c7845773008c35951b16b80155de",
-   "sha256": "0smnm83hrxaddx82rhrypvxxirg63j3m4bklx6kvl6ysf5kaclad"
+   "commit": "509b84e2eabb42f951e3a0a4f94218c285e3ac0c",
+   "sha256": "01pd24m95cdygnwzqqfz3k4jx7h0ibkjlsagalqckri2vpp1q03i"
   },
   "stable": {
    "version": [
@@ -120526,6 +121129,25 @@
   }
  },
  {
+  "ename": "zk-desktop",
+  "commit": "70f0f206ab06b3587cb04aa3b11bfbb933d335e9",
+  "sha256": "0dpw4g891g43ajnw3958yn7q9zqwancz00vv4f3iz9rbnkc1wrl9",
+  "fetcher": "github",
+  "repo": "localauthor/zk",
+  "unstable": {
+   "version": [
+    20221107,
+    1204
+   ],
+   "deps": [
+    "zk",
+    "zk-index"
+   ],
+   "commit": "8cc0ca548f8fc1930bbc14b273b8a30df0c6327c",
+   "sha256": "0akqvgvlkfv05dl2d11gkb3ym38l1apsdp3d7l8sli7jdwqrhiaf"
+  }
+ },
+ {
   "ename": "zk-index",
   "commit": "01d387bc059e5d81d59ab5705082c56971a80b34",
   "sha256": "1rd4wpisrjc7ahyv3hinmv7nmma7xnacq1q35bnyyhsc0vv6rxs8",
@@ -120533,14 +121155,14 @@
   "repo": "localauthor/zk",
   "unstable": {
    "version": [
-    20220828,
-    1523
+    20221107,
+    1204
    ],
    "deps": [
     "zk"
    ],
-   "commit": "5960a9d0fbe2c7845773008c35951b16b80155de",
-   "sha256": "0smnm83hrxaddx82rhrypvxxirg63j3m4bklx6kvl6ysf5kaclad"
+   "commit": "8cc0ca548f8fc1930bbc14b273b8a30df0c6327c",
+   "sha256": "0akqvgvlkfv05dl2d11gkb3ym38l1apsdp3d7l8sli7jdwqrhiaf"
   },
   "stable": {
    "version": [
diff --git a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay
index a78b4a0d636cb..00eb11e62b674 100755
--- a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay
+++ b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay
@@ -23,14 +23,20 @@ commit_change() {
         git commit -m "${MESSAGE}: updated $(date --iso) (from overlay)" -- "${FILENAME}"
 }
 
+test_packageset(){
+    local PKGSET="$1"
+
+    nix-instantiate --show-trace ../../../../../ -A "emacs.pkgs.$PKGSET"
+}
+
 download_change "elpa/elpa-generated.nix"
 download_change "melpa/recipes-archive-melpa.json"
 download_change "nongnu/nongnu-generated.nix"
 
-nix-instantiate --show-trace ../../../../../ -A emacs.pkgs.nongnuPackages
-nix-instantiate --show-trace ../../../../../ -A emacs.pkgs.elpaPackages
-nix-instantiate --show-trace ../../../../../ -A emacs.pkgs.melpaStablePackages
-nix-instantiate --show-trace ../../../../../ -A emacs.pkgs.melpaPackages
+test_packageset "nongnuPackages"
+test_packageset "elpaPackages"
+test_packageset "melpaStablePackages"
+test_packageset "melpaPackages"
 
 commit_change "elpa-packages" "elpa-generated.nix"
 commit_change "melpa-packages" "recipes-archive-melpa.json"
diff --git a/pkgs/applications/editors/emacs/generic.nix b/pkgs/applications/editors/emacs/generic.nix
index 91110c48a74b2..21d286ff3a2c8 100644
--- a/pkgs/applications/editors/emacs/generic.nix
+++ b/pkgs/applications/editors/emacs/generic.nix
@@ -20,7 +20,6 @@
 , AppKit, Carbon, Cocoa, IOKit, OSAKit, Quartz, QuartzCore, WebKit
 , ImageCaptureCore, GSS, ImageIO # These may be optional
 
-, systemd ? null
 , withX ? !stdenv.isDarwin && !withPgtk
 , withNS ? stdenv.isDarwin && !withMacport
 , withMacport ? macportVersion != null
@@ -45,6 +44,7 @@
   else if withMotif then "motif"
   else if withAthena then "athena"
   else "lucid")
+, withSystemd ? stdenv.isLinux, systemd
 }:
 
 assert (libXft != null) -> libpng != null;      # probably a bug
@@ -141,7 +141,8 @@ let emacs = (if withMacport then llvmPackages_6.stdenv else stdenv).mkDerivation
 
   buildInputs =
     [ ncurses gconf libxml2 gnutls gettext jansson harfbuzz.dev ]
-    ++ lib.optionals stdenv.isLinux [ dbus libselinux systemd alsa-lib acl gpm ]
+    ++ lib.optionals stdenv.isLinux [ dbus libselinux alsa-lib acl gpm ]
+    ++ lib.optionals withSystemd [ systemd ]
     ++ lib.optionals withX
       [ xlibsWrapper libXaw Xaw3d libXpm libpng libjpeg giflib libtiff libXft
         gconf cairo ]
diff --git a/pkgs/applications/editors/gnome-latex/default.nix b/pkgs/applications/editors/gnome-latex/default.nix
index 3a4760265d12b..156e8eaac7e76 100644
--- a/pkgs/applications/editors/gnome-latex/default.nix
+++ b/pkgs/applications/editors/gnome-latex/default.nix
@@ -21,12 +21,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.41.2";
+  version = "3.42.0";
   pname = "gnome-latex";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "8xDwoUUEmfDP92y5+cXWaZGpUGH6s9bmcMSlZHOF1jM=";
+    sha256 = "ASMecEE3WNGu1pYNqhoigfqRNaYFkQuodM7VMn3LhUM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/editors/imhex/default.nix b/pkgs/applications/editors/imhex/default.nix
index 3a7463f89f831..b35f9aa06ca43 100644
--- a/pkgs/applications/editors/imhex/default.nix
+++ b/pkgs/applications/editors/imhex/default.nix
@@ -17,7 +17,6 @@
 , curl
 , fmt_8
 , nlohmann_json
-, xlibsWrapper
 , yara
 }:
 
@@ -45,7 +44,7 @@ gcc12Stdenv.mkDerivation rec {
     hash = "sha256-SFv5ulyjm5Yf+3Gpx+A74so2YClCJx1sx0LE5fh5eG4=";
   };
 
-  nativeBuildInputs = [ cmake llvm python3 perl pkg-config xlibsWrapper ];
+  nativeBuildInputs = [ cmake llvm python3 perl pkg-config ];
 
   buildInputs = [
     capstone
diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix
index c795cc30b3901..096fdf8427a82 100644
--- a/pkgs/applications/editors/jetbrains/default.nix
+++ b/pkgs/applications/editors/jetbrains/default.nix
@@ -5,6 +5,9 @@
 , maven
 , autoPatchelfHook
 , libdbusmenu
+, patchelf
+, openssl
+, expat
 , vmopts ? null
 }:
 
@@ -41,12 +44,14 @@ let
     }).overrideAttrs (attrs: {
       nativeBuildInputs = (attrs.nativeBuildInputs or []) ++ optionals (stdenv.isLinux) [
         autoPatchelfHook
+        patchelf
       ];
       buildInputs = (attrs.buildInputs or []) ++ optionals (stdenv.isLinux) [
         python3
         stdenv.cc.cc
         libdbusmenu
-        lldb
+        openssl.out
+        expat
       ];
       dontAutoPatchelf = true;
       postFixup = (attrs.postFixup or "") + optionalString (stdenv.isLinux) ''
@@ -58,9 +63,11 @@ let
           # bundled gdb does not find libcrypto 10
           rm -rf bin/gdb/linux
           ln -s ${gdb} bin/gdb/linux
-          # bundled lldb does not find libssl
-          rm -rf bin/lldb/linux
-          ln -s ${lldb} bin/lldb/linux
+
+          ls -d $PWD/bin/lldb/linux/lib/python3.8/lib-dynload/* |
+          xargs patchelf \
+            --replace-needed libssl.so.10 libssl.so \
+            --replace-needed libcrypto.so.10 libcrypto.so
 
           autoPatchelf $PWD/bin
 
diff --git a/pkgs/applications/editors/leo-editor/default.nix b/pkgs/applications/editors/leo-editor/default.nix
index 10b2b0a54aefe..9b248df95b66b 100644
--- a/pkgs/applications/editors/leo-editor/default.nix
+++ b/pkgs/applications/editors/leo-editor/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "leo-editor";
-  version = "6.6.4";
+  version = "6.7.1";
 
   src = fetchFromGitHub {
     owner = "leo-editor";
     repo = "leo-editor";
     rev = version;
-    sha256 = "sha256-NwqvlDG37OpWaLJHb6NqkRYvWwDzICKqfgIJRTBDnkI=";
+    sha256 = "sha256-4sD/gN9cbgZ9Z5Xiyx2velX5q6J6vOQAeRor10Zamyw=";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/editors/lifeograph/default.nix b/pkgs/applications/editors/lifeograph/default.nix
index 0a999bf993f6f..895a9e11d5e86 100644
--- a/pkgs/applications/editors/lifeograph/default.nix
+++ b/pkgs/applications/editors/lifeograph/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchgit, pkg-config, meson, ninja
+{ stdenv, lib, fetchgit, pkg-config, meson, ninja, wrapGAppsHook
 , enchant, gtkmm3, libchamplain, libgcrypt, shared-mime-info }:
 
 stdenv.mkDerivation rec {
@@ -16,6 +16,7 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     shared-mime-info # for update-mime-database
+    wrapGAppsHook
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/editors/lite-xl/0001-replace-unpack-with-table-unpack.patch b/pkgs/applications/editors/lite-xl/0001-replace-unpack-with-table-unpack.patch
deleted file mode 100644
index e7a2287427f6e..0000000000000
--- a/pkgs/applications/editors/lite-xl/0001-replace-unpack-with-table-unpack.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-diff --git a/data/core/commands/findreplace.lua b/data/core/commands/findreplace.lua
-index 5d27aa6..db6a2dd 100644
---- a/data/core/commands/findreplace.lua
-+++ b/data/core/commands/findreplace.lua
-@@ -37,7 +37,7 @@ local function update_preview(sel, search_fn, text)
-     last_view:scroll_to_line(line2, true)
-     found_expression = true
-   else
--    last_view.doc:set_selection(unpack(sel))
-+    last_view.doc:set_selection(table.unpack(sel))
-     found_expression = false
-   end
- end
-@@ -55,7 +55,7 @@ end
- local function find(label, search_fn)
-   last_view, last_sel = core.active_view,
-     { core.active_view.doc:get_selection() }
--  local text = last_view.doc:get_text(unpack(last_sel))
-+  local text = last_view.doc:get_text(table.unpack(last_sel))
-   found_expression = false
- 
-   core.command_view:set_text(text, true)
-@@ -69,8 +69,8 @@ local function find(label, search_fn)
-       last_fn, last_text = search_fn, text
-     else
-       core.error("Couldn't find %q", text)
--      last_view.doc:set_selection(unpack(last_sel))
--      last_view:scroll_to_make_visible(unpack(last_sel))
-+      last_view.doc:set_selection(table.unpack(last_sel))
-+      last_view:scroll_to_make_visible(table.unpack(last_sel))
-     end
-   end, function(text)
-     update_preview(last_sel, search_fn, text)
-@@ -79,8 +79,8 @@ local function find(label, search_fn)
-   end, function(explicit)
-     core.status_view:remove_tooltip()
-     if explicit then
--      last_view.doc:set_selection(unpack(last_sel))
--      last_view:scroll_to_make_visible(unpack(last_sel))
-+      last_view.doc:set_selection(table.unpack(last_sel))
-+      last_view:scroll_to_make_visible(table.unpack(last_sel))
-     end
-   end)
- end
-diff --git a/data/core/doc/init.lua b/data/core/doc/init.lua
-index 2e72907..0e61ffb 100644
---- a/data/core/doc/init.lua
-+++ b/data/core/doc/init.lua
-@@ -198,9 +198,9 @@ local function selection_iterator(invariant, idx)
-   local target = invariant[3] and (idx*4 - 7) or (idx*4 + 1)
-   if target > #invariant[1] or target <= 0 or (type(invariant[3]) == "number" and invariant[3] ~= idx - 1) then return end
-   if invariant[2] then
--    return idx+(invariant[3] and -1 or 1), sort_positions(unpack(invariant[1], target, target+4))
-+    return idx+(invariant[3] and -1 or 1), sort_positions(table.unpack(invariant[1], target, target+4))
-   else
--    return idx+(invariant[3] and -1 or 1), unpack(invariant[1], target, target+4)
-+    return idx+(invariant[3] and -1 or 1), table.unpack(invariant[1], target, target+4)
-   end
- end
- 
-@@ -345,7 +345,7 @@ function Doc:raw_insert(line, col, text, undo_stack, time)
- 
-   -- push undo
-   local line2, col2 = self:position_offset(line, col, #text)
--  push_undo(undo_stack, time, "selection", unpack(self.selections))
-+  push_undo(undo_stack, time, "selection", table.unpack(self.selections))
-   push_undo(undo_stack, time, "remove", line, col, line2, col2)
- 
-   -- update highlighter and assure selection is in bounds
-@@ -357,7 +357,7 @@ end
- function Doc:raw_remove(line1, col1, line2, col2, undo_stack, time)
-   -- push undo
-   local text = self:get_text(line1, col1, line2, col2)
--  push_undo(undo_stack, time, "selection", unpack(self.selections))
-+  push_undo(undo_stack, time, "selection", table.unpack(self.selections))
-   push_undo(undo_stack, time, "insert", line1, col1, text)
- 
-   -- get line content before/after removed text
-diff --git a/data/core/tokenizer.lua b/data/core/tokenizer.lua
-index d95baeb..f77fed4 100644
---- a/data/core/tokenizer.lua
-+++ b/data/core/tokenizer.lua
-@@ -161,7 +161,7 @@ function tokenizer.tokenize(incoming_syntax, text, state)
-         if count % 2 == 0 then break end
-       end
-     until not res[1] or not close or not target[3]
--    return unpack(res)
-+    return table.unpack(res)
-   end
-   
-   while i <= #text do
diff --git a/pkgs/applications/editors/lite-xl/default.nix b/pkgs/applications/editors/lite-xl/default.nix
index b19c3f531b7aa..11dd387523774 100644
--- a/pkgs/applications/editors/lite-xl/default.nix
+++ b/pkgs/applications/editors/lite-xl/default.nix
@@ -3,7 +3,7 @@
 , Foundation
 , freetype
 , lib
-, lua5_2
+, lua5_4
 , meson
 , ninja
 , pcre2
@@ -15,26 +15,21 @@
 
 stdenv.mkDerivation rec {
   pname = "lite-xl";
-  version = "2.0.5";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "lite-xl";
     repo = "lite-xl";
     rev = "v${version}";
-    sha256 = "sha256-7ppO5ITijhJ37OL6xlQgu1SaQ/snXDH5xJOwuXZNUVA=";
+    sha256 = "sha256-9nQFdii6SY14Cul7Ki0DUEsu75HWTCeEZtXaU6KGRiM=";
   };
 
-  patches = [
-    # Fixes compatibility with Lua5.2, remove patch when a new release covers this
-    ./0001-replace-unpack-with-table-unpack.patch
-  ];
-
   nativeBuildInputs = [ meson ninja pkg-config ];
 
   buildInputs = [
     agg
     freetype
-    lua5_2
+    lua5_4
     pcre2
     reproc
     SDL2
diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix
index 5d4d84e6fe9b9..d7b1f54d39121 100644
--- a/pkgs/applications/editors/nano/default.nix
+++ b/pkgs/applications/editors/nano/default.nix
@@ -16,11 +16,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "nano";
-  version = "6.4";
+  version = "7.0";
 
   src = fetchurl {
     url = "mirror://gnu/nano/${pname}-${version}.tar.xz";
-    sha256 = "QZmujKeKd5beVt4aQbgh3EeRLAMH6YFrVswxffNGYcA=";
+    sha256 = "jdbqw4srh4bYJoHw4a/YT2t1IQ0XORtkQ8Q35FFVIUk=";
   };
 
   nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
diff --git a/pkgs/applications/editors/nedit/default.nix b/pkgs/applications/editors/nedit/default.nix
index 5a523c05d7959..b49fbc14fad9c 100644
--- a/pkgs/applications/editors/nedit/default.nix
+++ b/pkgs/applications/editors/nedit/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, xlibsWrapper, motif, libXpm }:
+{ lib, stdenv, fetchurl, motif, libXpm, libXt }:
 
 stdenv.mkDerivation rec {
   pname = "nedit";
@@ -11,8 +11,7 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
-  nativeBuildInputs = [ xlibsWrapper ];
-  buildInputs = [ motif libXpm ];
+  buildInputs = [ motif libXpm libXt ];
 
   # the linux config works fine on darwin too!
   buildFlags = lib.optional (stdenv.isLinux || stdenv.isDarwin) "linux";
diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix
index e5f1d658b5d73..0a3b5ca421d3f 100644
--- a/pkgs/applications/editors/neovim/default.nix
+++ b/pkgs/applications/editors/neovim/default.nix
@@ -26,13 +26,13 @@ let
 in
   stdenv.mkDerivation rec {
     pname = "neovim-unwrapped";
-    version = "0.8.0";
+    version = "0.8.1";
 
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "neovim";
       rev = "v${version}";
-      sha256 = "sha256-mVeVjkP8JpTi2aW59ZuzQPi5YvEySVAtxko7xxAx/es=";
+      sha256 = "sha256-B2ZpwhdmdvPOnxVyJDfNzUT5rTVuBhJXyMwwzCl9Fac=";
     };
 
     patches = [
diff --git a/pkgs/applications/editors/neovim/neovide/default.nix b/pkgs/applications/editors/neovim/neovide/default.nix
index 3d1aa9cdc57c7..3a32516b7d3c6 100644
--- a/pkgs/applications/editors/neovim/neovide/default.nix
+++ b/pkgs/applications/editors/neovim/neovide/default.nix
@@ -31,16 +31,16 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "neovide";
-  version = "0.10.1";
+  version = "0.10.3";
 
   src = fetchFromGitHub {
     owner = "Kethku";
     repo = "neovide";
     rev = version;
-    sha256 = "sha256-PViSiK6+H79MLIOFe26cNqUZ6gZdqDC/S+ksTrbOm54=";
+    sha256 = "sha256-CcBiCcfOJzuq0DnokTUHpMdo7Ry29ugQ+N7Hk0R+cQE=";
   };
 
-  cargoSha256 = "sha256-GvueDUY4Hzfih/MyEfhdz/QNVd9atTC8SCF+PyuJJic=";
+  cargoSha256 = "sha256-bS7yBnxAWPoTTabxI6W5Knl1DFiDztYSkEPJMa8bqlY=";
 
   SKIA_SOURCE_DIR =
     let
diff --git a/pkgs/applications/editors/notepadqq/default.nix b/pkgs/applications/editors/notepadqq/default.nix
index 545d64ef5122c..3aa08559bdf78 100644
--- a/pkgs/applications/editors/notepadqq/default.nix
+++ b/pkgs/applications/editors/notepadqq/default.nix
@@ -1,22 +1,40 @@
-{ mkDerivation, lib, fetchFromGitHub, pkg-config, which, qtbase, qtsvg, qttools, qtwebkit }:
+{ mkDerivation
+, lib
+, fetchFromGitHub
+, pkg-config
+, which
+, libuchardet
+, qtbase
+, qtsvg
+, qttools
+, qtwebengine
+, qtwebsockets
+}:
 
 mkDerivation rec {
   pname = "notepadqq";
-  version = "1.4.8";
+  # shipping a beta build as there's no proper release which supports qtwebengine
+  version = "2.0.0-beta";
 
   src = fetchFromGitHub {
     owner = "notepadqq";
     repo = "notepadqq";
     rev = "v${version}";
-    sha256 = "0lbv4s7ng31dkznzbkmp2cvkqglmfj6lv4mbg3r410fif2nrva7k";
+    sha256 = "sha256-XA9Ay9kJApY+bDeOf0iPv+BWYFuTmIuqsLEPgRTCZCE=";
   };
 
   nativeBuildInputs = [
-    pkg-config which qttools
+    pkg-config
+    which
+    qttools
   ];
 
   buildInputs = [
-    qtbase qtsvg qtwebkit
+    libuchardet
+    qtbase
+    qtsvg
+    qtwebengine
+    qtwebsockets
   ];
 
   preConfigure = ''
diff --git a/pkgs/applications/editors/qemacs/default.nix b/pkgs/applications/editors/qemacs/default.nix
index 065dccb2b2197..9fc91fbe19771 100644
--- a/pkgs/applications/editors/qemacs/default.nix
+++ b/pkgs/applications/editors/qemacs/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, lib, stdenv, xlibsWrapper, libXv, libpng }:
+{ fetchurl, lib, stdenv, libX11, libXext, libXv, libpng }:
 
 stdenv.mkDerivation rec {
   pname = "qemacs";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "156z4wpj49i6j388yjird5qvrph7hz0grb4r44l4jf3q8imadyrg";
   };
 
-  buildInputs = [ xlibsWrapper libpng libXv ];
+  buildInputs = [ libpng libX11 libXext libXv ];
 
   preInstall = ''
     mkdir -p $out/bin $out/man
diff --git a/pkgs/applications/editors/sublime/4/packages.nix b/pkgs/applications/editors/sublime/4/packages.nix
index 5d03b20837281..d5a37aee5a473 100644
--- a/pkgs/applications/editors/sublime/4/packages.nix
+++ b/pkgs/applications/editors/sublime/4/packages.nix
@@ -5,15 +5,15 @@ let
 in
   {
     sublime4 = common {
-      buildVersion = "4126";
-      x64sha256 = "sha256-XGTlNMzgAy5U08cCjo1rO97yjz/SiiYkSjYKLOdUUKE=";
-      aarch64sha256 = "0gmnxyczj2wk9dilhkpa6gi2fkvbic6smyiimd3lq0s7ilbarm0a";
+      buildVersion = "4143";
+      x64sha256 = "fehiw40ZNnQUEXEQMo3e11SscJ/tVMjMXLBzfIlMBzw=";
+      aarch64sha256 = "4zpNHVEHO98vHcWTbqmwlrB4+HIwoQojeQvq7nAqSpM=";
     } {};
 
     sublime4-dev = common {
-      buildVersion = "4137";
+      buildVersion = "4141";
       dev = true;
-      x64sha256 = "oGBPoqVwTIQfIzh/8fEOOrZkrbzT0tG23ASeHbN/OMk=";
-      aarch64sha256 = "7mqYSoggfrcRoDh+QfA4rW0qvF2ZpiUY5yVxhxZKsfE=";
+      x64sha256 = "eFo9v4hSrp1gV56adVyFB9sOApOXlKNvVBW0wbFYG4g=";
+      aarch64sha256 = "MmwSptvSH507+X9GT8GC4tzZFzEfT2pKc+/Qu5SbMkM=";
     } {};
   }
diff --git a/pkgs/applications/editors/texstudio/default.nix b/pkgs/applications/editors/texstudio/default.nix
index 76762fd927cc5..6a0f498fa5543 100644
--- a/pkgs/applications/editors/texstudio/default.nix
+++ b/pkgs/applications/editors/texstudio/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "texstudio";
-  version = "4.3.1";
+  version = "4.4.0";
 
   src = fetchFromGitHub {
     owner = "${pname}-org";
     repo = pname;
     rev = version;
-    hash = "sha256-CwfnRkG8GsRQuE0+l394gMdj5ao3SUKaDnYP2dfUEew=";
+    hash = "sha256-BaTfebLilUeDNtCJZmgAx+hN+L+4MtnuL6t3wQRX/Ns=";
   };
 
   nativeBuildInputs = [ qmake wrapQtAppsHook pkg-config ];
diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix
index d6798821ffcb8..9486403c92364 100644
--- a/pkgs/applications/editors/vim/plugins/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/generated.nix
@@ -77,12 +77,12 @@ final: prev:
 
   FTerm-nvim = buildVimPluginFrom2Nix {
     pname = "FTerm.nvim";
-    version = "2022-07-21";
+    version = "2022-11-13";
     src = fetchFromGitHub {
       owner = "numToStr";
       repo = "FTerm.nvim";
-      rev = "efd10656724a269e21ba68d65e2b058a4e606424";
-      sha256 = "1wfdw5gm4hnar9w7z4v1s14zm7g7pd6a3b54r4gsdwgr107ql7md";
+      rev = "d1320892cc2ebab472935242d9d992a2c9570180";
+      sha256 = "1rhizcrkas40p6gw420ljx8p4q3b206d96cx8sc67gdcmarl0avw";
     };
     meta.homepage = "https://github.com/numToStr/FTerm.nvim/";
   };
@@ -185,12 +185,12 @@ final: prev:
 
   Navigator-nvim = buildVimPluginFrom2Nix {
     pname = "Navigator.nvim";
-    version = "2022-04-29";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "numToStr";
       repo = "Navigator.nvim";
-      rev = "0c57f67a34eff7fd20785861926b7fe6bd76e2c2";
-      sha256 = "1f1fh5w2hsf16dcd0zz5x4d5ig089bgr7dial3ir82445g7whwsc";
+      rev = "2ef04f4be7a9ffc648751e8c0d0c7236074c1dc1";
+      sha256 = "0yszjbl4q4pn3f6k90jx2i4bkqm55r4gjl7s6fmf6igcphmslkgm";
     };
     meta.homepage = "https://github.com/numToStr/Navigator.nvim/";
   };
@@ -281,12 +281,12 @@ final: prev:
 
   SchemaStore-nvim = buildVimPluginFrom2Nix {
     pname = "SchemaStore.nvim";
-    version = "2022-10-27";
+    version = "2022-11-10";
     src = fetchFromGitHub {
       owner = "b0o";
       repo = "SchemaStore.nvim";
-      rev = "0a4a5da030dc0c4bd69abd846aa87a1a4a30eb2b";
-      sha256 = "1hki2hpagb0jp65a401jh9g7mwqjvs9qgap7dcmplig1414bckrc";
+      rev = "f92c7fce6a8ddb5b5b906d5cf7a2985b4741b9a8";
+      sha256 = "07sjzaxa85zzxskq1247124x9519pz5g2s78n2h7z4hkixrd6g63";
     };
     meta.homepage = "https://github.com/b0o/SchemaStore.nvim/";
   };
@@ -329,24 +329,24 @@ final: prev:
 
   SpaceCamp = buildVimPluginFrom2Nix {
     pname = "SpaceCamp";
-    version = "2022-07-22";
+    version = "2022-11-15";
     src = fetchFromGitHub {
       owner = "jaredgorski";
       repo = "SpaceCamp";
-      rev = "2678fca10e731f367253f937db5f8b42de674f4f";
-      sha256 = "1rhgjxrsjy9kg1740myyfh9n6pllm2nzxm3vgm4yxr6n6q74cy6n";
+      rev = "8ff0ed105d1403a60e1f79150b8b645a3465b3a0";
+      sha256 = "06bddfpmnabhw7q8q459qa55gh3x7xqzb0lq7qpq1i4kg6qsc7ck";
     };
     meta.homepage = "https://github.com/jaredgorski/SpaceCamp/";
   };
 
   SpaceVim = buildVimPluginFrom2Nix {
     pname = "SpaceVim";
-    version = "2022-10-27";
+    version = "2022-11-19";
     src = fetchFromGitHub {
       owner = "SpaceVim";
       repo = "SpaceVim";
-      rev = "e9ecbbc530d24712b9d79c6bc9f558a4964145be";
-      sha256 = "0zyya5622lsn3lrf3aphnp33fwbi42kd09dcgggvhzb4mhs4ngf0";
+      rev = "e40635a03538f73e67e68a18c82c63fe1832e304";
+      sha256 = "0d3d02fylm4ng67yx1k67hb9gfrj9msbwxn3sd5vikx1qhgsfzvv";
     };
     meta.homepage = "https://github.com/SpaceVim/SpaceVim/";
   };
@@ -365,12 +365,12 @@ final: prev:
 
   SudoEdit-vim = buildVimPluginFrom2Nix {
     pname = "SudoEdit.vim";
-    version = "2022-08-15";
+    version = "2022-11-03";
     src = fetchFromGitHub {
       owner = "chrisbra";
       repo = "SudoEdit.vim";
-      rev = "bcf23412e9f307036ae3dbd7968930c1fd48f02b";
-      sha256 = "1zrf32d4v5751vivwl976sjy901vjrl1m5b2vzzmp7aic76rji7y";
+      rev = "e0ffcda0c2f98bec80cb52d1af5f3af26bd38821";
+      sha256 = "125npjj74zn6ldh0656m5f7bc5035wdh7v3bwhh70jkbw36c3vvm";
     };
     meta.homepage = "https://github.com/chrisbra/SudoEdit.vim/";
   };
@@ -437,12 +437,12 @@ final: prev:
 
   YouCompleteMe = buildVimPluginFrom2Nix {
     pname = "YouCompleteMe";
-    version = "2022-10-06";
+    version = "2022-11-19";
     src = fetchFromGitHub {
       owner = "ycm-core";
       repo = "YouCompleteMe";
-      rev = "99ccab251fad7c8b235582b46752a0536d01b315";
-      sha256 = "1whjbplgqik4pdp3z1ly7z1qii6z615drqc3i09p4sahdb7cw2n6";
+      rev = "2d1de481a94a3be428c87ab0404c38e58b386813";
+      sha256 = "0g780ykjiya6clc3yi8ky4lxhyj2ayc629wn5i2iq8siwm4ab07v";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/ycm-core/YouCompleteMe/";
@@ -486,12 +486,12 @@ final: prev:
 
   aerial-nvim = buildVimPluginFrom2Nix {
     pname = "aerial.nvim";
-    version = "2022-10-28";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "aerial.nvim";
-      rev = "62b6ebb0d0c557a25c403a5344e090eabcd114dd";
-      sha256 = "0214ck4sw493h536jrqg2b8m4vcv4sma4inmhmvyaiv8rqm2sn1g";
+      rev = "4b42ddbd453caec3b12541af80e498a02d47cf20";
+      sha256 = "0r3giqdvdpi3066ky4yib4lv36xy7cvsk3ry8j339ghiw00rjfv4";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/stevearc/aerial.nvim/";
@@ -535,12 +535,12 @@ final: prev:
 
   ale = buildVimPluginFrom2Nix {
     pname = "ale";
-    version = "2022-10-14";
+    version = "2022-11-07";
     src = fetchFromGitHub {
       owner = "dense-analysis";
       repo = "ale";
-      rev = "e4b20544082ba019d8095cbc24ffab43b15e8fc0";
-      sha256 = "0cm259fvym6swcj9q6viap84xg364x05xc8a432a452ca5xrfgp2";
+      rev = "4b433e5693ccec8e408504c4b139b8f7cc6a4aa3";
+      sha256 = "08ik0a5g54m295pqyxfzkgav9apyqrchbfsxssb8hjgq3sl00vjv";
     };
     meta.homepage = "https://github.com/dense-analysis/ale/";
   };
@@ -559,12 +559,12 @@ final: prev:
 
   alpha-nvim = buildVimPluginFrom2Nix {
     pname = "alpha-nvim";
-    version = "2022-09-09";
+    version = "2022-11-14";
     src = fetchFromGitHub {
       owner = "goolord";
       repo = "alpha-nvim";
-      rev = "0bb6fc0646bcd1cdb4639737a1cee8d6e08bcc31";
-      sha256 = "0cx2psvvafclggwm32xrx03wjm0vk59fj8xln75k4smckcax59dl";
+      rev = "a858e4e7b0805835e61fab2b54704450427d47c3";
+      sha256 = "0lcdywjbnh2rzjpyk9834invl8a8svmm2xwpmybdx1wrx9q6iip9";
     };
     meta.homepage = "https://github.com/goolord/alpha-nvim/";
   };
@@ -667,24 +667,24 @@ final: prev:
 
   asyncrun-vim = buildVimPluginFrom2Nix {
     pname = "asyncrun.vim";
-    version = "2022-10-11";
+    version = "2022-11-18";
     src = fetchFromGitHub {
       owner = "skywind3000";
       repo = "asyncrun.vim";
-      rev = "eae766d218671754f3a48adc6b3ad7bf2bac0696";
-      sha256 = "0nkqkkk8ahxfvc5f8da9zb1v258lik9514kfv50phz4vj4s76vbh";
+      rev = "6d5e981c56a9fec9e5b617eaaad3d302bfe18dd8";
+      sha256 = "11qyggn16ghpa272nv9qflf0xbqn0n36qbmv8w4mmphpcf5mq6yz";
     };
     meta.homepage = "https://github.com/skywind3000/asyncrun.vim/";
   };
 
   asynctasks-vim = buildVimPluginFrom2Nix {
     pname = "asynctasks.vim";
-    version = "2022-10-06";
+    version = "2022-11-10";
     src = fetchFromGitHub {
       owner = "skywind3000";
       repo = "asynctasks.vim";
-      rev = "32d2af43f196605f35aa78f38b16e9a8d158b010";
-      sha256 = "0ryq8qsrjzdyrapz040mvp9f3mzcflcw14nddp5fq95859n18n2k";
+      rev = "9053c97fc77ac3335761527d4431f936631e3a24";
+      sha256 = "0jm4grwgz6wql22d3yqpmayqg0vnssdcp19csgvcjac9lrxl0m9y";
     };
     meta.homepage = "https://github.com/skywind3000/asynctasks.vim/";
   };
@@ -703,24 +703,24 @@ final: prev:
 
   aurora = buildVimPluginFrom2Nix {
     pname = "aurora";
-    version = "2022-10-26";
+    version = "2022-11-15";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "aurora";
-      rev = "4a5a082e7ee778f3a5bc7cbde56bdc04ae56d858";
-      sha256 = "109hlng3xwxvq704wilik3z3cpr7asgiwyvxp4h7dqnar3wyp644";
+      rev = "87ecb98982f11bb62a61a2ed4d46676c72918a4d";
+      sha256 = "147yd7v21y8b59wj89zc103q1lp8dzmkyciby2nn8qb1kzvwvh0g";
     };
     meta.homepage = "https://github.com/ray-x/aurora/";
   };
 
   auto-git-diff = buildVimPluginFrom2Nix {
     pname = "auto-git-diff";
-    version = "2019-09-23";
+    version = "2022-10-29";
     src = fetchFromGitHub {
       owner = "hotwatermorning";
       repo = "auto-git-diff";
-      rev = "a14d52b7ed7e7fb69bf1de9d363f3abdd3410b3a";
-      sha256 = "0i0bnlxclh8pzanrxj428728mdx4wdy19fx499kiin87qr4r2hbn";
+      rev = "8d5ba425218912db0d960ba0bd0a1b39d14082b7";
+      sha256 = "0agwvh7gxhw4ys7fr20xzibgc86h4wh16ivzqh1n26r3119gsfy9";
     };
     meta.homepage = "https://github.com/hotwatermorning/auto-git-diff/";
   };
@@ -739,24 +739,24 @@ final: prev:
 
   auto-save-nvim = buildVimPluginFrom2Nix {
     pname = "auto-save.nvim";
-    version = "2022-08-06";
+    version = "2022-11-01";
     src = fetchFromGitHub {
       owner = "pocco81";
       repo = "auto-save.nvim";
-      rev = "2c7a2943340ee2a36c6a61db812418fca1f57866";
-      sha256 = "0zfy1pw39c0zf4mfd8kgl1hj9h1hcbsql32rp0wk0kf714hbxqli";
+      rev = "979b6c82f60cfa80f4cf437d77446d0ded0addf0";
+      sha256 = "13kv2p0gj20fg79ch27a9vp10ki11vjj4fx626cj526qpnbs4qbd";
     };
     meta.homepage = "https://github.com/pocco81/auto-save.nvim/";
   };
 
   auto-session = buildVimPluginFrom2Nix {
     pname = "auto-session";
-    version = "2022-09-19";
+    version = "2022-11-18";
     src = fetchFromGitHub {
       owner = "rmagatti";
       repo = "auto-session";
-      rev = "39319bf7ad15a1881f180fa7c14bf6703775035e";
-      sha256 = "02d9i60n3gn3cbyivz0pnfh9z9478clvvvvjg8jaqiyqv78n70qk";
+      rev = "04bae4b2b531f0420824acd8d411129712da96e3";
+      sha256 = "044iwsa1c95354l470kakrd77bnp6xbl87bhxydmlzjfwpshs89i";
     };
     meta.homepage = "https://github.com/rmagatti/auto-session/";
   };
@@ -799,16 +799,28 @@ final: prev:
 
   barbar-nvim = buildVimPluginFrom2Nix {
     pname = "barbar.nvim";
-    version = "2022-10-26";
+    version = "2022-11-18";
     src = fetchFromGitHub {
       owner = "romgrk";
       repo = "barbar.nvim";
-      rev = "eecabfedc9429f6184feb3b6655bc45a4ed36a7e";
-      sha256 = "0b1gnbaqb67q876hqnqv1l54xdyv76dzn7hr7drgq33nrmyxcx58";
+      rev = "36ed977ab56d3718c41f078d01db9b218d11250c";
+      sha256 = "12b2ngkcgd89ky1dnqsfyv9x0qm7lw48wrf2pr6l1ddx2izlf7pq";
     };
     meta.homepage = "https://github.com/romgrk/barbar.nvim/";
   };
 
+  barbecue-nvim = buildVimPluginFrom2Nix {
+    pname = "barbecue.nvim";
+    version = "2022-11-18";
+    src = fetchFromGitHub {
+      owner = "utilyre";
+      repo = "barbecue.nvim";
+      rev = "f13fad8217cabea67e4d06a82bba79fdcc56344b";
+      sha256 = "103g4lzyd6amygksafhxb08ll74a33ahp66di9x7r0b7jqw53ym4";
+    };
+    meta.homepage = "https://github.com/utilyre/barbecue.nvim/";
+  };
+
   base16-vim = buildVimPluginFrom2Nix {
     pname = "base16-vim";
     version = "2022-09-20";
@@ -907,12 +919,12 @@ final: prev:
 
   bufdelete-nvim = buildVimPluginFrom2Nix {
     pname = "bufdelete.nvim";
-    version = "2022-10-07";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "famiu";
       repo = "bufdelete.nvim";
-      rev = "e88dbe0ba5829119d8edb5fc69d3c8553e324a93";
-      sha256 = "0qja5jvx8047v5qbch6flcg8fq00369ffcivrv2gkqkmggg4dvb6";
+      rev = "3ebf4a98c380ec27b3066eaa5f1fdda332df1a9d";
+      sha256 = "1cnlhl7kin27v57l2v4yn9v4kvdb9lp4h20ipyw3jh7r13p3y8gv";
     };
     meta.homepage = "https://github.com/famiu/bufdelete.nvim/";
   };
@@ -931,12 +943,12 @@ final: prev:
 
   bufferline-nvim = buildVimPluginFrom2Nix {
     pname = "bufferline.nvim";
-    version = "2022-10-28";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "bufferline.nvim";
-      rev = "028a87933d99f8bb88f2f70a4def3ff9574f3594";
-      sha256 = "04s1d44yq7hncvi3x3i2k47pak239shxfz8anv117h3zxcgdzg8r";
+      rev = "4ecfa81e470a589e74adcde3d5bb1727dd407363";
+      sha256 = "0l2d28bh85cv722c25qda74nkwmd19nifyyqmsn5ac2s027pasd8";
     };
     meta.homepage = "https://github.com/akinsho/bufferline.nvim/";
   };
@@ -991,12 +1003,12 @@ final: prev:
 
   ccc-nvim = buildVimPluginFrom2Nix {
     pname = "ccc.nvim";
-    version = "2022-10-26";
+    version = "2022-11-09";
     src = fetchFromGitHub {
       owner = "uga-rosa";
       repo = "ccc.nvim";
-      rev = "312f33f36115e8266b06ea97002b71e4ebc0f006";
-      sha256 = "15vk2aglwhwikn7rg0pfkbjjr23mkq90nnq1i0dp69cbmwzb7nn6";
+      rev = "da5ed534bf401819eb4bc6a78c11c11b8bf3fb65";
+      sha256 = "074c56gwg91jpn66rrxf05m89kx1l0is96lm2pffi35ig67c45px";
     };
     meta.homepage = "https://github.com/uga-rosa/ccc.nvim/";
   };
@@ -1039,12 +1051,12 @@ final: prev:
 
   circles-nvim = buildVimPluginFrom2Nix {
     pname = "circles.nvim";
-    version = "2022-06-05";
+    version = "2022-11-09";
     src = fetchFromGitHub {
       owner = "projekt0n";
       repo = "circles.nvim";
-      rev = "8339b7e9023dfd4fa83e3aa597c210c01de41746";
-      sha256 = "165l7jm5rmkhvy77q00rvzhri6ic4l599brfscg4mb1sazm6gpwv";
+      rev = "67bc0cb720ed2f6d57073b24a7c1cf0531f2ce7e";
+      sha256 = "0q88yjssn4mm7m2fbddlp2yvixrfdmf5b8hrrq9zknx6q0b7bwpb";
     };
     meta.homepage = "https://github.com/projekt0n/circles.nvim/";
   };
@@ -1063,12 +1075,12 @@ final: prev:
 
   clangd_extensions-nvim = buildVimPluginFrom2Nix {
     pname = "clangd_extensions.nvim";
-    version = "2022-10-02";
+    version = "2022-11-11";
     src = fetchFromGitHub {
       owner = "p00f";
       repo = "clangd_extensions.nvim";
-      rev = "756a12b1604aa86368f2078ab44bfa788a29ece4";
-      sha256 = "1wxyy98gal3zdwrh6z92044yyj3nbw2bzq9diwa1h5waraf9jg7r";
+      rev = "9bd6073dd1230e667f97760b5a73f81547a19528";
+      sha256 = "00jzl7aaas26181b0ldnk7nskmp0l491c8j2r5lld623bvv2hdsl";
     };
     meta.homepage = "https://github.com/p00f/clangd_extensions.nvim/";
   };
@@ -1123,12 +1135,12 @@ final: prev:
 
   cmp-calc = buildVimPluginFrom2Nix {
     pname = "cmp-calc";
-    version = "2022-04-25";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "cmp-calc";
-      rev = "f7efc20768603bd9f9ae0ed073b1c129f63eb312";
-      sha256 = "0q5p5s46bh0h1w9p3yzwxd04hlbxg3s4liq42r697gqvna6sq0yg";
+      rev = "50792f34a628ea6eb31d2c90e8df174671e4e7a0";
+      sha256 = "1zl0wrszvwf5h7w2gv02a9py037k173wicipj9i8m4zfygixi90s";
     };
     meta.homepage = "https://github.com/hrsh7th/cmp-calc/";
   };
@@ -1147,12 +1159,12 @@ final: prev:
 
   cmp-cmdline = buildVimPluginFrom2Nix {
     pname = "cmp-cmdline";
-    version = "2022-09-16";
+    version = "2022-11-13";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "cmp-cmdline";
-      rev = "c66c379915d68fb52ad5ad1195cdd4265a95ef1e";
-      sha256 = "00ivhdq1skdccmkn0sd0kr8b9gnap84in34q5r2mkmnd07vhiwr2";
+      rev = "8bc9c4a34b223888b7ffbe45c4fe39a7bee5b74d";
+      sha256 = "0rx8ncap1dfrgwkx1wsmhybr6cs1kdh0li5hssbhws2d6igij8zq";
     };
     meta.homepage = "https://github.com/hrsh7th/cmp-cmdline/";
   };
@@ -1207,24 +1219,24 @@ final: prev:
 
   cmp-dap = buildVimPluginFrom2Nix {
     pname = "cmp-dap";
-    version = "2022-10-16";
+    version = "2022-11-13";
     src = fetchFromGitHub {
       owner = "rcarriga";
       repo = "cmp-dap";
-      rev = "4de6b86b099a1cdee961545e0dfe2ef4846722de";
-      sha256 = "1qz42hr1l728i2j4rd9g5xmj0ncq0hd99mlgdpfadxbxlgnvq0s1";
+      rev = "d16f14a210cd28988b97ca8339d504533b7e09a4";
+      sha256 = "1rqn5jbvca0yfsa7nhm6j0xss0hidvvqa5yks60vv3apkilhds63";
     };
     meta.homepage = "https://github.com/rcarriga/cmp-dap/";
   };
 
   cmp-dictionary = buildVimPluginFrom2Nix {
     pname = "cmp-dictionary";
-    version = "2022-08-29";
+    version = "2022-11-01";
     src = fetchFromGitHub {
       owner = "uga-rosa";
       repo = "cmp-dictionary";
-      rev = "93f3e2cb2e0b4d31cf3a97820daddc4e9933ef01";
-      sha256 = "0bmmaxnf5inm7lgni4132vh01wkx7864690jv932wkpk0665y2hm";
+      rev = "c942c48eaafe1d9c5a5cdc7f7299336bd60e24f5";
+      sha256 = "13rrqcxhif7990575vsccadzz011zjhy1qbwspyhisffz13isbcv";
     };
     meta.homepage = "https://github.com/uga-rosa/cmp-dictionary/";
   };
@@ -1267,24 +1279,24 @@ final: prev:
 
   cmp-fuzzy-buffer = buildVimPluginFrom2Nix {
     pname = "cmp-fuzzy-buffer";
-    version = "2022-08-30";
+    version = "2022-11-15";
     src = fetchFromGitHub {
       owner = "tzachar";
       repo = "cmp-fuzzy-buffer";
-      rev = "4758be3e346499bec0c7524dc3ebcc4cd60a7036";
-      sha256 = "0kcizsfm9gnpygf3bj520qbgcfag7rx3nxsc4xc7pnlgzm3cv1d2";
+      rev = "7fdc50bedc9fd0f3bc10a2110285e5715fe2de15";
+      sha256 = "0dj07y6z6p20qw2kc2js8rxwrwb48jrzgxh6jqd2410h4gw4zndf";
     };
     meta.homepage = "https://github.com/tzachar/cmp-fuzzy-buffer/";
   };
 
   cmp-fuzzy-path = buildVimPluginFrom2Nix {
     pname = "cmp-fuzzy-path";
-    version = "2022-10-25";
+    version = "2022-10-30";
     src = fetchFromGitHub {
       owner = "tzachar";
       repo = "cmp-fuzzy-path";
-      rev = "13fdf779f833571ae72ca3a540531cfa9e67e714";
-      sha256 = "1vcwgg9cvidgjwxgwma1lbcf070p9gr60ykalr26rzwd7mwm1xrj";
+      rev = "18ee8f81ab704f3f6656cfe52180dec6f7b497a7";
+      sha256 = "15yivkvjsx3yfgf5i485q4kxmfmqghfqsi869wifff7v0x6y9ghk";
     };
     meta.homepage = "https://github.com/tzachar/cmp-fuzzy-path/";
   };
@@ -1363,12 +1375,12 @@ final: prev:
 
   cmp-nvim-lsp = buildVimPluginFrom2Nix {
     pname = "cmp-nvim-lsp";
-    version = "2022-10-15";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "cmp-nvim-lsp";
-      rev = "3cf38d9c957e95c397b66f91967758b31be4abe6";
-      sha256 = "0l0cqrarrp3rj3pmjivjgh8f1cd3grrkz6pnzpwpwxj9amv6k6p2";
+      rev = "59224771f91b86d1de12570b4070fe4ad7cd1eeb";
+      sha256 = "1m8xs7fznf4kk6d96f2fxgwd7i5scd04pfy2s4qsb5gzh7q2ka9j";
     };
     meta.homepage = "https://github.com/hrsh7th/cmp-nvim-lsp/";
   };
@@ -1435,12 +1447,12 @@ final: prev:
 
   cmp-omni = buildVimPluginFrom2Nix {
     pname = "cmp-omni";
-    version = "2022-01-08";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "cmp-omni";
-      rev = "7a457f0c4f9e0801fee777d955eb841659aa3b84";
-      sha256 = "0f9mk0h3g1gg6lq9qnasi0liv8kvgc6rzfvgc9cflq5kkw97gjpw";
+      rev = "8457e4144ea2fc5efbadb7d22250d5ee8f8862ba";
+      sha256 = "01qqf8b26nrv6wdn99dcvrrbapvnxmf05vaxhjfxl610z86bsxar";
     };
     meta.homepage = "https://github.com/hrsh7th/cmp-omni/";
   };
@@ -1519,12 +1531,12 @@ final: prev:
 
   cmp-tabnine = buildVimPluginFrom2Nix {
     pname = "cmp-tabnine";
-    version = "2022-10-05";
+    version = "2022-11-13";
     src = fetchFromGitHub {
       owner = "tzachar";
       repo = "cmp-tabnine";
-      rev = "5a6d58badbfed69ee285983bf2cf5a17d957483a";
-      sha256 = "1dsbq0wcqf8c7y5ld74gqxbf2pdh28km7wdk37xvlqcvfk1kzmxs";
+      rev = "0f56fc14792602da05ac17517c755bee9645a9a7";
+      sha256 = "09c3jwrraq1m9yyiwsr1rh3a7ixilmx2v85nd1haaclb6dfd5x10";
     };
     meta.homepage = "https://github.com/tzachar/cmp-tabnine/";
   };
@@ -1543,12 +1555,12 @@ final: prev:
 
   cmp-treesitter = buildVimPluginFrom2Nix {
     pname = "cmp-treesitter";
-    version = "2022-10-02";
+    version = "2022-10-28";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "cmp-treesitter";
-      rev = "5f695e4173ad74a4c8dbbfd8990286464bf69293";
-      sha256 = "1l32k8fdmpg8lfh1qqmahash957izz9zr6gfjvfs5s4if0fl3f2r";
+      rev = "b40178b780d547bcf131c684bc5fd41af17d05f2";
+      sha256 = "076x4rfcvy81m28dpjaqcxrl3q9mhfz7qbwgkqsyndrasibsmlzr";
     };
     meta.homepage = "https://github.com/ray-x/cmp-treesitter/";
   };
@@ -1651,24 +1663,24 @@ final: prev:
 
   coc-fzf = buildVimPluginFrom2Nix {
     pname = "coc-fzf";
-    version = "2022-10-25";
+    version = "2022-11-14";
     src = fetchFromGitHub {
       owner = "antoinemadec";
       repo = "coc-fzf";
-      rev = "812b0a47d0c8b066684d75bc6f9ad84627f8579e";
-      sha256 = "1fr86avlyggkinai630pnji8d94wzsw14hb5d4yr8jn3rv9a8cmk";
+      rev = "403e69ff873cf4447adad0477db7b7563813f13a";
+      sha256 = "1njkvzy0q7r9ssq2994rc389isjwycs05lyxba5l9jsi7df7had9";
     };
     meta.homepage = "https://github.com/antoinemadec/coc-fzf/";
   };
 
   coc-lua = buildVimPluginFrom2Nix {
     pname = "coc-lua";
-    version = "2022-09-07";
+    version = "2022-11-08";
     src = fetchFromGitHub {
       owner = "josa42";
       repo = "coc-lua";
-      rev = "d5cae4cdff02f5e839ac7ec051bc477b5eb299cb";
-      sha256 = "0dx9x8bv65d4pgm2p3fggh167g3d7hjfic1ykpfxyqvrabrkppn2";
+      rev = "cdb82f176b13d4be5bed05c586ac1f141306a09a";
+      sha256 = "1cfxzrir827wa3mnbg3gjv4n0afk220r0v55ajqqy8r5aycd68w7";
     };
     meta.homepage = "https://github.com/josa42/coc-lua/";
   };
@@ -1685,18 +1697,6 @@ final: prev:
     meta.homepage = "https://github.com/neoclide/coc-neco/";
   };
 
-  coc-spell-checker = buildVimPluginFrom2Nix {
-    pname = "coc-spell-checker";
-    version = "2020-09-15";
-    src = fetchFromGitHub {
-      owner = "iamcco";
-      repo = "coc-spell-checker";
-      rev = "a76ebbff41fec61bb7a3c2556a670720db3f9ff9";
-      sha256 = "0i2znngg8jyxgns1kqi5168c4899wj2b8h8n14yy6pxgidhgqvzp";
-    };
-    meta.homepage = "https://github.com/iamcco/coc-spell-checker/";
-  };
-
   coc-svelte = buildVimPluginFrom2Nix {
     pname = "coc-svelte";
     version = "2022-03-14";
@@ -1723,12 +1723,12 @@ final: prev:
 
   coc-nvim = buildVimPluginFrom2Nix {
     pname = "coc.nvim";
-    version = "2022-10-27";
+    version = "2022-11-19";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc.nvim";
-      rev = "b422537936351881782d28755c97156b046156e4";
-      sha256 = "1kkyx4sxvsxg4f3pijhyvmzbp4yd2n8ay8iq3s6ramml5havjflw";
+      rev = "d227a0f0f15e1d9c7d3bb00628190ab153d13586";
+      sha256 = "1zsy0i6i758g9bxjg6s0lf2zn7i42z0i7nk8fjs0vhn2wsi2nakz";
     };
     meta.homepage = "https://github.com/neoclide/coc.nvim/";
   };
@@ -1807,12 +1807,12 @@ final: prev:
 
   comment-nvim = buildVimPluginFrom2Nix {
     pname = "comment.nvim";
-    version = "2022-10-14";
+    version = "2022-11-18";
     src = fetchFromGitHub {
       owner = "numtostr";
       repo = "comment.nvim";
-      rev = "ad7ffa8ed2279f1c8a90212c7d3851f9b783a3d6";
-      sha256 = "1gy2caam9g1zhnplj6d943p62n4kqgasi4wwgq1ry7gzlm2gi5v0";
+      rev = "5f01c1a89adafc52bf34e3bf690f80d9d726715d";
+      sha256 = "0qgb1vx5ipzcgglphhk9wck55hdscx6bdh4lr2y7f7wfxg54r3d6";
     };
     meta.homepage = "https://github.com/numtostr/comment.nvim/";
   };
@@ -1879,12 +1879,12 @@ final: prev:
 
   compiler-explorer-nvim = buildVimPluginFrom2Nix {
     pname = "compiler-explorer.nvim";
-    version = "2022-10-20";
+    version = "2022-11-07";
     src = fetchFromGitHub {
       owner = "krady21";
       repo = "compiler-explorer.nvim";
-      rev = "70476109b783123a3a5cc1294cb7e0f2921d9f51";
-      sha256 = "07pxg4k6sinhwg6n5xjk2by3pmfm545ybji9map81iqw2m3k2v3h";
+      rev = "ab94958b819916a40770f9088db3a33336545dce";
+      sha256 = "1pf26fw667rj5fzjrx3zkpz247i7y78wvrrl3b04jz581s4x5rrk";
     };
     meta.homepage = "https://github.com/krady21/compiler-explorer.nvim/";
   };
@@ -1951,12 +1951,12 @@ final: prev:
 
   conflict-marker-vim = buildVimPluginFrom2Nix {
     pname = "conflict-marker.vim";
-    version = "2021-10-18";
+    version = "2022-11-01";
     src = fetchFromGitHub {
       owner = "rhysd";
       repo = "conflict-marker.vim";
-      rev = "22b6133116795ea8fb6705ddca981aa8faecedda";
-      sha256 = "0rh3c1sl145hwyh6idwgyqbrgnwvd91spxc5qs2hfr1xsh53ssx2";
+      rev = "11a4d42244755505b66b15cd4496a150432eb5e3";
+      sha256 = "00sdnhr7fnj27sdjj88cypbw5zp264z290a0xfyp9gbmdnz1nlgx";
     };
     meta.homepage = "https://github.com/rhysd/conflict-marker.vim/";
   };
@@ -1999,36 +1999,36 @@ final: prev:
 
   copilot-vim = buildVimPluginFrom2Nix {
     pname = "copilot.vim";
-    version = "2022-10-12";
+    version = "2022-11-09";
     src = fetchFromGitHub {
       owner = "github";
       repo = "copilot.vim";
-      rev = "8ba151a20bc1d7a5c72e592e51bfc925d5bbb837";
-      sha256 = "0wr703fg7vvygx8iyym8jqqqm51nwffkz8aldma7ahkc5vwi2v0s";
+      rev = "5a411d19ce7334ab10ba12516743fc25dad363fa";
+      sha256 = "1v72i3f1w7q481grffm2grb9m11qiazs85xq3j89yiqh6jvvpvzh";
     };
     meta.homepage = "https://github.com/github/copilot.vim/";
   };
 
   coq-artifacts = buildVimPluginFrom2Nix {
     pname = "coq.artifacts";
-    version = "2022-10-28";
+    version = "2022-11-19";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "coq.artifacts";
-      rev = "ae5449e1cefa352a62e863a5e647de10bfa01145";
-      sha256 = "16g5fz7z7rm0qgk5qlghl969x2q534mv3njl7hsh7g6gwjzr4hv5";
+      rev = "3ba5d159c41915cb882781bd06f26f351338e54c";
+      sha256 = "0kkkj677z3p89856hyhblx4zmzqyrllgfkv6glvj0cssyxs28h69";
     };
     meta.homepage = "https://github.com/ms-jpq/coq.artifacts/";
   };
 
   coq-thirdparty = buildVimPluginFrom2Nix {
     pname = "coq.thirdparty";
-    version = "2022-10-28";
+    version = "2022-11-19";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "coq.thirdparty";
-      rev = "7d3d68df15a1123b14af4035a2eafdc41854c2d1";
-      sha256 = "16qhapgkcbpqdxmij49jp12xpkgpgm6kyk9ld8dvrj9vdbjq323n";
+      rev = "a6a52bc30497222e95f81b99df5bc4b999f75ba0";
+      sha256 = "0swxylqp3bn7abxfqs66pnhidxqzbngl14cv2373603xmbflkfj2";
     };
     meta.homepage = "https://github.com/ms-jpq/coq.thirdparty/";
   };
@@ -2047,12 +2047,12 @@ final: prev:
 
   coq_nvim = buildVimPluginFrom2Nix {
     pname = "coq_nvim";
-    version = "2022-10-28";
+    version = "2022-11-19";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "coq_nvim";
-      rev = "fc0081034a90a5e9d901b3269185b9a46b836ed5";
-      sha256 = "1gp25949v6a8zlp10aspv2rh4pizbjxpjyk0j5qvfv88fcv0pmzl";
+      rev = "07d1b5582e0b327becc9bfad7979699caf1da68a";
+      sha256 = "109iddmkr5jw583jqs38vdskbsfm63ph489q6pyfvpf68a6jr1nc";
     };
     meta.homepage = "https://github.com/ms-jpq/coq_nvim/";
   };
@@ -2083,12 +2083,12 @@ final: prev:
 
   crates-nvim = buildVimPluginFrom2Nix {
     pname = "crates.nvim";
-    version = "2022-09-25";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "saecki";
       repo = "crates.nvim";
-      rev = "1dffccc0a95f656ebe00cacb4de282473430c5a1";
-      sha256 = "0riwlbd5sxg5r9zh8b0i3nwls9rdnwxqmb51fw3ic53j1ychs87c";
+      rev = "e11e27864428a68b25e43b833e9081e350a38d96";
+      sha256 = "15yma6waw0914i3z3ck50ndris4s7b9297lcjzsb7vxwkfnrkn9i";
     };
     meta.homepage = "https://github.com/saecki/crates.nvim/";
   };
@@ -2191,12 +2191,12 @@ final: prev:
 
   dashboard-nvim = buildVimPluginFrom2Nix {
     pname = "dashboard-nvim";
-    version = "2022-10-08";
+    version = "2022-10-29";
     src = fetchFromGitHub {
       owner = "glepnir";
       repo = "dashboard-nvim";
-      rev = "bd7163f56ac715a6d687737ea144731ac6ce8478";
-      sha256 = "0rbxs7bj0vhjrwmjlw74shskgy5igcfyn4iddrk1qc3kryaakdhw";
+      rev = "1aab263f4773106abecae06e684f762d20ef587e";
+      sha256 = "1w7z01r7pakz6jxajp0j3b71dcl2k7sh6g8x07kb0z1ir1lcgfh6";
     };
     meta.homepage = "https://github.com/glepnir/dashboard-nvim/";
   };
@@ -2373,12 +2373,12 @@ final: prev:
 
   deoplete-jedi = buildVimPluginFrom2Nix {
     pname = "deoplete-jedi";
-    version = "2020-12-21";
+    version = "2022-11-15";
     src = fetchFromGitHub {
       owner = "deoplete-plugins";
       repo = "deoplete-jedi";
-      rev = "43058915007d92dc167b84dd5b8ada2d2a057a82";
-      sha256 = "0qh43mwzjsn67id6qs96p9lw1fjsgdgqmks0161hfgvbyixx2b3y";
+      rev = "4a13930764f3fbda1c06d7312d8ce2ff595d3274";
+      sha256 = "0d93vzcizi0k07iwhnrhgp9isydpl1lbik2afnbqa6660m619a2n";
     };
     meta.homepage = "https://github.com/deoplete-plugins/deoplete-jedi/";
   };
@@ -2409,12 +2409,12 @@ final: prev:
 
   deoplete-lsp = buildVimPluginFrom2Nix {
     pname = "deoplete-lsp";
-    version = "2022-08-02";
+    version = "2022-10-31";
     src = fetchFromGitHub {
       owner = "deoplete-plugins";
       repo = "deoplete-lsp";
-      rev = "44178ee1dd02baa0958677cd8ec4c6e431ec7d67";
-      sha256 = "0bwdz4f8rwqh15wf8vfildchg2ny24c0p6zm8y069mz0m1n9c3l6";
+      rev = "09a476e0301c7253e7cf459cea605878c51c370d";
+      sha256 = "1px4wnnd3fg5ri5m57l57d296zks6xardyv6fwny22mnx6nfhngl";
     };
     meta.homepage = "https://github.com/deoplete-plugins/deoplete-lsp/";
   };
@@ -2505,12 +2505,12 @@ final: prev:
 
   deoplete-nvim = buildVimPluginFrom2Nix {
     pname = "deoplete.nvim";
-    version = "2022-09-28";
+    version = "2022-11-18";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deoplete.nvim";
-      rev = "14578f1d0c7ed8faca7e640104840b7eaa1c35ee";
-      sha256 = "1gwq7nhd90ifh1gys2jvrq2s8521pyz7w3nsr2pmnv64h3yl1f2f";
+      rev = "4e91c4d3d0aa7630bea7d7b7f5ac259356c1959d";
+      sha256 = "161racr3vhnh9j06wkmhmigkjmcw53agflh6znl4gn6sx18s4amc";
     };
     meta.homepage = "https://github.com/Shougo/deoplete.nvim/";
   };
@@ -2577,12 +2577,12 @@ final: prev:
 
   diffview-nvim = buildVimPluginFrom2Nix {
     pname = "diffview.nvim";
-    version = "2022-10-26";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "sindrets";
       repo = "diffview.nvim";
-      rev = "94a3422415a092db1f2e00af5bd7db4ec1c6b8d7";
-      sha256 = "01cg3dhwfzjmpz8sh3qppr1qdyrvvpiax5dfzqq7bs8jk6niyh3p";
+      rev = "f32a7224096cca11c3c91b0dd412808e63f3d720";
+      sha256 = "0a5dwjqnnpn05mvnz7khgy2mzqrxc0fbhm2iz8dwj5r4zjx1wg38";
     };
     meta.homepage = "https://github.com/sindrets/diffview.nvim/";
   };
@@ -2601,36 +2601,36 @@ final: prev:
 
   doki-theme-vim = buildVimPluginFrom2Nix {
     pname = "doki-theme-vim";
-    version = "2022-08-06";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "doki-theme";
       repo = "doki-theme-vim";
-      rev = "6008ae292f0d8b21505f56402cbe7906e4c9c7d6";
-      sha256 = "02hclsqqj78pa12yf1xj0m19nnkkcwfz3v866d78jk4sniwh2sqw";
+      rev = "2d1345239ae7327339bcbd645425ec993bc855d1";
+      sha256 = "1p2vjxry2bf9avxnf3hfbvxz8h37gh9rsdw4km3v42aphk49lvr0";
     };
     meta.homepage = "https://github.com/doki-theme/doki-theme-vim/";
   };
 
   dracula-nvim = buildVimPluginFrom2Nix {
     pname = "dracula.nvim";
-    version = "2022-10-26";
+    version = "2022-11-10";
     src = fetchFromGitHub {
       owner = "Mofiqul";
       repo = "dracula.nvim";
-      rev = "55f24e76a978c73c63d22951b0700823f21253b7";
-      sha256 = "0lkc0589fpf32c13hmzpi04skw0jp2hsl022d385znxm7x51n1v3";
+      rev = "fe57c180fd7fdea39bc0d85bac9252aa6a8645e8";
+      sha256 = "1jac9pmg9sn28x62xx6n5brzycmgfsb825dfsh6mkny425705zsm";
     };
     meta.homepage = "https://github.com/Mofiqul/dracula.nvim/";
   };
 
   dressing-nvim = buildVimPluginFrom2Nix {
     pname = "dressing.nvim";
-    version = "2022-10-03";
+    version = "2022-11-18";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "dressing.nvim";
-      rev = "12b808a6867e8c38015488ad6cee4e3d58174182";
-      sha256 = "037sxvq9ywdnmy9f2gw89q52a76rmg4gwbn62i669ca95wvkhzxa";
+      rev = "7894d5bc504deacf37f0a479a53fa4746fe30a45";
+      sha256 = "1jw8y86lq7k9d1ss4dg3ch1ij8c3b196g8giz881jipdkjy9q7w1";
     };
     meta.homepage = "https://github.com/stevearc/dressing.nvim/";
   };
@@ -2649,24 +2649,24 @@ final: prev:
 
   edge = buildVimPluginFrom2Nix {
     pname = "edge";
-    version = "2022-09-09";
+    version = "2022-11-13";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "edge";
-      rev = "a5319778816f07687fc30efebfc415814afb50a6";
-      sha256 = "10s7jfvx38ry0ci64mynigvspjzmhf6f9sgfki3rrb1j0b37wzj9";
+      rev = "b0b61bc4b6c94ea487fee0e9e33725c45711e32f";
+      sha256 = "1wpai52r4486fpz8ys5lv71sj2kmjhhn3knj01awrincgzkql7w1";
     };
     meta.homepage = "https://github.com/sainnhe/edge/";
   };
 
   editorconfig-vim = buildVimPluginFrom2Nix {
     pname = "editorconfig-vim";
-    version = "2022-06-20";
+    version = "2022-11-12";
     src = fetchFromGitHub {
       owner = "editorconfig";
       repo = "editorconfig-vim";
-      rev = "d354117b72b3b43b75a29b8e816c0f91af10efe9";
-      sha256 = "12qvximadgb9z2i0hgvj4p4nxaqk0aqbnaqpafpma73xyb23hx5v";
+      rev = "30ddc057f71287c3ac2beca876e7ae6d5abe26a0";
+      sha256 = "1pscf8a3fd79gzqm91gb22pmd44ijahyim9f8vq94c99silyvrjh";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/editorconfig/editorconfig-vim/";
@@ -2674,12 +2674,12 @@ final: prev:
 
   editorconfig-nvim = buildVimPluginFrom2Nix {
     pname = "editorconfig.nvim";
-    version = "2022-09-18";
+    version = "2022-11-19";
     src = fetchFromGitHub {
       owner = "gpanders";
       repo = "editorconfig.nvim";
-      rev = "7d10fe6bc340fd783c0b61cf627dd235100284db";
-      sha256 = "04rvlpxvjjj842xlmfz93ysmdzz8yv77hii0ngmcaxhrr4yyiqpr";
+      rev = "2af880947129f1ab776b732a4eecb92528472ef5";
+      sha256 = "1rv70658l6f047qyqyfb4fsgypzsf8bgl4h0wi1k29ac888qdkiw";
     };
     meta.homepage = "https://github.com/gpanders/editorconfig.nvim/";
   };
@@ -2735,12 +2735,12 @@ final: prev:
 
   everforest = buildVimPluginFrom2Nix {
     pname = "everforest";
-    version = "2022-10-27";
+    version = "2022-11-13";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "everforest";
-      rev = "06fda351738668e1357b3670875a645772aa7862";
-      sha256 = "197h4jfidxd12rgpg1qpnihq0w8jifc0zw5wngmnxazq1z815yks";
+      rev = "03dec15a3b2c05758d8969ed1d736fb682dc88ee";
+      sha256 = "09yrzs23p9g9cg4ycppaz1rqmhy5a2i8iwinb35i53f8z6qycl2w";
     };
     meta.homepage = "https://github.com/sainnhe/everforest/";
   };
@@ -2783,24 +2783,24 @@ final: prev:
 
   fcitx-vim = buildVimPluginFrom2Nix {
     pname = "fcitx.vim";
-    version = "2021-10-26";
+    version = "2022-11-15";
     src = fetchFromGitHub {
       owner = "lilydjwg";
       repo = "fcitx.vim";
-      rev = "c689083ffb1d1076dd3fb9b587fd3c6d9f9d6b5a";
-      sha256 = "1hcg6lkgnx87qnqj8qc3gvpcfyav2v79mi5mjkjqkfw2f339gc5c";
+      rev = "dc95d0301b61a7db1f1badfe743fb627ea6e06d1";
+      sha256 = "1z6n9ax8mnr9p1j64hrl463kqnaf7gc08975j5n7c77rrz23bd1q";
     };
     meta.homepage = "https://github.com/lilydjwg/fcitx.vim/";
   };
 
   feline-nvim = buildVimPluginFrom2Nix {
     pname = "feline.nvim";
-    version = "2022-10-26";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "feline-nvim";
       repo = "feline.nvim";
-      rev = "0d790837fc7ada5817176acf92fc168eeca86e5a";
-      sha256 = "0xg3p1n9v9psa3c2qhzhxjkrr8d5xz35riady0q0s5llbanvabg9";
+      rev = "6d4e3f934bffaa1893a690cd9b8f8b584ef0a7ea";
+      sha256 = "10bwbw2fhmyhscm135jd4qc091xzqb155y2bbn7ms35jrwvaz0z4";
     };
     meta.homepage = "https://github.com/feline-nvim/feline.nvim/";
   };
@@ -2819,12 +2819,12 @@ final: prev:
 
   fern-vim = buildVimPluginFrom2Nix {
     pname = "fern.vim";
-    version = "2022-10-18";
+    version = "2022-11-07";
     src = fetchFromGitHub {
       owner = "lambdalisue";
       repo = "fern.vim";
-      rev = "d0ada5bb5981d154e8c63a6eac7cca58750280bb";
-      sha256 = "06pli4rpalr5bgk33inj2dk278rjjsxyp2sc2j7sdcgy5qzcaf90";
+      rev = "908a3db77d5a061d98a45c36f8483886a8868c90";
+      sha256 = "0fbz3317bilp8iznrjm6vzqgby20fq11nha5c2wzps92f4bcyp96";
     };
     meta.homepage = "https://github.com/lambdalisue/fern.vim/";
   };
@@ -2928,24 +2928,24 @@ final: prev:
 
   flutter-tools-nvim = buildVimPluginFrom2Nix {
     pname = "flutter-tools.nvim";
-    version = "2022-09-08";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "flutter-tools.nvim";
-      rev = "15b770dcdca7ad2dab11cdf0dfdca34f04739471";
-      sha256 = "13a7aa90qlj0lqxhgr9kclpqlj6156hs603qdg9hvhj023kan630";
+      rev = "b666a057108c7655882cbc64217222228aad68da";
+      sha256 = "0m2zmpcnv3zbjq83v0qfbqa7wvmhdscrsyfs9kr0yq3rfb7bmpzz";
     };
     meta.homepage = "https://github.com/akinsho/flutter-tools.nvim/";
   };
 
   formatter-nvim = buildVimPluginFrom2Nix {
     pname = "formatter.nvim";
-    version = "2022-10-25";
+    version = "2022-11-08";
     src = fetchFromGitHub {
       owner = "mhartington";
       repo = "formatter.nvim";
-      rev = "1646b0bdc1c7e7d746aa0556d79d7be2394caa7b";
-      sha256 = "1f6xc3lbb9yw0dikdigkgfpax9cf83kk2mcq4bx74n722bz5h18z";
+      rev = "804b96c0b7fea538af1a0a31daa2dabed0b16ad4";
+      sha256 = "13wxjyzr1hq8iaa85yxqsa53ja4ccrq395q2gsk3g4vvjxcsw9wy";
     };
     meta.homepage = "https://github.com/mhartington/formatter.nvim/";
   };
@@ -2964,12 +2964,12 @@ final: prev:
 
   friendly-snippets = buildVimPluginFrom2Nix {
     pname = "friendly-snippets";
-    version = "2022-10-28";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "rafamadriz";
       repo = "friendly-snippets";
-      rev = "c93311fbcc840210a2c0db574177d84a35a2c9c1";
-      sha256 = "1kisjlwa2nad9xcwzal1yfdnwpcklkpz2ks6gpqqjfarnxw25c16";
+      rev = "ef8caa5002e53977779ce8ab18a9c393ed624386";
+      sha256 = "1kb3gh0qlbc75qkwy3ybhgsm9gcwbdba75ffhpcbifd6s6rdfj0n";
     };
     meta.homepage = "https://github.com/rafamadriz/friendly-snippets/";
   };
@@ -3012,12 +3012,12 @@ final: prev:
 
   fuzzy-nvim = buildVimPluginFrom2Nix {
     pname = "fuzzy.nvim";
-    version = "2022-02-20";
+    version = "2022-11-15";
     src = fetchFromGitHub {
       owner = "tzachar";
       repo = "fuzzy.nvim";
-      rev = "d5fee69b54ef400f0ccedf37917c4782e8929424";
-      sha256 = "1xnmwmbrjsfj3v4vk57gcf4l3wl9n8jks50ds8gaawz5bpy54yff";
+      rev = "04b3d969002b5fd2db23a33aaf33a13a533cbdbd";
+      sha256 = "15c3bymh1pm4d5h3ik9m7bz56ggrfzzbmh6sn5bkssmrazqphimk";
     };
     meta.homepage = "https://github.com/tzachar/fuzzy.nvim/";
   };
@@ -3072,12 +3072,12 @@ final: prev:
 
   fzf-lua = buildVimPluginFrom2Nix {
     pname = "fzf-lua";
-    version = "2022-10-23";
+    version = "2022-11-10";
     src = fetchFromGitHub {
       owner = "ibhagwan";
       repo = "fzf-lua";
-      rev = "abc3aed243115dc18fc41acd49b9037655a561af";
-      sha256 = "0s7p8blmlwzxy4lcb8rww6jfb3ws2y1b9pmf5czw867kd5r084b7";
+      rev = "0c6e614eeeb34ac9a7e1143861435609d1c65ba1";
+      sha256 = "1mczan3wsdb5in33xdkz98x7s23pcw1r7403sd1mdahj72lqbslz";
     };
     meta.homepage = "https://github.com/ibhagwan/fzf-lua/";
   };
@@ -3168,12 +3168,12 @@ final: prev:
 
   git-blame-nvim = buildVimPluginFrom2Nix {
     pname = "git-blame.nvim";
-    version = "2022-10-23";
+    version = "2022-11-05";
     src = fetchFromGitHub {
       owner = "f-person";
       repo = "git-blame.nvim";
-      rev = "7c498272d0f97c583fc3a92f196231a90455eb19";
-      sha256 = "0fm6qxqb6yq62lxz8iz0kc07xn6951zh2xqird7prp7vdvh1d78q";
+      rev = "d3afb1c57918720548effb42edec530232436378";
+      sha256 = "1dwnkrp1h452129xsa1jszrw38as0czhiykf0fvqvfa5yhsq0aga";
     };
     meta.homepage = "https://github.com/f-person/git-blame.nvim/";
   };
@@ -3228,12 +3228,12 @@ final: prev:
 
   gitsigns-nvim = buildNeovimPluginFrom2Nix {
     pname = "gitsigns.nvim";
-    version = "2022-10-28";
+    version = "2022-11-09";
     src = fetchFromGitHub {
       owner = "lewis6991";
       repo = "gitsigns.nvim";
-      rev = "6321c884b1a462918b1a7c7c016bcc2f0944832c";
-      sha256 = "0s2frxp25pf7fig25g5p99pq4hbhhhqlm7727h3lcwnjy60jfb59";
+      rev = "9ff7dfb051e5104088ff80556203634fc8f8546d";
+      sha256 = "0cfssyyhcjndwr2xlk91rxzyir4ng5hk1f4fgij5hgrhhh3wgjdv";
     };
     meta.homepage = "https://github.com/lewis6991/gitsigns.nvim/";
   };
@@ -3372,24 +3372,24 @@ final: prev:
 
   gruvbox-material = buildVimPluginFrom2Nix {
     pname = "gruvbox-material";
-    version = "2022-09-11";
+    version = "2022-11-13";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "gruvbox-material";
-      rev = "2807579bd0a9981575dbb518aa65d3206f04ea02";
-      sha256 = "1avdm1gblf96l0n52w8sqdcw30jc6hmjf5wy55xn26v4jmbzz6zw";
+      rev = "66f66f64788f66c8101aa35344dd005143356b6b";
+      sha256 = "1issvqjvqix7c5iwlyffl52qpiz2c997pddkrwy4rmd8d2n0yclh";
     };
     meta.homepage = "https://github.com/sainnhe/gruvbox-material/";
   };
 
   gruvbox-nvim = buildVimPluginFrom2Nix {
     pname = "gruvbox.nvim";
-    version = "2022-10-27";
+    version = "2022-11-14";
     src = fetchFromGitHub {
       owner = "ellisonleao";
       repo = "gruvbox.nvim";
-      rev = "2fc4980dfa17e76f7c7e963caa69599051d2e75e";
-      sha256 = "0wk6bdf11lyrmm7z5bidsjphn76qgwdgjdndx802gn1dghjljp0v";
+      rev = "5ac400bbd7bbe5d5911a79c45347df6d3afd388e";
+      sha256 = "0r3bqlw9i1m1x5anmjcaxgx6iscd3347bc7yp47vg9bywwa4if5d";
     };
     meta.homepage = "https://github.com/ellisonleao/gruvbox.nvim/";
   };
@@ -3434,10 +3434,10 @@ final: prev:
     pname = "hare.vim";
     version = "2022-10-10";
     src = fetchgit {
-            url = "https://git.sr.ht/~sircmpwn/hare.vim";
-            rev = "267fb4dac4e8cd4df1d9b57fa587ce718f5fc256";
-            sha256 = "1spl17vd8w5k5xgqvmr80fi5samzhxfcqnkmzpqjk2sf5z88k80k";
-        };
+      url = "https://git.sr.ht/~sircmpwn/hare.vim";
+      rev = "267fb4dac4e8cd4df1d9b57fa587ce718f5fc256";
+      sha256 = "1spl17vd8w5k5xgqvmr80fi5samzhxfcqnkmzpqjk2sf5z88k80k";
+    };
     meta.homepage = "https://git.sr.ht/~sircmpwn/hare.vim";
   };
 
@@ -3455,12 +3455,12 @@ final: prev:
 
   haskell-tools-nvim = buildVimPluginFrom2Nix {
     pname = "haskell-tools.nvim";
-    version = "2022-10-26";
+    version = "2022-11-19";
     src = fetchFromGitHub {
       owner = "MrcJkb";
       repo = "haskell-tools.nvim";
-      rev = "f7f740901a667322bb0f70a50d405448afdf40c1";
-      sha256 = "1ncfpw0fyvg6xbvac6j0cwz0258q1hkvf5ci4ygp7apppymj5h80";
+      rev = "146a4427391df19001cc1d9f9db8f7f31fbce2a9";
+      sha256 = "1306hq56lqf7cid3dhfcdbsl6chxw0dxqi70d3z2ifzakyy8anfn";
     };
     meta.homepage = "https://github.com/MrcJkb/haskell-tools.nvim/";
   };
@@ -3513,6 +3513,17 @@ final: prev:
     meta.homepage = "https://github.com/Yggdroot/hiPairs/";
   };
 
+  himalaya-vim = buildVimPluginFrom2Nix {
+    pname = "himalaya-vim";
+    version = "2022-10-09";
+    src = fetchgit {
+      url = "https://git.sr.ht/~soywod/himalaya-vim";
+      rev = "747ff2a6055839cb5b403b540883515af37b7117";
+      sha256 = "05d8nfzqp96s05agj4fd5r2fckdsxacl0qvlk9dhxz4dh8kgsqyi";
+    };
+    meta.homepage = "https://git.sr.ht/~soywod/himalaya-vim";
+  };
+
   hlint-refactor-vim = buildVimPluginFrom2Nix {
     pname = "hlint-refactor-vim";
     version = "2015-12-05";
@@ -3551,36 +3562,36 @@ final: prev:
 
   hop-nvim = buildVimPluginFrom2Nix {
     pname = "hop.nvim";
-    version = "2022-10-09";
+    version = "2022-10-30";
     src = fetchFromGitHub {
       owner = "phaazon";
       repo = "hop.nvim";
-      rev = "6591b3656b75ff313cc38dc662a7ee8f75f1c165";
-      sha256 = "1y6jvl8q8j46zy1c18xi0hfdbma2cq7g3k0ymw05qghvvjyv65bq";
+      rev = "90db1b2c61b820e230599a04fedcd2679e64bd07";
+      sha256 = "18akjbplhp27di5l0bi9yd2haysgvw8yv3yk6cgwbizmk6inb5ji";
     };
     meta.homepage = "https://github.com/phaazon/hop.nvim/";
   };
 
   hotpot-nvim = buildVimPluginFrom2Nix {
     pname = "hotpot.nvim";
-    version = "2022-10-16";
+    version = "2022-11-12";
     src = fetchFromGitHub {
       owner = "rktjmp";
       repo = "hotpot.nvim";
-      rev = "4dff680b2bc31b1b909545f782bc757831f652c8";
-      sha256 = "1bf80sascch39sc7vwb50ac6y0nxpqlwy8bkyhrfmj68mxil9ir4";
+      rev = "562e3e0e04c092c43a9cddffae4c9a748afb186f";
+      sha256 = "0gvr9fwbc22m2rfwz3ficlrk5yk0q4zaaplma4l5zarrxswv9csb";
     };
     meta.homepage = "https://github.com/rktjmp/hotpot.nvim/";
   };
 
   hydra-nvim = buildVimPluginFrom2Nix {
     pname = "hydra.nvim";
-    version = "2022-10-02";
+    version = "2022-11-19";
     src = fetchFromGitHub {
       owner = "anuvyklack";
       repo = "hydra.nvim";
-      rev = "fa41a971765d4cce9c39185289f5a10894f66dbd";
-      sha256 = "198bkw3y3253wjamvxxkdjr54nv1bkin148v554b47yv5w156zz1";
+      rev = "96119af8ebaf0f55567108638c662784d612eb97";
+      sha256 = "0zix3lw4sm1j386vrbjfcxnmyj61g0qlz8y260gxhsc3vd2f5jdj";
     };
     meta.homepage = "https://github.com/anuvyklack/hydra.nvim/";
   };
@@ -3599,11 +3610,11 @@ final: prev:
 
   iceberg-vim = buildVimPluginFrom2Nix {
     pname = "iceberg.vim";
-    version = "2022-08-17";
+    version = "2022-11-15";
     src = fetchFromGitHub {
       owner = "cocopon";
       repo = "iceberg.vim";
-      rev = "61efc9c61dec54076c093af0cff304e30b0c3a07";
+      rev = "a94c2a9110986cbc92d2c059ee65b52b70a4416d";
       sha256 = "1aiarshkw8cs3kjfdj3v30294i7dj1x7pmv9j83wnssj7i4y6kp5";
     };
     meta.homepage = "https://github.com/cocopon/iceberg.vim/";
@@ -3635,12 +3646,12 @@ final: prev:
 
   impatient-nvim = buildVimPluginFrom2Nix {
     pname = "impatient.nvim";
-    version = "2022-08-19";
+    version = "2022-11-12";
     src = fetchFromGitHub {
       owner = "lewis6991";
       repo = "impatient.nvim";
-      rev = "b842e16ecc1a700f62adb9802f8355b99b52a5a6";
-      sha256 = "1q4ym3n98l3njs8qhiabvxc576xr7a5riykfcw6mh6vjkgs26jyd";
+      rev = "d3dd30ff0b811756e735eb9020609fa315bfbbcc";
+      sha256 = "04wv6hzmdwcd563kl68n33yyyydhr0rdbjc93874dlh2nlfm7ixn";
     };
     meta.homepage = "https://github.com/lewis6991/impatient.nvim/";
   };
@@ -3852,12 +3863,12 @@ final: prev:
 
   jsonc-vim = buildVimPluginFrom2Nix {
     pname = "jsonc.vim";
-    version = "2021-12-20";
+    version = "2022-10-31";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "jsonc.vim";
-      rev = "b87595ba7f3fa4bdcc8803a2ec72574719fc9fd6";
-      sha256 = "02bgqxi20lmq97s9nnsb1mmjp45fh5a9pbhbs6hl2zmb03spbvpi";
+      rev = "6fb92460f9e50505c9b93181a00f27d10c9b383f";
+      sha256 = "1z2zi951xgssq1d343b0rhcj1xn4qwvv1b2wzvy8jg7ak9pgrl1a";
     };
     meta.homepage = "https://github.com/neoclide/jsonc.vim/";
   };
@@ -3876,12 +3887,12 @@ final: prev:
 
   kanagawa-nvim = buildVimPluginFrom2Nix {
     pname = "kanagawa.nvim";
-    version = "2022-10-27";
+    version = "2022-11-09";
     src = fetchFromGitHub {
       owner = "rebelot";
       repo = "kanagawa.nvim";
-      rev = "70d3139aaa8e59f3304ca7860e35fd6081b6caa5";
-      sha256 = "1rizw9s24m24a4rpq0wl5ca0h6m0ykcgr54arv638pkjyg3pqf7l";
+      rev = "52cfa270317121672c1416c725361fa653684de0";
+      sha256 = "10wz64aks52bmhxgg0hv84zmbqfbrh9sfjcsa8ygiq38fc568g1r";
     };
     meta.homepage = "https://github.com/rebelot/kanagawa.nvim/";
   };
@@ -3900,12 +3911,12 @@ final: prev:
 
   kommentary = buildVimPluginFrom2Nix {
     pname = "kommentary";
-    version = "2022-05-27";
+    version = "2022-11-06";
     src = fetchFromGitHub {
       owner = "b3nj5m1n";
       repo = "kommentary";
-      rev = "533d768a140b248443da8346b88e88db704212ab";
-      sha256 = "1lgwvpiddvxlcakypa4cj5wvlw0fwcbjpim0rav7cgh15vzibwk0";
+      rev = "981d56735ecc13e3c52b2d0cae269f5b9dcfe8ff";
+      sha256 = "1pnxfarr1znv5zvy4pnapalyqg0pvnrrw5yk7ygyavfzzch1kzf0";
     };
     meta.homepage = "https://github.com/b3nj5m1n/kommentary/";
   };
@@ -3960,36 +3971,36 @@ final: prev:
 
   lazy-lsp-nvim = buildVimPluginFrom2Nix {
     pname = "lazy-lsp.nvim";
-    version = "2022-10-20";
+    version = "2022-11-02";
     src = fetchFromGitHub {
       owner = "dundalek";
       repo = "lazy-lsp.nvim";
-      rev = "20f66b6a1ce6b22b3c02d0f53c15dfa7c6a9f3c8";
-      sha256 = "1yigp01qk2ljzb5sskgqic7igxwa4q8rkg4ga9czb3w4f84kpb09";
+      rev = "7866efc6e5bef78e7f14ab2c0118c1fed15947c9";
+      sha256 = "1d9qk7bffj2ppyd6m6r8g5ip804kqjn64a8k7ckd6jqxfl9w3xga";
     };
     meta.homepage = "https://github.com/dundalek/lazy-lsp.nvim/";
   };
 
   lazygit-nvim = buildVimPluginFrom2Nix {
     pname = "lazygit.nvim";
-    version = "2022-10-25";
+    version = "2022-11-05";
     src = fetchFromGitHub {
       owner = "kdheepak";
       repo = "lazygit.nvim";
-      rev = "c7a8bfb6062e57f3f7cc735720893f2706e6fc8e";
-      sha256 = "1hn6llvqbmghjjygy9vwx3y31sra647f3ys9626c5zn4x7a09kgh";
+      rev = "32bffdebe273e571588f25c8a708ca7297928617";
+      sha256 = "1iw9297di1jdwf1kqj14fpfw0w9gdh5mr0i1s41gl7j16pbpn9f6";
     };
     meta.homepage = "https://github.com/kdheepak/lazygit.nvim/";
   };
 
   lean-nvim = buildVimPluginFrom2Nix {
     pname = "lean.nvim";
-    version = "2022-10-27";
+    version = "2022-10-29";
     src = fetchFromGitHub {
       owner = "Julian";
       repo = "lean.nvim";
-      rev = "44bc45ad6cdf697b6e2f04d844804aed6c133d06";
-      sha256 = "1d1lc7qjz67b6zkamdhbwvd9nc4ycklc743d5r1qhan1994mi61y";
+      rev = "60d71f31b895cc1a1cb319f780df44de7664f0ee";
+      sha256 = "1x1rdcxh2ga35x527f7csp0sfif7zrb8j4q1lsmvvzvi41y6rq70";
     };
     meta.homepage = "https://github.com/Julian/lean.nvim/";
   };
@@ -4020,24 +4031,24 @@ final: prev:
 
   leap-nvim = buildVimPluginFrom2Nix {
     pname = "leap.nvim";
-    version = "2022-10-23";
+    version = "2022-11-19";
     src = fetchFromGitHub {
       owner = "ggandor";
       repo = "leap.nvim";
-      rev = "847a1dcfb1a3a576860151754d95fb3b0014663e";
-      sha256 = "16dg98qs0531hfcvg6mfb643nivgsx6q4jz8yl2cqd89c0mkfgq4";
+      rev = "cd90202232806ec2dab9c76c7287bd2190a17459";
+      sha256 = "0fk686d4hs7ld4a85gfhqmd4nk9f951bjjhkknbkkq0rijdrpysa";
     };
     meta.homepage = "https://github.com/ggandor/leap.nvim/";
   };
 
   legendary-nvim = buildVimPluginFrom2Nix {
     pname = "legendary.nvim";
-    version = "2022-10-26";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "mrjones2014";
       repo = "legendary.nvim";
-      rev = "32b6ffbebe88751ae07812a93d44b833fdf2d00e";
-      sha256 = "0mkixp8sv85x7zfs3sm8k8xmnqvxhh0pz58kmfadkjw1vxs09aiy";
+      rev = "3b643d7bb4a521e0c9f0fcd00f299b1432441eb8";
+      sha256 = "1mq7c382bzd8kwqlx2lljqkd96cr0yz9zha2zyg6vz4l60aa53h3";
     };
     meta.homepage = "https://github.com/mrjones2014/legendary.nvim/";
   };
@@ -4068,12 +4079,12 @@ final: prev:
 
   lexima-vim = buildVimPluginFrom2Nix {
     pname = "lexima.vim";
-    version = "2022-10-05";
+    version = "2022-11-18";
     src = fetchFromGitHub {
       owner = "cohama";
       repo = "lexima.vim";
-      rev = "6be26d4c4a06228f72329b424f6f92d860de611d";
-      sha256 = "0nn3r7b513jhg9l0fa94rmxpdkwg9r7hdqn1x7jw3q6s547z9pin";
+      rev = "984ea9552fce06d24afee3d9051813a7433e1439";
+      sha256 = "0nb2ik2dx0akilfdfff3sjk2pfbrscih5rrr0dy0kxk1c86fdpqx";
     };
     meta.homepage = "https://github.com/cohama/lexima.vim/";
   };
@@ -4380,23 +4391,23 @@ final: prev:
 
   lsp_lines-nvim = buildVimPluginFrom2Nix {
     pname = "lsp_lines.nvim";
-    version = "2022-08-03";
+    version = "2022-11-16";
     src = fetchgit {
-            url = "https://git.sr.ht/~whynothugo/lsp_lines.nvim";
-            rev = "dbfd8e96ec2696e1ceedcd23fd70e842256e3dea";
-            sha256 = "1cch7sc3728z07rhfnc9fjpnq39dj3laxkvsv4iqfr5vl9c2pqvk";
-        };
+      url = "https://git.sr.ht/~whynothugo/lsp_lines.nvim";
+      rev = "ec98b45c8280e5ef8c84028d4f38aa447276c002";
+      sha256 = "0xwbhznwbs6bshp1l501caymdcs486apn4rx4p9vnryrxdzc4chy";
+    };
     meta.homepage = "https://git.sr.ht/~whynothugo/lsp_lines.nvim";
   };
 
   lsp_signature-nvim = buildVimPluginFrom2Nix {
     pname = "lsp_signature.nvim";
-    version = "2022-10-21";
+    version = "2022-11-11";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "lsp_signature.nvim";
-      rev = "ad1f9b413e27a8cb86893326e7b02982c69fe3f3";
-      sha256 = "0w0pww74n9abxkbqwfcp2fllaixvcw8972van8mcnj3qhmg743yi";
+      rev = "12c0807919ae60c7bdae8c0bd0072ee9d752fa1a";
+      sha256 = "00y3hb0lzqg9xs5h5whkhdvj9r0qizm0mwfwl8lqbgqhcns5ggk9";
     };
     meta.homepage = "https://github.com/ray-x/lsp_signature.nvim/";
   };
@@ -4463,12 +4474,12 @@ final: prev:
 
   luasnip = buildVimPluginFrom2Nix {
     pname = "luasnip";
-    version = "2022-10-14";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "l3mon4d3";
       repo = "luasnip";
-      rev = "663d54482b11bca1ce94f56993b9f6ab485a13dc";
-      sha256 = "11dca07m9msyqqdbjrb4136hi77m8vh0jqpf2w0kjs6d9m63g0ab";
+      rev = "59bb7ea0d26524cef0fce6dcf6192963ec232fdf";
+      sha256 = "0lazbc8vrx17p4jc27agqqdzn4rik7r1k824s8yk8dr07134byh5";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/l3mon4d3/luasnip/";
@@ -4488,12 +4499,12 @@ final: prev:
 
   lush-nvim = buildNeovimPluginFrom2Nix {
     pname = "lush.nvim";
-    version = "2022-10-22";
+    version = "2022-11-09";
     src = fetchFromGitHub {
       owner = "rktjmp";
       repo = "lush.nvim";
-      rev = "57e0b8574d1edf00f16e7ee82ea39bbe19825cb1";
-      sha256 = "0vmyzk2hmrf5cvw7f43djn7980c558r9fwf3c5wbv1r8vipr0vik";
+      rev = "979f4d206e7111c2b710aa85cc723f6140d2ec98";
+      sha256 = "1xmndvhxjzb6lsfd0i7ifyqk0p37hyb9qy6l3aj75k7ifd4bsy2w";
     };
     meta.homepage = "https://github.com/rktjmp/lush.nvim/";
   };
@@ -4548,16 +4559,28 @@ final: prev:
 
   material-nvim = buildVimPluginFrom2Nix {
     pname = "material.nvim";
-    version = "2022-10-27";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "marko-cerovac";
       repo = "material.nvim";
-      rev = "7c79f4d9d22a42d35a093be3df215849bee68bd0";
-      sha256 = "19fhzf0db23w5d250jbwghg7x70zjb4dck141x6kaaaq69x42jny";
+      rev = "36189183cee0c91fe6d9c68f6f9868418dda6c19";
+      sha256 = "04yym03wainxxjy23z6hpg5p8hz2silg1s1kp70zndvwh8lvcxds";
     };
     meta.homepage = "https://github.com/marko-cerovac/material.nvim/";
   };
 
+  material-vim = buildVimPluginFrom2Nix {
+    pname = "material.vim";
+    version = "2022-09-14";
+    src = fetchFromGitHub {
+      owner = "kaicataldo";
+      repo = "material.vim";
+      rev = "81d5d0bb30677b0846a2721a600f2f45db6d10a7";
+      sha256 = "1j23wi0hh5h0pc0rk5dxvsc60k484h5haa2gfxzahjqd7kzil4y8";
+    };
+    meta.homepage = "https://github.com/kaicataldo/material.vim/";
+  };
+
   mayansmoke = buildVimPluginFrom2Nix {
     pname = "mayansmoke";
     version = "2010-10-18";
@@ -4572,12 +4595,12 @@ final: prev:
 
   mini-nvim = buildVimPluginFrom2Nix {
     pname = "mini.nvim";
-    version = "2022-10-25";
+    version = "2022-11-15";
     src = fetchFromGitHub {
       owner = "echasnovski";
       repo = "mini.nvim";
-      rev = "dc0ccf1b0499d649a6177d2a406babcfe73b97de";
-      sha256 = "1zxhxrac6y3pnsbcay8pxh3jiihhn2sdak0lhaj36dbj915lxrw8";
+      rev = "dd0b7f85269d544aec6dee3bf48dc44ed284c462";
+      sha256 = "1y28vqp5glvdypv8ghp9x6yg7mhf74711mas16n6abn1vaimmgsp";
     };
     meta.homepage = "https://github.com/echasnovski/mini.nvim/";
   };
@@ -4896,24 +4919,24 @@ final: prev:
 
   neco-vim = buildVimPluginFrom2Nix {
     pname = "neco-vim";
-    version = "2022-05-22";
+    version = "2022-10-31";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neco-vim";
-      rev = "facc3db7c5836fe2424936e8dd06f227e20f96db";
-      sha256 = "01rjirflkydx6awc7qwiiv9fln1ckfx2rnvcf1h1cz8ra8zk8qh4";
+      rev = "d43fa219390094ce2a8f5c929331f0a9e2f666d1";
+      sha256 = "15ri234c2hfgmbd00l3yx4a3wb8nbz2x4fnk0m0s6jaw0njsas0h";
     };
     meta.homepage = "https://github.com/Shougo/neco-vim/";
   };
 
   neo-tree-nvim = buildVimPluginFrom2Nix {
     pname = "neo-tree.nvim";
-    version = "2022-10-22";
+    version = "2022-11-05";
     src = fetchFromGitHub {
       owner = "nvim-neo-tree";
       repo = "neo-tree.nvim";
-      rev = "ab8ca9fac52949d7a741b538c5d9c3898cd0f45a";
-      sha256 = "0ccrxj04md7lssfwy9lvw4sn99iwkpci9lddc577m6zs1nz00lw0";
+      rev = "5c209e52681db48ca714817a4a907523ee98b377";
+      sha256 = "135dkpklv1pndymkjnpnwr05cah9gm4ayhzxbchx6p11lzz70h63";
     };
     meta.homepage = "https://github.com/nvim-neo-tree/neo-tree.nvim/";
   };
@@ -4932,48 +4955,48 @@ final: prev:
 
   neodark-vim = buildVimPluginFrom2Nix {
     pname = "neodark.vim";
-    version = "2022-01-16";
+    version = "2022-11-13";
     src = fetchFromGitHub {
       owner = "KeitaNakamura";
       repo = "neodark.vim";
-      rev = "bd422a98e7293013d67ccfbe1d52e1144ab47083";
-      sha256 = "0rifx4x8v4ndn7p33m54gn9m3vwh1nz8lyrz87n50incryh09vbl";
+      rev = "d11dc6e8b32aeb64a3abc5f7d94d5569070bb4bc";
+      sha256 = "0fxf8qcj6kh7j9mdnx2ncpnnxg37nbf6gs11d0nw27ihqc92xx1c";
     };
     meta.homepage = "https://github.com/KeitaNakamura/neodark.vim/";
   };
 
   neodev-nvim = buildVimPluginFrom2Nix {
     pname = "neodev.nvim";
-    version = "2022-10-28";
+    version = "2022-11-18";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "neodev.nvim";
-      rev = "1d311ffb45779650d03f16d3e5215212a857cbc0";
-      sha256 = "1vzf2jsz1ichi27g0kj2sknsjp9kicc45af36shvwfmcnahl87gd";
+      rev = "071c8895bbff0e4d1d3d4c531adfe20e3a2a6e82";
+      sha256 = "0qi0wl36m152ss2ca4hshyvf529xap19dhc0k5h98blq0h5ln0q9";
     };
     meta.homepage = "https://github.com/folke/neodev.nvim/";
   };
 
   neoformat = buildVimPluginFrom2Nix {
     pname = "neoformat";
-    version = "2022-10-23";
+    version = "2022-11-12";
     src = fetchFromGitHub {
       owner = "sbdchd";
       repo = "neoformat";
-      rev = "b08bd3a914777ff62ae2d7c17df9549c4b1dd778";
-      sha256 = "12fm51xi8dnqvizvy59vda7nvkr4mv9g6ipz3w7f0kf5r2avqrd2";
+      rev = "1f79f6e6b2a1e2b3ace87d4760769feb4146ff35";
+      sha256 = "02vik8gfqncxjhr065sr9bw7fd9lhbwkjjkzn2j9p7y2gw0yjcis";
     };
     meta.homepage = "https://github.com/sbdchd/neoformat/";
   };
 
   neogit = buildVimPluginFrom2Nix {
     pname = "neogit";
-    version = "2022-10-27";
+    version = "2022-11-12";
     src = fetchFromGitHub {
       owner = "TimUntersberger";
       repo = "neogit";
-      rev = "1acb13c07b34622fe1054695afcecff537d9a00a";
-      sha256 = "1wihkwfqhxvaxazn2wsd18jh8qd9cc2rc1m0rd2bw3ywm7jm24aw";
+      rev = "c1a2a1aa5b4fd774dc26c53f7f256f1320c0ff15";
+      sha256 = "0m8n27yb6m5ad3jhrflw0vd7kxjd4dr5liwvk9b8gz4fw598v2n5";
     };
     meta.homepage = "https://github.com/TimUntersberger/neogit/";
   };
@@ -5028,12 +5051,12 @@ final: prev:
 
   neorg = buildVimPluginFrom2Nix {
     pname = "neorg";
-    version = "2022-10-25";
+    version = "2022-11-19";
     src = fetchFromGitHub {
       owner = "nvim-neorg";
       repo = "neorg";
-      rev = "10cd28e3bec3f6583f545ba0d504e65f63a64aae";
-      sha256 = "15x4zk6661g5g80xj76k2yvq4dc2w9dkac9p5l88cbrkj6xwv0jm";
+      rev = "0b46a9ae7e40037fced280131bef7fdc25a2041d";
+      sha256 = "1klw05m8wicq1jn5qscy74nl16h50hr9pk8b3wbpy77jh7a0g753";
     };
     meta.homepage = "https://github.com/nvim-neorg/neorg/";
   };
@@ -5064,12 +5087,12 @@ final: prev:
 
   neosnippet-vim = buildVimPluginFrom2Nix {
     pname = "neosnippet.vim";
-    version = "2022-09-07";
+    version = "2022-11-01";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neosnippet.vim";
-      rev = "af18dc963b706568bf28f7dd2facea2ca2784299";
-      sha256 = "130x7nfygwqgwmaly77zp37z3gh16jyjvrb7sk4pg19d5ax8ysbr";
+      rev = "b7c241fb5737c50bf09cf1e26298492c3fc0457a";
+      sha256 = "11gbxkmbiiklqa8gzjm7dhg3xsv9k2wl131q6g18nwyrc5gaw8vb";
     };
     meta.homepage = "https://github.com/Shougo/neosnippet.vim/";
   };
@@ -5086,26 +5109,38 @@ final: prev:
     meta.homepage = "https://github.com/kassio/neoterm/";
   };
 
+  neotest = buildVimPluginFrom2Nix {
+    pname = "neotest";
+    version = "2022-11-19";
+    src = fetchFromGitHub {
+      owner = "nvim-neotest";
+      repo = "neotest";
+      rev = "a11933e578e85dfd2defc4f83e0b83cf400e9e84";
+      sha256 = "1b3kl97v9kvqbspk6pdv9fjzp5531a4bif14vjzp66ijsihg0az0";
+    };
+    meta.homepage = "https://github.com/nvim-neotest/neotest/";
+  };
+
   neotest-haskell = buildVimPluginFrom2Nix {
     pname = "neotest-haskell";
-    version = "2022-10-15";
+    version = "2022-11-14";
     src = fetchFromGitHub {
       owner = "MrcJkb";
       repo = "neotest-haskell";
-      rev = "d89b5e3e676923e3a373965fd7b6bcd705e14e74";
-      sha256 = "1j13q6wz2ci58mzyyq4p5apn86xplywal96bnsm1dqwmn1bb1707";
+      rev = "920a68bbb4eee1f923136c94ccb29981f6cd77e8";
+      sha256 = "0np8hzqjcq2k42iiwbvql3mzgnha56war8sj79dgyr02mpf43436";
     };
     meta.homepage = "https://github.com/MrcJkb/neotest-haskell/";
   };
 
   neovim-ayu = buildVimPluginFrom2Nix {
     pname = "neovim-ayu";
-    version = "2022-10-22";
+    version = "2022-11-13";
     src = fetchFromGitHub {
       owner = "Shatur";
       repo = "neovim-ayu";
-      rev = "3a0e91b9b120500b5e56c3c4fff6669bc5987142";
-      sha256 = "0liygpqlxhkdyc7n8c8mwavazrbjvn1wyv5gkb0h58kflr05bh1d";
+      rev = "88f427fbdd9ba7fe2c60f7c6e6ba68834b39ccd1";
+      sha256 = "0w44z219hns0kq98v236qbdc7021aj7k6bb2y76jn6pl83bgmbkj";
     };
     meta.homepage = "https://github.com/Shatur/neovim-ayu/";
   };
@@ -5148,12 +5183,12 @@ final: prev:
 
   nerdcommenter = buildVimPluginFrom2Nix {
     pname = "nerdcommenter";
-    version = "2022-10-11";
+    version = "2022-11-09";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "nerdcommenter";
-      rev = "fe74a1b890701eb5f196e9639b2147d5f126d9ae";
-      sha256 = "03427xhx5c1ri7b3wrbgkqk3dv31dxnxjvqrg9h698r0lfb844a9";
+      rev = "98cc4a2d64ca67cccbf5b5cf47c682ebadaaff58";
+      sha256 = "0s8czq77lsf10b2fsw6mhavirc1ivby1a9c5y49zj9fva876h968";
     };
     meta.homepage = "https://github.com/preservim/nerdcommenter/";
   };
@@ -5220,12 +5255,12 @@ final: prev:
 
   nightfox-nvim = buildVimPluginFrom2Nix {
     pname = "nightfox.nvim";
-    version = "2022-10-27";
+    version = "2022-11-18";
     src = fetchFromGitHub {
       owner = "EdenEast";
       repo = "nightfox.nvim";
-      rev = "9df01a3fb3d41e1e388ded7a34fe97a19146a283";
-      sha256 = "0n995a33riwbp0dfawwrm5xama6iaak1fvnsgqcx2aigdbjzgmh2";
+      rev = "d9d2cda9ff999d3bf32164029c67444071323eb1";
+      sha256 = "0mkfbafrsz6zy2zamg72figqxxy6w2iq24cj7h2qsz1crc81pi9r";
     };
     meta.homepage = "https://github.com/EdenEast/nightfox.nvim/";
   };
@@ -5268,12 +5303,12 @@ final: prev:
 
   noice-nvim = buildVimPluginFrom2Nix {
     pname = "noice.nvim";
-    version = "2022-10-28";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "noice.nvim";
-      rev = "36f1a5628c84b145bdf16e6d2aeea7d43fd7ade5";
-      sha256 = "1p3b5c54jpvnv98i609gfq1ajfp55vhhfrmdx5hcdq9q9ai6b314";
+      rev = "b10bbbb91215d0324d7d7f4cd0d8de3d1332648f";
+      sha256 = "1yd8w7jfxyg8y8gw4sn96jnhisfvda9vs148cnszqms6n8244n4n";
     };
     meta.homepage = "https://github.com/folke/noice.nvim/";
   };
@@ -5292,24 +5327,24 @@ final: prev:
 
   nord-nvim = buildVimPluginFrom2Nix {
     pname = "nord.nvim";
-    version = "2022-10-23";
+    version = "2022-11-01";
     src = fetchFromGitHub {
       owner = "shaunsingh";
       repo = "nord.nvim";
-      rev = "c8d932b46f3583f072c87204dd6fb575972053db";
-      sha256 = "191fhg7jffna513hvks7i9b2bs086dj4vmjf2nhdr6w32m4fh4vh";
+      rev = "a6bb6a8b71fdd5329d0ae0fd637e700b12e4a5cb";
+      sha256 = "0p1bdpi1h4nxrpkv90xqzhlbbgndy18xg64ws7izxqhkwjm5bv79";
     };
     meta.homepage = "https://github.com/shaunsingh/nord.nvim/";
   };
 
   nordic-nvim = buildVimPluginFrom2Nix {
     pname = "nordic.nvim";
-    version = "2022-10-25";
+    version = "2022-11-05";
     src = fetchFromGitHub {
       owner = "andersevenrud";
       repo = "nordic.nvim";
-      rev = "d1b1ecf4dd4c85fd6d1746e83e462c9c32b86372";
-      sha256 = "1z8v5qf1l374v8awcd2y5s417wh13cdgvd9p9fhr7qqmf3808vbd";
+      rev = "cb2d7dff4e698cda93775ad61169b08c9461ca88";
+      sha256 = "0ryp42mcvgknxj9yq0i314vx1ig1x88qjvi2ipb92l6mvwnaqps7";
     };
     meta.homepage = "https://github.com/andersevenrud/nordic.nvim/";
   };
@@ -5340,12 +5375,12 @@ final: prev:
 
   null-ls-nvim = buildVimPluginFrom2Nix {
     pname = "null-ls.nvim";
-    version = "2022-10-26";
+    version = "2022-11-10";
     src = fetchFromGitHub {
       owner = "jose-elias-alvarez";
       repo = "null-ls.nvim";
-      rev = "f1add2302e6a01531a007c51054392d2029dbed4";
-      sha256 = "050lx51x28msshjr4cq04l93brlswbx9w3kzdp35q7mxfmcr6cyg";
+      rev = "07d4ed4c6b561914aafd787453a685598bec510f";
+      sha256 = "1avfwys8lyd6fr2f7bfjr5nlvqw5bn5n5afs8j8j33r8ssi3g3na";
     };
     meta.homepage = "https://github.com/jose-elias-alvarez/null-ls.nvim/";
   };
@@ -5400,36 +5435,36 @@ final: prev:
 
   nvim-base16 = buildVimPluginFrom2Nix {
     pname = "nvim-base16";
-    version = "2022-10-19";
+    version = "2022-11-02";
     src = fetchFromGitHub {
       owner = "RRethy";
       repo = "nvim-base16";
-      rev = "52e077ffadf3c03d2186515091fa9a88a1f950ac";
-      sha256 = "198hfiksp29pdqwklkbc5zp63wnvwz7d39vxpklywyvy1wdf6l1b";
+      rev = "bd172d833538c48bd3d589fbc8bc2f3a395ecc7b";
+      sha256 = "1h9d127s9w7qiq54596wsdgjbmhxvd7ik055n923wr4r84087vcn";
     };
     meta.homepage = "https://github.com/RRethy/nvim-base16/";
   };
 
   nvim-biscuits = buildVimPluginFrom2Nix {
     pname = "nvim-biscuits";
-    version = "2022-08-17";
+    version = "2022-11-06";
     src = fetchFromGitHub {
       owner = "code-biscuits";
       repo = "nvim-biscuits";
-      rev = "5257ea28f377bc6ec0371f9bcbafdd4c6306199a";
-      sha256 = "07b8pfi1n4kfs6gr0ci7adgsd186a5hab9jml6v3piqq152nbn05";
+      rev = "5cfee78603bd4795e0709b8947e7ffaa2007cb1d";
+      sha256 = "0qmkki3bpnk9rv90vaxyr8qi5y1lrd65x7fvk3h8bcyqnz7hhk28";
     };
     meta.homepage = "https://github.com/code-biscuits/nvim-biscuits/";
   };
 
   nvim-bqf = buildVimPluginFrom2Nix {
     pname = "nvim-bqf";
-    version = "2022-10-06";
+    version = "2022-11-18";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-bqf";
-      rev = "c33b5c57ff82d71f8004b37c8c17a7928da76d08";
-      sha256 = "019lhnwaiz0drdqx6vj56hgjqklfjf48vsx1fk35j5b97nh0sbnh";
+      rev = "324701806c681d43dc4d7a6a777037af4d5f5ce3";
+      sha256 = "16kgzr0fzgl6mw11akzn6pg9sk1h8gvqh9rh9cvv4zh7g41nk77z";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-bqf/";
   };
@@ -5460,12 +5495,12 @@ final: prev:
 
   nvim-cmp = buildNeovimPluginFrom2Nix {
     pname = "nvim-cmp";
-    version = "2022-10-22";
+    version = "2022-11-18";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "nvim-cmp";
-      rev = "cdb77665bbf23bd2717d424ddf4bf98057c30bb3";
-      sha256 = "1yyg4ja7vsf1wwjydq6hx6zdgq1pdbklagzh09nh14p98kw4rdqj";
+      rev = "8a9e8a89eec87f86b6245d77f313a040a94081c1";
+      sha256 = "1gkm3pl06xvzxl5phk2g2hg8zqdpznn3jd5hjjspjfycgwscxbsx";
     };
     meta.homepage = "https://github.com/hrsh7th/nvim-cmp/";
   };
@@ -5496,12 +5531,12 @@ final: prev:
 
   nvim-colorizer-lua = buildVimPluginFrom2Nix {
     pname = "nvim-colorizer.lua";
-    version = "2022-09-28";
+    version = "2022-10-29";
     src = fetchFromGitHub {
       owner = "nvchad";
       repo = "nvim-colorizer.lua";
-      rev = "9dd7ecde55b06b5114e1fa67c522433e7e59db8b";
-      sha256 = "1lmvxz8k680yfjhadkh0km2v16vhg8p07xbkkvc0jhkp6hg4sxx4";
+      rev = "760e27df4dd966607e8fb7fd8b6b93e3c7d2e193";
+      sha256 = "0zqwdj7qk8sldz99c3f5m2xmvl2kj7n18f9jr9q17nb70rz490xn";
     };
     meta.homepage = "https://github.com/nvchad/nvim-colorizer.lua/";
   };
@@ -5568,36 +5603,48 @@ final: prev:
 
   nvim-dap = buildVimPluginFrom2Nix {
     pname = "nvim-dap";
-    version = "2022-10-19";
+    version = "2022-11-05";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-dap";
-      rev = "3d0d7312bb2a8491eb2927504e5cfa6e81b66de4";
-      sha256 = "0apzpy1mchk6iz6gxx218l2cb7rkjwviil56ab9ndk5jdd1irjag";
+      rev = "61643680dcb771a29073cd432894e2f81a7c2ae3";
+      sha256 = "0qcf6rsg610wcyz4663jjl0d6570pyxg66x6k01yyxbjsqv0jdzm";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-dap/";
   };
 
+  nvim-dap-go = buildVimPluginFrom2Nix {
+    pname = "nvim-dap-go";
+    version = "2022-11-04";
+    src = fetchFromGitHub {
+      owner = "leoluz";
+      repo = "nvim-dap-go";
+      rev = "c75921726ccfe97070285f206de49eddff276ea5";
+      sha256 = "1sgz5vkkw0zmpnmdfla2k3bvkax5pvn2y9g79xq3vhg9x6gyil5s";
+    };
+    meta.homepage = "https://github.com/leoluz/nvim-dap-go/";
+  };
+
   nvim-dap-python = buildVimPluginFrom2Nix {
     pname = "nvim-dap-python";
-    version = "2022-10-09";
+    version = "2022-11-01";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-dap-python";
-      rev = "408186a9d1e03e078e3603af912f9e264ceb2742";
-      sha256 = "131a8m5ngxlpbx2b9syksmcci7fff03naw56z7djkvs1w6zh4ln4";
+      rev = "27a0eff2bd3114269bb010d895b179e667e712bd";
+      sha256 = "1pypxg18qj74yjlfrr9wdd0w0hlh2mvd5xv381rhnzvb4h8hnp2j";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-dap-python/";
   };
 
   nvim-dap-ui = buildVimPluginFrom2Nix {
     pname = "nvim-dap-ui";
-    version = "2022-10-27";
+    version = "2022-11-19";
     src = fetchFromGitHub {
       owner = "rcarriga";
       repo = "nvim-dap-ui";
-      rev = "f889edb4f2b7fafa2a8f8101aea2dc499849b2ec";
-      sha256 = "18fi54hfybbywyafk0ik2bvgrl99i605qcs49i1a8gw3d6qx8zy1";
+      rev = "aec0163784ac3c6d25c3735fbabdd5b294f21670";
+      sha256 = "1if4ccvc1v0ljh9y8ivjxjxa22rrsfzxjiwhims8yk36r4jc3drg";
     };
     meta.homepage = "https://github.com/rcarriga/nvim-dap-ui/";
   };
@@ -5652,12 +5699,12 @@ final: prev:
 
   nvim-gdb = buildVimPluginFrom2Nix {
     pname = "nvim-gdb";
-    version = "2022-10-27";
+    version = "2022-10-30";
     src = fetchFromGitHub {
       owner = "sakhnik";
       repo = "nvim-gdb";
-      rev = "127087ec368212d4d763aeb58fdf585abc6a8a0e";
-      sha256 = "15f1crn83yf5amdv0m9cc54znq1w3m2x5nywh70bsz753a37a4ys";
+      rev = "2ff5622755810e795b2ed33476ab7fbfab918d15";
+      sha256 = "19qc0q70l7z3q3jgyk8z5y9j6jsh97x4gaxq940zqlhya5qs783g";
     };
     meta.homepage = "https://github.com/sakhnik/nvim-gdb/";
   };
@@ -5700,12 +5747,12 @@ final: prev:
 
   nvim-hlslens = buildVimPluginFrom2Nix {
     pname = "nvim-hlslens";
-    version = "2022-10-21";
+    version = "2022-11-19";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-hlslens";
-      rev = "aa6f885a8b5a07015f56626d473980e1edd5b3cc";
-      sha256 = "1khd10mflf0kf3cynbwgrndrkvb5ygmry29sm06q55x6b2zsmckv";
+      rev = "a48ddd710c6daf9a2e90646978c99e5db500dfd3";
+      sha256 = "0lk3gc8kicrz6xs57mpy1znxwi6wlc7zm44cg8q0yz7ka0f4520v";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-hlslens/";
   };
@@ -5724,12 +5771,12 @@ final: prev:
 
   nvim-jdtls = buildVimPluginFrom2Nix {
     pname = "nvim-jdtls";
-    version = "2022-10-28";
+    version = "2022-11-01";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-jdtls";
-      rev = "f39efa0e823bcc876d18a7b44d3b61191c42e61c";
-      sha256 = "1wzqvqg7dzs2150wdnagkw0yaf6k73f0bzzwm4lhz0pn927hlwn1";
+      rev = "7bc572fc357d7dec8d3ca620b53e763776472582";
+      sha256 = "10rm01cxc1xnw7m886ssnmb5ihlsfjhp6sqm9dhmrkg4ywkbhj9m";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-jdtls/";
   };
@@ -5784,12 +5831,12 @@ final: prev:
 
   nvim-lint = buildVimPluginFrom2Nix {
     pname = "nvim-lint";
-    version = "2022-10-26";
+    version = "2022-11-19";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-lint";
-      rev = "844bb7828557052da765b9b0fa5ab0574eb7187a";
-      sha256 = "13aczdfdxx7r0sambfhh8awa2azskxlyaks6vsy2jhii8698vhw9";
+      rev = "666ed80fcb78cf6355f3d5b7ebdbacef6465578c";
+      sha256 = "1zncna7k5k3ifr24wfjzbsby1g79cyr718lkq1vfyz798f9pkk03";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-lint/";
   };
@@ -5808,12 +5855,12 @@ final: prev:
 
   nvim-lspconfig = buildVimPluginFrom2Nix {
     pname = "nvim-lspconfig";
-    version = "2022-10-26";
+    version = "2022-11-19";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvim-lspconfig";
-      rev = "2315a397fd5057e3a74a09a240f606af28447ebf";
-      sha256 = "1rqy3lcxy8lxi041g7s5j0nvmbch6s43r6agnwspqm1ag1i7pin0";
+      rev = "0fd98b0d01bfc5603e56a959acb8e875e4039ac7";
+      sha256 = "0xikn3mf5k7m9f79lfk8llvpp5ry7nc4bbznbxd2d1hxjd2iz604";
     };
     meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
   };
@@ -5830,6 +5877,18 @@ final: prev:
     meta.homepage = "https://github.com/RishabhRD/nvim-lsputils/";
   };
 
+  nvim-luadev = buildVimPluginFrom2Nix {
+    pname = "nvim-luadev";
+    version = "2022-01-26";
+    src = fetchFromGitHub {
+      owner = "bfredl";
+      repo = "nvim-luadev";
+      rev = "2a2c242bd751c289cfc1bc27f357925f68eba098";
+      sha256 = "0prwzxgg6fqkfmqqs41c1c81lch2x4qrs7287l5b104rz3alcinn";
+    };
+    meta.homepage = "https://github.com/bfredl/nvim-luadev/";
+  };
+
   nvim-luapad = buildVimPluginFrom2Nix {
     pname = "nvim-luapad";
     version = "2022-10-26";
@@ -5844,12 +5903,12 @@ final: prev:
 
   nvim-metals = buildVimPluginFrom2Nix {
     pname = "nvim-metals";
-    version = "2022-10-24";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "scalameta";
       repo = "nvim-metals";
-      rev = "2a60af7dfe2daf6b4635c81d3241304eaa7bb741";
-      sha256 = "13vvb1xjyicsh36x81jn76brh4x5qpgiyl7b0159s8xrlv67a029";
+      rev = "1071ddc47e9d9629ba754ffbf3cc11fa8be4218b";
+      sha256 = "17wr3g4f4nk98jzp4g94l8nhksmwc32lc5v7bk56zn0933gr3m1v";
     };
     meta.homepage = "https://github.com/scalameta/nvim-metals/";
   };
@@ -5868,12 +5927,12 @@ final: prev:
 
   nvim-navic = buildVimPluginFrom2Nix {
     pname = "nvim-navic";
-    version = "2022-10-25";
+    version = "2022-11-18";
     src = fetchFromGitHub {
       owner = "smiteshp";
       repo = "nvim-navic";
-      rev = "9f7f0b797096ee852106c4fd47b6b13d0ebb364e";
-      sha256 = "1zqbs170ppmjh3njsg24z5ic965ga0plrbjam88qys1ap0gdph2v";
+      rev = "40c0ab2640a0e17c4fad7e17f260414d18852ce6";
+      sha256 = "194r8p8nljvh5jb8i860qp8kr4i16s5q84nc6phqjygwacsq69s8";
     };
     meta.homepage = "https://github.com/smiteshp/nvim-navic/";
   };
@@ -5904,24 +5963,24 @@ final: prev:
 
   nvim-notify = buildVimPluginFrom2Nix {
     pname = "nvim-notify";
-    version = "2022-10-17";
+    version = "2022-11-10";
     src = fetchFromGitHub {
       owner = "rcarriga";
       repo = "nvim-notify";
-      rev = "5e8d4942976bbc45e3adb8f4beb81964a79cfd02";
-      sha256 = "1rxpgx52714sf01kwps9ii0if1q6b32hbc80yzwwpbjs8snmkj58";
+      rev = "43c54aec682854b39a7e0e89b4c3ba00426d74a8";
+      sha256 = "0ga67fj7wf54mvrbsq423ccw3rvsgrd66dg0pq7cz7x9i7v5dz4d";
     };
     meta.homepage = "https://github.com/rcarriga/nvim-notify/";
   };
 
   nvim-peekup = buildVimPluginFrom2Nix {
     pname = "nvim-peekup";
-    version = "2022-09-13";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "gennaro-tedesco";
       repo = "nvim-peekup";
-      rev = "69b8e013b26a0f457a213f2285fea00b5635b17d";
-      sha256 = "0gxjv6rz19m2rx7pmz0gmsykdb050kgr7r70210wbvnxv4nrr6yp";
+      rev = "2e48f2e1ebc198f3624645f13f5ce64d20708272";
+      sha256 = "0gim4d50k7y0w0gp108lkkn2300jhgk5jspqv17y2gagv28brr1q";
     };
     meta.homepage = "https://github.com/gennaro-tedesco/nvim-peekup/";
   };
@@ -5940,48 +5999,48 @@ final: prev:
 
   nvim-scrollbar = buildVimPluginFrom2Nix {
     pname = "nvim-scrollbar";
-    version = "2022-10-26";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "petertriho";
       repo = "nvim-scrollbar";
-      rev = "49b5a0f2e2d275df4f2e224f3e1cd7f4c64ecafe";
-      sha256 = "0i6g9ww2jvvqb45fqvqfa2vwpgq8jpyndmvjv2amirvk1ilhx2i8";
+      rev = "dd0adc741c2b0a5cbd52e4888aa46e4ab3f53cb1";
+      sha256 = "199833kqpyhvaa59306zv6qg2iq0jvhlxgdpx6v2mgqrzmg4iyrw";
     };
     meta.homepage = "https://github.com/petertriho/nvim-scrollbar/";
   };
 
   nvim-scrollview = buildVimPluginFrom2Nix {
     pname = "nvim-scrollview";
-    version = "2022-09-26";
+    version = "2022-11-18";
     src = fetchFromGitHub {
       owner = "dstein64";
       repo = "nvim-scrollview";
-      rev = "25c23219db8b2b932a595b4d2b661406ce4459fe";
-      sha256 = "0vs5qwam3z42s6kdxcyhiw2bwsggjchaqciq878sxvbrg7ya7iil";
+      rev = "b10165f3727f519566d69382c4a4830f16375910";
+      sha256 = "0ha1hdrw5cakgxnp0n5dzn0w7kbyxfw0y396rndp70mcqanqg34r";
     };
     meta.homepage = "https://github.com/dstein64/nvim-scrollview/";
   };
 
   nvim-snippy = buildVimPluginFrom2Nix {
     pname = "nvim-snippy";
-    version = "2022-10-19";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "dcampos";
       repo = "nvim-snippy";
-      rev = "d732f34c2c64baff182f9d9dc2463490fc3c7f91";
-      sha256 = "0a7g9s9c8wxk955qj0yvmmwzrv37x8wkn8c07arvp2xj77hpb6rc";
+      rev = "a6a86665ba52d299b69259d7a020e5ee11fce31e";
+      sha256 = "139gfsgpj22zf4dm60my82f4z5qsbhwwdpj0aqwj63chr3i0knpq";
     };
     meta.homepage = "https://github.com/dcampos/nvim-snippy/";
   };
 
   nvim-solarized-lua = buildVimPluginFrom2Nix {
     pname = "nvim-solarized-lua";
-    version = "2022-09-23";
+    version = "2022-11-19";
     src = fetchFromGitHub {
       owner = "ishan9299";
       repo = "nvim-solarized-lua";
-      rev = "b5a77b50d1136ad4018d176722378506afee9d3a";
-      sha256 = "17is7hsbfbbxir34jwlihv1xdkhihvk85l55pky90b5ijvpki2x7";
+      rev = "7bd46fa036bde6b4483fb7403b0a7b0754faeeaa";
+      sha256 = "0cpx916mbghxbpnkqs52y3n6h6dciaapj8bgas71w7qn4i6ygmhi";
     };
     meta.homepage = "https://github.com/ishan9299/nvim-solarized-lua/";
   };
@@ -6000,12 +6059,12 @@ final: prev:
 
   nvim-surround = buildVimPluginFrom2Nix {
     pname = "nvim-surround";
-    version = "2022-10-28";
+    version = "2022-11-19";
     src = fetchFromGitHub {
       owner = "kylechui";
       repo = "nvim-surround";
-      rev = "7e5096b736ae252d04d543af6a13280125dc6d0f";
-      sha256 = "1hqa8c0bfj7yl3zdpid4aj26jay65f40ixaydh7ic79rxm9a1k0i";
+      rev = "93380716d94e451c340e653ce09d73e9cabe54c6";
+      sha256 = "0xzx9iwdyz95l9bxsbb74bc35bvp5va5855c56qvimc4bcflgp5a";
     };
     meta.homepage = "https://github.com/kylechui/nvim-surround/";
   };
@@ -6024,24 +6083,24 @@ final: prev:
 
   nvim-tree-lua = buildVimPluginFrom2Nix {
     pname = "nvim-tree.lua";
-    version = "2022-10-28";
+    version = "2022-11-19";
     src = fetchFromGitHub {
       owner = "nvim-tree";
       repo = "nvim-tree.lua";
-      rev = "65c2ba895213c3641fc58dd33bc7a44423a6cdbe";
-      sha256 = "1j5g0d4sw5ngzpf77vbgf4mac0dr9y4db8dc951d9m4sg7q1hhjq";
+      rev = "e38e061710c593d9b88c8ebb2c48f2842c89dc31";
+      sha256 = "1i3lb7j3nwflidkxzxwpi78ha50qvy45lsb8i4rql1hlb7ya15sd";
     };
     meta.homepage = "https://github.com/nvim-tree/nvim-tree.lua/";
   };
 
   nvim-treesitter = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter";
-    version = "2022-10-28";
+    version = "2022-11-19";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter";
-      rev = "287ffdccc1dd7ed017d844a4fad069fd3340fa94";
-      sha256 = "1xhizc124dqgxvqyin42sk9kcm5rg2rwi2g94sm9mir8x326nibi";
+      rev = "24caa23402247cf03cfcdd54de8cdb8ed00690ba";
+      sha256 = "0f10bcszvd3wj62mv198389gcd48glqy2vii7ddks17lccf3g8xm";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
   };
@@ -6084,12 +6143,12 @@ final: prev:
 
   nvim-treesitter-textobjects = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter-textobjects";
-    version = "2022-10-17";
+    version = "2022-11-19";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter-textobjects";
-      rev = "13739a5705d9592cbe7da372576363dc8ea5f723";
-      sha256 = "11aaddmns22l3wv5gynwv4q82fln0qx62h6avaxvpz6jlyw3x1g2";
+      rev = "1435ea532a3c9e6ea48ed3438fdf48bb37277578";
+      sha256 = "1m3hfidjim2cy4x3np4rqcg67cq1kqz64yaqkcj7qlwlxd29gi6p";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/";
   };
@@ -6108,36 +6167,36 @@ final: prev:
 
   nvim-ts-context-commentstring = buildVimPluginFrom2Nix {
     pname = "nvim-ts-context-commentstring";
-    version = "2022-10-14";
+    version = "2022-10-29";
     src = fetchFromGitHub {
       owner = "joosepalviste";
       repo = "nvim-ts-context-commentstring";
-      rev = "2941f0064874b33e93d3a794a8a4e99f5f6ece56";
-      sha256 = "1hq2cv39wmpaak9c0gkjif4xp6sz21k5fygkk5lpxxbsdbm74v1g";
+      rev = "32d9627123321db65a4f158b72b757bcaef1a3f4";
+      sha256 = "176dqn0kxdcsjfxh3nhlkiwh7nrj9792rzbmmrkgghjjw87zrd4p";
     };
     meta.homepage = "https://github.com/joosepalviste/nvim-ts-context-commentstring/";
   };
 
   nvim-ts-rainbow = buildVimPluginFrom2Nix {
     pname = "nvim-ts-rainbow";
-    version = "2022-09-30";
+    version = "2022-11-04";
     src = fetchFromGitHub {
       owner = "p00f";
       repo = "nvim-ts-rainbow";
-      rev = "1ec3f880585c644ddd50a51502c59f4e36f03e62";
-      sha256 = "03403mx5rdknsaia8br0ymc9y53kv8jnnlawfrwralxm1fsrml5h";
+      rev = "064fd6c0a15fae7f876c2c6dd4524ca3fad96750";
+      sha256 = "1b7z8xyiplb9rjkdqwijnypjqrssrz5lr1wnl5vk1pyb6dnxspzg";
     };
     meta.homepage = "https://github.com/p00f/nvim-ts-rainbow/";
   };
 
   nvim-web-devicons = buildVimPluginFrom2Nix {
     pname = "nvim-web-devicons";
-    version = "2022-10-17";
+    version = "2022-11-14";
     src = fetchFromGitHub {
       owner = "nvim-tree";
       repo = "nvim-web-devicons";
-      rev = "9061e2d355ecaa2b588b71a35e7a11358a7e51e1";
-      sha256 = "04qzvk4cpvs1yariwr5mw9034vfx182drdpz2iwplr5dqlmkv64j";
+      rev = "3b1b794bc17b7ac3df3ae471f1c18f18d1a0f958";
+      sha256 = "1yxrv5kc5prfllgfcj2h8c8b74rydwdc8hm2fwbk1d0d9jcs66w7";
     };
     meta.homepage = "https://github.com/nvim-tree/nvim-web-devicons/";
   };
@@ -6180,12 +6239,12 @@ final: prev:
 
   nvimdev-nvim = buildVimPluginFrom2Nix {
     pname = "nvimdev.nvim";
-    version = "2022-10-12";
+    version = "2022-11-10";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvimdev.nvim";
-      rev = "43bf18bc2ace969fe6c3ed0e92975bac4d35965f";
-      sha256 = "1kcjx6r04nsfbi8bhinf069r8jm3rvi7gsc258a77wh486xn0s7g";
+      rev = "5f4f2f294d45dbdf1936b81b9bcae97651f46fbd";
+      sha256 = "0xzfjfs3z4v3w3hc7kvq33a8xyfxxha0x6vpgl4p7vh8rvxc5n8d";
     };
     meta.homepage = "https://github.com/neovim/nvimdev.nvim/";
   };
@@ -6228,12 +6287,12 @@ final: prev:
 
   omnisharp-extended-lsp-nvim = buildVimPluginFrom2Nix {
     pname = "omnisharp-extended-lsp.nvim";
-    version = "2022-05-10";
+    version = "2022-10-29";
     src = fetchFromGitHub {
       owner = "Hoffs";
       repo = "omnisharp-extended-lsp.nvim";
-      rev = "e0dbe96194465f26e2cfff5d170ba8c88287e329";
-      sha256 = "119pc3va1g76clvm6c09jldsybjqml8fycx23lyh85f00jrwr2y9";
+      rev = "83be0f285afa360ca4a134820381e54b4b7aadd3";
+      sha256 = "1hdsc68qzf4j83xah72yjan7mlsvdz7w310m1qw81yzd45z0scyd";
     };
     meta.homepage = "https://github.com/Hoffs/omnisharp-extended-lsp.nvim/";
   };
@@ -6276,12 +6335,12 @@ final: prev:
 
   onedarkpro-nvim = buildVimPluginFrom2Nix {
     pname = "onedarkpro.nvim";
-    version = "2022-10-25";
+    version = "2022-11-19";
     src = fetchFromGitHub {
       owner = "olimorris";
       repo = "onedarkpro.nvim";
-      rev = "05219bc43981109105329428a03fe0ae254e8a12";
-      sha256 = "16il2l4270jlxf59d7h1d2m5h90jw9dkihnmym3lbj8rysk9m4xc";
+      rev = "6de1c32d7b654e20a184ef93aa26930e1b699142";
+      sha256 = "0fs3dfm10ki5q358217jcglrz730v07lnpry2gwa0ghjk0k0ar81";
     };
     meta.homepage = "https://github.com/olimorris/onedarkpro.nvim/";
   };
@@ -6300,12 +6359,12 @@ final: prev:
 
   onenord-nvim = buildVimPluginFrom2Nix {
     pname = "onenord.nvim";
-    version = "2022-10-19";
+    version = "2022-11-06";
     src = fetchFromGitHub {
       owner = "rmehri01";
       repo = "onenord.nvim";
-      rev = "1d4c13a7fb6480e4dd508cda8207732f18d419bf";
-      sha256 = "0l65mnshc6hmsarbr002z06k7c88aqyl0d4s9qqwdchlbi7h11dj";
+      rev = "0cd9f681bee019715bfbe928891579a3af3331e8";
+      sha256 = "0rgmzi1ivh1xjjmsfdjwljvm175sr0pbmbf2gixqmi22dfkndcwq";
     };
     meta.homepage = "https://github.com/rmehri01/onenord.nvim/";
   };
@@ -6336,24 +6395,24 @@ final: prev:
 
   orgmode = buildVimPluginFrom2Nix {
     pname = "orgmode";
-    version = "2022-10-23";
+    version = "2022-11-18";
     src = fetchFromGitHub {
       owner = "nvim-orgmode";
       repo = "orgmode";
-      rev = "2479971860e1237e4f0dafb6cbf412dfc8a3d89c";
-      sha256 = "1bjxmlrjpgsc70yjphb8y0mkyyy3amk49j4jsbjyh2qzdfh4bghs";
+      rev = "b82cc5df76a766c0f585f4792db7339a73e25e77";
+      sha256 = "16awk2x650aj56niwi9i87bwpqj572k1vzablchym0sbkaj3726a";
     };
     meta.homepage = "https://github.com/nvim-orgmode/orgmode/";
   };
 
   package-info-nvim = buildVimPluginFrom2Nix {
     pname = "package-info.nvim";
-    version = "2022-10-24";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "vuki656";
       repo = "package-info.nvim";
-      rev = "0b7433ede19ad507edfaf7a924ee159f271a52c3";
-      sha256 = "1yrf8ays1r92pa6jdrslsapqnk86pl0q5746q3kfj2zxvp2469m0";
+      rev = "54337910c67946ffb8a2845a4e547dba925e0f37";
+      sha256 = "0j75j32a8y1a7nmcn26zakv5mcylzggcic7v0ih88zsqaikl9hj3";
     };
     meta.homepage = "https://github.com/vuki656/package-info.nvim/";
   };
@@ -6468,12 +6527,12 @@ final: prev:
 
   playground = buildVimPluginFrom2Nix {
     pname = "playground";
-    version = "2022-09-19";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "playground";
-      rev = "e6a0bfaf9b5e36e3a327a1ae9a44a989eae472cf";
-      sha256 = "01smml755a1v09pfzg3zznr4hbxil0j8vqp8wxxb89ak1dipmjy2";
+      rev = "1290fdf6f2f0189eb3b4ce8073d3fda6a3658376";
+      sha256 = "1yznmc5a32b4bw0c9q0jfkbd77xmi7rmihfr0f44bcgqdxlp8151";
     };
     meta.homepage = "https://github.com/nvim-treesitter/playground/";
   };
@@ -6529,12 +6588,12 @@ final: prev:
 
   presence-nvim = buildVimPluginFrom2Nix {
     pname = "presence.nvim";
-    version = "2022-09-09";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "andweeb";
       repo = "presence.nvim";
-      rev = "03e09d3f9be8b3d9481d97d957c62d28b5850ab6";
-      sha256 = "13qcqmjnqia5vn8zc3bsyh48r85a03mzlmr489arwif8q9rmw30q";
+      rev = "c1c54758824cbecd4e18065d37191f7666fdd097";
+      sha256 = "0j23gdp29xb1rfb7crr5s1xs61wjzrsxwdpv01s79cjnwcvxzgxz";
     };
     meta.homepage = "https://github.com/andweeb/presence.nvim/";
   };
@@ -6565,12 +6624,12 @@ final: prev:
 
   project-nvim = buildVimPluginFrom2Nix {
     pname = "project.nvim";
-    version = "2022-09-18";
+    version = "2022-10-29";
     src = fetchFromGitHub {
       owner = "ahmedkhalf";
       repo = "project.nvim";
-      rev = "628de7e433dd503e782831fe150bb750e56e55d6";
-      sha256 = "0p7j5hh45rdricrryy87m7p26wdg6fs07gbyjhrvzxvbsmfbzn9s";
+      rev = "685bc8e3890d2feb07ccf919522c97f7d33b94e4";
+      sha256 = "0s734kpy3hslb7n6y94cv08clvxh5qp6br1ns3178y99ysv36vkx";
     };
     meta.homepage = "https://github.com/ahmedkhalf/project.nvim/";
   };
@@ -6626,12 +6685,12 @@ final: prev:
 
   pywal-nvim = buildVimPluginFrom2Nix {
     pname = "pywal.nvim";
-    version = "2022-09-11";
+    version = "2022-11-03";
     src = fetchFromGitHub {
       owner = "AlphaTechnolog";
       repo = "pywal.nvim";
-      rev = "c10ea0b90bc049f882517a65fedbef18ba8f8511";
-      sha256 = "1irbzhw1yrds80sncqadz7d2k9xr66h3zs8pnx0malfpvgs41fyk";
+      rev = "d11b673c0e3d6eb8cbee7ea8cf4a8911f6ee24b9";
+      sha256 = "00lfnbaw83iic68mvlgj75qp384g3xa5mjdhw2xmhnapghjgyv14";
     };
     meta.homepage = "https://github.com/AlphaTechnolog/pywal.nvim/";
   };
@@ -6770,12 +6829,12 @@ final: prev:
 
   registers-nvim = buildVimPluginFrom2Nix {
     pname = "registers.nvim";
-    version = "2022-10-28";
+    version = "2022-11-10";
     src = fetchFromGitHub {
       owner = "tversteeg";
       repo = "registers.nvim";
-      rev = "6671ecda17977a65c1dd251463cd1289deecf87d";
-      sha256 = "10h0m1vz765grjdsvjhawmw3dsa98zldndpqlrnim2ih2g9cdgaw";
+      rev = "2c4f82a8a68b7d3cee7bd345669f2f50bdc6f889";
+      sha256 = "1g6jnql1jrdkw6ckb6q1fivcxjkksdqpcy8najxmmw9lv4sksh4k";
     };
     meta.homepage = "https://github.com/tversteeg/registers.nvim/";
   };
@@ -6794,12 +6853,12 @@ final: prev:
 
   rest-nvim = buildNeovimPluginFrom2Nix {
     pname = "rest.nvim";
-    version = "2022-09-24";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "rest-nvim";
       repo = "rest.nvim";
-      rev = "4a23d38726c0b3c5a2de9f927de5b0b518bdf4f7";
-      sha256 = "10s74zwpr9wnnwjvh079g1k9ffnjpbzpxazwbpr55z9ln02sc2vs";
+      rev = "2e368cd681379f014906ad0268111eb5c95f9aa6";
+      sha256 = "0hxabk1c6fn9yrvdsm00frws1m858finl9ai7rgj2s56056zx9p4";
     };
     meta.homepage = "https://github.com/rest-nvim/rest.nvim/";
   };
@@ -6818,12 +6877,12 @@ final: prev:
 
   rnvimr = buildVimPluginFrom2Nix {
     pname = "rnvimr";
-    version = "2022-09-20";
+    version = "2022-11-09";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "rnvimr";
-      rev = "3880980edd3c4d9a2eb2f06cf351c7aa458560c1";
-      sha256 = "1236j1ci3x064s7n95z4dq6mw8kljgwbqa64da8443l32c6w1738";
+      rev = "e9af3795f4233b3273e4b7e9d6bb7d7c8e191412";
+      sha256 = "1dv9rnqpjmsfmsxzjshiqdx4kgnh341b9kypb7j0dn65gj2narsq";
     };
     meta.homepage = "https://github.com/kevinhwang91/rnvimr/";
   };
@@ -6878,12 +6937,12 @@ final: prev:
 
   rust-tools-nvim = buildVimPluginFrom2Nix {
     pname = "rust-tools.nvim";
-    version = "2022-09-02";
+    version = "2022-11-06";
     src = fetchFromGitHub {
       owner = "simrat39";
       repo = "rust-tools.nvim";
-      rev = "86a2b4e31f504c00715d0dd082a6b8b5d4afbf03";
-      sha256 = "1623d6s05wx2qfcrsfg0avx9cwp0ahz4sbpnp2b3miq7r0nbl7yd";
+      rev = "99fd1238c6068d0637df30b6cee9a264334015e9";
+      sha256 = "0y95kj77p4zjskn6j7bp04scrlgg5l8827zc3m6f18cgcy1qnngf";
     };
     meta.homepage = "https://github.com/simrat39/rust-tools.nvim/";
   };
@@ -6926,12 +6985,12 @@ final: prev:
 
   satellite-nvim = buildVimPluginFrom2Nix {
     pname = "satellite.nvim";
-    version = "2022-10-18";
+    version = "2022-11-12";
     src = fetchFromGitHub {
       owner = "lewis6991";
       repo = "satellite.nvim";
-      rev = "609623c88ef9a1e6869dd20443a2027c10502b92";
-      sha256 = "15jkzdzfhlr7892k9g00qnrn6yffc6fjlx5xpn1jmh28mq7fix9n";
+      rev = "024920b94611684840731ea79f5a9c6a687683e8";
+      sha256 = "0nmzabqmfmkx7j7fn9m20vpqmd2bkdw0zk94k44w4dx467zl757y";
     };
     meta.homepage = "https://github.com/lewis6991/satellite.nvim/";
   };
@@ -7131,12 +7190,12 @@ final: prev:
 
   sonokai = buildVimPluginFrom2Nix {
     pname = "sonokai";
-    version = "2022-09-09";
+    version = "2022-11-13";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "sonokai";
-      rev = "7b0ad56a0aaa12f205b586b143edb8296d3d5821";
-      sha256 = "00mkgzw441gsbk0wfb1vn5dh2z2czcfnpr4fxnyslcaj8y7xs6al";
+      rev = "d58ed627c7569cca7d8ea326cce79123cbb94620";
+      sha256 = "0b6v3ysv0dqir7f7l5l7mzxclqrmq72jbi9c502p3kf4arpvilg2";
     };
     meta.homepage = "https://github.com/sainnhe/sonokai/";
   };
@@ -7264,24 +7323,24 @@ final: prev:
 
   sqlite-lua = buildVimPluginFrom2Nix {
     pname = "sqlite.lua";
-    version = "2022-10-01";
+    version = "2022-11-18";
     src = fetchFromGitHub {
       owner = "kkharji";
       repo = "sqlite.lua";
-      rev = "47685f0adb89928fc1b2a9b812418680f29aaf27";
-      sha256 = "03l86sr766kpggxxk97rc3fy6j4igsprsh19wdq8mzk119nmww0i";
+      rev = "53cac3fdb5f5e4e63e243232b6eccf3c764ae18a";
+      sha256 = "0qp3b6jd6khp8wmc4s8n6sc518p6m44l7f7ln8pr91jz6qh5z30p";
     };
     meta.homepage = "https://github.com/kkharji/sqlite.lua/";
   };
 
   srcery-vim = buildVimPluginFrom2Nix {
     pname = "srcery-vim";
-    version = "2022-06-08";
+    version = "2022-11-02";
     src = fetchFromGitHub {
       owner = "srcery-colors";
       repo = "srcery-vim";
-      rev = "0ff514ff249d0e6b6cc4702d6606f196e3827fc8";
-      sha256 = "0l5j9y414nxxiw0vxcygxfd09hn1wbwh3d6a735n6n3kn3z42ww5";
+      rev = "cdb0bc36fda80eb58d38ecddfb1c7b2fab3a4d53";
+      sha256 = "0x055kynvxym614vzxi1vv2zcndfadzjhwk92f4h6z5zvld7fpxj";
     };
     meta.homepage = "https://github.com/srcery-colors/srcery-vim/";
   };
@@ -7420,12 +7479,12 @@ final: prev:
 
   swift-vim = buildVimPluginFrom2Nix {
     pname = "swift.vim";
-    version = "2022-08-01";
+    version = "2022-11-05";
     src = fetchFromGitHub {
       owner = "keith";
       repo = "swift.vim";
-      rev = "3e0529e1a97e3da24aabd18daf8ed92c6da8c68b";
-      sha256 = "1xsxbh70q7psvmlps4fwm6ix1zb1ljnlzhsb3a6c5dkh00x7ks9v";
+      rev = "ba6f6cef58d08ac741aaf1626d3799d476cd43b6";
+      sha256 = "0v2bkzkvqh420r0bpxl9vhq56ql75vi7xra9ifyjflkqxr3lxp83";
     };
     meta.homepage = "https://github.com/keith/swift.vim/";
   };
@@ -7469,12 +7528,12 @@ final: prev:
 
   tabby-nvim = buildVimPluginFrom2Nix {
     pname = "tabby.nvim";
-    version = "2022-10-17";
+    version = "2022-11-02";
     src = fetchFromGitHub {
       owner = "nanozuki";
       repo = "tabby.nvim";
-      rev = "18c8effd11f801793e1a8b9adb4d6ef7fbedf57b";
-      sha256 = "0r68260gc5ln2z338mm7xb4v4y3p8xzkx1wlwagqp35dhgrl2kpn";
+      rev = "1718f42d4044ce612091fd7a7bff0dc7313ff5b8";
+      sha256 = "01p7fkhflv23slsr54j7b4cvz0bl2nwn6x0zq1c373cjq3zq2x5a";
     };
     meta.homepage = "https://github.com/nanozuki/tabby.nvim/";
   };
@@ -7566,12 +7625,12 @@ final: prev:
 
   tagbar = buildVimPluginFrom2Nix {
     pname = "tagbar";
-    version = "2022-09-26";
+    version = "2022-11-04";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "tagbar";
-      rev = "83933d557409639df53fd2ca21484279b5854c1e";
-      sha256 = "189hbiijzppn71bphd767cxvw99jacyf1gf3scaas3yb0xmb9kfv";
+      rev = "6c3e15ea4a1ef9619c248c2b1eced56a47b61a9e";
+      sha256 = "1x47bxvxhw7c4g7ij86xs1zwmb61yr5wcrn3xm606x74c11ff650";
     };
     meta.homepage = "https://github.com/preservim/tagbar/";
   };
@@ -7686,12 +7745,12 @@ final: prev:
 
   telescope-frecency-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-frecency.nvim";
-    version = "2022-09-27";
+    version = "2022-11-06";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-frecency.nvim";
-      rev = "9634c3508c6565284065ec011476204ce13f354a";
-      sha256 = "1d0d9lwrpxqhvjn1r4jd1dnmra48jabjjbhi35sw41iw1v5v3al3";
+      rev = "10771fdb7b4c4b59f2b5c1e8757b0379e1314659";
+      sha256 = "0gdaa7bvxi5ppy3is3ac42fbcd7wgp91ircikm0j9sg9f39vjk1i";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-frecency.nvim/";
   };
@@ -7745,6 +7804,18 @@ final: prev:
     meta.homepage = "https://github.com/nvim-telescope/telescope-github.nvim/";
   };
 
+  telescope-live-grep-args-nvim = buildVimPluginFrom2Nix {
+    pname = "telescope-live-grep-args.nvim";
+    version = "2022-11-07";
+    src = fetchFromGitHub {
+      owner = "nvim-telescope";
+      repo = "telescope-live-grep-args.nvim";
+      rev = "7de3baef1ec4fb77f7a8195fe87bebd513244b6a";
+      sha256 = "0yfn2mlgb3kz5bmkahri7gxv91fj3svy6ygb4lbn649519l840a6";
+    };
+    meta.homepage = "https://github.com/nvim-telescope/telescope-live-grep-args.nvim/";
+  };
+
   telescope-lsp-handlers-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-lsp-handlers.nvim";
     version = "2021-09-07";
@@ -7759,12 +7830,12 @@ final: prev:
 
   telescope-manix = buildVimPluginFrom2Nix {
     pname = "telescope-manix";
-    version = "2022-10-19";
+    version = "2022-11-12";
     src = fetchFromGitHub {
       owner = "MrcJkb";
       repo = "telescope-manix";
-      rev = "9f91408328be8719ca1f6c49a3ccc1df6392d5e9";
-      sha256 = "03wkgmwq3fl92bd4d33ahfp328pdwcmpw0pcjqf9cfaplpi0fzk2";
+      rev = "e1ac51513b1952e980edd5bad9ed98f155717b07";
+      sha256 = "1bip4njr0sk8v20r5vq41ik5pxrh5d84l448fn3id2r16dqjh9aq";
     };
     meta.homepage = "https://github.com/MrcJkb/telescope-manix/";
   };
@@ -7867,24 +7938,36 @@ final: prev:
 
   telescope-nvim = buildVimPluginFrom2Nix {
     pname = "telescope.nvim";
-    version = "2022-10-26";
+    version = "2022-11-11";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope.nvim";
-      rev = "97847309cbffbb33e442f07b8877d20322a26922";
-      sha256 = "16haarhd71n6p0ndkl67casbk3ysbxbnsm9dkqaa4cjizdqckbj0";
+      rev = "7a4ffef931769c3fe7544214ed7ffde5852653f6";
+      sha256 = "0n2cz7pgnn5wbklw0wax0k0gvhbf5gc1rs7i9d1bmwrljipgi4ak";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
   };
 
+  telescope_hoogle = buildVimPluginFrom2Nix {
+    pname = "telescope_hoogle";
+    version = "2022-10-27";
+    src = fetchFromGitHub {
+      owner = "luc-tielen";
+      repo = "telescope_hoogle";
+      rev = "6322f74655a2773974377a8fc8d170c00f24938f";
+      sha256 = "1pjq5bwnrxb3qhvvqd9v996hqfkbg5ah7qmbzrq1287h13m5jy2n";
+    };
+    meta.homepage = "https://github.com/luc-tielen/telescope_hoogle/";
+  };
+
   template-string-nvim = buildVimPluginFrom2Nix {
     pname = "template-string.nvim";
-    version = "2022-08-18";
+    version = "2022-11-10";
     src = fetchFromGitHub {
       owner = "axelvc";
       repo = "template-string.nvim";
-      rev = "84e50b878caa92100c65deec12ccb41aa4ef3fae";
-      sha256 = "1ibz9vpqy0lck8pxzr3bikrw3zcrrw0nx5kz53a5n38qrb4l95gg";
+      rev = "fa94fd309f511ac19bcba0b4390104520f07a08d";
+      sha256 = "00q8f8v6zcs85iyv36byil0a9v20m7q7scmkx1231nq0z21kzadc";
     };
     meta.homepage = "https://github.com/axelvc/template-string.nvim/";
   };
@@ -8035,12 +8118,12 @@ final: prev:
 
   todo-comments-nvim = buildVimPluginFrom2Nix {
     pname = "todo-comments.nvim";
-    version = "2022-10-28";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "todo-comments.nvim";
-      rev = "530eb3a896e9eef270f00f4baafa102361afc93b";
-      sha256 = "1bk1mdna3f792b48xasxmkwgyyb49dg6b6vd1bal3z461sk8zi7j";
+      rev = "1b9df577262b2c4c4ea422161742927f80ffa131";
+      sha256 = "14yiibv5qh89y8d7ps1rv65sxq2ckj7mky5wv9fkzhplvjzg84zi";
     };
     meta.homepage = "https://github.com/folke/todo-comments.nvim/";
   };
@@ -8072,24 +8155,24 @@ final: prev:
 
   toggleterm-nvim = buildVimPluginFrom2Nix {
     pname = "toggleterm.nvim";
-    version = "2022-10-26";
+    version = "2022-11-03";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "toggleterm.nvim";
-      rev = "8f302c9a05ff53fc3f891cbf09c5f959b10392a3";
-      sha256 = "1nvq4zridnz0pr9j9ivcl4b5w8srli8szhjy6ry22vw9c5xllzx3";
+      rev = "3ba683827c623affb4d9aa518e97b34db2623093";
+      sha256 = "043rchc7qbn65b7wfgvp6fdg67xijgd3i3jfm82i1rha7dlymb41";
     };
     meta.homepage = "https://github.com/akinsho/toggleterm.nvim/";
   };
 
   tokyonight-nvim = buildVimPluginFrom2Nix {
     pname = "tokyonight.nvim";
-    version = "2022-10-27";
+    version = "2022-11-15";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "tokyonight.nvim";
-      rev = "8756c99d08f3605534600e70f9fae64035a287dc";
-      sha256 = "1g7j3fzvs94bi67h277xmjd6rafsqbs58fsgrc0jlhi1zhbablr3";
+      rev = "62b4e89ea1766baa3b5343ca77d62c817f5f48d0";
+      sha256 = "1gqvynnq93dy3dchf9igvgw13ympc8zny0qjp77kq0jj77yq4jg3";
     };
     meta.homepage = "https://github.com/folke/tokyonight.nvim/";
   };
@@ -8144,12 +8227,12 @@ final: prev:
 
   trouble-nvim = buildVimPluginFrom2Nix {
     pname = "trouble.nvim";
-    version = "2022-10-14";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "trouble.nvim";
-      rev = "ed65f84abc4a1e5d8f368d7e02601fc0357ea15e";
-      sha256 = "0mikpfp8pi8b58q217g3b3r62vc9q28jx34q8xzardhj42gqk4wj";
+      rev = "897542f90050c3230856bc6e45de58b94c700bbf";
+      sha256 = "09niz0xw32g0mxarxhf6v6whchqqllklbqm966j93wqkqbhl30ph";
     };
     meta.homepage = "https://github.com/folke/trouble.nvim/";
   };
@@ -8264,12 +8347,12 @@ final: prev:
 
   urlview-nvim = buildVimPluginFrom2Nix {
     pname = "urlview.nvim";
-    version = "2022-10-27";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "axieax";
       repo = "urlview.nvim";
-      rev = "f7dc336aff93ce421f3092aaec1fb008a86433ce";
-      sha256 = "0iq69smk3nn4mf9q0rv98kka6a4awrbpxabrss7nxjaghb2bs7v0";
+      rev = "f8d30320ca277956852fda6db082e231153b8618";
+      sha256 = "0y6vqv83f075a3728jrzrzx11wf8a1p3l6rn2irwgxd037b1ql7z";
     };
     meta.homepage = "https://github.com/axieax/urlview.nvim/";
   };
@@ -8672,12 +8755,12 @@ final: prev:
 
   vim-airline = buildVimPluginFrom2Nix {
     pname = "vim-airline";
-    version = "2022-10-13";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline";
-      rev = "0ed7b8bb2ed68d65a5ba55317896680b31d315b0";
-      sha256 = "0x8xjfmchvmx5naq83mk3q2h1bda8bl2b691grsc20pfpdqilz2k";
+      rev = "2654f838ae4eb4383ee26cf32d04a597822008cf";
+      sha256 = "1sfd0ssi549y03i0rkz9qds24v19vgn2qdbnv010xpwbnxhsrbv0";
     };
     meta.homepage = "https://github.com/vim-airline/vim-airline/";
   };
@@ -8696,12 +8779,12 @@ final: prev:
 
   vim-airline-themes = buildVimPluginFrom2Nix {
     pname = "vim-airline-themes";
-    version = "2022-09-26";
+    version = "2022-11-08";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline-themes";
-      rev = "cc5d3490c8f4c87d29d97df414941a9df8ceb390";
-      sha256 = "13lslv7rr3ixcjgkklds2zsk9b0p9sx9lpl3fwzdnkcgh1x91vn8";
+      rev = "dd81554c2231e438f6d0e8056ea38fd0e80ac02a";
+      sha256 = "05jhw8qgs024z0na2kizrrmbl3kmad69p22aw7naqmfnf1sads9q";
     };
     meta.homepage = "https://github.com/vim-airline/vim-airline-themes/";
   };
@@ -8732,12 +8815,12 @@ final: prev:
 
   vim-anzu = buildVimPluginFrom2Nix {
     pname = "vim-anzu";
-    version = "2020-06-10";
+    version = "2022-11-08";
     src = fetchFromGitHub {
       owner = "osyo-manga";
       repo = "vim-anzu";
-      rev = "1b95ec384487e559f0ee70e0f46c33683ff533ac";
-      sha256 = "0q6s9bb1yv7ir2al4gv69vv4c8m09j1ax47qbhchgz23iwka3vmz";
+      rev = "727da5e402d4f96127afafa4d8d2bf222f9c99f6";
+      sha256 = "0i5pg88rl54dhwk8ldiqg7dkgz441xq2z9yc1v942s7kwlha609v";
     };
     meta.homepage = "https://github.com/osyo-manga/vim-anzu/";
   };
@@ -9068,12 +9151,12 @@ final: prev:
 
   vim-clap = buildVimPluginFrom2Nix {
     pname = "vim-clap";
-    version = "2022-10-16";
+    version = "2022-11-12";
     src = fetchFromGitHub {
       owner = "liuchengxu";
       repo = "vim-clap";
-      rev = "5ef93211921e1f5c85fd2088cf2ceda07c3fe4ae";
-      sha256 = "0ykskvwk5vz6dqf4h91vmrk4a92wf3lsmx5pnp837vgky0d15fpj";
+      rev = "58e05a4e38afc3fddd513bbb0f35601e4b502cf5";
+      sha256 = "148gywsna247fw0fr25y15g6x50k7gs04kmhnppjn4p8waabb8ah";
     };
     meta.homepage = "https://github.com/liuchengxu/vim-clap/";
   };
@@ -9104,12 +9187,12 @@ final: prev:
 
   vim-closer = buildVimPluginFrom2Nix {
     pname = "vim-closer";
-    version = "2022-08-08";
+    version = "2022-11-01";
     src = fetchFromGitHub {
       owner = "rstacruz";
       repo = "vim-closer";
-      rev = "6d5d6f50501dd862b1616d370566e94b44be3008";
-      sha256 = "06j0z8lqbrp22skhdg6cmvd42nnlhd7v9q7z9938i7zr6bigj0cr";
+      rev = "6007d9db0a35e983af246b667282606612076b07";
+      sha256 = "117g4a8rl2m6b83yjicq3ghiy568z5s1mlcwi4k6w45mm21lpd5v";
     };
     meta.homepage = "https://github.com/rstacruz/vim-closer/";
   };
@@ -9140,12 +9223,12 @@ final: prev:
 
   vim-codefmt = buildVimPluginFrom2Nix {
     pname = "vim-codefmt";
-    version = "2022-07-28";
+    version = "2022-11-18";
     src = fetchFromGitHub {
       owner = "google";
       repo = "vim-codefmt";
-      rev = "406686de5855ebb9dc2b9558d53983e65ef5c64e";
-      sha256 = "0xlsjbdjg9cyj9zsik1ikcknbjglfzn9zms1avkkhawybb4v6mqi";
+      rev = "3494825e8f3e78869d2da4551fb00814f8e3f285";
+      sha256 = "04mdfxwdp7c0l9c1wxfhsrldy6p3nxr0zk2wa5bxwyhqzzajq7mn";
     };
     meta.homepage = "https://github.com/google/vim-codefmt/";
   };
@@ -9212,12 +9295,12 @@ final: prev:
 
   vim-commentary = buildVimPluginFrom2Nix {
     pname = "vim-commentary";
-    version = "2022-03-27";
+    version = "2022-10-31";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-commentary";
-      rev = "3654775824337f466109f00eaf6759760f65be34";
-      sha256 = "09iv58r0z3dv5fd6g8zq542rc5hz81gd5h0ncnvhx9drrl6f86ip";
+      rev = "e87cd90dc09c2a203e13af9704bd0ef79303d755";
+      sha256 = "09kzc89iwkgsi4wvjxk56fis462kkz5chcl9sl4hdbmpa1f41wy0";
     };
     meta.homepage = "https://github.com/tpope/vim-commentary/";
   };
@@ -9284,12 +9367,12 @@ final: prev:
 
   vim-css-color = buildVimPluginFrom2Nix {
     pname = "vim-css-color";
-    version = "2021-12-29";
+    version = "2022-10-28";
     src = fetchFromGitHub {
       owner = "ap";
       repo = "vim-css-color";
-      rev = "8bf943681f92c81a8cca19762a1ccec8bc29098a";
-      sha256 = "061x58afpl7f17ixp3sal54aymhsn0kyygdbvaqxzanzmrsgp8m7";
+      rev = "1c4b78f5512980227ca747e76f1f6c904f2eb3dc";
+      sha256 = "03r3sllai2nn3zhyc2v3cyxmpxw6incv9jfy74nr2p94yz9yasqh";
     };
     meta.homepage = "https://github.com/ap/vim-css-color/";
   };
@@ -9308,12 +9391,12 @@ final: prev:
 
   vim-cursorword = buildVimPluginFrom2Nix {
     pname = "vim-cursorword";
-    version = "2020-06-20";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "itchyny";
       repo = "vim-cursorword";
-      rev = "cc8114226ceefb5cafe1890e0900d3efb7dab1fd";
-      sha256 = "1x5ljk82bxc3qhrq5pz0dsab8rg1234syd1xmpkgvif52s9g4mfk";
+      rev = "371fdd7fa8817c28aa09d181cfcfa3c7ca29bf56";
+      sha256 = "12r6a9i6jm84c1fy2d72r516b98xmkkklw8lvl3c5i01s2qxmdr5";
     };
     meta.homepage = "https://github.com/itchyny/vim-cursorword/";
   };
@@ -9332,24 +9415,24 @@ final: prev:
 
   vim-dadbod = buildVimPluginFrom2Nix {
     pname = "vim-dadbod";
-    version = "2022-10-13";
+    version = "2022-10-29";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-dadbod";
-      rev = "69c419194ee708a58a297d567bdcfd3dcf606574";
-      sha256 = "0qng34n5sm01qs4pyfsx1nl7lhjhxkzcz7bx5747c041hb1ia3jm";
+      rev = "87785156a7919f51409f3e6656ea2b3a9e0e8e97";
+      sha256 = "0rbrp8cnkngfnvfvrfv2nfs3c7ryyv9zs738xay15nmcgif4by1s";
     };
     meta.homepage = "https://github.com/tpope/vim-dadbod/";
   };
 
   vim-dadbod-completion = buildVimPluginFrom2Nix {
     pname = "vim-dadbod-completion";
-    version = "2022-10-11";
+    version = "2022-11-15";
     src = fetchFromGitHub {
       owner = "kristijanhusak";
       repo = "vim-dadbod-completion";
-      rev = "59f2c6450e04f79714a7ceb1fffb4b6372129363";
-      sha256 = "0bd1hliz04rwn15mh6g0agfvas4lvismgwdglwbr3csmys8blz3m";
+      rev = "01c4f7a66786095c6f00f877c616eaf34c425a06";
+      sha256 = "1kyyr6gsghs1h0654xil27acwrc3815mivdh55xvlq8cs350mbjj";
     };
     meta.homepage = "https://github.com/kristijanhusak/vim-dadbod-completion/";
   };
@@ -9776,12 +9859,12 @@ final: prev:
 
   vim-floaterm = buildVimPluginFrom2Nix {
     pname = "vim-floaterm";
-    version = "2022-10-21";
+    version = "2022-11-03";
     src = fetchFromGitHub {
       owner = "voldikss";
       repo = "vim-floaterm";
-      rev = "b91fcd9fd69cd6a76fe430622637870255fe7715";
-      sha256 = "0qfdsjjq8xfnaskr8rai0nh7535zii4w44pn2lcz4szm8za3y1ks";
+      rev = "280b34a0760801168a67f952542b6c49292aa5f3";
+      sha256 = "19hb8bqkk6iqy8lm4gs6kiiw6igjjyvazw9fx6gnmf86pkajk3cw";
     };
     meta.homepage = "https://github.com/voldikss/vim-floaterm/";
   };
@@ -9836,24 +9919,24 @@ final: prev:
 
   vim-fubitive = buildVimPluginFrom2Nix {
     pname = "vim-fubitive";
-    version = "2020-09-10";
+    version = "2022-11-11";
     src = fetchFromGitHub {
       owner = "tommcdo";
       repo = "vim-fubitive";
-      rev = "5717417ee75c39ea2f8f446a9491cdf99d5965e9";
-      sha256 = "0lkp5i8s1214b9b1q9mg3aq32cvqzfd8q0i90bx9nf6n42cg2kjn";
+      rev = "318b5ec47f8f1a65b11aae4d11736420a8d3604e";
+      sha256 = "19g1iqcpbgy0kqzp3av8xr7djwkv79443ghwfjckhi6ws40hbvgr";
     };
     meta.homepage = "https://github.com/tommcdo/vim-fubitive/";
   };
 
   vim-fugitive = buildVimPluginFrom2Nix {
     pname = "vim-fugitive";
-    version = "2022-09-04";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "dd8107cabf5fe85df94d5eedcae52415e543f208";
-      sha256 = "19xrmyrqfxsx7damlbl0dd5dsr75jinmssvpvnamixzjzq6jyfr3";
+      rev = "23b9b9b2a3b88bdefee8dfd1126efb91e34e1a57";
+      sha256 = "0spghyavc5vxja7b2apck501j61s8gc43bqv1388akwmdanmbk1p";
     };
     meta.homepage = "https://github.com/tpope/vim-fugitive/";
   };
@@ -9992,12 +10075,12 @@ final: prev:
 
   vim-go = buildVimPluginFrom2Nix {
     pname = "vim-go";
-    version = "2022-09-03";
+    version = "2022-11-01";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "22b2273cfe562ac1c1af976ce77f18a3b1776f3c";
-      sha256 = "0vhyz67shgl8bpp07q4r808fas83xa86kl4jh5qkyfvxd95nrrm9";
+      rev = "0550762a69a2ef13d9f723c9478155dbc6ad7ddb";
+      sha256 = "185ysbbipqf6fivryi4pxjmdm4vfn319w1mgm3xpg2920scybwbq";
     };
     meta.homepage = "https://github.com/fatih/vim-go/";
   };
@@ -10293,12 +10376,12 @@ final: prev:
 
   vim-illuminate = buildVimPluginFrom2Nix {
     pname = "vim-illuminate";
-    version = "2022-10-04";
+    version = "2022-11-11";
     src = fetchFromGitHub {
       owner = "RRethy";
       repo = "vim-illuminate";
-      rev = "0603e75fc4ecde1ee5a1b2fc8106ed6704f34d14";
-      sha256 = "01361ss6g7kcap7hjma9ij8xa75zlvy878s4p7r5sxxbdwwpqarg";
+      rev = "a6d0b28ea7d6b9d139374be1f94a16bd120fcda3";
+      sha256 = "0wby253z3njala4syizy3m463gi8l45gcf7rj866r2jhnfxg9ba8";
     };
     meta.homepage = "https://github.com/RRethy/vim-illuminate/";
   };
@@ -10726,12 +10809,12 @@ final: prev:
 
   vim-lsp = buildVimPluginFrom2Nix {
     pname = "vim-lsp";
-    version = "2022-10-25";
+    version = "2022-11-10";
     src = fetchFromGitHub {
       owner = "prabirshrestha";
       repo = "vim-lsp";
-      rev = "9d4dbf7e689af58b1289cb1be9d755dc96b0de04";
-      sha256 = "1xv236fyj6nxvn5afs18yxpkx38h9cfvl21rn81ikjvvim1vz9h7";
+      rev = "e42203b4f0e46a927dd17b28f142fa91661d7163";
+      sha256 = "12v2mh049b037b70q5cpkz0dgqi07hsz4sx2ywvqvwmykv5lrpcv";
     };
     meta.homepage = "https://github.com/prabirshrestha/vim-lsp/";
   };
@@ -10762,12 +10845,12 @@ final: prev:
 
   vim-maktaba = buildVimPluginFrom2Nix {
     pname = "vim-maktaba";
-    version = "2022-06-17";
+    version = "2022-11-02";
     src = fetchFromGitHub {
       owner = "google";
       repo = "vim-maktaba";
-      rev = "80b47c5f636c0ed0915af378b47428a83346a699";
-      sha256 = "1fmq4zcx8shrkw1p2sjhncy3g7j4zka4rvr97jplf8fv40yqql1i";
+      rev = "5d416e84d024538f5e5cf25c394d081802f0a35e";
+      sha256 = "13filvmaxr0dvc44f3ah80g8jhkrn3rqkwqj1a7wxjv6a6xa083z";
     };
     meta.homepage = "https://github.com/google/vim-maktaba/";
   };
@@ -10798,12 +10881,12 @@ final: prev:
 
   vim-markdown = buildVimPluginFrom2Nix {
     pname = "vim-markdown";
-    version = "2022-09-26";
+    version = "2022-11-13";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "vim-markdown";
-      rev = "c3f83ebb43b560af066d2a5d66bc77c6c05293b1";
-      sha256 = "0r9hki9ngm3ar5k0q8c1kr8w07ynlw7zid87z7bgsbysdch14gyi";
+      rev = "7231fa4bbc47c5d0c64fd7f6187b07f0cae18dcd";
+      sha256 = "0s75filccsp51z9sh14avjrh8vb3359b33285s9zix9i1zsm0fxb";
     };
     meta.homepage = "https://github.com/preservim/vim-markdown/";
   };
@@ -10835,12 +10918,12 @@ final: prev:
 
   vim-matchup = buildVimPluginFrom2Nix {
     pname = "vim-matchup";
-    version = "2022-10-27";
+    version = "2022-11-13";
     src = fetchFromGitHub {
       owner = "andymass";
       repo = "vim-matchup";
-      rev = "09576fd767cc55ca934a95f9bdcf91aa12c32cd0";
-      sha256 = "08909dsf8gll8j3rky6zf9i4jlcp2cfkwmy15xmcm6avcy1ziagg";
+      rev = "55e3330436784fb8ccc35a5cfeb13e48bab9dcd2";
+      sha256 = "170ic9lp566x1l0brj2gj2zpbz5wl57df9wbi3zixm3agj56gnh6";
     };
     meta.homepage = "https://github.com/andymass/vim-matchup/";
   };
@@ -10859,12 +10942,12 @@ final: prev:
 
   vim-merginal = buildVimPluginFrom2Nix {
     pname = "vim-merginal";
-    version = "2022-10-04";
+    version = "2022-10-29";
     src = fetchFromGitHub {
       owner = "idanarye";
       repo = "vim-merginal";
-      rev = "e8740401cdec9199f4676c5a640a785ec094258b";
-      sha256 = "09rmmqq9a3xjcplw69kxsqbv3bpdkw1zvdiiihl499vafwrhky6w";
+      rev = "8ec5976aa4bd647c64504ff535eb06a8b709b051";
+      sha256 = "0z43gdgm3vjbq4whwj6dm218fldkjlhp5kwks79w6x6rx84nnj6v";
     };
     meta.homepage = "https://github.com/idanarye/vim-merginal/";
   };
@@ -10955,12 +11038,12 @@ final: prev:
 
   vim-mundo = buildVimPluginFrom2Nix {
     pname = "vim-mundo";
-    version = "2022-07-17";
+    version = "2022-11-05";
     src = fetchFromGitHub {
       owner = "simnalamburt";
       repo = "vim-mundo";
-      rev = "3c7e008a9922702be979dbfe3c5280313f53618b";
-      sha256 = "0gjsv7abpdiv4x199057404xhimlgy6r2f5y22q4p574mq66mg2k";
+      rev = "b53d35fb5ca9923302b9ef29e618ab2db4cc675e";
+      sha256 = "1dwrarcxrh8in78igm036lpvyww60c93vmmlk8h054i3v2p8vv59";
     };
     meta.homepage = "https://github.com/simnalamburt/vim-mundo/";
   };
@@ -11123,12 +11206,12 @@ final: prev:
 
   vim-ocaml = buildVimPluginFrom2Nix {
     pname = "vim-ocaml";
-    version = "2022-10-27";
+    version = "2022-11-14";
     src = fetchFromGitHub {
       owner = "ocaml";
       repo = "vim-ocaml";
-      rev = "5e581ecd1fd430415f1aacfd87697584c117bc06";
-      sha256 = "1f6yk5y1xmpc0wfp06mylfynra5aswb177n9j4yrifkzx3mabw5j";
+      rev = "284c37e2607446ef798c4b61a4691c41a5661f03";
+      sha256 = "17d094gqm5ixlgadrd6fplg2zrx761m091mw7gjpi7bdh1nzw1bw";
     };
     meta.homepage = "https://github.com/ocaml/vim-ocaml/";
   };
@@ -11951,12 +12034,12 @@ final: prev:
 
   vim-slime = buildVimPluginFrom2Nix {
     pname = "vim-slime";
-    version = "2022-10-08";
+    version = "2022-10-29";
     src = fetchFromGitHub {
       owner = "jpalardy";
       repo = "vim-slime";
-      rev = "9cdd180a6056e8ae0c7d3581313344b9a3e8e7e8";
-      sha256 = "02f8lmyrp60myj624aqgdqg91l19rfs32gds3d2y411w0p77kzbl";
+      rev = "55e8604bda53f11cbce5d2b976bacb157de70297";
+      sha256 = "19r7hx4xkw3b8fc81gp1sqc4xk3w2i55mpcbsrjr1mjyjwydjb84";
     };
     meta.homepage = "https://github.com/jpalardy/vim-slime/";
   };
@@ -12107,12 +12190,12 @@ final: prev:
 
   vim-startuptime = buildVimPluginFrom2Nix {
     pname = "vim-startuptime";
-    version = "2022-10-25";
+    version = "2022-11-18";
     src = fetchFromGitHub {
       owner = "dstein64";
       repo = "vim-startuptime";
-      rev = "fcfa65f98046248ba2ec88ebab756b6d4e42bbc2";
-      sha256 = "0rhjyiqnmfmn7sm54wg5v6j3n227ixjik29a4rllscrb1s9x91n9";
+      rev = "1acb5fa4aa29a24c36d559474b672cda9b9a9b6d";
+      sha256 = "1rvga45kgz5sh7yc5nqsxm6ndhdamvq8a67pw8ci1zi3n53j9xij";
     };
     meta.homepage = "https://github.com/dstein64/vim-startuptime/";
   };
@@ -12276,12 +12359,12 @@ final: prev:
 
   vim-test = buildVimPluginFrom2Nix {
     pname = "vim-test";
-    version = "2022-09-29";
+    version = "2022-11-10";
     src = fetchFromGitHub {
       owner = "vim-test";
       repo = "vim-test";
-      rev = "e7150de777ef0c81a015972e4feb56c4b3137efd";
-      sha256 = "03jc3jf4znhknvw90iqyn4jpwm13fc3w0nw4vllggwxzvihha1hv";
+      rev = "ab7feab8cb139e5b4955cb4c6ddf52e968cb24be";
+      sha256 = "0glnzs21xhwgir4ndnrv3jlmi5g6b4znybcpp5d4aqxd5sqa80m3";
     };
     meta.homepage = "https://github.com/vim-test/vim-test/";
   };
@@ -12420,12 +12503,12 @@ final: prev:
 
   vim-tmux-navigator = buildVimPluginFrom2Nix {
     pname = "vim-tmux-navigator";
-    version = "2022-10-15";
+    version = "2022-11-13";
     src = fetchFromGitHub {
       owner = "christoomey";
       repo = "vim-tmux-navigator";
-      rev = "bd4c38be5b4882991494cf77c0601a55bc45eebf";
-      sha256 = "17yqy79p5i54wkg1wmb32v84s05rfaywx7qzayzs5q485zap4813";
+      rev = "c2dab181185101070b0ad6c33451f4e2f56a446a";
+      sha256 = "15581nighr1a82gkn0blkx75l6bz0vfq573nf626dw1qa652nipz";
     };
     meta.homepage = "https://github.com/christoomey/vim-tmux-navigator/";
   };
@@ -12456,12 +12539,12 @@ final: prev:
 
   vim-tpipeline = buildVimPluginFrom2Nix {
     pname = "vim-tpipeline";
-    version = "2022-10-23";
+    version = "2022-10-30";
     src = fetchFromGitHub {
       owner = "vimpostor";
       repo = "vim-tpipeline";
-      rev = "abd013d512e58b3770fab65a3230cd840a24475c";
-      sha256 = "0h8xa2b9q7j91x0cvsscfyqkvfzf7rx3cqs59hxxvpcw96l4qwlx";
+      rev = "b8bb357570b2d95bf893345d45fed722808571ef";
+      sha256 = "145crqkr4b588k64y1rczhy5ygwada8rzsrfa3gvv6xrhkya6sgg";
     };
     meta.homepage = "https://github.com/vimpostor/vim-tpipeline/";
   };
@@ -12478,6 +12561,18 @@ final: prev:
     meta.homepage = "https://github.com/bronson/vim-trailing-whitespace/";
   };
 
+  vim-tridactyl = buildVimPluginFrom2Nix {
+    pname = "vim-tridactyl";
+    version = "2022-02-10";
+    src = fetchFromGitHub {
+      owner = "tridactyl";
+      repo = "vim-tridactyl";
+      rev = "f2eaa5d32614f6c35dad268dd4ed7ff33cae5070";
+      sha256 = "139kl89k5alh8bpa4wywsmvjnxlxzsdbhxn2w8rvclhwgrhkzvgd";
+    };
+    meta.homepage = "https://github.com/tridactyl/vim-tridactyl/";
+  };
+
   vim-tsx = buildVimPluginFrom2Nix {
     pname = "vim-tsx";
     version = "2017-03-16";
@@ -12624,24 +12719,24 @@ final: prev:
 
   vim-vsnip = buildVimPluginFrom2Nix {
     pname = "vim-vsnip";
-    version = "2022-10-23";
+    version = "2022-11-14";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "vim-vsnip";
-      rev = "03010115eb8bdda00ce5f845cc2f7025700e33bb";
-      sha256 = "1m6blqw8rii859gs7d17x50nbb4f50g2s4a56j3j2qyv1k05kafn";
+      rev = "6f873418c4dc601d8ad019a5906eddff5088de9b";
+      sha256 = "0jw8580w0x515772gnyw6y922yp0hmxk84r67iw1mv50zbkmafgz";
     };
     meta.homepage = "https://github.com/hrsh7th/vim-vsnip/";
   };
 
   vim-vsnip-integ = buildVimPluginFrom2Nix {
     pname = "vim-vsnip-integ";
-    version = "2022-10-20";
+    version = "2022-11-09";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "vim-vsnip-integ";
-      rev = "4be94fb2a0d51b2fdf1a508d31cf62b3bff48e6d";
-      sha256 = "0gza8nxzs6qc2w66fa1rjsgrhkmgllfflnf1jhrqn5rsdcq7fs0y";
+      rev = "1cf89903f12777b90dd79eb4b3d7fbc0b9a254a1";
+      sha256 = "00a5kdcdlfnn5f2yv6cavy91f91w0aqckcgpqvchgs631ypjqbp4";
     };
     meta.homepage = "https://github.com/hrsh7th/vim-vsnip-integ/";
   };
@@ -12696,12 +12791,12 @@ final: prev:
 
   vim-which-key = buildVimPluginFrom2Nix {
     pname = "vim-which-key";
-    version = "2022-10-25";
+    version = "2022-10-30";
     src = fetchFromGitHub {
       owner = "liuchengxu";
       repo = "vim-which-key";
-      rev = "9875baefb1d3e78abbf8f652a17e130744a37742";
-      sha256 = "1xvb9xfp9ly210cxj00hp9403ny6r7cs0qhjd0kvcdgxamw1bh3a";
+      rev = "398adc5bf2918ee84e78bd974a9f9d64ddfc0801";
+      sha256 = "18kjcw8jdidihfscir5kihz22mvlwkbab1w5m8hc2w9qjljcza50";
     };
     meta.homepage = "https://github.com/liuchengxu/vim-which-key/";
   };
@@ -12756,12 +12851,12 @@ final: prev:
 
   vim-xkbswitch = buildVimPluginFrom2Nix {
     pname = "vim-xkbswitch";
-    version = "2022-08-20";
+    version = "2022-11-14";
     src = fetchFromGitHub {
       owner = "lyokha";
       repo = "vim-xkbswitch";
-      rev = "daab553bb2c6cf9c437780d26e47a8769b4dd7e2";
-      sha256 = "09ycp9bl0kkj6pm1pnpv32lnsmpp29zn42ygq2q16yb4wfx4h326";
+      rev = "9ac90d328f7863039c6edff0b4b8081349a378e8";
+      sha256 = "1j5vmavmgwvwrarc768x1p5ng4bjyb3fdm118z019r0zpcdknpgx";
     };
     meta.homepage = "https://github.com/lyokha/vim-xkbswitch/";
   };
@@ -12794,12 +12889,12 @@ final: prev:
     pname = "vim-yapf";
     version = "2018-10-04";
     src = fetchFromGitHub {
-      owner = "mindriot101";
+      owner = "simonrw";
       repo = "vim-yapf";
       rev = "b0c31bd73a6d1026765e659bd0a62c625ec057ad";
       sha256 = "0ncv6kjyywljsq5fz71rkmgmqxm7msyscgndnj055bnx5sh9wk80";
     };
-    meta.homepage = "https://github.com/mindriot101/vim-yapf/";
+    meta.homepage = "https://github.com/simonrw/vim-yapf/";
   };
 
   vim2hs = buildVimPluginFrom2Nix {
@@ -12948,12 +13043,12 @@ final: prev:
 
   vimspector = buildVimPluginFrom2Nix {
     pname = "vimspector";
-    version = "2022-10-27";
+    version = "2022-11-14";
     src = fetchFromGitHub {
       owner = "puremourning";
       repo = "vimspector";
-      rev = "82b47b18262d70de140221f69279d80a2f096221";
-      sha256 = "05h67zk7lj52ry0clb0dqqiniscmyb49x46ss8zgi0dmfnp3avav";
+      rev = "56f469c787c16bf3e57ab27d2d2b3f97064e7686";
+      sha256 = "0i6g0flnnby189c1vbkam214ax76kpw5w0w6m326lpakqv4zbvp8";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/puremourning/vimspector/";
@@ -12961,12 +13056,12 @@ final: prev:
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2022-10-27";
+    version = "2022-11-19";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "2f799f47a85bca75deaec4e2c6a51cde9341ae01";
-      sha256 = "0m1j5xl994g5bxv5jnzk3a2sfga96b2k0kznwj8a6xqilk8gq798";
+      rev = "b2a69e8f780709a4637f6e2fe809d6bd2a39af52";
+      sha256 = "11h6bdndglq22y6w7fxzk43dia9kslgfc40l9z8r3cikd7w0pd0a";
     };
     meta.homepage = "https://github.com/lervag/vimtex/";
   };
@@ -12997,12 +13092,12 @@ final: prev:
 
   virtual-types-nvim = buildVimPluginFrom2Nix {
     pname = "virtual-types.nvim";
-    version = "2022-03-17";
+    version = "2022-11-01";
     src = fetchFromGitHub {
       owner = "jubnzv";
       repo = "virtual-types.nvim";
-      rev = "31da847fa54b801f309a08123935626adda4aaad";
-      sha256 = "0kqg29xld064fz1xly1kc7wcyck62q5hjkb5fc5vrj0zdnrdzz22";
+      rev = "12d55d6dc7cebddf4ab276b5934e02e0d41416a1";
+      sha256 = "14sk39py8kv9fsrw3sj6xg26mj11nf5aafqgiyc46isilmhizh4n";
     };
     meta.homepage = "https://github.com/jubnzv/virtual-types.nvim/";
   };
@@ -13105,12 +13200,12 @@ final: prev:
 
   windows-nvim = buildVimPluginFrom2Nix {
     pname = "windows.nvim";
-    version = "2022-10-22";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "anuvyklack";
       repo = "windows.nvim";
-      rev = "e88fd8b18eb266dae90bf828802d418386c8637f";
-      sha256 = "01lby85gqqzvpinngh4j4xr3d8dkszzv50dz09syfzfqyr4blnr5";
+      rev = "a37b5d021afbe9baf741bb40818bd14604dde424";
+      sha256 = "0fyfjsf5ivl0w6ywj6wvahxv9xsixqjpg2hh3w36rikz7r9b5bz8";
     };
     meta.homepage = "https://github.com/anuvyklack/windows.nvim/";
   };
@@ -13214,12 +13309,12 @@ final: prev:
 
   yuck-vim = buildVimPluginFrom2Nix {
     pname = "yuck.vim";
-    version = "2021-08-09";
+    version = "2022-10-29";
     src = fetchFromGitHub {
       owner = "elkowar";
       repo = "yuck.vim";
-      rev = "6dc3da77c53820c32648cf67cbdbdfb6994f4e08";
-      sha256 = "0890cyxnnvbbhv1irm0nxl5x7a49h1327cmhl1gmayigd4jym7ln";
+      rev = "9b5e0370f70cc30383e1dabd6c215475915fe5c3";
+      sha256 = "1mkf0vd8vvw1njlczlgai80djw1n1a7dl1k940l089d3vvqr5dhp";
     };
     meta.homepage = "https://github.com/elkowar/yuck.vim/";
   };
@@ -13248,6 +13343,18 @@ final: prev:
     meta.homepage = "https://github.com/folke/zen-mode.nvim/";
   };
 
+  zenbones-nvim = buildVimPluginFrom2Nix {
+    pname = "zenbones.nvim";
+    version = "2022-10-22";
+    src = fetchFromGitHub {
+      owner = "mcchrish";
+      repo = "zenbones.nvim";
+      rev = "0f7e9eb1ef309098e69e5e317508e9a7af299d94";
+      sha256 = "03439c2z4p286mqncgii6gyg2pz7kk9mdfqbbfyg14ycwmfn949a";
+    };
+    meta.homepage = "https://github.com/mcchrish/zenbones.nvim/";
+  };
+
   zenburn = buildVimPluginFrom2Nix {
     pname = "zenburn";
     version = "2022-08-13";
@@ -13286,12 +13393,12 @@ final: prev:
 
   zk-nvim = buildVimPluginFrom2Nix {
     pname = "zk-nvim";
-    version = "2022-07-14";
+    version = "2022-11-13";
     src = fetchFromGitHub {
       owner = "mickael-menu";
       repo = "zk-nvim";
-      rev = "73affbc95fba3655704e4993a8929675bc9942a1";
-      sha256 = "0rw72y6h19dq67ncrfyc4y2743czh8j735ihrqykfj2mr3rwa2h5";
+      rev = "1d2ebc679eeea8bfddc908e31bbe9e8b0928ef21";
+      sha256 = "0inbay3sn8f78wvf1pl785nl0pdiv6m4604d3zh8a27myhw6lr2b";
     };
     meta.homepage = "https://github.com/mickael-menu/zk-nvim/";
   };
@@ -13322,48 +13429,48 @@ final: prev:
 
   catppuccin-nvim = buildVimPluginFrom2Nix {
     pname = "catppuccin-nvim";
-    version = "2022-10-27";
+    version = "2022-11-19";
     src = fetchFromGitHub {
       owner = "catppuccin";
       repo = "nvim";
-      rev = "e695645298320e9714d10897aadee3cb5951567a";
-      sha256 = "0pbyq5z3l9sqfs412vfgg3s729smb04fvvgn673ib28i5kc5qk09";
+      rev = "8d4b9ed1f9cb5a575a1fa25c506409416d347241";
+      sha256 = "0q26mk92h1c6n0d9l6w3r6rpb6gka4iqd5as58p6bwxxbq23w6am";
     };
     meta.homepage = "https://github.com/catppuccin/nvim/";
   };
 
   catppuccin-vim = buildVimPluginFrom2Nix {
     pname = "catppuccin-vim";
-    version = "2022-09-27";
+    version = "2022-11-18";
     src = fetchFromGitHub {
       owner = "catppuccin";
       repo = "vim";
-      rev = "c9bbe18d3f22351c99c98eb53339ca0b2a1a18b5";
-      sha256 = "1dgqsg4jc10ycgz94mjbr3c2rpjr5k6mymnjr3b5xzln2z2c8d0d";
+      rev = "a98a00617cc8f158eee2c100eb97113cac7e3204";
+      sha256 = "0ci0ww6alb6j5x7dsg58bq4nq2km49pzk53d07fs1piad3z3hsvx";
     };
     meta.homepage = "https://github.com/catppuccin/vim/";
   };
 
   chad = buildVimPluginFrom2Nix {
     pname = "chad";
-    version = "2022-10-28";
+    version = "2022-11-19";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "chadtree";
-      rev = "671a11051e945b45e3e93c124a65adf84289d830";
-      sha256 = "18408ixpkgwgs9in65qi60lqpy1p40vb5mmmnrlimjncghy05dr5";
+      rev = "e95c1a8d8c2a849c3da63bbf7c98772b92fad7e9";
+      sha256 = "1zhyiwasy207khr8dbgnl9xvay32b6wxl4plvarrpi263099z0yk";
     };
     meta.homepage = "https://github.com/ms-jpq/chadtree/";
   };
 
   dracula-vim = buildVimPluginFrom2Nix {
     pname = "dracula-vim";
-    version = "2022-10-24";
+    version = "2022-11-07";
     src = fetchFromGitHub {
       owner = "dracula";
       repo = "vim";
-      rev = "7ebadce59c087f441b7baacff68e1667386d119a";
-      sha256 = "1i0gxwih7sc4mkhdg6g7cldx1fgpdy16lnqz2a03d1icfddbyp7n";
+      rev = "b9f4f3a169266031d3744335595eee02a6e396c6";
+      sha256 = "1a9vxpdh6ry9760m69762s5annq4k52k5bk9gy3v0lr4zyvfcfgf";
     };
     meta.homepage = "https://github.com/dracula/vim/";
   };
@@ -13382,12 +13489,12 @@ final: prev:
 
   gruvbox-community = buildVimPluginFrom2Nix {
     pname = "gruvbox-community";
-    version = "2022-10-24";
+    version = "2022-11-18";
     src = fetchFromGitHub {
       owner = "gruvbox-community";
       repo = "gruvbox";
-      rev = "ec6ef450645eb6a1af843f57a40bcaf4e278e1ac";
-      sha256 = "1p2klqkrrbky6jfj36px8ipg5dpb1iqz57gi9nmi1mpq9zpmm2nq";
+      rev = "2b5b1f777f0583ffb39086d6c16f39e6e37459c0";
+      sha256 = "1a5v9ccbkm8759m24a9y85y7d6g4yg7yr2bidjn6vqw04alwvjf6";
     };
     meta.homepage = "https://github.com/gruvbox-community/gruvbox/";
   };
@@ -13418,12 +13525,12 @@ final: prev:
 
   rose-pine = buildVimPluginFrom2Nix {
     pname = "rose-pine";
-    version = "2022-10-24";
+    version = "2022-11-09";
     src = fetchFromGitHub {
       owner = "rose-pine";
       repo = "neovim";
-      rev = "27a822e95b6581b706364e02fd8276d967438f82";
-      sha256 = "1wg6yzf2w3ly30mpjg05vg7ik4912cfxc8558j2iq7vb960bcwwl";
+      rev = "bfc2aa0006ad56f1a9792d6c52dc7f04fb4af94d";
+      sha256 = "088wwwsqwxhii7n88k3kd6mqf7jajiva9a4a3g87nflf4g11fh57";
     };
     meta.homepage = "https://github.com/rose-pine/neovim/";
   };
diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
new file mode 100644
index 0000000000000..14c265b928401
--- /dev/null
+++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
@@ -0,0 +1,1538 @@
+# generated by pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py
+
+{ buildGrammar, fetchFromGitHub, fetchFromGitLab, fetchgit }:
+
+{
+  agda = buildGrammar {
+    language = "agda";
+    version = "80ea622";
+    source = fetchFromGitHub {
+      owner = "AusCyberman";
+      repo = "tree-sitter-agda";
+      rev = "80ea622cf952a0059e168e5c92a798b2f1925652";
+      hash = "sha256-D63jvITL2RA8yg/TBSi6GsOxwLKzSHibbm3hwIKzesU=";
+    };
+    meta.homepage = "https://github.com/AusCyberman/tree-sitter-agda";
+  };
+  arduino = buildGrammar {
+    language = "arduino";
+    version = "c473c09";
+    source = fetchFromGitHub {
+      owner = "ObserverOfTime";
+      repo = "tree-sitter-arduino";
+      rev = "c473c09f23b13d9404ec5208fad3eddea89d70f8";
+      hash = "sha256-aAw1ZgKuMWozQzmENUhkdkHV0BjSGmTdH4Bna7EfDaQ=";
+    };
+    meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-arduino";
+  };
+  astro = buildGrammar {
+    language = "astro";
+    version = "947e930";
+    source = fetchFromGitHub {
+      owner = "virchau13";
+      repo = "tree-sitter-astro";
+      rev = "947e93089e60c66e681eba22283f4037841451e7";
+      hash = "sha256-q1ni++SPbq5y+47fPb6TryMw86gpULwNcXwi5yjXCWI=";
+    };
+    meta.homepage = "https://github.com/virchau13/tree-sitter-astro";
+  };
+  awk = buildGrammar {
+    language = "awk";
+    version = "e559793";
+    source = fetchFromGitHub {
+      owner = "Beaglefoot";
+      repo = "tree-sitter-awk";
+      rev = "e559793754c60c2cdf00cbb0409842d75f0a41dc";
+      hash = "sha256-qLY8lpeP0jKqhNxoSLwBTOfulK79/0KOjgq/rKWUBSA=";
+    };
+    meta.homepage = "https://github.com/Beaglefoot/tree-sitter-awk";
+  };
+  bash = buildGrammar {
+    language = "bash";
+    version = "77cf8a7";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-bash";
+      rev = "77cf8a7cab8904baf1a721762e012644ac1d4c7b";
+      hash = "sha256-UPMJ7iL8Y0NkAHtPDrkTjG1qFwr8rXuGqvsG+LTWqEY=";
+    };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-bash";
+  };
+  beancount = buildGrammar {
+    language = "beancount";
+    version = "4cbd1f0";
+    source = fetchFromGitHub {
+      owner = "polarmutex";
+      repo = "tree-sitter-beancount";
+      rev = "4cbd1f09cd07c1f1fabf867c2cf354f9da53cc4c";
+      hash = "sha256-Uh9/yBYXNKBvdpqNv1kr5eREYmKy3Z/kvaSZQpUl+0U=";
+    };
+    meta.homepage = "https://github.com/polarmutex/tree-sitter-beancount";
+  };
+  bibtex = buildGrammar {
+    language = "bibtex";
+    version = "ccfd77d";
+    source = fetchFromGitHub {
+      owner = "latex-lsp";
+      repo = "tree-sitter-bibtex";
+      rev = "ccfd77db0ed799b6c22c214fe9d2937f47bc8b34";
+      hash = "sha256-wgduSxlpbJy/ITenBLfj5lhziUM1BApX6MjXhWcb7lQ=";
+    };
+    meta.homepage = "https://github.com/latex-lsp/tree-sitter-bibtex";
+  };
+  blueprint = buildGrammar {
+    language = "blueprint";
+    version = "6ef91ca";
+    source = fetchFromGitLab {
+      owner = "gabmus";
+      repo = "tree-sitter-blueprint";
+      rev = "6ef91ca8270f0112b9c6d27ecb9966c741a5d103";
+      hash = "sha256-E7SWUWQFlFWXfmdqNXt2eKkvFusnBUILHerQEFj2JTg=";
+    };
+    meta.homepage = "https://gitlab.com/gabmus/tree-sitter-blueprint.git";
+  };
+  c = buildGrammar {
+    language = "c";
+    version = "7175a6d";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-c";
+      rev = "7175a6dd5fc1cee660dce6fe23f6043d75af424a";
+      hash = "sha256-G9kVqX8walvpI7gPvPzS8g7X8RVM9y5wJHGOcyjJA/A=";
+    };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-c";
+  };
+  c_sharp = buildGrammar {
+    language = "c_sharp";
+    version = "3ef3f7f";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-c-sharp";
+      rev = "3ef3f7f99e16e528e6689eae44dff35150993307";
+      hash = "sha256-xBRSwuodQTrKHjwx3JVgnwsAkp9EO+6su3hc2d+6DBQ=";
+    };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-c-sharp";
+  };
+  clojure = buildGrammar {
+    language = "clojure";
+    version = "087bac7";
+    source = fetchFromGitHub {
+      owner = "sogaiu";
+      repo = "tree-sitter-clojure";
+      rev = "087bac78c53fe1387756cd5b8e68a69b3f6d7244";
+      hash = "sha256-KiuSAchtqlVlwyBL4rU+p0fPjm52DrNDPq2ETVXOHQU=";
+    };
+    meta.homepage = "https://github.com/sogaiu/tree-sitter-clojure";
+  };
+  cmake = buildGrammar {
+    language = "cmake";
+    version = "6e51463";
+    source = fetchFromGitHub {
+      owner = "uyha";
+      repo = "tree-sitter-cmake";
+      rev = "6e51463ef3052dd3b328322c22172eda093727ad";
+      hash = "sha256-2xJaDgrCJQ2obGYvhsHk2/2p8lFNwuScjbjdxJihh5I=";
+    };
+    meta.homepage = "https://github.com/uyha/tree-sitter-cmake";
+  };
+  comment = buildGrammar {
+    language = "comment";
+    version = "a37ca37";
+    source = fetchFromGitHub {
+      owner = "stsewd";
+      repo = "tree-sitter-comment";
+      rev = "a37ca370310ac6f89b6e0ebf2b86b2219780494e";
+      hash = "sha256-wiFY2uMNv8Wet3qKh0bSe8FSO1sjGu1uTOBxnt/HHHg=";
+    };
+    meta.homepage = "https://github.com/stsewd/tree-sitter-comment";
+  };
+  commonlisp = buildGrammar {
+    language = "commonlisp";
+    version = "c7e8149";
+    source = fetchFromGitHub {
+      owner = "theHamsta";
+      repo = "tree-sitter-commonlisp";
+      rev = "c7e814975ab0d0d04333d1f32391c41180c58919";
+      hash = "sha256-63B9d5feHzwY7WDoeoPAwsuLYgVvoGQf0wkUdDO/A8M=";
+    };
+    meta.homepage = "https://github.com/theHamsta/tree-sitter-commonlisp";
+  };
+  cooklang = buildGrammar {
+    language = "cooklang";
+    version = "5e11341";
+    source = fetchFromGitHub {
+      owner = "addcninblue";
+      repo = "tree-sitter-cooklang";
+      rev = "5e113412aadb78955c27010daa4dbe1d202013cf";
+      hash = "sha256-Ny55gdN+3o7bFJEnXvctstl6gjqkwrp1uE33OobyH7U=";
+    };
+    meta.homepage = "https://github.com/addcninblue/tree-sitter-cooklang";
+  };
+  cpp = buildGrammar {
+    language = "cpp";
+    version = "5ead1e2";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-cpp";
+      rev = "5ead1e26c6ab71919db0f1880c46a278a93bc5ea";
+      hash = "sha256-h6mJdmQzJlxYIcY+d5IiaFghraUgBGZwqFPKwB3E4pQ=";
+    };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-cpp";
+  };
+  css = buildGrammar {
+    language = "css";
+    version = "769203d";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-css";
+      rev = "769203d0f9abe1a9a691ac2b9fe4bb4397a73c51";
+      hash = "sha256-5Qti/bFac2A1PJxqZEOuSLK3GGKYwPDKAp3OOassBxU=";
+    };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-css";
+  };
+  cuda = buildGrammar {
+    language = "cuda";
+    version = "7f1a79e";
+    source = fetchFromGitHub {
+      owner = "theHamsta";
+      repo = "tree-sitter-cuda";
+      rev = "7f1a79e612160aa02be87f1a24469ae3655fe818";
+      hash = "sha256-zBlv/KyUPNHRA8fKWaDgCeE1AX3EYTkwjo/RYHaKjK0=";
+    };
+    meta.homepage = "https://github.com/theHamsta/tree-sitter-cuda";
+  };
+  d = buildGrammar {
+    language = "d";
+    version = "c2fbf21";
+    source = fetchFromGitHub {
+      owner = "CyberShadow";
+      repo = "tree-sitter-d";
+      rev = "c2fbf21bd3aa45495fe13247e040ad5815250032";
+      hash = "sha256-1aW3nLZ5MbsOEiJ9PH6N/bBUlRihosWa4OWRcAmT3kc=";
+    };
+    generate = true;
+    meta.homepage = "https://github.com/CyberShadow/tree-sitter-d";
+  };
+  dart = buildGrammar {
+    language = "dart";
+    version = "53485a8";
+    source = fetchFromGitHub {
+      owner = "UserNobody14";
+      repo = "tree-sitter-dart";
+      rev = "53485a8f301254e19c518aa20c80f1bcf7cf5c62";
+      hash = "sha256-1IcvFcxIkcrOuq6bypD08PeYw6J/pL/MbYPt+dKHQbc=";
+    };
+    meta.homepage = "https://github.com/UserNobody14/tree-sitter-dart";
+  };
+  devicetree = buildGrammar {
+    language = "devicetree";
+    version = "ea30a05";
+    source = fetchFromGitHub {
+      owner = "joelspadin";
+      repo = "tree-sitter-devicetree";
+      rev = "ea30a05d0f0446a96d8b096ad11828ad4f8ad849";
+      hash = "sha256-ZiUMIsjVMxpchxmJQ3g2yXIn+/kAWPwTzMzx3IlW93o=";
+    };
+    generate = true;
+    meta.homepage = "https://github.com/joelspadin/tree-sitter-devicetree";
+  };
+  diff = buildGrammar {
+    language = "diff";
+    version = "330eb64";
+    source = fetchFromGitHub {
+      owner = "the-mikedavis";
+      repo = "tree-sitter-diff";
+      rev = "330eb648bbc257b4e91621e82a85372be7dde27a";
+      hash = "sha256-WK6pEUvIu6Xwsy5RuuUyNWLuSKkNkWh5R0hmyksIu8k=";
+    };
+    meta.homepage = "https://github.com/the-mikedavis/tree-sitter-diff";
+  };
+  dockerfile = buildGrammar {
+    language = "dockerfile";
+    version = "f913be9";
+    source = fetchFromGitHub {
+      owner = "camdencheek";
+      repo = "tree-sitter-dockerfile";
+      rev = "f913be9bb8689af22114605012693146fbe9ddaa";
+      hash = "sha256-EoZDjUyL4dEwE6E9r9KruQ8Kb83bAyyFq7a/NFBdZjU=";
+    };
+    meta.homepage = "https://github.com/camdencheek/tree-sitter-dockerfile";
+  };
+  dot = buildGrammar {
+    language = "dot";
+    version = "9ab8555";
+    source = fetchFromGitHub {
+      owner = "rydesun";
+      repo = "tree-sitter-dot";
+      rev = "9ab85550c896d8b294d9b9ca1e30698736f08cea";
+      hash = "sha256-w4DInIT7mkTvQ6Hmi8yaAww6ktyNgRz0tPfBLGnOawQ=";
+    };
+    meta.homepage = "https://github.com/rydesun/tree-sitter-dot";
+  };
+  eex = buildGrammar {
+    language = "eex";
+    version = "f742f2f";
+    source = fetchFromGitHub {
+      owner = "connorlay";
+      repo = "tree-sitter-eex";
+      rev = "f742f2fe327463335e8671a87c0b9b396905d1d1";
+      hash = "sha256-UPq62MkfGFh9m/UskoB9uBDIYOcotITCJXDyrbg/wKY=";
+    };
+    meta.homepage = "https://github.com/connorlay/tree-sitter-eex";
+  };
+  elixir = buildGrammar {
+    language = "elixir";
+    version = "b20eaa7";
+    source = fetchFromGitHub {
+      owner = "elixir-lang";
+      repo = "tree-sitter-elixir";
+      rev = "b20eaa75565243c50be5e35e253d8beb58f45d56";
+      hash = "sha256-BxFqSZIrDQFMCl+t88/j6ykpdD+ag5uIIWLrEWcHDMQ=";
+    };
+    meta.homepage = "https://github.com/elixir-lang/tree-sitter-elixir";
+  };
+  elm = buildGrammar {
+    language = "elm";
+    version = "28bb193";
+    source = fetchFromGitHub {
+      owner = "elm-tooling";
+      repo = "tree-sitter-elm";
+      rev = "28bb193640d916dfaf947912c1413cebb0484841";
+      hash = "sha256-Ijw9Ov8+IBLl0fQlkuH6rQ6E7tlKeD+huj0GZdz6XH8=";
+    };
+    meta.homepage = "https://github.com/elm-tooling/tree-sitter-elm";
+  };
+  elvish = buildGrammar {
+    language = "elvish";
+    version = "f32711e";
+    source = fetchFromGitHub {
+      owner = "ckafi";
+      repo = "tree-sitter-elvish";
+      rev = "f32711e31e987fd5c2c002f3daba02f25c68672f";
+      hash = "sha256-/3npcIfTH8w5ekLTb//ZCTxuSGhOXkUBaCq3WWcK2J4=";
+    };
+    meta.homepage = "https://github.com/ckafi/tree-sitter-elvish";
+  };
+  embedded_template = buildGrammar {
+    language = "embedded_template";
+    version = "91fc5ae";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-embedded-template";
+      rev = "91fc5ae1140d5c9d922312431f7d251a48d7b8ce";
+      hash = "sha256-WAMCwKS+gOvBVC9h0qKHLgNedCRQwbJV+++SDqHhK5g=";
+    };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-embedded-template";
+  };
+  erlang = buildGrammar {
+    language = "erlang";
+    version = "3a9c769";
+    source = fetchFromGitHub {
+      owner = "AbstractMachinesLab";
+      repo = "tree-sitter-erlang";
+      rev = "3a9c769444f08bbccce03845270efac0c641c5e7";
+      hash = "sha256-ZsjHTNUfTEPo3Wb1ihW0M2YTWK6mpNhxQG/nLfMaG4I=";
+    };
+    meta.homepage = "https://github.com/AbstractMachinesLab/tree-sitter-erlang";
+  };
+  fennel = buildGrammar {
+    language = "fennel";
+    version = "5171959";
+    source = fetchFromGitHub {
+      owner = "travonted";
+      repo = "tree-sitter-fennel";
+      rev = "517195970428aacca60891b050aa53eabf4ba78d";
+      hash = "sha256-7bmrLJunNAus8XbBcBiTS5enhSzZ1mecAAyqlZUtSgo=";
+    };
+    meta.homepage = "https://github.com/travonted/tree-sitter-fennel";
+  };
+  fish = buildGrammar {
+    language = "fish";
+    version = "84436cf";
+    source = fetchFromGitHub {
+      owner = "ram02z";
+      repo = "tree-sitter-fish";
+      rev = "84436cf24c2b3176bfbb220922a0fdbd0141e406";
+      hash = "sha256-oJuCd+2mTCEP/rNQzweShc7TZiqwKBIDRQqnV8VqQ4s=";
+    };
+    meta.homepage = "https://github.com/ram02z/tree-sitter-fish";
+  };
+  foam = buildGrammar {
+    language = "foam";
+    version = "fdb7f14";
+    source = fetchFromGitHub {
+      owner = "FoamScience";
+      repo = "tree-sitter-foam";
+      rev = "fdb7f14b885abfc4df57728c9b2a2f2ad24d3cb7";
+      hash = "sha256-E5Fr8185ypZbkaGIDE9lhQ0Vf1Dphx7n5suNkK0AFHU=";
+    };
+    meta.homepage = "https://github.com/FoamScience/tree-sitter-foam";
+  };
+  fortran = buildGrammar {
+    language = "fortran";
+    version = "f0f2f10";
+    source = fetchFromGitHub {
+      owner = "stadelmanma";
+      repo = "tree-sitter-fortran";
+      rev = "f0f2f100952a353e64e26b0fa710b4c296d7af13";
+      hash = "sha256-ylQLalRFqRu5N/lUxvwOds/UbLH2JJ7T/rOpo9H4MZ4=";
+    };
+    meta.homepage = "https://github.com/stadelmanma/tree-sitter-fortran";
+  };
+  fusion = buildGrammar {
+    language = "fusion";
+    version = "19db2f4";
+    source = fetchFromGitLab {
+      owner = "jirgn";
+      repo = "tree-sitter-fusion";
+      rev = "19db2f47ba4c3a0f6238d4ae0e2abfca16e61dd6";
+      hash = "sha256-195q39pZYipT0G08kQlwnDE28ODjAz2/Sq1tzpEGFmU=";
+    };
+    meta.homepage = "https://gitlab.com/jirgn/tree-sitter-fusion.git";
+  };
+  gdscript = buildGrammar {
+    language = "gdscript";
+    version = "2a6abda";
+    source = fetchFromGitHub {
+      owner = "PrestonKnopp";
+      repo = "tree-sitter-gdscript";
+      rev = "2a6abdaa47fcb91397e09a97c7433fd995ea46c6";
+      hash = "sha256-YDLPYwWHnwqj7CpgUKRXQYj2a6ZJUKc0bcalVSJ99Ew=";
+    };
+    meta.homepage = "https://github.com/PrestonKnopp/tree-sitter-gdscript";
+  };
+  git_rebase = buildGrammar {
+    language = "git_rebase";
+    version = "127f5b5";
+    source = fetchFromGitHub {
+      owner = "the-mikedavis";
+      repo = "tree-sitter-git-rebase";
+      rev = "127f5b56c1ad3e8a449a7d6e0c7412ead7f7724c";
+      hash = "sha256-4XGQTrflV+txVjXbgaQSd6rFES8TkuiXEurJLBdg59E=";
+    };
+    meta.homepage = "https://github.com/the-mikedavis/tree-sitter-git-rebase";
+  };
+  gitattributes = buildGrammar {
+    language = "gitattributes";
+    version = "cee9f88";
+    source = fetchFromGitHub {
+      owner = "ObserverOfTime";
+      repo = "tree-sitter-gitattributes";
+      rev = "cee9f8865694b29bb9e85e0b90805f92ad3fc47e";
+      hash = "sha256-Ne9D4c58AWvZz/2ytP0lJzKIss2hJtZFgSKsot9MOJE=";
+    };
+    meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-gitattributes";
+  };
+  gitignore = buildGrammar {
+    language = "gitignore";
+    version = "f4685bf";
+    source = fetchFromGitHub {
+      owner = "shunsambongi";
+      repo = "tree-sitter-gitignore";
+      rev = "f4685bf11ac466dd278449bcfe5fd014e94aa504";
+      hash = "sha256-MjoY1tlVZgN6JqoTjhhg0zSdHzc8yplMr8824sfIKp8=";
+    };
+    generate = true;
+    meta.homepage = "https://github.com/shunsambongi/tree-sitter-gitignore";
+  };
+  gleam = buildGrammar {
+    language = "gleam";
+    version = "cfcbca3";
+    source = fetchFromGitHub {
+      owner = "J3RN";
+      repo = "tree-sitter-gleam";
+      rev = "cfcbca3f8f734773878e00d7bfcedea98eb10be2";
+      hash = "sha256-lwaTlIIh4jA92ECMuxV7NtebKrjJSNoXtCe90YIQ4eE=";
+    };
+    meta.homepage = "https://github.com/J3RN/tree-sitter-gleam";
+  };
+  glimmer = buildGrammar {
+    language = "glimmer";
+    version = "abcc997";
+    source = fetchFromGitHub {
+      owner = "alexlafroscia";
+      repo = "tree-sitter-glimmer";
+      rev = "abcc9970da0ed0645741bf52ea70232374bc9e52";
+      hash = "sha256-kkNnyaAXeZJ770Jl4mmOdyXvq6bQd/9Q6eVyr+JV2jY=";
+    };
+    meta.homepage = "https://github.com/alexlafroscia/tree-sitter-glimmer";
+  };
+  glsl = buildGrammar {
+    language = "glsl";
+    version = "a743ada";
+    source = fetchFromGitHub {
+      owner = "theHamsta";
+      repo = "tree-sitter-glsl";
+      rev = "a743ada24fa17da9acc5665133f07d56e03530be";
+      hash = "sha256-l2t2U4fZYMMpc1Nkv8JODtDny0/kSUsbiJ/VVD5VyhI=";
+    };
+    meta.homepage = "https://github.com/theHamsta/tree-sitter-glsl";
+  };
+  go = buildGrammar {
+    language = "go";
+    version = "05900fa";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-go";
+      rev = "05900faa3cdb5d2d8c8bd5e77ee698487e0a8611";
+      hash = "sha256-f885YTswEDH/QfRPUxcLp/1E2zXLKl25R9IyTGKb1eM=";
+    };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-go";
+  };
+  godot_resource = buildGrammar {
+    language = "godot_resource";
+    version = "b6ef076";
+    source = fetchFromGitHub {
+      owner = "PrestonKnopp";
+      repo = "tree-sitter-godot-resource";
+      rev = "b6ef0768711086a86b3297056f9ffb5cc1d77b4a";
+      hash = "sha256-ws/8nL+HOoPb6Hcdh4pihjPoRw90R1fy7MB0V9Lb9ik=";
+    };
+    generate = true;
+    meta.homepage = "https://github.com/PrestonKnopp/tree-sitter-godot-resource";
+  };
+  gomod = buildGrammar {
+    language = "gomod";
+    version = "4a65743";
+    source = fetchFromGitHub {
+      owner = "camdencheek";
+      repo = "tree-sitter-go-mod";
+      rev = "4a65743dbc2bb3094114dd2b43da03c820aa5234";
+      hash = "sha256-znvUD/xqwSUeHCDxwXIgPXiB94bY1wEOjRQSvURcdME=";
+    };
+    meta.homepage = "https://github.com/camdencheek/tree-sitter-go-mod";
+  };
+  gowork = buildGrammar {
+    language = "gowork";
+    version = "949a8a4";
+    source = fetchFromGitHub {
+      owner = "omertuc";
+      repo = "tree-sitter-go-work";
+      rev = "949a8a470559543857a62102c84700d291fc984c";
+      hash = "sha256-Tode7W05xaOKKD5QOp3rayFgLEOiMJUeGpVsIrizxto=";
+    };
+    meta.homepage = "https://github.com/omertuc/tree-sitter-go-work";
+  };
+  graphql = buildGrammar {
+    language = "graphql";
+    version = "5e66e96";
+    source = fetchFromGitHub {
+      owner = "bkegley";
+      repo = "tree-sitter-graphql";
+      rev = "5e66e961eee421786bdda8495ed1db045e06b5fe";
+      hash = "sha256-NvE9Rpdp4sALqKSRWJpqxwl6obmqnIIdvrL1nK5peXc=";
+    };
+    meta.homepage = "https://github.com/bkegley/tree-sitter-graphql";
+  };
+  hack = buildGrammar {
+    language = "hack";
+    version = "b7bd692";
+    source = fetchFromGitHub {
+      owner = "slackhq";
+      repo = "tree-sitter-hack";
+      rev = "b7bd6928532ada34dddb1dece4a158ab62c6e783";
+      hash = "sha256-TSbi4Ik/AjswuIdTaFfJ53S0c/qfq0JYPzVv07JASmc=";
+    };
+    meta.homepage = "https://github.com/slackhq/tree-sitter-hack";
+  };
+  haskell = buildGrammar {
+    language = "haskell";
+    version = "aee3725";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-haskell";
+      rev = "aee3725d02cf3bca5f307b35dd3a96a97e109b4e";
+      hash = "sha256-DmrrRht3g0hG+OsJCHRL+xW4jflLqtG57AuFf7zd26c=";
+    };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-haskell";
+  };
+  hcl = buildGrammar {
+    language = "hcl";
+    version = "45ce22c";
+    source = fetchFromGitHub {
+      owner = "MichaHoffmann";
+      repo = "tree-sitter-hcl";
+      rev = "45ce22c16ec924e34517cf785e23c07952e45893";
+      hash = "sha256-SczU8y70mdqDl2iVKTfD8Taq580x31xMswUhoU48yfE=";
+    };
+    meta.homepage = "https://github.com/MichaHoffmann/tree-sitter-hcl";
+  };
+  heex = buildGrammar {
+    language = "heex";
+    version = "2e1348c";
+    source = fetchFromGitHub {
+      owner = "connorlay";
+      repo = "tree-sitter-heex";
+      rev = "2e1348c3cf2c9323e87c2744796cf3f3868aa82a";
+      hash = "sha256-6LREyZhdTDt3YHVRPDyqCaDXqcsPlHOoMFDb2B3+3xM=";
+    };
+    meta.homepage = "https://github.com/connorlay/tree-sitter-heex";
+  };
+  help = buildGrammar {
+    language = "help";
+    version = "49cdef5";
+    source = fetchFromGitHub {
+      owner = "neovim";
+      repo = "tree-sitter-vimdoc";
+      rev = "49cdef52ded4a886bf34bc474876b09f9270d48f";
+      hash = "sha256-szNY2yw5i9pgF+MpaEAkP8BgSYEe6nrFW+17sbSZ6Yc=";
+    };
+    meta.homepage = "https://github.com/neovim/tree-sitter-vimdoc";
+  };
+  hjson = buildGrammar {
+    language = "hjson";
+    version = "02fa3b7";
+    source = fetchFromGitHub {
+      owner = "winston0410";
+      repo = "tree-sitter-hjson";
+      rev = "02fa3b79b3ff9a296066da6277adfc3f26cbc9e0";
+      hash = "sha256-NsTf3DR3gHVMYZDmTNvThB5bJcDwTcJ1+3eJhvsiDn8=";
+    };
+    meta.homepage = "https://github.com/winston0410/tree-sitter-hjson";
+  };
+  hlsl = buildGrammar {
+    language = "hlsl";
+    version = "384b26e";
+    source = fetchFromGitHub {
+      owner = "theHamsta";
+      repo = "tree-sitter-hlsl";
+      rev = "384b26ec65e10f26cf147bfcde772c50ca5ef0d0";
+      hash = "sha256-f6jKhC1vPpNTY0Rv1WMdJMNXRFiLsCApy/kIv7CBesA=";
+    };
+    meta.homepage = "https://github.com/theHamsta/tree-sitter-hlsl";
+  };
+  hocon = buildGrammar {
+    language = "hocon";
+    version = "c390f10";
+    source = fetchFromGitHub {
+      owner = "antosha417";
+      repo = "tree-sitter-hocon";
+      rev = "c390f10519ae69fdb03b3e5764f5592fb6924bcc";
+      hash = "sha256-9Zo3YYoo9mJ4Buyj7ofSrlZURrwstBo0vgzeTq1jMGw=";
+    };
+    meta.homepage = "https://github.com/antosha417/tree-sitter-hocon";
+  };
+  html = buildGrammar {
+    language = "html";
+    version = "29f53d8";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-html";
+      rev = "29f53d8f4f2335e61bf6418ab8958dac3282077a";
+      hash = "sha256-v84N9erFL+QMoxh1dtfVdAJ5iTCoiFcT3kQ2+yq8TXE=";
+    };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-html";
+  };
+  http = buildGrammar {
+    language = "http";
+    version = "30a9c17";
+    source = fetchFromGitHub {
+      owner = "rest-nvim";
+      repo = "tree-sitter-http";
+      rev = "30a9c1789d64429a830802cde5b1760ff1064312";
+      hash = "sha256-XpKw6v6fnowdJmoIZGn3N1r9JXdJnNifgj+DPNFuoz0=";
+    };
+    meta.homepage = "https://github.com/rest-nvim/tree-sitter-http";
+  };
+  java = buildGrammar {
+    language = "java";
+    version = "09d650d";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-java";
+      rev = "09d650def6cdf7f479f4b78f595e9ef5b58ce31e";
+      hash = "sha256-tGBi6gJJIPpp6oOwmAQdqBD6eaJRBRcYbWtm1BHsgBA=";
+    };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-java";
+  };
+  javascript = buildGrammar {
+    language = "javascript";
+    version = "936d976";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-javascript";
+      rev = "936d976a782e75395d9b1c8c7c7bf4ba6fe0d86b";
+      hash = "sha256-uZW1L9ZE1YSZbwxiqSDiKycWv5mSRG4k4MlWFYoWRbw=";
+    };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-javascript";
+  };
+  jq = buildGrammar {
+    language = "jq";
+    version = "13990f5";
+    source = fetchFromGitHub {
+      owner = "flurie";
+      repo = "tree-sitter-jq";
+      rev = "13990f530e8e6709b7978503da9bc8701d366791";
+      hash = "sha256-pek2Vg1osMYAdx6DfVdZhuIDb26op3i2cfvMrf5v3xY=";
+    };
+    meta.homepage = "https://github.com/flurie/tree-sitter-jq";
+  };
+  jsdoc = buildGrammar {
+    language = "jsdoc";
+    version = "189a6a4";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-jsdoc";
+      rev = "189a6a4829beb9cdbe837260653b4a3dfb0cc3db";
+      hash = "sha256-Zhl9mEpJE9Qy3MVScE2JK4i8OFZUXl5KMhKMS4bw+mI=";
+    };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-jsdoc";
+  };
+  json = buildGrammar {
+    language = "json";
+    version = "7307675";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-json";
+      rev = "73076754005a460947cafe8e03a8cf5fa4fa2938";
+      hash = "sha256-wbE7CQ6l1wlhJdAoDVAj1QzyvlYnevbrlVCO0TMU7to=";
+    };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-json";
+  };
+  json5 = buildGrammar {
+    language = "json5";
+    version = "5dd5cdc";
+    source = fetchFromGitHub {
+      owner = "Joakker";
+      repo = "tree-sitter-json5";
+      rev = "5dd5cdc418d9659682556b6adca2dd9ace0ac6d2";
+      hash = "sha256-B3wZS/OtW4hKOHsoYdYK2zsJGID8fuIm8C+IuAteR9E=";
+    };
+    meta.homepage = "https://github.com/Joakker/tree-sitter-json5";
+  };
+  jsonc = buildGrammar {
+    language = "jsonc";
+    version = "02b0165";
+    source = fetchFromGitLab {
+      owner = "WhyNotHugo";
+      repo = "tree-sitter-jsonc";
+      rev = "02b01653c8a1c198ae7287d566efa86a135b30d5";
+      hash = "sha256-iWc2ePRiQnZ0FEdMAaAwa3iYt/SY0bEjQrZyqE9EhlU=";
+    };
+    meta.homepage = "https://gitlab.com/WhyNotHugo/tree-sitter-jsonc.git";
+  };
+  jsonnet = buildGrammar {
+    language = "jsonnet";
+    version = "0475a50";
+    source = fetchFromGitHub {
+      owner = "sourcegraph";
+      repo = "tree-sitter-jsonnet";
+      rev = "0475a5017ad7dc84845d1d33187f2321abcb261d";
+      hash = "sha256-7LdIA+tsFUIvAk9GoqJwSU5tJDNPtsziv0rbiiLmCLY=";
+    };
+    meta.homepage = "https://github.com/sourcegraph/tree-sitter-jsonnet";
+  };
+  julia = buildGrammar {
+    language = "julia";
+    version = "6287135";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-julia";
+      rev = "628713553c42f30595a3b0085bb587e9359b986a";
+      hash = "sha256-vB9HnWQ+659Itu8cvd0meLbbLzn62/dDroA3vB7ZtIs=";
+    };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-julia";
+  };
+  kotlin = buildGrammar {
+    language = "kotlin";
+    version = "b953dbd";
+    source = fetchFromGitHub {
+      owner = "fwcd";
+      repo = "tree-sitter-kotlin";
+      rev = "b953dbdd05257fcb2b64bc4d9c1578fac12e3c28";
+      hash = "sha256-xTbRn7bDN6FR9UOzw43RVHIahI/DFjwLGQj3cYoPurY=";
+    };
+    meta.homepage = "https://github.com/fwcd/tree-sitter-kotlin";
+  };
+  lalrpop = buildGrammar {
+    language = "lalrpop";
+    version = "7744b56";
+    source = fetchFromGitHub {
+      owner = "traxys";
+      repo = "tree-sitter-lalrpop";
+      rev = "7744b56f03ac1e5643fad23c9dd90837fe97291e";
+      hash = "sha256-xz+D1lS/bpHHu2rJEjalpMajSKl3yn+bQI9JN0Bm7tU=";
+    };
+    meta.homepage = "https://github.com/traxys/tree-sitter-lalrpop";
+  };
+  latex = buildGrammar {
+    language = "latex";
+    version = "8c75e93";
+    source = fetchFromGitHub {
+      owner = "latex-lsp";
+      repo = "tree-sitter-latex";
+      rev = "8c75e93cd08ccb7ce1ccab22c1fbd6360e3bcea6";
+      hash = "sha256-zkp4De2eBoOsPZRHHT3mIPVWFPYboTvn6AQ4AkwXhFE=";
+    };
+    meta.homepage = "https://github.com/latex-lsp/tree-sitter-latex";
+  };
+  ledger = buildGrammar {
+    language = "ledger";
+    version = "47b8971";
+    source = fetchFromGitHub {
+      owner = "cbarrete";
+      repo = "tree-sitter-ledger";
+      rev = "47b8971448ce5e9abac865f450c1b14fb3b6eee9";
+      hash = "sha256-Doz561oVrWkmUAL3VUTjraO+F0aDuahhBB+xXevTrkg=";
+    };
+    meta.homepage = "https://github.com/cbarrete/tree-sitter-ledger";
+  };
+  llvm = buildGrammar {
+    language = "llvm";
+    version = "e9948ed";
+    source = fetchFromGitHub {
+      owner = "benwilliamgraham";
+      repo = "tree-sitter-llvm";
+      rev = "e9948edc41e9e5869af99dddb2b5ff5cc5581af6";
+      hash = "sha256-M7smrjU+7L9a2kpz0wM+G+YQGTQaqsVL/Q+OCKlPpzQ=";
+    };
+    meta.homepage = "https://github.com/benwilliamgraham/tree-sitter-llvm";
+  };
+  lua = buildGrammar {
+    language = "lua";
+    version = "fb30e8c";
+    source = fetchFromGitHub {
+      owner = "MunifTanjim";
+      repo = "tree-sitter-lua";
+      rev = "fb30e8cb605e2ebd6c643e6981325a63fbbde320";
+      hash = "sha256-gT2WHH3rkFzb6iER0ryVU7bqVbh36RbTI9HSWMh3DsI=";
+    };
+    meta.homepage = "https://github.com/MunifTanjim/tree-sitter-lua";
+  };
+  m68k = buildGrammar {
+    language = "m68k";
+    version = "d097b12";
+    source = fetchFromGitHub {
+      owner = "grahambates";
+      repo = "tree-sitter-m68k";
+      rev = "d097b123f19c6eaba2bf181c05420d88b9fc489d";
+      hash = "sha256-y1nioJ2R0YgGLH7dkJsTxIkejfMnh1CU+A++yTaQdb0=";
+    };
+    meta.homepage = "https://github.com/grahambates/tree-sitter-m68k";
+  };
+  make = buildGrammar {
+    language = "make";
+    version = "a4b9187";
+    source = fetchFromGitHub {
+      owner = "alemuller";
+      repo = "tree-sitter-make";
+      rev = "a4b9187417d6be349ee5fd4b6e77b4172c6827dd";
+      hash = "sha256-qQqapnKKH5X8rkxbZG5PjnyxvnpyZHpFVi/CLkIn/x0=";
+    };
+    meta.homepage = "https://github.com/alemuller/tree-sitter-make";
+  };
+  markdown = buildGrammar {
+    language = "markdown";
+    version = "272e080";
+    source = fetchFromGitHub {
+      owner = "MDeiml";
+      repo = "tree-sitter-markdown";
+      rev = "272e080bca0efd19a06a7f4252d746417224959e";
+      hash = "sha256-gKbjAcY/x9sIxiG7edolAQp2JWrx78mEGeCpayxFOuE=";
+    };
+    location = "tree-sitter-markdown";
+    meta.homepage = "https://github.com/MDeiml/tree-sitter-markdown";
+  };
+  markdown_inline = buildGrammar {
+    language = "markdown_inline";
+    version = "272e080";
+    source = fetchFromGitHub {
+      owner = "MDeiml";
+      repo = "tree-sitter-markdown";
+      rev = "272e080bca0efd19a06a7f4252d746417224959e";
+      hash = "sha256-gKbjAcY/x9sIxiG7edolAQp2JWrx78mEGeCpayxFOuE=";
+    };
+    location = "tree-sitter-markdown-inline";
+    meta.homepage = "https://github.com/MDeiml/tree-sitter-markdown";
+  };
+  menhir = buildGrammar {
+    language = "menhir";
+    version = "db7953a";
+    source = fetchFromGitHub {
+      owner = "Kerl13";
+      repo = "tree-sitter-menhir";
+      rev = "db7953acb0d5551f207373c81fa07a57d7b085cb";
+      hash = "sha256-w/ibFZ4bMPPRTgTJFLQrAzMecykJFcrjJjekKMXwqSI=";
+    };
+    meta.homepage = "https://github.com/Kerl13/tree-sitter-menhir";
+  };
+  meson = buildGrammar {
+    language = "meson";
+    version = "153d225";
+    source = fetchFromGitHub {
+      owner = "Decodetalkers";
+      repo = "tree-sitter-meson";
+      rev = "153d22588fb5c1eee16a165a084f9ea30f29d941";
+      hash = "sha256-q0qcRe94+zFvNzZV6vGGihL5xLl8Vr0lwDZAIYKPq2A=";
+    };
+    meta.homepage = "https://github.com/Decodetalkers/tree-sitter-meson";
+  };
+  nickel = buildGrammar {
+    language = "nickel";
+    version = "9d83db4";
+    source = fetchFromGitHub {
+      owner = "nickel-lang";
+      repo = "tree-sitter-nickel";
+      rev = "9d83db400b6c11260b9106f131f93ddda8131933";
+      hash = "sha256-Jv7GMm6TpJE8+0pG045rFWkW/9rkv1Pn/6ko2a0bpmY=";
+    };
+    meta.homepage = "https://github.com/nickel-lang/tree-sitter-nickel";
+  };
+  ninja = buildGrammar {
+    language = "ninja";
+    version = "0a95cfd";
+    source = fetchFromGitHub {
+      owner = "alemuller";
+      repo = "tree-sitter-ninja";
+      rev = "0a95cfdc0745b6ae82f60d3a339b37f19b7b9267";
+      hash = "sha256-e/LpQUL3UHHko4QvMeT40LCvPZRT7xTGZ9z1Zaboru4=";
+    };
+    meta.homepage = "https://github.com/alemuller/tree-sitter-ninja";
+  };
+  nix = buildGrammar {
+    language = "nix";
+    version = "6b71a81";
+    source = fetchFromGitHub {
+      owner = "cstrahan";
+      repo = "tree-sitter-nix";
+      rev = "6b71a810c0acd49b980c50fc79092561f7cee307";
+      hash = "sha256-uTgSj4zz8WvzwIr7UO78F45nzVSjjitdtKY8GV4iL+w=";
+    };
+    meta.homepage = "https://github.com/cstrahan/tree-sitter-nix";
+  };
+  norg = buildGrammar {
+    language = "norg";
+    version = "8ad2005";
+    source = fetchFromGitHub {
+      owner = "nvim-neorg";
+      repo = "tree-sitter-norg";
+      rev = "8ad20059c6f128861c4506fff866150ffee1d6f4";
+      hash = "sha256-1cKH3k/nbZhZleINZ91M+glG1m2SlBJR/AP7mz/SAvI=";
+    };
+    meta.homepage = "https://github.com/nvim-neorg/tree-sitter-norg";
+  };
+  ocaml = buildGrammar {
+    language = "ocaml";
+    version = "cc26b1e";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-ocaml";
+      rev = "cc26b1ef111100f26a137bcbcd39fd4e35be9a59";
+      hash = "sha256-gTmRBFFCBrA48Yn1MO2mMQPpa6u3uv5McC4BDuMXKuM=";
+    };
+    location = "ocaml";
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-ocaml";
+  };
+  ocaml_interface = buildGrammar {
+    language = "ocaml_interface";
+    version = "cc26b1e";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-ocaml";
+      rev = "cc26b1ef111100f26a137bcbcd39fd4e35be9a59";
+      hash = "sha256-gTmRBFFCBrA48Yn1MO2mMQPpa6u3uv5McC4BDuMXKuM=";
+    };
+    location = "interface";
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-ocaml";
+  };
+  ocamllex = buildGrammar {
+    language = "ocamllex";
+    version = "ac1d595";
+    source = fetchFromGitHub {
+      owner = "atom-ocaml";
+      repo = "tree-sitter-ocamllex";
+      rev = "ac1d5957e719d49bd6acd27439b79843e4daf8ed";
+      hash = "sha256-XRxAnl+9F6AYPyd6BGNQOo+KjRs2el78ziyo7NeD1IE=";
+    };
+    generate = true;
+    meta.homepage = "https://github.com/atom-ocaml/tree-sitter-ocamllex";
+  };
+  org = buildGrammar {
+    language = "org";
+    version = "081179c";
+    source = fetchFromGitHub {
+      owner = "milisims";
+      repo = "tree-sitter-org";
+      rev = "081179c52b3e8175af62b9b91dc099d010c38770";
+      hash = "sha256-tD9sL84LKvkhBzTU40pfd32ggxAcPG2Qk9HIhNXKM0E=";
+    };
+    meta.homepage = "https://github.com/milisims/tree-sitter-org";
+  };
+  pascal = buildGrammar {
+    language = "pascal";
+    version = "2fd40f4";
+    source = fetchFromGitHub {
+      owner = "Isopod";
+      repo = "tree-sitter-pascal";
+      rev = "2fd40f477d3e2794af152618ccfac8d92eb72a66";
+      hash = "sha256-/nChZspacQymw+1P7yrkOpa7BIBVIKeLKUv0y9Hk8oc=";
+    };
+    meta.homepage = "https://github.com/Isopod/tree-sitter-pascal.git";
+  };
+  perl = buildGrammar {
+    language = "perl";
+    version = "749d26f";
+    source = fetchFromGitHub {
+      owner = "ganezdragon";
+      repo = "tree-sitter-perl";
+      rev = "749d26fe13fb131b92e6515416096e572575b981";
+      hash = "sha256-VOLvfgh1ZbuDk1BKBW9ln/9b/seudFv0PTIOFe1AtNE=";
+    };
+    meta.homepage = "https://github.com/ganezdragon/tree-sitter-perl";
+  };
+  php = buildGrammar {
+    language = "php";
+    version = "ab2e721";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-php";
+      rev = "ab2e72179ceb8bb0b249c8ac9162a148e911b3dc";
+      hash = "sha256-Lg4gEi6bCYosakr2McmgOwGHsmsVSjD+oyG6XNTd0j0=";
+    };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
+  };
+  phpdoc = buildGrammar {
+    language = "phpdoc";
+    version = "2f4d16c";
+    source = fetchFromGitHub {
+      owner = "claytonrcarter";
+      repo = "tree-sitter-phpdoc";
+      rev = "2f4d16c861b5a454b577d057f247f9902d7b47f5";
+      hash = "sha256-7oriB1AWNvedT1JRoCYuF2m5+E9MYr85Lg38KRZ+BKo=";
+    };
+    meta.homepage = "https://github.com/claytonrcarter/tree-sitter-phpdoc";
+  };
+  pioasm = buildGrammar {
+    language = "pioasm";
+    version = "924aada";
+    source = fetchFromGitHub {
+      owner = "leo60228";
+      repo = "tree-sitter-pioasm";
+      rev = "924aadaf5dea2a6074d72027b064f939acf32e20";
+      hash = "sha256-og5DjoyTtKUTp0V4/PpcGb8xwzLeidsb2lq0+QF7u9M=";
+    };
+    meta.homepage = "https://github.com/leo60228/tree-sitter-pioasm";
+  };
+  prisma = buildGrammar {
+    language = "prisma";
+    version = "17a5923";
+    source = fetchFromGitHub {
+      owner = "victorhqc";
+      repo = "tree-sitter-prisma";
+      rev = "17a59236ac25413b81b1613ea6ba5d8d52d7cd6c";
+      hash = "sha256-EdeKTmai/OM0WzCjcLmzHI41EqJWH/dOJJxvCE2sid8=";
+    };
+    meta.homepage = "https://github.com/victorhqc/tree-sitter-prisma";
+  };
+  proto = buildGrammar {
+    language = "proto";
+    version = "42d82fa";
+    source = fetchFromGitHub {
+      owner = "mitchellh";
+      repo = "tree-sitter-proto";
+      rev = "42d82fa18f8afe59b5fc0b16c207ee4f84cb185f";
+      hash = "sha256-cX+0YARIa9i8UymPPviyoj+Wh37AFYl9fsoNZMQXPgA=";
+    };
+    meta.homepage = "https://github.com/mitchellh/tree-sitter-proto";
+  };
+  pug = buildGrammar {
+    language = "pug";
+    version = "63e2149";
+    source = fetchFromGitHub {
+      owner = "zealot128";
+      repo = "tree-sitter-pug";
+      rev = "63e214905970e75f065688b1e8aa90823c3aacdc";
+      hash = "sha256-t/KRUV1DMlU/xu5BRe1VZm+dliXdtUVhFO+6psiHf+Q=";
+    };
+    meta.homepage = "https://github.com/zealot128/tree-sitter-pug";
+  };
+  python = buildGrammar {
+    language = "python";
+    version = "b14614e";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-python";
+      rev = "b14614e2144b8f9ee54deed5a24f3c6f51f9ffa8";
+      hash = "sha256-4TDEK3v7hqinisXtAi/iJL0rUKqII07oVg/Jz3IV2yA=";
+    };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-python";
+  };
+  ql = buildGrammar {
+    language = "ql";
+    version = "bd08702";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-ql";
+      rev = "bd087020f0d8c183080ca615d38de0ec827aeeaf";
+      hash = "sha256-2QOtNguYAIhIhGuVqyx/33gFu3OqcxAPBZOk85Q226M=";
+    };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-ql";
+  };
+  qmljs = buildGrammar {
+    language = "qmljs";
+    version = "0b2b25b";
+    source = fetchFromGitHub {
+      owner = "yuja";
+      repo = "tree-sitter-qmljs";
+      rev = "0b2b25bcaa7d4925d5f0dda16f6a99c588a437f1";
+      hash = "sha256-Hf8LfrN3YjN9hpGtTVmK3ZjJ/b/fsRCg9FG7hSSj/mk=";
+    };
+    meta.homepage = "https://github.com/yuja/tree-sitter-qmljs";
+  };
+  query = buildGrammar {
+    language = "query";
+    version = "0695cd0";
+    source = fetchFromGitHub {
+      owner = "nvim-treesitter";
+      repo = "tree-sitter-query";
+      rev = "0695cd0760532de7b54f23c667d459b5d1332b44";
+      hash = "sha256-DwhvOvUb3hNmZTTk5HkZ9X1DCWz+G3+YJ0l/PqLVDdU=";
+    };
+    meta.homepage = "https://github.com/nvim-treesitter/tree-sitter-query";
+  };
+  r = buildGrammar {
+    language = "r";
+    version = "80efda5";
+    source = fetchFromGitHub {
+      owner = "r-lib";
+      repo = "tree-sitter-r";
+      rev = "80efda55672d1293aa738f956c7ae384ecdc31b4";
+      hash = "sha256-qUfyITSZRnSm4zZHfkM/Dm5AeFEFLcCtRrInx0Xs/tg=";
+    };
+    meta.homepage = "https://github.com/r-lib/tree-sitter-r";
+  };
+  racket = buildGrammar {
+    language = "racket";
+    version = "09cb27a";
+    source = fetchFromGitHub {
+      owner = "6cdh";
+      repo = "tree-sitter-racket";
+      rev = "09cb27a06415bce529a26774a842f5a80d50d362";
+      hash = "sha256-+chEzpHh4eBTEpx2+sFXDMco18zNPFUu5HMQ3dB+LwI=";
+    };
+    meta.homepage = "https://github.com/6cdh/tree-sitter-racket";
+  };
+  rasi = buildGrammar {
+    language = "rasi";
+    version = "1239134";
+    source = fetchFromGitHub {
+      owner = "Fymyte";
+      repo = "tree-sitter-rasi";
+      rev = "12391343979463a2484e6353e5afb6dcb8c31e8b";
+      hash = "sha256-JmL2Ei2DZhsZ4jFQ8s6B0ig9bflDs9dLr5/QknDqqRc=";
+    };
+    meta.homepage = "https://github.com/Fymyte/tree-sitter-rasi";
+  };
+  regex = buildGrammar {
+    language = "regex";
+    version = "e1cfca3";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-regex";
+      rev = "e1cfca3c79896ff79842f057ea13e529b66af636";
+      hash = "sha256-lDsr3sLrLf6wXu/juIA+bTtv1SBo+Jgwqw/6yBAE0kg=";
+    };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-regex";
+  };
+  rego = buildGrammar {
+    language = "rego";
+    version = "b2667c9";
+    source = fetchFromGitHub {
+      owner = "FallenAngel97";
+      repo = "tree-sitter-rego";
+      rev = "b2667c975f07b33be3ceb83bea5cfbad88095866";
+      hash = "sha256-y3w+gfjXb9N8Vf6ZrafP1j50Ap2KPaNfwo5h06EqHKM=";
+    };
+    meta.homepage = "https://github.com/FallenAngel97/tree-sitter-rego";
+  };
+  rnoweb = buildGrammar {
+    language = "rnoweb";
+    version = "502c112";
+    source = fetchFromGitHub {
+      owner = "bamonroe";
+      repo = "tree-sitter-rnoweb";
+      rev = "502c1126dc6777f09af5bef16e72a42f75bd081e";
+      hash = "sha256-aGEhy4uMhKFbL0+JO5rrn3GIe//8PZpDHEMDGHDlBCY=";
+    };
+    meta.homepage = "https://github.com/bamonroe/tree-sitter-rnoweb";
+  };
+  rst = buildGrammar {
+    language = "rst";
+    version = "25e6328";
+    source = fetchFromGitHub {
+      owner = "stsewd";
+      repo = "tree-sitter-rst";
+      rev = "25e6328872ac3a764ba8b926aea12719741103f1";
+      hash = "sha256-g3CovnXY15SkxAdVk15M4hAxizqLc551omwKKG+Vozg=";
+    };
+    meta.homepage = "https://github.com/stsewd/tree-sitter-rst";
+  };
+  ruby = buildGrammar {
+    language = "ruby";
+    version = "c919603";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-ruby";
+      rev = "c91960320d0f337bdd48308a8ad5500bd2616979";
+      hash = "sha256-zUNs7s7SLGLU4h08FHLUA3YhbhRotMQVqk+zG9bmtjE=";
+    };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-ruby";
+  };
+  rust = buildGrammar {
+    language = "rust";
+    version = "0431a2c";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-rust";
+      rev = "0431a2c60828731f27491ee9fdefe25e250ce9c9";
+      hash = "sha256-DnUq8TwLGPtN1GXw0AV2t+tj7UKrU4kU32rjGoCHMpE=";
+    };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-rust";
+  };
+  scala = buildGrammar {
+    language = "scala";
+    version = "140c96c";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-scala";
+      rev = "140c96cf398693189d4e50f76d19ddfcd8a018f8";
+      hash = "sha256-Sr4+avj0v1y8K6XXPAVwJDTa6+RmbKe/4dzd0k0y3cE=";
+    };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-scala";
+  };
+  scheme = buildGrammar {
+    language = "scheme";
+    version = "bdcd2c8";
+    source = fetchFromGitHub {
+      owner = "6cdh";
+      repo = "tree-sitter-scheme";
+      rev = "bdcd2c8496701153506a9e3e1b76dfed852873ba";
+      hash = "sha256-KfcWGE92nx9lrs3V/lKeE0pPqCqFC/mHamkyryrcdoo=";
+    };
+    meta.homepage = "https://github.com/6cdh/tree-sitter-scheme";
+  };
+  scss = buildGrammar {
+    language = "scss";
+    version = "c478c68";
+    source = fetchFromGitHub {
+      owner = "serenadeai";
+      repo = "tree-sitter-scss";
+      rev = "c478c6868648eff49eb04a4df90d703dc45b312a";
+      hash = "sha256-BFtMT6eccBWUyq6b8UXRAbB1R1XD3CrrFf1DM3aUI5c=";
+    };
+    meta.homepage = "https://github.com/serenadeai/tree-sitter-scss";
+  };
+  slint = buildGrammar {
+    language = "slint";
+    version = "d422300";
+    source = fetchFromGitHub {
+      owner = "jrmoulton";
+      repo = "tree-sitter-slint";
+      rev = "d422300f5d6ccce8f9a617dfed57aafb636fadb2";
+      hash = "sha256-j6NBJaix0oOUKLAaeo+/1XdYatStqyaTyLKawq/nFvc=";
+    };
+    meta.homepage = "https://github.com/jrmoulton/tree-sitter-slint";
+  };
+  solidity = buildGrammar {
+    language = "solidity";
+    version = "52ed088";
+    source = fetchFromGitHub {
+      owner = "YongJieYongJie";
+      repo = "tree-sitter-solidity";
+      rev = "52ed0880c0126df2f2c7693f215fe6f38e4a2e0a";
+      hash = "sha256-ZyeUYtE0pyQIPnZhza6u6yQO0Mx8brgAUmUpIXYZwb4=";
+    };
+    meta.homepage = "https://github.com/YongJieYongJie/tree-sitter-solidity";
+  };
+  sparql = buildGrammar {
+    language = "sparql";
+    version = "05f949d";
+    source = fetchFromGitHub {
+      owner = "BonaBeavis";
+      repo = "tree-sitter-sparql";
+      rev = "05f949d3c1c15e3261473a244d3ce87777374dec";
+      hash = "sha256-KBalxmAukeSbjyelEy+ZqMcBlRd0V0/pntCwTeINTAQ=";
+    };
+    meta.homepage = "https://github.com/BonaBeavis/tree-sitter-sparql";
+  };
+  sql = buildGrammar {
+    language = "sql";
+    version = "4f1b912";
+    source = fetchFromGitHub {
+      owner = "derekstride";
+      repo = "tree-sitter-sql";
+      rev = "4f1b91246b43190e34957d9de9a0f3625879ba33";
+      hash = "sha256-g1dQ897JQwthConYMlGY25hsypr4weDsDCOWyafriw8=";
+    };
+    meta.homepage = "https://github.com/derekstride/tree-sitter-sql";
+  };
+  supercollider = buildGrammar {
+    language = "supercollider";
+    version = "90c6d9f";
+    source = fetchFromGitHub {
+      owner = "madskjeldgaard";
+      repo = "tree-sitter-supercollider";
+      rev = "90c6d9f777d2b8c4ce497c48b5f270a44bcf3ea0";
+      hash = "sha256-YF+JFLcRHrWIRky2aI5s294+G6jSyVUgt/1bnZkYGLw=";
+    };
+    meta.homepage = "https://github.com/madskjeldgaard/tree-sitter-supercollider";
+  };
+  surface = buildGrammar {
+    language = "surface";
+    version = "f4586b3";
+    source = fetchFromGitHub {
+      owner = "connorlay";
+      repo = "tree-sitter-surface";
+      rev = "f4586b35ac8548667a9aaa4eae44456c1f43d032";
+      hash = "sha256-Fn/pF8yvU+Ll7WmoMHnEcNxb3dsfNhuKhXA1UgXeviA=";
+    };
+    meta.homepage = "https://github.com/connorlay/tree-sitter-surface";
+  };
+  svelte = buildGrammar {
+    language = "svelte";
+    version = "52e122a";
+    source = fetchFromGitHub {
+      owner = "Himujjal";
+      repo = "tree-sitter-svelte";
+      rev = "52e122ae68b316d3aa960a0a422d3645ba717f42";
+      hash = "sha256-ACRpn1/2d6/ambLvr0xr7kT9gTzFFHXtvbQRTxEoet0=";
+    };
+    meta.homepage = "https://github.com/Himujjal/tree-sitter-svelte";
+  };
+  swift = buildGrammar {
+    language = "swift";
+    version = "25f8de3";
+    source = fetchFromGitHub {
+      owner = "alex-pinkus";
+      repo = "tree-sitter-swift";
+      rev = "25f8de356e3c33099ed691bd3b8b5c0fe3a11e15";
+      hash = "sha256-x9m5QFQY33NWdkq0lkWiskfKxqRPz5ePSbVUDY7IBLU=";
+    };
+    generate = true;
+    meta.homepage = "https://github.com/alex-pinkus/tree-sitter-swift";
+  };
+  sxhkdrc = buildGrammar {
+    language = "sxhkdrc";
+    version = "440d5f9";
+    source = fetchFromGitHub {
+      owner = "RaafatTurki";
+      repo = "tree-sitter-sxhkdrc";
+      rev = "440d5f913d9465c9c776a1bd92334d32febcf065";
+      hash = "sha256-AGhGYomrMe6Wj+EHLQT4v0BiU4jxhxXpVQkU2xU/1ZI=";
+    };
+    meta.homepage = "https://github.com/RaafatTurki/tree-sitter-sxhkdrc";
+  };
+  teal = buildGrammar {
+    language = "teal";
+    version = "1ae8c68";
+    source = fetchFromGitHub {
+      owner = "euclidianAce";
+      repo = "tree-sitter-teal";
+      rev = "1ae8c68e90523b26b93af56feb7868fe4214e2b2";
+      hash = "sha256-IGSZurROJLOp1pRPLowHGO1Pu/ehieLKWgI+RCE7wLc=";
+    };
+    generate = true;
+    meta.homepage = "https://github.com/euclidianAce/tree-sitter-teal";
+  };
+  tiger = buildGrammar {
+    language = "tiger";
+    version = "eb1d371";
+    source = fetchFromGitHub {
+      owner = "ambroisie";
+      repo = "tree-sitter-tiger";
+      rev = "eb1d3714998977ae76ca7c6a102b10ee37efc2b5";
+      hash = "sha256-kbwERaTHk5Pj5AfpbXPuRS6speB+xLMfrhRXTVOyMNw=";
+    };
+    meta.homepage = "https://github.com/ambroisie/tree-sitter-tiger";
+  };
+  tlaplus = buildGrammar {
+    language = "tlaplus";
+    version = "deaf0e5";
+    source = fetchFromGitHub {
+      owner = "tlaplus-community";
+      repo = "tree-sitter-tlaplus";
+      rev = "deaf0e5c573ad4e2bbfc9a29abb7b6dcb572556e";
+      hash = "sha256-D4A2k14SpVR4iKCMwql403XjHGg7p17EYazvAUiJ2gY=";
+    };
+    meta.homepage = "https://github.com/tlaplus-community/tree-sitter-tlaplus";
+  };
+  todotxt = buildGrammar {
+    language = "todotxt";
+    version = "0207f6a";
+    source = fetchFromGitHub {
+      owner = "arnarg";
+      repo = "tree-sitter-todotxt";
+      rev = "0207f6a4ab6aeafc4b091914d31d8235049a2578";
+      hash = "sha256-FWVW+qWOUSri+qf+qistf8bKWJCTxUKkoO66yUYtwHI=";
+    };
+    meta.homepage = "https://github.com/arnarg/tree-sitter-todotxt.git";
+  };
+  toml = buildGrammar {
+    language = "toml";
+    version = "8bd2056";
+    source = fetchFromGitHub {
+      owner = "ikatyang";
+      repo = "tree-sitter-toml";
+      rev = "8bd2056818b21860e3d756b5a58c4f6e05fb744e";
+      hash = "sha256-z9MWNOBxLHBd/pVs5/QiSSGtaW+DUd7y3wZXcl3hWnk=";
+    };
+    meta.homepage = "https://github.com/ikatyang/tree-sitter-toml";
+  };
+  tsx = buildGrammar {
+    language = "tsx";
+    version = "0ab9d99";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-typescript";
+      rev = "0ab9d99867435a7667c5548a6617a6bf73dbd830";
+      hash = "sha256-Nx+K7Ic/ePKAXPIMlrRn6zELYE59f/FnnZ/LM5ELaU8=";
+    };
+    location = "tsx";
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-typescript";
+  };
+  turtle = buildGrammar {
+    language = "turtle";
+    version = "085437f";
+    source = fetchFromGitHub {
+      owner = "BonaBeavis";
+      repo = "tree-sitter-turtle";
+      rev = "085437f5cb117703b7f520dd92161140a684f092";
+      hash = "sha256-ub777Pjody2SvP2EjW7IwWj8YnMuMzdJ4AlrkP6WrdA=";
+    };
+    meta.homepage = "https://github.com/BonaBeavis/tree-sitter-turtle";
+  };
+  twig = buildGrammar {
+    language = "twig";
+    version = "035f549";
+    source = fetchFromGitHub {
+      owner = "gbprod";
+      repo = "tree-sitter-twig";
+      rev = "035f549ec8c043e734f04341d7ccdc669bb2ba91";
+      hash = "sha256-XSE0E6a9o+WpvmMIXHu0N89VqzaIk9eFHofKAPHtT20=";
+    };
+    meta.homepage = "https://github.com/gbprod/tree-sitter-twig";
+  };
+  typescript = buildGrammar {
+    language = "typescript";
+    version = "0ab9d99";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-typescript";
+      rev = "0ab9d99867435a7667c5548a6617a6bf73dbd830";
+      hash = "sha256-Nx+K7Ic/ePKAXPIMlrRn6zELYE59f/FnnZ/LM5ELaU8=";
+    };
+    location = "typescript";
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-typescript";
+  };
+  v = buildGrammar {
+    language = "v";
+    version = "66b92a8";
+    source = fetchFromGitHub {
+      owner = "vlang";
+      repo = "vls";
+      rev = "66b92a89ef1e149300df79c0b2a934ad959c8eec";
+      hash = "sha256-R6Irz3sdyzKH1qWOUwUYK1OKhYs0PUYS/azYn/nb6jk=";
+    };
+    location = "tree_sitter_v";
+    meta.homepage = "https://github.com/vlang/vls";
+  };
+  vala = buildGrammar {
+    language = "vala";
+    version = "8f690bf";
+    source = fetchFromGitHub {
+      owner = "vala-lang";
+      repo = "tree-sitter-vala";
+      rev = "8f690bfa639f2b83d1fb938ed3dd98a7ba453e8b";
+      hash = "sha256-YZTE3PkBPCEkMXnLC0HSQ86v5+3/J7/ETDQp8eguFW8=";
+    };
+    meta.homepage = "https://github.com/vala-lang/tree-sitter-vala";
+  };
+  verilog = buildGrammar {
+    language = "verilog";
+    version = "4457145";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-verilog";
+      rev = "4457145e795b363f072463e697dfe2f6973c9a52";
+      hash = "sha256-l4DgThuP9EFU55YQ9lgvVP/8pXojOllQ870gRsBF3FE=";
+    };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-verilog";
+  };
+  vhs = buildGrammar {
+    language = "vhs";
+    version = "2f87b9d";
+    source = fetchFromGitHub {
+      owner = "charmbracelet";
+      repo = "tree-sitter-vhs";
+      rev = "2f87b9d973597e69552ecf6a4fe16470fbd8c44e";
+      hash = "sha256-G1ytXVBeGN1606aFrPdNFp3Khlg/BTFq2VS176Knb7k=";
+    };
+    meta.homepage = "https://github.com/charmbracelet/tree-sitter-vhs";
+  };
+  vim = buildGrammar {
+    language = "vim";
+    version = "4ae7bd6";
+    source = fetchFromGitHub {
+      owner = "vigoux";
+      repo = "tree-sitter-viml";
+      rev = "4ae7bd67706d7e10afed827ce2ded884ab41650f";
+      hash = "sha256-5gNqs6ykt2m48ghFv9y5OxsHDPTWRicdT9eR+DDiXiA=";
+    };
+    meta.homepage = "https://github.com/vigoux/tree-sitter-viml";
+  };
+  vue = buildGrammar {
+    language = "vue";
+    version = "91fe275";
+    source = fetchFromGitHub {
+      owner = "ikatyang";
+      repo = "tree-sitter-vue";
+      rev = "91fe2754796cd8fba5f229505a23fa08f3546c06";
+      hash = "sha256-NeuNpMsKZUP5mrLCjJEOSLD6tlJpNO4Z/rFUqZLHE1A=";
+    };
+    meta.homepage = "https://github.com/ikatyang/tree-sitter-vue";
+  };
+  wgsl = buildGrammar {
+    language = "wgsl";
+    version = "af16e7d";
+    source = fetchFromGitHub {
+      owner = "szebniok";
+      repo = "tree-sitter-wgsl";
+      rev = "af16e7d9e230004888fb52d33599ad38b4cf6052";
+      hash = "sha256-rp6SqiGVAxlAbrYhNLhwqawjpFXZd2R4A4cNQx6qFZs=";
+    };
+    meta.homepage = "https://github.com/szebniok/tree-sitter-wgsl";
+  };
+  yaml = buildGrammar {
+    language = "yaml";
+    version = "0e36bed";
+    source = fetchFromGitHub {
+      owner = "ikatyang";
+      repo = "tree-sitter-yaml";
+      rev = "0e36bed171768908f331ff7dff9d956bae016efb";
+      hash = "sha256-bpiT3FraOZhJaoiFWAoVJX1O+plnIi8aXOW2LwyU23M=";
+    };
+    meta.homepage = "https://github.com/ikatyang/tree-sitter-yaml";
+  };
+  yang = buildGrammar {
+    language = "yang";
+    version = "8e9d175";
+    source = fetchFromGitHub {
+      owner = "Hubro";
+      repo = "tree-sitter-yang";
+      rev = "8e9d175982afcefa3dac8ca20d40d1643accd2bd";
+      hash = "sha256-QSOy5wLb52hKkfW8bJY827zGrXTsMO5sZtl2NaNLmBA=";
+    };
+    meta.homepage = "https://github.com/Hubro/tree-sitter-yang";
+  };
+  zig = buildGrammar {
+    language = "zig";
+    version = "d90d38d";
+    source = fetchFromGitHub {
+      owner = "maxxnino";
+      repo = "tree-sitter-zig";
+      rev = "d90d38d28ce8cc27bfea8b4e0c75211e9e2398ca";
+      hash = "sha256-vdfXC9PUyv4YynfrKi7M708zFbNIV6AERBd63/EAp1A=";
+    };
+    meta.homepage = "https://github.com/maxxnino/tree-sitter-zig";
+  };
+}
diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix
new file mode 100644
index 0000000000000..f4e0c99115f31
--- /dev/null
+++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix
@@ -0,0 +1,94 @@
+{ lib, callPackage, tree-sitter, neovim, runCommand }:
+
+self: super:
+
+let
+  generatedGrammars = callPackage ./generated.nix {
+    buildGrammar = callPackage ../../../../../development/tools/parsing/tree-sitter/grammar.nix { };
+  };
+
+  generatedDerivations = lib.filterAttrs (_: lib.isDerivation) generatedGrammars;
+
+  # add aliases so grammars from `tree-sitter` are overwritten in `withPlugins`
+  # for example, for ocaml_interface, the following aliases will be added
+  #   ocaml-interface
+  #   tree-sitter-ocaml-interface
+  #   tree-sitter-ocaml_interface
+  builtGrammars = generatedGrammars // lib.concatMapAttrs
+    (k: v:
+      let
+        replaced = lib.replaceStrings [ "_" ] [ "-" ] k;
+      in
+      {
+        "tree-sitter-${k}" = v;
+      } // lib.optionalAttrs (k != replaced) {
+        ${replaced} = v;
+        "tree-sitter-${replaced}" = v;
+      })
+    generatedDerivations;
+
+  allGrammars = lib.attrValues generatedDerivations;
+
+  # Usage:
+  # pkgs.vimPlugins.nvim-treesitter.withPlugins (p: [ p.c p.java ... ])
+  # or for all grammars:
+  # pkgs.vimPlugins.nvim-treesitter.withAllGrammars
+  withPlugins =
+    f: self.nvim-treesitter.overrideAttrs (_: {
+      passthru.dependencies = map
+        (grammar:
+          let
+            name = lib.pipe grammar [
+              lib.getName
+
+              # added in buildGrammar
+              (lib.removeSuffix "-grammar")
+
+              # grammars from tree-sitter.builtGrammars
+              (lib.removePrefix "tree-sitter-")
+              (lib.replaceStrings [ "-" ] [ "_" ])
+            ];
+          in
+
+          runCommand "nvim-treesitter-${name}-grammar" { } ''
+            mkdir -p $out/parser
+            ln -s ${grammar}/parser $out/parser/${name}.so
+          ''
+        )
+        (f (tree-sitter.builtGrammars // builtGrammars));
+    });
+
+  withAllGrammars = withPlugins (_: allGrammars);
+in
+
+{
+  passthru = {
+    inherit builtGrammars allGrammars withPlugins withAllGrammars;
+
+    tests.check-queries =
+      let
+        nvimWithAllGrammars = neovim.override {
+          configure.packages.all.start = [ withAllGrammars ];
+        };
+      in
+      runCommand "nvim-treesitter-check-queries"
+        {
+          nativeBuildInputs = [ nvimWithAllGrammars ];
+          CI = true;
+        }
+        ''
+          touch $out
+          export HOME=$(mktemp -d)
+          ln -s ${withAllGrammars}/CONTRIBUTING.md .
+
+          nvim --headless "+luafile ${withAllGrammars}/scripts/check-queries.lua" | tee log
+
+          if grep -q Warning log; then
+            echo "Error: warnings were emitted by the check"
+            exit 1
+          fi
+        '';
+  };
+
+  meta.maintainers = with lib.maintainers; [ figsoda ];
+}
diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/update-shell.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/update-shell.nix
new file mode 100644
index 0000000000000..ca8c4d801c2be
--- /dev/null
+++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/update-shell.nix
@@ -0,0 +1,17 @@
+{ pkgs ? import ../../../../../.. { } }:
+
+with pkgs;
+
+let
+  inherit (vimPlugins) nvim-treesitter;
+
+  neovim = pkgs.neovim.override {
+    configure.packages.all.start = [ nvim-treesitter ];
+  };
+in
+
+mkShell {
+  packages = [ neovim nix-prefetch python3 ];
+
+  NVIM_TREESITTER = nvim-treesitter;
+}
diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py b/pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py
new file mode 100755
index 0000000000000..580c1aa22dab7
--- /dev/null
+++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py
@@ -0,0 +1,114 @@
+#!/usr/bin/env nix-shell
+#!nix-shell update-shell.nix -i python
+
+import json
+import re
+import subprocess
+from os import environ
+from os.path import dirname, join
+
+lockfile = json.load(open(join(environ["NVIM_TREESITTER"], "lockfile.json")))
+
+configs = json.loads(
+    subprocess.check_output(
+        [
+            "nvim",
+            "--headless",
+            "-u",
+            "NONE",
+            "+lua io.write(vim.json.encode(require('nvim-treesitter.parsers').get_parser_configs()))",
+            "+quit!",
+        ]
+    )
+)
+
+regex = re.compile("^https?://(github.com|gitlab.com)/(.+?)/(.+?)(.git)?$")
+
+
+def generate_grammar(item):
+    lang, lock = item
+    cfg = configs.get(lang)
+    if not cfg:
+        return ""
+
+    info = cfg["install_info"]
+    url = info["url"]
+    rev = lock["revision"]
+
+    generated = f"""  {lang} = buildGrammar {{
+    language = "{lang}";
+    version = "{rev[:7]}";
+    source = """
+
+    m = regex.fullmatch(url)
+    cmd = ["nix-prefetch", "--rev", rev]
+
+    match m and m.group(1, 2, 3):
+        case "github.com", owner, repo:
+            cmd += [
+                "fetchFromGitHub",
+                "--owner",
+                owner,
+                "--repo",
+                repo,
+            ]
+
+            generated += f"""fetchFromGitHub {{
+      owner = "{owner}";
+      repo = "{repo}";"""
+
+        case "gitlab.com", owner, repo:
+            cmd += [
+                "fetchFromGitLab",
+                "--owner",
+                owner,
+                "--repo",
+                repo,
+            ]
+
+            generated += f"""fetchFromGitLab {{
+      owner = "{owner}";
+      repo = "{repo}";"""
+
+        case _:
+            cmd += ["fetchgit", "url"]
+            generated += f"""fetchgit {{
+      url = "{url}";"""
+
+    hash = subprocess.check_output(cmd, text=True).strip()
+
+    generated += f"""
+      rev = "{rev}";
+      hash = "{hash}";
+    }};"""
+
+    location = info.get("location")
+    if location:
+        generated += f"""
+    location = "{location}";"""
+
+    if info.get("requires_generate_from_grammar"):
+        generated += """
+    generate = true;"""
+
+    generated += f"""
+    meta.homepage = "{url}";
+  }};
+"""
+
+    return generated
+
+
+generated_file = """# generated by pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py
+
+{ buildGrammar, fetchFromGitHub, fetchFromGitLab, fetchgit }:
+
+{
+"""
+
+for generated in map(generate_grammar, lockfile.items()):
+    generated_file += generated
+
+generated_file += "}\n"
+
+open(join(dirname(__file__), "generated.nix"), "w").write(generated_file)
diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix
index 071abb223b93d..d821dea94917a 100644
--- a/pkgs/applications/editors/vim/plugins/overrides.nix
+++ b/pkgs/applications/editors/vim/plugins/overrides.nix
@@ -67,7 +67,7 @@
 , CoreServices
 
   # nvim-treesitter dependencies
-, tree-sitter
+, callPackage
 
   # sved dependencies
 , glib
@@ -114,6 +114,16 @@
 
 self: super: {
 
+  barbecue-nvim = super.vimshell-vim.overrideAttrs (old: {
+    dependencies = with self; [ nvim-lspconfig nvim-navic nvim-web-devicons ];
+    meta = {
+      description = "A VS Code like winbar for Neovim";
+      homepage = "https://github.com/utilyre/barbecue.nvim";
+      license = lib.licenses.mit;
+      maintainers = with lib.maintainers; [ lightquantum ];
+    };
+  });
+
   clang_complete = super.clang_complete.overrideAttrs (old: {
     # In addition to the arguments you pass to your compiler, you also need to
     # specify the path of the C++ std header (if you are using C++).
@@ -461,20 +471,14 @@ self: super: {
     dependencies = with self; [ lush-nvim ];
   });
 
-  himalaya-vim = buildVimPluginFrom2Nix {
-    pname = "himalaya-vim";
-    inherit (himalaya) src version;
-    dependencies = with self; [ himalaya ];
-    configurePhase = ''
-      cd vim
+  himalaya-vim = super.himalaya-vim.overrideAttrs (old: {
+    postPatch = ''
       substituteInPlace plugin/himalaya.vim \
-        --replace 'if !executable("himalaya")' 'if v:false'
+        --replace "if !executable('himalaya')" "if v:false"
+      substituteInPlace autoload/himalaya/request.vim \
+        --replace "'himalaya" "'${himalaya}/bin/himalaya"
     '';
-    postFixup = ''
-      mkdir -p $out/bin
-      ln -s ${himalaya}/bin/himalaya $out/bin/himalaya
-    '';
-  };
+  });
 
   jedi-vim = super.jedi-vim.overrideAttrs (old: {
     # checking for python3 support in vim would be neat, too, but nobody else seems to care
@@ -652,23 +656,9 @@ self: super: {
     dependencies = with self; [ plenary-nvim ];
   });
 
-  # Usage:
-  # pkgs.vimPlugins.nvim-treesitter.withPlugins (p: [ p.tree-sitter-c p.tree-sitter-java ... ])
-  # or for all grammars:
-  # pkgs.vimPlugins.nvim-treesitter.withPlugins (_: tree-sitter.allGrammars)
-  nvim-treesitter = super.nvim-treesitter.overrideAttrs (old: {
-    passthru.withPlugins =
-      grammarFn: self.nvim-treesitter.overrideAttrs (_: {
-        postPatch =
-          let
-            grammars = tree-sitter.withPlugins grammarFn;
-          in
-          ''
-            rm -r parser
-            ln -s ${grammars} parser
-          '';
-      });
-  });
+  nvim-treesitter = super.nvim-treesitter.overrideAttrs (old:
+    callPackage ./nvim-treesitter/overrides.nix { } self super
+  );
 
   octo-nvim = super.octo-nvim.overrideAttrs (old: {
     dependencies = with self; [ telescope-nvim plenary-nvim ];
@@ -1320,6 +1310,7 @@ self: super: {
       "coc-smartf"
       "coc-snippets"
       "coc-solargraph"
+      "coc-spell-checker"
       "coc-sqlfluff"
       "coc-stylelint"
       "coc-sumneko-lua"
diff --git a/pkgs/applications/editors/vim/plugins/update.py b/pkgs/applications/editors/vim/plugins/update.py
index 1214e36372a62..7e5c7380597c7 100755
--- a/pkgs/applications/editors/vim/plugins/update.py
+++ b/pkgs/applications/editors/vim/plugins/update.py
@@ -21,10 +21,13 @@ import inspect
 import os
 import sys
 import logging
+import subprocess
 import textwrap
 from typing import List, Tuple
 from pathlib import Path
 
+import git
+
 log = logging.getLogger()
 
 sh = logging.StreamHandler()
@@ -76,8 +79,11 @@ def isNeovimPlugin(plug: pluginupdate.Plugin) -> bool:
 
 
 class VimEditor(pluginupdate.Editor):
+    nvim_treesitter_updated = False
+
     def generate_nix(self, plugins: List[Tuple[PluginDesc, pluginupdate.Plugin]], outfile: str):
         sorted_plugins = sorted(plugins, key=lambda v: v[0].name.lower())
+        nvim_treesitter_rev = pluginupdate.run_nix_expr("(import <localpkgs> { }).vimPlugins.nvim-treesitter.src.rev")
 
         with open(outfile, "w+") as f:
             f.write(HEADER)
@@ -91,6 +97,8 @@ class VimEditor(pluginupdate.Editor):
             for pdesc, plugin in sorted_plugins:
                 content = self.plugin2nix(pdesc, plugin)
                 f.write(content)
+                if plugin.name == "nvim-treesitter" and plugin.commit != nvim_treesitter_rev:
+                    self.nvim_treesitter_updated = True
             f.write("\n}\n")
         print(f"updated {outfile}")
 
@@ -123,6 +131,18 @@ def main():
     args = parser.parse_args()
     pluginupdate.update_plugins(editor, args)
 
+    if editor.nvim_treesitter_updated:
+        print("updating nvim-treesitter grammars")
+        nvim_treesitter_dir = ROOT.joinpath("nvim-treesitter")
+        subprocess.check_call([nvim_treesitter_dir.joinpath("update.py")])
+
+        if editor.nixpkgs_repo:
+            msg = "vimPlugins.nvim-treesitter: update grammars"
+            print(f"committing to nixpkgs: {msg}")
+            index = editor.nixpkgs_repo.index
+            index.add([str(nvim_treesitter_dir.joinpath("generated.nix"))])
+            index.commit(msg)
+
 
 if __name__ == "__main__":
     main()
diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names
index c9146135928fe..291038bb6eb7d 100644
--- a/pkgs/applications/editors/vim/plugins/vim-plugin-names
+++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names
@@ -66,6 +66,7 @@ https://github.com/vim-scripts/autoload_cscope.vim/,,
 https://github.com/rafi/awesome-vim-colorschemes/,,
 https://github.com/ayu-theme/ayu-vim/,,
 https://github.com/romgrk/barbar.nvim/,,
+https://github.com/utilyre/barbecue.nvim/,,
 https://github.com/chriskempson/base16-vim/,,
 https://github.com/vim-scripts/bats.vim/,,
 https://github.com/rbgrouleff/bclose.vim/,,
@@ -141,7 +142,6 @@ https://github.com/neoclide/coc-denite/,,
 https://github.com/antoinemadec/coc-fzf/,,
 https://github.com/josa42/coc-lua/,,
 https://github.com/neoclide/coc-neco/,,
-https://github.com/iamcco/coc-spell-checker/,,
 https://github.com/coc-extensions/coc-svelte/,,
 https://github.com/iamcco/coc-tailwindcss/,,
 https://github.com/neoclide/coc.nvim/,release,
@@ -294,6 +294,7 @@ https://github.com/neovimhaskell/haskell-vim/,,
 https://github.com/wenzel-hoffman/haskell-with-unicode.vim/,HEAD,
 https://github.com/travitch/hasksyn/,,
 https://github.com/Yggdroot/hiPairs/,,
+https://git.sr.ht/~soywod/himalaya-vim,,
 https://github.com/mpickering/hlint-refactor-vim/,,
 https://github.com/edluffy/hologram.nvim/,,
 https://github.com/urbit/hoon.vim/,,
@@ -381,6 +382,7 @@ https://github.com/iamcco/markdown-preview.nvim/,,
 https://github.com/chentoast/marks.nvim/,,
 https://github.com/vim-scripts/matchit.zip/,,
 https://github.com/marko-cerovac/material.nvim/,,
+https://github.com/kaicataldo/material.vim/,HEAD,
 https://github.com/vim-scripts/mayansmoke/,,
 https://github.com/echasnovski/mini.nvim/,,
 https://github.com/wfxr/minimap.vim/,,
@@ -426,6 +428,7 @@ https://github.com/karb94/neoscroll.nvim/,,
 https://github.com/Shougo/neosnippet-snippets/,,
 https://github.com/Shougo/neosnippet.vim/,,
 https://github.com/kassio/neoterm/,,
+https://github.com/nvim-neotest/neotest/,HEAD,
 https://github.com/MrcJkb/neotest-haskell/,HEAD,
 https://github.com/rose-pine/neovim/,main,rose-pine
 https://github.com/Shatur/neovim-ayu/,,
@@ -469,6 +472,7 @@ https://github.com/roxma/nvim-completion-manager/,,
 https://github.com/klen/nvim-config-local/,,
 https://github.com/yamatsum/nvim-cursorline/,,
 https://github.com/mfussenegger/nvim-dap/,,
+https://github.com/leoluz/nvim-dap-go/,HEAD,
 https://github.com/mfussenegger/nvim-dap-python/,HEAD,
 https://github.com/rcarriga/nvim-dap-ui/,,
 https://github.com/theHamsta/nvim-dap-virtual-text/,,
@@ -490,6 +494,7 @@ https://github.com/mfussenegger/nvim-lint/,,
 https://github.com/jose-elias-alvarez/nvim-lsp-ts-utils/,,
 https://github.com/neovim/nvim-lspconfig/,,
 https://github.com/RishabhRD/nvim-lsputils/,,
+https://github.com/bfredl/nvim-luadev/,HEAD,
 https://github.com/rafcamlet/nvim-luapad/,,
 https://github.com/scalameta/nvim-metals/,,
 https://github.com/gpanders/nvim-moonwalk/,,
@@ -649,6 +654,7 @@ https://github.com/nvim-telescope/telescope-fzf-native.nvim/,,
 https://github.com/nvim-telescope/telescope-fzf-writer.nvim/,,
 https://github.com/nvim-telescope/telescope-fzy-native.nvim/,,
 https://github.com/nvim-telescope/telescope-github.nvim/,,
+https://github.com/nvim-telescope/telescope-live-grep-args.nvim/,HEAD,
 https://github.com/gbrlsnchs/telescope-lsp-handlers.nvim/,,
 https://github.com/MrcJkb/telescope-manix/,HEAD,
 https://github.com/nvim-telescope/telescope-media-files.nvim/,HEAD,
@@ -660,6 +666,7 @@ https://github.com/tom-anders/telescope-vim-bookmarks.nvim/,,
 https://github.com/nvim-telescope/telescope-z.nvim/,,
 https://github.com/jvgrootveld/telescope-zoxide/,,
 https://github.com/nvim-telescope/telescope.nvim/,,
+https://github.com/luc-tielen/telescope_hoogle/,HEAD,
 https://github.com/axelvc/template-string.nvim/,HEAD,
 https://github.com/jacoborus/tender.vim/,,
 https://github.com/wincent/terminus/,,
@@ -1047,6 +1054,7 @@ https://github.com/milkypostman/vim-togglelist/,,
 https://github.com/cespare/vim-toml/,,
 https://github.com/vimpostor/vim-tpipeline/,,
 https://github.com/bronson/vim-trailing-whitespace/,,
+https://github.com/tridactyl/vim-tridactyl/,HEAD,
 https://github.com/ianks/vim-tsx/,,
 https://github.com/lumiliet/vim-twig/,,
 https://github.com/sodapopcan/vim-twiggy/,,
@@ -1111,6 +1119,7 @@ https://github.com/HerringtonDarkholme/yats.vim/,,
 https://github.com/elkowar/yuck.vim/,HEAD,
 https://github.com/KabbAmine/zeavim.vim/,,
 https://github.com/folke/zen-mode.nvim/,,
+https://github.com/mcchrish/zenbones.nvim/,HEAD,
 https://github.com/jnurmine/zenburn/,,
 https://github.com/glepnir/zephyr-nvim/,,
 https://github.com/ziglang/zig.vim/,,
diff --git a/pkgs/applications/editors/vis/default.nix b/pkgs/applications/editors/vis/default.nix
index a05b0e48e0be7..f4d25b8547f4c 100644
--- a/pkgs/applications/editors/vis/default.nix
+++ b/pkgs/applications/editors/vis/default.nix
@@ -9,11 +9,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "vis";
-  version  = "0.7";
+  version  = "0.8";
 
   src = fetchFromGitHub {
     rev = "v${version}";
-    sha256 = "1g05ncsnk57kcqm9wsv6sz8b24kyzj8r5rfpa1wfwj8qkjzx3vji";
+    sha256 = "sha256-XvWj6fZxzXeRA5oCAqIIwlfjrJcHnDrjeiPExEQKSkY=";
     repo = "vis";
     owner = "martanne";
   };
diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index 93ed8d55fc2a9..3b0ba9efddfbd 100644
--- a/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -537,6 +537,16 @@ let
         };
       };
 
+      bmalehorn.vscode-fish = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "vscode-fish";
+          publisher = "bmalehorn";
+          version = "1.0.31";
+          sha256 = "sha256-jDWW43ozUPIzhK/qQ+a+JSNdDHrjvgosyGe8kzBX6xM=";
+        };
+        meta.license = lib.licenses.mit;
+      };
+
       bradlc.vscode-tailwindcss = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "vscode-tailwindcss";
@@ -1244,10 +1254,16 @@ let
           mktplcRef = {
             publisher = "github";
             name = "copilot";
-            version = "1.46.6822";
-            sha256 = "sha256-L71mC0190ZubqNVliu7es4SDsBTGVokePpcNupABI8Q=";
+            version = "1.56.7152";
+            sha256 = "sha256-9WEvTcVY/yMF00GJVj4h57aWhfBYTSatbw10DjjAaAM=";
+          };
+          meta = with lib; {
+            description = "GitHub Copilot uses OpenAI Codex to suggest code and entire functions in real-time right from your editor.";
+            downloadPage = "https://marketplace.visualstudio.com/items?itemName=GitHub.copilot";
+            homepage = "https://github.com/features/copilot";
+            license = licenses.unfree;
+            maintainers = with maintainers; [ Zimmi48 ];
           };
-          meta = { license = lib.licenses.unfree; };
         };
 
         github-vscode-theme = buildVscodeMarketplaceExtension {
@@ -1469,8 +1485,8 @@ let
         mktplcRef = {
           name = "nix-ide";
           publisher = "jnoortheen";
-          version = "0.1.23";
-          sha256 = "sha256-64gwwajfgniVzJqgVLK9b8PfkNG5mk1W+qewKL7Dv0Q=";
+          version = "0.2.1";
+          sha256 = "sha256-yC4ybThMFA2ncGhp8BYD7IrwYiDU3226hewsRvJYKy4=";
         };
         meta = with lib; {
           changelog = "https://marketplace.visualstudio.com/items/jnoortheen.nix-ide/changelog";
@@ -1662,6 +1678,16 @@ let
         };
       };
 
+      matangover.mypy = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "mypy";
+          publisher = "matangover";
+          version = "0.2.2";
+          sha256 = "sha256-eaiR30HjPCpOLUKQqiQ2Oqj+XY+JNnV47bM5KD2Mouk=";
+        };
+        meta.license = lib.licenses.mit;
+      };
+
       mattn.lisp = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "lisp";
@@ -1679,6 +1705,22 @@ let
         };
       };
 
+      maximedenes.vscoq = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          publisher = "maximedenes";
+          name = "vscoq";
+          version = "0.3.6";
+          sha256 = "sha256-b0gCaEzt5yAj53oLFZSXSD3bum9J1fYes/uf9+OlUek=";
+        };
+        meta = with lib; {
+          description = "VsCoq is an extension for Visual Studio Code (VS Code) and VSCodium with support for the Coq Proof Assistant.";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=maximedenes.vscoq";
+          homepage = "https://github.com/coq-community/vscoq";
+          license = licenses.mit;
+          maintainers = with maintainers; [ Zimmi48 ];
+        };
+      };
+
       mhutchie.git-graph = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "git-graph";
@@ -2061,6 +2103,16 @@ let
         };
       };
 
+      redhat.vscode-xml = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "vscode-xml";
+          publisher = "redhat";
+          version = "0.22.0";
+          sha256 = "sha256-7QOw0EVcfa7MFnZAHAsUtDZHXD5AFlW54f1qaN3h+2U=";
+        };
+        meta.license = lib.licenses.epl20;
+      };
+
       redhat.vscode-yaml = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "vscode-yaml";
@@ -2465,8 +2517,8 @@ let
         mktplcRef = {
           name = "code-spell-checker";
           publisher = "streetsidesoftware";
-          version = "2.10.1";
-          sha256 = "sha256-FeYkSML6QYtuIHIbAovOqlPwkKfNkHr7IdMCWwkynQ0=";
+          version = "2.11.0";
+          sha256 = "sha256-ZYbkCe/FdSxmipV9TTq0AF/Ft01+LTUeo3sVyKMP3iQ=";
         };
         meta = with lib; {
           changelog = "https://marketplace.visualstudio.com/items/streetsidesoftware.code-spell-checker/changelog";
@@ -2566,6 +2618,16 @@ let
         };
       };
 
+      thenuprojectcontributors.vscode-nushell-lang = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "vscode-nushell-lang";
+          publisher = "thenuprojectcontributors";
+          version = "0.7.0";
+          sha256 = "sha256-+AGJkFx/uzgQzuRnRBZ44xGNQ6a/QWt7SNiQgwPTZxo=";
+        };
+        meta.license = lib.licenses.mit;
+      };
+
       tiehuis.zig = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "zig";
@@ -2583,8 +2645,8 @@ let
         mktplcRef = {
           name = "shellcheck";
           publisher = "timonwong";
-          version = "0.19.3";
-          sha256 = "0l8fbim19jgcdgxxgidnhdczxvhls920vrffwrac8k1y34lgfl3v";
+          version = "0.26.3";
+          sha256 = "GlyOLc2VrRnA50MkaG83qa0yLUyJYwueqEO+ZeAStYs=";
         };
         nativeBuildInputs = [ jq moreutils ];
         postInstall = ''
diff --git a/pkgs/applications/editors/vscode/extensions/ms-toolsai-jupyter/default.nix b/pkgs/applications/editors/vscode/extensions/ms-toolsai-jupyter/default.nix
index ab3403852409b..a427c1f8764aa 100644
--- a/pkgs/applications/editors/vscode/extensions/ms-toolsai-jupyter/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/ms-toolsai-jupyter/default.nix
@@ -7,8 +7,8 @@ in buildVscodeMarketplaceExtension {
   mktplcRef = {
     name = "jupyter";
     publisher = "ms-toolsai";
-    version = "2022.5.1001411044";
-    sha256 = "0z6i7a5sba42yc2inp3yvw6lm6m0kings2iv18h4d6zyhm2lb61p";
+    version = "2022.9.1202862440";
+    sha256 = "sha256-0F6eTEXt0PJY0+1o/qZEuUcD9sjHSnUrI1OS4IO2WLc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/editors/vscode/extensions/python/default.nix b/pkgs/applications/editors/vscode/extensions/python/default.nix
index e72c89511aedb..00121d29a34f8 100644
--- a/pkgs/applications/editors/vscode/extensions/python/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/python/default.nix
@@ -19,8 +19,8 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
   mktplcRef = {
     name = "python";
     publisher = "ms-python";
-    version = "2022.15.12711056";
-    sha256 = "sha256-bksUMN+ZdkmElVD8BC4ihklQyWlKkcpep2VOwUzISnQ=";
+    version = "2022.17.13011006";
+    sha256 = "sha256-f5vbXcqKwCnL+vsTcOX7rWUfoXNih5ZaWr3XUpCYB/M=";
   };
 
   buildInputs = [ icu ];
diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix
index 637aefc3074dd..5f7204012762d 100644
--- a/pkgs/applications/editors/vscode/vscode.nix
+++ b/pkgs/applications/editors/vscode/vscode.nix
@@ -18,17 +18,17 @@ let
   archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "0cf6zlwslii30877p5vb0varxs6ai5r1g9wxx1b45yrmp7rvda91";
-    x86_64-darwin = "0j9kb7j2rvrgc2dzxhi1nzs78lzhpkfk3gcqcq84hcsga0n59y03";
-    aarch64-linux = "1bf2kvnd2pz2sk26bq1wm868bvvmrg338ipysmryilhk0l490vcx";
-    aarch64-darwin = "1rwwrzabxgw2wryi6rp8sc1jqps54p7a3cjpn4q94kds8rk5j0qn";
-    armv7l-linux = "0p2kwfq74lz43vpfh90xfrqsz7nwgcjsvqwkifkchp1m3xnil742";
+    x86_64-linux = "1m5mz6wdrivqrw699iivvh62bdn4yzm6hmph455sdyvk5icq59dq";
+    x86_64-darwin = "1zn0h9p05kb3fcn816fpxh8asaglycjmpiwkrmxd0s8jwjq7m4gn";
+    aarch64-linux = "1gs810iz08jxqfhcgi6ab41m46ib5h3m7i3pnyvlimxx99r5lirf";
+    aarch64-darwin = "1dvasr1h28snxi33m6yx95pp3jd4irwy6yav4ilwrcl22cf6ybvi";
+    armv7l-linux = "1j5vrpdaqihcr02pdsd5nz07zsk0027xmkfp30npnjy1gjrjvnim";
   }.${system} or throwSystem;
 in
   callPackage ./generic.nix rec {
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.72.2";
+    version = "1.73.1";
     pname = "vscode";
 
     executableName = "code" + lib.optionalString isInsiders "-insiders";
diff --git a/pkgs/applications/editors/vscode/vscodium.nix b/pkgs/applications/editors/vscode/vscodium.nix
index 74c28ad41b2b9..fcf6dea5e1472 100644
--- a/pkgs/applications/editors/vscode/vscodium.nix
+++ b/pkgs/applications/editors/vscode/vscodium.nix
@@ -15,11 +15,11 @@ let
   archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "0bc95mdl19la63yvqrpfcvq9sx68wfv60a3xrz2z5lk308khfpr6";
-    x86_64-darwin = "0qb8610ilf69j0zl7z031bmqdsxsj15w1maz7lx0z09yrdyvgi7c";
-    aarch64-linux = "157arn7wsxgh3qr4bzhy75y7zw9qwz1zch7ny36kr53135d2nhz6";
-    aarch64-darwin = "0dwzqv1j1gcjyc1w41f9k1pijazr62r569arh4l53xi7amrp7hx8";
-    armv7l-linux = "1lam1z8hqdav4al07d1ahq4qh2npv191n2gqpdxg5b1fs7zv3k85";
+    x86_64-linux = "09ymqhg10flv3w38cb3fhrf5fvxz6aa12y75i009j01rjckvsymr";
+    x86_64-darwin = "0kd9a8vk4ddp78m0y1fbzbpgpr5rwhxnfbg52wvky0grl58dh6v6";
+    aarch64-linux = "17hwxwvvl3vy2s6wl1n2qkkdhlrf40z8wy0r5jhqrni79f6drkjz";
+    aarch64-darwin = "1skgnn6rq0rkhj98q8y19cyyllk8xa1752lwn4qcgi568anap1lw";
+    armv7l-linux = "0drz8kigjl82m3hfkpbqnmymy6fpgwmgbpkdwl2jkbl81iijvxvp";
   }.${system} or throwSystem;
 
   sourceRoot = if stdenv.isDarwin then "" else ".";
@@ -29,7 +29,7 @@ in
 
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.72.2.22289";
+    version = "1.73.1.22314";
     pname = "vscodium";
 
     executableName = "codium";
diff --git a/pkgs/applications/editors/xed-editor/default.nix b/pkgs/applications/editors/xed-editor/default.nix
index 0cbca2ea2bde6..16331ba79e075 100644
--- a/pkgs/applications/editors/xed-editor/default.nix
+++ b/pkgs/applications/editors/xed-editor/default.nix
@@ -63,6 +63,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/linuxmint/xed";
     license = licenses.gpl2Only;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ tu-maurice ];
+    maintainers = with maintainers; [ tu-maurice bobby285271 ];
   };
 }
diff --git a/pkgs/applications/editors/xmlcopyeditor/default.nix b/pkgs/applications/editors/xmlcopyeditor/default.nix
index d9bf7f52b2c49..bd7c237e8c133 100644
--- a/pkgs/applications/editors/xmlcopyeditor/default.nix
+++ b/pkgs/applications/editors/xmlcopyeditor/default.nix
@@ -1,28 +1,55 @@
-{ lib, stdenv, fetchurl, aspell, boost, expat, intltool, libxml2, libxslt, pcre, wxGTK, xercesc }:
+{ lib
+, stdenv
+, fetchurl
+, aspell
+, boost
+, expat
+, intltool
+, pkg-config
+, libxml2
+, libxslt
+, pcre2
+, wxGTK32
+, xercesc
+, Cocoa
+}:
 
 stdenv.mkDerivation rec {
   pname = "xmlcopyeditor";
-  version = "1.2.1.3";
+  version = "1.3.1.0";
 
   src = fetchurl {
-    name = "${pname}-${version}.tar.gz";
     url = "mirror://sourceforge/xml-copy-editor/${pname}-${version}.tar.gz";
-    sha256 = "0bwxn89600jbrkvlwyawgc0c0qqxpl453mbgcb9qbbxl8984ns4v";
+    sha256 = "sha256-6HHKl7hqyvF3gJ9vmjLjTT49prJ8KhEEV0qPsJfQfJE=";
   };
 
   patches = [ ./xmlcopyeditor.patch ];
-  CPLUS_INCLUDE_PATH = "${libxml2.dev}/include/libxml2";
 
-  nativeBuildInputs = [ intltool ];
-  buildInputs = [ aspell boost expat libxml2 libxslt pcre wxGTK xercesc ];
+  nativeBuildInputs = [
+    intltool
+    pkg-config
+  ];
+
+  buildInputs = [
+    aspell
+    boost
+    expat
+    libxml2
+    libxslt
+    pcre2
+    wxGTK32
+    xercesc
+  ] ++ lib.optionals stdenv.isDarwin [
+    Cocoa
+  ];
 
   enableParallelBuilding = true;
 
   meta = with lib; {
     description = "A fast, free, validating XML editor";
-    homepage = "http://xml-copy-editor.sourceforge.net/";
+    homepage = "https://xml-copy-editor.sourceforge.io/";
     license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ candeira ];
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ candeira wegank ];
   };
 }
diff --git a/pkgs/applications/editors/xmlcopyeditor/xmlcopyeditor.patch b/pkgs/applications/editors/xmlcopyeditor/xmlcopyeditor.patch
index 253b9ce49ba8c..1f35663bdad30 100644
--- a/pkgs/applications/editors/xmlcopyeditor/xmlcopyeditor.patch
+++ b/pkgs/applications/editors/xmlcopyeditor/xmlcopyeditor.patch
@@ -1,17 +1,8 @@
-From 626c385ba141c6abcff01bef4451fcad062d232c Mon Sep 17 00:00:00 2001
-From: Javier Candeira <javier@candeira.com>
-Date: Sat, 7 Apr 2018 20:21:45 +1000
-Subject: [PATCH] nixpckgs patches
-
----
- src/Makefile.in | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
 diff --git a/src/Makefile.in b/src/Makefile.in
-index e75918f..e04703b 100644
+index e2b01fc..7f3a21e 100644
 --- a/src/Makefile.in
 +++ b/src/Makefile.in
-@@ -283,8 +283,8 @@ top_srcdir = @top_srcdir@
+@@ -427,8 +427,8 @@ top_srcdir = @top_srcdir@
  # these are the headers for your project
  noinst_HEADERS = $(srcdir)/*.h
  xmlcopyeditordir = ${prefix}/share/xmlcopyeditor
@@ -21,16 +12,4 @@ index e75918f..e04703b 100644
 +applicationsdir = ${prefix}/share/applications
  
  # the application source, library search path, and link libraries
- xmlcopyeditor_SOURCES = aboutdialog.cpp associatedialog.cpp binaryfile.cpp \
-@@ -357,7 +357,7 @@ EXTRA_DIST = \
- 	$(srcdir)/xmlcopyeditor.rc \
- 	$(srcdir)/xmlschemaparser.cpp
- 
--AM_CPPFLAGS = -I/usr/include/libxml2 $(ENCHANT_CFLAGS) $(GTK_CFLAGS)
-+AM_CPPFLAGS = -I$(CPLUS_INCLUDE_PATH) $(ENCHANT_CFLAGS) $(GTK_CFLAGS)
- all: all-am
- 
- .SUFFIXES:
--- 
-2.16.2
-
+ xmlcopyeditor_SOURCES = aboutdialog.cpp \
diff --git a/pkgs/applications/emulators/basiliskii/default.nix b/pkgs/applications/emulators/basiliskii/default.nix
index f32abac9a6b85..8a58dd24555fd 100644
--- a/pkgs/applications/emulators/basiliskii/default.nix
+++ b/pkgs/applications/emulators/basiliskii/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, autoconf, automake, pkg-config, SDL2, gtk2 }:
+{ stdenv, lib, fetchFromGitHub, autoconf, automake, pkg-config, SDL2, gtk2, mpfr }:
 stdenv.mkDerivation {
   pname = "basiliskii";
   version = "unstable-2022-09-30";
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
   sourceRoot = "source/BasiliskII/src/Unix";
   patches = [ ./remove-redhat-6-workaround-for-scsi-sg.h.patch ];
   nativeBuildInputs = [ autoconf automake pkg-config ];
-  buildInputs = [ SDL2 gtk2 ];
+  buildInputs = [ SDL2 gtk2 mpfr ];
   preConfigure = ''
     NO_CONFIGURE=1 ./autogen.sh
   '';
diff --git a/pkgs/applications/emulators/bochs/default.nix b/pkgs/applications/emulators/bochs/default.nix
index 3bfbf08c185cf..edf092028fc08 100644
--- a/pkgs/applications/emulators/bochs/default.nix
+++ b/pkgs/applications/emulators/bochs/default.nix
@@ -1,26 +1,26 @@
 { lib
 , stdenv
 , fetchurl
+, SDL2
+, curl
 , docbook_xml_dtd_45
 , docbook_xsl
-, libtool
-, pkg-config
-, curl
-, readline
-, wget
-, libobjc
-, enableX11 ? !stdenv.isDarwin
+, gtk3
 , libGL
 , libGLU
 , libX11
 , libXpm
-, enableSdl2 ? true
-, SDL2
-, enableTerm ? true
+, libobjc
+, libtool
 , ncurses
-, enableWx ? !stdenv.isDarwin
+, pkg-config
+, readline
+, wget
 , wxGTK
-, gtk3
+, enableSDL2 ? true
+, enableTerm ? true
+, enableWx ? !stdenv.isDarwin
+, enableX11 ? !stdenv.isDarwin
 }:
 
 stdenv.mkDerivation (finalAttrs: {
@@ -28,7 +28,7 @@ stdenv.mkDerivation (finalAttrs: {
   version = "2.7";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/${finalAttrs.pname}/${finalAttrs.pname}/${finalAttrs.version}/${finalAttrs.pname}-${finalAttrs.version}.tar.gz";
+    url = "mirror://sourceforge/project/bochs/bochs/${finalAttrs.version}/bochs-${finalAttrs.version}.tar.gz";
     hash = "sha256-oBCrG/3HKsWgjS4kEs1HHA/r1mrx2TSbwNeWh53lsXo=";
   };
 
@@ -43,20 +43,20 @@ stdenv.mkDerivation (finalAttrs: {
     curl
     readline
     wget
-  ] ++ lib.optionals stdenv.isDarwin [
-    libobjc
-  ] ++ lib.optionals enableX11 [
-    libGL
-    libGLU
-    libX11
-    libXpm
-  ] ++ lib.optionals enableSdl2 [
+  ] ++ lib.optionals enableSDL2 [
     SDL2
   ] ++ lib.optionals enableTerm [
     ncurses
   ] ++ lib.optionals enableWx [
-    wxGTK
     gtk3
+    wxGTK
+  ] ++ lib.optionals enableX11 [
+    libGL
+    libGLU
+    libX11
+    libXpm
+  ] ++ lib.optionals stdenv.isDarwin [
+    libobjc
   ];
 
   configureFlags = [
@@ -114,6 +114,15 @@ stdenv.mkDerivation (finalAttrs: {
     "--enable-voodoo"
     "--enable-x86-64"
     "--enable-x86-debugger"
+  ] ++ lib.optionals enableSDL2 [
+    "--with-sdl2"
+  ] ++ lib.optionals enableTerm [
+    "--with-term"
+  ] ++ lib.optionals enableWx [
+    "--with-wx"
+  ] ++ lib.optionals enableX11 [
+    "--with-x"
+    "--with-x11"
   ] ++ lib.optionals (!stdenv.isDarwin) [
     "--enable-e1000"
     "--enable-es1370"
@@ -121,15 +130,6 @@ stdenv.mkDerivation (finalAttrs: {
     "--enable-plugins"
     "--enable-pnic"
     "--enable-sb16"
-  ] ++ lib.optionals enableX11 [
-    "--with-x"
-    "--with-x11"
-  ] ++ lib.optionals enableSdl2 [
-    "--with-sdl2"
-  ] ++ lib.optionals enableTerm [
-    "--with-term"
-  ] ++ lib.optionals enableWx [
-    "--with-wx"
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/emulators/bsnes/ares/dont-rebuild-on-install.patch b/pkgs/applications/emulators/bsnes/ares/000-dont-rebuild-on-install.patch
index 7b6bbfc21bdc2..7b6bbfc21bdc2 100644
--- a/pkgs/applications/emulators/bsnes/ares/dont-rebuild-on-install.patch
+++ b/pkgs/applications/emulators/bsnes/ares/000-dont-rebuild-on-install.patch
diff --git a/pkgs/applications/emulators/bsnes/ares/001-fix-ruby.patch b/pkgs/applications/emulators/bsnes/ares/001-fix-ruby.patch
new file mode 100644
index 0000000000000..86f548389259c
--- /dev/null
+++ b/pkgs/applications/emulators/bsnes/ares/001-fix-ruby.patch
@@ -0,0 +1,24 @@
+diff -Naur source-old/ruby/GNUmakefile source-new/ruby/GNUmakefile
+--- source-old/ruby/GNUmakefile	1969-12-31 21:00:01.000000000 -0300
++++ source-new/ruby/GNUmakefile	2022-11-13 22:43:09.700197748 -0300
+@@ -11,17 +11,9 @@
+     ruby += audio.openal
+     ruby += input.quartz #input.carbon
+   else ifeq ($(platform),linux)
+-    pkg_check = $(if $(shell pkg-config $1 && echo 1),$2)
+-    ruby += video.glx video.glx2 video.xshm
+-    ruby += $(call pkg_check,xv,video.xvideo)
+-    ruby += audio.oss audio.alsa
+-    ruby += $(call pkg_check,openal,audio.openal)
+-    ruby += $(call pkg_check,libpulse,audio.pulseaudio)
+-    ruby += $(call pkg_check,libpulse-simple,audio.pulseaudiosimple)
+-    ruby += $(call pkg_check,ao,audio.ao)
+-    ruby += input.xlib
+-    ruby += $(call pkg_check,libudev,input.udev)
+-    ruby += $(call pkg_check,sdl2,input.sdl)
++    ruby += video.glx video.glx2 video.xshm video.xvideo
++    ruby += audio.oss audio.alsa audio.openal audio.pulseaudio audio.pulseaudiosimple audio.ao
++    ruby += input.xlib input.udev input.sdl
+   else ifeq ($(platform),bsd)
+     pkg_check = $(if $(shell pkg-config $1 && echo 1),$2)
+     ruby += video.glx video.glx2 video.xshm
diff --git a/pkgs/applications/emulators/bsnes/ares/default.nix b/pkgs/applications/emulators/bsnes/ares/default.nix
index 9935e51740a1b..7a6dae5784cec 100644
--- a/pkgs/applications/emulators/bsnes/ares/default.nix
+++ b/pkgs/applications/emulators/bsnes/ares/default.nix
@@ -17,20 +17,20 @@
 , udev
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "ares";
-  version = "129";
+  version = "130.1";
 
   src = fetchFromGitHub {
     owner = "ares-emulator";
     repo = "ares";
-    rev = "v${version}";
-    hash = "sha256-prfvoGtbnsl/1ahx98jBOgT64W566GoUtE8rIOF7lYc=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-q2wDpbNaDyKPBL20FDaHScKQEJYstlQdJ4CzbRoSPlk=";
   };
 
   patches = [
-    ./dont-rebuild-on-install.patch
-    ./fix-ruby.patch
+    ./000-dont-rebuild-on-install.patch
+    ./001-fix-ruby.patch
   ];
 
   nativeBuildInputs = [
@@ -64,12 +64,12 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    homepage = "https://ares.dev";
+    homepage = "https://ares-emu.net";
     description = "Open-source multi-system emulator with a focus on accuracy and preservation";
     license = licenses.isc;
     maintainers = with maintainers; [ Madouura AndersonTorres ];
     platforms = platforms.linux;
   };
-}
+})
 # TODO: select between Qt, GTK2 and GTK3
 # TODO: support Darwin
diff --git a/pkgs/applications/emulators/bsnes/ares/fix-ruby.patch b/pkgs/applications/emulators/bsnes/ares/fix-ruby.patch
deleted file mode 100644
index 01bd57ebaaddf..0000000000000
--- a/pkgs/applications/emulators/bsnes/ares/fix-ruby.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff --git a/ruby/GNUmakefile b/ruby/GNUmakefile
-index e85a51701..7fca89e0f 100644
---- a/ruby/GNUmakefile
-+++ b/ruby/GNUmakefile
-@@ -8,19 +8,9 @@ ifeq ($(ruby),)
-     ruby += audio.openal
-     ruby += input.quartz #input.carbon
-   else ifeq ($(platform),linux)
--    pkg_check1 = $(if $(shell test -e /usr/lib/lib$1.so && echo 1),$2)
--    pkg_check2 = $(if $(shell test -e /usr/lib/$(shell uname -m)-linux-gnu/lib$1.so && echo 1),$2)
--    pkg_check = $(call pkg_check1,$1,$2) $(call pkg_check2,$1,$2)
--    ruby += video.glx video.glx2 video.xshm
--    ruby += $(call pkg_check,Xv,video.xvideo)
--    ruby += audio.oss audio.alsa
--    ruby += $(call pkg_check,openal,audio.openal)
--    ruby += $(call pkg_check,pulse,audio.pulseaudio)
--    ruby += $(call pkg_check,pulse-simple,audio.pulseaudiosimple)
--    ruby += $(call pkg_check,ao,audio.ao)
--    ruby += input.xlib
--    ruby += $(call pkg_check,udev,input.udev)
--    ruby += $(call pkg_check,SDL2,input.sdl)
-+    ruby += video.glx video.glx2 video.xshm video.xvideo
-+    ruby += audio.oss audio.alsa audio.openal audio.pulseaudio audio.pulseaudiosimple audio.ao
-+    ruby += input.xlib input.udev input.sdl
-   else ifeq ($(platform),bsd)
-     pkg_check = $(if $(shell test -e /usr/local/lib/lib$1.so && echo 1),$2)
-     ruby += video.glx video.glx2 video.xshm
diff --git a/pkgs/applications/emulators/cemu/cmakelists.patch b/pkgs/applications/emulators/cemu/cmakelists.patch
new file mode 100644
index 0000000000000..a337484277ef8
--- /dev/null
+++ b/pkgs/applications/emulators/cemu/cmakelists.patch
@@ -0,0 +1,12 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4b2b789..48d9be0 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -92,6 +92,7 @@ find_package(pugixml REQUIRED)
+ find_package(RapidJSON REQUIRED)
+ find_package(Boost COMPONENTS program_options filesystem nowide REQUIRED)
+ find_package(libzip REQUIRED)
++find_package(SPIRV-Tools-opt REQUIRED)
+ find_package(glslang REQUIRED)
+ find_package(ZLIB REQUIRED)
+ find_package(zstd MODULE REQUIRED) # MODULE so that zstd::zstd is available
diff --git a/pkgs/applications/emulators/cemu/default.nix b/pkgs/applications/emulators/cemu/default.nix
new file mode 100644
index 0000000000000..2e7b99f4c607a
--- /dev/null
+++ b/pkgs/applications/emulators/cemu/default.nix
@@ -0,0 +1,119 @@
+{ lib, stdenv, fetchFromGitHub
+, addOpenGLRunpath
+, wrapGAppsHook
+, cmake
+, glslang
+, nasm
+, pkg-config
+
+, SDL2
+, boost
+, cubeb
+, curl
+, fmt_9
+, glm
+, gtk3
+, imgui
+, libpng
+, libzip
+, libXrender
+, pugixml
+, rapidjson
+, vulkan-headers
+, wxGTK32
+, zarchive
+
+, vulkan-loader
+}:
+
+stdenv.mkDerivation rec {
+  pname = "cemu";
+  version = "2.0-13";
+
+  src = fetchFromGitHub {
+    owner = "cemu-project";
+    repo = "Cemu";
+    rev = "v${version}";
+    hash = "sha256-0yomEJoXMKZV2PAjINegSvtDB6gbYxQ6XcXA60/ZkEM=";
+  };
+
+  patches = [
+    # glslangTargets want SPIRV-Tools-opt to be defined:
+    # > The following imported targets are referenced, but are missing:
+    # > SPIRV-Tools-opt
+    ./cmakelists.patch
+  ];
+
+  nativeBuildInputs = [
+    addOpenGLRunpath
+    wrapGAppsHook
+    cmake
+    glslang
+    nasm
+    pkg-config
+  ];
+
+  buildInputs = [
+    SDL2
+    boost
+    cubeb
+    curl
+    fmt_9
+    glm
+    gtk3
+    imgui
+    libpng
+    libzip
+    libXrender
+    pugixml
+    rapidjson
+    vulkan-headers
+    wxGTK32
+    zarchive
+  ];
+
+  cmakeFlags = [
+    "-DCMAKE_C_FLAGS_RELEASE=-DNDEBUG"
+    "-DCMAKE_CXX_FLAGS_RELEASE=-DNDEBUG"
+    "-DENABLE_VCPKG=OFF"
+
+    # PORTABLE:
+    # "All data created and maintained by Cemu will be in the directory where the executable file is located"
+    "-DPORTABLE=OFF"
+  ];
+
+  preConfigure = ''
+    rm -rf dependencies/imgui
+    ln -s ${imgui}/include/imgui dependencies/imgui
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm755 ../bin/Cemu_release $out/bin/Cemu
+    ln -s $out/bin/Cemu $out/bin/cemu
+
+    mkdir -p $out/share/applications
+    substitute ../dist/linux/info.cemu.Cemu.desktop $out/share/applications/info.cemu.Cemu.desktop \
+      --replace "Exec=Cemu" "Exec=$out/bin/Cemu"
+
+    install -Dm644 ../dist/linux/info.cemu.Cemu.metainfo.xml -t $out/share/metainfo
+    install -Dm644 ../src/resource/logo_icon.png $out/share/icons/hicolor/128x128/apps/info.cemu.Cemu.png
+
+    runHook postInstall
+  '';
+
+  preFixup = let
+    libs = [ vulkan-loader ] ++ cubeb.passthru.backendLibs;
+  in ''
+    gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath libs}")
+  '';
+
+  meta = with lib; {
+    description = "Cemu is a Wii U emulator";
+    homepage = "https://cemu.info";
+    license = licenses.mpl20;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ zhaofengli baduhai ];
+  };
+}
diff --git a/pkgs/applications/emulators/desmume/default.nix b/pkgs/applications/emulators/desmume/default.nix
index 49cb2498e64fa..5472069f41681 100644
--- a/pkgs/applications/emulators/desmume/default.nix
+++ b/pkgs/applications/emulators/desmume/default.nix
@@ -21,15 +21,15 @@
 , zlib
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "desmume";
-  version = "0.9.11+unstable=2021-09-22";
+  version = "0.9.13";
 
   src = fetchFromGitHub {
     owner = "TASVideos";
-    repo = pname;
-    rev = "7fc2e4b6b6a58420de65a4089d4df3934d7a46b1";
-    hash = "sha256-sTCyjQ31w1Lp+aa3VQ7/rdLbhjnqthce54mjKJZQIDM=";
+    repo = "desmume";
+    rev = "release_${lib.replaceChars ["."] ["_"] finalAttrs.version}";
+    hash = "sha256-vmjKXa/iXLTwtqnG+ZUvOnOQPZROeMpfM5J3Jh/Ynfo=";
   };
 
   nativeBuildInputs = [
@@ -81,7 +81,8 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.AndersonTorres ];
     platforms = platforms.unix;
+    broken = stdenv.isAarch64 && stdenv.isLinux; # ofborg failed
   };
-}
+})
 # TODO: investigate the patches
 # TODO: investigate other platforms
diff --git a/pkgs/applications/emulators/dolphin-emu/master.nix b/pkgs/applications/emulators/dolphin-emu/master.nix
index 35a00503ed505..eee0213ea12bd 100644
--- a/pkgs/applications/emulators/dolphin-emu/master.nix
+++ b/pkgs/applications/emulators/dolphin-emu/master.nix
@@ -10,10 +10,12 @@
 , libGL
 , libXrandr
 , libusb1
+, libXdmcp
 , libXext
 , openal
 , udev
 , libevdev
+, cubeb
 , curl
 , alsa-lib
 , miniupnpc
@@ -73,6 +75,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
+    cubeb
     curl
     ffmpeg
     pugixml
@@ -83,6 +86,7 @@ stdenv.mkDerivation rec {
     libusb1
     libiconv
     libpng
+    libXdmcp
     hidapi
     miniupnpc
     enet
@@ -127,7 +131,7 @@ stdenv.mkDerivation rec {
   ];
 
   qtWrapperArgs = lib.optionals stdenv.isLinux [
-    "--prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib"
+    "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [vulkan-loader]}"
     # https://bugs.dolphin-emu.org/issues/11807
     # The .desktop file should already set this, but Dolphin may be launched in other ways
     "--set QT_QPA_PLATFORM xcb"
@@ -169,7 +173,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://dolphin-emu.org";
     description = "Gamecube/Wii/Triforce emulator for x86_64 and ARMv8";
-    mainProgram = "Dolphin";
+    mainProgram = if stdenv.hostPlatform.isDarwin then "Dolphin" else "dolphin-emu";
     branch = "master";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
diff --git a/pkgs/applications/emulators/duckstation/default.nix b/pkgs/applications/emulators/duckstation/default.nix
index d02e08ed6cd40..31869fa9fe36f 100644
--- a/pkgs/applications/emulators/duckstation/default.nix
+++ b/pkgs/applications/emulators/duckstation/default.nix
@@ -4,31 +4,32 @@
 , SDL2
 , cmake
 , copyDesktopItems
-, makeDesktopItem
 , curl
 , extra-cmake-modules
-, libevdev
-, libpulseaudio
 , libXrandr
+, libpulseaudio
+, makeDesktopItem
 , mesa # for libgbm
 , ninja
 , pkg-config
 , qtbase
+, qtsvg
 , qttools
 , vulkan-loader
-#, wayland # Wayland doesn't work correctly this version
+, wayland
 , wrapQtAppsHook
+, enableWayland ? true
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   pname = "duckstation";
-  version = "unstable-2022-07-08";
+  version = "unstable-2022-11-18";
 
   src = fetchFromGitHub {
     owner = "stenzek";
-    repo = pname;
-    rev = "82965f741e81e4d2f7e1b2abdc011e1f266bfe7f";
-    sha256 = "sha256-D8Ps/EQRcHLsps/KEUs56koeioOdE/GPA0QJSrbSdYs=";
+    repo = "duckstation";
+    rev = "8d7aea5e19859ed483699cc4a5dbd47165c7be8b";
+    sha256 = "sha256-92Wn1ZEEZszmVK/KrJqjDuQf/lyD8/VScfTI/St5dY4=";
   };
 
   nativeBuildInputs = [
@@ -44,19 +45,19 @@ stdenv.mkDerivation rec {
   buildInputs = [
     SDL2
     curl
-    libevdev
     libpulseaudio
     libXrandr
     mesa
     qtbase
+    qtsvg
     vulkan-loader
-    #wayland
-  ];
+  ]
+  ++ lib.optionals enableWayland [ wayland ];
 
   cmakeFlags = [
     "-DUSE_DRMKMS=ON"
-    #"-DUSE_WAYLAND=ON"
-  ];
+  ]
+  ++ lib.optionals enableWayland [ "-DUSE_WAYLAND=ON" ];
 
   desktopItems = [
     (makeDesktopItem {
@@ -80,7 +81,7 @@ stdenv.mkDerivation rec {
     cp -r bin $out/share/duckstation
     ln -s $out/share/duckstation/duckstation-qt $out/bin/
 
-    install -Dm644 ../extras/icons/icon-256px.png $out/share/pixmaps/duckstation.png
+    install -Dm644 bin/resources/images/duck.png $out/share/pixmaps/duckstation.png
 
     runHook postInstall
   '';
diff --git a/pkgs/applications/emulators/fceux/default.nix b/pkgs/applications/emulators/fceux/default.nix
index e48f1cf7d56c2..0225f76a2aafe 100644
--- a/pkgs/applications/emulators/fceux/default.nix
+++ b/pkgs/applications/emulators/fceux/default.nix
@@ -1,24 +1,44 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, wrapQtAppsHook, SDL2, lua5_1, minizip, x264 }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, SDL2
+, cmake
+, lua
+, minizip
+, pkg-config
+, wrapQtAppsHook
+, x264
+}:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "fceux";
   version = "2.6.4";
 
   src = fetchFromGitHub {
     owner = "TASEmulators";
-    repo = pname;
-    rev = "${pname}-${version}";
-    sha256 = "sha256-Q6r/iBlmi0z40+U6OLZCahS0io4IBBGZMP1mJH7szRM=";
+    repo = "fceux";
+    rev = "fceux-${finalAttrs.version}";
+    hash = "sha256-Q6r/iBlmi0z40+U6OLZCahS0io4IBBGZMP1mJH7szRM=";
   };
 
-  nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
-  buildInputs = [ SDL2 lua5_1 minizip x264 ];
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    SDL2
+    lua
+    minizip
+    x264
+  ];
 
   meta = with lib; {
+    homepage = "http://www.fceux.com/";
     description = "A Nintendo Entertainment System (NES) Emulator";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ sbruder scubed2 ];
-    homepage = "http://www.fceux.com/";
     platforms = platforms.linux;
   };
-}
+})
diff --git a/pkgs/applications/emulators/flycast/default.nix b/pkgs/applications/emulators/flycast/default.nix
index 3243c333a335b..b597abc7b0693 100644
--- a/pkgs/applications/emulators/flycast/default.nix
+++ b/pkgs/applications/emulators/flycast/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , cmake
 , pkg-config
+, makeWrapper
 , alsa-lib
 , libX11
 , libevdev
@@ -11,6 +12,7 @@
 , SDL2
 , libzip
 , miniupnpc
+, vulkan-loader
 }:
 
 stdenv.mkDerivation rec {
@@ -28,6 +30,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     cmake
     pkg-config
+    makeWrapper
   ];
 
   buildInputs = [
@@ -41,6 +44,10 @@ stdenv.mkDerivation rec {
     miniupnpc
   ];
 
+  postFixup = ''
+    wrapProgram $out/bin/flycast --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ vulkan-loader ]}
+  '';
+
   meta = with lib; {
     homepage = "https://github.com/flyinghead/flycast";
     changelog = "https://github.com/flyinghead/flycast/releases/tag/v${version}";
diff --git a/pkgs/applications/emulators/mame/0001-Revert-Added-PDF-documentation-to-dist.mak.patch b/pkgs/applications/emulators/mame/0001-Revert-Added-PDF-documentation-to-dist.mak.patch
deleted file mode 100644
index cee425eaa93df..0000000000000
--- a/pkgs/applications/emulators/mame/0001-Revert-Added-PDF-documentation-to-dist.mak.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 54aebffc4584ee68149d4b5b64ceaa79a82b8427 Mon Sep 17 00:00:00 2001
-From: Thiago Kenji Okada <thiagokokada@gmail.com>
-Date: Sat, 9 Apr 2022 13:16:08 +0100
-Subject: [PATCH] Revert "Added PDF documentation to dist.mak"
-
-This reverts commit c0e93076232e794c919231e4386445d78b2d80b1.
----
- dist.mak | 8 +-------
- 1 file changed, 1 insertion(+), 7 deletions(-)
-
-diff --git a/dist.mak b/dist.mak
-index edbb4cd67cb..c378dfdf708 100644
---- a/dist.mak
-+++ b/dist.mak
-@@ -109,7 +109,7 @@ GEN_FOLDERS := $(addprefix $(STAGEDIR)/,$(CREATED_DIRS))
- COPY_BINARIES := $(addprefix $(STAGEDIR)/,$(addsuffix $(EXE),$(BINARIES)))
- COPY_FILES := $(addprefix $(STAGEDIR)/,$(COPIED_FILES))
- 
--all: $(COPY_BINARIES) $(COPY_FILES) $(STAGEDIR)/docs/MAME.pdf
-+all: $(COPY_BINARIES) $(COPY_FILES)
- 
- clean:
- 	$(SILENT) rm -rf $(STAGEDIR)
-@@ -124,10 +124,4 @@ $(STAGEDIR)/%: $(BINDIR)/% | $(GEN_FOLDERS)
- $(STAGEDIR)/%: % | $(GEN_FOLDERS)
- 	$(call COPY,$<,$@)
- 
--$(STAGEDIR)/docs/MAME.pdf: docs/build/latex/MAME.pdf | $(GEN_FOLDERS)
--	$(call COPY,$<,$@)
--
--docs/build/latex/MAME.pdf:
--	$(MAKE) -C docs latexpdf
--
- .PHONY: all clean
--- 
-2.33.1
-
diff --git a/pkgs/applications/emulators/mame/default.nix b/pkgs/applications/emulators/mame/default.nix
index eb0f9076a17da..48d77ce5e6fe1 100644
--- a/pkgs/applications/emulators/mame/default.nix
+++ b/pkgs/applications/emulators/mame/default.nix
@@ -1,9 +1,11 @@
 { lib
 , stdenv
 , alsa-lib
+, copyDesktopItems
 , CoreAudioKit
 , expat
 , fetchFromGitHub
+, fetchurl
 , flac
 , fontconfig
 , ForceFeedback
@@ -26,6 +28,7 @@
 , rapidjson
 , SDL2
 , SDL2_ttf
+, sqlite
 , utf8proc
 , which
 , writeScript
@@ -33,28 +36,25 @@
 }:
 
 let
-  desktopItem = makeDesktopItem {
-    name = "MAME";
-    exec = "mame${lib.optionalString stdenv.is64bit "64"}";
-    desktopName = "MAME";
-    genericName = "MAME is a multi-purpose emulation framework";
-    categories = [ "System" "Emulator" ];
+  # Get icon from Arch Linux package
+  icon = fetchurl {
+    url = "https://raw.githubusercontent.com/archlinux/svntogit-community/614b24ef3856cb52b5cafc386b0f77923cbc9156/trunk/mame.svg";
+    sha256 = "sha256-F8RCyTPXZBdeTOHeUKgMDC3dXXM8rwnDzV5rppesQ/Q=";
   };
-
   dest = "$out/opt/mame";
 in
 stdenv.mkDerivation rec {
   pname = "mame";
-  version = "0.243";
+  version = "0.249";
 
   src = fetchFromGitHub {
     owner = "mamedev";
     repo = "mame";
     rev = "mame${builtins.replaceStrings [ "." ] [ "" ] version}";
-    sha256 = "sha256-dUgYLNvgvolz9M0ySkGJIZjVMBQwejkxsZ6npg8rIqk=";
+    sha256 = "sha256-im6y/E0pQxruX2kNXZLE3fHq+zXfsstnOoC1QvH4fd4=";
   };
 
-  hardeningDisable = [ "fortify" ];
+  outputs = [ "out" "tools" ];
 
   makeFlags = [
     "CC=${stdenv.cc.targetPrefix}cc"
@@ -72,6 +72,7 @@ stdenv.mkDerivation rec {
     "USE_SYSTEM_LIB_PUGIXML=1"
     "USE_SYSTEM_LIB_RAPIDJSON=1"
     "USE_SYSTEM_LIB_UTF8PROC=1"
+    "USE_SYSTEM_LIB_SQLITE3=1"
     "USE_SYSTEM_LIB_ZLIB=1"
   ];
 
@@ -92,19 +93,22 @@ stdenv.mkDerivation rec {
     glm
     SDL2
     SDL2_ttf
+    sqlite
     qtbase
   ]
   ++ lib.optionals stdenv.isLinux [ alsa-lib libpulseaudio libXinerama libXi fontconfig ]
   ++ lib.optionals stdenv.isDarwin [ libpcap CoreAudioKit ForceFeedback ];
 
-  nativeBuildInputs = [ python3 pkg-config which makeWrapper installShellFiles ];
+  nativeBuildInputs = [
+    copyDesktopItems
+    installShellFiles
+    makeWrapper
+    pkg-config
+    python3
+    which
+  ];
 
   patches = [
-    # MAME is now generating the PDF documentation on its release script since commit:
-    # https://github.com/mamedev/mame/commit/c0e93076232e794c919231e4386445d78b2d80b1
-    # however this needs sphinx+latex to build, and it is available in the website
-    # anyway for those who need it
-    ./0001-Revert-Added-PDF-documentation-to-dist.mak.patch
     # by default MAME assumes that paths with stock resources
     # are relative and that you run MAME changing to
     # install directory, so we add absolute paths here
@@ -116,21 +120,47 @@ stdenv.mkDerivation rec {
       --subst-var-by mame ${dest}
   '';
 
+  desktopItems = [
+    (makeDesktopItem {
+      name = "MAME";
+      desktopName = "MAME";
+      exec = "mame";
+      icon = "mame";
+      type = "Application";
+      genericName = "MAME is a multi-purpose emulation framework";
+      comment = "Play vintage games using the MAME emulator";
+      categories = [ "Game" "Emulator" ];
+      keywords = [ "Game" "Emulator" "Arcade" ];
+    })
+  ];
+
   installPhase = ''
-    make -f dist.mak PTR64=${lib.optionalString stdenv.is64bit "1"}
-    mkdir -p ${dest}
-    mv build/release/*/Release/mame/* ${dest}
+    runHook preInstall
 
-    mkdir -p $out/bin
-    find ${dest} -maxdepth 1 -executable -type f -exec mv -t $out/bin {} \;
-    install -Dm755 src/osd/sdl/taputil.sh $out/bin/taputil.sh
+    # mame
+    mkdir -p ${dest}
 
-    installManPage ${dest}/docs/man/*.1 ${dest}/docs/man/*.6
+    install -Dm755 mame -t $out/bin
+    install -Dm644 ${icon} $out/share/icons/hicolor/scalable/apps/mame.svg
+    installManPage docs/man/*.1 docs/man/*.6
+    cp -ar {artwork,bgfx,plugins,language,ctrlr,keymaps,hash} ${dest}
+    # TODO: copy shaders from src/osd/modules/opengl/shader/glsl*.*h
+    # to the final package after we figure out how they work
+
+    # mame-tools
+    for _i in castool chdman floptool imgtool jedutil ldresample ldverify nltool nlwav pngcmp regrep romcmp \
+              split srcclean testkeys unidasm; do
+      install -Dm755 $_i -t $tools/bin
+    done
+    mv $tools/bin/{,mame-}split
+
+    runHook postInstall
+  '';
 
-    mv artwork plugins samples ${dest}
-  '' + lib.optionalString stdenv.isLinux ''
-    mkdir -p $out/share
-    ln -s ${desktopItem}/share/applications $out/share
+  # man1 is the tools documentation, man6 is the emulator documentation
+  # Need to be done in postFixup otherwise multi-output hook will move it back to $out
+  postFixup = ''
+    moveToOutput share/man/man1 $tools
   '';
 
   enableParallelBuilding = true;
@@ -146,7 +176,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin;
+    broken = stdenv.isDarwin;
     description = "Is a multi-purpose emulation framework";
     homepage = "https://www.mamedev.org/";
     license = with licenses; [ bsd3 gpl2Plus ];
diff --git a/pkgs/applications/emulators/mame/emuopts.patch b/pkgs/applications/emulators/mame/emuopts.patch
index b85291f52f746..233d64eb15d02 100644
--- a/pkgs/applications/emulators/mame/emuopts.patch
+++ b/pkgs/applications/emulators/mame/emuopts.patch
@@ -1,29 +1,32 @@
-diff --git a/src/emu/emuopts.cpp b/src/emu/emuopts.cpp
-index c42fcef848..d1bddae060 100644
---- a/src/emu/emuopts.cpp
-+++ b/src/emu/emuopts.cpp
-@@ -36,16 +36,16 @@ const options_entry emu_options::s_option_entries[] =
- 	{ nullptr,                                           nullptr,     OPTION_HEADER,     "CORE SEARCH PATH OPTIONS" },
- 	{ OPTION_HOMEPATH,                                   ".",         OPTION_STRING,     "path to base folder for plugin data (read/write)" },
- 	{ OPTION_MEDIAPATH ";rp;biospath;bp",                "roms",      OPTION_STRING,     "path to ROM sets and hard disk images" },
--	{ OPTION_HASHPATH ";hash_directory;hash",            "hash",      OPTION_STRING,     "path to software definition files" },
--	{ OPTION_SAMPLEPATH ";sp",                           "samples",   OPTION_STRING,     "path to audio sample sets" },
--	{ OPTION_ARTPATH,                                    "artwork",   OPTION_STRING,     "path to artwork files" },
--	{ OPTION_CTRLRPATH,                                  "ctrlr",     OPTION_STRING,     "path to controller definitions" },
--	{ OPTION_INIPATH,                                    ".;ini;ini/presets",     OPTION_STRING,     "path to ini files" },
--	{ OPTION_FONTPATH,                                   ".",         OPTION_STRING,     "path to font files" },
-+	{ OPTION_HASHPATH ";hash_directory;hash",            "hash;@mame@/hash",      OPTION_STRING,     "path to software definition files" },
-+	{ OPTION_SAMPLEPATH ";sp",                           "samples;@mame@/samples",   OPTION_STRING,     "path to audio sample sets" },
-+	{ OPTION_ARTPATH,                                    "artwork;@mame@/artwork",   OPTION_STRING,     "path to artwork files" },
-+	{ OPTION_CTRLRPATH,                                  "ctrlr;@mame@/ctrlr",     OPTION_STRING,     "path to controller definitions" },
-+	{ OPTION_INIPATH,                                    ".;ini;ini/presets;@mame@/ini/presets",     OPTION_STRING,     "path to ini files" },
-+	{ OPTION_FONTPATH,                                   ".;@mame@",         OPTION_STRING,     "path to font files" },
- 	{ OPTION_CHEATPATH,                                  "cheat",     OPTION_STRING,     "path to cheat files" },
- 	{ OPTION_CROSSHAIRPATH,                              "crosshair", OPTION_STRING,     "path to crosshair files" },
--	{ OPTION_PLUGINSPATH,                                "plugins",   OPTION_STRING,     "path to plugin files" },
--	{ OPTION_LANGUAGEPATH,                               "language",  OPTION_STRING,     "path to UI translation files" },
-+	{ OPTION_PLUGINSPATH,                                "plugins;@mame@/plugins",   OPTION_STRING,     "path to plugin files" },
-+	{ OPTION_LANGUAGEPATH,                               "language;@mame@/language",  OPTION_STRING,     "path to UI translation files" },
- 	{ OPTION_SWPATH,                                     "software",  OPTION_STRING,     "path to loose software" },
+--- a/src/emu/emuopts.cpp	2022-10-29 15:05:18.591381088 +0200
++++ b/src/emu/emuopts.cpp	2022-10-29 15:10:10.938037551 +0200
+@@ -39,16 +39,16 @@
+ 	{ nullptr,                                           nullptr,     core_options::option_type::HEADER,     "CORE SEARCH PATH OPTIONS" },
+ 	{ OPTION_PLUGINDATAPATH,                             ".",         core_options::option_type::STRING,     "path to base folder for plugin data (read/write)" },
+ 	{ OPTION_MEDIAPATH ";rp;biospath;bp",                "roms",      core_options::option_type::STRING,     "path to ROM sets and hard disk images" },
+-	{ OPTION_HASHPATH ";hash_directory;hash",            "hash",      core_options::option_type::STRING,     "path to software definition files" },
+-	{ OPTION_SAMPLEPATH ";sp",                           "samples",   core_options::option_type::STRING,     "path to audio sample sets" },
+-	{ OPTION_ARTPATH,                                    "artwork",   core_options::option_type::STRING,     "path to artwork files" },
+-	{ OPTION_CTRLRPATH,                                  "ctrlr",     core_options::option_type::STRING,     "path to controller definitions" },
+-	{ OPTION_INIPATH,                                    ".;ini;ini/presets",     core_options::option_type::STRING,     "path to ini files" },
+-	{ OPTION_FONTPATH,                                   ".",         core_options::option_type::STRING,     "path to font files" },
++	{ OPTION_HASHPATH ";hash_directory;hash",            "hash;@mame@/hash",      core_options::option_type::STRING,     "path to software definition files" },
++	{ OPTION_SAMPLEPATH ";sp",                           "samples;@mame@/samples",   core_options::option_type::STRING,     "path to audio sample sets" },
++	{ OPTION_ARTPATH,                                    "artwork;@mame@/artwork",   core_options::option_type::STRING,     "path to artwork files" },
++	{ OPTION_CTRLRPATH,                                  "ctrlr;@mame@/ctrlr",     core_options::option_type::STRING,     "path to controller definitions" },
++	{ OPTION_INIPATH,                                    ".;ini;ini/presets;@mame@/ini/presets",     core_options::option_type::STRING,     "path to ini files" },
++	{ OPTION_FONTPATH,                                   ".;@mame@",         core_options::option_type::STRING,     "path to font files" },
+ 	{ OPTION_CHEATPATH,                                  "cheat",     core_options::option_type::STRING,     "path to cheat files" },
+ 	{ OPTION_CROSSHAIRPATH,                              "crosshair", core_options::option_type::STRING,     "path to crosshair files" },
+-	{ OPTION_PLUGINSPATH,                                "plugins",   core_options::option_type::STRING,     "path to plugin files" },
+-	{ OPTION_LANGUAGEPATH,                               "language",  core_options::option_type::STRING,     "path to UI translation files" },
++	{ OPTION_PLUGINSPATH,                                "plugins;@mame@/plugins",   core_options::option_type::STRING,     "path to plugin files" },
++	{ OPTION_LANGUAGEPATH,                               "language;@mame@/language",  core_options::option_type::STRING,     "path to UI translation files" },
+ 	{ OPTION_SWPATH,                                     "software",  core_options::option_type::STRING,     "path to loose software" },
  
  	// output directory options
+@@ -1301,3 +1301,4 @@
+ 	m_entry = entry;
+ 	return entry;
+ }
++
diff --git a/pkgs/applications/emulators/mgba/default.nix b/pkgs/applications/emulators/mgba/default.nix
index ce0ea6d6de8b8..d8aec3aa54c26 100644
--- a/pkgs/applications/emulators/mgba/default.nix
+++ b/pkgs/applications/emulators/mgba/default.nix
@@ -3,7 +3,6 @@
 , fetchFromGitHub
 , SDL2
 , cmake
-, copyDesktopItems
 , ffmpeg
 , imagemagick
 , libedit
@@ -11,7 +10,6 @@
 , libepoxy
 , libzip
 , lua
-, makeDesktopItem
 , minizip
 , pkg-config
 , qtbase
@@ -33,7 +31,6 @@ stdenv.mkDerivation (finalAttrs: {
 
   nativeBuildInputs = [
     cmake
-    copyDesktopItems
     pkg-config
     wrapQtAppsHook
   ];
@@ -53,19 +50,6 @@ stdenv.mkDerivation (finalAttrs: {
     qttools
   ];
 
-  desktopItems = [
-    (makeDesktopItem {
-      name = "mgba";
-      exec = "mgba-qt";
-      icon = "mgba";
-      comment = "A Game Boy Advance Emulator";
-      desktopName = "mgba";
-      genericName = "Game Boy Advance Emulator";
-      categories = [ "Game" "Emulator" ];
-      startupNotify = false;
-    })
-  ];
-
   meta = with lib; {
     homepage = "https://mgba.io";
     description = "A modern GBA emulator with a focus on accuracy";
diff --git a/pkgs/applications/emulators/np2kai/default.nix b/pkgs/applications/emulators/np2kai/default.nix
index cf55085b78a19..4e2f01ade369a 100644
--- a/pkgs/applications/emulators/np2kai/default.nix
+++ b/pkgs/applications/emulators/np2kai/default.nix
@@ -124,7 +124,7 @@ stdenv.mkDerivation rec {
 
   configurePhase = ''
     export GIT_VERSION=${builtins.substring 0 7 src.rev}
-    buildFlags="$buildFlags ''${enableParallelBuilding:+-j$NIX_BUILD_CORES"
+    buildFlags="$buildFlags ''${enableParallelBuilding:+-j$NIX_BUILD_CORES}"
   '' + optionalString enableX11 ''
     cd x11
     substituteInPlace Makefile.am \
diff --git a/pkgs/applications/emulators/retroarch/cores.nix b/pkgs/applications/emulators/retroarch/cores.nix
index 65b117629306f..a738432a8ec36 100644
--- a/pkgs/applications/emulators/retroarch/cores.nix
+++ b/pkgs/applications/emulators/retroarch/cores.nix
@@ -6,6 +6,7 @@
 , cmake
 , curl
 , fetchFromGitHub
+, fetchpatch
 , ffmpeg
 , fluidsynth
 , gettext
@@ -38,7 +39,6 @@
 , xxd
 , xz
 , zlib
-, fetchpatch
 }:
 
 let
@@ -47,297 +47,283 @@ let
   getCoreSrc = core:
     fetchFromGitHub (builtins.getAttr core hashesFile);
 
-  mkLibRetroCore =
+  mkLibretroCore =
     { core
-    , description
-      # Check https://github.com/libretro/libretro-core-info for license information
-    , license
-    , stdenvOverride ? stdenv
     , src ? (getCoreSrc core)
-    , broken ? false
     , version ? "unstable-2022-10-18"
-    , platforms ? retroarch.meta.platforms
-      # The resulting core file is based on core name
-      # Setting `normalizeCore` to `true` will convert `-` to `_` on the core filename
-    , normalizeCore ? true
     , ...
     }@args:
-    stdenvOverride.mkDerivation (
-      let
-        inherit (stdenvOverride) hostPlatform;
-        d2u = if normalizeCore then (lib.replaceChars [ "-" ] [ "_" ]) else (x: x);
-      in
-      (rec {
-        pname = "libretro-${core}";
-        inherit version src;
-
-        buildInputs = [ zlib ] ++ args.extraBuildInputs or [ ];
-        nativeBuildInputs = [ makeWrapper ] ++ args.extraNativeBuildInputs or [ ];
-
-        makefile = "Makefile.libretro";
-        makeFlags = [
-          "platform=${{
-            linux = "unix";
-            darwin = "osx";
-            windows = "win";
-          }.${hostPlatform.parsed.kernel.name} or hostPlatform.parsed.kernel.name}"
-          "ARCH=${{
-            armv7l = "arm";
-            armv6l = "arm";
-            i686 = "x86";
-          }.${hostPlatform.parsed.cpu.name} or hostPlatform.parsed.cpu.name}"
-        ] ++ (args.makeFlags or [ ]);
-
-        coreDir = "${placeholder "out"}/lib/retroarch/cores";
-
-        installPhase = ''
-          runHook preInstall
-
-          mkdir -p $out/bin
-          mkdir -p $coreDir
-          mv ${d2u args.core}_libretro${hostPlatform.extensions.sharedLibrary} $coreDir
-          makeWrapper ${retroarch}/bin/retroarch $out/bin/retroarch-${core} \
-            --add-flags "-L $coreDir/${d2u core}_libretro${hostPlatform.extensions.sharedLibrary} $@"
-
-          runHook postInstall
-        '';
-
-        enableParallelBuilding = true;
-
-        passthru = {
-          inherit core;
-          libretroCore = "/lib/retroarch/cores";
-        };
-
-        meta = with lib; {
-          inherit broken description license platforms;
-          homepage = "https://www.libretro.com/";
-          maintainers = with maintainers; teams.libretro.members ++ [ hrdinka ];
-        };
-      }) // builtins.removeAttrs args [ "core" "src" "description" "license" "makeFlags" ]
-    );
+    import ./mkLibretroCore.nix ({
+      inherit lib stdenv core src version makeWrapper retroarch zlib;
+    } // args);
 in
 {
-  inherit mkLibRetroCore;
+  inherit mkLibretroCore;
 
-  atari800 = mkLibRetroCore {
+  atari800 = mkLibretroCore {
     core = "atari800";
-    description = "Port of Atari800 to libretro";
-    license = lib.licenses.gpl2Only;
     makefile = "Makefile";
     makeFlags = [ "GIT_VERSION=" ];
+    meta = {
+      description = "Port of Atari800 to libretro";
+      license = lib.licenses.gpl2Only;
+    };
   };
 
-  beetle-gba = mkLibRetroCore {
+  beetle-gba = mkLibretroCore {
     core = "mednafen-gba";
     src = getCoreSrc "beetle-gba";
-    description = "Port of Mednafen's GameBoy Advance core to libretro";
-    license = lib.licenses.gpl2Only;
     makefile = "Makefile";
+    meta = {
+      description = "Port of Mednafen's GameBoy Advance core to libretro";
+      license = lib.licenses.gpl2Only;
+    };
   };
 
-  beetle-lynx = mkLibRetroCore {
+  beetle-lynx = mkLibretroCore {
     core = "mednafen-lynx";
     src = getCoreSrc "beetle-lynx";
-    description = "Port of Mednafen's Lynx core to libretro";
-    license = lib.licenses.gpl2Only;
     makefile = "Makefile";
+    meta = {
+      description = "Port of Mednafen's Lynx core to libretro";
+      license = lib.licenses.gpl2Only;
+    };
   };
 
-  beetle-ngp = mkLibRetroCore {
+  beetle-ngp = mkLibretroCore {
     core = "mednafen-ngp";
     src = getCoreSrc "beetle-ngp";
-    description = "Port of Mednafen's NeoGeo Pocket core to libretro";
-    license = lib.licenses.gpl2Only;
     makefile = "Makefile";
+    meta = {
+      description = "Port of Mednafen's NeoGeo Pocket core to libretro";
+      license = lib.licenses.gpl2Only;
+    };
   };
 
-  beetle-pce-fast = mkLibRetroCore {
+  beetle-pce-fast = mkLibretroCore {
     core = "mednafen-pce-fast";
     src = getCoreSrc "beetle-pce-fast";
-    description = "Port of Mednafen's PC Engine core to libretro";
-    license = lib.licenses.gpl2Only;
     makefile = "Makefile";
+    meta = {
+      description = "Port of Mednafen's PC Engine core to libretro";
+      license = lib.licenses.gpl2Only;
+    };
   };
 
-  beetle-pcfx = mkLibRetroCore {
+  beetle-pcfx = mkLibretroCore {
     core = "mednafen-pcfx";
     src = getCoreSrc "beetle-pcfx";
-    description = "Port of Mednafen's PCFX core to libretro";
-    license = lib.licenses.gpl2Only;
     makefile = "Makefile";
+    meta = {
+      description = "Port of Mednafen's PCFX core to libretro";
+      license = lib.licenses.gpl2Only;
+    };
   };
 
-  beetle-psx = mkLibRetroCore {
+  beetle-psx = mkLibretroCore {
     core = "mednafen-psx";
     src = getCoreSrc "beetle-psx";
-    description = "Port of Mednafen's PSX Engine core to libretro";
-    license = lib.licenses.gpl2Only;
     makefile = "Makefile";
     makeFlags = [ "HAVE_HW=0" "HAVE_LIGHTREC=1" ];
+    meta = {
+      description = "Port of Mednafen's PSX Engine core to libretro";
+      license = lib.licenses.gpl2Only;
+    };
   };
 
-  beetle-psx-hw = mkLibRetroCore {
+  beetle-psx-hw = mkLibretroCore {
     core = "mednafen-psx-hw";
     src = getCoreSrc "beetle-psx";
-    description = "Port of Mednafen's PSX Engine (with HW accel) core to libretro";
-    license = lib.licenses.gpl2Only;
     extraBuildInputs = [ libGL libGLU ];
     makefile = "Makefile";
     makeFlags = [ "HAVE_VULKAN=1" "HAVE_OPENGL=1" "HAVE_HW=1" "HAVE_LIGHTREC=1" ];
+    meta = {
+      description = "Port of Mednafen's PSX Engine (with HW accel) core to libretro";
+      license = lib.licenses.gpl2Only;
+    };
   };
 
-  beetle-saturn = mkLibRetroCore {
+  beetle-saturn = mkLibretroCore {
     core = "mednafen-saturn";
     src = getCoreSrc "beetle-saturn";
-    description = "Port of Mednafen's Saturn core to libretro";
-    license = lib.licenses.gpl2Only;
     makefile = "Makefile";
-    platforms = [ "x86_64-linux" "aarch64-linux" ];
+    meta = {
+      description = "Port of Mednafen's Saturn core to libretro";
+      license = lib.licenses.gpl2Only;
+      platforms = [ "aarch64-linux" "x86_64-linux" ];
+    };
   };
 
-  beetle-snes = mkLibRetroCore {
+  beetle-snes = mkLibretroCore {
     core = "mednafen-snes";
     src = getCoreSrc "beetle-snes";
-    description = "Port of Mednafen's SNES core to libretro";
-    license = lib.licenses.gpl2Only;
     makefile = "Makefile";
+    meta = {
+      description = "Port of Mednafen's SNES core to libretro";
+      license = lib.licenses.gpl2Only;
+    };
   };
 
-  beetle-supafaust = mkLibRetroCore {
+  beetle-supafaust = mkLibretroCore {
     core = "mednafen-supafaust";
     src = getCoreSrc "beetle-supafaust";
-    description = "Port of Mednafen's experimental snes_faust core to libretro";
-    license = lib.licenses.gpl2Plus;
     makefile = "Makefile";
+    meta = {
+      description = "Port of Mednafen's experimental snes_faust core to libretro";
+      license = lib.licenses.gpl2Plus;
+    };
   };
 
-  beetle-supergrafx = mkLibRetroCore {
+  beetle-supergrafx = mkLibretroCore {
     core = "mednafen-supergrafx";
     src = getCoreSrc "beetle-supergrafx";
-    description = "Port of Mednafen's SuperGrafx core to libretro";
-    license = lib.licenses.gpl2Only;
     makefile = "Makefile";
+    meta = {
+      description = "Port of Mednafen's SuperGrafx core to libretro";
+      license = lib.licenses.gpl2Only;
+    };
   };
 
-  beetle-vb = mkLibRetroCore {
+  beetle-vb = mkLibretroCore {
     core = "mednafen-vb";
     src = getCoreSrc "beetle-vb";
-    description = "Port of Mednafen's VirtualBoy core to libretro";
-    license = lib.licenses.gpl2Only;
     makefile = "Makefile";
+    meta = {
+      description = "Port of Mednafen's VirtualBoy core to libretro";
+      license = lib.licenses.gpl2Only;
+    };
   };
 
-  beetle-wswan = mkLibRetroCore {
+  beetle-wswan = mkLibretroCore {
     core = "mednafen-wswan";
     src = getCoreSrc "beetle-wswan";
-    description = "Port of Mednafen's WonderSwan core to libretro";
-    license = lib.licenses.gpl2Only;
     makefile = "Makefile";
+    meta = {
+      description = "Port of Mednafen's WonderSwan core to libretro";
+      license = lib.licenses.gpl2Only;
+    };
   };
 
-  blastem = mkLibRetroCore {
+  blastem = mkLibretroCore {
     core = "blastem";
-    description = "Port of BlastEm to libretro";
-    license = lib.licenses.gpl3Only;
-    platforms = lib.platforms.x86;
+    meta = {
+      description = "Port of BlastEm to libretro";
+      license = lib.licenses.gpl3Only;
+      platforms = lib.platforms.x86;
+    };
   };
 
-  bluemsx = mkLibRetroCore {
+  bluemsx = mkLibretroCore {
     core = "bluemsx";
-    description = "Port of BlueMSX to libretro";
-    license = lib.licenses.gpl2Only;
+    meta = {
+      description = "Port of BlueMSX to libretro";
+      license = lib.licenses.gpl2Only;
+    };
   };
 
-  bsnes = mkLibRetroCore {
+  bsnes = mkLibretroCore {
     core = "bsnes";
-    description = "Port of bsnes to libretro";
-    license = lib.licenses.gpl3Only;
     makefile = "Makefile";
+    meta = {
+      description = "Port of bsnes to libretro";
+      license = lib.licenses.gpl3Only;
+    };
   };
 
-  bsnes-hd =
-    let
-      # linux = bsd
-      # https://github.com/DerKoun/bsnes-hd/blob/f0b6cf34e9780d53516977ed2de64137a8bcc3c5/bsnes/GNUmakefile#L37
-      platform = if stdenv.isDarwin then "macos" else "linux";
-    in
-    mkLibRetroCore {
-      core = "bsnes-hd-beta";
-      src = getCoreSrc "bsnes-hd";
-      description = "Port of bsnes-hd to libretro";
-      license = lib.licenses.gpl3Only;
-      makefile = "GNUmakefile";
-      makeFlags = [
+  bsnes-hd = mkLibretroCore {
+    core = "bsnes-hd-beta";
+    src = getCoreSrc "bsnes-hd";
+    makefile = "GNUmakefile";
+    makeFlags =
+      let
+        # linux = bsd
+        # https://github.com/DerKoun/bsnes-hd/blob/f0b6cf34e9780d53516977ed2de64137a8bcc3c5/bsnes/GNUmakefile#L37
+        platform = if stdenv.isDarwin then "macos" else "linux";
+      in
+      [
         "-C"
         "bsnes"
         "target=libretro"
         "platform=${platform}"
       ];
-      extraBuildInputs = [ xorg.libX11 xorg.libXext ];
-      postBuild = "cd bsnes/out";
+    extraBuildInputs = [ xorg.libX11 xorg.libXext ];
+    postBuild = "cd bsnes/out";
+    meta = {
+      description = "Port of bsnes-hd to libretro";
+      license = lib.licenses.gpl3Only;
     };
+  };
 
-  bsnes-mercury = mkLibRetroCore {
+  bsnes-mercury = mkLibretroCore {
     core = "bsnes-mercury-accuracy";
     src = getCoreSrc "bsnes-mercury";
-    description = "Fork of bsnes with HLE DSP emulation restored";
-    license = lib.licenses.gpl3Only;
     makefile = "Makefile";
     makeFlags = [ "PROFILE=accuracy" ];
+    meta = {
+      description = "Fork of bsnes with HLE DSP emulation restored (accuracy profile)";
+      license = lib.licenses.gpl3Only;
+    };
   };
 
-  bsnes-mercury-balanced = mkLibRetroCore {
+  bsnes-mercury-balanced = mkLibretroCore {
     core = "bsnes-mercury-balanced";
     src = getCoreSrc "bsnes-mercury";
-    description = "Fork of bsnes with HLE DSP emulation restored";
-    license = lib.licenses.gpl3Only;
     makefile = "Makefile";
     makeFlags = [ "PROFILE=balanced" ];
+    meta = {
+      description = "Fork of bsnes with HLE DSP emulation restored (balanced profile)";
+      license = lib.licenses.gpl3Only;
+    };
   };
 
-  bsnes-mercury-performance = mkLibRetroCore {
+  bsnes-mercury-performance = mkLibretroCore {
     core = "bsnes-mercury-performance";
     src = getCoreSrc "bsnes-mercury";
-    description = "Fork of bsnes with HLE DSP emulation restored";
-    license = lib.licenses.gpl3Only;
     makefile = "Makefile";
     makeFlags = [ "PROFILE=performance" ];
+    meta = {
+      description = "Fork of bsnes with HLE DSP emulation restored (performance profile)";
+      license = lib.licenses.gpl3Only;
+    };
   };
 
-  citra = mkLibRetroCore {
+  citra = mkLibretroCore {
     core = "citra";
-    description = "Port of Citra to libretro";
-    license = lib.licenses.gpl2Plus;
     extraBuildInputs = [ libGLU libGL boost ffmpeg nasm ];
     makefile = "Makefile";
     makeFlags = [ "HAVE_FFMPEG_STATIC=0" ];
+    meta = {
+      description = "Port of Citra to libretro";
+      license = lib.licenses.gpl2Plus;
+    };
   };
 
-  desmume = mkLibRetroCore {
+  desmume = mkLibretroCore {
     core = "desmume";
-    description = "libretro wrapper for desmume NDS emulator";
-    license = lib.licenses.gpl2Plus;
-    extraBuildInputs = [ libpcap libGLU libGL xorg.libX11 ];
     preBuild = "cd desmume/src/frontend/libretro";
+    extraBuildInputs = [ libpcap libGLU libGL xorg.libX11 ];
     makeFlags = lib.optional stdenv.hostPlatform.isAarch32 "platform=armv-unix"
       ++ lib.optional (!stdenv.hostPlatform.isx86) "DESMUME_JIT=0";
+    meta = {
+      description = "Port of DeSmuME to libretro";
+      license = lib.licenses.gpl2Plus;
+    };
   };
 
-  desmume2015 = mkLibRetroCore {
+  desmume2015 = mkLibretroCore {
     core = "desmume2015";
-    description = "libretro wrapper for desmume NDS emulator from 2015";
-    license = lib.licenses.gpl2Plus;
     extraBuildInputs = [ libpcap libGLU libGL xorg.libX11 ];
     makeFlags = lib.optional stdenv.hostPlatform.isAarch32 "platform=armv-unix"
       ++ lib.optional (!stdenv.hostPlatform.isx86) "DESMUME_JIT=0";
     preBuild = "cd desmume";
+    meta = {
+      description = "Port of DeSmuME ~2015 to libretro";
+      license = lib.licenses.gpl2Plus;
+    };
   };
 
-  dolphin = mkLibRetroCore {
+  dolphin = mkLibretroCore {
     core = "dolphin";
-    description = "Port of Dolphin to libretro";
-    license = lib.licenses.gpl2Plus;
     extraNativeBuildInputs = [ cmake curl pkg-config ];
     extraBuildInputs = [
       libGLU
@@ -359,284 +345,354 @@ in
       "-DUSE_DISCORD_PRESENCE=OFF"
     ];
     dontUseCmakeBuildDir = true;
+    meta = {
+      description = "Port of Dolphin to libretro";
+      license = lib.licenses.gpl2Plus;
+    };
   };
 
-  dosbox = mkLibRetroCore {
+  dosbox = mkLibretroCore {
     core = "dosbox";
-    description = "Port of DOSBox to libretro";
-    license = lib.licenses.gpl2Only;
     CXXFLAGS = "-std=gnu++11";
+    meta = {
+      description = "Port of DOSBox to libretro";
+      license = lib.licenses.gpl2Only;
+    };
   };
 
-  eightyone = mkLibRetroCore {
+  eightyone = mkLibretroCore {
     core = "81";
     src = getCoreSrc "eightyone";
-    description = "Port of EightyOne to libretro";
-    license = lib.licenses.gpl3Only;
+    meta = {
+      description = "Port of EightyOne to libretro";
+      license = lib.licenses.gpl3Only;
+    };
   };
 
-  fbalpha2012 = mkLibRetroCore {
+  fbalpha2012 = mkLibretroCore {
     core = "fbalpha2012";
-    description = "Port of Final Burn Alpha ~2012 to libretro";
-    license = "Non-commercial";
     makefile = "makefile.libretro";
     preBuild = "cd svn-current/trunk";
+    meta = {
+      description = "Port of Final Burn Alpha ~2012 to libretro";
+      license = "Non-commercial";
+    };
   };
 
-  fbneo = mkLibRetroCore {
+  fbneo = mkLibretroCore {
     core = "fbneo";
-    description = "Port of FBNeo to libretro";
-    license = "Non-commercial";
     makefile = "Makefile";
     preBuild = "cd src/burner/libretro";
+    meta = {
+      description = "Port of FBNeo to libretro";
+      license = "Non-commercial";
+    };
   };
 
-  fceumm = mkLibRetroCore {
+  fceumm = mkLibretroCore {
     core = "fceumm";
-    description = "FCEUmm libretro port";
-    license = lib.licenses.gpl2Only;
+    meta = {
+      description = "FCEUmm libretro port";
+      license = lib.licenses.gpl2Only;
+    };
   };
 
-  flycast = mkLibRetroCore {
+  flycast = mkLibretroCore {
     core = "flycast";
-    description = "Flycast libretro port";
-    license = lib.licenses.gpl2Only;
     extraBuildInputs = [ libGL libGLU ];
     makefile = "Makefile";
     makeFlags = lib.optionals stdenv.hostPlatform.isAarch64 [ "platform=arm64" ];
     patches = [ ./fix-flycast-makefile.patch ];
-    platforms = [ "aarch64-linux" "x86_64-linux" ];
+    meta = {
+      description = "Flycast libretro port";
+      license = lib.licenses.gpl2Only;
+      platforms = [ "aarch64-linux" "x86_64-linux" ];
+    };
   };
 
-  fmsx = mkLibRetroCore {
+  fmsx = mkLibretroCore {
     core = "fmsx";
-    description = "FMSX libretro port";
-    license = "Non-commercial";
     makefile = "Makefile";
+    meta = {
+      description = "FMSX libretro port";
+      license = "Non-commercial";
+    };
   };
 
-  freeintv = mkLibRetroCore {
+  freeintv = mkLibretroCore {
     core = "freeintv";
-    description = "FreeIntv libretro port";
-    license = lib.licenses.gpl3Only;
     makefile = "Makefile";
+    meta = {
+      description = "FreeIntv libretro port";
+      license = lib.licenses.gpl3Only;
+    };
   };
 
-  gambatte = mkLibRetroCore {
+  gambatte = mkLibretroCore {
     core = "gambatte";
-    description = "Gambatte libretro port";
-    license = lib.licenses.gpl2Only;
+    meta = {
+      description = "Gambatte libretro port";
+      license = lib.licenses.gpl2Only;
+    };
   };
 
-  genesis-plus-gx = mkLibRetroCore {
+  genesis-plus-gx = mkLibretroCore {
     core = "genesis-plus-gx";
-    description = "Enhanced Genesis Plus libretro port";
-    license = "Non-commercial";
+    meta = {
+      description = "Enhanced Genesis Plus libretro port";
+      license = "Non-commercial";
+    };
   };
 
-  gpsp = mkLibRetroCore {
+  gpsp = mkLibretroCore {
     core = "gpsp";
-    description = "Port of gpSP to libretro";
-    license = lib.licenses.gpl2Only;
     makefile = "Makefile";
+    meta = {
+      description = "Port of gpSP to libretro";
+      license = lib.licenses.gpl2Only;
+    };
   };
 
-  gw = mkLibRetroCore {
+  gw = mkLibretroCore {
     core = "gw";
-    description = "Port of Game and Watch to libretro";
-    license = lib.licenses.zlib;
     makefile = "Makefile";
+    meta = {
+      description = "Port of Game and Watch to libretro";
+      license = lib.licenses.zlib;
+    };
   };
 
-  handy = mkLibRetroCore {
+  handy = mkLibretroCore {
     core = "handy";
-    description = "Port of Handy to libretro";
-    license = lib.licenses.zlib;
     makefile = "Makefile";
+    meta = {
+      description = "Port of Handy to libretro";
+      license = lib.licenses.zlib;
+    };
   };
 
-  hatari = mkLibRetroCore {
+  hatari = mkLibretroCore {
     core = "hatari";
-    description = "Port of Hatari to libretro";
-    license = lib.licenses.gpl2Only;
     extraNativeBuildInputs = [ which ];
     dontConfigure = true;
-    # zlib is already included in mkLibRetroCore as buildInputs
+    # zlib is already included in mkLibretroCore as buildInputs
     makeFlags = [ "EXTERNAL_ZLIB=1" ];
+    meta = {
+      description = "Port of Hatari to libretro";
+      license = lib.licenses.gpl2Only;
+    };
   };
 
-  mame = mkLibRetroCore {
+  mame = mkLibretroCore {
     core = "mame";
-    description = "Port of MAME to libretro";
-    license = with lib.licenses; [ bsd3 gpl2Plus ];
     extraBuildInputs = [ alsa-lib libGLU libGL portaudio python3 xorg.libX11 ];
+    meta = {
+      description = "Port of MAME to libretro";
+      license = with lib.licenses; [ bsd3 gpl2Plus ];
+    };
   };
 
-  mame2000 = mkLibRetroCore {
+  mame2000 = mkLibretroCore {
     core = "mame2000";
-    description = "Port of MAME ~2000 to libretro, compatible with MAME 0.37b5 sets";
-    license = "MAME";
     makefile = "Makefile";
     makeFlags = lib.optional (!stdenv.hostPlatform.isx86) "IS_X86=0";
+    meta = {
+      description = "Port of MAME ~2000 to libretro, compatible with MAME 0.37b5 sets";
+      license = "MAME";
+    };
   };
 
-  mame2003 = mkLibRetroCore {
+  mame2003 = mkLibretroCore {
     core = "mame2003";
-    description = "Port of MAME ~2003 to libretro, compatible with MAME 0.78 sets";
-    license = "MAME";
     makefile = "Makefile";
+    meta = {
+      description = "Port of MAME ~2003 to libretro, compatible with MAME 0.78 sets";
+      license = "MAME";
+    };
   };
 
-  mame2003-plus = mkLibRetroCore {
+  mame2003-plus = mkLibretroCore {
     core = "mame2003-plus";
-    description = "Port of MAME ~2003+ to libretro, compatible with MAME 0.78 sets";
-    license = "MAME";
     makefile = "Makefile";
+    meta = {
+      description = "Port of MAME ~2003+ to libretro, compatible with MAME 0.78 sets";
+      license = "MAME";
+    };
   };
 
-  mame2010 = mkLibRetroCore {
+  mame2010 = mkLibretroCore {
     core = "mame2010";
-    description = "Port of MAME ~2010 to libretro, compatible with MAME 0.139 sets";
-    license = "MAME";
     makefile = "Makefile";
     makeFlags = lib.optionals stdenv.hostPlatform.isAarch64 [ "PTR64=1" "ARM_ENABLED=1" "X86_SH2DRC=0" "FORCE_DRC_C_BACKEND=1" ];
+    meta = {
+      description = "Port of MAME ~2010 to libretro, compatible with MAME 0.139 sets";
+      license = "MAME";
+    };
   };
 
-  mame2015 = mkLibRetroCore {
+  mame2015 = mkLibretroCore {
     core = "mame2015";
-    description = "Port of MAME ~2015 to libretro, compatible with MAME 0.160 sets";
-    license = "MAME";
     makeFlags = [ "PYTHON=python3" ];
     extraNativeBuildInputs = [ python3 ];
     extraBuildInputs = [ alsa-lib ];
     makefile = "Makefile";
     enableParallelBuilding = false;
+    meta = {
+      description = "Port of MAME ~2015 to libretro, compatible with MAME 0.160 sets";
+      license = "MAME";
+    };
   };
 
-  mame2016 = mkLibRetroCore {
+  mame2016 = mkLibretroCore {
     core = "mame2016";
-    description = "Port of MAME ~2016 to libretro, compatible with MAME 0.174 sets";
-    license = with lib.licenses; [ bsd3 gpl2Plus ];
     extraNativeBuildInputs = [ python3 ];
     extraBuildInputs = [ alsa-lib ];
     makeFlags = [ "PYTHON_EXECUTABLE=python3" ];
     enableParallelBuilding = false;
+    meta = {
+      description = "Port of MAME ~2016 to libretro, compatible with MAME 0.174 sets";
+      license = with lib.licenses; [ bsd3 gpl2Plus ];
+    };
   };
 
-  melonds = mkLibRetroCore {
+  melonds = mkLibretroCore {
     core = "melonds";
-    description = "Port of MelonDS to libretro";
-    license = lib.licenses.gpl3Only;
     extraBuildInputs = [ libGL libGLU ];
     makefile = "Makefile";
+    meta = {
+      description = "Port of MelonDS to libretro";
+      license = lib.licenses.gpl3Only;
+    };
   };
 
-  mesen = mkLibRetroCore {
+  mesen = mkLibretroCore {
     core = "mesen";
-    description = "Port of Mesen to libretro";
-    license = lib.licenses.gpl3Only;
     makefile = "Makefile";
     preBuild = "cd Libretro";
+    meta = {
+      description = "Port of Mesen to libretro";
+      license = lib.licenses.gpl3Only;
+    };
   };
 
-  mesen-s = mkLibRetroCore {
+  mesen-s = mkLibretroCore {
     core = "mesen-s";
-    description = "Port of Mesen-S to libretro";
-    license = lib.licenses.gpl3Only;
     makefile = "Makefile";
     preBuild = "cd Libretro";
     normalizeCore = false;
+    meta = {
+      description = "Port of Mesen-S to libretro";
+      license = lib.licenses.gpl3Only;
+    };
   };
 
-  meteor = mkLibRetroCore {
+  meteor = mkLibretroCore {
     core = "meteor";
-    description = "Port of Meteor to libretro";
-    license = lib.licenses.gpl3Only;
     makefile = "Makefile";
     preBuild = "cd libretro";
+    meta = {
+      description = "Port of Meteor to libretro";
+      license = lib.licenses.gpl3Only;
+    };
   };
 
-  mgba = mkLibRetroCore {
+  mgba = mkLibretroCore {
     core = "mgba";
-    description = "Port of mGBA to libretro";
-    license = lib.licenses.mpl20;
+    meta = {
+      description = "Port of mGBA to libretro";
+      license = lib.licenses.mpl20;
+    };
   };
 
-  mupen64plus = mkLibRetroCore {
+  mupen64plus = mkLibretroCore {
     core = "mupen64plus-next";
     src = getCoreSrc "mupen64plus";
-    description = "Libretro port of Mupen64 Plus, GL only";
-    license = lib.licenses.gpl3Only;
     extraBuildInputs = [ libGLU libGL libpng nasm xorg.libX11 ];
     makefile = "Makefile";
+    meta = {
+      description = "Libretro port of Mupen64 Plus, GL only";
+      license = lib.licenses.gpl3Only;
+    };
   };
 
-  neocd = mkLibRetroCore {
+  neocd = mkLibretroCore {
     core = "neocd";
-    description = "NeoCD libretro port";
-    license = lib.licenses.lgpl3Only;
     makefile = "Makefile";
+    meta = {
+      description = "NeoCD libretro port";
+      license = lib.licenses.lgpl3Only;
+    };
   };
 
-  nestopia = mkLibRetroCore {
+  nestopia = mkLibretroCore {
     core = "nestopia";
-    description = "Nestopia libretro port";
-    license = lib.licenses.gpl2Only;
     makefile = "Makefile";
     preBuild = "cd libretro";
+    meta = {
+      description = "Nestopia libretro port";
+      license = lib.licenses.gpl2Only;
+    };
   };
 
-  nxengine = mkLibRetroCore {
+  nxengine = mkLibretroCore {
     core = "nxengine";
-    description = "NXEngine libretro port";
-    license = lib.licenses.gpl3Only;
     makefile = "Makefile";
+    meta = {
+      description = "NXEngine libretro port";
+      license = lib.licenses.gpl3Only;
+    };
   };
 
-  np2kai = mkLibRetroCore rec {
+  np2kai = mkLibretroCore rec {
     core = "np2kai";
     src = getCoreSrc core;
-    description = "Neko Project II kai libretro port";
-    license = lib.licenses.mit;
     makeFlags = [
       # See https://github.com/AZO234/NP2kai/tags
       "NP2KAI_VERSION=rev.22"
       "NP2KAI_HASH=${src.rev}"
     ];
     preBuild = "cd sdl";
+    meta = {
+      description = "Neko Project II kai libretro port";
+      license = lib.licenses.mit;
+    };
   };
 
-  o2em = mkLibRetroCore {
+  o2em = mkLibretroCore {
     core = "o2em";
-    description = "Port of O2EM to libretro";
-    license = lib.licenses.artistic1;
     makefile = "Makefile";
+    meta = {
+      description = "Port of O2EM to libretro";
+      license = lib.licenses.artistic1;
+    };
   };
 
-  opera = mkLibRetroCore {
+  opera = mkLibretroCore {
     core = "opera";
-    description = "Opera is a port of 4DO/libfreedo to libretro";
-    license = "Non-commercial";
     makefile = "Makefile";
     makeFlags = [ "CC_PREFIX=${stdenv.cc.targetPrefix}" ];
+    meta = {
+      description = "Opera is a port of 4DO/libfreedo to libretro";
+      license = "Non-commercial";
+    };
   };
 
-  parallel-n64 = mkLibRetroCore {
+  parallel-n64 = mkLibretroCore {
     core = "parallel-n64";
-    description = "Parallel Mupen64plus rewrite for libretro.";
-    license = lib.licenses.gpl3Only;
     extraBuildInputs = [ libGLU libGL libpng ];
     makefile = "Makefile";
     postPatch = lib.optionalString stdenv.hostPlatform.isAarch64 ''
       sed -i -e '1 i\CPUFLAGS += -DARM_FIX -DNO_ASM -DARM_ASM -DDONT_WANT_ARM_OPTIMIZATIONS -DARM64' Makefile \
       && sed -i -e 's,CPUFLAGS  :=,,g' Makefile
     '';
+    meta = {
+      description = "Parallel Mupen64plus rewrite for libretro.";
+      license = lib.licenses.gpl3Only;
+    };
   };
 
-  pcsx2 = mkLibRetroCore {
+  pcsx2 = mkLibretroCore {
     core = "pcsx2";
-    description = "Port of PCSX2 to libretro";
-    license = lib.licenses.gpl3Plus;
     extraNativeBuildInputs = [
       cmake
       gettext
@@ -661,39 +717,47 @@ in
       substituteInPlace CMakeLists.txt --replace "ccache" ""
     '';
     postBuild = "cd /build/source/build/pcsx2";
-    platforms = lib.platforms.x86;
+    meta = {
+      description = "Port of PCSX2 to libretro";
+      license = lib.licenses.gpl3Plus;
+      platforms = lib.platforms.x86;
+    };
   };
 
-  pcsx-rearmed = mkLibRetroCore {
+  pcsx-rearmed = mkLibretroCore {
     core = "pcsx_rearmed";
-    description = "Port of PCSX ReARMed with GNU lightning to libretro";
-    license = lib.licenses.gpl2Only;
     dontConfigure = true;
+    meta = {
+      description = "Port of PCSX ReARMed with GNU lightning to libretro";
+      license = lib.licenses.gpl2Only;
+    };
   };
 
-  picodrive = mkLibRetroCore {
+  picodrive = mkLibretroCore {
     core = "picodrive";
-    description = "Fast MegaDrive/MegaCD/32X emulator";
-    license = "MAME";
     dontConfigure = true;
     makeFlags = lib.optionals stdenv.hostPlatform.isAarch64 [ "platform=aarch64" ];
+    meta = {
+      description = "Fast MegaDrive/MegaCD/32X emulator";
+      license = "MAME";
+    };
   };
 
-  play = mkLibRetroCore {
+  play = mkLibretroCore {
     core = "play";
-    description = "Port of Play! to libretro";
-    license = lib.licenses.bsd2;
     extraBuildInputs = [ boost bzip2 curl openssl icu libGL libGLU xorg.libX11 ];
     extraNativeBuildInputs = [ cmake ];
     makefile = "Makefile";
     cmakeFlags = [ "-DBUILD_PLAY=OFF" "-DBUILD_LIBRETRO_CORE=ON" ];
     postBuild = "cd Source/ui_libretro";
+    meta = {
+      description = "Port of Play! to libretro";
+      license = lib.licenses.bsd2;
+    };
   };
 
-  ppsspp = mkLibRetroCore {
+  ppsspp = mkLibretroCore {
     core = "ppsspp";
-    description = "ppsspp libretro port";
-    license = lib.licenses.gpl2Plus;
     extraNativeBuildInputs = [ cmake pkg-config python3 ];
     extraBuildInputs = [ libGLU libGL libzip ffmpeg snappy xorg.libX11 ];
     makefile = "Makefile";
@@ -705,149 +769,186 @@ in
       "-DOpenGL_GL_PREFERENCE=GLVND"
     ];
     postBuild = "cd lib";
+    meta = {
+      description = "ppsspp libretro port";
+      license = lib.licenses.gpl2Plus;
+    };
   };
 
-  prboom = mkLibRetroCore {
+  prboom = mkLibretroCore {
     core = "prboom";
-    description = "Prboom libretro port";
-    license = lib.licenses.gpl2Only;
     makefile = "Makefile";
+    meta = {
+      description = "Prboom libretro port";
+      license = lib.licenses.gpl2Only;
+    };
   };
 
-  prosystem = mkLibRetroCore {
+  prosystem = mkLibretroCore {
     core = "prosystem";
-    description = "Port of ProSystem to libretro";
-    license = lib.licenses.gpl2Only;
     makefile = "Makefile";
+    meta = {
+      description = "Port of ProSystem to libretro";
+      license = lib.licenses.gpl2Only;
+    };
   };
 
-  puae = mkLibRetroCore {
+  puae = mkLibretroCore {
     core = "puae";
-    description = "Amiga emulator based on WinUAE";
-    license = lib.licenses.gpl2Only;
     makefile = "Makefile";
+    # https://github.com/libretro/libretro-uae/pull/529
     patches = fetchpatch {
-        url = "https://github.com/libretro/libretro-uae/commit/90ba4c9bb940e566781c3590553270ad69cf212e.patch";
-        sha256 = "sha256-9xkRravvyFZc0xsIj0OSm2ux5BqYogfQ1TDnH9l6jKw=";
+      url = "https://github.com/libretro/libretro-uae/commit/90ba4c9bb940e566781c3590553270ad69cf212e.patch";
+      sha256 = "sha256-9xkRravvyFZc0xsIj0OSm2ux5BqYogfQ1TDnH9l6jKw=";
+    };
+    meta = {
+      description = "Amiga emulator based on WinUAE";
+      license = lib.licenses.gpl2Only;
     };
   };
 
-  quicknes = mkLibRetroCore {
+  quicknes = mkLibretroCore {
     core = "quicknes";
-    description = "QuickNES libretro port";
-    license = lib.licenses.lgpl21Plus;
     makefile = "Makefile";
+    meta = {
+      description = "QuickNES libretro port";
+      license = lib.licenses.lgpl21Plus;
+    };
   };
 
-  sameboy = mkLibRetroCore {
+  sameboy = mkLibretroCore {
     core = "sameboy";
-    description = "SameBoy libretro port";
-    license = lib.licenses.mit;
     extraNativeBuildInputs = [ which hexdump ];
     preBuild = "cd libretro";
     makefile = "Makefile";
+    meta = {
+      description = "SameBoy libretro port";
+      license = lib.licenses.mit;
+    };
   };
 
-  scummvm = mkLibRetroCore {
+  scummvm = mkLibretroCore {
     core = "scummvm";
-    description = "Libretro port of ScummVM";
-    license = lib.licenses.gpl2Only;
     extraBuildInputs = [ fluidsynth libjpeg libvorbis libGLU libGL ];
     makefile = "Makefile";
     preConfigure = "cd backends/platform/libretro/build";
+    meta = {
+      description = "Libretro port of ScummVM";
+      license = lib.licenses.gpl2Only;
+    };
   };
 
-  smsplus-gx = mkLibRetroCore {
+  smsplus-gx = mkLibretroCore {
     core = "smsplus";
     src = getCoreSrc "smsplus-gx";
-    description = "SMS Plus GX libretro port";
-    license = lib.licenses.gpl2Plus;
+    meta = {
+      description = "SMS Plus GX libretro port";
+      license = lib.licenses.gpl2Plus;
+    };
   };
 
-  snes9x = mkLibRetroCore {
+  snes9x = mkLibretroCore {
     core = "snes9x";
-    description = "Port of SNES9x git to libretro";
-    license = "Non-commercial";
     makefile = "Makefile";
     preBuild = "cd libretro";
+    meta = {
+      description = "Port of SNES9x git to libretro";
+      license = "Non-commercial";
+    };
   };
 
-  snes9x2002 = mkLibRetroCore {
+  snes9x2002 = mkLibretroCore {
     core = "snes9x2002";
-    description = "Optimized port/rewrite of SNES9x 1.39 to Libretro";
-    license = "Non-commercial";
     makefile = "Makefile";
+    meta = {
+      description = "Optimized port/rewrite of SNES9x 1.39 to Libretro";
+      license = "Non-commercial";
+    };
   };
 
-  snes9x2005 = mkLibRetroCore {
+  snes9x2005 = mkLibretroCore {
     core = "snes9x2005";
-    description = "Optimized port/rewrite of SNES9x 1.43 to Libretro";
-    license = "Non-commercial";
     makefile = "Makefile";
+    meta = {
+      description = "Optimized port/rewrite of SNES9x 1.43 to Libretro";
+      license = "Non-commercial";
+    };
   };
 
-  snes9x2005-plus = mkLibRetroCore {
+  snes9x2005-plus = mkLibretroCore {
     core = "snes9x2005-plus";
     src = getCoreSrc "snes9x2005";
-    description = "Optimized port/rewrite of SNES9x 1.43 to Libretro, with Blargg's APU";
-    license = "Non-commercial";
     makefile = "Makefile";
     makeFlags = [ "USE_BLARGG_APU=1" ];
+    meta = {
+      description = "Optimized port/rewrite of SNES9x 1.43 to Libretro, with Blargg's APU";
+      license = "Non-commercial";
+    };
   };
 
-  snes9x2010 = mkLibRetroCore {
+  snes9x2010 = mkLibretroCore {
     core = "snes9x2010";
-    description = "Optimized port/rewrite of SNES9x 1.52+ to Libretro";
-    license = "Non-commercial";
+    meta = {
+      description = "Optimized port/rewrite of SNES9x 1.52+ to Libretro";
+      license = "Non-commercial";
+    };
   };
 
-  stella = mkLibRetroCore {
+  stella = mkLibretroCore {
     core = "stella";
-    description = "Port of Stella to libretro";
-    license = lib.licenses.gpl2Only;
     makefile = "Makefile";
     preBuild = "cd src/os/libretro";
     dontConfigure = true;
+    meta = {
+      description = "Port of Stella to libretro";
+      license = lib.licenses.gpl2Only;
+    };
   };
 
-  stella2014 = mkLibRetroCore {
+  stella2014 = mkLibretroCore {
     core = "stella2014";
-    description = "Port of Stella to libretro";
-    license = lib.licenses.gpl2Only;
     makefile = "Makefile";
+    meta = {
+      description = "Port of Stella ~2014 to libretro";
+      license = lib.licenses.gpl2Only;
+    };
   };
 
-  swanstation = mkLibRetroCore {
+  swanstation = mkLibretroCore {
     core = "swanstation";
-    description = "Port of SwanStation (a fork of DuckStation) to libretro";
-    license = lib.licenses.gpl3Only;
     extraNativeBuildInputs = [ cmake ];
     makefile = "Makefile";
     cmakeFlags = [
       "-DBUILD_LIBRETRO_CORE=ON"
     ];
+    meta = {
+      description = "Port of SwanStation (a fork of DuckStation) to libretro";
+      license = lib.licenses.gpl3Only;
+    };
   };
 
-  tgbdual = mkLibRetroCore {
+  tgbdual = mkLibretroCore {
     core = "tgbdual";
-    description = "Port of TGBDual to libretro";
-    license = lib.licenses.gpl2Only;
     makefile = "Makefile";
+    meta = {
+      description = "Port of TGBDual to libretro";
+      license = lib.licenses.gpl2Only;
+    };
   };
 
-  thepowdertoy = mkLibRetroCore {
+  thepowdertoy = mkLibretroCore {
     core = "thepowdertoy";
-    description = "Port of The Powder Toy to libretro";
-    license = lib.licenses.gpl3Only;
     extraNativeBuildInputs = [ cmake ];
     makefile = "Makefile";
     postBuild = "cd src";
+    meta = {
+      description = "Port of The Powder Toy to libretro";
+      license = lib.licenses.gpl3Only;
+    };
   };
 
-  tic80 = mkLibRetroCore {
+  tic80 = mkLibretroCore {
     core = "tic80";
-    description = "Port of TIC-80 to libretro";
-    license = lib.licenses.mit;
     extraNativeBuildInputs = [ cmake pkg-config ];
     makefile = "Makefile";
     cmakeFlags = [
@@ -860,44 +961,58 @@ in
     ];
     preConfigure = "cd core";
     postBuild = "cd lib";
+    meta = {
+      description = "Port of TIC-80 to libretro";
+      license = lib.licenses.mit;
+    };
   };
 
-  vba-m = mkLibRetroCore {
+  vba-m = mkLibretroCore {
     core = "vbam";
     src = getCoreSrc "vba-m";
-    description = "vanilla VBA-M libretro port";
-    license = lib.licenses.gpl2Only;
     makefile = "Makefile";
     preBuild = "cd src/libretro";
+    meta = {
+      description = "vanilla VBA-M libretro port";
+      license = lib.licenses.gpl2Only;
+    };
   };
 
-  vba-next = mkLibRetroCore {
+  vba-next = mkLibretroCore {
     core = "vba-next";
-    description = "VBA-M libretro port with modifications for speed";
-    license = lib.licenses.gpl2Only;
+    meta = {
+      description = "VBA-M libretro port with modifications for speed";
+      license = lib.licenses.gpl2Only;
+    };
   };
 
-  vecx = mkLibRetroCore {
+  vecx = mkLibretroCore {
     core = "vecx";
-    description = "Port of Vecx to libretro";
-    license = lib.licenses.gpl3Only;
     extraBuildInputs = [ libGL libGLU ];
+    meta = {
+      description = "Port of Vecx to libretro";
+      license = lib.licenses.gpl3Only;
+    };
   };
 
-  virtualjaguar = mkLibRetroCore {
+  virtualjaguar = mkLibretroCore {
     core = "virtualjaguar";
-    description = "Port of VirtualJaguar to libretro";
-    license = lib.licenses.gpl3Only;
     makefile = "Makefile";
+    meta = {
+      description = "Port of VirtualJaguar to libretro";
+      license = lib.licenses.gpl3Only;
+    };
   };
 
-  yabause = mkLibRetroCore {
+  yabause = mkLibretroCore {
     core = "yabause";
-    description = "Port of Yabause to libretro";
-    license = lib.licenses.gpl2Only;
     makefile = "Makefile";
     # Disable SSE for non-x86. DYNAREC doesn't build on aarch64.
     makeFlags = lib.optional (!stdenv.hostPlatform.isx86) "HAVE_SSE=0";
     preBuild = "cd yabause/src/libretro";
+    meta = {
+      description = "Port of Yabause to libretro";
+      license = lib.licenses.gpl2Only;
+    };
   };
 }
diff --git a/pkgs/applications/emulators/retroarch/default.nix b/pkgs/applications/emulators/retroarch/default.nix
index a8a20682afd43..d0a281afc373a 100644
--- a/pkgs/applications/emulators/retroarch/default.nix
+++ b/pkgs/applications/emulators/retroarch/default.nix
@@ -6,18 +6,17 @@
 , withVulkan ? stdenv.isLinux
 , withWayland ? stdenv.isLinux
 , alsa-lib
-, AppKit
 , dbus
 , fetchFromGitHub
 , ffmpeg_4
-, Foundation
+, flac
 , freetype
 , gamemode
 , libdrm
 , libGL
 , libGLU
-, libobjc
 , libpulseaudio
+, libretro-core-info
 , libv4l
 , libX11
 , libXdmcp
@@ -26,71 +25,61 @@
 , libxml2
 , libXxf86vm
 , makeWrapper
+, mbedtls
 , mesa
 , nvidia_cg_toolkit
 , pkg-config
 , python3
 , SDL2
+, substituteAll
 , udev
 , vulkan-loader
 , wayland
+, zlib
 }:
 
 let
-  version = "1.12.0";
-  libretroCoreInfo = fetchFromGitHub {
-    owner = "libretro";
-    repo = "libretro-core-info";
-    sha256 = "sha256-9Sfp/JkMJIe34YGNRxf93fONOBuQxR2pduoJU+xtuF0=";
-    # Upstream didn't tag a new libretro-core-info in 1.12.0 release
-    rev = "v1.11.1";
-  };
   runtimeLibs =
     lib.optional withVulkan vulkan-loader ++
     lib.optional withGamemode (lib.getLib gamemode);
 in
 stdenv.mkDerivation rec {
   pname = "retroarch-bare";
-  inherit version;
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner = "libretro";
     repo = "RetroArch";
-    sha256 = "sha256-doLWNA8aTAllxx3zABtvZaegBQEPIi8276zbytPSdBU=";
+    hash = "sha256-doLWNA8aTAllxx3zABtvZaegBQEPIi8276zbytPSdBU=";
     rev = "v${version}";
   };
 
   patches = [
-    ./use-fixed-paths.patch
+    (substituteAll {
+      src = ./use-fixed-path-for-libretro_core_info.patch;
+      libretro_info_path = libretro-core-info;
+    })
   ];
 
-  postPatch = ''
-    substituteInPlace "frontend/drivers/platform_unix.c" \
-      --subst-var-by libretro_directory "$out/lib" \
-      --subst-var-by libretro_info_path "$out/share/libretro/info" \
-      --subst-var-by out "$out"
-    substituteInPlace "frontend/drivers/platform_darwin.m" \
-      --subst-var-by libretro_directory "$out/lib" \
-      --subst-var-by libretro_info_path "$out/share/libretro/info"
-  '';
-
   nativeBuildInputs = [ pkg-config ] ++
     lib.optional withWayland wayland ++
     lib.optional (runtimeLibs != [ ]) makeWrapper;
 
   buildInputs = [
     ffmpeg_4
+    flac
     freetype
     libGL
     libGLU
     libxml2
+    mbedtls
     python3
     SDL2
+    zlib
   ] ++
   lib.optional enableNvidiaCgToolkit nvidia_cg_toolkit ++
   lib.optional withVulkan vulkan-loader ++
   lib.optional withWayland wayland ++
-  lib.optionals stdenv.isDarwin [ libobjc AppKit Foundation ] ++
   lib.optionals stdenv.isLinux [
     alsa-lib
     dbus
@@ -110,6 +99,9 @@ stdenv.mkDerivation rec {
 
   configureFlags = [
     "--disable-update_cores"
+    "--disable-builtinmbedtls"
+    "--disable-builtinzlib"
+    "--disable-builtinflac"
   ] ++
   lib.optionals stdenv.isLinux [
     "--enable-dbus"
@@ -117,39 +109,13 @@ stdenv.mkDerivation rec {
     "--enable-kms"
   ];
 
-  postInstall = ''
-    # TODO: ideally each core should have its own core information
-    mkdir -p $out/share/libretro/info
-    cp -r ${libretroCoreInfo}/* $out/share/libretro/info
-  '' +
-  lib.optionalString (runtimeLibs != [ ]) ''
+  postInstall = lib.optionalString (runtimeLibs != [ ]) ''
     wrapProgram $out/bin/retroarch \
       --prefix LD_LIBRARY_PATH ':' ${lib.makeLibraryPath runtimeLibs}
-  '' +
-  lib.optionalString stdenv.isDarwin ''
-    # https://github.com/libretro/RetroArch/blob/master/retroarch-apple-packaging.sh
-    app=$out/Applications/RetroArch.app
-    mkdir -p $app/Contents/MacOS
-    cp -r pkg/apple/OSX/* $app/Contents
-    cp $out/bin/retroarch $app/Contents/MacOS
-    # FIXME: using Info_Metal.plist results in input not working
-    # mv $app/Contents/Info_Metal.plist $app/Contents/Info.plist
-
-    substituteInPlace $app/Contents/Info.plist \
-      --replace '${"\${EXECUTABLE_NAME}"}' 'RetroArch' \
-      --replace '$(PRODUCT_BUNDLE_IDENTIFIER)' 'com.libretro.RetroArch' \
-      --replace '${"\${PRODUCT_NAME}"}' 'RetroArch' \
-      --replace '${"\${MACOSX_DEPLOYMENT_TARGET}"}' '10.13'
-
-    cp media/retroarch.icns $app/Contents/Resources/
   '';
 
   preFixup = "rm $out/bin/retroarch-cg2glsl";
 
-  # Workaround for the following error affecting newer versions of Clang:
-  # ./config.def.h:xxx:x: error: 'TARGET_OS_TV' is not defined, evaluates to 0 [-Werror,-Wundef-prefix=TARGET_OS_]
-  NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isClang [ "-Wno-undef-prefix" ];
-
   passthru.tests = nixosTests.retroarch;
 
   meta = with lib; {
@@ -159,9 +125,11 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     changelog = "https://github.com/libretro/RetroArch/blob/v${version}/CHANGES.md";
     maintainers = with maintainers; teams.libretro.members ++ [ matthewbauer kolbycrouch ];
-    # FIXME: error while building in macOS:
-    # "Undefined symbols for architecture <arch>"
-    # See also retroarch/wrapper.nix that is also broken in macOS
+    mainProgram = "retroarch";
+    # If you want to (re)-add support for macOS, see:
+    # https://docs.libretro.com/development/retroarch/compilation/osx/
+    # and
+    # https://github.com/libretro/RetroArch/blob/71eb74d256cb4dc5b8b43991aec74980547c5069/.gitlab-ci.yml#L330
     broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/applications/emulators/retroarch/libretro-core-info.nix b/pkgs/applications/emulators/retroarch/libretro-core-info.nix
new file mode 100644
index 0000000000000..1dd8b0e4b7481
--- /dev/null
+++ b/pkgs/applications/emulators/retroarch/libretro-core-info.nix
@@ -0,0 +1,28 @@
+{ lib
+, stdenvNoCC
+, fetchFromGitHub
+}:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "libretro-core-info";
+  version = "1.12.0";
+
+  src = fetchFromGitHub {
+    owner = "libretro";
+    repo = "libretro-core-info";
+    hash = "sha256-ByATDM0V40UJxigqVLyTWkHY5tiCC2dvZebksl8GsUI=";
+    rev = "v${version}";
+  };
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  dontBuild = true;
+
+  meta = with lib; {
+    description = "Libretro's core info files";
+    homepage = "https://libretro.com";
+    license = licenses.mit;
+    maintainers = with maintainers; teams.libretro.members ++ [ ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/emulators/retroarch/mkLibretroCore.nix b/pkgs/applications/emulators/retroarch/mkLibretroCore.nix
new file mode 100644
index 0000000000000..6ab6521270095
--- /dev/null
+++ b/pkgs/applications/emulators/retroarch/mkLibretroCore.nix
@@ -0,0 +1,80 @@
+{ lib
+, stdenv
+, core
+, makeWrapper
+, retroarch
+, zlib
+, makefile ? "Makefile.libretro"
+, extraBuildInputs ? [ ]
+, extraNativeBuildInputs ? [ ]
+  # Location of resulting RetroArch core on $out
+, libretroCore ? "/lib/retroarch/cores"
+  # The core filename is derivated from the core name
+  # Setting `normalizeCore` to `true` will convert `-` to `_` on the core filename
+, normalizeCore ? true
+, ...
+}@args:
+
+let
+  d2u = if normalizeCore then (lib.replaceChars [ "-" ] [ "_" ]) else (x: x);
+  coreDir = placeholder "out" + libretroCore;
+  coreFilename = "${d2u core}_libretro${stdenv.hostPlatform.extensions.sharedLibrary}";
+  mainProgram = "retroarch-${core}";
+  extraArgs = builtins.removeAttrs args [
+    "lib"
+    "stdenv"
+    "core"
+    "makeWrapper"
+    "retroarch"
+    "zlib"
+    "makefile"
+    "extraBuildInputs"
+    "extraNativeBuildInputs"
+    "libretroCore"
+    "normalizeCore"
+    "makeFlags"
+    "meta"
+  ];
+in
+stdenv.mkDerivation ({
+  pname = "libretro-${core}";
+
+  buildInputs = [ zlib ] ++ extraBuildInputs;
+  nativeBuildInputs = [ makeWrapper ] ++ extraNativeBuildInputs;
+
+  inherit makefile;
+
+  makeFlags = [
+    "platform=${{
+      linux = "unix";
+      darwin = "osx";
+      windows = "win";
+    }.${stdenv.hostPlatform.parsed.kernel.name} or stdenv.hostPlatform.parsed.kernel.name}"
+    "ARCH=${{
+      armv7l = "arm";
+      armv6l = "arm";
+      i686 = "x86";
+    }.${stdenv.hostPlatform.parsed.cpu.name} or stdenv.hostPlatform.parsed.cpu.name}"
+  ] ++ (args.makeFlags or [ ]);
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dt ${coreDir} ${coreFilename}
+    makeWrapper ${retroarch}/bin/retroarch $out/bin/${mainProgram} \
+      --add-flags "-L ${coreDir}/${coreFilename} $@"
+
+    runHook postInstall
+  '';
+
+  enableParallelBuilding = true;
+
+  passthru = { inherit core libretroCore; };
+
+  meta = with lib; {
+    inherit mainProgram;
+    inherit (retroarch.meta) platforms;
+    homepage = "https://www.libretro.com/";
+    maintainers = with maintainers; teams.libretro.members ++ [ hrdinka ];
+  } // (args.meta or { });
+} // extraArgs)
diff --git a/pkgs/applications/emulators/retroarch/use-fixed-path-for-libretro_core_info.patch b/pkgs/applications/emulators/retroarch/use-fixed-path-for-libretro_core_info.patch
new file mode 100644
index 0000000000000..256397fd49eaf
--- /dev/null
+++ b/pkgs/applications/emulators/retroarch/use-fixed-path-for-libretro_core_info.patch
@@ -0,0 +1,41 @@
+From 6145cb9ed935621f1974655fe1ab44cf2f0fbcce Mon Sep 17 00:00:00 2001
+From: Thiago Kenji Okada <thiagokokada@gmail.com>
+Date: Sat, 29 Oct 2022 12:27:55 +0100
+Subject: [PATCH] Use fixed path for libretro_core_info
+
+---
+ configuration.c                  | 2 +-
+ frontend/drivers/platform_unix.c | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/configuration.c b/configuration.c
+index af3fc8f43c..c6d56308b3 100644
+--- a/configuration.c
++++ b/configuration.c
+@@ -1468,7 +1468,7 @@ static struct config_path_setting *populate_settings_path(
+    SETTING_PATH("core_options_path",
+          settings->paths.path_core_options, false, NULL, true);
+    SETTING_PATH("libretro_info_path",
+-         settings->paths.path_libretro_info, false, NULL, true);
++         settings->paths.path_libretro_info, false, NULL, false);
+    SETTING_PATH("content_database_path",
+          settings->paths.path_content_database, false, NULL, true);
+    SETTING_PATH("cheat_database_path",
+diff --git a/frontend/drivers/platform_unix.c b/frontend/drivers/platform_unix.c
+index fe5f7341c9..c2a91f8c99 100644
+--- a/frontend/drivers/platform_unix.c
++++ b/frontend/drivers/platform_unix.c
+@@ -1799,8 +1799,8 @@ static void frontend_unix_get_env(int *argc,
+    fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], base_path,
+          "core_info", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
+ #else
+-   fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], base_path,
+-         "cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
++   fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], "@libretro_info_path@",
++         "share/libretro/info", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
+ #endif
+    fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG], base_path,
+          "autoconfig", sizeof(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG]));
+-- 
+2.38.0
+
diff --git a/pkgs/applications/emulators/retroarch/use-fixed-paths.patch b/pkgs/applications/emulators/retroarch/use-fixed-paths.patch
deleted file mode 100644
index a4837e63af7f7..0000000000000
--- a/pkgs/applications/emulators/retroarch/use-fixed-paths.patch
+++ /dev/null
@@ -1,154 +0,0 @@
-From 8a1cffebb23f9d2a28228cd8cbf4fd80836157e8 Mon Sep 17 00:00:00 2001
-From: Thiago Kenji Okada <thiagokokada@gmail.com>
-Date: Tue, 18 Oct 2022 17:41:33 +0100
-Subject: [PATCH] Use fixed paths
-
----
- configuration.c                    |  2 +-
- frontend/drivers/platform_darwin.m |  4 +--
- frontend/drivers/platform_unix.c   | 56 +++++++++++++++---------------
- 3 files changed, 31 insertions(+), 31 deletions(-)
-
-diff --git a/configuration.c b/configuration.c
-index ac4779b2d7..d980892dda 100644
---- a/configuration.c
-+++ b/configuration.c
-@@ -1468,7 +1468,7 @@ static struct config_path_setting *populate_settings_path(
-    SETTING_PATH("core_options_path",
-          settings->paths.path_core_options, false, NULL, true);
-    SETTING_PATH("libretro_info_path",
--         settings->paths.path_libretro_info, false, NULL, true);
-+         settings->paths.path_libretro_info, false, NULL, false);
-    SETTING_PATH("content_database_path",
-          settings->paths.path_content_database, false, NULL, true);
-    SETTING_PATH("cheat_database_path",
-diff --git a/frontend/drivers/platform_darwin.m b/frontend/drivers/platform_darwin.m
-index c771ec0f55..d5e21a1f4d 100644
---- a/frontend/drivers/platform_darwin.m
-+++ b/frontend/drivers/platform_darwin.m
-@@ -400,9 +400,9 @@ static void frontend_darwin_get_env(int *argc, char *argv[],
- 		    home_dir_buf, "cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
- #else
-     fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE],
--		    bundle_path_buf, "modules", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
-+		    "@libretro_directory@", "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
- #endif
--   fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], home_dir_buf, "info", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
-+   fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], "@libretro_info_path@", "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
-    fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY], home_dir_buf, "overlays", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY]));
- #ifdef HAVE_VIDEO_LAYOUT
-    fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_LAYOUT], home_dir_buf, "layouts", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_LAYOUT]));
-diff --git a/frontend/drivers/platform_unix.c b/frontend/drivers/platform_unix.c
-index 29e9a0d633..dba8abe941 100644
---- a/frontend/drivers/platform_unix.c
-+++ b/frontend/drivers/platform_unix.c
-@@ -1792,8 +1792,8 @@ static void frontend_unix_get_env(int *argc,
-       strlcpy(g_defaults.dirs[DEFAULT_DIR_CORE], libretro_directory,
-             sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
-    else
--      fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE], base_path,
--            "cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
-+      fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE], "@libretro_directory@",
-+            "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
- #if defined(DINGUX)
-    /* On platforms that require manual core installation/
-     * removal, placing core info files in the same directory
-@@ -1802,27 +1802,27 @@ static void frontend_unix_get_env(int *argc,
-    fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], base_path,
-          "core_info", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
- #else
--   fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], base_path,
--         "cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
-+   fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], "@libretro_info_path@",
-+         "", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
- #endif
-    fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG], base_path,
-          "autoconfig", sizeof(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG]));
- 
--   if (path_is_directory("/usr/local/share/retroarch/assets"))
-+   if (path_is_directory("@out@/local/share/retroarch/assets"))
-       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS],
--            "/usr/local/share/retroarch",
-+            "@out@/local/share/retroarch",
-             "assets", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS]));
--   else if (path_is_directory("/usr/share/retroarch/assets"))
-+   else if (path_is_directory("@out@/share/retroarch/assets"))
-       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS],
--            "/usr/share/retroarch",
-+            "@out@/share/retroarch",
-             "assets", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS]));
--   else if (path_is_directory("/usr/local/share/games/retroarch/assets"))
-+   else if (path_is_directory("@out@/local/share/games/retroarch/assets"))
-       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS],
--            "/usr/local/share/games/retroarch",
-+            "@out@/local/share/games/retroarch",
-             "assets", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS]));
--   else if (path_is_directory("/usr/share/games/retroarch/assets"))
-+   else if (path_is_directory("@out@/share/games/retroarch/assets"))
-       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS],
--            "/usr/share/games/retroarch",
-+            "@out@/share/games/retroarch",
-             "assets", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS]));
-    else
-       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS], base_path,
-@@ -1834,41 +1834,41 @@ static void frontend_unix_get_env(int *argc,
-    fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER], base_path,
-          "filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER]));
- #else
--   if (path_is_directory("/usr/local/share/retroarch/filters/audio"))
-+   if (path_is_directory("@out@/local/share/retroarch/filters/audio"))
-       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER],
--            "/usr/local/share/retroarch",
-+            "@out@/local/share/retroarch",
-             "filters/audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER]));
--   else if (path_is_directory("/usr/share/retroarch/filters/audio"))
-+   else if (path_is_directory("@out@/share/retroarch/filters/audio"))
-       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER],
--            "/usr/share/retroarch",
-+            "@out@/share/retroarch",
-             "filters/audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER]));
--   else if (path_is_directory("/usr/local/share/games/retroarch/filters/audio"))
-+   else if (path_is_directory("@out@/local/share/games/retroarch/filters/audio"))
-       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER],
--            "/usr/local/share/games/retroarch",
-+            "@out@/local/share/games/retroarch",
-             "filters/audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER]));
--   else if (path_is_directory("/usr/share/games/retroarch/filters/audio"))
-+   else if (path_is_directory("@out@/share/games/retroarch/filters/audio"))
-       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER],
--            "/usr/share/games/retroarch",
-+            "@out@/share/games/retroarch",
-             "filters/audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER]));
-    else
-       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER], base_path,
-             "filters/audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER]));
- 
--   if (path_is_directory("/usr/local/share/retroarch/filters/video"))
-+   if (path_is_directory("@out@/local/share/retroarch/filters/video"))
-       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER],
--            "/usr/local/share/retroarch",
-+            "@out@/local/share/retroarch",
-             "filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER]));
--   else if (path_is_directory("/usr/share/retroarch/filters/video"))
-+   else if (path_is_directory("@out@/share/retroarch/filters/video"))
-       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER],
--            "/usr/share/retroarch",
-+            "@out@/share/retroarch",
-             "filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER]));
--   else if (path_is_directory("/usr/local/share/games/retroarch/filters/video"))
-+   else if (path_is_directory("@out@/local/share/games/retroarch/filters/video"))
-       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER],
--            "/usr/local/share/games/retroarch",
-+            "@out@/local/share/games/retroarch",
-             "filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER]));
--   else if (path_is_directory("/usr/share/games/retroarch/filters/video"))
-+   else if (path_is_directory("@out@/share/games/retroarch/filters/video"))
-       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER],
--            "/usr/share/games/retroarch",
-+            "@out@/share/games/retroarch",
-             "filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER]));
-    else
-       fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER], base_path,
--- 
-2.37.3
-
diff --git a/pkgs/applications/emulators/retroarch/wrapper.nix b/pkgs/applications/emulators/retroarch/wrapper.nix
index 535cd40db6c34..4136d263eac4c 100644
--- a/pkgs/applications/emulators/retroarch/wrapper.nix
+++ b/pkgs/applications/emulators/retroarch/wrapper.nix
@@ -1,41 +1,48 @@
-{ stdenv, lib, makeWrapper, retroarch, cores ? [ ] }:
-
-stdenv.mkDerivation {
-  pname = "retroarch";
-  version = lib.getVersion retroarch;
+{ lib
+, stdenv
+, makeWrapper
+, retroarch
+, symlinkJoin
+, writeTextDir
+, cores ? [ ]
+}:
+
+let
+  # All cores should be located in the same path after symlinkJoin,
+  # but let's be safe here
+  coresPath = lib.lists.unique (map (c: c.libretroCore) cores);
+  wrapperArgs = lib.strings.escapeShellArgs
+    (lib.lists.flatten
+      (map (p: [ "--add-flags" "-L ${placeholder "out" + p}" ]) coresPath));
+in
+symlinkJoin {
+  name = "retroarch-with-cores-${lib.getVersion retroarch}";
+
+  paths = [ retroarch ] ++ cores;
 
   nativeBuildInputs = [ makeWrapper ];
 
-  buildCommand = ''
-    mkdir -p $out/lib
-    for coreDir in $cores; do
-      ln -s $coreDir/* $out/lib/.
-    done
-
-    ln -s -t $out ${retroarch}/share
+  passthru = {
+    inherit cores;
+    unwrapped = retroarch;
+  };
 
-    if [ -d ${retroarch}/Applications ]; then
-      ln -s -t $out ${retroarch}/Applications
-    fi
+  postBuild = ''
+    # remove core specific binaries
+    find $out/bin -name 'retroarch-*' -type l -delete
 
-    makeWrapper ${retroarch}/bin/retroarch $out/bin/retroarch \
-      --suffix-each LD_LIBRARY_PATH ':' "$cores" \
-      --add-flags "-L $out/lib/" \
+    # wrap binary to load cores from the proper location(s)
+    wrapProgram $out/bin/retroarch ${wrapperArgs}
   '';
 
-  cores = map (x: x + x.libretroCore) cores;
-  preferLocalBuild = true;
-
   meta = with retroarch.meta; {
     inherit changelog description homepage license maintainers platforms;
     longDescription = ''
       RetroArch is the reference frontend for the libretro API.
-
-      The following cores are included:
-      ${lib.concatStringsSep "\n" (map (x: "  - ${x.name}") cores)}
+    ''
+    + lib.optionalString (cores != [ ]) ''
+      The following cores are included: ${lib.concatStringsSep ", " (map (c: c.core) cores)}
     '';
-    # FIXME: exit with error on macOS:
-    # No Info.plist file in application bundle or no NSPrincipalClass in the Info.plist file, exiting
-    broken = stdenv.isDarwin;
+    mainProgram = "retroarch";
   };
 }
diff --git a/pkgs/applications/emulators/rpcs3/default.nix b/pkgs/applications/emulators/rpcs3/default.nix
index f1432d8db5585..b88e5f2647290 100644
--- a/pkgs/applications/emulators/rpcs3/default.nix
+++ b/pkgs/applications/emulators/rpcs3/default.nix
@@ -9,10 +9,10 @@
 
 let
   # Keep these separate so the update script can regex them
-  rpcs3GitVersion = "14337-5210df688";
-  rpcs3Version = "0.0.24-14337-5210df688";
-  rpcs3Revision = "5210df688262ec7fd8c21230d30e568d98724c8f";
-  rpcs3Sha256 = "1m0j53xl6g01s27bi2p9j23m724gq7a3hss7kqhc239a5m9akqdg";
+  rpcs3GitVersion = "14358-a00f9e421";
+  rpcs3Version = "0.0.25-14358-a00f9e421";
+  rpcs3Revision = "a00f9e42115527aa9654870f194cf2c64329f2ef";
+  rpcs3Sha256 = "0avajihbs02nbfqs4kzgckl0v2z4z8h8fgcjs5m4zxvkgj5701nv";
 
   ittapi = fetchFromGitHub {
     owner = "intel";
diff --git a/pkgs/applications/emulators/sameboy/default.nix b/pkgs/applications/emulators/sameboy/default.nix
index 26555acb61cbd..0353518855684 100644
--- a/pkgs/applications/emulators/sameboy/default.nix
+++ b/pkgs/applications/emulators/sameboy/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sameboy";
-  version = "0.15.6";
+  version = "0.15.8";
 
   src = fetchFromGitHub {
     owner = "LIJI32";
     repo = "SameBoy";
     rev = "v${version}";
-    sha256 = "sha256-WsZuOKq/Dfk2zgYFXSwZPUuPrJQJ3y3mJHL6s61mTig=";
+    sha256 = "sha256-SBK+aYekEJreD0XBvYaU12eIKmm9JNYIpPt1XhUtH4c=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/emulators/uxn/default.nix b/pkgs/applications/emulators/uxn/default.nix
index 0b797e2e160b7..935207321c5a9 100644
--- a/pkgs/applications/emulators/uxn/default.nix
+++ b/pkgs/applications/emulators/uxn/default.nix
@@ -4,15 +4,15 @@
 , SDL2
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   pname = "uxn";
-  version = "0.pre+unstable=2021-08-30";
+  version = "unstable-2022-10-22";
 
   src = fetchFromSourcehut {
     owner = "~rabbits";
-    repo = pname;
-    rev = "a2e40d9d10c11ef48f4f93d0dc86f5085b4263ce";
-    hash = "sha256-/hxDYi814nQydm2iQk4NID4vpJ3BcBcM6NdL0iuZk5M=";
+    repo = "uxn";
+    rev = "1b2049e238df96f32335edf1c6db35bd09f8b42d";
+    hash = "sha256-lwms+qUelfpTC+i2m5b3dW7ww9298YMPFdPVsFrwcDQ=";
   };
 
   buildInputs = [
@@ -21,14 +21,14 @@ stdenv.mkDerivation rec {
 
   dontConfigure = true;
 
-  # It is easier to emulate build.sh script
+  postPatch = ''
+     sed -i -e 's|UXNEMU_LDFLAGS="$(brew.*$|UXNEMU_LDFLAGS="$(sdl2-config --cflags --libs)"|' build.sh
+  '';
+
   buildPhase = ''
     runHook preBuild
 
-    cc -std=c89 -Wall -Wno-unknown-pragmas src/uxnasm.c -o uxnasm
-    cc -std=c89 -Wall -Wno-unknown-pragmas src/uxn.c src/uxncli.c -o uxncli
-    cc -std=c89 -Wall -Wno-unknown-pragmas src/uxn.c src/devices/ppu.c \
-       src/devices/apu.c src/uxnemu.c $(sdl2-config --cflags --libs) -o uxnemu
+    ./build.sh --no-run
 
     runHook postBuild
   '';
@@ -36,10 +36,10 @@ stdenv.mkDerivation rec {
   installPhase = ''
     runHook preInstall
 
-    install -d $out/bin/ $out/share/${pname}/
+    install -d $out/bin/ $out/share/uxn/
 
-    cp uxnasm uxncli uxnemu $out/bin/
-    cp -r projects $out/share/${pname}/
+    cp bin/uxnasm bin/uxncli bin/uxnemu $out/bin/
+    cp -r projects $out/share/uxn/
 
     runHook postInstall
   '';
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
     homepage = "https://wiki.xxiivv.com/site/uxn.html";
     description = "An assembler and emulator for the Uxn stack machine";
     license = with licenses; [ mit ];
-    maintainers = with maintainers; [ AndersonTorres ];
+    maintainers = with maintainers; [ AndersonTorres kototama ];
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/applications/emulators/wine/base.nix b/pkgs/applications/emulators/wine/base.nix
index d30fe6039ec1f..699aa303462ae 100644
--- a/pkgs/applications/emulators/wine/base.nix
+++ b/pkgs/applications/emulators/wine/base.nix
@@ -108,6 +108,7 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
   ])
   ++ lib.optionals waylandSupport (with pkgs; [
      wayland libxkbcommon wayland-protocols wayland.dev libxkbcommon.dev
+     mesa # for libgbm
   ])));
 
   patches = [ ]
diff --git a/pkgs/applications/emulators/wine/sources.nix b/pkgs/applications/emulators/wine/sources.nix
index b90ac2d07a874..7306112ce259b 100644
--- a/pkgs/applications/emulators/wine/sources.nix
+++ b/pkgs/applications/emulators/wine/sources.nix
@@ -46,22 +46,22 @@ in rec {
 
   unstable = fetchurl rec {
     # NOTE: Don't forget to change the SHA256 for staging as well.
-    version = "7.17";
+    version = "7.20";
     url = "https://dl.winehq.org/wine/source/7.x/wine-${version}.tar.xz";
-    sha256 = "sha256-JDa4rFDWKPTKOsUwDBgmY9/PpIuhulVIp3KOtmH7T0E=";
+    sha256 = "sha256-dRt58itan3LJ7BX3VbALE9PtBz6RaMPvStq9nbN9DVA=";
     inherit (stable) gecko32 gecko64 patches;
 
     mono = fetchurl rec {
-      version = "7.3.0";
+      version = "7.4.0";
       url = "https://dl.winehq.org/wine/wine-mono/${version}/wine-mono-${version}-x86.msi";
-      sha256 = "sha256-k54vVmlyDQ0Px+MFQmYioRozt644XE1+WB4p6iZOIv8=";
+      sha256 = "sha256-ZBP/Mo679+x2icZI/rNUbYEC3thlB50fvwMxsUs6sOw=";
     };
   };
 
   staging = fetchFromGitHub rec {
     # https://github.com/wine-staging/wine-staging/releases
     inherit (unstable) version;
-    sha256 = "sha256-eC5nYX6Cjutd30rrAn6SavWlQtF8swMHDzsESN4SUmo=";
+    sha256 = "sha256-yzZE06FBoPL65+m8MrKlmW5cSIcX3dZYAOY9wjEJaJw=";
     owner = "wine-staging";
     repo = "wine-staging";
     rev = "v${version}";
@@ -70,12 +70,13 @@ in rec {
   };
 
   wayland = fetchFromGitLab rec {
-    version = "7.0-rc2";
-    sha256 = "sha256-FU9L8cyIIfFQ+8f/AUg7IT+RxTpyNTuSfL0zBnur0SA=";
+    # https://gitlab.collabora.com/alf/wine/-/tree/wayland
+    version = "7.20";
+    sha256 = "sha256-UrukAnlfrr6eeVwFSEOWSVSfyMHbMT1o1tfXxow61xY=";
     domain = "gitlab.collabora.com";
     owner = "alf";
     repo = "wine";
-    rev = "95f0154c96a4b7d81e783ee5ba2f5d9cc7cda351";
+    rev = "1dc9821ef0b6109c74d0c95cd5418caf7f9feaf1";
 
     inherit (unstable) gecko32 gecko64;
 
diff --git a/pkgs/applications/emulators/wine/vkd3d.nix b/pkgs/applications/emulators/wine/vkd3d.nix
index c345c052c4589..249cb2730404f 100644
--- a/pkgs/applications/emulators/wine/vkd3d.nix
+++ b/pkgs/applications/emulators/wine/vkd3d.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "vkd3d";
-  version = "1.4";
+  version = "1.5";
 
   src = fetchurl {
     url = "https://dl.winehq.org/vkd3d/source/vkd3d-${version}.tar.xz";
-    sha256 = "sha256-yLqF9gSCyHPAVs9tuw6veRvIq30W1ipH83uYQbapCr0=";
+    sha256 = "sha256-47PDVfRvfL/BnnEKR4vLK+4mel82Dn5kBiOM6lLOLPw=";
   };
 
   nativeBuildInputs = [ flex bison ];
diff --git a/pkgs/applications/emulators/zsnes/default.nix b/pkgs/applications/emulators/zsnes/default.nix
index 956604cd6cc62..b9dd0f77a4ff4 100644
--- a/pkgs/applications/emulators/zsnes/default.nix
+++ b/pkgs/applications/emulators/zsnes/default.nix
@@ -34,7 +34,8 @@ in stdenv.mkDerivation {
 
   # Workaround build failure on -fno-common toolchains:
   #   ld: initc.o:(.bss+0x28): multiple definition of `HacksDisable'; cfg.o:(.bss+0x59e3): first defined here
-  NIX_CFLAGS_COMPILE = "-fcommon";
+  # Use pre-c++17 standard (c++17 forbids throw annotations)
+  NIX_CFLAGS_COMPILE = "-fcommon -std=c++14";
 
   preConfigure = ''
     cd src
diff --git a/pkgs/applications/file-managers/doublecmd/default.nix b/pkgs/applications/file-managers/doublecmd/default.nix
index f9f0dcde28160..46e8e96f2acb1 100644
--- a/pkgs/applications/file-managers/doublecmd/default.nix
+++ b/pkgs/applications/file-managers/doublecmd/default.nix
@@ -11,14 +11,14 @@
 , wrapQtAppsHook
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "doublecmd";
   version = "1.0.8";
 
   src = fetchFromGitHub {
     owner = "doublecmd";
     repo = "doublecmd";
-    rev = "v${version}";
+    rev = "v${finalAttrs.version}";
     hash = "sha256-kuqleoDoxzOj3baTK0lBJpbDECoHeFubWhLXAVkEqAk=";
   };
 
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     libqt5pas
   ];
 
-  NIX_LDFLAGS = "--as-needed -rpath ${lib.makeLibraryPath buildInputs}";
+  NIX_LDFLAGS = "--as-needed -rpath ${lib.makeLibraryPath finalAttrs.buildInputs}";
 
   postPatch = ''
     patchShebangs build.sh install/linux/install.sh
@@ -70,5 +70,5 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = with platforms; linux;
   };
-}
+})
 # TODO: deal with other platforms too
diff --git a/pkgs/applications/file-managers/felix-fm/default.nix b/pkgs/applications/file-managers/felix-fm/default.nix
index 7fbf4fc6b63e2..3e5a8c4cc98c9 100644
--- a/pkgs/applications/file-managers/felix-fm/default.nix
+++ b/pkgs/applications/file-managers/felix-fm/default.nix
@@ -1,23 +1,46 @@
-{ lib, rustPlatform, fetchFromGitHub, zoxide }:
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, bzip2
+, zstd
+, zoxide
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "felix";
-  version = "1.3.2";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "kyoheiu";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-DXsuTmkfzWbjpTb3ZJRVSDGgivDlEQraqAeyRzAB4UU=";
+    sha256 = "sha256-CLCzRnczItvnjXtS4BOc9FeBCPQm102U0bDIWAZPzYc=";
   };
 
-  cargoSha256 = "sha256-gv7ujyAbFEpz95cHRDKPxUW2TiYiJz35jfiKlzi6gJY=";
+  cargoSha256 = "sha256-H+uOo3Cm1nFPYyA0qOAcaD4mfSd4Uaq5U20t6V4mmcg=";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [
+    bzip2
+    zstd
+  ];
 
   checkInputs = [ zoxide ];
 
+  buildFeatures = [ "zstd/pkg-config" ];
+
+  checkFlags = [
+    # extra test files not shipped with the repository
+    "--skip=magic_image::tests::test_inspect_image"
+    "--skip=magic_packed::tests::test_inspect_signature"
+  ];
+
   meta = with lib; {
     description = "A tui file manager with vim-like key mapping";
     homepage = "https://github.com/kyoheiu/felix";
+    changelog = "https://github.com/kyoheiu/felix/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
     mainProgram = "fx";
diff --git a/pkgs/applications/file-managers/llama/default.nix b/pkgs/applications/file-managers/llama/default.nix
index f1822c674116c..b71ab1cdf0f38 100644
--- a/pkgs/applications/file-managers/llama/default.nix
+++ b/pkgs/applications/file-managers/llama/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "llama";
-  version = "1.0.2";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "antonmedv";
     repo = "llama";
     rev = "v${version}";
-    sha256 = "sha256-6Xuwl4IpzbVfJ2MhHeImPFWxL/Y6rhnBExlh64PeGdk=";
+    sha256 = "sha256-/YnaKodMkuHrB0xH1UNRq+a6VknKRqcbBIehaYM6Gyc=";
   };
 
-  vendorSha256 = "sha256-zbfQtTDbVWFVGQyjqlkv3mTvEPkKImzXAIXcmkh4wqk=";
+  vendorSha256 = "sha256-nngto104p/qJpWM1NlmEqcrJThXSeCfcoXCzV1CClYQ=";
 
   meta = with lib; {
     description = "Terminal file manager";
diff --git a/pkgs/applications/file-managers/mucommander/default.nix b/pkgs/applications/file-managers/mucommander/default.nix
index a91bb273f3e68..5e474f81f1877 100644
--- a/pkgs/applications/file-managers/mucommander/default.nix
+++ b/pkgs/applications/file-managers/mucommander/default.nix
@@ -1,86 +1,109 @@
-{ lib, stdenv, fetchFromGitHub, gradle_6, perl, makeWrapper, jdk11, gsettings-desktop-schemas }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, gradle_7
+, perl
+, makeWrapper
+, writeText
+, jdk11
+, gsettings-desktop-schemas
+}:
 
 let
-  version = "0.9.3-3";
+  version = "1.1.0-1";
 
   src = fetchFromGitHub {
     owner = "mucommander";
     repo = "mucommander";
     rev = version;
-    sha256 = "1zhglsx3b5k6np3ppfkkrqz9wg0j7ip598xxfgn75gjl020w0can";
+    sha256 = "sha256-sCBbY3aBSuJmyOuy36pg8X2jX6hXwW8SW2UzYyp/isM=";
   };
 
   postPatch = ''
     # there is no .git anyway
     substituteInPlace build.gradle \
-      --replace "git = org.ajoberstar.grgit.Grgit.open(file('.'))"  "" \
-      --replace "revision = git.head().id"                          "revision = 'abcdefgh'" \
-      --replace "proguard.enabled =" "// proguard.enabled =" \
-      --replace "version = '0.9.4'" "version = '${version}'"
-
-    # disable gradle plugins with native code and their targets
-    perl -i.bak1 -pe "s#(^\s*id '.+' version '.+'$)#// \1#" build.gradle
-    perl -i.bak2 -pe "s#(.*)#// \1# if /^(buildscript|task portable|task nsis|task proguard|task tgz|task\(afterEclipseImport\)|launch4j|macAppBundle|buildRpm|buildDeb|shadowJar)/ ... /^}/" build.gradle
-
-    # fix source encoding
-    find . -type f -name build.gradle \
-      -exec perl -i.bak3 -pe "s#(repositories\.jcenter\(\))#
-                                \1
-                                compileJava.options.encoding = 'UTF-8'
-                                compileTestJava.options.encoding = 'UTF-8'
-                               #" {} \;
+      --replace "git = grgit.open(dir: project.rootDir)" "" \
+      --replace "id 'org.ajoberstar.grgit' version '3.1.1'" "" \
+      --replace "revision = git.head().id" "revision = '${version}'"
   '';
 
   # fake build to pre-download deps into fixed-output derivation
   deps = stdenv.mkDerivation {
     pname = "mucommander-deps";
     inherit version src postPatch;
-    nativeBuildInputs = [ gradle_6 perl ];
+    nativeBuildInputs = [ gradle_7 perl ];
     buildPhase = ''
       export GRADLE_USER_HOME=$(mktemp -d)
-      gradle --no-daemon build
+      gradle --no-daemon tgz
     '';
     # 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)
+    # reproducible by sorting
     installPhase = ''
       find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
+        | LC_ALL=C sort \
         | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
         | sh
+      # copy maven-metadata.xml for commons-codec
+      # thankfully there is only one xml
+      cp $GRADLE_USER_HOME/caches/modules-2/resources-2.1/*/*/maven-metadata.xml $out/commons-codec/commons-codec/maven-metadata.xml
     '';
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "1v5a76pvk7llbyv2rg50wlxc2wf468l2cslz1vi20aihycbyky7j";
+    outputHash = "sha256-15ThPkvcmOfa5m/HMJzjrOOUi/BYbd57p5bBfj5/3n4=";
   };
 
-in stdenv.mkDerivation {
+in
+stdenv.mkDerivation rec {
   pname = "mucommander";
   inherit version src postPatch;
-  nativeBuildInputs = [ gradle_6 perl makeWrapper ];
+  nativeBuildInputs = [ gradle_7 perl makeWrapper ];
+
+  # Point to our local deps repo
+  gradleInit = writeText "init.gradle" ''
+    logger.lifecycle 'Replacing Maven repositories with ${deps}...'
+    gradle.projectsLoaded {
+      rootProject.allprojects {
+        buildscript {
+          repositories {
+            clear()
+            maven { url '${deps}' }
+          }
+        }
+        repositories {
+          clear()
+          maven { url '${deps}' }
+        }
+      }
+    }
+    settingsEvaluated { settings ->
+      settings.pluginManagement {
+        repositories {
+          maven { url '${deps}' }
+        }
+      }
+    }
+  '';
 
   buildPhase = ''
     export GRADLE_USER_HOME=$(mktemp -d)
 
-    # point to offline repo
-    find . -type f -name build.gradle \
-      -exec perl -i.bak3 -pe "s#repositories\.jcenter\(\)#
-                                repositories { mavenLocal(); maven { url '${deps}' } }
-                               #" {} \;
-
-    gradle --offline --no-daemon distTar
+    gradle --offline --init-script ${gradleInit} --no-daemon tgz
   '';
 
   installPhase = ''
-    mkdir $out
-    tar xvf build/distributions/mucommander-${version}.tar --directory=$out --strip=1
-    wrapProgram $out/bin/mucommander \
+    mkdir -p $out/share/mucommander
+    tar xvf build/distributions/mucommander-*.tgz --directory=$out/share/mucommander
+
+    makeWrapper $out/share/mucommander/mucommander.sh $out/bin/mucommander \
       --prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name} \
       --set JAVA_HOME ${jdk11}
   '';
 
   meta = with lib; {
-    homepage = "http://www.mucommander.com/";
+    homepage = "https://www.mucommander.com/";
     description = "Cross-platform file manager";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ jiegec ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/file-managers/xfe/default.nix b/pkgs/applications/file-managers/xfe/default.nix
index 1603639378402..92b3fae315968 100644
--- a/pkgs/applications/file-managers/xfe/default.nix
+++ b/pkgs/applications/file-managers/xfe/default.nix
@@ -1,4 +1,18 @@
-{ lib, stdenv, fetchurl, fox, pkg-config, gettext, xlibsWrapper, xcbutil, gcc, intltool, file, libpng }:
+{ lib
+, stdenv
+, fetchurl
+, fox
+, fontconfig
+, freetype
+, pkg-config
+, gettext
+, xcbutil
+, gcc
+, intltool
+, file
+, libpng
+, xorg
+}:
 
 stdenv.mkDerivation rec {
   pname = "xfe";
@@ -10,7 +24,18 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config intltool ];
-  buildInputs = [ fox gettext xlibsWrapper xcbutil gcc file libpng ];
+  buildInputs = [
+    fox
+    gettext
+    xcbutil
+    gcc
+    file
+    libpng
+    fontconfig
+    freetype
+    xorg.libX11
+    xorg.libXft
+  ];
 
   preConfigure = ''
     sed -i s,/usr/share/xfe,$out/share/xfe, src/xfedefs.h
diff --git a/pkgs/applications/gis/grass/default.nix b/pkgs/applications/gis/grass/default.nix
index 5d1411bfcc07a..bffbcf48fabda 100644
--- a/pkgs/applications/gis/grass/default.nix
+++ b/pkgs/applications/gis/grass/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     pkg-config bison flex makeWrapper wrapGAppsHook
     gdal geos libmysqlclient netcdf pdal
-  ] ++ (with python3Packages; [ python-dateutil numpy wxPython_4_1 ]);
+  ] ++ (with python3Packages; [ python-dateutil numpy wxPython_4_2 ]);
 
   buildInputs = [
     cairo zlib proj libtiff libpng fftw sqlite
diff --git a/pkgs/applications/gis/saga/default.nix b/pkgs/applications/gis/saga/default.nix
index db7278c23bd3b..fc940cfce3018 100644
--- a/pkgs/applications/gis/saga/default.nix
+++ b/pkgs/applications/gis/saga/default.nix
@@ -3,11 +3,11 @@
 , lib
 , fetchurl
 # native
-, autoreconfHook
+, cmake
 , pkg-config
 # not native
 , gdal
-, wxGTK31-gtk3
+, wxGTK32
 , proj
 , dxflib
 , curl
@@ -31,24 +31,20 @@
 
 mkDerivation rec {
   pname = "saga";
-  version = "7.9.1";
+  version = "8.4.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/saga-gis/SAGA%20-%20${lib.versions.major version}/SAGA%20-%20${version}/saga-${version}.tar.gz";
-    sha256 = "sha256-Jq1LhBSeJuq9SlNl/ko5I8+jnjZnLMfGYNNUnzVWo7w=";
+    sha256 = "sha256-v6DPwV20fcsznrEaFJk0/ewU4z3cTjzYYuLkyMwSLV0=";
   };
 
+  sourceRoot = "saga-${version}/saga-gis";
+
   nativeBuildInputs = [
-    # Upstream's gnerated ./configure is not reliable
-    autoreconfHook
+    cmake
     pkg-config
   ];
-  configureFlags = [
-    "--with-system-svm"
-    # hdf is no detected otherwise
-    "HDF5_LIBS=-l${hdf5}/lib"
-    "HDF5_CFLAGS=-I${hdf5.dev}/include"
-  ];
+
   buildInputs = [
     curl
     dxflib
@@ -56,7 +52,7 @@ mkDerivation rec {
     libsvm
     hdf5
     gdal
-    wxGTK31-gtk3
+    wxGTK32
     proj
     libharu
     opencv
@@ -77,9 +73,9 @@ mkDerivation rec {
     sqlite
   ];
 
-  enableParallelBuilding = true;
-
-  CXXFLAGS = lib.optionalString stdenv.cc.isClang "-std=c++11 -Wno-narrowing";
+  cmakeFlags = [
+    "-DOpenMP_SUPPORT=${if stdenv.isDarwin then "OFF" else "ON"}"
+  ];
 
   meta = with lib; {
     description = "System for Automated Geoscientific Analyses";
diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix
index 5b793b38e172b..44397108f245f 100644
--- a/pkgs/applications/graphics/ImageMagick/default.nix
+++ b/pkgs/applications/graphics/ImageMagick/default.nix
@@ -46,13 +46,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "imagemagick";
-  version = "7.1.0-51";
+  version = "7.1.0-52";
 
   src = fetchFromGitHub {
     owner = "ImageMagick";
     repo = "ImageMagick";
     rev = version;
-    hash = "sha256-u2QUtCQ4LzS60iVOOKWx/itmC9uMxPhNvsNANPHrvpE=";
+    hash = "sha256-GV71O4cHUKJ7+6u4T+vdaFz5q2SpZVDCfEAbfz0s6f4=";
   };
 
   outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
diff --git a/pkgs/applications/graphics/apitrace/default.nix b/pkgs/applications/graphics/apitrace/default.nix
index 756f0da9f3481..8d642c67820e7 100644
--- a/pkgs/applications/graphics/apitrace/default.nix
+++ b/pkgs/applications/graphics/apitrace/default.nix
@@ -1,27 +1,37 @@
-{ lib, stdenv, fetchFromGitHub, cmake, libX11, procps, python2, libdwarf, qtbase, qtwebkit, wrapQtAppsHook, libglvnd }:
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  cmake,
+  pkg-config,
+  libX11,
+  procps,
+  python3,
+  libdwarf,
+  qtbase,
+  wrapQtAppsHook,
+  libglvnd,
+  gtest,
+  brotli,
+}:
 
 stdenv.mkDerivation rec {
   pname = "apitrace";
-  version = "7.1-572-g${builtins.substring 0 8 src.rev}";
+  version = "11.1";
 
   src = fetchFromGitHub {
-    sha256 = "11bwb0l8cr1bf9bj1s6cbmi77d5fy4qrphj9cgmcd8jpa862anp5";
-    rev = "26966134f15d28f6b4a9a0a560017b3ba36d60bf";
-    repo = "apitrace";
     owner = "apitrace";
+    repo = "apitrace";
+    rev = version;
+    hash = "sha256-rvC6iVWNNxH11hzQvRTo+SQi9jEUCPWGSdJmKJe9SQ0=";
+    fetchSubmodules = true;
   };
 
-  patches = [
-    # glibc 2.34 compat
-    # derived from https://github.com/apitrace/apitrace/commit/d28a980802ad48568c87da02d630c8babfe163bb
-    ./glibc-2.34-compat.patch
-  ];
-
   # LD_PRELOAD wrappers need to be statically linked to work against all kinds
   # of games -- so it's fine to use e.g. bundled snappy.
-  buildInputs = [ libX11 procps python2 libdwarf qtbase qtwebkit ];
+  buildInputs = [ libX11 procps python3 libdwarf qtbase gtest brotli ];
 
-  nativeBuildInputs = [ cmake wrapQtAppsHook ];
+  nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
 
   # Don't automatically wrap all binaries, I prefer to explicitly only wrap
   # `qapitrace`.
diff --git a/pkgs/applications/graphics/apitrace/glibc-2.34-compat.patch b/pkgs/applications/graphics/apitrace/glibc-2.34-compat.patch
deleted file mode 100644
index 3f8cebe030c04..0000000000000
--- a/pkgs/applications/graphics/apitrace/glibc-2.34-compat.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/wrappers/dlsym.cpp b/wrappers/dlsym.cpp
-index 2eda082..0c0c8ee 100644
---- a/wrappers/dlsym.cpp
-+++ b/wrappers/dlsym.cpp
-@@ -34,7 +34,7 @@
- #include "os.hpp"
- 
- 
--#ifdef __GLIBC__
-+#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ < 34
- 
- 
- #include <dlfcn.h>
diff --git a/pkgs/applications/graphics/ascii-image-converter/default.nix b/pkgs/applications/graphics/ascii-image-converter/default.nix
index 556a9e1126363..708c3b4682862 100644
--- a/pkgs/applications/graphics/ascii-image-converter/default.nix
+++ b/pkgs/applications/graphics/ascii-image-converter/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "ascii-image-converter";
-  version = "1.12.0";
+  version = "1.13.0";
 
   src = fetchFromGitHub {
     owner = "TheZoraiz";
     repo = "ascii-image-converter";
     rev = "v${version}";
-    sha256 = "5Sa9PqhoJ/LCAHrymqVCO4bI39mQeVa4xv1z235Cxvg=";
+    sha256 = "sha256-2kg5W5u6YjLce3wNS3A1e89ZYAVK2LyNmPGCm86HxPM=";
   };
 
-  vendorSha256 = "rQS3QH9vnEbQZszG3FOr1P5HYgS63BurCNCFQTTdvZs=";
+  vendorSha256 = "sha256-rQS3QH9vnEbQZszG3FOr1P5HYgS63BurCNCFQTTdvZs=";
 
   meta = with lib; {
     description = "Convert images into ASCII art on the console";
diff --git a/pkgs/applications/graphics/djv/default.nix b/pkgs/applications/graphics/djv/default.nix
index 95a29f243e4aa..250ff2b32efa3 100644
--- a/pkgs/applications/graphics/djv/default.nix
+++ b/pkgs/applications/graphics/djv/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , cmake
 , fetchFromGitHub
+, fetchpatch
 , lib
 , alsa-lib
 , libGL
@@ -107,6 +108,25 @@ stdenv.mkDerivation rec {
   version = djvVersion;
 
   src = djvSrc;
+  patches = [
+    # Pull fix ending upstream inclusion for gcc-12+ support:
+    #   https://github.com/darbyjohnston/DJV/pull/477
+    (fetchpatch {
+      name = "gcc-11-limits.patch";
+      url = "https://github.com/darbyjohnston/DJV/commit/0544ffa1a263a6b8e8518b47277de7601b21b4f4.patch";
+      hash = "sha256-x6ye0xMwTlKyNW4cVFb64RvAayvo71kuOooPj3ROn0g=";
+    })
+    (fetchpatch {
+      name = "gcc-11-IO.patch";
+      url = "https://github.com/darbyjohnston/DJV/commit/ce79f2d2cb35d03322648323858834bff942c792.patch";
+      hash = "sha256-oPbXOnN5Y5QL+bs/bL5eJALu45YHnyTBLQcC8XcJi0c=";
+    })
+    (fetchpatch {
+      name = "gcc-11-sleep_for.patch";
+      url = "https://github.com/darbyjohnston/DJV/commit/6989f43db27f66a7691f6048a2eb3299ef43a92e.patch";
+      hash = "sha256-1kiF3VrZiO+FSoR7NHCbduQ8tMq/Uuu6Z+sQII4xBAw=";
+    })
+  ];
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [
diff --git a/pkgs/applications/graphics/figma-linux/default.nix b/pkgs/applications/graphics/figma-linux/default.nix
new file mode 100644
index 0000000000000..1afc65ea0fc10
--- /dev/null
+++ b/pkgs/applications/graphics/figma-linux/default.nix
@@ -0,0 +1,77 @@
+{ pkgs
+, lib
+, stdenv
+, fetchurl
+, autoPatchelfHook
+, dpkg
+, ...
+}:
+with lib;
+stdenv.mkDerivation rec {
+  pname = "figma-linux";
+  version = "0.10.0";
+
+  src = fetchurl {
+    url = "https://github.com/Figma-Linux/figma-linux/releases/download/v${version}/figma-linux_${version}_linux_amd64.deb";
+    sha256 = "sha256-+xiXEwSSxpt1/Eu9g57/L+Il/Av+a/mgGBQl/4LKR74=";
+  };
+
+  nativeBuildInputs = [ autoPatchelfHook dpkg ];
+
+  buildInputs = with pkgs;[
+    alsa-lib
+    at-spi2-atk
+    cairo
+    cups.lib
+    dbus.lib
+    expat
+    gdk-pixbuf
+    glib
+    gtk3
+    libdrm
+    libxkbcommon
+    mesa
+    nspr
+    nss
+    pango
+  ] ++ (with pkgs.xorg; [
+    libX11
+    libXcomposite
+    libXdamage
+    libXext
+    libXfixes
+    libXrandr
+    libxcb
+    libxshmfence
+  ]);
+
+  runtimeDependencies = with pkgs; [ eudev ];
+
+  unpackCmd = "dpkg -x $src .";
+
+  sourceRoot = ".";
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/lib && cp -r opt/figma-linux/* $_
+    mkdir -p $out/bin && ln -s $out/lib/figma-linux $_/figma-linux
+
+    cp -r usr/* $out
+
+    runHook postInstall
+  '';
+
+  postFixup = ''
+    substituteInPlace $out/share/applications/figma-linux.desktop \
+          --replace "Exec=/opt/figma-linux/figma-linux" "Exec=$out/bin/${pname}"
+  '';
+
+  meta = {
+    description = "unofficial Electron-based Figma desktop app for Linux";
+    homepage = "https://github.com/Figma-Linux/figma-linux";
+    platforms = [ "x86_64-linux" ];
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ ercao ];
+  };
+}
diff --git a/pkgs/applications/graphics/foxotron/default.nix b/pkgs/applications/graphics/foxotron/default.nix
index a51edc39556e9..a16f408fb135d 100644
--- a/pkgs/applications/graphics/foxotron/default.nix
+++ b/pkgs/applications/graphics/foxotron/default.nix
@@ -25,14 +25,14 @@
 
 stdenv.mkDerivation rec {
   pname = "foxotron";
-  version = "2022-08-06";
+  version = "2022-11-02";
 
   src = fetchFromGitHub {
     owner = "Gargaj";
     repo = "Foxotron";
     rev = version;
     fetchSubmodules = true;
-    sha256 = "sha256-IGLoiUeHcTlQ+WJTot3o5/Q+jRJcY52I3xHDAT0zuIU=";
+    sha256 = "sha256-WjsVvFhwVCzclHxA+Gu2YtR2yK0Opqhncwlg9FEhOLk=";
   };
 
   nativeBuildInputs = [ cmake pkg-config makeWrapper ];
diff --git a/pkgs/applications/graphics/hdr-plus/default.nix b/pkgs/applications/graphics/hdr-plus/default.nix
deleted file mode 100644
index 55411e92f7f95..0000000000000
--- a/pkgs/applications/graphics/hdr-plus/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ lib, stdenv, fetchFromGitHub
-, cmake, halide
-, libpng, libjpeg, libtiff, libraw
-}:
-
-stdenv.mkDerivation rec {
-  pname = "hdr-plus";
-  version = "unstable-2021-12-10";
-
-  src = fetchFromGitHub {
-    owner = "timothybrooks";
-    repo = "hdr-plus";
-    rev = "0ab70564493bdbcd5aca899b5885505d0c824435";
-    sha256 = "sha256-QV8bGxkwFpbNzJG4kmrWwFQxUo2XzLPnoI1e32UmM6g=";
-  };
-
-  nativeBuildInputs = [ cmake ];
-
-  buildInputs = [ halide libpng libjpeg libtiff libraw ];
-
-  installPhase = ''
-    for bin in hdrplus stack_frames; do
-      install -Dm755 $bin $out/bin/$bin
-    done
-  '';
-
-  meta = with lib; {
-    description = "Burst photography pipeline based on Google's HDR+";
-    homepage = "https://www.timothybrooks.com/tech/hdr-plus/";
-    license = licenses.mit;
-    maintainers = with maintainers; [ OPNA2608 ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/applications/graphics/hydrus/default.nix b/pkgs/applications/graphics/hydrus/default.nix
index 58fc646cce8d1..2bce94d52d814 100644
--- a/pkgs/applications/graphics/hydrus/default.nix
+++ b/pkgs/applications/graphics/hydrus/default.nix
@@ -1,7 +1,7 @@
 { lib
 , fetchFromGitHub
 , wrapQtAppsHook
-, miniupnpc_2
+, miniupnpc
 , ffmpeg
 , enableSwftools ? false
 , swftools
@@ -108,7 +108,7 @@ python3Packages.buildPythonPackage rec {
   dontWrapQtApps = true;
   preFixup = ''
     makeWrapperArgs+=("''${qtWrapperArgs[@]}")
-    makeWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ ffmpeg miniupnpc_2 ]})
+    makeWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ ffmpeg miniupnpc ]})
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index 83fd78c631340..8a40bac446e88 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -5,6 +5,7 @@
 , cairo
 , cmake
 , fetchurl
+, fetchpatch
 , gettext
 , ghostscript
 , glib
@@ -78,6 +79,12 @@ stdenv.mkDerivation rec {
       # e.g., those from the "Effects" menu.
       python3 = "${python3Env}/bin/python";
     })
+
+    # Fix build with Poppler 22.09
+    (fetchpatch {
+      url = "https://github.com/archlinux/svntogit-packages/raw/b2f65dfb60ae0c8cd6cd9affd3d71064082a6201/trunk/inkscape-1.2.1-poppler-22.09.0.patch";
+      sha256 = "pArvsS/qoCTMAisF8yj3agZKrb90zRFZkck1TX0KeGc=";
+    })
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/graphics/json-plot/default.nix b/pkgs/applications/graphics/json-plot/default.nix
new file mode 100644
index 0000000000000..9b43518a87d24
--- /dev/null
+++ b/pkgs/applications/graphics/json-plot/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, fetchFromGitHub
+, buildGoPackage
+}:
+# upstream is pretty stale, but it still works, so until they merge module
+# support we have to use gopath: see sgreben/jp#29
+buildGoPackage rec {
+  pname = "json-plot";
+  version = "1.1.12";
+
+  src = fetchFromGitHub {
+    owner = "sgreben";
+    repo = "jp";
+    rev = version;
+    hash = "sha256-WWARAh/CF3lGli3VLRzAGaCA8xQyryPi8WcuwvdInjk=";
+  };
+
+  goPackagePath = "github.com/sgreben/jp";
+
+  meta = with lib; {
+    description = "Dead simple terminal plots from JSON (or CSV) data. Bar charts, line charts, scatter plots, histograms and heatmaps are supported.";
+    homepage = "https://github.com/sgreben/jp";
+    license = licenses.mit;
+    maintainers = with maintainers; [ urandom ];
+    mainProgram = "jp";
+  };
+}
diff --git a/pkgs/applications/graphics/krita/default.nix b/pkgs/applications/graphics/krita/default.nix
index 90d51827f14fc..c0d930c9e28fd 100644
--- a/pkgs/applications/graphics/krita/default.nix
+++ b/pkgs/applications/graphics/krita/default.nix
@@ -1,7 +1,7 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix (args // {
-  version = "5.1.1";
+  version = "5.1.3";
   kde-channel = "stable";
-  sha256 = "sha256-Tdv4l6+nsYcTFpfRKiO6OYlGOAaLLq4Ss7Q0/kKtjiQ=";
+  sha256 = "sha256-69+P0wMIciGxuc6tmWG1OospmvvwcZl6zHNQygEngo0=";
 })
diff --git a/pkgs/applications/graphics/lazpaint/default.nix b/pkgs/applications/graphics/lazpaint/default.nix
index 82eab9757c73f..37ad3387f834a 100644
--- a/pkgs/applications/graphics/lazpaint/default.nix
+++ b/pkgs/applications/graphics/lazpaint/default.nix
@@ -64,5 +64,6 @@ in stdenv.mkDerivation rec {
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ ];
+    broken = true; # 2022-11-16
   };
 }
diff --git a/pkgs/applications/graphics/qimgv/default.nix b/pkgs/applications/graphics/qimgv/default.nix
index 8e4c4805750bd..560cf666d2621 100644
--- a/pkgs/applications/graphics/qimgv/default.nix
+++ b/pkgs/applications/graphics/qimgv/default.nix
@@ -15,13 +15,13 @@
 
 mkDerivation rec {
   pname = "qimgv";
-  version = "1.0.2";
+  version = "1.0.3-alpha";
 
   src = fetchFromGitHub {
     owner = "easymodo";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-YlV/ysm7bdPverpKpanrL+jPVvMtP1paoAm0PREMaww=";
+    sha256 = "sha256-fHMSo8zlOl9Lt8nYwClUzON4TPB9Ogwven+TidsesxY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/qimgv/qt5-12-compat.diff b/pkgs/applications/graphics/qimgv/qt5-12-compat.diff
deleted file mode 100644
index da64759e22d60..0000000000000
--- a/pkgs/applications/graphics/qimgv/qt5-12-compat.diff
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/qimgv/components/directorymanager/watchers/linux/linuxworker.cpp b/qimgv/components/directorymanager/watchers/linux/linuxworker.cpp
-index 96ec9d3..6d95d08 100644
---- a/qimgv/components/directorymanager/watchers/linux/linuxworker.cpp
-+++ b/qimgv/components/directorymanager/watchers/linux/linuxworker.cpp
-@@ -21,7 +21,7 @@ void LinuxWorker::setDescriptor(int desc) {
- 
- void LinuxWorker::run() {
-     emit started();
--    isRunning.storeRelaxed(true);
-+    isRunning.store(true);
- 
-     if (fd == -1) {
-         qDebug() << TAG << "File descriptor isn't set! Stopping";
diff --git a/pkgs/applications/graphics/renderdoc/default.nix b/pkgs/applications/graphics/renderdoc/default.nix
index aa452f8de2c75..3068ecd4c5cf2 100644
--- a/pkgs/applications/graphics/renderdoc/default.nix
+++ b/pkgs/applications/graphics/renderdoc/default.nix
@@ -32,13 +32,13 @@ let
 in
 mkDerivation rec {
   pname = "renderdoc";
-  version = "1.21";
+  version = "1.22";
 
   src = fetchFromGitHub {
     owner = "baldurk";
     repo = "renderdoc";
     rev = "v${version}";
-    sha256 = "sha256-T6OAr6Pl4VmXVSlNHF6kh8jIKs3FSTZsZ+Y4IH3SPTE=";
+    sha256 = "sha256-eqMIOb9XAgXtoCJABvZkkS/rhHK7jNqabIFwdCgcSJU=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/graphics/rnote/default.nix b/pkgs/applications/graphics/rnote/default.nix
index b5964adbbca96..eb0eaaeda95d1 100644
--- a/pkgs/applications/graphics/rnote/default.nix
+++ b/pkgs/applications/graphics/rnote/default.nix
@@ -3,6 +3,8 @@
 , fetchFromGitHub
 , alsa-lib
 , appstream-glib
+, clang
+, cmake
 , desktop-file-utils
 , gio-sharp
 , glib
@@ -22,24 +24,26 @@
 
 stdenv.mkDerivation rec {
   pname = "rnote";
-  version = "0.5.4";
+  version = "0.5.7";
 
   src = fetchFromGitHub {
     owner = "flxzt";
     repo = "rnote";
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-CZLZblC10k5ynzDDXi/bOe6Rc6M94eywXjyu0ABOVq4=";
+    hash = "sha256-w4y+t8idcaNwvC2Wp9SRjcd4m23Zt+yHG2fjOA2rBU8=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-Udat35KqrMWR0Ckx34BWoF0HiJHZ5CP2CGFD6FNCWRA=";
+    hash = "sha256-Hybbbokru4vz5ly3oZuNGdBa+lYbhdYjESUpRxIUqJc=";
   };
 
   nativeBuildInputs = [
     appstream-glib # For appstream-util
+    clang
+    cmake
     desktop-file-utils # For update-desktop-database
     meson
     ninja
@@ -52,6 +56,8 @@ stdenv.mkDerivation rec {
     wrapGAppsHook4
   ];
 
+  dontUseCmakeConfigure = true;
+
   buildInputs = [
     alsa-lib
     gio-sharp
@@ -63,6 +69,8 @@ stdenv.mkDerivation rec {
     poppler
   ];
 
+  LIBCLANG_PATH = "${clang.cc.lib}/lib";
+
   postPatch = ''
     pushd build-aux
     chmod +x meson_post_install.py
diff --git a/pkgs/applications/graphics/sane/backends/default.nix b/pkgs/applications/graphics/sane/backends/default.nix
index 2364b45083583..b867269db057a 100644
--- a/pkgs/applications/graphics/sane/backends/default.nix
+++ b/pkgs/applications/graphics/sane/backends/default.nix
@@ -37,6 +37,9 @@ stdenv.mkDerivation {
       url = "https://raw.githubusercontent.com/void-linux/void-packages/4b97cd2fb4ec38712544438c2491b6d7d5ab334a/srcpkgs/sane/patches/sane-desc-cross.patch";
       sha256 = "sha256-y6BOXnOJBSTqvRp6LwAucqaqv+OLLyhCS/tXfLpnAPI=";
     })
+    # generate hwdb entries for scanners handled by other backends like epkowa
+    # https://gitlab.com/sane-project/backends/-/issues/619
+    ./sane-desc-generate-entries-unsupported-scanners.patch
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/graphics/sane/backends/sane-desc-generate-entries-unsupported-scanners.patch b/pkgs/applications/graphics/sane/backends/sane-desc-generate-entries-unsupported-scanners.patch
new file mode 100644
index 0000000000000..0fbe9f31c3f4e
--- /dev/null
+++ b/pkgs/applications/graphics/sane/backends/sane-desc-generate-entries-unsupported-scanners.patch
@@ -0,0 +1,19 @@
+sane-desc does not include unsupported .desc entries like EPSON V300 PHOTO,
+which can be supported by the (unfree) epkowa driver.
+But we need those entries so that unprivileged users which have installed epkowa
+can use the scanner.
+diff --git a/tools/sane-desc.c b/tools/sane-desc.c
+index 7a8645dea..9c9719fef 100644
+--- a/tools/sane-desc.c
++++ b/tools/sane-desc.c
+@@ -3243,10 +3243,6 @@ create_usbids_table (void)
+ 
+ 	      for (model = mfg->model; model; model = model->next)
+ 		{
+-		  if ((model->status == status_unsupported)
+-		      || (model->status == status_unknown))
+-		    continue;
+-
+ 		  if (model->usb_vendor_id && model->usb_product_id)
+ 		    {
+ 		      first_usbid = add_usbid (first_usbid, mfg->name,
diff --git a/pkgs/applications/graphics/synfigstudio/default.nix b/pkgs/applications/graphics/synfigstudio/default.nix
index c87a71fdf6c7c..52c3fa3bae4ea 100644
--- a/pkgs/applications/graphics/synfigstudio/default.nix
+++ b/pkgs/applications/graphics/synfigstudio/default.nix
@@ -103,6 +103,7 @@ stdenv.mkDerivation {
     pkg-config
     autoreconfHook
     gettext
+    intltool
     wrapGAppsHook
   ];
   buildInputs = [
diff --git a/pkgs/applications/graphics/vengi-tools/default.nix b/pkgs/applications/graphics/vengi-tools/default.nix
index d54d4e06f0d46..a7b289e33b397 100644
--- a/pkgs/applications/graphics/vengi-tools/default.nix
+++ b/pkgs/applications/graphics/vengi-tools/default.nix
@@ -29,13 +29,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vengi-tools";
-  version = "0.0.21";
+  version = "0.0.22";
 
   src = fetchFromGitHub {
     owner = "mgerhardy";
     repo = "vengi";
     rev = "v${version}";
-    sha256 = "sha256-T9YBU/YhhOASdKnzLcwQGBLc4HcQspiOV9VRgotfq3c=";
+    sha256 = "sha256-OlOnr1Spy8kdie9CyLVOQkY1+ib6Uwcd/xP5TSaZkYg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/yacreader/default.nix b/pkgs/applications/graphics/yacreader/default.nix
index 44733d8bead75..a92adee106240 100644
--- a/pkgs/applications/graphics/yacreader/default.nix
+++ b/pkgs/applications/graphics/yacreader/default.nix
@@ -5,13 +5,13 @@
 
 mkDerivation rec {
   pname = "yacreader";
-  version = "9.9.2";
+  version = "9.10.0";
 
   src = fetchFromGitHub {
     owner = "YACReader";
     repo = pname;
     rev = version;
-    sha256 = "sha256-rurJkCIuHTWxIGb+TTHp8sQS26/5W/sdtWFxyeqVx54=";
+    sha256 = "sha256-77+lsEvmwQ34maW+HA/IpPsEezlzYEYipc74yR6inwU=";
   };
 
   nativeBuildInputs = [ qmake pkg-config ];
diff --git a/pkgs/applications/kde/akonadi-import-wizard.nix b/pkgs/applications/kde/akonadi-import-wizard.nix
index 948f9e5d2a23e..370f77c383181 100644
--- a/pkgs/applications/kde/akonadi-import-wizard.nix
+++ b/pkgs/applications/kde/akonadi-import-wizard.nix
@@ -9,7 +9,7 @@
 mkDerivation {
   pname = "akonadi-import-wizard";
   meta = {
-    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/akonadi-notes.nix b/pkgs/applications/kde/akonadi-notes.nix
index 6db7e00be9b0c..1ab0ca74819f3 100644
--- a/pkgs/applications/kde/akonadi-notes.nix
+++ b/pkgs/applications/kde/akonadi-notes.nix
@@ -7,7 +7,7 @@
 mkDerivation {
   pname = "akonadi-notes";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/akonadi-search.nix b/pkgs/applications/kde/akonadi-search.nix
index 495b63abd4435..84657177f891f 100644
--- a/pkgs/applications/kde/akonadi-search.nix
+++ b/pkgs/applications/kde/akonadi-search.nix
@@ -8,7 +8,7 @@
 mkDerivation {
   pname = "akonadi-search";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/akonadi/default.nix b/pkgs/applications/kde/akonadi/default.nix
index 94c948c1c4ea7..8fa12be3a8b60 100644
--- a/pkgs/applications/kde/akonadi/default.nix
+++ b/pkgs/applications/kde/akonadi/default.nix
@@ -2,10 +2,16 @@
   mkDerivation, lib, kdepimTeam,
   extra-cmake-modules, shared-mime-info, qtbase, accounts-qt,
   boost, kaccounts-integration, kcompletion, kconfigwidgets, kcrash, kdbusaddons,
-  kdesignerplugin, ki18n, kiconthemes, kio, kitemmodels, kwindowsystem, mariadb, qttools,
-  signond, xz,
+  kdesignerplugin, ki18n, kiconthemes, kio, kitemmodels, kwindowsystem, mariadb,
+  postgresql, qttools, signond, xz,
+
+  mysqlSupport ? true,
+  postgresSupport ? false,
+  defaultDriver ? if mysqlSupport then "MYSQL" else "POSTGRES",
 }:
 
+assert mysqlSupport || postgresSupport;
+
 mkDerivation {
   pname = "akonadi";
   meta = {
@@ -26,17 +32,19 @@ mkDerivation {
   propagatedBuildInputs = [ boost kitemmodels ];
   outputs = [ "out" "dev" ];
   CXXFLAGS = [
-    ''-DNIXPKGS_MYSQL_MYSQLD=\"${lib.getBin mariadb}/bin/mysqld\"''
-    ''-DNIXPKGS_MYSQL_MYSQLADMIN=\"${lib.getBin mariadb}/bin/mysqladmin\"''
-    ''-DNIXPKGS_MYSQL_MYSQL_INSTALL_DB=\"${lib.getBin mariadb}/bin/mysql_install_db\"''
-    ''-DNIXPKGS_MYSQL_MYSQLCHECK=\"${lib.getBin mariadb}/bin/mysqlcheck\"''
-    ''-DNIXPKGS_POSTGRES_PG_CTL=\"\"''
-    ''-DNIXPKGS_POSTGRES_PG_UPGRADE=\"\"''
-    ''-DNIXPKGS_POSTGRES_INITDB=\"\"''
+    ''-DNIXPKGS_MYSQL_MYSQLD=\"${lib.optionalString mysqlSupport "${lib.getBin mariadb}/bin/mysqld"}\"''
+    ''-DNIXPKGS_MYSQL_MYSQLADMIN=\"${lib.optionalString mysqlSupport "${lib.getBin mariadb}/bin/mysqladmin"}\"''
+    ''-DNIXPKGS_MYSQL_MYSQL_INSTALL_DB=\"${lib.optionalString mysqlSupport "${lib.getBin mariadb}/bin/mysql_install_db"}\"''
+    ''-DNIXPKGS_MYSQL_MYSQLCHECK=\"${lib.optionalString mysqlSupport "${lib.getBin mariadb}/bin/mysqlcheck"}\"''
+    ''-DNIXPKGS_POSTGRES_PG_CTL=\"${lib.optionalString postgresSupport "${lib.getBin postgresql}/bin/pg_ctl"}\"''
+    ''-DNIXPKGS_POSTGRES_PG_UPGRADE=\"${lib.optionalString postgresSupport "${lib.getBin postgresql}/bin/pg_upgrade"}\"''
+    ''-DNIXPKGS_POSTGRES_INITDB=\"${lib.optionalString postgresSupport "${lib.getBin postgresql}/bin/initdb"}\"''
     ''-DNIX_OUT=\"${placeholder "out"}\"''
     ''-I${lib.getDev kio}/include/KF5''  # Fixes: kio_version.h: No such file or directory
   ];
 
+  cmakeFlags = lib.optional (defaultDriver != "MYSQL") "-DDATABASE_BACKEND=${defaultDriver}";
+
   # compatibility symlinks for kmymoney, can probably be removed in next kde bump
   postInstall = ''
     ln -s $dev/include/KF5/AkonadiCore/Akonadi/Collection $dev/include/KF5/AkonadiCore/Collection
diff --git a/pkgs/applications/kde/akonadiconsole.nix b/pkgs/applications/kde/akonadiconsole.nix
index 76e5ca480b47f..bb0b8424b4e47 100644
--- a/pkgs/applications/kde/akonadiconsole.nix
+++ b/pkgs/applications/kde/akonadiconsole.nix
@@ -9,7 +9,7 @@
 mkDerivation {
   pname = "akonadiconsole";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/akregator.nix b/pkgs/applications/kde/akregator.nix
index 9cb23ad35ac5f..714f636341da8 100644
--- a/pkgs/applications/kde/akregator.nix
+++ b/pkgs/applications/kde/akregator.nix
@@ -14,7 +14,7 @@ mkDerivation {
   meta = {
     homepage = "https://apps.kde.org/akregator/";
     description = "KDE feed reader";
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/calendarsupport.nix b/pkgs/applications/kde/calendarsupport.nix
index 24f93ee0af753..c6a4e36c82d4d 100644
--- a/pkgs/applications/kde/calendarsupport.nix
+++ b/pkgs/applications/kde/calendarsupport.nix
@@ -8,7 +8,7 @@
 mkDerivation {
   pname = "calendarsupport";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/dolphin.nix b/pkgs/applications/kde/dolphin.nix
index b70f4977f587b..9e4ab1d41027c 100644
--- a/pkgs/applications/kde/dolphin.nix
+++ b/pkgs/applications/kde/dolphin.nix
@@ -13,7 +13,7 @@ mkDerivation {
   meta = {
     homepage = "https://apps.kde.org/dolphin/";
     description = "KDE file manager";
-    license = with lib.licenses; [ gpl2 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus fdl12Plus ];
     maintainers = [ lib.maintainers.ttuegel ];
     broken = lib.versionOlder qtbase.version "5.14";
   };
diff --git a/pkgs/applications/kde/dragon.nix b/pkgs/applications/kde/dragon.nix
index 4fb5583a8ff99..399205da6caaf 100644
--- a/pkgs/applications/kde/dragon.nix
+++ b/pkgs/applications/kde/dragon.nix
@@ -11,7 +11,7 @@ mkDerivation {
   pname = "dragon";
   meta = {
     homepage = "https://apps.kde.org/dragonplayer/";
-    license = with lib.licenses; [ gpl2 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus fdl12Plus ];
     description = "A simple media player for KDE";
     maintainers = [ lib.maintainers.jonathanreeve ];
   };
diff --git a/pkgs/applications/kde/eventviews.nix b/pkgs/applications/kde/eventviews.nix
index 1a6cc9442b96b..001c1e6cbcb92 100644
--- a/pkgs/applications/kde/eventviews.nix
+++ b/pkgs/applications/kde/eventviews.nix
@@ -8,7 +8,7 @@
 mkDerivation {
   pname = "eventviews";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/fetch.sh b/pkgs/applications/kde/fetch.sh
index b0d3b44600d3c..97cbb33a03776 100644
--- a/pkgs/applications/kde/fetch.sh
+++ b/pkgs/applications/kde/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/release-service/22.08.2/src -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/release-service/22.08.3/src -A '*.tar.xz' )
diff --git a/pkgs/applications/kde/grantleetheme/default.nix b/pkgs/applications/kde/grantleetheme/default.nix
index 517cb072f74d6..6d29d6e6d8c10 100644
--- a/pkgs/applications/kde/grantleetheme/default.nix
+++ b/pkgs/applications/kde/grantleetheme/default.nix
@@ -7,7 +7,7 @@
 mkDerivation {
   pname = "grantleetheme";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
     broken = lib.versionOlder qtbase.version "5.13.0";
   };
diff --git a/pkgs/applications/kde/gwenview.nix b/pkgs/applications/kde/gwenview.nix
index 36d46f43966d3..545b1a2b69e78 100644
--- a/pkgs/applications/kde/gwenview.nix
+++ b/pkgs/applications/kde/gwenview.nix
@@ -11,7 +11,7 @@ mkDerivation {
   meta = {
     homepage = "https://apps.kde.org/gwenview/";
     description = "KDE image viewer";
-    license = with lib.licenses; [ gpl2 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus fdl12Plus ];
     maintainers = [ lib.maintainers.ttuegel ];
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/incidenceeditor.nix b/pkgs/applications/kde/incidenceeditor.nix
index 7f2c284ad74df..9c248f199a5d2 100644
--- a/pkgs/applications/kde/incidenceeditor.nix
+++ b/pkgs/applications/kde/incidenceeditor.nix
@@ -8,7 +8,7 @@
 mkDerivation {
   pname = "incidenceeditor";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/kaddressbook.nix b/pkgs/applications/kde/kaddressbook.nix
index 1a800525255cd..441a150ee170e 100644
--- a/pkgs/applications/kde/kaddressbook.nix
+++ b/pkgs/applications/kde/kaddressbook.nix
@@ -12,7 +12,7 @@ mkDerivation {
   meta = {
     homepage = "https://apps.kde.org/kaddressbook/";
     description = "KDE contact manager";
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/kcalutils.nix b/pkgs/applications/kde/kcalutils.nix
index 21e84dff05ff9..7da9739aad1d6 100644
--- a/pkgs/applications/kde/kcalutils.nix
+++ b/pkgs/applications/kde/kcalutils.nix
@@ -8,7 +8,7 @@
 mkDerivation {
   pname = "kcalutils";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/kdepim-runtime/default.nix b/pkgs/applications/kde/kdepim-runtime/default.nix
index 0cc78c69aec7f..b5158bfd15491 100644
--- a/pkgs/applications/kde/kdepim-runtime/default.nix
+++ b/pkgs/applications/kde/kdepim-runtime/default.nix
@@ -12,7 +12,7 @@
 mkDerivation {
   pname = "kdepim-runtime";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools shared-mime-info ];
diff --git a/pkgs/applications/kde/kdevelop/kdevelop.nix b/pkgs/applications/kde/kdevelop/kdevelop.nix
index 4e7f576398e5c..1d34e01813b06 100644
--- a/pkgs/applications/kde/kdevelop/kdevelop.nix
+++ b/pkgs/applications/kde/kdevelop/kdevelop.nix
@@ -1,5 +1,5 @@
 { mkDerivation, lib, cmake, gettext, pkg-config, extra-cmake-modules
-, qtquickcontrols, qtwebkit, qttools, kde-cli-tools, qtbase
+, qtquickcontrols, qttools, kde-cli-tools, qtbase
 , kconfig, kdeclarative, kdoctools, kiconthemes, ki18n, kitemmodels, kitemviews
 , kjobwidgets, kcmutils, kio, knewstuff, knotifyconfig, kparts, ktexteditor
 , threadweaver, kxmlgui, kwindowsystem, grantlee, kcrash, karchive, kguiaddons
@@ -24,7 +24,7 @@ mkDerivation rec {
   ];
 
   propagatedBuildInputs = [
-    qtquickcontrols qtwebkit boost libkomparediff2
+    qtquickcontrols boost libkomparediff2
     kconfig kdeclarative kdoctools kiconthemes ki18n kitemmodels kitemviews
     kjobwidgets kcmutils kio knewstuff knotifyconfig kparts ktexteditor
     threadweaver kxmlgui kwindowsystem grantlee plasma-framework krunner
diff --git a/pkgs/applications/kde/kdialog.nix b/pkgs/applications/kde/kdialog.nix
index 015c86bc7d124..ea7393e72261b 100644
--- a/pkgs/applications/kde/kdialog.nix
+++ b/pkgs/applications/kde/kdialog.nix
@@ -10,7 +10,7 @@ mkDerivation {
   meta = {
     homepage = "https://apps.kde.org/kdialog/";
     description = "Display dialog boxes from shell scripts";
-    license = with lib.licenses; [ gpl2 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus fdl12Plus ];
     maintainers = with lib.maintainers; [ peterhoeg ];
   };
 
diff --git a/pkgs/applications/kde/keditbookmarks.nix b/pkgs/applications/kde/keditbookmarks.nix
index 9deb1a3c01588..8bc0ec8736130 100644
--- a/pkgs/applications/kde/keditbookmarks.nix
+++ b/pkgs/applications/kde/keditbookmarks.nix
@@ -10,7 +10,7 @@ mkDerivation {
   buildInputs = [ kio kparts kwindowsystem ];
   meta = with lib; {
     homepage = "http://www.kde.org";
-    license = with licenses; [ gpl2 lgpl21 fdl12 bsd3 ];
+    license = with licenses; [ gpl2Plus lgpl21Plus fdl12Plus bsd3 ];
     maintainers = with maintainers; [ peterhoeg ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/kde/kidentitymanagement.nix b/pkgs/applications/kde/kidentitymanagement.nix
index 789206a16390c..c2f2abcd32d01 100644
--- a/pkgs/applications/kde/kidentitymanagement.nix
+++ b/pkgs/applications/kde/kidentitymanagement.nix
@@ -8,7 +8,7 @@
 mkDerivation {
   pname = "kidentitymanagement";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/kimap.nix b/pkgs/applications/kde/kimap.nix
index e93804bd885da..ece32e3ee0571 100644
--- a/pkgs/applications/kde/kimap.nix
+++ b/pkgs/applications/kde/kimap.nix
@@ -7,7 +7,7 @@
 mkDerivation {
   pname = "kimap";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/kldap.nix b/pkgs/applications/kde/kldap.nix
index 69849f757514d..6016cfd090c83 100644
--- a/pkgs/applications/kde/kldap.nix
+++ b/pkgs/applications/kde/kldap.nix
@@ -7,7 +7,7 @@
 mkDerivation {
   pname = "kldap";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/kleopatra.nix b/pkgs/applications/kde/kleopatra.nix
index b3444e97532f8..a02e7b08aa651 100644
--- a/pkgs/applications/kde/kleopatra.nix
+++ b/pkgs/applications/kde/kleopatra.nix
@@ -18,7 +18,7 @@ mkDerivation {
   meta = {
     homepage = "https://apps.kde.org/kleopatra/";
     description = "Certificate manager and unified crypto GUI";
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
 }
diff --git a/pkgs/applications/kde/kmail-account-wizard.nix b/pkgs/applications/kde/kmail-account-wizard.nix
index c0ab4ff947e9c..216586076aeca 100644
--- a/pkgs/applications/kde/kmail-account-wizard.nix
+++ b/pkgs/applications/kde/kmail-account-wizard.nix
@@ -9,7 +9,7 @@
 mkDerivation {
   pname = "kmail-account-wizard";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools shared-mime-info ];
diff --git a/pkgs/applications/kde/kmail.nix b/pkgs/applications/kde/kmail.nix
index 341d54a6388a5..6a71529eb0f16 100644
--- a/pkgs/applications/kde/kmail.nix
+++ b/pkgs/applications/kde/kmail.nix
@@ -55,7 +55,7 @@ mkDerivation {
   meta = {
     homepage = "https://apps.kde.org/kmail2/";
     description = "Mail client";
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/kmailtransport.nix b/pkgs/applications/kde/kmailtransport.nix
index 976bd634e66a1..577beb8d5ec8e 100644
--- a/pkgs/applications/kde/kmailtransport.nix
+++ b/pkgs/applications/kde/kmailtransport.nix
@@ -9,7 +9,7 @@
 mkDerivation {
   pname = "kmailtransport";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/kmbox.nix b/pkgs/applications/kde/kmbox.nix
index 6f3db970b942b..d2b4dbde8ac40 100644
--- a/pkgs/applications/kde/kmbox.nix
+++ b/pkgs/applications/kde/kmbox.nix
@@ -7,7 +7,7 @@
 mkDerivation {
   pname = "kmbox";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/kmix.nix b/pkgs/applications/kde/kmix.nix
index 2f85454eb67ea..352fd129ce945 100644
--- a/pkgs/applications/kde/kmix.nix
+++ b/pkgs/applications/kde/kmix.nix
@@ -10,7 +10,7 @@ mkDerivation {
   meta = {
     homepage = "https://apps.kde.org/kmix/";
     description = "Sound mixer";
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = [ lib.maintainers.rongcuid ];
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/kmousetool.nix b/pkgs/applications/kde/kmousetool.nix
index fb4323455b795..4bac765dc4b9a 100644
--- a/pkgs/applications/kde/kmousetool.nix
+++ b/pkgs/applications/kde/kmousetool.nix
@@ -28,7 +28,7 @@ mkDerivation {
   meta = {
     homepage = "https://github.com/KDE/kmousetool";
     description = "Program that clicks the mouse for you";
-    license = with lib.licenses; [ gpl2 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus fdl12Plus ];
     maintainers = [ lib.maintainers.jayesh-bhoot ];
   };
 }
diff --git a/pkgs/applications/kde/kmplot.nix b/pkgs/applications/kde/kmplot.nix
index a6784982580f0..9f1ab4d281190 100644
--- a/pkgs/applications/kde/kmplot.nix
+++ b/pkgs/applications/kde/kmplot.nix
@@ -7,7 +7,7 @@ mkDerivation {
   meta = {
     homepage = "https://apps.kde.org/kmplot/";
     description = "Mathematical function plotter";
-    license = with lib.licenses; [ gpl2Plus fdl12 ];
+    license = with lib.licenses; [ gpl2Plus fdl12Plus ];
     maintainers = [ lib.maintainers.orivej ];
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/konsole.nix b/pkgs/applications/kde/konsole.nix
index 23cbdf28477dc..220cd6a16d573 100644
--- a/pkgs/applications/kde/konsole.nix
+++ b/pkgs/applications/kde/konsole.nix
@@ -12,7 +12,7 @@ mkDerivation {
   meta = {
     homepage = "https://apps.kde.org/konsole/";
     description = "KDE terminal emulator";
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = with lib.maintainers; [ ttuegel turion ];
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/kontact.nix b/pkgs/applications/kde/kontact.nix
index dbdc5ba474b1c..b8ccd9415efb7 100644
--- a/pkgs/applications/kde/kontact.nix
+++ b/pkgs/applications/kde/kontact.nix
@@ -12,7 +12,7 @@ mkDerivation {
   meta = {
     homepage = "https://apps.kde.org/kontact/";
     description = "Personal information manager";
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/kontactinterface.nix b/pkgs/applications/kde/kontactinterface.nix
index 858addcd3ffa2..b680a088a6ea9 100644
--- a/pkgs/applications/kde/kontactinterface.nix
+++ b/pkgs/applications/kde/kontactinterface.nix
@@ -7,7 +7,7 @@
 mkDerivation {
   pname = "kontactinterface";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/korganizer.nix b/pkgs/applications/kde/korganizer.nix
index 3eafd80cacf67..36edffb4eabdb 100644
--- a/pkgs/applications/kde/korganizer.nix
+++ b/pkgs/applications/kde/korganizer.nix
@@ -15,7 +15,7 @@ mkDerivation {
   meta = {
     homepage = "https://apps.kde.org/korganizer/";
     description = "Personal organizer";
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/kpat.nix b/pkgs/applications/kde/kpat.nix
index 96bd6dd542ece..3d480db6bc13f 100644
--- a/pkgs/applications/kde/kpat.nix
+++ b/pkgs/applications/kde/kpat.nix
@@ -21,7 +21,7 @@ mkDerivation {
     freecell-solver
   ];
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = with lib.maintainers; [ rnhmjoj ];
   };
 }
diff --git a/pkgs/applications/kde/kpimtextedit.nix b/pkgs/applications/kde/kpimtextedit.nix
index 2948075f6963f..e42c25e7463d0 100644
--- a/pkgs/applications/kde/kpimtextedit.nix
+++ b/pkgs/applications/kde/kpimtextedit.nix
@@ -9,7 +9,7 @@
 mkDerivation {
   pname = "kpimtextedit";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
     broken = lib.versionOlder qtbase.version "5.13.0";
   };
diff --git a/pkgs/applications/kde/kqtquickcharts.nix b/pkgs/applications/kde/kqtquickcharts.nix
index 669a38e37ca63..0560fc9da01df 100644
--- a/pkgs/applications/kde/kqtquickcharts.nix
+++ b/pkgs/applications/kde/kqtquickcharts.nix
@@ -7,7 +7,7 @@
 mkDerivation {
   pname = "kqtquickcharts";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = [ lib.maintainers.ttuegel ];
   };
   nativeBuildInputs = [ extra-cmake-modules ];
diff --git a/pkgs/applications/kde/krdc.nix b/pkgs/applications/kde/krdc.nix
index 8049c6d11b495..9d9762523d974 100644
--- a/pkgs/applications/kde/krdc.nix
+++ b/pkgs/applications/kde/krdc.nix
@@ -19,7 +19,7 @@ mkDerivation {
   meta = with lib; {
     homepage = "http://www.kde.org";
     description = "Remote desktop client";
-    license = with licenses; [ gpl2 lgpl21 fdl12 bsd3 ];
+    license = with licenses; [ gpl2Plus lgpl21Plus fdl12Plus bsd3 ];
     maintainers = with maintainers; [ peterhoeg ];
     platforms = platforms.linux;
     broken = lib.versionOlder qtbase.version "5.14";
diff --git a/pkgs/applications/kde/krfb.nix b/pkgs/applications/kde/krfb.nix
index 807b3508b95ab..8262febad7afb 100644
--- a/pkgs/applications/kde/krfb.nix
+++ b/pkgs/applications/kde/krfb.nix
@@ -11,7 +11,7 @@ mkDerivation {
   meta = {
     homepage = "https://apps.kde.org/krfb/";
     description = "Desktop sharing (VNC)";
-    license = with lib.licenses; [ gpl2 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus fdl12Plus ];
     maintainers = with lib.maintainers; [ jerith666 ];
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/ksmtp/default.nix b/pkgs/applications/kde/ksmtp/default.nix
index 3bf80f4abf528..1e5a43f352132 100644
--- a/pkgs/applications/kde/ksmtp/default.nix
+++ b/pkgs/applications/kde/ksmtp/default.nix
@@ -7,7 +7,7 @@
 mkDerivation {
   pname = "ksmtp";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/ktnef.nix b/pkgs/applications/kde/ktnef.nix
index 4a29acd1e7cfa..fec85644aa715 100644
--- a/pkgs/applications/kde/ktnef.nix
+++ b/pkgs/applications/kde/ktnef.nix
@@ -7,7 +7,7 @@
 mkDerivation {
   pname = "ktnef";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/libgravatar.nix b/pkgs/applications/kde/libgravatar.nix
index 51e3391b8e772..2055d7bd36b39 100644
--- a/pkgs/applications/kde/libgravatar.nix
+++ b/pkgs/applications/kde/libgravatar.nix
@@ -7,7 +7,7 @@
 mkDerivation {
   pname = "libgravatar";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/libkdepim.nix b/pkgs/applications/kde/libkdepim.nix
index cc0c15a9e060f..5fafd2e1effc2 100644
--- a/pkgs/applications/kde/libkdepim.nix
+++ b/pkgs/applications/kde/libkdepim.nix
@@ -9,7 +9,7 @@
 mkDerivation {
   pname = "libkdepim";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/libkgapi.nix b/pkgs/applications/kde/libkgapi.nix
index 979ca7e2f458d..de0be7ea49ad1 100644
--- a/pkgs/applications/kde/libkgapi.nix
+++ b/pkgs/applications/kde/libkgapi.nix
@@ -8,7 +8,7 @@
 mkDerivation {
   pname = "libkgapi";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
     broken = lib.versionOlder qtbase.version "5.14.0";
   };
diff --git a/pkgs/applications/kde/libkleo.nix b/pkgs/applications/kde/libkleo.nix
index dd17345c5f17a..0cd858ea6e0a0 100644
--- a/pkgs/applications/kde/libkleo.nix
+++ b/pkgs/applications/kde/libkleo.nix
@@ -8,7 +8,7 @@
 mkDerivation {
   pname = "libkleo";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/libksieve.nix b/pkgs/applications/kde/libksieve.nix
index 209647a4791fa..adc232f091d68 100644
--- a/pkgs/applications/kde/libksieve.nix
+++ b/pkgs/applications/kde/libksieve.nix
@@ -9,7 +9,7 @@
 mkDerivation {
   pname = "libksieve";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   outputs = [ "out" "dev" ];
diff --git a/pkgs/applications/kde/mailcommon.nix b/pkgs/applications/kde/mailcommon.nix
index c3a8659a735b2..af29ff41681e2 100644
--- a/pkgs/applications/kde/mailcommon.nix
+++ b/pkgs/applications/kde/mailcommon.nix
@@ -9,7 +9,7 @@
 mkDerivation {
   pname = "mailcommon";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/mailimporter.nix b/pkgs/applications/kde/mailimporter.nix
index b1e0461a9593a..745316fbaf9ae 100644
--- a/pkgs/applications/kde/mailimporter.nix
+++ b/pkgs/applications/kde/mailimporter.nix
@@ -8,7 +8,7 @@
 mkDerivation {
   pname = "mailimporter";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/mbox-importer.nix b/pkgs/applications/kde/mbox-importer.nix
index eadb27f05bc99..d51b7e99ce60b 100644
--- a/pkgs/applications/kde/mbox-importer.nix
+++ b/pkgs/applications/kde/mbox-importer.nix
@@ -7,7 +7,7 @@
 mkDerivation {
   pname = "mbox-importer";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/messagelib.nix b/pkgs/applications/kde/messagelib.nix
index 6709a1f072a58..d52989d3ffc0a 100644
--- a/pkgs/applications/kde/messagelib.nix
+++ b/pkgs/applications/kde/messagelib.nix
@@ -11,7 +11,7 @@
 mkDerivation {
   pname = "messagelib";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/okular.nix b/pkgs/applications/kde/okular.nix
index 51994c2868dd1..f2f5630422247 100644
--- a/pkgs/applications/kde/okular.nix
+++ b/pkgs/applications/kde/okular.nix
@@ -30,7 +30,7 @@ mkDerivation {
   meta = with lib; {
     homepage = "http://www.kde.org";
     description = "KDE document viewer";
-    license = with licenses; [ gpl2 lgpl21 fdl12 bsd3 ];
+    license = with licenses; [ gpl2Plus lgpl21Plus fdl12Plus bsd3 ];
     maintainers = with maintainers; [ ttuegel turion ];
     platforms = lib.platforms.linux;
   };
diff --git a/pkgs/applications/kde/pim-data-exporter.nix b/pkgs/applications/kde/pim-data-exporter.nix
index f13e1f667957c..c1a2270641bda 100644
--- a/pkgs/applications/kde/pim-data-exporter.nix
+++ b/pkgs/applications/kde/pim-data-exporter.nix
@@ -12,7 +12,7 @@ mkDerivation {
   meta = {
     homepage = "https://apps.kde.org/pimdataexporter/";
     description = "Saves and restores all data from PIM apps";
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/pim-sieve-editor.nix b/pkgs/applications/kde/pim-sieve-editor.nix
index 9998418ff8a3b..613a159a79290 100644
--- a/pkgs/applications/kde/pim-sieve-editor.nix
+++ b/pkgs/applications/kde/pim-sieve-editor.nix
@@ -8,7 +8,7 @@
 mkDerivation {
   pname = "pim-sieve-editor";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/pimcommon.nix b/pkgs/applications/kde/pimcommon.nix
index 40153af70e830..896c202529a67 100644
--- a/pkgs/applications/kde/pimcommon.nix
+++ b/pkgs/applications/kde/pimcommon.nix
@@ -10,7 +10,7 @@
 mkDerivation {
   pname = "pimcommon";
   meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/rocs.nix b/pkgs/applications/kde/rocs.nix
index 45362d556a72a..80f5f4bb6d650 100644
--- a/pkgs/applications/kde/rocs.nix
+++ b/pkgs/applications/kde/rocs.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib,
   extra-cmake-modules, boost,
-  qtbase, qtscript, qtquickcontrols, qtwebkit, qtxmlpatterns, grantlee,
+  qtbase, qtscript, qtquickcontrols, qtxmlpatterns, grantlee,
   kdoctools, karchive, kxmlgui, kcrash, kdeclarative, ktexteditor, kguiaddons
 }:
 
@@ -11,7 +11,7 @@ mkDerivation {
   meta = with lib; {
     homepage = "https://edu.kde.org/rocs/";
     description = "A graph theory IDE.";
-    license = with licenses; [ gpl2 lgpl21 fdl12 ];
+    license = with licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     platforms = lib.platforms.linux;
     maintainers = with maintainers; [ knairda ];
   };
@@ -19,7 +19,7 @@ mkDerivation {
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     boost
-    qtbase qtscript qtquickcontrols qtwebkit qtxmlpatterns grantlee
+    qtbase qtscript qtquickcontrols qtxmlpatterns grantlee
     kxmlgui kcrash kdeclarative karchive ktexteditor kguiaddons
   ];
 }
diff --git a/pkgs/applications/kde/srcs.nix b/pkgs/applications/kde/srcs.nix
index 289aaaafd656b..b8cbb6138b515 100644
--- a/pkgs/applications/kde/srcs.nix
+++ b/pkgs/applications/kde/srcs.nix
@@ -4,1867 +4,1867 @@
 
 {
   akonadi = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/akonadi-22.08.2.tar.xz";
-      sha256 = "0mylc9dim1a9n58hg5k1yhd4q59ragb52nwm6l8a2h5i0r80hci6";
-      name = "akonadi-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/akonadi-22.08.3.tar.xz";
+      sha256 = "0x4r620ivnhbsd6j3l3a2yb2mncv0a23sxhb2pfc5rs0yj225fm2";
+      name = "akonadi-22.08.3.tar.xz";
     };
   };
   akonadi-calendar = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/akonadi-calendar-22.08.2.tar.xz";
-      sha256 = "0v4nf42l25n8l6qa77iwfbbnbz0mvbn1wvqrbh9nkzjdp7528ig4";
-      name = "akonadi-calendar-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/akonadi-calendar-22.08.3.tar.xz";
+      sha256 = "1y4552c1s7scy080vhr470a2qi8277a8qn2m6fscw7fibf8bzgrg";
+      name = "akonadi-calendar-22.08.3.tar.xz";
     };
   };
   akonadi-calendar-tools = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/akonadi-calendar-tools-22.08.2.tar.xz";
-      sha256 = "0k1aflpmcg698fsk8vps9pwdv2qwm9glymw5gv0720arr0pil11h";
-      name = "akonadi-calendar-tools-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/akonadi-calendar-tools-22.08.3.tar.xz";
+      sha256 = "1r9hdw18bp2sllx9a65chpi2bfrai82ls6az70j00lq7v2hwb5vr";
+      name = "akonadi-calendar-tools-22.08.3.tar.xz";
     };
   };
   akonadi-contacts = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/akonadi-contacts-22.08.2.tar.xz";
-      sha256 = "1spxm6kfsdyyax4brnnd9qqmlh1sqk7qgsdrw9yv9xfg2iipppri";
-      name = "akonadi-contacts-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/akonadi-contacts-22.08.3.tar.xz";
+      sha256 = "1bzmyh1wr8dy2jyza33syfg5m6f74by8b54rsx9mkgxp64ysa6qw";
+      name = "akonadi-contacts-22.08.3.tar.xz";
     };
   };
   akonadi-import-wizard = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/akonadi-import-wizard-22.08.2.tar.xz";
-      sha256 = "1v3ny0g8cn9i4v49cca1c1bbd8acjy6wsbb0ys75asw527cnwigl";
-      name = "akonadi-import-wizard-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/akonadi-import-wizard-22.08.3.tar.xz";
+      sha256 = "1995s8qra9b8pc9c1pzlkwassfdqphgakwgn2qd22m53kgzkj6lv";
+      name = "akonadi-import-wizard-22.08.3.tar.xz";
     };
   };
   akonadi-mime = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/akonadi-mime-22.08.2.tar.xz";
-      sha256 = "0n187rzy4085xxppnm1z00ac0qybvh7j0i2642vfv1y6994gxgrz";
-      name = "akonadi-mime-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/akonadi-mime-22.08.3.tar.xz";
+      sha256 = "0w6yici0kswd07068khk6yrxg3z3801dib80h56ifgb3jpbcfs44";
+      name = "akonadi-mime-22.08.3.tar.xz";
     };
   };
   akonadi-notes = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/akonadi-notes-22.08.2.tar.xz";
-      sha256 = "1qp1p1553pz1yvbk61r4aw1rcwv06x7fsjc8pgxry97bnhmynxh3";
-      name = "akonadi-notes-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/akonadi-notes-22.08.3.tar.xz";
+      sha256 = "1h8dpfcym532w29b0v3krvnvr6my75i9y35p3as8l0ndz1rbscw5";
+      name = "akonadi-notes-22.08.3.tar.xz";
     };
   };
   akonadi-search = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/akonadi-search-22.08.2.tar.xz";
-      sha256 = "1zsipvf1mvyvr3khny2ymrywhzpbqzy4dp9n11wl7y944w6960i2";
-      name = "akonadi-search-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/akonadi-search-22.08.3.tar.xz";
+      sha256 = "03xsaznqp3k7qffsb1njnc0g9izfqh5xdm2z5dwng61pb1gw1q3j";
+      name = "akonadi-search-22.08.3.tar.xz";
     };
   };
   akonadiconsole = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/akonadiconsole-22.08.2.tar.xz";
-      sha256 = "0gpf3j2dy71cyzq9zvw0574ycqvfdq6kamx8wzgmsx36qvqbdv3f";
-      name = "akonadiconsole-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/akonadiconsole-22.08.3.tar.xz";
+      sha256 = "152hd6z7ank63pqlpxw92ad12l9k5spxhk8f7cjrb2gs290vbhbb";
+      name = "akonadiconsole-22.08.3.tar.xz";
     };
   };
   akregator = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/akregator-22.08.2.tar.xz";
-      sha256 = "1knz3b3ivrw290dvbdn5in181gk7rsd1d2dr8khr7pd30xs731zb";
-      name = "akregator-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/akregator-22.08.3.tar.xz";
+      sha256 = "05q3igigqj2vyd2ykkj44plndkr6mi36ff3bfavl47dih29yva3y";
+      name = "akregator-22.08.3.tar.xz";
     };
   };
   analitza = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/analitza-22.08.2.tar.xz";
-      sha256 = "1icvcrbp0a0azgiqdxd8zxp8v3kj6jwrpf0dkaw2prrq6hz04374";
-      name = "analitza-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/analitza-22.08.3.tar.xz";
+      sha256 = "1sjf7zycaq0448r29x6qbkfb2ws4rvn0gjr0ag6xg8b4qvf6bamy";
+      name = "analitza-22.08.3.tar.xz";
     };
   };
   ark = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/ark-22.08.2.tar.xz";
-      sha256 = "0vv2d14j5zhjar7fv4m6yasfvfvs27zrckxc7xsb5y6iba9gqikr";
-      name = "ark-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/ark-22.08.3.tar.xz";
+      sha256 = "0rc0lwics1rqzrk5yjmc76vki6xbpfpg1xlg394ixdjyv48riiww";
+      name = "ark-22.08.3.tar.xz";
     };
   };
   artikulate = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/artikulate-22.08.2.tar.xz";
-      sha256 = "15yr9g5dirby5yl3gdlzj6qi1b8l3k71m1b83qlxwafdwl944a04";
-      name = "artikulate-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/artikulate-22.08.3.tar.xz";
+      sha256 = "0k6ygq89qcgf38wkrdqk8mznsbrpwf7abw3p0a0ng5w66yxwn1yj";
+      name = "artikulate-22.08.3.tar.xz";
     };
   };
   audiocd-kio = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/audiocd-kio-22.08.2.tar.xz";
-      sha256 = "1b8nq18vm4ysn4qlhcbkcwybc7hficph19ik1mpx2wm26560py3n";
-      name = "audiocd-kio-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/audiocd-kio-22.08.3.tar.xz";
+      sha256 = "0jwzx7g0g8mg4r6h5q54j72p6cbrfr3dx1hv9r45g02hzvd2i2an";
+      name = "audiocd-kio-22.08.3.tar.xz";
     };
   };
   baloo-widgets = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/baloo-widgets-22.08.2.tar.xz";
-      sha256 = "09ls4zw1z1cb5m67fwfc0kpi143bfxj7qpi04i0sfw40icr0yrid";
-      name = "baloo-widgets-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/baloo-widgets-22.08.3.tar.xz";
+      sha256 = "0nnv54lnvln02yvxdaxvc497vxyx5gzpm3zvn7bz8mks4yzvrahb";
+      name = "baloo-widgets-22.08.3.tar.xz";
     };
   };
   blinken = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/blinken-22.08.2.tar.xz";
-      sha256 = "011qsa57dzvn08k9qd1giivz5hpzlzrp4pi080vmp2q7a943v5vl";
-      name = "blinken-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/blinken-22.08.3.tar.xz";
+      sha256 = "1avdphqp1y528lczb6bpxvdzaq9navrg4vxiqvfkvgkymhd36n2k";
+      name = "blinken-22.08.3.tar.xz";
     };
   };
   bomber = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/bomber-22.08.2.tar.xz";
-      sha256 = "1frd2vm85caarfs1747wgcpdnq7w4czfsc60li7377pbhrhi47jz";
-      name = "bomber-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/bomber-22.08.3.tar.xz";
+      sha256 = "1fm5fisxa5q2shc3154g4cfg271jz97411wfjcdpgry6mx96qs7k";
+      name = "bomber-22.08.3.tar.xz";
     };
   };
   bovo = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/bovo-22.08.2.tar.xz";
-      sha256 = "08as7lsp61qhmdz8sxbkcnq3vb0rpq96yph2fx5ckbayp4g01qac";
-      name = "bovo-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/bovo-22.08.3.tar.xz";
+      sha256 = "060gc854krafa4ichknj5naic0ingiviacbz1lmdg2fp68mggd50";
+      name = "bovo-22.08.3.tar.xz";
     };
   };
   calendarsupport = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/calendarsupport-22.08.2.tar.xz";
-      sha256 = "1bk8r4a5ilphfbgxb2345nnbhfkadam4s9ms39vin8za05sljhzh";
-      name = "calendarsupport-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/calendarsupport-22.08.3.tar.xz";
+      sha256 = "1lmysb5g0xsaj5n75ays9hmjgcg71apg7fw3fg93rdh9hzn9in0x";
+      name = "calendarsupport-22.08.3.tar.xz";
     };
   };
   cantor = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/cantor-22.08.2.tar.xz";
-      sha256 = "11gmiybsyalzijvfxrhkr4z2vnbbr4rgq27f5pnpnqmnif803p2k";
-      name = "cantor-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/cantor-22.08.3.tar.xz";
+      sha256 = "017zzxl60ycjc24i9zv7mjkxpdx4fa8kznxmfdhc601sdh1n0pja";
+      name = "cantor-22.08.3.tar.xz";
     };
   };
   cervisia = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/cervisia-22.08.2.tar.xz";
-      sha256 = "1cspi6l5a9mailmrfgndrb29p2kw3wsc8rgd42vh45a6g6kzk2zm";
-      name = "cervisia-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/cervisia-22.08.3.tar.xz";
+      sha256 = "1q668vd237wf7nd5sjygnkbygbj6qwbc9j0l3pgpbd51r220jh04";
+      name = "cervisia-22.08.3.tar.xz";
     };
   };
   dolphin = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/dolphin-22.08.2.tar.xz";
-      sha256 = "0mivahq6wv15ir407jkg4x07s6p02a2qsyg30npjprp5gqiyxwir";
-      name = "dolphin-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/dolphin-22.08.3.tar.xz";
+      sha256 = "18qmrwcx3qg5kxhf211m9syazpbshhak7ss245z2jsyxkjjqj54p";
+      name = "dolphin-22.08.3.tar.xz";
     };
   };
   dolphin-plugins = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/dolphin-plugins-22.08.2.tar.xz";
-      sha256 = "099r44scvanxigx060s94r3ffxqrl33wmhvkxay2sd20jb6jlvq3";
-      name = "dolphin-plugins-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/dolphin-plugins-22.08.3.tar.xz";
+      sha256 = "05qmhl9lacs0gx45c5icm2iwpjxaqidwllhvl364i6pvsmk4cg3h";
+      name = "dolphin-plugins-22.08.3.tar.xz";
     };
   };
   dragon = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/dragon-22.08.2.tar.xz";
-      sha256 = "14sa4d3gzplq19biqcby7dz3qd6141j7riazr5lpv2v102h5qnfc";
-      name = "dragon-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/dragon-22.08.3.tar.xz";
+      sha256 = "1bg6m47x4n8yaib8z0f3hvg97kpkg07hb8lq0nm6603qgi69ssga";
+      name = "dragon-22.08.3.tar.xz";
     };
   };
   elisa = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/elisa-22.08.2.tar.xz";
-      sha256 = "1zwcl87xfwl6q0kg2skbszzs642fbygsbmdzpr2pwdjpq51kjill";
-      name = "elisa-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/elisa-22.08.3.tar.xz";
+      sha256 = "07db9rkqiwq08arji6hf8aghc08k558nyddy38kpdl5gsk1xvkl2";
+      name = "elisa-22.08.3.tar.xz";
     };
   };
   eventviews = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/eventviews-22.08.2.tar.xz";
-      sha256 = "1hj77aghar1p1vyphyg70il9p2g145xklls89hp3ygpnnmsflz3w";
-      name = "eventviews-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/eventviews-22.08.3.tar.xz";
+      sha256 = "14k9gg4abadajwkmz5lm1lsvhfvnck15dvggq910gwwa3ayah6c7";
+      name = "eventviews-22.08.3.tar.xz";
     };
   };
   falkon = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/falkon-22.08.2.tar.xz";
-      sha256 = "034skfhn9rmqnx0bz6avq17i0bmh3b0138y58irzfi1ps19fjasd";
-      name = "falkon-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/falkon-22.08.3.tar.xz";
+      sha256 = "02gz6d82l8zly8k5kk41352jcyz3lqxrx7xz0pqbyhlxrpagwgp5";
+      name = "falkon-22.08.3.tar.xz";
     };
   };
   ffmpegthumbs = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/ffmpegthumbs-22.08.2.tar.xz";
-      sha256 = "1v1gkjiqnk03fm1a5zcmfxrcvzbpjddffqiz74h5f94cf4yw88y8";
-      name = "ffmpegthumbs-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/ffmpegthumbs-22.08.3.tar.xz";
+      sha256 = "04q1cd0biwqbx8ipbmy2mxf8l9yk4z3297yvkig99fg0sxbayvm6";
+      name = "ffmpegthumbs-22.08.3.tar.xz";
     };
   };
   filelight = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/filelight-22.08.2.tar.xz";
-      sha256 = "0n23vj6qkdxag0zm3wm7jl4lddiq9l366zgcbvq1w41yacx8wwdk";
-      name = "filelight-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/filelight-22.08.3.tar.xz";
+      sha256 = "0vjglyrhvr8ihf7xd9arf8d6rd6rawpqf14f76blzg18csg9p2yj";
+      name = "filelight-22.08.3.tar.xz";
     };
   };
   granatier = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/granatier-22.08.2.tar.xz";
-      sha256 = "1xlxgr437ca7ij18chn5qxl78di0z3aib051x8jzbihdanc0nsh4";
-      name = "granatier-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/granatier-22.08.3.tar.xz";
+      sha256 = "0n6lavlbmc13xy55fpf86jls8qx4y4mnfrszkfhmbrbdb45pqlhn";
+      name = "granatier-22.08.3.tar.xz";
     };
   };
   grantlee-editor = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/grantlee-editor-22.08.2.tar.xz";
-      sha256 = "0gh5ds9kq3lg66afy1gghmclgcvqgwzfj00ricaz4a7v5x1wnmhy";
-      name = "grantlee-editor-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/grantlee-editor-22.08.3.tar.xz";
+      sha256 = "03vkz698wkhfj0l8qhniw85q0pjlpmz6p957k6h3xlqc792rk3mh";
+      name = "grantlee-editor-22.08.3.tar.xz";
     };
   };
   grantleetheme = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/grantleetheme-22.08.2.tar.xz";
-      sha256 = "1wi0r9knlp4c8jgzw33wry98qjzv1wxxq3bidav1y2cf89g6fvv5";
-      name = "grantleetheme-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/grantleetheme-22.08.3.tar.xz";
+      sha256 = "093dmd81rmc0bq95xpwsfpwadmi2ikg1a5d6mmzr55s68rmxyxvk";
+      name = "grantleetheme-22.08.3.tar.xz";
     };
   };
   gwenview = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/gwenview-22.08.2.tar.xz";
-      sha256 = "1csf9xi551p8b0v8wgs93dm83xdlr71sibr6w544ski0givj82f1";
-      name = "gwenview-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/gwenview-22.08.3.tar.xz";
+      sha256 = "0vma08maf79k46rq59y991ryi9z69yjvr6qw8xjs47nqkmrfn9gi";
+      name = "gwenview-22.08.3.tar.xz";
     };
   };
   incidenceeditor = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/incidenceeditor-22.08.2.tar.xz";
-      sha256 = "16di5ib9acnxajf5253wr2rrld8b9yr59hzddbxlapcwh1h41lbb";
-      name = "incidenceeditor-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/incidenceeditor-22.08.3.tar.xz";
+      sha256 = "1r7dp574sqsbyzdm3avznbx99a5hvbw2gkx4ml8binx0q3gn5vn3";
+      name = "incidenceeditor-22.08.3.tar.xz";
     };
   };
   itinerary = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/itinerary-22.08.2.tar.xz";
-      sha256 = "0hwrrc85qyfpannnna83qgi56lblp7a5ccxq964mxdgfq2gyvpwb";
-      name = "itinerary-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/itinerary-22.08.3.tar.xz";
+      sha256 = "1czqlgn2vxyl9jnmzw571kj11ppf9siqiwwg5c06b3s6nyc0aw2q";
+      name = "itinerary-22.08.3.tar.xz";
     };
   };
   juk = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/juk-22.08.2.tar.xz";
-      sha256 = "1sppq7sw28vy32v1w1is81jaka686zav43pv552h75bl51bi415g";
-      name = "juk-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/juk-22.08.3.tar.xz";
+      sha256 = "04r6s3z620lsqm5x0lmwkxdqim4nczcwb3la9zfzznkyll1jh0fw";
+      name = "juk-22.08.3.tar.xz";
     };
   };
   k3b = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/k3b-22.08.2.tar.xz";
-      sha256 = "1lcr5x8hnbxfybk93k8j107fp96varawnxzap8qvvxzm2rdij2xl";
-      name = "k3b-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/k3b-22.08.3.tar.xz";
+      sha256 = "1673711wim4yy3zx0fjhkyfn7n0qiilvhs211gcqqvip0mgc2gl9";
+      name = "k3b-22.08.3.tar.xz";
     };
   };
   kaccounts-integration = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kaccounts-integration-22.08.2.tar.xz";
-      sha256 = "163a19725a4jp6dd1djlx45hmxshd9pfhy4bpkx8z10izpqkag2q";
-      name = "kaccounts-integration-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kaccounts-integration-22.08.3.tar.xz";
+      sha256 = "04ha4bbawycgabz7gs2b2zs1nw0329034p1xk3x8rwkpi1sbwhhv";
+      name = "kaccounts-integration-22.08.3.tar.xz";
     };
   };
   kaccounts-providers = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kaccounts-providers-22.08.2.tar.xz";
-      sha256 = "1sz0ywmsysimphh1s4fz75bj5cdn430qh4hsl6dcqxa67b9v2n79";
-      name = "kaccounts-providers-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kaccounts-providers-22.08.3.tar.xz";
+      sha256 = "0frd6h62glcszs5irxgn2zmssm70r4sddwcjky2xn131cia5zacs";
+      name = "kaccounts-providers-22.08.3.tar.xz";
     };
   };
   kaddressbook = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kaddressbook-22.08.2.tar.xz";
-      sha256 = "0acmxn672xr9ynahd4hf9ckfhj7dmw3yfgc7mf5q2i2sk6fdimka";
-      name = "kaddressbook-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kaddressbook-22.08.3.tar.xz";
+      sha256 = "11qdb2jpiy6l1mjd7ibd3djfddd6dlinz494nn9c6p0jz46w4ww3";
+      name = "kaddressbook-22.08.3.tar.xz";
     };
   };
   kajongg = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kajongg-22.08.2.tar.xz";
-      sha256 = "14ymz219bcc5cmvj5mas43p16h5vbn1y8n6g5jyfwq1fq49h4hbw";
-      name = "kajongg-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kajongg-22.08.3.tar.xz";
+      sha256 = "1n0z0dbgpkkxq3zl3vgx5ass6zvvqiqyr95c5kfnz1kvxfsffq71";
+      name = "kajongg-22.08.3.tar.xz";
     };
   };
   kalarm = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kalarm-22.08.2.tar.xz";
-      sha256 = "0dq01lyj0bnkx3lnshy5jjpp1lnw25i6y0b6xa2m4xgs0hmkr60p";
-      name = "kalarm-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kalarm-22.08.3.tar.xz";
+      sha256 = "03h08hvb2hz028h189hcpdvm5b4ki1wvjsxvqwwd5gggikki3p67";
+      name = "kalarm-22.08.3.tar.xz";
     };
   };
   kalendar = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kalendar-22.08.2.tar.xz";
-      sha256 = "01h133ajhkixjrx3x1zj5mgn8mxixcsh2phbf2rygrmsa76cp9mw";
-      name = "kalendar-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kalendar-22.08.3.tar.xz";
+      sha256 = "1857y4g34ff2lik5kz6kph9vp9cnjvyqlmyxhxmmhfij4aj0fz4c";
+      name = "kalendar-22.08.3.tar.xz";
     };
   };
   kalgebra = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kalgebra-22.08.2.tar.xz";
-      sha256 = "1mcjd442vlzpavl6f0ffnn8pq5fk8p1hq89wk3msplxm9v5lgmdq";
-      name = "kalgebra-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kalgebra-22.08.3.tar.xz";
+      sha256 = "0xzr29ajcw026dxr2gjqm4zv2bbw9az4j1214hb7g8bik9x01q42";
+      name = "kalgebra-22.08.3.tar.xz";
     };
   };
   kalzium = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kalzium-22.08.2.tar.xz";
-      sha256 = "1xj2knzc2nhnvrz6nk4qxa97z76fvrglz3rw4n6lx2v9xriyihrm";
-      name = "kalzium-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kalzium-22.08.3.tar.xz";
+      sha256 = "0l2wx9vvgwxmsq5ai1ghs0kgv9yk1rsclqspc1lcmzv8xxy3yx0c";
+      name = "kalzium-22.08.3.tar.xz";
     };
   };
   kamera = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kamera-22.08.2.tar.xz";
-      sha256 = "1wb05kr18r6hvasjrpzgs7nbnkjsx65pvph64v70038c08jrq4vi";
-      name = "kamera-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kamera-22.08.3.tar.xz";
+      sha256 = "1qzl0cvd0i3arvdx64z821xkc57j6fhqfaw2f9xxhajb16dmj19j";
+      name = "kamera-22.08.3.tar.xz";
     };
   };
   kamoso = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kamoso-22.08.2.tar.xz";
-      sha256 = "1ph4998vrvz5i4ndgx54ipys58ncb8fkrs9jz12imzpp6h01iq8g";
-      name = "kamoso-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kamoso-22.08.3.tar.xz";
+      sha256 = "1l101rdm163lvx9cq2jyc91svvpjk8p5pvif74y9rsxb396a35cj";
+      name = "kamoso-22.08.3.tar.xz";
     };
   };
   kanagram = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kanagram-22.08.2.tar.xz";
-      sha256 = "1jnsvvl076aj7qgczv8bwm59218av364jv9gkqhwcf44g1d13z1v";
-      name = "kanagram-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kanagram-22.08.3.tar.xz";
+      sha256 = "1h8l3bzpg0m50mcirvj0a5d4z0im8ng4f5fp1zx6vj20xbd0scq9";
+      name = "kanagram-22.08.3.tar.xz";
     };
   };
   kapman = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kapman-22.08.2.tar.xz";
-      sha256 = "0lq84rg3v3qzihwz5alj1gbwrnk6cb1n5x7ip0d5p7fbwmlni58v";
-      name = "kapman-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kapman-22.08.3.tar.xz";
+      sha256 = "1f414cdixmbhqmp5hxiip7cv4r7lggiwl29rlwp1sbcyil80r79p";
+      name = "kapman-22.08.3.tar.xz";
     };
   };
   kapptemplate = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kapptemplate-22.08.2.tar.xz";
-      sha256 = "0kvsg0xwaqm4yy4l1dgbdnnnql7199f6zj08mj67w44zllihrdfi";
-      name = "kapptemplate-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kapptemplate-22.08.3.tar.xz";
+      sha256 = "1dsh5ajp1614kmlvfmxy8irl1zqc24shrigwj7jjdbwb8a0qrxxk";
+      name = "kapptemplate-22.08.3.tar.xz";
     };
   };
   kate = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kate-22.08.2.tar.xz";
-      sha256 = "03vmzq1xysr1nw337dvx17b23qnnqhvs81mzhjpkvq53z3kg299p";
-      name = "kate-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kate-22.08.3.tar.xz";
+      sha256 = "19jzjk3zsbdhrjgw7rrhrbc77rn46z58cmi24fhndvafrw7br5fi";
+      name = "kate-22.08.3.tar.xz";
     };
   };
   katomic = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/katomic-22.08.2.tar.xz";
-      sha256 = "1r0hgyknq3990bq39fg4b9wb76c9rd98hv4w6hna8ca8vk47fz8b";
-      name = "katomic-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/katomic-22.08.3.tar.xz";
+      sha256 = "1msly7134krz6ml06k1gmx3lq50c3valz67x2m3dlyfxn7v8dzlr";
+      name = "katomic-22.08.3.tar.xz";
     };
   };
   kbackup = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kbackup-22.08.2.tar.xz";
-      sha256 = "168jb24n256qsn6pn3h6rz0kzfp79abrli4jlkkz7srwk9brnf7g";
-      name = "kbackup-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kbackup-22.08.3.tar.xz";
+      sha256 = "16ybl4npq024xsncvb8m8cnnp7bdxkjj2fxw3nh3z0bvr5k5rqxw";
+      name = "kbackup-22.08.3.tar.xz";
     };
   };
   kblackbox = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kblackbox-22.08.2.tar.xz";
-      sha256 = "0l2f1nl5as4pz9z4qb081y2zmqwq6j9v2ypq11bv4bmvz8mj2jln";
-      name = "kblackbox-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kblackbox-22.08.3.tar.xz";
+      sha256 = "1nr2xsam2fy1bxg5x8p98vgm6rgmsbkmai9vzp4jzizzi9apjxwc";
+      name = "kblackbox-22.08.3.tar.xz";
     };
   };
   kblocks = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kblocks-22.08.2.tar.xz";
-      sha256 = "0g6hfn10axxpbnnnsw5hp3df2h905i5rk07gl0nm1jmy09xrc22l";
-      name = "kblocks-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kblocks-22.08.3.tar.xz";
+      sha256 = "0clm7myn4ra4ji2jgpjm0y03ys7pikxf4092jvpzhz9735g071w4";
+      name = "kblocks-22.08.3.tar.xz";
     };
   };
   kbounce = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kbounce-22.08.2.tar.xz";
-      sha256 = "0d7rdfy2cp0zsknwvhhdfjcny5c3r0jy9nfj8zdw3ph7pd9c1rpc";
-      name = "kbounce-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kbounce-22.08.3.tar.xz";
+      sha256 = "0n5bfw3vjqfgh4h1j78pniqkk9l0b74c94avibmi0d9avdr2hwbv";
+      name = "kbounce-22.08.3.tar.xz";
     };
   };
   kbreakout = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kbreakout-22.08.2.tar.xz";
-      sha256 = "0d2acfx477dh81pz2csj41qswlm17bndzldr54xhvjnq6yn83ij0";
-      name = "kbreakout-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kbreakout-22.08.3.tar.xz";
+      sha256 = "0f7yvps9xnr6k3wbcbapcmi8g287ib2nk27n24dzamksc07k1hrl";
+      name = "kbreakout-22.08.3.tar.xz";
     };
   };
   kbruch = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kbruch-22.08.2.tar.xz";
-      sha256 = "0g2f2xkmh8081kyh2x48z7hz21il49g66a7k33f5fpdny8hqg2lw";
-      name = "kbruch-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kbruch-22.08.3.tar.xz";
+      sha256 = "0nzq8ah7gwjaqnalvnb928argvrjjv79nsdhd0rbhndj0r5bpklh";
+      name = "kbruch-22.08.3.tar.xz";
     };
   };
   kcachegrind = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kcachegrind-22.08.2.tar.xz";
-      sha256 = "0582wk6878vya359kbnpf70r21vi9q051zgmsjgzzvkfkm30d6jc";
-      name = "kcachegrind-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kcachegrind-22.08.3.tar.xz";
+      sha256 = "1iwa4630gri609570m9kivc5cvgj9p1kvz604rh9irp150prn2qn";
+      name = "kcachegrind-22.08.3.tar.xz";
     };
   };
   kcalc = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kcalc-22.08.2.tar.xz";
-      sha256 = "09y4a9h7v4g64mg3vbivmp6pfj3hylmk7kd62xp8h8kbk1abq9c9";
-      name = "kcalc-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kcalc-22.08.3.tar.xz";
+      sha256 = "0jzxc6rl2ydk53j92l5kxzbk926fg5f7zc4m92am96f8xv67cgml";
+      name = "kcalc-22.08.3.tar.xz";
     };
   };
   kcalutils = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kcalutils-22.08.2.tar.xz";
-      sha256 = "16vnihxqpaf9dgx74y7q0vjmgvjcg90h9dqam8kmidbqr3556x9c";
-      name = "kcalutils-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kcalutils-22.08.3.tar.xz";
+      sha256 = "0mmxgcvn3dr9afdawlv503pj8q1732jqiixmx70nsagd7mbw65cm";
+      name = "kcalutils-22.08.3.tar.xz";
     };
   };
   kcharselect = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kcharselect-22.08.2.tar.xz";
-      sha256 = "1i0l43nz586d6ivb4hvd112ahr12wrq4nlihw87pnccfgb2pprhr";
-      name = "kcharselect-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kcharselect-22.08.3.tar.xz";
+      sha256 = "147lsnxbjj55y427mpx4xx4v760aw6q1xcrkcqqqi2ds7sgajfq6";
+      name = "kcharselect-22.08.3.tar.xz";
     };
   };
   kcolorchooser = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kcolorchooser-22.08.2.tar.xz";
-      sha256 = "0vi0sipyhwmzpwqpm1h9qf9sb17xx4nqlnl2lcr2qv6yljnipwwb";
-      name = "kcolorchooser-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kcolorchooser-22.08.3.tar.xz";
+      sha256 = "1z84c5nwp4hgnbhmfa1816ksalfvq27l3pp97fdz3sppd623570x";
+      name = "kcolorchooser-22.08.3.tar.xz";
     };
   };
   kcron = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kcron-22.08.2.tar.xz";
-      sha256 = "079rfsfsrsydvkzzism74b0mjqw6bx8br5m7q3gzi40l3m6vi0g7";
-      name = "kcron-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kcron-22.08.3.tar.xz";
+      sha256 = "1s84kf6vzibv66wwajf4mh66hl5pz46pazgfkz7nlzixyz8qbrp1";
+      name = "kcron-22.08.3.tar.xz";
     };
   };
   kde-dev-scripts = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kde-dev-scripts-22.08.2.tar.xz";
-      sha256 = "012ml2z6y3frsxws26kd2ssf8rgn4c2av2m5125kpn5yzy3is53l";
-      name = "kde-dev-scripts-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kde-dev-scripts-22.08.3.tar.xz";
+      sha256 = "08vdygc9bn9b8p033azgwgdx1k09fnyqyxrv0kk6hp051c7h94s4";
+      name = "kde-dev-scripts-22.08.3.tar.xz";
     };
   };
   kde-dev-utils = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kde-dev-utils-22.08.2.tar.xz";
-      sha256 = "17m4xc6332h2jhhcmxd51pqnq8rqylarc0762gswy8bj7ywmhd5h";
-      name = "kde-dev-utils-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kde-dev-utils-22.08.3.tar.xz";
+      sha256 = "09p6v211s1smnnz2hr0nf4lk0rq6ql5bf1qvbdbrlgyx27j97ybw";
+      name = "kde-dev-utils-22.08.3.tar.xz";
     };
   };
   kdebugsettings = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kdebugsettings-22.08.2.tar.xz";
-      sha256 = "0bgyhhyvrbfl1raj05gkq5a3hhb781508c7ml9rgw7gy9yyqw0ax";
-      name = "kdebugsettings-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kdebugsettings-22.08.3.tar.xz";
+      sha256 = "0hri8bkvpyzr4201sz55ayh4ci3ihkfgd1lay1h5ylfg3gf19fjv";
+      name = "kdebugsettings-22.08.3.tar.xz";
     };
   };
   kdeconnect-kde = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kdeconnect-kde-22.08.2.tar.xz";
-      sha256 = "1489ik3bpk45w0aml07s83r9j9qlf6qpzsdpd28v6ih8vm1pkvc0";
-      name = "kdeconnect-kde-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kdeconnect-kde-22.08.3.tar.xz";
+      sha256 = "0ypbw7vbl9ibi2z1z0wwry3z5i7v980xadcargkkgwfjjf5a4aa4";
+      name = "kdeconnect-kde-22.08.3.tar.xz";
     };
   };
   kdeedu-data = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kdeedu-data-22.08.2.tar.xz";
-      sha256 = "07jwrw8r8mgj6m10gqx4hd4xl1nnh5lnwmcdfpfhkwd40j1zlwha";
-      name = "kdeedu-data-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kdeedu-data-22.08.3.tar.xz";
+      sha256 = "1969hy2r8xxzin60gikvr47gmi34h9plzd1v9z3w7xi8wblhy34x";
+      name = "kdeedu-data-22.08.3.tar.xz";
     };
   };
   kdegraphics-mobipocket = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kdegraphics-mobipocket-22.08.2.tar.xz";
-      sha256 = "03yjbb8rfszbhmwf5fyfwinrda610b7ghlj5l5v8yp7blba0i6ry";
-      name = "kdegraphics-mobipocket-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kdegraphics-mobipocket-22.08.3.tar.xz";
+      sha256 = "1jjqxhf4bpjvdh0q6pnsqslza1h6wla4g3yq3p3chkapgdylcw4w";
+      name = "kdegraphics-mobipocket-22.08.3.tar.xz";
     };
   };
   kdegraphics-thumbnailers = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kdegraphics-thumbnailers-22.08.2.tar.xz";
-      sha256 = "1ppgc5yh23fgfkwzjirrkv5w7y23xlpf3ijgaw8wgm7kbm61i5y0";
-      name = "kdegraphics-thumbnailers-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kdegraphics-thumbnailers-22.08.3.tar.xz";
+      sha256 = "0wxdvs42vmhrr3jqggxxrxdjyjxqwm5r7vyawb3b94njbni9c11x";
+      name = "kdegraphics-thumbnailers-22.08.3.tar.xz";
     };
   };
   kdenetwork-filesharing = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kdenetwork-filesharing-22.08.2.tar.xz";
-      sha256 = "0m9v60j9lyan0d0mv9gvl5n4hbm1169rddl4h15k5b23a09ky6b4";
-      name = "kdenetwork-filesharing-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kdenetwork-filesharing-22.08.3.tar.xz";
+      sha256 = "03d8qkdsfihvj1s7cqbjppgb2z7w5qs8ax38x934z71gg7nj22a1";
+      name = "kdenetwork-filesharing-22.08.3.tar.xz";
     };
   };
   kdenlive = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kdenlive-22.08.2.tar.xz";
-      sha256 = "1n2fsr9xqm027ydpjc5bmc7v22vqp16kgf3a0yh8l3i1xg539ya9";
-      name = "kdenlive-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kdenlive-22.08.3.tar.xz";
+      sha256 = "0a8f1nj7mhzpvcmb1m5x18y8v0nzsh7rdvq8wyj1v7fr4iyw6p4w";
+      name = "kdenlive-22.08.3.tar.xz";
     };
   };
   kdepim-addons = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kdepim-addons-22.08.2.tar.xz";
-      sha256 = "0p72h6ma7gm3cq4l9jnxfbmgvvplva24wn12fv2rc7p664hp6sj9";
-      name = "kdepim-addons-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kdepim-addons-22.08.3.tar.xz";
+      sha256 = "0wlf9ykgnh4g4vyi0ny3m3agg3nxjjqar5afz02j2pqw3aqjq0af";
+      name = "kdepim-addons-22.08.3.tar.xz";
     };
   };
   kdepim-runtime = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kdepim-runtime-22.08.2.tar.xz";
-      sha256 = "1dsdjnkfgmi7kih5adaqpd2m8ar9w2b3dpz0xviyyyyw5114810p";
-      name = "kdepim-runtime-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kdepim-runtime-22.08.3.tar.xz";
+      sha256 = "09dgyjqf69i5h7xnqbfgni3pxn9ya6x9qrrvqldzamn74qq004r3";
+      name = "kdepim-runtime-22.08.3.tar.xz";
     };
   };
   kdesdk-kio = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kdesdk-kio-22.08.2.tar.xz";
-      sha256 = "0m5nd1v7mzwnx91541rkb409wmqlw6m4536j1smxw4i8mb71l6y6";
-      name = "kdesdk-kio-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kdesdk-kio-22.08.3.tar.xz";
+      sha256 = "0yfif2shkn2z4by4hxns0q2avldkb39629zxl4m7b7r82rswpi70";
+      name = "kdesdk-kio-22.08.3.tar.xz";
     };
   };
   kdesdk-thumbnailers = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kdesdk-thumbnailers-22.08.2.tar.xz";
-      sha256 = "1qfgrmp3pfjgniawlnqqwnnfyix479706z947rdb4hxrm3bnrr8s";
-      name = "kdesdk-thumbnailers-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kdesdk-thumbnailers-22.08.3.tar.xz";
+      sha256 = "1a50z8bsdr61gwawm6b7mj23jlj8arf56q0yq18x6300fq2sj0fz";
+      name = "kdesdk-thumbnailers-22.08.3.tar.xz";
     };
   };
   kdev-php = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kdev-php-22.08.2.tar.xz";
-      sha256 = "1mwr7q0qc94i1vi7sjc8injda6sq3lpb71398s1j7py82644024q";
-      name = "kdev-php-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kdev-php-22.08.3.tar.xz";
+      sha256 = "1h9ri1znd9cwd4rdxags5mx6cq6kfa0hq68p0081shlwgndyh9xp";
+      name = "kdev-php-22.08.3.tar.xz";
     };
   };
   kdev-python = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kdev-python-22.08.2.tar.xz";
-      sha256 = "02nvzjjwz6c1kq9c1sh6m6nwpkw7p0xbgnvipsbsy0bxclmz8xdp";
-      name = "kdev-python-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kdev-python-22.08.3.tar.xz";
+      sha256 = "0w40c15cj6a0jclkp8kl876sy8icx6law2p8rw5bwvbmfdm2z596";
+      name = "kdev-python-22.08.3.tar.xz";
     };
   };
   kdevelop = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kdevelop-22.08.2.tar.xz";
-      sha256 = "17vk5azn58a503p99q7clnxb3nb7b6s2ycpxk5xlpmwa0cvwm9az";
-      name = "kdevelop-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kdevelop-22.08.3.tar.xz";
+      sha256 = "1mpr444ghi0caz0pjn974mf26lp28cmnqydhnp6dgzyn5whsyfrw";
+      name = "kdevelop-22.08.3.tar.xz";
     };
   };
   kdf = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kdf-22.08.2.tar.xz";
-      sha256 = "1hmzv9ji50mz94qbidqvjkdxmnpwx6mpbw101ki3zpbxh0146w0c";
-      name = "kdf-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kdf-22.08.3.tar.xz";
+      sha256 = "1ax8r59mnd24avkdf5gxp2krddk74bsvyq39c9wn5a1r6kaxhanv";
+      name = "kdf-22.08.3.tar.xz";
     };
   };
   kdialog = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kdialog-22.08.2.tar.xz";
-      sha256 = "0czin6r2anwqgx7rj3nbj4jskqck0mn47706w84k5fyxjp36y2ha";
-      name = "kdialog-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kdialog-22.08.3.tar.xz";
+      sha256 = "12va066njhz1wfhmrx8qy7s4x317k06gf65jl6nn99a6wvk2c4lx";
+      name = "kdialog-22.08.3.tar.xz";
     };
   };
   kdiamond = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kdiamond-22.08.2.tar.xz";
-      sha256 = "09a6nrrnfvj6468igv1igiyaqyzfqhh115nnlmqympihzqlz2k11";
-      name = "kdiamond-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kdiamond-22.08.3.tar.xz";
+      sha256 = "12s4kvfj5xmcbdmmvhlzsw668q7i67i84bmid9klrv6bjsssq327";
+      name = "kdiamond-22.08.3.tar.xz";
     };
   };
   keditbookmarks = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/keditbookmarks-22.08.2.tar.xz";
-      sha256 = "0j98gl02lp5z8jjlqcbzxz37nrzmjrrvp8ngfir5l37myg39r7cx";
-      name = "keditbookmarks-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/keditbookmarks-22.08.3.tar.xz";
+      sha256 = "1csvk5hhxxqwd6z2x1dss8brdylm38m16fh82ik7mxlvcgsynpmk";
+      name = "keditbookmarks-22.08.3.tar.xz";
     };
   };
   kfind = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kfind-22.08.2.tar.xz";
-      sha256 = "14ldcq62yw6i4sz9sj5vfklyi4ff6kdza6kvkvsxrqdj8sp0blmv";
-      name = "kfind-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kfind-22.08.3.tar.xz";
+      sha256 = "1mssrlsz7ll7d97pw43xg17851405hpxpwamrnp7xmh5dy3pik1z";
+      name = "kfind-22.08.3.tar.xz";
     };
   };
   kfloppy = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kfloppy-22.08.2.tar.xz";
-      sha256 = "0yzflvbin1lrrw3jkbdr3zia56rzf8zrxagasqg1rmqiz3r2r7i5";
-      name = "kfloppy-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kfloppy-22.08.3.tar.xz";
+      sha256 = "01dmda10kbvh1i1xvaca7qmiy298l495r6zh0l7nif5sf84w0nl7";
+      name = "kfloppy-22.08.3.tar.xz";
     };
   };
   kfourinline = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kfourinline-22.08.2.tar.xz";
-      sha256 = "0ncyr8vhc4ibi2v9577x97skb437v95lyqp3q44fnw0g921rzlv6";
-      name = "kfourinline-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kfourinline-22.08.3.tar.xz";
+      sha256 = "1dnvq7mdm7g6w0j1kk55p0x3ncyjkm2h1lkyrfq5vba1154z8njr";
+      name = "kfourinline-22.08.3.tar.xz";
     };
   };
   kgeography = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kgeography-22.08.2.tar.xz";
-      sha256 = "1g3jzgadhjk567zr53ha8wi7kzmy3c689k3cp2hqsk1jvc6zfdz8";
-      name = "kgeography-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kgeography-22.08.3.tar.xz";
+      sha256 = "01wgxz54h4hxh63l8r9wvflcmnym175l2b5z5xfzh3pjf8w34rmc";
+      name = "kgeography-22.08.3.tar.xz";
     };
   };
   kget = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kget-22.08.2.tar.xz";
-      sha256 = "0zglqawsqsmign2gxa0aa2pv2yxl2xbsma7ap8xnars55mzghq2j";
-      name = "kget-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kget-22.08.3.tar.xz";
+      sha256 = "1b21xvxap2br55nh0jnj0s44qalh2ac0l27lsg5awsan14hhklnp";
+      name = "kget-22.08.3.tar.xz";
     };
   };
   kgoldrunner = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kgoldrunner-22.08.2.tar.xz";
-      sha256 = "05pj8y5zgm0dpbcqd7hiinrgpbkplvw0bw340h7pbk7z8j1vl0y9";
-      name = "kgoldrunner-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kgoldrunner-22.08.3.tar.xz";
+      sha256 = "1xsl31sb6g0j4zbb9jg1az80z1wm435gphwjn1bvli3x1rmr214m";
+      name = "kgoldrunner-22.08.3.tar.xz";
     };
   };
   kgpg = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kgpg-22.08.2.tar.xz";
-      sha256 = "140a3jjkwb6m7mwhikac0b7jwn2yg225l7qs52f1ivq5wy9i24h4";
-      name = "kgpg-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kgpg-22.08.3.tar.xz";
+      sha256 = "0x10h02ivxkkvk5d59154mx8cs1vcm98mki4xkhxvg77nsi6zfib";
+      name = "kgpg-22.08.3.tar.xz";
     };
   };
   khangman = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/khangman-22.08.2.tar.xz";
-      sha256 = "15fza1hdm66p8h735n8fkabmfjda3rgazd70xwl79ckwwiyg7dcd";
-      name = "khangman-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/khangman-22.08.3.tar.xz";
+      sha256 = "15wi925nxa59wi7w4kq0acvm1x424xc9cf9rx2dpljg698n7ymag";
+      name = "khangman-22.08.3.tar.xz";
     };
   };
   khelpcenter = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/khelpcenter-22.08.2.tar.xz";
-      sha256 = "1b3qcvbrdkrvcpfjgvp8qv744q1pvbhb77qvald6lpv79b14ba30";
-      name = "khelpcenter-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/khelpcenter-22.08.3.tar.xz";
+      sha256 = "004rlvgq46jalg6czxmqlqwp4kg9li8n7xrhjgqcpip8c2dr8q0r";
+      name = "khelpcenter-22.08.3.tar.xz";
     };
   };
   kidentitymanagement = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kidentitymanagement-22.08.2.tar.xz";
-      sha256 = "06a0jghxxq17cvnfxbivpws1s1r9xanj321six3sfyr8z0iypkd1";
-      name = "kidentitymanagement-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kidentitymanagement-22.08.3.tar.xz";
+      sha256 = "1n8bzm0v9viplg7fj1b5i0rl75amxf2vpv9s0q17gjjjv1xrqgsy";
+      name = "kidentitymanagement-22.08.3.tar.xz";
     };
   };
   kig = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kig-22.08.2.tar.xz";
-      sha256 = "030sz2d9s7zawzhmilzvvqsczxhmi4zzsl91k28l4cii8qgv23bi";
-      name = "kig-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kig-22.08.3.tar.xz";
+      sha256 = "13mgc40qfmrp98jv39nnkxvw7g72bim42yafsymlhfk0nv9irkc0";
+      name = "kig-22.08.3.tar.xz";
     };
   };
   kigo = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kigo-22.08.2.tar.xz";
-      sha256 = "1f2761p8ikqvaz4fjw5884i8k3cz4bv9pn7a41zad5qylfckrr4b";
-      name = "kigo-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kigo-22.08.3.tar.xz";
+      sha256 = "0c1zql659qhb0qy9vk973gc96dv4b83sqlli222ccw9i2faqahwc";
+      name = "kigo-22.08.3.tar.xz";
     };
   };
   killbots = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/killbots-22.08.2.tar.xz";
-      sha256 = "01c0whsw9yk6v0qa1mp947z8rbw52y9hlm8jan9qwkgbx8sjy3dl";
-      name = "killbots-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/killbots-22.08.3.tar.xz";
+      sha256 = "007ajm08afvm7lbhd8014lcq4p3xsl85l7ymv31m9p27kqn1ini5";
+      name = "killbots-22.08.3.tar.xz";
     };
   };
   kimagemapeditor = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kimagemapeditor-22.08.2.tar.xz";
-      sha256 = "1rvjqg9nhxwzs33g3kd5yxhf67zlkgl1pwbldw7gxyg1ah0znfzq";
-      name = "kimagemapeditor-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kimagemapeditor-22.08.3.tar.xz";
+      sha256 = "056bndyiw059r2vc9895wz06cvivq1bnlwkzaadvfr7rbf0n421f";
+      name = "kimagemapeditor-22.08.3.tar.xz";
     };
   };
   kimap = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kimap-22.08.2.tar.xz";
-      sha256 = "1sxrpjjckpl26harhwvcgmxlf6q5cc6v0xydf0ryrkmh24d7cpda";
-      name = "kimap-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kimap-22.08.3.tar.xz";
+      sha256 = "1blmsi7z6vw5raclrh355kyj6fmdmr9xgv89r41xpwq5z20dkvaz";
+      name = "kimap-22.08.3.tar.xz";
     };
   };
   kio-extras = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kio-extras-22.08.2.tar.xz";
-      sha256 = "0rm4syzvxbj1z06896dm2sz9zg5rgc834i78vqfl1c9li09nbmjx";
-      name = "kio-extras-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kio-extras-22.08.3.tar.xz";
+      sha256 = "1svk7a21iwg4y5xxxks0bin6iajmvxg3aysbb6lapi24f10wjdi8";
+      name = "kio-extras-22.08.3.tar.xz";
     };
   };
   kio-gdrive = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kio-gdrive-22.08.2.tar.xz";
-      sha256 = "12dajggmiz7kkrc4z59cnai25d62by098bdz9r71xg3lvsx96hhv";
-      name = "kio-gdrive-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kio-gdrive-22.08.3.tar.xz";
+      sha256 = "17dn1ps7q7n6cqv7ma9jxv9xz590jhydxmgy307hyd1sb8n8cbrf";
+      name = "kio-gdrive-22.08.3.tar.xz";
     };
   };
   kio-zeroconf = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kio-zeroconf-22.08.2.tar.xz";
-      sha256 = "0zwjdqkiimqhjrd1pi4cjw148gah3l813276lb7jq3avhrncll25";
-      name = "kio-zeroconf-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kio-zeroconf-22.08.3.tar.xz";
+      sha256 = "14rl6ifqy48g6pbax9lvx2zamc6qivy0rv26s0q0dc6w5j7y5msp";
+      name = "kio-zeroconf-22.08.3.tar.xz";
     };
   };
   kipi-plugins = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kipi-plugins-22.08.2.tar.xz";
-      sha256 = "0xk6sya14kv78qhk4fz1ng7fzghmw9cv0ybf5y2q5nvwdmv71c2p";
-      name = "kipi-plugins-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kipi-plugins-22.08.3.tar.xz";
+      sha256 = "1y4jbjpmg0bskqj66y3g46hkgc4vnqg0hd5fkzrr8qqbnzi5vnsn";
+      name = "kipi-plugins-22.08.3.tar.xz";
     };
   };
   kirigami-gallery = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kirigami-gallery-22.08.2.tar.xz";
-      sha256 = "07fvk0xmajxyx15rrbdp7zwyagxq6dqzls3x770rfx8la42v91fp";
-      name = "kirigami-gallery-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kirigami-gallery-22.08.3.tar.xz";
+      sha256 = "0sj5d2hc1ks4999a5l9lxxwx7wridw7pr40pr3r0x5wnav3y8vdx";
+      name = "kirigami-gallery-22.08.3.tar.xz";
     };
   };
   kiriki = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kiriki-22.08.2.tar.xz";
-      sha256 = "14akhdsr2m42d7my0vc1lzk656a1hphgnr1qr5vi4h8wz5aaamx7";
-      name = "kiriki-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kiriki-22.08.3.tar.xz";
+      sha256 = "11hf2455mjw0ix8paxk0w8zf9glcmksz7yi4z3c5krzb9954w8zx";
+      name = "kiriki-22.08.3.tar.xz";
     };
   };
   kiten = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kiten-22.08.2.tar.xz";
-      sha256 = "1w8k6hj3m5445qdng69z1wylp2jibxw37pjnhqkm5c7bcbhv3wms";
-      name = "kiten-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kiten-22.08.3.tar.xz";
+      sha256 = "1lpd31idh1sikmzcnjqk8z22ivw4rb2670blxf1v7gll83ncif2l";
+      name = "kiten-22.08.3.tar.xz";
     };
   };
   kitinerary = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kitinerary-22.08.2.tar.xz";
-      sha256 = "0b0l0d0apyqjvw503q2kzxyk4dd5qcxkrfgzlg83hvkazy27gd90";
-      name = "kitinerary-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kitinerary-22.08.3.tar.xz";
+      sha256 = "0m31x86jw4fdxh9wrlrpqy14w6mfr03c6ksf0kfpysf5iy6gb79b";
+      name = "kitinerary-22.08.3.tar.xz";
     };
   };
   kjumpingcube = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kjumpingcube-22.08.2.tar.xz";
-      sha256 = "1hmn792wb3w3fb4dsiv6pwx8azxcg92y36zn29jivbm7g2p14852";
-      name = "kjumpingcube-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kjumpingcube-22.08.3.tar.xz";
+      sha256 = "1q145xcwy845zgrzsnrp2iq1vg5d78n1ygjkkcx79zisg7jl2nxl";
+      name = "kjumpingcube-22.08.3.tar.xz";
     };
   };
   kldap = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kldap-22.08.2.tar.xz";
-      sha256 = "0jnybrfbgbvmz6am8mg3bq1j80yayfzmjqyr6qr5lwzw21prbzmd";
-      name = "kldap-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kldap-22.08.3.tar.xz";
+      sha256 = "16jdp9mxjbsxhjwbvwi9p9l28cm59v2l54hlgj6ap4qx9i7v5l3l";
+      name = "kldap-22.08.3.tar.xz";
     };
   };
   kleopatra = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kleopatra-22.08.2.tar.xz";
-      sha256 = "0dxwaav96ghs8wns61xijwvj7d4g94kf290iv3x1dcdys19fqmw2";
-      name = "kleopatra-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kleopatra-22.08.3.tar.xz";
+      sha256 = "0xgqyxzjpp466pbjawfgqvpyx4hq1h2n84n7794c475zcw5gapp1";
+      name = "kleopatra-22.08.3.tar.xz";
     };
   };
   klettres = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/klettres-22.08.2.tar.xz";
-      sha256 = "1xl131llc3fdn9pqc9b7d4im7qfwr5aj4ifvvyyf96yqinzp0zj7";
-      name = "klettres-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/klettres-22.08.3.tar.xz";
+      sha256 = "0k2k93ah435jw708l0d80bmh3lizzr10mzbp4yxmfpjx0wlzyhys";
+      name = "klettres-22.08.3.tar.xz";
     };
   };
   klickety = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/klickety-22.08.2.tar.xz";
-      sha256 = "11bnzjr644kmnc2y2r6zjkia5xc7b4bylrxp42wlbgkzrs231xbv";
-      name = "klickety-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/klickety-22.08.3.tar.xz";
+      sha256 = "1qnn1h3jv31jga2s5vs8zlib4w4arngl48hadvbz5ri1vm15didh";
+      name = "klickety-22.08.3.tar.xz";
     };
   };
   klines = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/klines-22.08.2.tar.xz";
-      sha256 = "040xqlbikmw2kiv3r7ygpccfqj706073ai22drvrky7h5is4fqac";
-      name = "klines-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/klines-22.08.3.tar.xz";
+      sha256 = "03qwfzkpain3lz8jvma8iw4jy92zfs7dv4bxbng2cb58ak7ssdx5";
+      name = "klines-22.08.3.tar.xz";
     };
   };
   kmag = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kmag-22.08.2.tar.xz";
-      sha256 = "0drihlib1kdlhacp3z3mbqamyzzjwc75883432sdn9p27nqv2q1d";
-      name = "kmag-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kmag-22.08.3.tar.xz";
+      sha256 = "09qn77b0c0cijfcxndcb682jlxw8kdg21n74n9yyjysapxc6i48n";
+      name = "kmag-22.08.3.tar.xz";
     };
   };
   kmahjongg = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kmahjongg-22.08.2.tar.xz";
-      sha256 = "1dzwbzpygz78r76r8afi9ycpy7cldl1gckl0klpzg7c6af9dzxag";
-      name = "kmahjongg-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kmahjongg-22.08.3.tar.xz";
+      sha256 = "175wvjhyici0k6wcz7a4glf1jx6w8nfc13sph1vjaxqcshg0sdi4";
+      name = "kmahjongg-22.08.3.tar.xz";
     };
   };
   kmail = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kmail-22.08.2.tar.xz";
-      sha256 = "0216qpq980da4wxh8sdns7vkym7mgspdn4p3rcn2wx0dsid950rn";
-      name = "kmail-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kmail-22.08.3.tar.xz";
+      sha256 = "15hq1dq88crqfjlg1n87hkfddlzc4k37qq289vx83wjp9jjzpqr0";
+      name = "kmail-22.08.3.tar.xz";
     };
   };
   kmail-account-wizard = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kmail-account-wizard-22.08.2.tar.xz";
-      sha256 = "1dlbf7sjdzarpdn8kpnkgy7yibr4akd5ly6g19vpn9icniy3dkbv";
-      name = "kmail-account-wizard-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kmail-account-wizard-22.08.3.tar.xz";
+      sha256 = "08y0c4rqk8giryawglk6x5lk8sn6vj280r9wrpji0x3sg8mdkr97";
+      name = "kmail-account-wizard-22.08.3.tar.xz";
     };
   };
   kmailtransport = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kmailtransport-22.08.2.tar.xz";
-      sha256 = "03vbplx7ih2kd3fq59qcph4avpz5k75d4v7bjixn6krz44l4mjn0";
-      name = "kmailtransport-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kmailtransport-22.08.3.tar.xz";
+      sha256 = "11z9l1d25hg5fr74jwqrdj2m8a7kcyig6006yxcpzpvg7xzf489p";
+      name = "kmailtransport-22.08.3.tar.xz";
     };
   };
   kmbox = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kmbox-22.08.2.tar.xz";
-      sha256 = "0rwk1fsd16cjmsz9b6md6d2yw8h6bpx0g49f4lyp0acpl84nvik1";
-      name = "kmbox-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kmbox-22.08.3.tar.xz";
+      sha256 = "03nrc6zcp2mmzj1mxjskcmz73gm2s9b8w822rg2yrfrwbr64g6wi";
+      name = "kmbox-22.08.3.tar.xz";
     };
   };
   kmime = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kmime-22.08.2.tar.xz";
-      sha256 = "16mmkqmwni9bvf4409fdmnsvgizzbw1mq26vvbnn56yxjvqv9p3q";
-      name = "kmime-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kmime-22.08.3.tar.xz";
+      sha256 = "0lhk4h3824xncfhqpz7vmbasibhpkmxcimb9f5lvdq17fnfsy8ab";
+      name = "kmime-22.08.3.tar.xz";
     };
   };
   kmines = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kmines-22.08.2.tar.xz";
-      sha256 = "0pvdlnwn7f8yla0pjbkjvdljqlc7vz61qpvrb0ika0c6mz2gn1hf";
-      name = "kmines-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kmines-22.08.3.tar.xz";
+      sha256 = "1dmid2m6w8d68zkc0r2j4v1a3qnlrn2pf4a6zz6k5xyylna1219c";
+      name = "kmines-22.08.3.tar.xz";
     };
   };
   kmix = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kmix-22.08.2.tar.xz";
-      sha256 = "17cvcfm0n8qhzxfacvfb9m0ifi1n8qp04nv3r7x9ncr7bzr0xcsi";
-      name = "kmix-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kmix-22.08.3.tar.xz";
+      sha256 = "0sr0pzx5vzkdhi1ncrggsinad0b5yd1zck1nadmkmp8brffkgbra";
+      name = "kmix-22.08.3.tar.xz";
     };
   };
   kmousetool = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kmousetool-22.08.2.tar.xz";
-      sha256 = "0m2nli3fn8ql104zsqvkjldpynjw3jcp23prfg75jdvdbywhcy2d";
-      name = "kmousetool-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kmousetool-22.08.3.tar.xz";
+      sha256 = "0jcv784cb07k8jsjdcx9a7zirjpkv6gdkfh40ra2hdmh9wp3l5bd";
+      name = "kmousetool-22.08.3.tar.xz";
     };
   };
   kmouth = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kmouth-22.08.2.tar.xz";
-      sha256 = "1njqk67gpwml88hmc00y18v96ybpk1wpj0ii77fi8gparn6jr8sj";
-      name = "kmouth-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kmouth-22.08.3.tar.xz";
+      sha256 = "0irbx6k8d1brv8nsi3mwiwhivj4265lsbyhc4xwpqvpdb0xwws7c";
+      name = "kmouth-22.08.3.tar.xz";
     };
   };
   kmplot = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kmplot-22.08.2.tar.xz";
-      sha256 = "0zc3r5663k9hknjfhpg2afs1xwfpryi2y1fk6vpa5y3b4v2mmrm3";
-      name = "kmplot-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kmplot-22.08.3.tar.xz";
+      sha256 = "0s1b3iwqkid545axv18y6v3pkp5zvh9hihr5cxiygclsfbcn5vka";
+      name = "kmplot-22.08.3.tar.xz";
     };
   };
   knavalbattle = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/knavalbattle-22.08.2.tar.xz";
-      sha256 = "0cq1wx71ff99bdi1swjgfzfgcf2pfq2smqnli2kb2swj9hxcmags";
-      name = "knavalbattle-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/knavalbattle-22.08.3.tar.xz";
+      sha256 = "1m6vb6y8fy8inv09b28p728308ljfp79r6m3bdp8q7swghcq0252";
+      name = "knavalbattle-22.08.3.tar.xz";
     };
   };
   knetwalk = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/knetwalk-22.08.2.tar.xz";
-      sha256 = "00a82ac2ky5mrkzqxvafawic9w3dqf6ljlknjsw191bvc36niaiw";
-      name = "knetwalk-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/knetwalk-22.08.3.tar.xz";
+      sha256 = "09r0mbd9ab04j3ylm59y7x6qn7ana1kjnrb3494cch8qdg6w0yvd";
+      name = "knetwalk-22.08.3.tar.xz";
     };
   };
   knights = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/knights-22.08.2.tar.xz";
-      sha256 = "17cwh08cl2zngipmryfrzk212q7drj4v7sb9g92xqgld6a6hhvcv";
-      name = "knights-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/knights-22.08.3.tar.xz";
+      sha256 = "19k0gppis93f0skg4nkmn46zvipw5mplgbdivka45ica6cqxfk3k";
+      name = "knights-22.08.3.tar.xz";
     };
   };
   knotes = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/knotes-22.08.2.tar.xz";
-      sha256 = "12davidg9s4a3j006wi1hvh4d93jgdfdb7z4bqili30sq6hzfc56";
-      name = "knotes-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/knotes-22.08.3.tar.xz";
+      sha256 = "0kvcmm13ib47nq6qm4n2sgzqhrcajy0ihpf7ca5ivcbg094id1zm";
+      name = "knotes-22.08.3.tar.xz";
     };
   };
   kolf = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kolf-22.08.2.tar.xz";
-      sha256 = "0r0sbbk3f9bwk7pnmxgdrpy6ya8rj3yiynw37j5s6cljzbd2bmkp";
-      name = "kolf-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kolf-22.08.3.tar.xz";
+      sha256 = "0bmnbvk2jzwwqirvlpkx21alcffly8h31s890my2jnb54cvh082d";
+      name = "kolf-22.08.3.tar.xz";
     };
   };
   kollision = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kollision-22.08.2.tar.xz";
-      sha256 = "0mcilhynxrlka9lfg01f3awcl5563q8mqfrxfsplxxxsnhkrnd46";
-      name = "kollision-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kollision-22.08.3.tar.xz";
+      sha256 = "14sk27lpma80mqg3c9l4gbqqwv2cwkqnmzlqgz8f14i4ykjkzvm0";
+      name = "kollision-22.08.3.tar.xz";
     };
   };
   kolourpaint = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kolourpaint-22.08.2.tar.xz";
-      sha256 = "12xgr6zg1sjcqmg8jn7fryimf8qd0nc1lpjzhd1i8gimm4dv0xkb";
-      name = "kolourpaint-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kolourpaint-22.08.3.tar.xz";
+      sha256 = "03y6x90g81vykdq7jf4n59624ddxjs762x3jinb6kqabgfp8qzil";
+      name = "kolourpaint-22.08.3.tar.xz";
     };
   };
   kompare = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kompare-22.08.2.tar.xz";
-      sha256 = "1fqsgynnqm0gmzcn4hb72ag6rragp7h7ln3n0ca55m7nh9pwqhy5";
-      name = "kompare-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kompare-22.08.3.tar.xz";
+      sha256 = "0y49812irc1jqvx2ahp6frmjsvp2kzlfbfiirdhkskfrsciq61fv";
+      name = "kompare-22.08.3.tar.xz";
     };
   };
   konqueror = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/konqueror-22.08.2.tar.xz";
-      sha256 = "128db1pcq608m336swhdzrlbwy316yxh1hccy7lm74p67yy3n4pv";
-      name = "konqueror-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/konqueror-22.08.3.tar.xz";
+      sha256 = "06gbjax34la6pdq07ryl6kl5his0zd1cx11dvmd4lqi9xy1rlaxj";
+      name = "konqueror-22.08.3.tar.xz";
     };
   };
   konquest = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/konquest-22.08.2.tar.xz";
-      sha256 = "1gc6hj0i89xkcx351aznixpy6579z1mq3a7z6zfinwy4m8h6r1nv";
-      name = "konquest-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/konquest-22.08.3.tar.xz";
+      sha256 = "1fwjj5xknqv09y4yif2ixzjs2dm79ib7fs3imgkgwzzi3zgcn1jn";
+      name = "konquest-22.08.3.tar.xz";
     };
   };
   konsole = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/konsole-22.08.2.tar.xz";
-      sha256 = "0v79pnm0r15pn5p0q6hifp9b9w14qsikn10x8hwam9ij6bi78dcy";
-      name = "konsole-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/konsole-22.08.3.tar.xz";
+      sha256 = "16n0z8h2fcx6r60ls5k39jskq7xjw5ppn4vi822cfljvq16prw56";
+      name = "konsole-22.08.3.tar.xz";
     };
   };
   kontact = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kontact-22.08.2.tar.xz";
-      sha256 = "18y4dqswrykj27p5k9kav2ayd7aqakdcc4d557lf76x0n2w11ldj";
-      name = "kontact-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kontact-22.08.3.tar.xz";
+      sha256 = "1fsay42vwqv7lzn68scd97nix0bk804k6afnrrq5fzfn6j15kq08";
+      name = "kontact-22.08.3.tar.xz";
     };
   };
   kontactinterface = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kontactinterface-22.08.2.tar.xz";
-      sha256 = "1pkf8yhxdfbzk04vjj8xjpsrjyg58by97yxyb5a40avgq2s136n7";
-      name = "kontactinterface-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kontactinterface-22.08.3.tar.xz";
+      sha256 = "04flmnkfplykisl1523yc3b80z0sf5x1q7p3is42mkczqxagyi5x";
+      name = "kontactinterface-22.08.3.tar.xz";
     };
   };
   kontrast = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kontrast-22.08.2.tar.xz";
-      sha256 = "1xkx810kzm7bs6c2b7kh08v5dkq3rx3hdi7pad06jqv75l5k0dbn";
-      name = "kontrast-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kontrast-22.08.3.tar.xz";
+      sha256 = "05f9lndlg16xcqi6k3c04y87d25nvpgksjk25vvfzsm9jz62dxhv";
+      name = "kontrast-22.08.3.tar.xz";
     };
   };
   konversation = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/konversation-22.08.2.tar.xz";
-      sha256 = "0b0asdm3ykjbjm2g4wmzxz6p6f2wh43rd3lmd3c7g5hsjvlf6nq4";
-      name = "konversation-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/konversation-22.08.3.tar.xz";
+      sha256 = "1wa6dgm5pyvng2b0y5h701x6nhss1amrj6hgsvb7h31cqcj1kmxi";
+      name = "konversation-22.08.3.tar.xz";
     };
   };
   kopeninghours = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kopeninghours-22.08.2.tar.xz";
-      sha256 = "0hfjrkwxb6p06d1a4db2qcn24lxw7jw1xi1ba0hhwxg4c2xwrlfw";
-      name = "kopeninghours-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kopeninghours-22.08.3.tar.xz";
+      sha256 = "02gdzypcyk9rbrj9h3pwgaq6x8qmgyacchlq1w2lxxf33qlx9nr8";
+      name = "kopeninghours-22.08.3.tar.xz";
     };
   };
   kopete = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kopete-22.08.2.tar.xz";
-      sha256 = "1k59v6zbc9drdy5kwrx099frpm1rlb0g62j3s2cyp2893h2q9qjf";
-      name = "kopete-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kopete-22.08.3.tar.xz";
+      sha256 = "0037zps0zppvnwxsk21x2p3iqvs5b037r5bs77nip8qridykf8as";
+      name = "kopete-22.08.3.tar.xz";
     };
   };
   korganizer = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/korganizer-22.08.2.tar.xz";
-      sha256 = "1622fq9qi75r2csnb3r2gs5ncd5qbg0bs55i7ab6dypm8q2rsnaf";
-      name = "korganizer-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/korganizer-22.08.3.tar.xz";
+      sha256 = "0aiwj988i139mv0dk0ygfa7pai7xfxipq8r9wy5g6wgnxq7rn1cl";
+      name = "korganizer-22.08.3.tar.xz";
     };
   };
   kosmindoormap = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kosmindoormap-22.08.2.tar.xz";
-      sha256 = "11mhn00zlj60zi9hms33i2r8w66wnw883g6sb9l0fxm5q7ijbqvr";
-      name = "kosmindoormap-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kosmindoormap-22.08.3.tar.xz";
+      sha256 = "1m863pg6visgyib01wcf0b40dpdv1f0vi1gb5x5cgcvyk0ihllcv";
+      name = "kosmindoormap-22.08.3.tar.xz";
     };
   };
   kpat = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kpat-22.08.2.tar.xz";
-      sha256 = "1kw26nbnk6s95jkfbxxhnibsiwif877ggbs0arwmqssfqv9lj046";
-      name = "kpat-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kpat-22.08.3.tar.xz";
+      sha256 = "05jzhfv9qhfml390cg9pscvrrkfdbd72p3k1bdl3r9gf99nzxxxw";
+      name = "kpat-22.08.3.tar.xz";
     };
   };
   kpimtextedit = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kpimtextedit-22.08.2.tar.xz";
-      sha256 = "1ayax6yfq1xim8yyfi3kdy0hj4jhj764s3ywjyjzwxk9k8k8bvkb";
-      name = "kpimtextedit-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kpimtextedit-22.08.3.tar.xz";
+      sha256 = "0f31j38y8d389yyj2yj7gkbr7wm1zbvdcf72a0ipdb7pjrzhs7lg";
+      name = "kpimtextedit-22.08.3.tar.xz";
     };
   };
   kpkpass = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kpkpass-22.08.2.tar.xz";
-      sha256 = "0s5jl9h2wsjs935zh2g84l8fdk22z2926xp361461v55ma287z1w";
-      name = "kpkpass-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kpkpass-22.08.3.tar.xz";
+      sha256 = "1rprcf74d6sc561v2v6gvrb2k2z0jidjg9i7g3hdv8x1cby7gav4";
+      name = "kpkpass-22.08.3.tar.xz";
     };
   };
   kpmcore = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kpmcore-22.08.2.tar.xz";
-      sha256 = "1vnay6gbnmmyi4a4j8gxynmawjnly7mxlmk3xmfx96a20d4jsy7x";
-      name = "kpmcore-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kpmcore-22.08.3.tar.xz";
+      sha256 = "0ygwjiqpzcp7y1x46isbhh6nfcn6acml791cxiwq280ynzklkmil";
+      name = "kpmcore-22.08.3.tar.xz";
     };
   };
   kpublictransport = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kpublictransport-22.08.2.tar.xz";
-      sha256 = "0w38b9ji9jhn2lphcsbfayipcxj56ls9dvbb73saddbrh8vazyyp";
-      name = "kpublictransport-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kpublictransport-22.08.3.tar.xz";
+      sha256 = "1zjdgs06dk44lvilikhpmk741cc3p6bkwxm7fkpqd4pc8jv3yvbz";
+      name = "kpublictransport-22.08.3.tar.xz";
     };
   };
   kqtquickcharts = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kqtquickcharts-22.08.2.tar.xz";
-      sha256 = "0frsjwcbr8080yhpx55fri0km30bx5ylyvsj71il05bdjsbcrd43";
-      name = "kqtquickcharts-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kqtquickcharts-22.08.3.tar.xz";
+      sha256 = "1vcgpl50a9rp6sgm0sq77pn1w9gqzmvsabfbdd85v7z5h5bm9ifr";
+      name = "kqtquickcharts-22.08.3.tar.xz";
     };
   };
   krdc = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/krdc-22.08.2.tar.xz";
-      sha256 = "012g6dk80i8y5aicygh420346yh9jrrr3dm7czp7wgdnw837sf60";
-      name = "krdc-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/krdc-22.08.3.tar.xz";
+      sha256 = "0h70wgbrn1p64fknw4hx219r9bjcj05bsxc6brsk97vab6mkz7rp";
+      name = "krdc-22.08.3.tar.xz";
     };
   };
   kreversi = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kreversi-22.08.2.tar.xz";
-      sha256 = "04d0nzgcha67kysz4c4kn95qiwb2qvr0b0rnazjr8fzmn8il120s";
-      name = "kreversi-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kreversi-22.08.3.tar.xz";
+      sha256 = "0glfz7r4bapcr6p3i1rwrv49kljzdrpwr146nvcd8v8a0qc0aw86";
+      name = "kreversi-22.08.3.tar.xz";
     };
   };
   krfb = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/krfb-22.08.2.tar.xz";
-      sha256 = "0qkryb7n0k5dm22lqygk3nlkydvblvms80039v4im4ffjvbz9dna";
-      name = "krfb-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/krfb-22.08.3.tar.xz";
+      sha256 = "1ccpp39x75ggz2hz1fzah9pzmg2bqp2z0gkvk5s3d08952b3lnls";
+      name = "krfb-22.08.3.tar.xz";
     };
   };
   kross-interpreters = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kross-interpreters-22.08.2.tar.xz";
-      sha256 = "0jdyvf4yfdkws9gpdgdfd87ghblq872jxqiqf5w2i778sxjxjiv6";
-      name = "kross-interpreters-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kross-interpreters-22.08.3.tar.xz";
+      sha256 = "0xhly152145x7zhbvnngr753bj5ncwkj2467mpcx3xxddsnkgll9";
+      name = "kross-interpreters-22.08.3.tar.xz";
     };
   };
   kruler = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kruler-22.08.2.tar.xz";
-      sha256 = "05fxzya2dk2y8mxydw8xnabify8mvq6q7vpbb998fpwssiis9b1q";
-      name = "kruler-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kruler-22.08.3.tar.xz";
+      sha256 = "1s28hcacmsiab1g5zw33ncs2kn9kjsf3qjj2866azhjks1wpjzkz";
+      name = "kruler-22.08.3.tar.xz";
     };
   };
   ksanecore = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/ksanecore-22.08.2.tar.xz";
-      sha256 = "1vcywz0sz4znagxp3wcz98b5sqdmbk6fyy3bq7z3vz8yvbgy8cbv";
-      name = "ksanecore-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/ksanecore-22.08.3.tar.xz";
+      sha256 = "1mq35m78dqxbswavhpn91nxbqjihxfvgnv6mc23sjvxmyy6khnqq";
+      name = "ksanecore-22.08.3.tar.xz";
     };
   };
   kshisen = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kshisen-22.08.2.tar.xz";
-      sha256 = "16520gdkv65gbnnrdylbkr3ypvjirag29lhbkqks4laacvgfd4b8";
-      name = "kshisen-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kshisen-22.08.3.tar.xz";
+      sha256 = "17adlx753qiglbvcsg5ik4ap24mvrm0mypkp8a3yq6h580n8lv57";
+      name = "kshisen-22.08.3.tar.xz";
     };
   };
   ksirk = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/ksirk-22.08.2.tar.xz";
-      sha256 = "120r1c9kwhm9d5isc0kv8bwgi3gxiqcxs9psk8szk8wb0yycip61";
-      name = "ksirk-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/ksirk-22.08.3.tar.xz";
+      sha256 = "0aj2m3icy8sba9cbzl31pxhbhwvkcyd4kczkvxc4q1q70sd5da2s";
+      name = "ksirk-22.08.3.tar.xz";
     };
   };
   ksmtp = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/ksmtp-22.08.2.tar.xz";
-      sha256 = "15alzc5z054jcw2pkraj2vd29b2p0wwp4a90wr1fbvm1a10bp454";
-      name = "ksmtp-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/ksmtp-22.08.3.tar.xz";
+      sha256 = "0knw35ai0qi252qpx92zq15ihgb2n5kq6dg6k17wnrzp03nnbslv";
+      name = "ksmtp-22.08.3.tar.xz";
     };
   };
   ksnakeduel = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/ksnakeduel-22.08.2.tar.xz";
-      sha256 = "0s7qg05wr4zyyy8m76hmfc9q5kvk02c20ga890mq418qkxrhqycf";
-      name = "ksnakeduel-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/ksnakeduel-22.08.3.tar.xz";
+      sha256 = "04j31cmb8g1q090dz84bhfqc789srqad902fz5f9zp2gl2rbvnrz";
+      name = "ksnakeduel-22.08.3.tar.xz";
     };
   };
   kspaceduel = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kspaceduel-22.08.2.tar.xz";
-      sha256 = "0p02j6hi5gvb36gxwvd8g7m8ajmmigwgfpx85jad01jnzrr8raci";
-      name = "kspaceduel-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kspaceduel-22.08.3.tar.xz";
+      sha256 = "10zrrblp9xzb7ldpknv3zsz7fr9qjv8317wxw6aihb2m3gb6c0hk";
+      name = "kspaceduel-22.08.3.tar.xz";
     };
   };
   ksquares = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/ksquares-22.08.2.tar.xz";
-      sha256 = "1v7lfg3if1ksi6zjx9rkn8mbc9nnq1025s9zsc6x847lmnzc214v";
-      name = "ksquares-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/ksquares-22.08.3.tar.xz";
+      sha256 = "0whwdkil3vqzrni0pqnh7x5dsqsd3i22m3xcv1adw1j3r5r8z05h";
+      name = "ksquares-22.08.3.tar.xz";
     };
   };
   ksudoku = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/ksudoku-22.08.2.tar.xz";
-      sha256 = "1qi75fbqqj3r8rchzpaf2sjxlib8gj44q8bbdqd4ba3p0y7qap77";
-      name = "ksudoku-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/ksudoku-22.08.3.tar.xz";
+      sha256 = "0z8f0hyr60sps2zkbgsfqwyj8ksf7q5zvacjzbdpysg09h9fqyf7";
+      name = "ksudoku-22.08.3.tar.xz";
     };
   };
   ksystemlog = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/ksystemlog-22.08.2.tar.xz";
-      sha256 = "0iil7mxn9g1v6p2vdriy7zfkml3znjaps27jzvpdwfna9wclbc2r";
-      name = "ksystemlog-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/ksystemlog-22.08.3.tar.xz";
+      sha256 = "0klsnnc7aljbx5drwv2nf3sd6w32k1dzlmnmpyi62cckvdcq0y3z";
+      name = "ksystemlog-22.08.3.tar.xz";
     };
   };
   kteatime = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kteatime-22.08.2.tar.xz";
-      sha256 = "0zlj14glzbx3k4vrjjgk5xp7yzvvpsjafkm5h1470bvbrp8c6ird";
-      name = "kteatime-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kteatime-22.08.3.tar.xz";
+      sha256 = "1magsihwm6mnrpwks29kg2s057fcakj22j5xj1d02dh49ch46rx7";
+      name = "kteatime-22.08.3.tar.xz";
     };
   };
   ktimer = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/ktimer-22.08.2.tar.xz";
-      sha256 = "0nigdd98xdcyxjqbxbc37bqwkvv7qms3h6z03s9nv1h6cw45nsps";
-      name = "ktimer-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/ktimer-22.08.3.tar.xz";
+      sha256 = "0lyblql9dzmcm5bhj3y7bir4hrcr3289brxzj2ii7dqm3x0fxyq0";
+      name = "ktimer-22.08.3.tar.xz";
     };
   };
   ktnef = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/ktnef-22.08.2.tar.xz";
-      sha256 = "1k7vhmb3205ab626bjc0dm97c2cwcbfjzp2rc2dz4sgx0c090r6g";
-      name = "ktnef-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/ktnef-22.08.3.tar.xz";
+      sha256 = "1zqk83pzb6ix10xi453ccbx0y2cvyhwqyz1jbzrcyasl3y6s4ldw";
+      name = "ktnef-22.08.3.tar.xz";
     };
   };
   ktorrent = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/ktorrent-22.08.2.tar.xz";
-      sha256 = "107x5y45x16z952kwgf3w0g6sv350snxbj46g4yziwsbhixmfzaw";
-      name = "ktorrent-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/ktorrent-22.08.3.tar.xz";
+      sha256 = "1ddmx4v1fayb7vp3ic7wab4jj18jw5lq4gm4rbr3wmicsl6k0cjr";
+      name = "ktorrent-22.08.3.tar.xz";
     };
   };
   ktouch = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/ktouch-22.08.2.tar.xz";
-      sha256 = "1p5jzp2y8l70q7gjrq7fj2c0y3hydaan82c8v7h4nwgkji5p452c";
-      name = "ktouch-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/ktouch-22.08.3.tar.xz";
+      sha256 = "1f1c66gxjv3g3vj6ld6c8qmdnbf3mdxdd5s2dqyjc9yq6ql5g6qd";
+      name = "ktouch-22.08.3.tar.xz";
     };
   };
   ktp-accounts-kcm = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/ktp-accounts-kcm-22.08.2.tar.xz";
-      sha256 = "0dbv0qvj9lqqxm3app4856wvshrxdh42n6md83w4356fqgf4ihbf";
-      name = "ktp-accounts-kcm-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/ktp-accounts-kcm-22.08.3.tar.xz";
+      sha256 = "17prcf1irr8x62pcbzzfq8hl3l3k93wnaiva67wzr9mlh9b1a0cj";
+      name = "ktp-accounts-kcm-22.08.3.tar.xz";
     };
   };
   ktp-approver = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/ktp-approver-22.08.2.tar.xz";
-      sha256 = "0mnnpwx3khapz38agj1gw3fvpi8n3h3xdhx07i9kl2r0wpxhnrpi";
-      name = "ktp-approver-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/ktp-approver-22.08.3.tar.xz";
+      sha256 = "1b2aqwmdbmsygg4qxdfwxfb94n09hlfpisck31wj5l67vy8hr3lg";
+      name = "ktp-approver-22.08.3.tar.xz";
     };
   };
   ktp-auth-handler = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/ktp-auth-handler-22.08.2.tar.xz";
-      sha256 = "000rviz3mmdrmzy0nsjg4zbc1d1razkxw61rcnhg34xq2zjvp520";
-      name = "ktp-auth-handler-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/ktp-auth-handler-22.08.3.tar.xz";
+      sha256 = "080anm0v8f1y1zyf6h7ym59g2vdlgvh8bq1l4riid1rg434hqhw3";
+      name = "ktp-auth-handler-22.08.3.tar.xz";
     };
   };
   ktp-call-ui = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/ktp-call-ui-22.08.2.tar.xz";
-      sha256 = "0kadrba3kcj8vyskqd68msfg1l2s5v7bdkqdka4dmb5clhsycv19";
-      name = "ktp-call-ui-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/ktp-call-ui-22.08.3.tar.xz";
+      sha256 = "1rmn7hz6b9wh5v2zfnkbjmg3klaldy6fc9m0pigd1g3cqlij5lmv";
+      name = "ktp-call-ui-22.08.3.tar.xz";
     };
   };
   ktp-common-internals = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/ktp-common-internals-22.08.2.tar.xz";
-      sha256 = "00xc8yjxc9bd5hmiwpphqz9bb1m77daqqp4hy6srpmnsmd5nvwa7";
-      name = "ktp-common-internals-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/ktp-common-internals-22.08.3.tar.xz";
+      sha256 = "1g2xyvdlcfba8pj575x1g3pjkz025lb8pqc418k5knw25mq0nyff";
+      name = "ktp-common-internals-22.08.3.tar.xz";
     };
   };
   ktp-contact-list = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/ktp-contact-list-22.08.2.tar.xz";
-      sha256 = "0lx5cmsqk7xgffv1rfvqdbb02rhygc4grprg689g50c2b129rhcc";
-      name = "ktp-contact-list-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/ktp-contact-list-22.08.3.tar.xz";
+      sha256 = "04d36hg052kiw5v58654bdhrpms1vrljq8wp05ii0ncl1ld9z24v";
+      name = "ktp-contact-list-22.08.3.tar.xz";
     };
   };
   ktp-contact-runner = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/ktp-contact-runner-22.08.2.tar.xz";
-      sha256 = "1p9m36lpz4y7lsz5iidhsqi27nq9q8ldjasxb15m1b09rr8z95jp";
-      name = "ktp-contact-runner-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/ktp-contact-runner-22.08.3.tar.xz";
+      sha256 = "03xi68f1kx8x7l7fi1h9437v7zxbzb4yvmfypq1zdzp0jxwm62fs";
+      name = "ktp-contact-runner-22.08.3.tar.xz";
     };
   };
   ktp-desktop-applets = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/ktp-desktop-applets-22.08.2.tar.xz";
-      sha256 = "18ylsdkbvz6wfbnq5gjnzq3lpdx0v7hc531fs1p2p4p3ka0xfci5";
-      name = "ktp-desktop-applets-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/ktp-desktop-applets-22.08.3.tar.xz";
+      sha256 = "0ji932mgszm7d5wq4r9mig62v1i7swf85yah31zck8mhnmb9867g";
+      name = "ktp-desktop-applets-22.08.3.tar.xz";
     };
   };
   ktp-filetransfer-handler = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/ktp-filetransfer-handler-22.08.2.tar.xz";
-      sha256 = "0rxymb0jkdwmzq5l4q81bgajficaxm80wli8lld7kdwkh65mzjb8";
-      name = "ktp-filetransfer-handler-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/ktp-filetransfer-handler-22.08.3.tar.xz";
+      sha256 = "0kyqszi3n72p2iczfp0g1arf99cp1i6pf943gm7vzj7g012jql00";
+      name = "ktp-filetransfer-handler-22.08.3.tar.xz";
     };
   };
   ktp-kded-module = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/ktp-kded-module-22.08.2.tar.xz";
-      sha256 = "10lq78rfrjr46v7fl55vki9hq6xsfsd48nbkp1ncxcdccd8a6j5g";
-      name = "ktp-kded-module-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/ktp-kded-module-22.08.3.tar.xz";
+      sha256 = "0y4l7qdy571dlk8lvp4c0ar74p8f8msvaxwvz9p60rvxkq8j4z1n";
+      name = "ktp-kded-module-22.08.3.tar.xz";
     };
   };
   ktp-send-file = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/ktp-send-file-22.08.2.tar.xz";
-      sha256 = "11pk0r82d0myskxdn90xq1fraiyyl1xzyrxx50j9imw1q6w8qv7f";
-      name = "ktp-send-file-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/ktp-send-file-22.08.3.tar.xz";
+      sha256 = "11dsifls2n20gadhqb611lb5r4zc40qj4q753kafv7zxsb7ia3xw";
+      name = "ktp-send-file-22.08.3.tar.xz";
     };
   };
   ktp-text-ui = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/ktp-text-ui-22.08.2.tar.xz";
-      sha256 = "1jk3f8x18c8zgax5v3jgn8vn091dg9xppi7h4851f1vm348ppfqx";
-      name = "ktp-text-ui-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/ktp-text-ui-22.08.3.tar.xz";
+      sha256 = "0y816fgx5g2d1wgm1sm1qix3a7pcqsqwf6a9plpcgdpkb6ddvgl7";
+      name = "ktp-text-ui-22.08.3.tar.xz";
     };
   };
   ktuberling = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/ktuberling-22.08.2.tar.xz";
-      sha256 = "06p8vakblj0la06ywi89zss9mcjpb018jhj3a105jj53gl1z8c73";
-      name = "ktuberling-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/ktuberling-22.08.3.tar.xz";
+      sha256 = "04vp3y0jm45m4kdi0mvkg8g653wbjg4csfr31cd5khkaj72rnl1s";
+      name = "ktuberling-22.08.3.tar.xz";
     };
   };
   kturtle = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kturtle-22.08.2.tar.xz";
-      sha256 = "17zg39377lwbnpf438b3jfj1ihrr9zlk4ibmgls7d4x8dqphg9hy";
-      name = "kturtle-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kturtle-22.08.3.tar.xz";
+      sha256 = "0xl4gg4n1qz3v7yfkd754n7sbjkwx6s28iba6k0cqvfcnfinlg42";
+      name = "kturtle-22.08.3.tar.xz";
     };
   };
   kubrick = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kubrick-22.08.2.tar.xz";
-      sha256 = "1ld07pcpzj68p6pd4n7p9b1y8nflydraabqszc7sj88hkf601694";
-      name = "kubrick-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kubrick-22.08.3.tar.xz";
+      sha256 = "07vj9sb49kf8sggi07rh83svvwfvmnac5pb5dwhrmfcjbvlfks27";
+      name = "kubrick-22.08.3.tar.xz";
     };
   };
   kwalletmanager = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kwalletmanager-22.08.2.tar.xz";
-      sha256 = "03a9brsck24z6ln6v86wbpj9flg7rpshjfsyr89xbkw6v61hjgaj";
-      name = "kwalletmanager-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kwalletmanager-22.08.3.tar.xz";
+      sha256 = "008avscsl60qwk5l669i1qk7qvvhpnagdyqa494lqikdj5dp8mpf";
+      name = "kwalletmanager-22.08.3.tar.xz";
     };
   };
   kwave = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kwave-22.08.2.tar.xz";
-      sha256 = "0rwm080p56gnichjdaa9r8ki3ycb918c002k8pm8smwbsd7vkw5c";
-      name = "kwave-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kwave-22.08.3.tar.xz";
+      sha256 = "1f2v8vrzd2nrxd3jf9sjwfj2l2m9rdx4036nhd9vpbspx1xsx9mb";
+      name = "kwave-22.08.3.tar.xz";
     };
   };
   kwordquiz = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/kwordquiz-22.08.2.tar.xz";
-      sha256 = "1qy5micdpp0fa1zp15ck44i2afalqbliqnv25yi52aafabj05ixg";
-      name = "kwordquiz-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/kwordquiz-22.08.3.tar.xz";
+      sha256 = "0zb71dywq342z1rz7hxip1f9330rx2bxwia1k5h3krw4kc546872";
+      name = "kwordquiz-22.08.3.tar.xz";
     };
   };
   libgravatar = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/libgravatar-22.08.2.tar.xz";
-      sha256 = "1rr6b1prdi2r1n3plg6jwjxm1kxp1azspcbwzs8igbyglmq2h5pq";
-      name = "libgravatar-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/libgravatar-22.08.3.tar.xz";
+      sha256 = "0r9dvyfmdyckpjaa9jnqrnllrkxpsq9x7w6kk2fmxdmi8mnclcfm";
+      name = "libgravatar-22.08.3.tar.xz";
     };
   };
   libkcddb = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/libkcddb-22.08.2.tar.xz";
-      sha256 = "1nhfv9xrc3zxf6553h9sscalyzxw5wk2r9dkbaiv7fcczka7m5mg";
-      name = "libkcddb-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/libkcddb-22.08.3.tar.xz";
+      sha256 = "01blqihx344cjyxzkbl3lhfhls5wvnqfq04xfyd39s58ljdd2031";
+      name = "libkcddb-22.08.3.tar.xz";
     };
   };
   libkcompactdisc = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/libkcompactdisc-22.08.2.tar.xz";
-      sha256 = "17rb5szf17xs6g1bn8wwsc7qxhjc996bfs14570xhyhhwil79z3v";
-      name = "libkcompactdisc-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/libkcompactdisc-22.08.3.tar.xz";
+      sha256 = "0fd4v1zfzkmvimli878mrmpd4vy7rrz4b12v7gq45micrkrch4b6";
+      name = "libkcompactdisc-22.08.3.tar.xz";
     };
   };
   libkdcraw = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/libkdcraw-22.08.2.tar.xz";
-      sha256 = "03rzd87gz2czq81y3mjbx0bgrnbipfkx9lnqrm5nj6mcagdir8di";
-      name = "libkdcraw-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/libkdcraw-22.08.3.tar.xz";
+      sha256 = "1q4zv1i3bfln0ka3jw3ldahvazn5yhhbsk7ynhg3ik2bgacbk54d";
+      name = "libkdcraw-22.08.3.tar.xz";
     };
   };
   libkdegames = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/libkdegames-22.08.2.tar.xz";
-      sha256 = "1gbdria8yk4j4bna8cs4mmzkgyainras59wrwn36v55c2cdx2jjj";
-      name = "libkdegames-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/libkdegames-22.08.3.tar.xz";
+      sha256 = "15x068bqw7xaw294z0ly6k1bd7wx55aymrzc07cn9x1hamflvksc";
+      name = "libkdegames-22.08.3.tar.xz";
     };
   };
   libkdepim = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/libkdepim-22.08.2.tar.xz";
-      sha256 = "1vjc09l7lbhwqrggqihy05sdmffpqbipkxy6ykya7vf4dnm83ddw";
-      name = "libkdepim-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/libkdepim-22.08.3.tar.xz";
+      sha256 = "07lfc73v3d00k1cwrc7xfmknmk37zvjpy0bq7n93hjs46v9gibwc";
+      name = "libkdepim-22.08.3.tar.xz";
     };
   };
   libkeduvocdocument = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/libkeduvocdocument-22.08.2.tar.xz";
-      sha256 = "1n7km3xwgdv6mdk83nw16760nfzn7lfcs7mhfm4yay8x930mkhg8";
-      name = "libkeduvocdocument-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/libkeduvocdocument-22.08.3.tar.xz";
+      sha256 = "161yrwp140gzf3m1nxhz23jpvfy44p7pyvm4gjy671zi5rk65wr3";
+      name = "libkeduvocdocument-22.08.3.tar.xz";
     };
   };
   libkexiv2 = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/libkexiv2-22.08.2.tar.xz";
-      sha256 = "17v90apzvw4rc7wrgla2j0gawvpn4h8m580zwpclh0mdgq7af0js";
-      name = "libkexiv2-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/libkexiv2-22.08.3.tar.xz";
+      sha256 = "1ldgv28y41987w8lqrh3cvfp1iq1j45bijaf5250grjimc2dgbwd";
+      name = "libkexiv2-22.08.3.tar.xz";
     };
   };
   libkgapi = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/libkgapi-22.08.2.tar.xz";
-      sha256 = "082bc6x4v9zjzxip9vdlhirnpjr3l1bayshwvzfx7m1f0l4l2ci6";
-      name = "libkgapi-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/libkgapi-22.08.3.tar.xz";
+      sha256 = "15r1wnbr6f89q661049w9wpkyxhnahknwk3izzpf22j6z9a1a5sd";
+      name = "libkgapi-22.08.3.tar.xz";
     };
   };
   libkipi = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/libkipi-22.08.2.tar.xz";
-      sha256 = "0g33hhy9b9xzis3kbxd25jg6d651n2cg3icblpf2nnfn6py8vsi6";
-      name = "libkipi-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/libkipi-22.08.3.tar.xz";
+      sha256 = "11ivz96q9zas8xlckcxpz11ra9pwy1hscq6ggqdwwy4yhs37p0wf";
+      name = "libkipi-22.08.3.tar.xz";
     };
   };
   libkleo = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/libkleo-22.08.2.tar.xz";
-      sha256 = "0lwknyq1342xlgq0lvbghqma92cpcdb04x20ihg8pv42sp1lhqav";
-      name = "libkleo-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/libkleo-22.08.3.tar.xz";
+      sha256 = "056kgqn4r3k774h2ynkyg97byai1kvy7rgz1mp415c2di7qjwhl3";
+      name = "libkleo-22.08.3.tar.xz";
     };
   };
   libkmahjongg = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/libkmahjongg-22.08.2.tar.xz";
-      sha256 = "0vl70bdgcwi7dvklb0sy67vjjjmp334biaczlzcq5pa7gkh3fqj5";
-      name = "libkmahjongg-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/libkmahjongg-22.08.3.tar.xz";
+      sha256 = "0v2bcanldr0ahv747allzjjqac7d9nc51yyj3d1rzsrdpw78zr0y";
+      name = "libkmahjongg-22.08.3.tar.xz";
     };
   };
   libkomparediff2 = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/libkomparediff2-22.08.2.tar.xz";
-      sha256 = "074dpggjcjjkhpdrxzybgnyxj0jp22g4d2p7h7shy2r4pmqdai0s";
-      name = "libkomparediff2-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/libkomparediff2-22.08.3.tar.xz";
+      sha256 = "0c4zmwh9ycnh3v6qbdvn6s3m43jcc38n59dzdyh96kqq42vsnldx";
+      name = "libkomparediff2-22.08.3.tar.xz";
     };
   };
   libksane = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/libksane-22.08.2.tar.xz";
-      sha256 = "1yhxca4hqdfim6f2q8yay24mdwmcn082kddyddhpgdgl59rdrws6";
-      name = "libksane-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/libksane-22.08.3.tar.xz";
+      sha256 = "12rfs8m1may1896mfhb7a8jiqsjpvsi7w6chp7dc0y9d69g9bsgr";
+      name = "libksane-22.08.3.tar.xz";
     };
   };
   libksieve = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/libksieve-22.08.2.tar.xz";
-      sha256 = "1k0il3gi11xvd0zab7p09199ixh5hb3xdwqpijzsiwzgl27az46c";
-      name = "libksieve-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/libksieve-22.08.3.tar.xz";
+      sha256 = "10466zagivfh59n8gn7ah6kq2axkbz3864sjr9ws95ghcrh0vyz0";
+      name = "libksieve-22.08.3.tar.xz";
     };
   };
   libktorrent = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/libktorrent-22.08.2.tar.xz";
-      sha256 = "0vgq36hbypig2axb5wrn3y2mgm5r7dyrlfq1bj99dnrbrqivsrnd";
-      name = "libktorrent-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/libktorrent-22.08.3.tar.xz";
+      sha256 = "0dhsmlmz8kvsnmkmnkfhpzzd8i5gvg3glhyzmyan985a9rnzg9hz";
+      name = "libktorrent-22.08.3.tar.xz";
     };
   };
   lokalize = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/lokalize-22.08.2.tar.xz";
-      sha256 = "0x1dxwjfbjqhb7dcz6rj74s505npdj2081zyd8sf0q8zjri3cpq6";
-      name = "lokalize-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/lokalize-22.08.3.tar.xz";
+      sha256 = "1va0ic5s6f4nwylz3ll2966dmz1cxd4wq90fcqfdivj2ir162y2p";
+      name = "lokalize-22.08.3.tar.xz";
     };
   };
   lskat = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/lskat-22.08.2.tar.xz";
-      sha256 = "0bw843l3fvwb4b0xg5jx9xyb9lmyq66gzbz3ahzixnw5wbj0c888";
-      name = "lskat-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/lskat-22.08.3.tar.xz";
+      sha256 = "07374x7hqzhdx7f146nvisqz1jwk655j3di58prnwhf6scxb49yn";
+      name = "lskat-22.08.3.tar.xz";
     };
   };
   mailcommon = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/mailcommon-22.08.2.tar.xz";
-      sha256 = "1l169cxizmms721wx7lag4i5fcsbplflfxkpglzh59pjqgfqv4kz";
-      name = "mailcommon-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/mailcommon-22.08.3.tar.xz";
+      sha256 = "1zkgizr9pw1nz9m67svnp5z1rhmwajn9cag52z7f50zvm4i4xic8";
+      name = "mailcommon-22.08.3.tar.xz";
     };
   };
   mailimporter = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/mailimporter-22.08.2.tar.xz";
-      sha256 = "1kcps0q857cy8bdssl8xmfphmlxqhp5i383khcqg42avgrqv3c2h";
-      name = "mailimporter-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/mailimporter-22.08.3.tar.xz";
+      sha256 = "1564icsvqxksdlr2rxd1hyikmmqv1lci12g4n86p3x22srar99mr";
+      name = "mailimporter-22.08.3.tar.xz";
     };
   };
   marble = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/marble-22.08.2.tar.xz";
-      sha256 = "1ys05l0sk4k3bibha23y6q38a9kwhg2rvafmafzg2l37krx0rn47";
-      name = "marble-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/marble-22.08.3.tar.xz";
+      sha256 = "02znm95zxsylqqllns3idacjgzg6lys5dyqg6jv427j0m7ypfxsv";
+      name = "marble-22.08.3.tar.xz";
     };
   };
   markdownpart = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/markdownpart-22.08.2.tar.xz";
-      sha256 = "0sgdkf85gmf1sg508bamll60vg0nanxjp2yccavdrq89snjg6c71";
-      name = "markdownpart-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/markdownpart-22.08.3.tar.xz";
+      sha256 = "14hf1m3dhkhi57cfvq90fakl4y53pndy7pnxyab5xvw75n5ghvrm";
+      name = "markdownpart-22.08.3.tar.xz";
     };
   };
   mbox-importer = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/mbox-importer-22.08.2.tar.xz";
-      sha256 = "1msva2bs8558v0v1ad12fsppbkrrb9cn1kamyzq1hwzqd17dwkyg";
-      name = "mbox-importer-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/mbox-importer-22.08.3.tar.xz";
+      sha256 = "03zqr5f8x1rikpbh6f19fjjzgab7bn24virgnm00mkhf0lgxa2mh";
+      name = "mbox-importer-22.08.3.tar.xz";
     };
   };
   messagelib = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/messagelib-22.08.2.tar.xz";
-      sha256 = "0mv7fn0q10hx60108y538apa2wcxc9fr9dm40ccpafx01za6099n";
-      name = "messagelib-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/messagelib-22.08.3.tar.xz";
+      sha256 = "155l9warjalmvzc8224qv2v6whsinqjdqyyahxl0fvrkqzbwns27";
+      name = "messagelib-22.08.3.tar.xz";
     };
   };
   minuet = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/minuet-22.08.2.tar.xz";
-      sha256 = "07l79d8bn1d9jyv98hms3sgfhp0a2s386d9xj8slx8iwa9gh5bjv";
-      name = "minuet-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/minuet-22.08.3.tar.xz";
+      sha256 = "0wwdva797v2zms9l9php9vbsp5r3kmgp0kdgqpdiak4crh64mcz5";
+      name = "minuet-22.08.3.tar.xz";
     };
   };
   okular = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/okular-22.08.2.tar.xz";
-      sha256 = "1bcfdmrs7f3dxcrc73qyv8zswlf2pl4jk0qq5fmrh7dlazvsykp9";
-      name = "okular-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/okular-22.08.3.tar.xz";
+      sha256 = "17lifjvrhyyq9zfnj7fjxv7y7m1m1ci3srnbpqc4v4bf5plamfs2";
+      name = "okular-22.08.3.tar.xz";
     };
   };
   palapeli = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/palapeli-22.08.2.tar.xz";
-      sha256 = "0yjll4grrrwv538ikw1axm24bxqiik8hlny5ynm1sbrpbm3d273g";
-      name = "palapeli-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/palapeli-22.08.3.tar.xz";
+      sha256 = "064vhgx09cvxj93bpl1c7nkd6b8jn97bp0z0gnz2b7aiwp2kflrg";
+      name = "palapeli-22.08.3.tar.xz";
     };
   };
   parley = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/parley-22.08.2.tar.xz";
-      sha256 = "0w2dmdx1aanjs8fclxkssmz0kww5dbb5sbhk9a257p3ll6vwnh6l";
-      name = "parley-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/parley-22.08.3.tar.xz";
+      sha256 = "1h9xjr3bar5i4k1hxziihmpx114lr0961f0rvi3h0fq1s91nv1kv";
+      name = "parley-22.08.3.tar.xz";
     };
   };
   partitionmanager = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/partitionmanager-22.08.2.tar.xz";
-      sha256 = "05qjl82hb0n00p6gj3s6aq95nr4z40zk6znvzxjih24jycg938y4";
-      name = "partitionmanager-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/partitionmanager-22.08.3.tar.xz";
+      sha256 = "1cxba47clq6igik8gdll1w5npb0z93kr2li9fx28xvn1bwlyq97r";
+      name = "partitionmanager-22.08.3.tar.xz";
     };
   };
   picmi = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/picmi-22.08.2.tar.xz";
-      sha256 = "1jrqply8cwm92rknshvlbp4lhn5afm61l4l7adsfh1lz6p4qq7i4";
-      name = "picmi-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/picmi-22.08.3.tar.xz";
+      sha256 = "1p77axcciqgwj9yirwqzj7dlyxmxa4x033im41w6llq113vzlbvh";
+      name = "picmi-22.08.3.tar.xz";
     };
   };
   pim-data-exporter = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/pim-data-exporter-22.08.2.tar.xz";
-      sha256 = "0rxvqpgykn22ylm467h00jf1mkd3qz5l0kc7zafqvamhafrqvqs1";
-      name = "pim-data-exporter-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/pim-data-exporter-22.08.3.tar.xz";
+      sha256 = "1qsq4ysjmyxzd518hxficksdgn55ffmmqzd2z54fmc3nmqlzdlvv";
+      name = "pim-data-exporter-22.08.3.tar.xz";
     };
   };
   pim-sieve-editor = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/pim-sieve-editor-22.08.2.tar.xz";
-      sha256 = "0r58qlqrl0nv26jng80zm3wiy712idyg610gisq5pz5g8smngifc";
-      name = "pim-sieve-editor-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/pim-sieve-editor-22.08.3.tar.xz";
+      sha256 = "10g6rxxk6ba2xdriajim0dlxl12qrk1lgca3c5247fj521xaqadh";
+      name = "pim-sieve-editor-22.08.3.tar.xz";
     };
   };
   pimcommon = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/pimcommon-22.08.2.tar.xz";
-      sha256 = "1ah5w1zppamb8wii0qdwv0fhjq175kaql2h0h8gj8vlypwwsj458";
-      name = "pimcommon-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/pimcommon-22.08.3.tar.xz";
+      sha256 = "10x6l1kcqp2m53s60hb3v1q5jirwjimgdafprac1243nnz6fw2g4";
+      name = "pimcommon-22.08.3.tar.xz";
     };
   };
   poxml = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/poxml-22.08.2.tar.xz";
-      sha256 = "0pjmy83b2gkvdiq8l0xs4g5knh8i0gm024isxdvmj5drvzkwwdaz";
-      name = "poxml-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/poxml-22.08.3.tar.xz";
+      sha256 = "08mk5ls7zar6vkmw34pr4cvni2p6vapq2xyc17y5ddv00083yzxn";
+      name = "poxml-22.08.3.tar.xz";
     };
   };
   print-manager = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/print-manager-22.08.2.tar.xz";
-      sha256 = "0f75ybcj5626kjwnd6njh2yxdsydz7ybmnia1vxiql6wn04h9ncz";
-      name = "print-manager-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/print-manager-22.08.3.tar.xz";
+      sha256 = "1yvvckqy9w9xff2zqxyi6nrx3m1w8cjkl2wh58r5nm6wx5x6xm1p";
+      name = "print-manager-22.08.3.tar.xz";
     };
   };
   rocs = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/rocs-22.08.2.tar.xz";
-      sha256 = "0p30acx21ahvnxwfqvalhbsyz5131la6dpmcwrdazcgd05w9jj8b";
-      name = "rocs-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/rocs-22.08.3.tar.xz";
+      sha256 = "1479014i0yal6j65djys7jwm9ixg0kim351yhbsci64islpbq7v6";
+      name = "rocs-22.08.3.tar.xz";
     };
   };
   signon-kwallet-extension = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/signon-kwallet-extension-22.08.2.tar.xz";
-      sha256 = "1sqnnli6p9krqam71nbgkqr0nr5d8j13328g70axi276sv94zc39";
-      name = "signon-kwallet-extension-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/signon-kwallet-extension-22.08.3.tar.xz";
+      sha256 = "1c7jk0j1sqv5s4c5pka4qjskkzbapk2ry8nys5sfmv9fdlkihhsg";
+      name = "signon-kwallet-extension-22.08.3.tar.xz";
     };
   };
   skanlite = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/skanlite-22.08.2.tar.xz";
-      sha256 = "14cj1zcqglg9sybv6qz55h2y1y17bs4yc565z72gxnp1lp6g0v51";
-      name = "skanlite-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/skanlite-22.08.3.tar.xz";
+      sha256 = "0binx6ynnp78r1vilsn0pdf7icyb5xsl4wmw8lhmq7ynb1prndd0";
+      name = "skanlite-22.08.3.tar.xz";
     };
   };
   skanpage = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/skanpage-22.08.2.tar.xz";
-      sha256 = "14bswzf4zb5ghnrb9mklswfd4faxar9qpbb27iwia0z5k7wm94xz";
-      name = "skanpage-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/skanpage-22.08.3.tar.xz";
+      sha256 = "1yjsj95zvbxgj4j0d1ihlr012pd0zk8ybrbn396q33gzmz4xyh5q";
+      name = "skanpage-22.08.3.tar.xz";
     };
   };
   spectacle = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/spectacle-22.08.2.tar.xz";
-      sha256 = "1bhyrhkkf6r49b152dgkjl34nx3w0rjraq7anbsnmapv3ny2qjnf";
-      name = "spectacle-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/spectacle-22.08.3.tar.xz";
+      sha256 = "037k3lnnb9fsczdndwaqhl9np89fv4nmxvmk785g4rykcg33hzk3";
+      name = "spectacle-22.08.3.tar.xz";
     };
   };
   step = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/step-22.08.2.tar.xz";
-      sha256 = "0n8b4vnmh2x7dq93rgs1rg45hbkpmkd31rghf5q096ln04p4yas0";
-      name = "step-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/step-22.08.3.tar.xz";
+      sha256 = "0f6kjmx74minvklcxpixh9b01nbzxwfmq5b6vjg64n5z78hfzckm";
+      name = "step-22.08.3.tar.xz";
     };
   };
   svgpart = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/svgpart-22.08.2.tar.xz";
-      sha256 = "133ffawzv3r4ipgfagbc9bzjs1zfp2w4g8w8621wf0cwba6dgy0a";
-      name = "svgpart-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/svgpart-22.08.3.tar.xz";
+      sha256 = "0xjj1kyyba14dhi3bi5asibssv14l0vx4b6r9lx1jxws4w0w08fz";
+      name = "svgpart-22.08.3.tar.xz";
     };
   };
   sweeper = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/sweeper-22.08.2.tar.xz";
-      sha256 = "0bkfsl07s8lydjrvpnwqx68jig83fh4yi8vlmnsyw1qnxxi887dq";
-      name = "sweeper-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/sweeper-22.08.3.tar.xz";
+      sha256 = "0f0zz4azwn2i2haz4wqrnzfmb588qhwyma3b9vlk3g5i5c43w75x";
+      name = "sweeper-22.08.3.tar.xz";
     };
   };
   umbrello = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/umbrello-22.08.2.tar.xz";
-      sha256 = "1ckq3nf230lvfrgnfnhf5sr9wrndn7jjpf9gbkfs2nd87r0wpldk";
-      name = "umbrello-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/umbrello-22.08.3.tar.xz";
+      sha256 = "0c11avj9cjji05iigrqzkr5xd2nwkd5iqv7jffd0l42p9sy8wgiy";
+      name = "umbrello-22.08.3.tar.xz";
     };
   };
   yakuake = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/yakuake-22.08.2.tar.xz";
-      sha256 = "1yw7w0sqzwn8xqqif7zvpjaz6k3lc8wcb8k6dlcwp0awpxyb1c4p";
-      name = "yakuake-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/yakuake-22.08.3.tar.xz";
+      sha256 = "11dny7h6pbqhddspizdldq0kmpa2air0qwjzjxw17zgags0qbkxf";
+      name = "yakuake-22.08.3.tar.xz";
     };
   };
   zanshin = {
-    version = "22.08.2";
+    version = "22.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.08.2/src/zanshin-22.08.2.tar.xz";
-      sha256 = "0wggr056kd8xigdf0ihra050j67sp54jly2drdwzipsn9jw4pss8";
-      name = "zanshin-22.08.2.tar.xz";
+      url = "${mirror}/stable/release-service/22.08.3/src/zanshin-22.08.3.tar.xz";
+      sha256 = "1wz9b56j7rfz7bwyiy1411rnq3x1qpspaxlairyzxzywvmaqa7qh";
+      name = "zanshin-22.08.3.tar.xz";
     };
   };
 }
diff --git a/pkgs/applications/maui/booth.nix b/pkgs/applications/maui/booth.nix
new file mode 100644
index 0000000000000..0f753832ad147
--- /dev/null
+++ b/pkgs/applications/maui/booth.nix
@@ -0,0 +1,52 @@
+{ lib
+, mkDerivation
+, cmake
+, extra-cmake-modules
+, kcoreaddons
+, ki18n
+, kirigami2
+, mauikit
+, mauikit-filebrowsing
+, qtgraphicaleffects
+, qtmultimedia
+, qtquickcontrols2
+, gst_all_1
+}:
+
+mkDerivation {
+  pname = "booth";
+
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+  ];
+
+  buildInputs = [
+    kcoreaddons
+    ki18n
+    kirigami2
+    mauikit
+    mauikit-filebrowsing
+    qtgraphicaleffects
+    qtmultimedia
+    qtquickcontrols2
+  ] ++ (with gst_all_1; [
+    gst-plugins-bad
+    gst-plugins-base
+    gst-plugins-good
+    gstreamer
+  ]);
+
+  preFixup = ''
+    qtWrapperArgs+=(
+      --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
+    )
+  '';
+
+  meta = with lib; {
+    description = "Camera application";
+    homepage = "https://invent.kde.org/maui/booth";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ milahu ];
+  };
+}
diff --git a/pkgs/applications/maui/default.nix b/pkgs/applications/maui/default.nix
index 97cc9a92e6de3..edb6837deaa35 100644
--- a/pkgs/applications/maui/default.nix
+++ b/pkgs/applications/maui/default.nix
@@ -14,7 +14,7 @@ See also `pkgs/applications/kde` as this is what this is based on.
 
 # Updates
 
-1. Update the URL in `callPackage ./fetch.sh`.
+1. Update the URL in `./fetch.sh`.
 2. Run `callPackage ./maintainers/scripts/fetch-kde-qt.sh pkgs/applications/maui`
    from the top of the Nixpkgs tree.
 3. Use `nixpkgs-review wip` to check that everything builds.
@@ -67,8 +67,10 @@ let
       mauikit-filebrowsing = callPackage ./mauikit-filebrowsing.nix { };
       mauikit-imagetools = callPackage ./mauikit-imagetools.nix { };
       mauikit-texteditor = callPackage ./mauikit-texteditor.nix { };
+      mauiman = callPackage ./mauiman.nix { };
 
       # applications
+      booth = callPackage ./booth.nix { };
       buho = callPackage ./buho.nix { };
       clip = callPackage ./clip.nix { };
       communicator = callPackage ./communicator.nix { };
diff --git a/pkgs/applications/maui/fetch.sh b/pkgs/applications/maui/fetch.sh
index cc163d289e0a0..f84a2dc2c2313 100644
--- a/pkgs/applications/maui/fetch.sh
+++ b/pkgs/applications/maui/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/maui/ -A '*-2.1.2.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/maui/ -A '*.tar.xz' )
diff --git a/pkgs/applications/maui/mauikit.nix b/pkgs/applications/maui/mauikit.nix
index 76f2f7db5d733..fcba0fbdf547f 100644
--- a/pkgs/applications/maui/mauikit.nix
+++ b/pkgs/applications/maui/mauikit.nix
@@ -6,6 +6,7 @@
 , kcoreaddons
 , ki18n
 , knotifications
+, mauiman
 , qtbase
 , qtquickcontrols2
 , qtx11extras
@@ -24,6 +25,7 @@ mkDerivation {
     kcoreaddons
     ki18n
     knotifications
+    mauiman
     qtquickcontrols2
     qtx11extras
   ];
diff --git a/pkgs/applications/maui/mauiman.nix b/pkgs/applications/maui/mauiman.nix
new file mode 100644
index 0000000000000..9b54d8d479f7d
--- /dev/null
+++ b/pkgs/applications/maui/mauiman.nix
@@ -0,0 +1,27 @@
+{ lib
+, mkDerivation
+, cmake
+, extra-cmake-modules
+, kconfig
+, kcoreaddons
+, ki18n
+, knotifications
+, qtbase
+, qtquickcontrols2
+, qtx11extras
+}:
+
+mkDerivation {
+  pname = "mauiman";
+
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+  ];
+
+  meta = with lib; {
+    homepage = "https://invent.kde.org/maui/mauiman";
+    description = "Maui Manager Library. Server and public library API";
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/applications/maui/srcs.nix b/pkgs/applications/maui/srcs.nix
index a432814d49ec2..cf751af9ef346 100644
--- a/pkgs/applications/maui/srcs.nix
+++ b/pkgs/applications/maui/srcs.nix
@@ -3,116 +3,148 @@
 { fetchurl, mirror }:
 
 {
+  bonsai = {
+    version = "2.2.0";
+    src = fetchurl {
+      url = "${mirror}/stable/maui/bonsai/1.0.0/bonsai-2.2.0.tar.xz";
+      sha256 = "0gpqdj30brqv9nsiis93w9lad4xn7d301gxncj04pcpybmbksg4r";
+      name = "bonsai-2.2.0.tar.xz";
+    };
+  };
+  booth = {
+    version = "1.0.0";
+    src = fetchurl {
+      url = "${mirror}/stable/maui/booth/1.0.0/booth-1.0.0.tar.xz";
+      sha256 = "0cdn3vkbf1mlq32akz86mdyjfrq661h4jrfmp1x62ih63930hix2";
+      name = "booth-1.0.0.tar.xz";
+    };
+  };
   buho = {
-    version = "2.1.2";
+    version = "2.2.0";
     src = fetchurl {
-      url = "${mirror}/stable/maui/buho/2.1.2/buho-2.1.2.tar.xz";
-      sha256 = "0xc623w1zp0yh929b8h6mf9r4frnfabd30634ba43x4ac12jk7g8";
-      name = "buho-2.1.2.tar.xz";
+      url = "${mirror}/stable/maui/buho/2.2.0/buho-2.2.0.tar.xz";
+      sha256 = "1jj9kygh5b88ksg22969zlsrbgps6z7z2n77g6ldqzvg8mmh2cwr";
+      name = "buho-2.2.0.tar.xz";
     };
   };
   clip = {
-    version = "2.1.2";
+    version = "2.2.0";
     src = fetchurl {
-      url = "${mirror}/stable/maui/clip/2.1.2/clip-2.1.2.tar.xz";
-      sha256 = "168lz2qi4y56pwfwyzqnhwz4lgh2763w260l860527aw049crv4z";
-      name = "clip-2.1.2.tar.xz";
+      url = "${mirror}/stable/maui/clip/2.2.0/clip-2.2.0.tar.xz";
+      sha256 = "0ggymdscd7c942vvii3mswkq84lkygdcbvpg3s2lhqaqxpivy96z";
+      name = "clip-2.2.0.tar.xz";
     };
   };
   communicator = {
-    version = "2.1.2";
+    version = "2.2.0";
     src = fetchurl {
-      url = "${mirror}/stable/maui/communicator/2.1.2/communicator-2.1.2.tar.xz";
-      sha256 = "0m7axdjpl7s9cz6fcaj4kwr9wdxybwdb76k9rz5yigyy35vigcfi";
-      name = "communicator-2.1.2.tar.xz";
+      url = "${mirror}/stable/maui/communicator/2.2.0/communicator-2.2.0.tar.xz";
+      sha256 = "0njyjzf8w2aamrj1yajjw7551dc72db9m0iv14mnb0gcd9pphni7";
+      name = "communicator-2.2.0.tar.xz";
     };
   };
   index-fm = {
-    version = "2.1.2";
+    version = "2.2.0";
     src = fetchurl {
-      url = "${mirror}/stable/maui/index/2.1.2/index-fm-2.1.2.tar.xz";
-      sha256 = "1yawnzx51h6yrlnivbwz9d7481k382pzg3jnczrajfjnv7ir29dn";
-      name = "index-fm-2.1.2.tar.xz";
+      url = "${mirror}/stable/maui/index/2.2.0/index-fm-2.2.0.tar.xz";
+      sha256 = "0v39sfdqb21669cx96nd78vprwaxsvg3cpp3lly43n09nv6gkw41";
+      name = "index-fm-2.2.0.tar.xz";
     };
   };
   mauikit = {
-    version = "2.1.2";
+    version = "2.2.0";
     src = fetchurl {
-      url = "${mirror}/stable/maui/mauikit/2.1.2/mauikit-2.1.2.tar.xz";
-      sha256 = "1n5p8107lwa4m5gbwlcqmmdlyw15vjaq0dfaz5zal733s6rq2gm7";
-      name = "mauikit-2.1.2.tar.xz";
+      url = "${mirror}/stable/maui/mauikit/2.2.0/mauikit-2.2.0.tar.xz";
+      sha256 = "05bvgwl1yfbfrlxhl6ngvkdk34rg4y12fsrddm8f19b6dkvjzxq2";
+      name = "mauikit-2.2.0.tar.xz";
     };
   };
   mauikit-accounts = {
-    version = "2.1.2";
+    version = "2.2.0";
     src = fetchurl {
-      url = "${mirror}/stable/maui/mauikit-accounts/2.1.2/mauikit-accounts-2.1.2.tar.xz";
-      sha256 = "00nc54gi34r8z6cwa0h8490gd0w01a245rh2g4d9fvbkrybwg7sk";
-      name = "mauikit-accounts-2.1.2.tar.xz";
+      url = "${mirror}/stable/maui/mauikit-accounts/2.2.0/mauikit-accounts-2.2.0.tar.xz";
+      sha256 = "1wc67mhhmxq0dq1g10338zm52kx274yry2ja34kagva3qkbhbb2i";
+      name = "mauikit-accounts-2.2.0.tar.xz";
     };
   };
   mauikit-filebrowsing = {
-    version = "2.1.2";
+    version = "2.2.0";
     src = fetchurl {
-      url = "${mirror}/stable/maui/mauikit-filebrowsing/2.1.2/mauikit-filebrowsing-2.1.2.tar.xz";
-      sha256 = "09pfjr449mkf27ywmwsvflzq0dgaiprw8b2lcms3m5ad7i6jvvyq";
-      name = "mauikit-filebrowsing-2.1.2.tar.xz";
+      url = "${mirror}/stable/maui/mauikit-filebrowsing/2.2.0/mauikit-filebrowsing-2.2.0.tar.xz";
+      sha256 = "1377mgkx1q66jzdlra87airqkmkl9cfj6n5xw1my1nihxcjq9bz1";
+      name = "mauikit-filebrowsing-2.2.0.tar.xz";
     };
   };
   mauikit-imagetools = {
-    version = "2.1.2";
+    version = "2.2.0";
     src = fetchurl {
-      url = "${mirror}/stable/maui/mauikit-imagetools/2.1.2/mauikit-imagetools-2.1.2.tar.xz";
-      sha256 = "1830x8xwyjs7bj0qi63pl1dk5h2qi6f84mki1schviddddq5cv6j";
-      name = "mauikit-imagetools-2.1.2.tar.xz";
+      url = "${mirror}/stable/maui/mauikit-imagetools/2.2.0/mauikit-imagetools-2.2.0.tar.xz";
+      sha256 = "07clir651sfi4c9awv0jnq4pck2cfzfv0fdkwcapl6hh0zq9qvpr";
+      name = "mauikit-imagetools-2.2.0.tar.xz";
     };
   };
   mauikit-texteditor = {
-    version = "2.1.2";
+    version = "2.2.0";
     src = fetchurl {
-      url = "${mirror}/stable/maui/mauikit-texteditor/2.1.2/mauikit-texteditor-2.1.2.tar.xz";
-      sha256 = "19z9qry56h2624kdx5xnfjzd3spv5shc87p2m6ix33x9mmrf92p1";
-      name = "mauikit-texteditor-2.1.2.tar.xz";
+      url = "${mirror}/stable/maui/mauikit-texteditor/2.2.0/mauikit-texteditor-2.2.0.tar.xz";
+      sha256 = "0x1cblydgqkhcy86x6yd8dipwhy9l5d7xlmk5igh5dllnzvcaicq";
+      name = "mauikit-texteditor-2.2.0.tar.xz";
+    };
+  };
+  mauiman = {
+    version = "1.0.0";
+    src = fetchurl {
+      url = "${mirror}/stable/maui/mauiman/1.0.0/mauiman-1.0.0.tar.xz";
+      sha256 = "1risxzgjg684c8zwmwl03ihfrxx44lbb4j43v8z3wnjkq7p44w82";
+      name = "mauiman-1.0.0.tar.xz";
     };
   };
   nota = {
-    version = "2.1.2";
+    version = "2.2.0";
     src = fetchurl {
-      url = "${mirror}/stable/maui/nota/2.1.2/nota-2.1.2.tar.xz";
-      sha256 = "11z1mw6yhwin3wj19gj9495az4p40yjkwrn0nb6i8h9b0nh44pn7";
-      name = "nota-2.1.2.tar.xz";
+      url = "${mirror}/stable/maui/nota/2.2.0/nota-2.2.0.tar.xz";
+      sha256 = "1nr8craafima1khkcxv47v1868yfwykjzaczlmmqmjha7bm1dlbd";
+      name = "nota-2.2.0.tar.xz";
     };
   };
   pix = {
-    version = "2.1.2";
+    version = "2.2.0";
     src = fetchurl {
-      url = "${mirror}/stable/maui/pix/2.1.2/pix-2.1.2.tar.xz";
-      sha256 = "0ycpazi267pl4l178i34lwzc0ssjklp0indz79r7mcfpr1vicz1s";
-      name = "pix-2.1.2.tar.xz";
+      url = "${mirror}/stable/maui/pix/2.2.0/pix-2.2.0.tar.xz";
+      sha256 = "0nghp69ax73yf0wybd724a3lgbj7jiiznnmwp67n2ls74q8yrwwy";
+      name = "pix-2.2.0.tar.xz";
     };
   };
   shelf = {
-    version = "2.1.2";
+    version = "2.2.0";
     src = fetchurl {
-      url = "${mirror}/stable/maui/shelf/2.1.2/shelf-2.1.2.tar.xz";
-      sha256 = "0f3781l8wfbpj0irmri0zkp3ia3qlik4aaq3w6qk97xjv24d98xh";
-      name = "shelf-2.1.2.tar.xz";
+      url = "${mirror}/stable/maui/shelf/2.2.0/shelf-2.2.0.tar.xz";
+      sha256 = "028ll3pi4h3jxgilsf4s5ic2rq0z9q8kh9pram9dsjvgz24p7g0c";
+      name = "shelf-2.2.0.tar.xz";
     };
   };
   station = {
-    version = "2.1.2";
+    version = "2.2.0";
+    src = fetchurl {
+      url = "${mirror}/stable/maui/station/2.2.0/station-2.2.0.tar.xz";
+      sha256 = "0za3jh5clkx8xf436vzs83nrsw5fyna4wcy73ihlf3xbra0358v1";
+      name = "station-2.2.0.tar.xz";
+    };
+  };
+  strike = {
+    version = "2.2.0";
     src = fetchurl {
-      url = "${mirror}/stable/maui/station/2.1.2/station-2.1.2.tar.xz";
-      sha256 = "0lrw7rf8i277nl9bwyx5sc05bswgll00k1jzad1i69rwdfiy9ghg";
-      name = "station-2.1.2.tar.xz";
+      url = "${mirror}/stable/maui/strike/1.0.0/strike-2.2.0.tar.xz";
+      sha256 = "159l1i0mi3q5avcg45aq5ixz8wjfryhip61h9gynxr1m77qdpfnc";
+      name = "strike-2.2.0.tar.xz";
     };
   };
   vvave = {
-    version = "2.1.2";
+    version = "2.2.0";
     src = fetchurl {
-      url = "${mirror}/stable/maui/vvave/2.1.2/vvave-2.1.2.tar.xz";
-      sha256 = "14b6b034899vyvvhzl2jqifqq715lb26dnw3d5wxzxhdplfd7pdf";
-      name = "vvave-2.1.2.tar.xz";
+      url = "${mirror}/stable/maui/vvave/2.2.0/vvave-2.2.0.tar.xz";
+      sha256 = "0qnwklc875j6g2rg610dmvcizg3m4q80fhjk4c3i1xzn8dybbg5s";
+      name = "vvave-2.2.0.tar.xz";
     };
   };
 }
diff --git a/pkgs/applications/misc/1password-gui/default.nix b/pkgs/applications/misc/1password-gui/default.nix
index 7f8cc200a968f..e6cf00d669ded 100644
--- a/pkgs/applications/misc/1password-gui/default.nix
+++ b/pkgs/applications/misc/1password-gui/default.nix
@@ -9,43 +9,43 @@
 let
 
   pname = "1password";
-  version = if channel == "stable" then "8.9.4" else "8.9.6-30.BETA";
+  version = if channel == "stable" then "8.9.8" else "8.9.10-1.BETA";
 
   sources = {
     stable = {
       x86_64-linux = {
         url = "https://downloads.1password.com/linux/tar/stable/x86_64/1password-${version}.x64.tar.gz";
-        sha256 = "sha256-Smq0gOGfBTjIOMwF1AI+TJwXaIiTi/YP9mGIqcjsCNQ=";
+        sha256 = "sha256-s5GFGsSelnvqdoEgCzU88BG0dc4bUG4IX3fbeciIPIk=";
       };
       aarch64-linux = {
         url = "https://downloads.1password.com/linux/tar/stable/aarch64/1password-${version}.arm64.tar.gz";
-        sha256 = "sha256-SJDUfAFEwYnOR+y/6Dg2S/CkA84QogoRpMXOPP5PyrM=";
+        sha256 = "sha256-wNF9jwHTxuojFQ+s05jhb7dFihE/36cadaBONqrMYF0=";
       };
       x86_64-darwin = {
         url = "https://downloads.1password.com/mac/1Password-${version}-x86_64.zip";
-        sha256 = "sha256-+2FQQ5FiB0N30JM/Mtnfa04K2XZaf3r/W1+i8VKNslA=";
+        sha256 = "sha256-Ok0M6jPZ513iTE646PDPu+dK6Y3b/J8oejJQQkQMS2w=";
       };
       aarch64-darwin = {
         url = "https://downloads.1password.com/mac/1Password-${version}-aarch64.zip";
-        sha256 = "sha256-nhocEwtr6cMSSStPa7S+g8SwPStJVWPblA3HbqJ8q6Q=";
+        sha256 = "sha256-zocY/0IgiGwuY/ZrMbip34HoRp90ATWRpfAIRhyH9M8=";
       };
     };
     beta = {
       x86_64-linux = {
         url = "https://downloads.1password.com/linux/tar/beta/x86_64/1password-${version}.x64.tar.gz";
-        sha256 = "sha256-xBfpBkYff1X26Iu0Ee03lIiR6UdJOiaG+kZMVotG0Hc=";
+        sha256 = "sha256-fW+9mko1OZ5zlTnbZucOjvjus8KVZA4Mcga/4HJyJL4=";
       };
       aarch64-linux = {
         url = "https://downloads.1password.com/linux/tar/beta/aarch64/1password-${version}.arm64.tar.gz";
-        sha256 = "0j0v90i78y1m77gpn65iyjdy1xslv1mar1ihxj9jzcmva0nmdmra";
+        sha256 = "sha256-jczDhKMCEHjE5yXr5jczSalGa4pVFs7V8BcIhueT88M=";
       };
       x86_64-darwin = {
         url = "https://downloads.1password.com/mac/1Password-${version}-x86_64.zip";
-        sha256 = "sha256-PNlEBFoIGYkDR4TzbudsqAE5vjbiVHTNL7XoflN+mUY=";
+        sha256 = "sha256-apgXMoZ7yNtUgf6efuSjAK6TGFR230FMK4j95OoXgwQ=";
       };
       aarch64-darwin = {
         url = "https://downloads.1password.com/mac/1Password-${version}-aarch64.zip";
-        sha256 = "sha256-PYS0N4VeUjNhCncSDXvpyLuHlpv4nn35aJTPANdMXwk=";
+        sha256 = "sha256-tdGu648joHu5E8ECU1TpkxgfU6ZMHlJAy+VcNDtIscA=";
       };
     };
   };
diff --git a/pkgs/applications/misc/1password/default.nix b/pkgs/applications/misc/1password/default.nix
index 1a450be6af63e..e744388b8649b 100644
--- a/pkgs/applications/misc/1password/default.nix
+++ b/pkgs/applications/misc/1password/default.nix
@@ -12,12 +12,12 @@ let
     if extension == "zip" then fetchzip args else fetchurl args;
 
   pname = "1password-cli";
-  version = "2.7.2";
+  version = "2.7.3";
   sources = rec {
-    aarch64-linux = fetch "linux_arm64" "sha256-lYY69zbJqE9KuP1Yihfz444GFazHgR9zHVDq9RzZdTA=" "zip";
-    i686-linux = fetch "linux_386" "sha256-IgTusLxgeOS9u4G1M7JqqxJw2D3hy5L9wl77crgfHjM=" "zip";
-    x86_64-linux = fetch "linux_amd64" "sha256-OL/URp5eU3K1ObTlC4nXELa7NkrZDW5tFwhgVdrmPdQ=" "zip";
-    aarch64-darwin = fetch "apple_universal" "sha256-pL39V9AO2DjCcWlecteTMCcBBZVb3RXmJ8wk5gyFojg=" "pkg";
+    aarch64-linux = fetch "linux_arm64" "sha256-FxApOWyExyfuRFQhxAVBWZGqQNmarBFBRB4jqsreWL0=" "zip";
+    i686-linux = fetch "linux_386" "sha256-Ta6mdmcsKnNRMz9vwEadZ/xXVBran5BIJQngzNz3PUs=" "zip";
+    x86_64-linux = fetch "linux_amd64" "sha256-Lvxnp5KmkIj9jnaWg02a27eRYIx7WTNSLx+RJ04Vt+g=" "zip";
+    aarch64-darwin = fetch "apple_universal" "sha256-6qrNgb5ae+qqlNsNDLbKNeWj0o/SRs+2G/4DfK5Wnhg=" "pkg";
     x86_64-darwin = aarch64-darwin;
   };
   platforms = builtins.attrNames sources;
diff --git a/pkgs/applications/misc/anytype/default.nix b/pkgs/applications/misc/anytype/default.nix
index 98ea0802f2e45..ae4a49d7e3a42 100644
--- a/pkgs/applications/misc/anytype/default.nix
+++ b/pkgs/applications/misc/anytype/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "anytype";
-  version = "0.29.0";
+  version = "0.29.1";
   name = "Anytype-${version}";
   nameExecutable = pname;
   src = fetchurl {
     url = "https://at9412003.fra1.digitaloceanspaces.com/Anytype-${version}.AppImage";
     name = "Anytype-${version}.AppImage";
-    sha256 = "sha256-xoHYQbV8fPsHs/G1iuTaQ197dpUZkMohmYM924y8NT0=";
+    sha256 = "sha256-NyIAOkOX9s9dN6m/5hfMhy4tSENPCDk2w/F8z+J6qqk=";
   };
   appimageContents = appimageTools.extractType2 { inherit name src; };
 in
diff --git a/pkgs/applications/misc/ausweisapp2/default.nix b/pkgs/applications/misc/ausweisapp2/default.nix
index 7ad32e678f5f4..85579f0521961 100644
--- a/pkgs/applications/misc/ausweisapp2/default.nix
+++ b/pkgs/applications/misc/ausweisapp2/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "AusweisApp2";
-  version = "1.24.2";
+  version = "1.24.4";
 
   src = fetchFromGitHub {
     owner = "Governikus";
     repo = "AusweisApp2";
     rev = version;
-    sha256 = "sha256-p38zcTFbCyImiGVCr5o/QQ6BT8U2SMiHeYE3aTNYpJs=";
+    sha256 = "sha256-YO0K8L03n/KQcINRKwls8BxG8nv5k3Myd95AU8agigI=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/applications/misc/auto-multiple-choice/default.nix b/pkgs/applications/misc/auto-multiple-choice/default.nix
index d8db5441df5e6..c34872de4cc59 100644
--- a/pkgs/applications/misc/auto-multiple-choice/default.nix
+++ b/pkgs/applications/misc/auto-multiple-choice/default.nix
@@ -11,6 +11,7 @@
 , graphicsmagick
 , gsettings-desktop-schemas
 , gtk3
+, hicolor-icon-theme
 , libnotify
 , librsvg
 , libxslt
@@ -56,6 +57,8 @@ stdenv.mkDerivation rec {
     "LANG_GTKSOURCEVIEW_DIR=/share/gtksourceview-4/language-specs"
     # Pretend to be redhat so `install` doesn't try to chown/chgrp.
     "SYSTEM_TYPE=rpm"
+    "GCC=${stdenv.cc.targetPrefix}cc"
+    "GCC_PP=${stdenv.cc.targetPrefix}c++"
   ];
 
   preFixup = ''
@@ -82,7 +85,7 @@ stdenv.mkDerivation rec {
       XMLSimple
       XMLWriter
     ]}:"$out/share/perl5 \
-    --prefix XDG_DATA_DIRS : "$out/share" \
+    --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
     --set TEXINPUTS ":.:$out/tex/latex"
   '';
 
@@ -101,6 +104,7 @@ stdenv.mkDerivation rec {
     graphicsmagick
     gsettings-desktop-schemas
     gtk3
+    hicolor-icon-theme
     libnotify
     librsvg
     libxslt
diff --git a/pkgs/applications/misc/bb/default.nix b/pkgs/applications/misc/bb/default.nix
index fd7eb4990f061..94775b97baee7 100644
--- a/pkgs/applications/misc/bb/default.nix
+++ b/pkgs/applications/misc/bb/default.nix
@@ -18,10 +18,14 @@ stdenv.mkDerivation rec {
     sed -i -e '/^#include <malloc.h>$/d' *.c
   '';
 
+  # error: 'regparm' is not valid on this platform
+  NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.isDarwin && stdenv.isAarch64)
+    "-D__STRICT_ANSI__";
+
   meta = with lib; {
     homepage    = "http://aa-project.sourceforge.net/bb";
     description = "AA-lib demo";
-    license     = licenses.gpl2;
+    license     = licenses.gpl2Plus;
     maintainers = [ maintainers.rnhmjoj ];
     platforms   = platforms.unix;
   };
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index e6bdd340c9795..1d617718ff905 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -28,11 +28,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "blender";
-  version = "3.3.0";
+  version = "3.3.1";
 
   src = fetchurl {
     url = "https://download.blender.org/source/${pname}-${version}.tar.xz";
-    hash = "sha256-IsUaTmY4XLFIGKpNdtz3+m1uEDr7DTaRbhLqFZiNIfA=";
+    hash = "sha256-KtpI8L+KDKgCuYfXV0UgEuH48krPTSNFOwnC1ZURjMo=";
   };
 
   patches = lib.optional stdenv.isDarwin ./darwin.patch;
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 049bada253c17..accfcfa2c2371 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -30,11 +30,11 @@
 
 stdenv.mkDerivation rec {
   pname = "calibre";
-  version = "6.7.1";
+  version = "6.8.0";
 
   src = fetchurl {
     url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz";
-    hash = "sha256-B//rBsvOXA5UqGjd2MLcAhDFCvreI7UmtfEpuxaIsa0=";
+    hash = "sha256-d9JaWjAjJzKldjyrdrl6OyX1JSatp9U8agRog7K5n2s=";
   };
 
   # https://sources.debian.org/patches/calibre/${version}+dfsg-1
diff --git a/pkgs/applications/misc/cheat/default.nix b/pkgs/applications/misc/cheat/default.nix
index 33829ff12e2f7..c6e6568eaa095 100644
--- a/pkgs/applications/misc/cheat/default.nix
+++ b/pkgs/applications/misc/cheat/default.nix
@@ -3,13 +3,13 @@
 
 buildGoModule rec {
   pname = "cheat";
-  version = "4.3.3";
+  version = "4.4.0";
 
   src = fetchFromGitHub {
     owner = "cheat";
     repo = "cheat";
     rev = version;
-    sha256 = "sha256-cOryo70eJj2PIJ6R09Kx6lfoguYcduIiWiOBpYp8eqY=";
+    sha256 = "sha256-lEMwPGXvgI8wtXska9ngAy9R2tr41Jq5yO6xQk9V5n4=";
   };
 
   subPackages = [ "cmd/cheat" ];
diff --git a/pkgs/applications/misc/clight/clightd.nix b/pkgs/applications/misc/clight/clightd.nix
index b9df45b482d52..d596a2444667b 100644
--- a/pkgs/applications/misc/clight/clightd.nix
+++ b/pkgs/applications/misc/clight/clightd.nix
@@ -5,7 +5,8 @@
 , enableDdc ? true, ddcutil
 , enableDpms ? true, libXext
 , enableGamma ? true, libdrm, libXrandr, wayland
-, enableScreen ? true }:
+, enableScreen ? true
+, enableYoctolight ? true }:
 
 stdenv.mkDerivation rec {
   pname = "clightd";
@@ -33,10 +34,11 @@ stdenv.mkDerivation rec {
       "-DDBUS_CONFIG_DIR=${placeholder "out"}/etc/dbus-1/system.d"
       # systemd.pc has prefix=${systemd.out}
       "-DMODULE_LOAD_DIR=${placeholder "out"}/lib/modules-load.d"
-    ] ++ optional enableDdc    "-DENABLE_DDC=1"
-      ++ optional enableDpms   "-DENABLE_DPMS=1"
-      ++ optional enableGamma  "-DENABLE_GAMMA=1"
-      ++ optional enableScreen "-DENABLE_SCREEN=1";
+    ] ++ optional enableDdc        "-DENABLE_DDC=1"
+      ++ optional enableDpms       "-DENABLE_DPMS=1"
+      ++ optional enableGamma      "-DENABLE_GAMMA=1"
+      ++ optional enableScreen     "-DENABLE_SCREEN=1"
+      ++ optional enableYoctolight "-DENABLE_YOCTOLIGHT=1";
 
   nativeBuildInputs = [
     dbus
diff --git a/pkgs/applications/misc/clipqr/default.nix b/pkgs/applications/misc/clipqr/default.nix
index 7a83da6222a25..996018aeaff8f 100644
--- a/pkgs/applications/misc/clipqr/default.nix
+++ b/pkgs/applications/misc/clipqr/default.nix
@@ -12,6 +12,7 @@
 , makeDesktopItem
 , mesa
 , pkg-config
+, stdenv
 }:
 
 buildGoModule rec {
@@ -66,5 +67,6 @@ buildGoModule rec {
     license = licenses.mit;
     maintainers = with maintainers; [ MatthieuBarthel ];
     homepage = "https://gitlab.com/imatt-foss/clipqr";
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/applications/misc/cubiomes-viewer/default.nix b/pkgs/applications/misc/cubiomes-viewer/default.nix
index 5832cf9432aee..5f7f101ad6136 100644
--- a/pkgs/applications/misc/cubiomes-viewer/default.nix
+++ b/pkgs/applications/misc/cubiomes-viewer/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cubiomes-viewer";
-  version = "2.5.1";
+  version = "2.6.1";
 
   src = fetchFromGitHub {
     owner = "Cubitect";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Ge1dO2I4avblN+3BXY9AXFFmgX4lIwZYUf4IohH1vqc=";
+    sha256 = "sha256-ZXqe+696dNYTkNidEA+s5QQ7Euu7WOdl0EMLU5pKdOY=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/misc/darkman/default.nix b/pkgs/applications/misc/darkman/default.nix
index a6c32d2ba89f4..0114b353f20ca 100644
--- a/pkgs/applications/misc/darkman/default.nix
+++ b/pkgs/applications/misc/darkman/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "darkman";
-  version = "1.3.1";
+  version = "1.4.0";
 
   src = fetchFromGitLab {
     owner = "WhyNotHugo";
     repo = "darkman";
     rev = "v${version}";
-    sha256 = "09iwc9cwwc88c6yrf6a552nbsnf1w8cnlra9axsar2p0k21v5yl1";
+    sha256 = "sha256-Q/pjQmlyREl32C0LiwypEz1qBw2AeBOZbUIwNP392Sc=";
   };
 
   vendorSha256 = "09rjqw6v1jaf0mhmycw9mcay9q0y1fya2azj8216gdgkl48ics08";
@@ -45,5 +45,6 @@ buildGoModule rec {
     homepage = "https://gitlab.com/WhyNotHugo/darkman";
     license = licenses.isc;
     maintainers = [ maintainers.ajgrf ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix
index ceb1b9833c928..e003787efc460 100644
--- a/pkgs/applications/misc/dbeaver/default.nix
+++ b/pkgs/applications/misc/dbeaver/default.nix
@@ -14,7 +14,7 @@
 , libXtst
 , zlib
 , maven
-, webkitgtk
+, webkitgtk_4_1
 , glib-networking
 , javaPackages
 }:
@@ -52,7 +52,7 @@
     libXtst
     zlib
   ] ++ lib.optionals stdenv.isLinux [
-    webkitgtk
+    webkitgtk_4_1
     glib-networking
   ];
 
@@ -108,7 +108,7 @@
 
       makeWrapper $out/dbeaver/dbeaver $out/bin/dbeaver \
         --prefix PATH : ${jdk}/bin \
-        --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([ glib gtk3 libXtst webkitgtk glib-networking ])} \
+        --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([ glib gtk3 libXtst webkitgtk_4_1 glib-networking ])} \
         --prefix GIO_EXTRA_MODULES : "${glib-networking}/lib/gio/modules" \
         --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
 
diff --git a/pkgs/applications/misc/dmenu/wayland.nix b/pkgs/applications/misc/dmenu/wayland.nix
index 8e4a98af13816..2569300ccc321 100644
--- a/pkgs/applications/misc/dmenu/wayland.nix
+++ b/pkgs/applications/misc/dmenu/wayland.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dmenu-wayland-unstable";
-  version = "2020-07-06";
+  version = "2022-11-04";
 
   src = fetchFromGitHub {
     owner = "nyyManni";
     repo = "dmenu-wayland";
-    rev = "304c8e917651ee02b16ebf0b7097a5c53fa2236b";
-    sha256 = "0rkpmpk7xkcfbnv9vpg8n65423z5xpgp0hm2vg0rxf9354bjin7k";
+    rev = "b60047236ef7a4e5dcde6c4ac0dcfaa070d90041";
+    sha256 = "sha256-CeJWLBPAzE3JITVuS6f4CQxLz9v09WvfG3O0wErJJS4=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/applications/misc/dstask/default.nix b/pkgs/applications/misc/dstask/default.nix
index 4e03059a8cc4a..fb2a5b729ab3d 100644
--- a/pkgs/applications/misc/dstask/default.nix
+++ b/pkgs/applications/misc/dstask/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "dstask";
-  version = "0.23.1";
+  version = "0.26";
 
   src = fetchFromGitHub {
     owner = "naggie";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0rfz8jim0xqcwdb5n28942v9r3hbvhjrwdgzvbwc9f9psqg2s8d2";
+    sha256 = "sha256-xZFQQDK+yGAv4IbuNe2dvNa3GDASeJY2mOYw94goAIM=";
   };
 
   # Set vendorSha256 to null because dstask vendors its dependencies (meaning
@@ -30,8 +30,6 @@ buildGoModule rec {
     "-X github.com/naggie/dstask.GIT_COMMIT=v${version}"
   ];
 
-  subPackages = [ "cmd/dstask.go" ];
-
   meta = with lib; {
     description = "Command line todo list with super-reliable git sync";
     homepage = src.meta.homepage;
diff --git a/pkgs/applications/misc/emoji-picker/default.nix b/pkgs/applications/misc/emoji-picker/default.nix
new file mode 100644
index 0000000000000..a0475bc943717
--- /dev/null
+++ b/pkgs/applications/misc/emoji-picker/default.nix
@@ -0,0 +1,27 @@
+{ buildGoModule
+, fetchFromGitHub
+, lib
+}:
+buildGoModule rec {
+  pname = "emoji-picker";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "bcongdon";
+    repo = "ep";
+    rev = version;
+    hash = "sha256-ElUsmuJ43kOsu4cGvNytM+xHTfuzMo0jcG8Z1cIeHJs=";
+  };
+
+  patches = [./xsys.patch];
+
+  vendorHash = "sha256-Xeh5JKIBiyOXRGVx9udoUNs+Wv49BMyFvmnAbDfG3rA=";
+
+  meta = with lib; {
+    description = "A CLI Emoji Picker";
+    homepage = "https://github.com/bcongdon/ep";
+    license = licenses.mit;
+    maintainers = with maintainers; [ urandom ];
+    mainProgram = "ep";
+  };
+}
diff --git a/pkgs/applications/misc/emoji-picker/xsys.patch b/pkgs/applications/misc/emoji-picker/xsys.patch
new file mode 100644
index 0000000000000..ef43a211f4e8a
--- /dev/null
+++ b/pkgs/applications/misc/emoji-picker/xsys.patch
@@ -0,0 +1,63 @@
+diff --git a/go.mod b/go.mod
+index ce4c67d..fcd88f6 100644
+--- a/go.mod
++++ b/go.mod
+@@ -1,12 +1,22 @@
+ module github.com/bcongdon/ep
+ 
+-go 1.12
++go 1.17
+ 
+ require (
+ 	github.com/atotto/clipboard v0.1.2
+ 	github.com/bcongdon/emoji-ordering v0.0.0-20201127221446-8e57a6480ccf
+ 	github.com/gdamore/tcell/v2 v2.0.1-0.20201017141208-acf90d56d591
+ 	github.com/rivo/tview v0.0.0-20201118063654-f007e9ad3893
+-	github.com/stretchr/testify v1.6.1 // indirect
+ 	golang.org/x/crypto v0.0.0-20201124201722-c8d3bf9c5392
+ )
++
++require (
++	github.com/gdamore/encoding v1.0.0 // indirect
++	github.com/lucasb-eyer/go-colorful v1.0.3 // indirect
++	github.com/mattn/go-runewidth v0.0.9 // indirect
++	github.com/rivo/uniseg v0.2.0 // indirect
++	github.com/stretchr/testify v1.6.1 // indirect
++	golang.org/x/sys v0.1.0 // indirect
++	golang.org/x/term v0.0.0-20201117132131-f5c789dd3221 // indirect
++	golang.org/x/text v0.3.3 // indirect
++)
+diff --git a/go.sum b/go.sum
+index 3479558..cf61f93 100644
+--- a/go.sum
++++ b/go.sum
+@@ -10,7 +10,6 @@ github.com/gdamore/tcell/v2 v2.0.1-0.20201017141208-acf90d56d591 h1:0WWUDZ1oxq7N
+ github.com/gdamore/tcell/v2 v2.0.1-0.20201017141208-acf90d56d591/go.mod h1:vSVL/GV5mCSlPC6thFP5kfOFdM9MGZcalipmpTxTgQA=
+ github.com/lucasb-eyer/go-colorful v1.0.3 h1:QIbQXiugsb+q10B+MI+7DI1oQLdmnep86tWFlaaUAac=
+ github.com/lucasb-eyer/go-colorful v1.0.3/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
+-github.com/mattn/go-runewidth v0.0.7 h1:Ei8KR0497xHyKJPAv59M1dkC+rOZCMBJ+t3fZ+twI54=
+ github.com/mattn/go-runewidth v0.0.7/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
+ github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0=
+ github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
+@@ -28,19 +27,17 @@ golang.org/x/crypto v0.0.0-20201124201722-c8d3bf9c5392 h1:xYJJ3S178yv++9zXV/hnr2
+ golang.org/x/crypto v0.0.0-20201124201722-c8d3bf9c5392/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
+ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+-golang.org/x/sys v0.0.0-20190626150813-e07cf5db2756 h1:9nuHUbU8dRnRRfj9KjWUVrJeoexdbeMjttk6Oh1rD10=
+ golang.org/x/sys v0.0.0-20190626150813-e07cf5db2756/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+ golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+-golang.org/x/sys v0.0.0-20201017003518-b09fb700fbb7 h1:XtNJkfEjb4zR3q20BBBcYUykVOEMgZeIUOpBPfNYgxg=
+ golang.org/x/sys v0.0.0-20201017003518-b09fb700fbb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
++golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U=
++golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+ golang.org/x/term v0.0.0-20201117132131-f5c789dd3221 h1:/ZHdbVpdR/jk3g30/d4yUL0JU9kksj8+F/bnQUVLGDM=
+ golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
+-golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
+ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+ golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=
+ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+ golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+-gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
+ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
+ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
diff --git a/pkgs/applications/misc/endeavour/default.nix b/pkgs/applications/misc/endeavour/default.nix
deleted file mode 100644
index 3c48efe66c474..0000000000000
--- a/pkgs/applications/misc/endeavour/default.nix
+++ /dev/null
@@ -1,104 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitLab
-, fetchpatch
-, meson
-, ninja
-, pkg-config
-, wrapGAppsHook4
-, gettext
-, gnome
-, glib
-, gtk4
-, wayland
-, libadwaita
-, libpeas
-, gnome-online-accounts
-, gsettings-desktop-schemas
-, libportal-gtk4
-, evolution-data-server-gtk4
-, libical
-, librest
-, json-glib
-, itstool
-, gitUpdater
-}:
-
-stdenv.mkDerivation rec {
-  pname = "endeavour";
-  version = "42.0";
-
-  src = fetchFromGitLab {
-    domain = "gitlab.gnome.org";
-    owner = "World";
-    repo = "Endeavour";
-    rev = "v${version}";
-    sha256 = "U91WAoyIeQ0WbFbOCrbFJjbWe2eT7b/VL2M1hNXxyzQ=";
-  };
-
-  patches = [
-    # fix build race bug https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=257667
-    (fetchpatch {
-      url = "https://cgit.freebsd.org/ports/plain/deskutils/gnome-todo/files/patch-src_meson.build?id=a4faaf6cf7835014b5f69a337b544ea4ee7f9655";
-      sha256 = "sha256-dio4Mg+5OGrnjtRAf4LwowO0sG50HRmlNR16cbDvEUY=";
-      extraPrefix = "";
-      name = "gnome-todo_meson-build.patch";
-    })
-
-    # build: Fix building with -Werror=format-security
-    # https://gitlab.gnome.org/World/Endeavour/-/merge_requests/132
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/World/Endeavour/-/commit/3bad03e90fcc28f6e3f87f2c90df5984dbeb0791.patch";
-      sha256 = "sha256-HRkNfhn+EH0Fc+KBDdX1Q+T9QWSctTOn1cvecP2N0zo=";
-    })
-
-    # build: Use GNOME module post_install()
-    # https://gitlab.gnome.org/World/Endeavour/-/merge_requests/135
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/World/Endeavour/-/commit/a8daa1d8acd0a5da7aef54d6e16d8a585c71e555.patch";
-      sha256 = "sha256-zUTQ36eUMOY9ODAgwSKUhSlB9Cj0Yu/60KjFFW5fx2I=";
-    })
-  ];
-
-  nativeBuildInputs = [
-    meson
-    ninja
-    pkg-config
-    gettext
-    wrapGAppsHook4
-    itstool
-  ];
-
-  buildInputs = [
-    glib
-    gtk4
-    wayland # required by gtk header
-    libadwaita
-    libpeas
-    gnome-online-accounts
-    gsettings-desktop-schemas
-    gnome.adwaita-icon-theme
-
-    # Plug-ins
-    libportal-gtk4 # background
-    evolution-data-server-gtk4 # eds
-    libical
-    librest # todoist
-    json-glib # todoist
-  ];
-
-  passthru = {
-    updateScript = gitUpdater {
-      inherit pname version;
-      rev-prefix = "v";
-    };
-  };
-
-  meta = with lib; {
-    description = "Personal task manager for GNOME";
-    homepage = "https://gitlab.gnome.org/World/Endeavour";
-    license = licenses.gpl3Plus;
-    maintainers = teams.gnome.members;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/misc/eureka-ideas/default.nix b/pkgs/applications/misc/eureka-ideas/default.nix
index d9016bc341ae0..ee15f31632cb2 100644
--- a/pkgs/applications/misc/eureka-ideas/default.nix
+++ b/pkgs/applications/misc/eureka-ideas/default.nix
@@ -2,6 +2,7 @@
 , rustPlatform
 , fetchFromGitHub
 , pkg-config
+, libgit2
 , openssl
 , stdenv
 , Security
@@ -22,13 +23,15 @@ rustPlatform.buildRustPackage rec {
 
   nativeBuildInputs = [ pkg-config ];
 
-  buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security ];
-
-  checkFlags = lib.optionals stdenv.isLinux [
-    # failing on linux for unknown reasons
-    "--skip=config_manager::tests"
+  buildInputs = [
+    libgit2
+    openssl
+  ] ++ lib.optionals stdenv.isDarwin [
+    Security
   ];
 
+  dontUseCargoParallelTests = true;
+
   meta = with lib; {
     description = "CLI tool to input and store your ideas without leaving the terminal";
     homepage = "https://github.com/simeg/eureka";
diff --git a/pkgs/applications/misc/free42/default.nix b/pkgs/applications/misc/free42/default.nix
index 0d01122e6a5ff..f1df7445fbe0a 100644
--- a/pkgs/applications/misc/free42/default.nix
+++ b/pkgs/applications/misc/free42/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "free42";
-  version = "3.0.15";
+  version = "3.0.16";
 
   src = fetchFromGitHub {
     owner = "thomasokken";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-QeUopHBW3KZGkYklOJIjlNCQG+aab2vwbIsVBfQ07R4=";
+    hash = "sha256-hL4Ytu9zf8x+H/TuvJ3m0E3d8gMZFIDogWEYlaOap+g=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/fuzzel/default.nix b/pkgs/applications/misc/fuzzel/default.nix
index 421f98b1fb627..162b6362fd7da 100644
--- a/pkgs/applications/misc/fuzzel/default.nix
+++ b/pkgs/applications/misc/fuzzel/default.nix
@@ -25,14 +25,14 @@ assert svgSupport -> enableCairo;
 
 stdenv.mkDerivation rec {
   pname = "fuzzel";
-  version = "1.7.0";
+  version = "1.8.2";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "dnkl";
     repo = "fuzzel";
     rev = version;
-    sha256 = "1261gwxiky37pvzmmbrpml1psa22kkglb141ybj1fbnwg6j7jvlf";
+    sha256 = "sha256-5uXf5HfQ8bDQSMNCHHaC9sCX5P/D89T2ZOUiXTDx3bQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/gallery-dl/default.nix b/pkgs/applications/misc/gallery-dl/default.nix
index ead8475e4346e..0b7233e189c03 100644
--- a/pkgs/applications/misc/gallery-dl/default.nix
+++ b/pkgs/applications/misc/gallery-dl/default.nix
@@ -1,17 +1,24 @@
 { lib, buildPythonApplication, fetchPypi, requests, yt-dlp, pytestCheckHook }:
 
 buildPythonApplication rec {
-  pname = "gallery_dl";
-  version = "1.23.3";
+  pname = "gallery-dl";
+  version = "1.24.0";
+  format = "setuptools";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-CoZN0cLXSujZRSGFX3dsNGuvgupa4t1VrEoW+Zu41yw=";
+    inherit version;
+    pname = "gallery_dl";
+    sha256 = "sha256-LGZjPkiX252IRgRG1fxVS4IdnKA3RgVjOhZLxYScIJo=";
   };
 
-  propagatedBuildInputs = [ requests yt-dlp ];
+  propagatedBuildInputs = [
+    requests
+    yt-dlp
+  ];
 
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
   pytestFlagsArray = [
     # requires network access
@@ -22,7 +29,9 @@ buildPythonApplication rec {
     "--ignore=test/test_ytdl.py"
   ];
 
-  pythonImportsCheck = [ "gallery_dl" ];
+  pythonImportsCheck = [
+    "gallery_dl"
+  ];
 
   meta = with lib; {
     description = "Command-line program to download image-galleries and -collections from several image hosting sites";
diff --git a/pkgs/applications/misc/gammu/default.nix b/pkgs/applications/misc/gammu/default.nix
index 1a67163d06c9a..8a33ba3ea3aca 100644
--- a/pkgs/applications/misc/gammu/default.nix
+++ b/pkgs/applications/misc/gammu/default.nix
@@ -1,5 +1,5 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, bluez, libusb1, curl
-, libiconv, gettext, sqlite
+{ lib, stdenv, fetchFromGitHub, substituteAll, pkg-config, cmake, bluez, libusb1, curl
+, libiconv, gettext, sqlite, bash, dialog
 , dbiSupport ? false, libdbi ? null, libdbiDrivers ? null
 , postgresSupport ? false, postgresql ? null
 }:
@@ -17,13 +17,20 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-aeaGHVxOMiXRU6RHws+oAnzdO9RY1jw/X/xuGfSt76I=";
   };
 
-  patches = [ ./bashcomp-dir.patch ./systemd.patch ];
+  patches = [
+    ./bashcomp-dir.patch
+    ./systemd.patch
+    (substituteAll {
+      src = ./gammu-config-dialog.patch;
+      dialog = "${dialog}/bin/dialog";
+    })
+  ];
 
   nativeBuildInputs = [ pkg-config cmake ];
 
   strictDeps = true;
 
-  buildInputs = [ bluez libusb1 curl gettext sqlite libiconv ]
+  buildInputs = [ bash bluez libusb1 curl gettext sqlite libiconv ]
   ++ optionals dbiSupport [ libdbi libdbiDrivers ]
   ++ optionals postgresSupport [ postgresql ];
 
diff --git a/pkgs/applications/misc/gammu/gammu-config-dialog.patch b/pkgs/applications/misc/gammu/gammu-config-dialog.patch
new file mode 100644
index 0000000000000..f9f76bfec00ba
--- /dev/null
+++ b/pkgs/applications/misc/gammu/gammu-config-dialog.patch
@@ -0,0 +1,20 @@
+--- a/utils/gammu-config
++++ b/utils/gammu-config
+@@ -59,16 +59,7 @@
+     shift
+ done
+ 
+-if type dialog > /dev/null 2>&1 ; then
+-    DIALOG=dialog
+-elif type cdialog > /dev/null 2>&1 ; then
+-    DIALOG=cdialog
+-elif type whiptail > /dev/null 2>&1 ; then
+-    DIALOG=whiptail
+-else
+-    echo "You need dialog, cdialog or whiptail installed to make this work"
+-    exit 1
+-fi
++DIALOG=@dialog@
+ 
+ if [ -f "$CONFIG" ] ; then
+     if [ ! -w "$CONFIG" ] ; then
diff --git a/pkgs/applications/misc/gnome-extension-manager/default.nix b/pkgs/applications/misc/gnome-extension-manager/default.nix
index bcc66b19cf2b2..28a4fa84caeb1 100644
--- a/pkgs/applications/misc/gnome-extension-manager/default.nix
+++ b/pkgs/applications/misc/gnome-extension-manager/default.nix
@@ -54,9 +54,6 @@ stdenv.mkDerivation rec {
     text-engine
   ];
 
-  # See https://github.com/NixOS/nixpkgs/issues/36468.
-  mesonFlags = [ "-Dc_args=-I${glib.dev}/include/gio-unix-2.0" ];
-
   meta = with lib; {
     description = "Desktop app for managing GNOME shell extensions";
     homepage = "https://github.com/mjakeman/extension-manager";
diff --git a/pkgs/applications/misc/heimer/default.nix b/pkgs/applications/misc/heimer/default.nix
index ec2d8d62d06d3..792eee4d9e368 100644
--- a/pkgs/applications/misc/heimer/default.nix
+++ b/pkgs/applications/misc/heimer/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "heimer";
-  version = "3.6.1";
+  version = "3.6.2";
 
   src = fetchFromGitHub {
     owner = "juzzlin";
     repo = pname;
     rev = version;
-    sha256 = "sha256-i4jgmqRvBX6g6IOitnBnQqWnFY5QoLk6/Cah0wCU8uc=";
+    sha256 = "sha256-NAjl7eRmMkRrVhlza87ErllEa1QfPZ8GRI1aljY6itI=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/hugo/default.nix b/pkgs/applications/misc/hugo/default.nix
index 2340f6a5f4f5c..49bacebdab93a 100644
--- a/pkgs/applications/misc/hugo/default.nix
+++ b/pkgs/applications/misc/hugo/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "hugo";
-  version = "0.105.0";
+  version = "0.106.0";
 
   src = fetchFromGitHub {
     owner = "gohugoio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-qKcybKgdNkn3AhDVwl1vCYt0HoQimz8qi+O95jKaW8Q=";
+    sha256 = "sha256-Dyre/ou0kjEqbq8WGGM/n8+JBTMNslbnmj+5clYJUHs=";
   };
 
-  vendorSha256 = "sha256-M74pfS7bmSrXhUvQ3hDokBPNLYxJslc9UGR3Bhp2BBQ=";
+  vendorSha256 = "sha256-dhsGGu4uNrqKv6szGqruAcI2UTbbXknKaKk5pVCQB5A=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/misc/itd/default.nix b/pkgs/applications/misc/itd/default.nix
new file mode 100644
index 0000000000000..facbda32238b7
--- /dev/null
+++ b/pkgs/applications/misc/itd/default.nix
@@ -0,0 +1,43 @@
+{ stdenv
+, lib
+, buildGoModule
+, fetchFromGitea
+}:
+
+buildGoModule rec {
+  pname = "itd";
+  version = "0.0.9";
+
+  # https://gitea.arsenm.dev/Arsen6331/itd/tags
+  src = fetchFromGitea {
+    domain = "gitea.arsenm.dev";
+    owner = "Arsen6331";
+    repo = "itd";
+    rev = "v${version}";
+    hash = "sha256-FefffF8YIEcB+eglifNWuuK7H5A1YXyxxZOXz1a8HfY=";
+  };
+
+  vendorHash = "sha256-LFzrpKQQ4nFoK4vVTzJDQ5OGDe1y5BSfXPX+FRVunjQ=";
+
+  preBuild = ''
+    echo r${version} > version.txt
+  '';
+
+  subPackages = [
+    "."
+    "cmd/itctl"
+  ];
+
+  postInstall = ''
+    install -Dm644 itd.toml $out/etc/itd.toml
+  '';
+
+  meta = with lib; {
+    description = "itd is a daemon to interact with the PineTime running InfiniTime";
+    homepage = "https://gitea.arsenm.dev/Arsen6331/itd";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ mindavi raphaelr ];
+  };
+}
+
diff --git a/pkgs/applications/misc/jgmenu/default.nix b/pkgs/applications/misc/jgmenu/default.nix
index 45014ad81c9e3..55617ed4f651f 100644
--- a/pkgs/applications/misc/jgmenu/default.nix
+++ b/pkgs/applications/misc/jgmenu/default.nix
@@ -11,17 +11,18 @@
 , enableXfcePanelApplet ? false
 , xfce
 , gtk3
+, gitUpdater
 }:
 
 stdenv.mkDerivation rec {
   pname = "jgmenu";
-  version = "4.4.0";
+  version = "4.4.1";
 
   src = fetchFromGitHub {
     owner = "johanmalm";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-REzrN4tz+cFmKyJeOPOkzjvthsJdY3GButF7RdnzviE=";
+    sha256 = "sha256-UC92zyuMVjyMLNEOBMElO8wCWYgwWRZAGLEOdTPNMak=";
   };
 
   nativeBuildInputs = [
@@ -57,6 +58,8 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  passthru.updateScript = gitUpdater { rev-prefix = "v"; };
+
   meta = with lib; {
     homepage = "https://github.com/johanmalm/jgmenu";
     description = "Small X11 menu intended to be used with openbox and tint2";
diff --git a/pkgs/applications/misc/joplin-desktop/default.nix b/pkgs/applications/misc/joplin-desktop/default.nix
index 47a0fcbebde47..d712712908f0c 100644
--- a/pkgs/applications/misc/joplin-desktop/default.nix
+++ b/pkgs/applications/misc/joplin-desktop/default.nix
@@ -55,7 +55,7 @@ let
       install -Dm444 ${appimageContents}/@joplinapp-desktop.png -t $out/share/pixmaps
       substituteInPlace $out/share/applications/@joplinapp-desktop.desktop \
         --replace 'Exec=AppRun' 'Exec=${pname}' \
-        --replace 'Icon=joplin' "Icon=$out/share/pixmaps/@joplinapp-desktop.png"
+        --replace 'Icon=joplin' "Icon=@joplinapp-desktop"
     '';
   };
 
diff --git a/pkgs/applications/misc/josm/default.nix b/pkgs/applications/misc/josm/default.nix
index aecd7a4b09001..7b2973b5075e7 100644
--- a/pkgs/applications/misc/josm/default.nix
+++ b/pkgs/applications/misc/josm/default.nix
@@ -3,15 +3,15 @@
 }:
 let
   pname = "josm";
-  version = "18570";
+  version = "18583";
   srcs = {
     jar = fetchurl {
       url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
-      hash = "sha256-EAEh/n7M56rzjtkIs8ZteDvOLuHxNsMyT7VGFyPre6s=";
+      hash = "sha256-6S6E7ngTCBXb0epPfYxIswLvfm9r2Ql0wgOs/PxpmIM=";
     };
     macosx = fetchurl {
       url = "https://josm.openstreetmap.de/download/macosx/josm-macos-${version}-java17.zip";
-      hash = "sha256-2xsHsaDxm/wjiCyS5tmD8uUlLrBdd3sS8JLal3pX3pA=";
+      hash = "sha256-3XEoSCXEpeqZj1y4nns5+0JR1SINYE1rsmQ4fMflxRQ=";
     };
     pkg = fetchsvn {
       url = "https://josm.openstreetmap.de/svn/trunk/native/linux/tested";
diff --git a/pkgs/applications/misc/junction/default.nix b/pkgs/applications/misc/junction/default.nix
index 34002c547162e..c1d3ff263c0d3 100644
--- a/pkgs/applications/misc/junction/default.nix
+++ b/pkgs/applications/misc/junction/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , fetchFromGitHub
 , appstream-glib
+, blueprint-compiler
 , desktop-file-utils
 , gobject-introspection
 , meson
@@ -16,17 +17,19 @@
 
 stdenv.mkDerivation rec {
   pname = "junction";
-  version = "1.5.0";
+  version = "1.6";
 
   src = fetchFromGitHub {
     owner = "sonnyp";
     repo = "junction";
     rev = "v${version}";
-    sha256 = "sha256-jS4SHh1BB8jk/4EP070X44C4n3GjyCz8ozgK8v5lbqc=";
+    sha256 = "sha256-95lKap0VKLxX5Vax2tK0cAcJ/XgQddoN46tXHo+MtYc=";
+    fetchSubmodules = true;
   };
 
   nativeBuildInputs = [
     appstream-glib
+    blueprint-compiler
     desktop-file-utils
     gobject-introspection
     meson
@@ -42,12 +45,25 @@ stdenv.mkDerivation rec {
     libportal-gtk4
   ];
 
+  postPatch = ''
+    # gjs uses the invocation name to add gresource files
+    # - https://gitlab.gnome.org/GNOME/gjs/-/blob/6aca7b50785fa1638f144b17060870d721e3f65a/modules/script/package.js#L159
+    # - https://gitlab.gnome.org/GNOME/gjs/-/blob/6aca7b50785fa1638f144b17060870d721e3f65a/modules/script/package.js#L37
+    # To work around this, we manually set the the name as done in foliate
+    # - https://github.com/NixOS/nixpkgs/blob/3bacde6273b09a21a8ccfba15586fb165078fb62/pkgs/applications/office/foliate/default.nix#L23
+    sed -i "1 a imports.package._findEffectiveEntryPointName = () => 're.sonny.Junction';" src/bin.js
+
+    # /usr/bin/env is not accessible in build environment
+    substituteInPlace troll/gjspack/bin/gjspack --replace "/usr/bin/env -S gjs" "${gjs}/bin/gjs"
+  '';
+
   postInstall = ''
-    # autoPatchShebangs does not like "/usr/bin/env -S gjs"
-    substituteInPlace $out/bin/re.sonny.Junction --replace "/usr/bin/env -S gjs" "/usr/bin/gjs"
+    # autoPatchShebangs does not like "/usr/bin/env -S <environment-setting> gjs -m"
+    sed -i "1s|.*|#!/usr/bin/gjs -m|" $out/bin/re.sonny.Junction
   '';
 
   meta = with lib; {
+    mainProgram = "re.sonny.Junction";
     description = "Choose the application to open files and links";
     homepage = "https://apps.gnome.org/en/app/re.sonny.Junction/";
     license = licenses.gpl3Plus;
diff --git a/pkgs/applications/misc/keepassx/community.nix b/pkgs/applications/misc/keepassx/community.nix
index d7838661d0fee..258a2a51e72dc 100644
--- a/pkgs/applications/misc/keepassx/community.nix
+++ b/pkgs/applications/misc/keepassx/community.nix
@@ -40,13 +40,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "keepassxc";
-  version = "2.7.3";
+  version = "2.7.4";
 
   src = fetchFromGitHub {
     owner = "keepassxreboot";
     repo = "keepassxc";
     rev = version;
-    sha256 = "sha256-mtOnUB6+iBBqgPT5KKhEX4M7UUM3s5fT0OTePE6THXw=";
+    sha256 = "sha256-amedKK9nplLVJTldeabN3/c+g/QesrdH+qx+rba2/4s=";
   };
 
   NIX_CFLAGS_COMPILE = optionalString stdenv.cc.isClang [
diff --git a/pkgs/applications/misc/ksmoothdock/default.nix b/pkgs/applications/misc/ksmoothdock/default.nix
index 7325c85dbd4c6..80c46bd9c16da 100644
--- a/pkgs/applications/misc/ksmoothdock/default.nix
+++ b/pkgs/applications/misc/ksmoothdock/default.nix
@@ -18,6 +18,12 @@ mkDerivation rec {
     sha256 = "sha256-hO7xgjFMFrEhQs3oc2peFTjSVEDsl7Ma/TeVybEZMEk=";
   };
 
+  # Upstream seems dead and there are new deprecation warnings in KF5.100
+  # Remember, kids: friends don't let friends build with -Werror
+  postPatch = ''
+    substituteInPlace src/CMakeLists.txt --replace "-Werror" ""
+  '';
+
   nativeBuildInputs = [ cmake extra-cmake-modules ];
 
   buildInputs = [ kactivities qtbase ];
diff --git a/pkgs/applications/misc/logseq/default.nix b/pkgs/applications/misc/logseq/default.nix
index c79b709686154..bb879bce1572c 100644
--- a/pkgs/applications/misc/logseq/default.nix
+++ b/pkgs/applications/misc/logseq/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "logseq";
-  version = "0.8.9";
+  version = "0.8.11";
 
   src = fetchurl {
     url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
-    sha256 = "sha256-s9xG2SLkuaz8wRK47ywSw9JjsJlRjaMNeRmQY0ZnrK8=";
+    sha256 = "sha256-c8gP7OJwnCEXnT2FQH1ttYRzZfbcJL86FX2JQezJI+s=";
     name = "${pname}-${version}.AppImage";
   };
 
diff --git a/pkgs/applications/misc/lscolors/default.nix b/pkgs/applications/misc/lscolors/default.nix
index e39ef723df8fe..b80c8d0a2abf0 100644
--- a/pkgs/applications/misc/lscolors/default.nix
+++ b/pkgs/applications/misc/lscolors/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "lscolors";
-  version = "0.12.0";
+  version = "0.13.0";
 
   src = fetchCrate {
     inherit version pname;
-    sha256 = "sha256-1tLI+M2hpXWsiO/x27ncs8zn8dBDx18AgsSbN/YE2Ic=";
+    sha256 = "sha256-rs/qv6zmSHy2FFiPSgGzxAV/r0SqK9vnfwnLj45WY4I=";
   };
 
-  cargoSha256 = "sha256-4bFzFztaD9jV3GXpZwCowAhvszedM5ion5/h3D26EY8=";
+  cargoSha256 = "sha256-WDvflAb56l+UkrxeQQZrloxlaK/mZavT9sA+VOWDW5Q=";
 
   # setid is not allowed in the sandbox
   checkFlags = [ "--skip=tests::style_for_setid" ];
diff --git a/pkgs/applications/misc/lutris/fhsenv.nix b/pkgs/applications/misc/lutris/fhsenv.nix
index 278d2c363bdb7..5c39576ac6f3b 100644
--- a/pkgs/applications/misc/lutris/fhsenv.nix
+++ b/pkgs/applications/misc/lutris/fhsenv.nix
@@ -126,6 +126,15 @@ in buildFHSUserEnv {
     ln -sf ${lutris-unwrapped}/share/icons $out/share
   '';
 
+  # allows for some gui applications to share IPC
+  # this fixes certain issues where they don't render correctly
+  unshareIpc = false;
+
+  # Some applications such as Natron need access to MIT-SHM or other
+  # shared memory mechanisms. Unsharing the pid namespace
+  # breaks the ability for application to reference shared memory.
+  unsharePid = false;
+
   meta = {
     inherit (lutris-unwrapped.meta)
       homepage
diff --git a/pkgs/applications/misc/maliit-framework/default.nix b/pkgs/applications/misc/maliit-framework/default.nix
index ca942ca72d478..7c27b3b971461 100644
--- a/pkgs/applications/misc/maliit-framework/default.nix
+++ b/pkgs/applications/misc/maliit-framework/default.nix
@@ -24,24 +24,15 @@
 
 mkDerivation rec {
   pname = "maliit-framework";
-  version = "2.0.0";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "maliit";
     repo = "framework";
-    rev = version;
-    sha256 = "138jyvw130kmrldksbk4l38gvvahh3x51zi4vyplad0z5nxmbazb";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-q+hiupwlA0PfG+xtomCUp2zv6HQrGgmOd9CU193ucrY=";
   };
 
-  # in master post 2.2.1, see https://github.com/maliit/framework/issues/106
-  patches = [
-    (fetchpatch {
-      name = "fix-pkg-config.patch";
-      url = "https://github.com/maliit/framework/commit/1e20a4a5113f1c092295f5a5f04ab6e584f6fcff.patch";
-      sha256 = "0h7jfqnqvjka626wx2z2g150rch4air7q3zbq59gcb12g7x6gfyn";
-    })
-  ];
-
   buildInputs = [
     at-spi2-atk
     at-spi2-core
diff --git a/pkgs/applications/misc/maliit-keyboard/default.nix b/pkgs/applications/misc/maliit-keyboard/default.nix
index fcbd6cbff19bd..b662c2522df8e 100644
--- a/pkgs/applications/misc/maliit-keyboard/default.nix
+++ b/pkgs/applications/misc/maliit-keyboard/default.nix
@@ -22,23 +22,15 @@
 
 mkDerivation rec {
   pname = "maliit-keyboard";
-  version = "2.0.0";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "maliit";
     repo = "keyboard";
     rev = version;
-    sha256 = "10dh0abxq90024dqq3fs8mjxww3igb4l09d19i2fq9f3flvh11hc";
+    sha256 = "sha256-XH3sKQuNMLgJi2aV+bnU2cflwkFIw4RYVfxzQiejCT0=";
   };
 
-  patches = [
-    (fetchpatch {
-      # https://github.com/maliit/keyboard/pull/34
-      url = "https://github.com/maliit/keyboard/commit/9848a73b737ad46b5790ebf713a559d340c91b82.patch";
-      sha256 = "0qrsga0npahjrgbl6mycvl6d6vjm0d17i5jadcn7y6khbhq2y6rg";
-    })
-  ];
-
   postPatch = ''
     substituteInPlace data/schemas/org.maliit.keyboard.maliit.gschema.xml \
       --replace /usr/share "$out/share"
diff --git a/pkgs/applications/misc/mangal/default.nix b/pkgs/applications/misc/mangal/default.nix
index 2f33bb9935d23..7e8ea89fe9d15 100644
--- a/pkgs/applications/misc/mangal/default.nix
+++ b/pkgs/applications/misc/mangal/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "mangal";
-  version = "3.14.2";
+  version = "4.0.4";
 
   src = fetchFromGitHub {
     owner = "metafates";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-W3oToI7frUfd3zwtr3UpbwAWzCVxDaZY9zhn8dO/4wA=";
+    hash = "sha256-U1NmJsh7OuS0/kktmMcIjEaqc1ABtWG0ilSUw0UL8aU=";
   };
 
   proxyVendor = true;
diff --git a/pkgs/applications/misc/meerk40t/camera.nix b/pkgs/applications/misc/meerk40t/camera.nix
new file mode 100644
index 0000000000000..9d262488a67e3
--- /dev/null
+++ b/pkgs/applications/misc/meerk40t/camera.nix
@@ -0,0 +1,38 @@
+{ lib
+, python3
+}:
+
+let
+  inherit (python3.pkgs) buildPythonPackage fetchPypi;
+in
+buildPythonPackage rec {
+  pname = "meerk40t-camera";
+  version = "0.1.9";
+  format = "setuptools";
+
+  src = python3.pkgs.fetchPypi {
+    inherit pname version;
+    hash = "sha256-uGCBHdgWoorVX2XqMCg0YBweb00sQ9ZSbJe8rlGeovs=";
+  };
+
+  postPatch = ''
+    sed -i '/meerk40t/d' setup.py
+  '';
+
+  propagatedBuildInputs = with python3.pkgs; [
+    opencv4
+  ];
+
+  pythonImportsCheck = [
+    "camera"
+  ];
+
+  doCheck = false;
+
+  meta = with lib; {
+    description = "MeerK40t camera plugin";
+    license = licenses.mit;
+    homepage = "https://github.com/meerk40t/meerk40t-camera";
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/pkgs/applications/misc/meerk40t/default.nix b/pkgs/applications/misc/meerk40t/default.nix
index 28a136c9a257c..276cf79988370 100644
--- a/pkgs/applications/misc/meerk40t/default.nix
+++ b/pkgs/applications/misc/meerk40t/default.nix
@@ -1,5 +1,6 @@
 { lib
 , fetchFromGitHub
+, meerk40t-camera
 , python3
 , gtk3
 , wrapGAppsHook
@@ -7,49 +8,17 @@
 
 let
   inherit (python3.pkgs) buildPythonApplication buildPythonPackage fetchPypi;
-
-  meerk40t-camera = buildPythonPackage rec {
-    pname = "meerk40t-camera";
-    version = "0.1.9";
-    format = "setuptools";
-
-    src = fetchPypi {
-      inherit pname version;
-      hash = "sha256-uGCBHdgWoorVX2XqMCg0YBweb00sQ9ZSbJe8rlGeovs=";
-    };
-
-    postPatch = ''
-      sed -i '/meerk40t/d' setup.py
-    '';
-
-    propagatedBuildInputs = with python3.pkgs; [
-      opencv4
-    ];
-
-    pythonImportsCheck = [
-      "camera"
-    ];
-
-    doCheck = false;
-
-    meta = with lib; {
-      description = "MeerK40t camera plugin";
-      license = licenses.mit;
-      homepage = "https://github.com/meerk40t/meerk40t-camera";
-      maintainers = with maintainers; [ hexa ];
-    };
-  };
 in
 buildPythonApplication rec {
   pname = "MeerK40t";
-  version = "0.8.0031";
+  version = "0.8.1000";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "meerk40t";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-7Vc7Z+mxy+xRbUBeivkqVwO86ovZDo42M4G0ZD23vMk=";
+    hash = "sha256-YCcnqaH4Npmct5IBHsnufswRz8bS7mUb1YFwTta/Dxc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/mepo/default.nix b/pkgs/applications/misc/mepo/default.nix
index 1afcd3c3f1a76..5a7640c2414f6 100644
--- a/pkgs/applications/misc/mepo/default.nix
+++ b/pkgs/applications/misc/mepo/default.nix
@@ -4,38 +4,38 @@
 , pkg-config
 , zig
 , makeWrapper
+, busybox
 , curl
 , SDL2
 , SDL2_gfx
 , SDL2_image
 , SDL2_ttf
+, findutils
 , jq
 , ncurses
-, inconsolata-nerdfont
-, dmenu
-, xdotool
-, bemenu
-, withX11 ? false
+, gnome
+, xorg
+, util-linux
+, gpsd
+, geoclue2-with-demo-agent
 }:
 
-let
-  menuInputs = if withX11 then [ dmenu xdotool ] else [ bemenu ];
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "mepo";
-  version = "0.4.2";
+  version = "1.1";
 
   src = fetchFromSourcehut {
     owner = "~mil";
     repo = pname;
     rev = version;
-    hash = "sha256-k6YXaqB3EwbDPlTvijZf10q+IYwt4/MiqGXL495KIcY=";
+    hash = "sha256-OIZ617QLjiTiDwcsn0DnRussYtjDkVyifr2mdSqA98A=";
   };
 
   nativeBuildInputs = [ pkg-config zig makeWrapper ];
 
   buildInputs = [
-    curl SDL2 SDL2_gfx SDL2_image SDL2_ttf inconsolata-nerdfont jq ncurses
-  ] ++ menuInputs;
+    curl SDL2 SDL2_gfx SDL2_image SDL2_ttf jq ncurses
+  ];
 
   preBuild = ''
     export HOME=$TMPDIR
@@ -54,30 +54,33 @@ in stdenv.mkDerivation rec {
     runHook preInstall
 
     zig build -Drelease-safe=true -Dcpu=baseline --prefix $out install
+    install -d $out/share/man/man1
+    $out/bin/mepo -docman > $out/share/man/man1/mepo.1
 
     runHook postInstall
   '';
 
   postInstall = ''
-    wrapProgram $out/bin/mepo_dl.sh\
-      --suffix PATH : ${lib.makeBinPath [ jq ncurses ]}
-    wrapProgram $out/bin/mepo_ui_helper_menu.sh\
-      --suffix PATH : ${lib.makeBinPath menuInputs}
-    for script in $(grep -l jq out/bin/mepo_ui_menu_*.sh); do
-      wrapProgram $script --suffix PATH : $out/bin:${lib.makeBinPath [ jq ]}
-    done
-    for prog in $out/bin/mepo*; do
-      if [ ! -f $out/bin/.$(basename $prog)-wrapped ]; then
-        wrapProgram $prog --suffix PATH : $out/bin
-      fi
+    substituteInPlace $out/bin/mepo_ui_menu_user_pin_updater.sh \
+      --replace /usr/libexec/geoclue-2.0 ${geoclue2-with-demo-agent}/libexec/geoclue-2.0
+    substituteInPlace $out/bin/mepo_ui_central_menu.sh \
+      --replace "grep mepo_" "grep '^\.mepo_\|^mepo_'" \
+      --replace " ls " " ls -a " #circumvent wrapping for script detection
+    for program in $out/bin/* ; do
+      wrapProgram $program \
+        --suffix PATH : $out/bin:${lib.makeBinPath ([ jq ncurses curl busybox findutils util-linux gpsd gnome.zenity xorg.xwininfo ])}
     done
   '';
 
   meta = with lib; {
     description = "Fast, simple, and hackable OSM map viewer";
-    homepage = "https://sr.ht/~mil/mepo/";
+    longDescription = ''
+      It is recommended to use the corresponding NixOS module.
+    '';
+
+    homepage = "https://mepo.milesalan.com";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ sikmir McSinyx ];
+    maintainers = with maintainers; [ sikmir McSinyx laalsaas ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/metadata-cleaner/default.nix b/pkgs/applications/misc/metadata-cleaner/default.nix
index 08f91765de0ed..35832b0dafb14 100644
--- a/pkgs/applications/misc/metadata-cleaner/default.nix
+++ b/pkgs/applications/misc/metadata-cleaner/default.nix
@@ -18,22 +18,23 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "metadata-cleaner";
-  version = "2.2.3";
+  version = "2.2.7";
 
   format = "other";
 
   src = fetchFromGitLab {
     owner = "rmnvgr";
-    repo = "metadata-cleaner";
+    repo = pname;
     rev = "v${version}";
-    hash = "sha256-ykJd1ZjAqT8OtJsZiSjbDdkN5fFlQcWtTO88x3zAfU8=";
+    hash = "sha256-Kqvnw0cPPkqgJQdc6vkP4U96AQuyFSNMQTzTdIUghWw=";
   };
 
   nativeBuildInputs = [
     appstream
     desktop-file-utils
-    glib
-    gtk4
+    glib # glib-compile-resources
+    gtk4 # gtk4-update-icon-cache
+    gobject-introspection
     itstool
     meson
     ninja
@@ -42,7 +43,7 @@ python3.pkgs.buildPythonApplication rec {
   ];
 
   buildInputs = [
-    gobject-introspection
+    glib
     gtk4
     libadwaita
     librsvg
diff --git a/pkgs/applications/misc/moonlight-qt/default.nix b/pkgs/applications/misc/moonlight-qt/default.nix
index a463f6e3eecb7..3108d78e8ff8b 100644
--- a/pkgs/applications/misc/moonlight-qt/default.nix
+++ b/pkgs/applications/misc/moonlight-qt/default.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "moonlight-qt";
-  version = "4.2.1";
+  version = "4.3.1";
 
   src = fetchFromGitHub {
     owner = "moonlight-stream";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-cDX6XiAPFIS/csVpRl7yyAexiZwjmxp1Ng9gAo1uUw8=";
+    sha256 = "sha256-Utpv9VdX5vuUWDSGc3YcF8tHbvUZpPeXEDP4NKts+vI=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/misc/mysql-workbench/default.nix b/pkgs/applications/misc/mysql-workbench/default.nix
index ba82f2518c5ce..bc6a4817087c1 100644
--- a/pkgs/applications/misc/mysql-workbench/default.nix
+++ b/pkgs/applications/misc/mysql-workbench/default.nix
@@ -9,7 +9,7 @@
 , gtkmm3
 , pcre
 , swig
-, antlr4_8
+, antlr4_9
 , sudo
 , mysql
 , libxml2
@@ -23,7 +23,7 @@
 , libzip
 , libsecret
 , libssh
-, python2
+, python3
 , jre
 , boost
 , libsigcxx
@@ -43,14 +43,14 @@
 }:
 
 let
-  inherit (python2.pkgs) paramiko pycairo pyodbc;
+  inherit (python3.pkgs) paramiko pycairo pyodbc;
 in stdenv.mkDerivation rec {
   pname = "mysql-workbench";
-  version = "8.0.21";
+  version = "8.0.30";
 
   src = fetchurl {
     url = "http://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community-${version}-src.tar.gz";
-    sha256 = "0rqgr1dcbf6yp60hninbw5dnwykx5ngbyhhx0sbhgv0m0cq5a44h";
+    sha256 = "d094b391760948f42a3b879e8473040ae9bb26991eced482eb982a52c8ff8185";
   };
 
   patches = [
@@ -67,6 +67,7 @@ in stdenv.mkDerivation rec {
       nohup = "${coreutils}/bin/nohup";
       rm = "${coreutils}/bin/rm";
       rmdir = "${coreutils}/bin/rmdir";
+      stat = "${coreutils}/bin/stat";
       sudo = "${sudo}/bin/sudo";
     })
 
@@ -78,10 +79,12 @@ in stdenv.mkDerivation rec {
     })
   ];
 
-  # have it look for 4.7.2 instead of 4.7.1
+  # 1. have it look for 4.9.3 instead of 4.9.1
+  # 2. for some reason CMakeCache.txt is part of source code
   preConfigure = ''
     substituteInPlace CMakeLists.txt \
-      --replace "antlr-4.7.1-complete.jar" "antlr-4.8-complete.jar"
+      --replace "antlr-4.9.1-complete.jar" "antlr-4.9.3-complete.jar"
+    rm -f build/CMakeCache.txt
   '';
 
   nativeBuildInputs = [
@@ -97,8 +100,8 @@ in stdenv.mkDerivation rec {
     gtk3
     gtkmm3
     libX11
-    antlr4_8.runtime.cpp
-    python2
+    antlr4_9.runtime.cpp
+    python3
     mysql
     libxml2
     libmysqlconnectorcpp
@@ -143,10 +146,10 @@ in stdenv.mkDerivation rec {
   cmakeFlags = [
     "-DMySQL_CONFIG_PATH=${mysql}/bin/mysql_config"
     "-DIODBC_CONFIG_PATH=${libiodbc}/bin/iodbc-config"
-    "-DWITH_ANTLR_JAR=${antlr4_8.jarLocation}"
     # mysql-workbench 8.0.21 depends on libmysqlconnectorcpp 1.1.8.
     # Newer versions of connector still provide the legacy library when enabled
     # but the headers are in a different location.
+    "-DWITH_ANTLR_JAR=${antlr4_9.jarLocation}"
     "-DMySQLCppConn_INCLUDE_DIR=${libmysqlconnectorcpp}/include/jdbc"
   ];
 
@@ -156,7 +159,7 @@ in stdenv.mkDerivation rec {
 
   preFixup = ''
     gappsWrapperArgs+=(
-      --prefix PATH : "${python2}/bin"
+      --prefix PATH : "${python3}/bin"
       --prefix PROJSO : "${proj}/lib/libproj.so"
       --set PYTHONPATH $PYTHONPATH
     )
diff --git a/pkgs/applications/misc/mysql-workbench/hardcode-paths.patch b/pkgs/applications/misc/mysql-workbench/hardcode-paths.patch
index dddf992e4c120..a90075210cf69 100644
--- a/pkgs/applications/misc/mysql-workbench/hardcode-paths.patch
+++ b/pkgs/applications/misc/mysql-workbench/hardcode-paths.patch
@@ -1,6 +1,7 @@
---- a/frontend/linux/workbench/mysql-workbench.in
-+++ b/frontend/linux/workbench/mysql-workbench.in
-@@ -99,8 +99,8 @@
+diff -u -r a/frontend/linux/workbench/mysql-workbench.in b/frontend/linux/workbench/mysql-workbench.in
+--- a/frontend/linux/workbench/mysql-workbench.in	2022-03-25 09:06:06.000000000 +0200
++++ b/frontend/linux/workbench/mysql-workbench.in	2022-06-17 00:22:51.290117109 +0300
+@@ -100,8 +100,8 @@
  if test "$WB_DEBUG" != ""; then
    $WB_DEBUG $MWB_BINARIES_DIR/mysql-workbench-bin "$@"
  else
@@ -11,8 +12,9 @@
    else
    $MWB_BINARIES_DIR/mysql-workbench-bin "$@"
    fi
---- a/plugins/migration/frontend/migration_bulk_copy_data.py
-+++ b/plugins/migration/frontend/migration_bulk_copy_data.py
+diff -u -r a/plugins/migration/frontend/migration_bulk_copy_data.py b/plugins/migration/frontend/migration_bulk_copy_data.py
+--- a/plugins/migration/frontend/migration_bulk_copy_data.py	2022-03-25 09:06:06.000000000 +0200
++++ b/plugins/migration/frontend/migration_bulk_copy_data.py	2022-06-17 00:13:29.430055453 +0300
 @@ -110,7 +110,7 @@
          return 'sh'
  
@@ -34,7 +36,7 @@
 @@ -417,7 +417,7 @@
      
          with open(script_path, 'w+') as f:
-             os.chmod(script_path, 0700)
+             os.chmod(script_path, 0o700)
 -            f.write('#!/bin/bash\n\n')
 +            f.write('#!/usr/bin/env bash\n\n')
              f.write('MYPATH=`pwd`\n')
@@ -43,14 +45,15 @@
 @@ -521,7 +521,7 @@
      
          with open(script_path, 'w+') as f:
-             os.chmod(script_path, 0700)
+             os.chmod(script_path, 0o700)
 -            f.write('#!/bin/bash\n\n')
 +            f.write('#!/usr/bin/env bash\n\n')
              f.write('MYPATH=`pwd`\n')
              
              f.write("arg_source_password=\"<put source password here>\"\n")
---- a/plugins/wb.admin/backend/wb_server_control.py
-+++ b/plugins/wb.admin/backend/wb_server_control.py
+diff -u -r a/plugins/wb.admin/backend/wb_server_control.py b/plugins/wb.admin/backend/wb_server_control.py
+--- a/plugins/wb.admin/backend/wb_server_control.py	2022-03-25 09:06:06.000000000 +0200
++++ b/plugins/wb.admin/backend/wb_server_control.py	2022-06-17 00:14:26.937905324 +0300
 @@ -39,7 +39,7 @@
  
  UnixVariant = {
@@ -60,8 +63,9 @@
      }
  }
  
---- a/plugins/wb.admin/backend/wb_server_management.py
-+++ b/plugins/wb.admin/backend/wb_server_management.py
+diff -u -r a/plugins/wb.admin/backend/wb_server_management.py b/plugins/wb.admin/backend/wb_server_management.py
+--- a/plugins/wb.admin/backend/wb_server_management.py	2022-03-25 09:06:06.000000000 +0200
++++ b/plugins/wb.admin/backend/wb_server_management.py	2022-06-17 00:18:58.034028354 +0300
 @@ -40,7 +40,7 @@
  
  def reset_sudo_prefix():
@@ -89,7 +93,19 @@
  
      return command
  
-@@ -896,9 +896,9 @@
+@@ -878,9 +878,9 @@
+     @useAbsPath("path")
+     def get_file_owner(self, path, as_user = Users.CURRENT, user_password = None):
+         if self.target_os == wbaOS.linux:
+-          command = 'LC_ALL=C stat -c %U '
++          command = 'LC_ALL=C @stat@ -c %U '
+         else:
+-          command = 'LC_ALL=C /usr/bin/stat -f "%Su" '
++          command = 'LC_ALL=C @stat@ -f "%Su" '
+       
+         output = io.StringIO()
+         command = command + quote_path(path)
+@@ -904,9 +904,9 @@
              if as_user == Users.CURRENT:
                  raise PermissionDeniedError("Cannot set owner of directory %s" % path)        
              else:
@@ -101,43 +117,43 @@
              
          res = self.process_ops.exec_cmd(command,
                                          as_user   = as_user,
-@@ -927,7 +927,7 @@
+@@ -935,7 +935,7 @@
      @useAbsPath("path")
      def remove_directory(self, path, as_user = Users.CURRENT, user_password = None):
-         output = StringIO.StringIO()
+         output = io.StringIO()
 -        res = self.process_ops.exec_cmd('/bin/rmdir ' + quote_path(path),
 +        res = self.process_ops.exec_cmd('@rmdir@ ' + quote_path(path),
                                          as_user   = as_user,
                                          user_password = user_password,
                                          output_handler = output.write,
-@@ -940,7 +940,7 @@
+@@ -948,7 +948,7 @@
      @useAbsPath("path")
      def remove_directory_recursive(self, path, as_user = Users.CURRENT, user_password = None):
-         output = StringIO.StringIO()
+         output = io.StringIO()
 -        res = self.process_ops.exec_cmd('/bin/rm -R ' + quote_path(path),
 +        res = self.process_ops.exec_cmd('@rm@ -R ' + quote_path(path),
                                          as_user   = as_user,
                                          user_password = user_password,
                                          output_handler = output.write,
-@@ -953,7 +953,7 @@
+@@ -961,7 +961,7 @@
      @useAbsPath("path")
      def delete_file(self, path, as_user = Users.CURRENT, user_password = None):
-         output = StringIO.StringIO()
+         output = io.StringIO()
 -        res = self.process_ops.exec_cmd("/bin/rm " + quote_path(path),
 +        res = self.process_ops.exec_cmd("@rm@ " + quote_path(path),
                                          as_user   = as_user,
                                          user_password = user_password,
                                          output_handler = output.write,
-@@ -1001,7 +1001,7 @@
+@@ -1009,7 +1009,7 @@
      def _copy_file(self, source, dest, as_user = Users.CURRENT, user_password = None):
-         output = StringIO.StringIO()
+         output = io.StringIO()
          
 -        res = self.process_ops.exec_cmd("LC_ALL=C /bin/cp " + quote_path(source) + " " + quote_path(dest),
 +        res = self.process_ops.exec_cmd("LC_ALL=C @cp@ " + quote_path(source) + " " + quote_path(dest),
                        as_user   = as_user,
                        user_password = user_password,
                        output_handler = output.write,
-@@ -1077,9 +1077,9 @@
+@@ -1085,9 +1085,9 @@
              # for ls -l, the output format changes depending on stdout being a terminal or not
              # since both cases are possible, we need to handle both at the same time (1st line being total <nnnn> or not)
              # the good news is that if the line is there, then it will always start with total, regardless of the locale
@@ -147,11 +163,11 @@
 -            command = 'LC_ALL=C /bin/ls -1 -p %s' % quote_path(path)
 +            command = 'LC_ALL=C @ls@ -1 -p %s' % quote_path(path)
              
-         output = StringIO.StringIO()
+         output = io.StringIO()
          res = self.process_ops.exec_cmd(command,
-@@ -2160,9 +2160,9 @@
+@@ -2163,9 +2163,9 @@
      def get_range(self, start, end):
-         f = StringIO.StringIO()
+         f = io.StringIO()
          if not self._need_sudo:
 -            ret = self.server_helper.execute_command("/bin/dd if=%s ibs=1 skip=%i count=%i 2> /dev/null" % (quote_path(self.path), start, end-start), as_user = Users.CURRENT, user_password=None, output_handler=f.write)
 +            ret = self.server_helper.execute_command("@dd@ if=%s ibs=1 skip=%i count=%i 2> /dev/null" % (quote_path(self.path), start, end-start), as_user = Users.CURRENT, user_password=None, output_handler=f.write)
@@ -161,7 +177,7 @@
  
          if ret != 0:
              raise RuntimeError("Could not get data from file %s" % self.path)
-@@ -2170,9 +2170,9 @@
+@@ -2173,9 +2173,9 @@
  
      def read_task(self, offset, file):
          if not self._need_sudo:
@@ -173,9 +189,9 @@
          # this will signal the reader end that there's no more data
          file.close()
  
-@@ -2198,9 +2198,9 @@
+@@ -2202,9 +2202,9 @@
          self._pos = offset
-         f = StringIO.StringIO()
+         f = io.StringIO()
          if not self._need_sudo:
 -            self.server_helper.execute_command("/bin/dd if=%s ibs=1 skip=%i 2> /dev/null" % (quote_path(self.path), offset), as_user = Users.CURRENT, user_password=None, output_handler=f.write)
 +            self.server_helper.execute_command("@dd@ if=%s ibs=1 skip=%i 2> /dev/null" % (quote_path(self.path), offset), as_user = Users.CURRENT, user_password=None, output_handler=f.write)
diff --git a/pkgs/applications/misc/nerd-font-patcher/default.nix b/pkgs/applications/misc/nerd-font-patcher/default.nix
index e865479f8da02..21c77316c1ab9 100644
--- a/pkgs/applications/misc/nerd-font-patcher/default.nix
+++ b/pkgs/applications/misc/nerd-font-patcher/default.nix
@@ -9,10 +9,10 @@ python3Packages.buildPythonApplication rec {
     owner = "ryanoasis";
     repo = "nerd-fonts";
     rev = "v${version}";
-    sparseCheckout = ''
-      font-patcher
-      /src/glyphs
-    '';
+    sparseCheckout = [
+      "font-patcher"
+      "/src/glyphs"
+    ];
     sha256 = "sha256-boZUd1PM8puc9BTgOwCJpkfk6VMdXLsIyp+fQmW/ZqI=";
   };
 
diff --git a/pkgs/applications/misc/nut/default.nix b/pkgs/applications/misc/nut/default.nix
index e0e196ac14325..4a3025cec55c4 100644
--- a/pkgs/applications/misc/nut/default.nix
+++ b/pkgs/applications/misc/nut/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, neon, libusb-compat-0_1, openssl, udev, avahi, freeipmi
+{ lib, stdenv, fetchurl, substituteAll, pkg-config, neon, libusb-compat-0_1, openssl, udev, avahi, freeipmi
 , libtool, makeWrapper, autoreconfHook, fetchpatch
 }:
 
@@ -17,6 +17,13 @@ stdenv.mkDerivation rec {
       url = "https://github.com/networkupstools/nut/commit/612c05efb3c3b243da603a3a050993281888b6e3.patch";
       sha256 = "0jdbii1z5sqyv24286j5px65j7b3gp8zk3ahbph83pig6g46m3hs";
     })
+    (substituteAll {
+      src = ./hardcode-paths.patch;
+      avahi = "${avahi}/lib";
+      freeipmi = "${freeipmi}/lib";
+      libusb = "${libusb-compat-0_1}/lib";
+      neon = "${neon}/lib";
+    })
   ];
 
   buildInputs = [ neon libusb-compat-0_1 openssl udev avahi freeipmi ];
@@ -38,11 +45,6 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = [ "-std=c++14" ];
 
-  postInstall = ''
-    wrapProgram $out/bin/nut-scanner --prefix LD_LIBRARY_PATH : \
-      "$out/lib:${neon}/lib:${libusb-compat-0_1.out}/lib:${avahi}/lib:${freeipmi}/lib"
-  '';
-
   meta = with lib; {
     description = "Network UPS Tools";
     longDescription = ''
diff --git a/pkgs/applications/misc/nut/hardcode-paths.patch b/pkgs/applications/misc/nut/hardcode-paths.patch
new file mode 100644
index 0000000000000..db6d68471ce5d
--- /dev/null
+++ b/pkgs/applications/misc/nut/hardcode-paths.patch
@@ -0,0 +1,13 @@
+--- a/tools/nut-scanner/nutscan-init.c
++++ b/tools/nut-scanner/nutscan-init.c
+@@ -44,6 +44,10 @@ int nutscan_load_upsclient_library(const char *libname_path);
+ 
+ /* FIXME: would be good to get more from /etc/ld.so.conf[.d] */
+ char * search_paths[] = {
++	"@avahi@",
++	"@freeipmi@",
++	"@libusb@",
++	"@neon@",
+ 	LIBDIR,
+ 	"/usr/lib64",
+ 	"/lib64",
diff --git a/pkgs/applications/misc/obsidian/default.nix b/pkgs/applications/misc/obsidian/default.nix
index 2ef17f9c1cdf3..85ef0c436691f 100644
--- a/pkgs/applications/misc/obsidian/default.nix
+++ b/pkgs/applications/misc/obsidian/default.nix
@@ -12,7 +12,7 @@
 let
   inherit (stdenv.hostPlatform) system;
   pname = "obsidian";
-  version = "1.0.0";
+  version = "1.0.3";
   appname = "Obsidian";
   meta = with lib; {
     description = "A powerful knowledge base that works on top of a local folder of plain text Markdown files";
@@ -25,7 +25,7 @@ let
   filename = if stdenv.isDarwin then "Obsidian-${version}-universal.dmg" else "obsidian-${version}.tar.gz";
   src = fetchurl {
     url = "https://github.com/obsidianmd/obsidian-releases/releases/download/v${version}/${filename}";
-    sha256 = if stdenv.isDarwin then "sha256-KVWqdXzbQT93Dj4yesdnfFwAdYin1vfpPsj/ur1AGA0=" else "sha256-H1Cl9SBz/mwN8gezFkcV4KxI7+xVjQV2AtyLKyjVpI8=";
+    sha256 = if stdenv.isDarwin then "sha256-DYF9fEpZaP4tD/eeZAegDahR7UZyroqNB9bn2U7sgXs=" else "sha256-MpQk5g4184ZkCAjLU5Ug0ReWgVADskS1QuMcnPdNofs=";
   };
 
   icon = fetchurl {
diff --git a/pkgs/applications/misc/oneko/default.nix b/pkgs/applications/misc/oneko/default.nix
index e8399aeb098fe..17a94511e3fce 100644
--- a/pkgs/applications/misc/oneko/default.nix
+++ b/pkgs/applications/misc/oneko/default.nix
@@ -1,4 +1,11 @@
-{ lib, stdenv, fetchFromGitHub, imake, gccmakedep, xlibsWrapper }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, imake
+, gccmakedep
+, libX11
+, libXext
+}:
 
 stdenv.mkDerivation rec {
   version_name = "1.2.hanami.6";
@@ -11,7 +18,7 @@ stdenv.mkDerivation rec {
     sha256 = "0vx12v5fm8ar3f1g6jbpmd3b1q652d32nc67ahkf28djbqjgcbnc";
   };
   nativeBuildInputs = [ imake gccmakedep ];
-  buildInputs = [ xlibsWrapper ];
+  buildInputs = [ libX11 libXext ];
 
   makeFlags = [ "BINDIR=$(out)/bin" "MANPATH=$(out)/share/man" ];
   installTargets = [ "install" "install.man" ];
diff --git a/pkgs/applications/misc/organicmaps/default.nix b/pkgs/applications/misc/organicmaps/default.nix
index de5b3c0d9fb6d..639f1d4773c19 100644
--- a/pkgs/applications/misc/organicmaps/default.nix
+++ b/pkgs/applications/misc/organicmaps/default.nix
@@ -19,13 +19,13 @@
 
 mkDerivation rec {
   pname = "organicmaps";
-  version = "2022.09.22-3";
+  version = "2022.11.02-2";
 
   src = fetchFromGitHub {
     owner = "organicmaps";
     repo = "organicmaps";
     rev = "${version}-android";
-    sha256 = "sha256-b+XPsKeDVj3crOTxb52CxXmldkurVlNcZ/ODuJIbQ2A=";
+    sha256 = "sha256-E/lJDw1QMPT0QcaTOxEyJL4hmEFkq21vQkgZbssszJg=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/misc/oxker/default.nix b/pkgs/applications/misc/oxker/default.nix
index ddf1f047ef44e..50d0e5a012b42 100644
--- a/pkgs/applications/misc/oxker/default.nix
+++ b/pkgs/applications/misc/oxker/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "oxker";
-  version = "0.1.6";
+  version = "0.1.7";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-R7vtwUJVlqrt/71d1hbliJvkAhJx6A0Q5nsV71QO/tY=";
+    sha256 = "sha256-kMomzIViN7ooBsjUfCIk0XRi4WtXtiaHWHT2pECx//k=";
   };
 
-  cargoSha256 = "sha256-LciBg74zyWdSv0FMHFpp/XtbBuzsfEalmiBNCL+i7Zg=";
+  cargoSha256 = "sha256-ASBu4p8+/Donmynnyryktc6dXA3yiOb9w5XpmN4PotY=";
 
   meta = with lib; {
     description = "A simple tui to view & control docker containers";
diff --git a/pkgs/applications/misc/passky-desktop/default.nix b/pkgs/applications/misc/passky-desktop/default.nix
index f247329158ace..97df6ba94daef 100644
--- a/pkgs/applications/misc/passky-desktop/default.nix
+++ b/pkgs/applications/misc/passky-desktop/default.nix
@@ -2,16 +2,16 @@
 
 let
   pname = "passky-desktop";
-  version = "5.0.0";
+  version = "7.1.0";
 
   srcs = {
     x86_64-linux = fetchurl {
       url = "https://github.com/Rabbit-Company/Passky-Desktop/releases/download/v${version}/Passky-${version}.AppImage";
-      sha256 = "19sy9y2bcxrf10ifszinh4yn32q3032h3d1qxm046zffzl069807";
+      sha256 = "1xnhrmmm018mmyzjq05mhbf673f0n81fh1k3kbfarbgk2kbwpq6y";
     };
     x86_64-darwin = fetchurl {
       url = "https://github.com/Rabbit-Company/Passky-Desktop/releases/download/v${version}/Passky-${version}.dmg";
-      sha256 = "sha256-lclJOaYe+2XeKhJb2WcOAzjBMzK3YEmlS4rXuRUJYU0=";
+      sha256 = "0mm7hk4v7zvpjdqyw3nhk33x72j0gh3f59bx3q18azlm4dr61r2d";
     };
   };
   src = srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
diff --git a/pkgs/applications/misc/privacyidea/default.nix b/pkgs/applications/misc/privacyidea/default.nix
index 405d992576da8..8ec18a8748637 100644
--- a/pkgs/applications/misc/privacyidea/default.nix
+++ b/pkgs/applications/misc/privacyidea/default.nix
@@ -89,13 +89,13 @@ let
 in
 python3'.pkgs.buildPythonPackage rec {
   pname = "privacyIDEA";
-  version = "3.7.3";
+  version = "3.7.4";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-odwYUGfgoRrGbLpOh8SuQzYby8Ya6hKSn0rdHp+RS/U=";
+    sha256 = "sha256-QoVL6WJjX6+sN5S/iqV3kcfQ5fWTXkTnf6NpZcw3bGo=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/misc/process-compose/default.nix b/pkgs/applications/misc/process-compose/default.nix
new file mode 100644
index 0000000000000..c52adbc4f0be2
--- /dev/null
+++ b/pkgs/applications/misc/process-compose/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, installShellFiles
+}:
+
+buildGoModule rec {
+  pname = "process-compose";
+  version = "0.24.1";
+
+  src = fetchFromGitHub {
+    owner = "F1bonacc1";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "TKLLq6I+Mcvdz51m8nydTWcslBcQlJCJFoJ10SgfVWU=";
+  };
+
+  ldflags = [ "-X main.version=v${version}" ];
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  vendorSha256 = "IsO1B6z1/HoGQ8xdNKQqZ/eZd90WikDbU9XiP0z28mU=";
+
+  doCheck = false;
+
+  postInstall = ''
+    mv $out/bin/{src,process-compose}
+
+    installShellCompletion --cmd process-compose \
+      --bash <($out/bin/process-compose completion bash) \
+      --zsh <($out/bin/process-compose completion zsh) \
+      --fish <($out/bin/process-compose completion fish)
+  '';
+
+  meta = with lib; {
+    description = "A simple and flexible scheduler and orchestrator to manage non-containerized applications";
+    homepage = "https://github.com/F1bonacc1/process-compose";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ thenonameguy ];
+    mainProgram = "process-compose";
+  };
+}
diff --git a/pkgs/applications/misc/prusa-slicer/default.nix b/pkgs/applications/misc/prusa-slicer/default.nix
index 1592ef5461559..75c1ed16e1d17 100644
--- a/pkgs/applications/misc/prusa-slicer/default.nix
+++ b/pkgs/applications/misc/prusa-slicer/default.nix
@@ -28,13 +28,13 @@
 , qhull
 , systemd
 , tbb
-, wxGTK31-gtk3
+, wxGTK31
 , xorg
 , fetchpatch
-, wxGTK31-gtk3-override ? null
+, wxGTK31-override ? null
 }:
 let
-  wxGTK31-gtk3-prusa = wxGTK31-gtk3.overrideAttrs (old: rec {
+  wxGTK31-prusa = wxGTK31.overrideAttrs (old: rec {
     pname = "wxwidgets-prusa3d-patched";
     version = "3.1.4";
     src = fetchFromGitHub {
@@ -45,7 +45,7 @@ let
       fetchSubmodules = true;
     };
   });
-  wxGTK31-gtk3-override' = if wxGTK31-gtk3-override == null then wxGTK31-gtk3-prusa else wxGTK31-gtk3-override;
+  wxGTK31-override' = if wxGTK31-override == null then wxGTK31-prusa else wxGTK31-override;
 in
 stdenv.mkDerivation rec {
   pname = "prusa-slicer";
@@ -80,7 +80,7 @@ stdenv.mkDerivation rec {
     pcre
     systemd
     tbb
-    wxGTK31-gtk3-override'
+    wxGTK31-override'
     xorg.libX11
   ] ++ checkInputs;
 
diff --git a/pkgs/applications/misc/prusa-slicer/super-slicer.nix b/pkgs/applications/misc/prusa-slicer/super-slicer.nix
index b385542d679a5..a3c8fc6cdcc62 100644
--- a/pkgs/applications/misc/prusa-slicer/super-slicer.nix
+++ b/pkgs/applications/misc/prusa-slicer/super-slicer.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitHub, fetchpatch, makeDesktopItem, prusa-slicer, wxGTK31-gtk3 }:
+{ lib, fetchFromGitHub, fetchpatch, makeDesktopItem, prusa-slicer, wxGTK31 }:
 let
   appname = "SuperSlicer";
   pname = "super-slicer";
@@ -71,7 +71,7 @@ let
     passthru = allVersions;
 
   };
-  prusa-slicer' = prusa-slicer.override { wxGTK31-gtk3-override = wxGTK31-gtk3; };
+  prusa-slicer' = prusa-slicer.override { wxGTK31-override = wxGTK31; };
   allVersions = builtins.mapAttrs (_name: version: (prusa-slicer'.overrideAttrs (override version))) versions;
 in
 allVersions.stable
diff --git a/pkgs/applications/misc/qMasterPassword/default.nix b/pkgs/applications/misc/qMasterPassword/default.nix
index af0c1d6ca6f3a..2cdc3bdd9f3a9 100644
--- a/pkgs/applications/misc/qMasterPassword/default.nix
+++ b/pkgs/applications/misc/qMasterPassword/default.nix
@@ -1,18 +1,30 @@
-{ lib, stdenv, mkDerivation, fetchFromGitHub, qtbase, qmake, qttools, libX11, libXtst, openssl, libscrypt }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, libX11
+, libXtst
+, qmake
+, qtbase
+, qttools
+, qtwayland
+, openssl
+, libscrypt
+, wrapQtAppsHook
+}:
 
-mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "qMasterPassword";
-  version = "1.2.3";
+  version = "1.2.4";
 
   src = fetchFromGitHub {
     owner = "bkueng";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-eUJD9FoGaDzADKm3wZHs5Bhdt7RoM1WTTVNP6xUV7gs=";
+    sha256 = "sha256-VQ1ZkXaZ5sUbtWa/GreTr5uXvnZ2Go6owJ2ZBK25zns=";
   };
 
-  buildInputs = [ qtbase libX11 libXtst openssl libscrypt ];
-  nativeBuildInputs = [ qmake qttools ];
+  buildInputs = [ qtbase qtwayland libX11 libXtst openssl libscrypt ];
+  nativeBuildInputs = [ qmake qttools wrapQtAppsHook ];
 
   # Upstream install is mostly defunct. It hardcodes target.path and doesn't
   # install anything but the binary.
@@ -46,7 +58,7 @@ mkDerivation rec {
     '';
     homepage = "https://github.com/bkueng/qMasterPassword";
     license = licenses.gpl3;
-    maintainers = [ maintainers.tadeokondrak ];
+    maintainers = with lib.maintainers; [ tadeokondrak teutat3s ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/misc/redis-desktop-manager/default.nix b/pkgs/applications/misc/redis-desktop-manager/default.nix
deleted file mode 100644
index bd27fbb342f32..0000000000000
--- a/pkgs/applications/misc/redis-desktop-manager/default.nix
+++ /dev/null
@@ -1,85 +0,0 @@
-{ stdenv, mkDerivation, lib, fetchFromGitHub, fetchFromGitiles, pkg-config, libssh2
-, qtbase, qtdeclarative, qtgraphicaleffects, qtimageformats, qtquickcontrols2
-, qtsvg, qttools, qtquick1, qtcharts
-, qmake
-}:
-
-let
-  breakpad_lss = fetchFromGitiles {
-    url = "https://chromium.googlesource.com/linux-syscall-support";
-    rev = "08056836f2b4a5747daff75435d10d649bed22f6";
-    sha256 = "1ryshs2nyxwa0kn3rlbnd5b3fhna9vqm560yviddcfgdm2jyg0hz";
-  };
-
-in
-
-mkDerivation rec {
-  pname = "redis-desktop-manager";
-  version = "0.9.1";
-
-  src = fetchFromGitHub {
-    owner = "uglide";
-    repo = "RedisDesktopManager";
-    fetchSubmodules = true;
-    rev = version;
-    sha256 = "0yd4i944d4blw8jky0nxl7sfkkj975q4d328rdcbhizwvf6dx81f";
-  };
-
-  nativeBuildInputs = [ pkg-config qmake ];
-  buildInputs = [
-    libssh2 qtbase qtdeclarative qtgraphicaleffects qtimageformats
-    qtquick1 qtquickcontrols2 qtsvg qttools qtcharts
-  ];
-
-  dontUseQmakeConfigure = true;
-  dontWrapQtApps = true;
-
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=deprecated" ];
-
-  # Disable annoying update reminder
-  postPatch = ''
-    sed -i s/'^\s*initUpdater();'/'\/\/initUpdater():'/ src/app/app.cpp
-  '';
-
-  buildPhase = ''
-    srcdir=$PWD
-
-    cat <<EOF > src/version.h
-#ifndef RDM_VERSION
-    #define RDM_VERSION "${version}-120"
-#endif // !RDM_VERSION
-EOF
-
-    cd $srcdir/3rdparty/gbreakpad
-    cp -r ${breakpad_lss} src/third_party/lss
-    chmod +w -R src/third_party/lss
-    touch README
-
-    cd $srcdir/3rdparty/crashreporter
-    qmake CONFIG+=release DESTDIR="$srcdir/rdm/bin/linux/release" QMAKE_LFLAGS_RPATH=""
-    make
-
-    cd $srcdir/3rdparty/gbreakpad
-    ./configure
-    make
-
-    cd $srcdir/src
-    qmake
-    make
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-    instdir="$srcdir/bin/linux/release"
-    cp $instdir/rdm $out/bin
-  '';
-
-  meta = with lib; {
-    broken = (stdenv.isLinux && stdenv.isAarch64);
-    description = "Cross-platform open source Redis DB management tool";
-    homepage = "https://redisdesktop.com/";
-    license = licenses.gpl3Only;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ cstrahan ];
-  };
-}
diff --git a/pkgs/applications/misc/resp-app/default.nix b/pkgs/applications/misc/resp-app/default.nix
new file mode 100644
index 0000000000000..e9781d40db7b9
--- /dev/null
+++ b/pkgs/applications/misc/resp-app/default.nix
@@ -0,0 +1,103 @@
+{ stdenv
+, mkDerivation
+, lib
+, fetchFromGitHub
+, fetchpatch
+, brotli
+, lz4
+, pyotherside
+, python3
+, python3Packages
+, qtbase
+, qtcharts
+, qmake
+, qttools
+, rdbtools
+, snappy
+, wrapQtAppsHook
+, zstd
+}:
+
+let
+  rdbtools-patched = rdbtools.overridePythonAttrs (oldAttrs: {
+    # Add required additional flag for resp-app
+    patches = [
+      (fetchpatch {
+        name = "Add-flag-to-parse-only-key-names.patch";
+        url = "https://github.com/uglide/redis-rdb-tools/commit/b74946e6fbca589947ef0186429d5ce45a074b87.patch";
+        hash = "sha256-1gjqB/IDSsAbrwzWSezlAW/2SYr6BFm1QJ2HAHK2fFs=";
+      })
+    ];
+  });
+in
+mkDerivation rec {
+  pname = "RESP.app";
+  version = "2022.5";
+
+  src = fetchFromGitHub {
+    owner = "RedisInsight";
+    repo = "RedisDesktopManager";
+    fetchSubmodules = true;
+    rev = version;
+    sha256 = "sha256-5eI3J2RsYE5Ejb1r8YkgzmGX2FyaCLFD0lc10J+fOT4=";
+  };
+
+  nativeBuildInputs = [
+    python3Packages.wrapPython
+    qmake
+    wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    brotli
+    lz4
+    pyotherside
+    python3
+    qtbase
+    qtcharts
+    qttools
+    snappy
+    zstd
+  ] ++ pythonPath;
+
+
+  pythonPath = with python3Packages; [
+    bitstring
+    cbor
+    msgpack
+    phpserialize
+    rdbtools-patched
+    python-lzf
+  ];
+
+  postPatch = ''
+    substituteInPlace src/resp.pro \
+      --replace 'which ccache' "false" \
+      --replace 'target.files = $$DESTDIR/resp' "${placeholder "src"}/bin/linux/release/resp" \
+      --replace '/opt/resp_app' "${placeholder "out"}" \
+      --replace 'target.path = $$LINUX_INSTALL_PATH' 'target.path = $$LINUX_INSTALL_PATH/bin' \
+      --replace '/usr/' "$out/"
+  '';
+
+  qmakeFlags = [
+    "SYSTEM_LZ4=1"
+    "SYSTEM_ZSTD=1"
+    "SYSTEM_SNAPPY=1"
+    "SYSTEM_BROTLI=1"
+    "VERSION=${version}"
+    "src/resp.pro"
+  ];
+
+  preFixup = ''
+    buildPythonPath "$pythonPath"
+    qtWrapperArgs+=(--prefix PYTHONPATH : "$program_PYTHONPATH")
+  '';
+
+  meta = with lib; {
+    description = "Cross-platform Developer GUI for Redis";
+    homepage = "https://resp.app/";
+    license = licenses.gpl3Only;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ cstrahan ];
+  };
+}
diff --git a/pkgs/applications/misc/safeeyes/default.nix b/pkgs/applications/misc/safeeyes/default.nix
index d3d875a5b4011..51ae6888b2a96 100644
--- a/pkgs/applications/misc/safeeyes/default.nix
+++ b/pkgs/applications/misc/safeeyes/default.nix
@@ -1,6 +1,5 @@
 { lib
-, buildPythonApplication
-, fetchPypi
+, python3
 , alsa-utils
 , gobject-introspection
 , libappindicator-gtk3
@@ -10,14 +9,10 @@
 , xprintidle
 , xprop
 , wrapGAppsHook
-, babel
-, psutil
-, xlib
-, pygobject3
-, dbus-python
-, croniter
 }:
 
+with python3.pkgs;
+
 buildPythonApplication rec {
   pname = "safeeyes";
   version = "2.1.3";
diff --git a/pkgs/applications/misc/semver/default.nix b/pkgs/applications/misc/semver/default.nix
new file mode 100644
index 0000000000000..5453467b9ef6d
--- /dev/null
+++ b/pkgs/applications/misc/semver/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildGoModule, fetchFromGitHub, git }:
+
+buildGoModule rec {
+  pname = "semver";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "catouc";
+    repo = "semver-go";
+    rev = "v${version}";
+    sha256 = "0v3j7rw917wnmp4lyjscqzk4qf4azfiz70ynbq3wl4gwp1m783vv";
+  };
+
+  vendorSha256 = null;
+  nativeBuildInputs = [ git ];
+
+  meta = with lib; {
+    homepage = "https://github.com/catouc/semver-go";
+    description = "A small CLI to fish out the current or next semver version from a git repository";
+    maintainers = with maintainers; [ catouc ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/applications/misc/sigi/default.nix b/pkgs/applications/misc/sigi/default.nix
index 5b5bf57870df2..132b8f0ab9e4e 100644
--- a/pkgs/applications/misc/sigi/default.nix
+++ b/pkgs/applications/misc/sigi/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "sigi";
-  version = "3.4.3";
+  version = "3.5.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-CDu/tllCwmt+UO4ae1uFkR4KKCWdxM4aW1O7oY59qHE=";
+    sha256 = "sha256-VUf5fCVOZCn0iY51eBS/fIvlxQF+BY+k75I+NY7yqzM=";
   };
 
-  cargoSha256 = "sha256-pMOaw7Ra78aRisYF9ttbpjB/cbylpzZXw8DtBqn5Tjo=";
+  cargoSha256 = "sha256-ivSVcpUDGK0dJDy+jY7BYQIFCXu/npV0MiNe3nlsUho=";
   nativeBuildInputs = [ installShellFiles ];
 
   # In case anything goes wrong.
@@ -23,7 +23,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "Organizing CLI for people who don't love organizing.";
-    homepage = "https://github.com/hiljusti/sigi";
+    homepage = "https://github.com/sigi-cli/sigi";
     license = licenses.gpl2;
     maintainers = with maintainers; [ hiljusti ];
   };
diff --git a/pkgs/applications/misc/sleepyhead/default.nix b/pkgs/applications/misc/sleepyhead/default.nix
deleted file mode 100644
index 63a45758d932d..0000000000000
--- a/pkgs/applications/misc/sleepyhead/default.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ lib, stdenv, mkDerivation, fetchgit, zlib, libGLU, libX11, qtbase, qtwebkit, qtserialport, wrapQtAppsHook }:
-
-mkDerivation {
-  pname = "sleepyhead";
-  version = "1.0.0-beta-git";
-
-  src = fetchgit {
-    url = "https://gitlab.com/sleepyhead/sleepyhead-code.git";
-    rev = "9e2329d8bca45693231b5e3dae80063717c24578";
-    sha256 = "0448z8gyaxpgpnksg34lzmffj36jdpm0ir4xxa5gvzagkx0wk07h";
-  };
-
-  buildInputs = [
-    qtbase qtwebkit qtserialport
-    zlib
-    libGLU
-    libX11
-  ];
-
-  nativeBuildInputs = [ wrapQtAppsHook ];
-
-  patchPhase = ''
-    patchShebangs configure
-  '';
-
-  installPhase = if stdenv.isDarwin then ''
-    mkdir -p $out/Applications
-    cp -r sleepyhead/SleepyHead.app $out/Applications
-  '' else ''
-    mkdir -p $out/bin
-    cp sleepyhead/SleepyHead $out/bin
-  '';
-
-  meta = with lib; {
-    homepage = "https://sleepyhead.jedimark.net/";
-    description = "Review and explore data produced by CPAP and related machines";
-    longDescription = ''
-      SleepyHead is cross platform, opensource sleep tracking program for reviewing CPAP and Oximetry data, which are devices used in the treatment of Sleep Disorders like Obstructive Sleep Apnea.
-    '';
-    license = licenses.gpl3;
-    platforms = platforms.all;
-    maintainers = [ maintainers.krav ];
-  };
-
-}
diff --git a/pkgs/applications/misc/sticky/default.nix b/pkgs/applications/misc/sticky/default.nix
index 75dac02f56ecf..cab49db654e28 100644
--- a/pkgs/applications/misc/sticky/default.nix
+++ b/pkgs/applications/misc/sticky/default.nix
@@ -85,6 +85,6 @@ python3.pkgs.buildPythonApplication rec {
     homepage = "https://github.com/linuxmint/sticky";
     license = licenses.gpl2Only;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ linsui ];
+    maintainers = with maintainers; [ linsui bobby285271 ];
   };
 }
diff --git a/pkgs/applications/misc/survex/default.nix b/pkgs/applications/misc/survex/default.nix
index 0dd5afd3edb41..b23cd02220b2b 100644
--- a/pkgs/applications/misc/survex/default.nix
+++ b/pkgs/applications/misc/survex/default.nix
@@ -7,6 +7,8 @@
 , ffmpeg
 , glib
 , libGLU
+, libICE
+, libX11
 , mesa
 , perl
 , pkg-config
@@ -14,7 +16,6 @@
 , python3
 , wrapGAppsHook
 , wxGTK32
-, xlibsWrapper
 }:
 
 stdenv.mkDerivation rec {
@@ -52,7 +53,8 @@ stdenv.mkDerivation rec {
     Carbon
     Cocoa
   ] ++ lib.optionals stdenv.hostPlatform.isLinux [
-    xlibsWrapper
+    libICE
+    libX11
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/misc/swaysettings/default.nix b/pkgs/applications/misc/swaysettings/default.nix
index ae0e76bed54c9..ce5672337be03 100644
--- a/pkgs/applications/misc/swaysettings/default.nix
+++ b/pkgs/applications/misc/swaysettings/default.nix
@@ -8,10 +8,12 @@
 , glib
 , gobject-introspection
 , gsettings-desktop-schemas
+, gtk-layer-shell
 , gtk3
 , json-glib
 , libgee
 , libhandy
+, libpulseaudio
 , libxml2
 , meson
 , ninja
@@ -25,13 +27,13 @@
 
 stdenv.mkDerivation rec {
   pname = "swaysettings";
-  version = "0.3.0";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "ErikReider";
     repo = "SwaySettings";
     rev = "v${version}";
-    hash = "sha256-2bbB+37t6chbdnOSpIolAsy7aD9i1UizWqkcF8Frfsk=";
+    hash = "sha256-dn3n5DOAsw0FeXBkh19A2qB/5O+RyA2/Fj5PVtMOyL0=";
   };
 
   nativeBuildInputs = [
@@ -52,10 +54,12 @@ stdenv.mkDerivation rec {
     glib
     gobject-introspection
     gsettings-desktop-schemas
+    gtk-layer-shell
     gtk3
     json-glib
     libgee
     libhandy
+    libpulseaudio
     libxml2
     pantheon.granite
   ];
diff --git a/pkgs/applications/misc/syncthingtray/default.nix b/pkgs/applications/misc/syncthingtray/default.nix
index 19561a49291bf..e96cbb418b40e 100644
--- a/pkgs/applications/misc/syncthingtray/default.nix
+++ b/pkgs/applications/misc/syncthingtray/default.nix
@@ -1,6 +1,7 @@
 { mkDerivation
 , lib
 , fetchFromGitHub
+, substituteAll
 , qtbase
 , qtwebengine
 , qtdeclarative
@@ -21,16 +22,27 @@
 }:
 
 mkDerivation rec {
-  version = "1.2.3";
+  version = "1.3.0";
   pname = "syncthingtray";
 
   src = fetchFromGitHub {
     owner = "Martchus";
     repo = "syncthingtray";
     rev = "v${version}";
-    sha256 = "sha256-jMl2kXpHVXH/TfdPbq6bzdpNec6f1AUWsMNZzaAvK/I=";
+    sha256 = "sha256-uhVRO9aiYJbUmwDp1+LIYF3wNBbVduVpTtVzaS0oUMU=";
   };
 
+  patches = [
+    # Fix Exec= path in runtime-generated
+    # ~/.config/autostart/syncthingtray.desktop file - this is required because
+    # we are wrapping the executable. We can't use `substituteAll` because we
+    # can't use `${placeholder "out"}` because that will produce the $out of
+    # the patch derivation itself, and not of syncthing's "out" placeholder.
+    # Hence we use a C definition with NIX_CFLAGS_COMPILE
+    ./use-nix-path-in-autostart.patch
+  ];
+  NIX_CFLAGS_COMPILE = "-DEXEC_NIX_PATH=\"${placeholder "out"}/bin/syncthingtray\"";
+
   buildInputs = [
     qtbase
     cpp-utilities
diff --git a/pkgs/applications/misc/syncthingtray/use-nix-path-in-autostart.patch b/pkgs/applications/misc/syncthingtray/use-nix-path-in-autostart.patch
new file mode 100644
index 0000000000000..a0907496ff9a7
--- /dev/null
+++ b/pkgs/applications/misc/syncthingtray/use-nix-path-in-autostart.patch
@@ -0,0 +1,13 @@
+diff --git i/widgets/settings/settingsdialog.cpp w/widgets/settings/settingsdialog.cpp
+index 4deff1f..16845b5 100644
+--- i/widgets/settings/settingsdialog.cpp
++++ w/widgets/settings/settingsdialog.cpp
+@@ -802,7 +802,7 @@ bool setAutostartEnabled(bool enabled)
+         desktopFile.write("[Desktop Entry]\n"
+                           "Name=" APP_NAME "\n"
+                           "Exec=\"");
+-        desktopFile.write(qEnvironmentVariable("APPIMAGE", QCoreApplication::applicationFilePath()).toUtf8().data());
++        desktopFile.write(qEnvironmentVariable("APPIMAGE", EXEC_NIX_PATH).toUtf8().data());
+         desktopFile.write("\" qt-widgets-gui --single-instance\nComment=" APP_DESCRIPTION "\n"
+                           "Icon=" PROJECT_NAME "\n"
+                           "Type=Application\n"
diff --git a/pkgs/applications/misc/synergy/default.nix b/pkgs/applications/misc/synergy/default.nix
index f756e9788ac95..401d4e00db168 100644
--- a/pkgs/applications/misc/synergy/default.nix
+++ b/pkgs/applications/misc/synergy/default.nix
@@ -14,7 +14,8 @@
 , gdk-pixbuf
 , libnotify
 , qttools
-, xlibsWrapper
+, libICE
+, libSM
 , libX11
 , libxkbfile
 , libXi
@@ -26,6 +27,7 @@
 , avahi-compat
 
   # MacOS / darwin
+, darwin
 , ApplicationServices
 , Carbon
 , Cocoa
@@ -48,6 +50,7 @@ stdenv.mkDerivation rec {
   patches = [
     # Without this OpenSSL from nixpkgs is not detected
     ./darwin-non-static-openssl.patch
+  ] ++ lib.optionals (stdenv.isDarwin && !(darwin.apple_sdk.frameworks ? UserNotifications)) [
     # We cannot include UserNotifications because of a build failure in the Apple SDK.
     # The functions used from it are already implicitly included anyways.
     ./darwin-no-UserNotifications-includes.patch
@@ -76,11 +79,14 @@ stdenv.mkDerivation rec {
     Cocoa
     CoreServices
     ScreenSaver
+  ] ++ lib.optionals (stdenv.isDarwin && darwin.apple_sdk.frameworks ? UserNotifications) [
+    darwin.apple_sdk.frameworks.UserNotifications
   ] ++ lib.optionals stdenv.isLinux [
     util-linux
     libselinux
     libsepol
-    xlibsWrapper
+    libICE
+    libSM
     libX11
     libXi
     libXtst
@@ -97,7 +103,8 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-Wno-inconsistent-missing-override";
 
   cmakeFlags = lib.optional (!withGUI) "-DSYNERGY_BUILD_LEGACY_GUI=OFF"
-    ++ lib.optional stdenv.isDarwin "-DCMAKE_OSX_DEPLOYMENT_TARGET=${stdenv.targetPlatform.darwinSdkVersion}";
+    # NSFilenamesPboardType is deprecated in 10.14+
+    ++ lib.optional stdenv.isDarwin "-DCMAKE_OSX_DEPLOYMENT_TARGET=${if stdenv.isAarch64 then "10.13" else stdenv.targetPlatform.darwinSdkVersion}";
 
   doCheck = true;
 
diff --git a/pkgs/applications/misc/tasktimer/default.nix b/pkgs/applications/misc/tasktimer/default.nix
index 669fead0a0e88..ca5d6227375ed 100644
--- a/pkgs/applications/misc/tasktimer/default.nix
+++ b/pkgs/applications/misc/tasktimer/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "tasktimer";
-  version = "1.9.4";
+  version = "1.11.0";
 
   src = fetchFromGitHub {
     owner = "caarlos0";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-M88JzcK9HwHeWbQ0McbCF1rIEiKnwh08oEoRck4A/Ho=";
+    sha256 = "sha256-CAqOsxmJxDgQRMx8cN23TajHd6BNiCFraFvhf5kKnzc=";
   };
 
-  vendorSha256 = "sha256-5OSAa7tGPtGyx0bet82FRoIozhhlFtakbPt6PtCTHd0=";
+  vendorSha256 = "sha256-Tk0yI/WFr0FV0AxJDStlP3XLem3v78ueuXyadhrLAog=";
 
   postInstall = ''
     mv $out/bin/tasktimer $out/bin/tt
diff --git a/pkgs/applications/misc/tellico/default.nix b/pkgs/applications/misc/tellico/default.nix
index 10d8dc026141a..d1286fe7179d9 100644
--- a/pkgs/applications/misc/tellico/default.nix
+++ b/pkgs/applications/misc/tellico/default.nix
@@ -1,5 +1,5 @@
 { lib
-, fetchurl
+, fetchFromGitLab
 , mkDerivation
 , cmake
 , exempi
@@ -24,17 +24,21 @@
 
 mkDerivation rec {
   pname = "tellico";
-  version = "3.4.1";
+  version = "3.4.4";
 
-  src = fetchurl {
-    # version 3.3.0 just uses 3.3 in its file name
-    urls = [
-      "https://tellico-project.org/files/tellico-${version}.tar.xz"
-      "https://tellico-project.org/files/tellico-${lib.versions.majorMinor version}.tar.xz"
-    ];
-    sha256 = "sha256-+FFN6sO0mvlage8JazyrqNZk4onejz1XJPiOK3gnhWE=";
+  src = fetchFromGitLab {
+    domain = "invent.kde.org";
+    owner = "office";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-Qgan0mnDTQx+KKCAnRpgi9CCbXIRBMQtAyH/Mr20VSw=";
   };
 
+  postPatch = ''
+    substituteInPlace src/gui/imagewidget.h \
+      --replace ksane_version.h KF5/ksane_version.h
+  '';
+
   nativeBuildInputs = [
     cmake
     extra-cmake-modules
diff --git a/pkgs/applications/misc/tippecanoe/default.nix b/pkgs/applications/misc/tippecanoe/default.nix
index 085c8881095f4..7eccdbcc8d48d 100644
--- a/pkgs/applications/misc/tippecanoe/default.nix
+++ b/pkgs/applications/misc/tippecanoe/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "tippecanoe";
-  version = "2.9.1";
+  version = "2.13.0";
 
   src = fetchFromGitHub {
     owner = "felt";
     repo = "tippecanoe";
     rev = finalAttrs.version;
-    hash = "sha256-DNIkQwJUeBdVdx06NM0KMWpTTwtMyBfKc/PwGiK4wvQ=";
+    hash = "sha256-YgmePs0GxygR0hvcnRngzW77QZTOygSYvRaYk6oCVls=";
   };
 
   buildInputs = [ sqlite zlib ];
diff --git a/pkgs/applications/misc/tofi/default.nix b/pkgs/applications/misc/tofi/default.nix
index 1734afd6fae62..947b5c336bbff 100644
--- a/pkgs/applications/misc/tofi/default.nix
+++ b/pkgs/applications/misc/tofi/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tofi";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "philj56";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-wF9gj1VNu+ik/dq5Q0l6rNfqU9kQXyLiAQvbU1OoHdg=";
+    sha256 = "sha256-KLHZrfoQ6x3EeKWo/TMp30rEIqdq16i8YLr4zFHbnSc=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-protocols ];
diff --git a/pkgs/applications/misc/tootle/default.nix b/pkgs/applications/misc/tootle/default.nix
index 422cf8ea76231..8483c787ad754 100644
--- a/pkgs/applications/misc/tootle/default.nix
+++ b/pkgs/applications/misc/tootle/default.nix
@@ -3,7 +3,7 @@
 , fetchFromGitHub
 , nix-update-script
 , fetchpatch
-, vala_0_54
+, vala
 , meson
 , ninja
 , pkg-config
@@ -50,6 +50,11 @@ stdenv.mkDerivation rec {
       url = "https://git.alpinelinux.org/aports/plain/community/tootle/0003-make-app-entries-private.patch?id=c973e68e3cba855f1601ef010afa9a14578b9499";
       sha256 = "sha256-zwU0nxf/haBZl4tOYDmMzwug+HC6lLDT8/12Wt62+S4=";
     })
+    # https://github.com/flathub/com.github.bleakgrey.tootle/pull/22
+    (fetchpatch {
+      url = "https://github.com/flathub/com.github.bleakgrey.tootle/raw/6b524dc13143e4827f67628e33dcf161d862af29/Fix-construct-prop.patch";
+      sha256 = "sha256-zOIMy9+rY2aRcPHcGWU/x6kf/xb7VnuHdsKQ0FO1Cyc=";
+    })
   ];
 
   nativeBuildInputs = [
@@ -57,11 +62,7 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     python3
-    # Does not build with Vala 0.56.1:
-    # ../src/Widgets/Status.vala:8.43-8.56: error: construct
-    # properties not supported for specified property type
-    # public API.NotificationType? kind { get; construct set; }
-    vala_0_54
+    vala
     wrapGAppsHook
   ];
 
@@ -93,6 +94,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/bleakgrey/tootle";
     license = licenses.gpl3;
     maintainers = with maintainers; [ dtzWill ];
-    broken = true;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/tty-share/default.nix b/pkgs/applications/misc/tty-share/default.nix
index a1adc152349ba..37cc10c3823ce 100644
--- a/pkgs/applications/misc/tty-share/default.nix
+++ b/pkgs/applications/misc/tty-share/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "tty-share";
-  version = "2.2.1";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "elisescu";
     repo = "tty-share";
     rev = "v${version}";
-    sha256 = "sha256-aAqKfi0ZX0UB07yGY6x0HcMspvq4rcJXKHSONxAwMlc=";
+    sha256 = "sha256-/oK2m2kxmF9HHYfTK6NlZxKKkDS7Oay+ed7jR/+szs0=";
   };
 
   # Upstream has a `./vendor` directory with all deps which we rely upon.
@@ -19,7 +19,6 @@ buildGoModule rec {
   meta = with lib; {
     homepage = "https://tty-share.com";
     description = "Share terminal via browser for remote work or shared sessions";
-    platforms = platforms.linux;
     license = licenses.mit;
     maintainers = with maintainers; [ andys8 ];
   };
diff --git a/pkgs/applications/misc/tumpa/default.nix b/pkgs/applications/misc/tumpa/default.nix
new file mode 100644
index 0000000000000..f7dfdd95d5db1
--- /dev/null
+++ b/pkgs/applications/misc/tumpa/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, python3
+, fetchFromGitHub
+, wrapQtAppsHook
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "tumpa";
+  version = "0.1.2";
+
+  src = fetchFromGitHub {
+    owner = "kushaldas";
+    repo = "tumpa";
+    rev = "v${version}";
+    sha256 = "17nhdildapgic5l05f3q1wf5jvz3qqdjv543c8gij1x9rdm8hgxi";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    setuptools
+    johnnycanencrypt
+    pyside2
+  ];
+
+  nativeBuildInputs = [
+    wrapQtAppsHook
+  ];
+
+  dontWrapQtApps = true;
+  preFixup = ''
+    makeWrapperArgs+=("''${qtWrapperArgs[@]}")
+  '';
+
+  doCheck = false;
+
+  meta = with lib; {
+    description = "OpenPGP key creation and smartcard access";
+    homepage = "https://github.com/kushaldas/tumpa";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ _0x4A6F ];
+    broken = true;
+  };
+}
diff --git a/pkgs/applications/misc/ulauncher/default.nix b/pkgs/applications/misc/ulauncher/default.nix
index 5890ec59acfc7..c4b838beed99a 100644
--- a/pkgs/applications/misc/ulauncher/default.nix
+++ b/pkgs/applications/misc/ulauncher/default.nix
@@ -16,15 +16,16 @@
 , wmctrl
 , xvfb-run
 , librsvg
+, libX11
 }:
 
 python3Packages.buildPythonApplication rec {
   pname = "ulauncher";
-  version = "5.12.1";
+  version = "5.15.0";
 
   src = fetchurl {
     url = "https://github.com/Ulauncher/Ulauncher/releases/download/${version}/ulauncher_${version}.tar.gz";
-    sha256 = "sha256-Fd3IOCEeXGV8zGd/8SzrWRsSsZRVePnsDaX8WrBrCOQ=";
+    sha256 = "sha256-1Qo6ffMtVRtZDPCHvHEl7T0dPdDUxP4TP2hkSVSdQpo";
   };
 
   nativeBuildInputs = with python3Packages; [
@@ -36,7 +37,6 @@ python3Packages.buildPythonApplication rec {
   ];
 
   buildInputs = [
-    gdk-pixbuf
     glib
     gnome.adwaita-icon-theme
     gtk3
@@ -71,7 +71,6 @@ python3Packages.buildPythonApplication rec {
 
   patches = [
     ./fix-path.patch
-    ./0001-Adjust-get_data_path-for-NixOS.patch
     ./fix-extensions.patch
   ];
 
@@ -108,6 +107,8 @@ python3Packages.buildPythonApplication rec {
     makeWrapperArgs+=(
      "''${gappsWrapperArgs[@]}"
      --prefix PATH : "${lib.makeBinPath [ wmctrl ]}"
+     --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libX11 ]}"
+     --prefix WEBKIT_DISABLE_COMPOSITING_MODE : "1"
     )
   '';
 
diff --git a/pkgs/applications/misc/ulauncher/fix-path.patch b/pkgs/applications/misc/ulauncher/fix-path.patch
index 2936df65194ef..bb5b8e38d3312 100644
--- a/pkgs/applications/misc/ulauncher/fix-path.patch
+++ b/pkgs/applications/misc/ulauncher/fix-path.patch
@@ -2,12 +2,11 @@ diff --git a/setup.py b/setup.py
 index 3616104..e9bbfda 100755
 --- a/setup.py
 +++ b/setup.py
-@@ -112,7 +112,7 @@ class InstallAndUpdateDataDirectory(DistUtilsExtra.auto.install_auto):
-         DistUtilsExtra.auto.install_auto.run(self)
- 
-         target_data = '/' + os.path.relpath(self.install_data, self.root) + '/'
+@@ -94,7 +94,7 @@
+         # Root is undefined if not installing into an alternate root
+         root = self.root or "/"
+         target_data = '/' + os.path.relpath(self.install_data, root) + '/'
 -        target_pkgdata = target_data + 'share/ulauncher/'
 +        target_pkgdata = '@out@/share/ulauncher/'
          target_scripts = '/' + os.path.relpath(self.install_scripts,
-                                                self.root) + '/'
- 
+                                                root) + '/'
diff --git a/pkgs/applications/misc/vhs/default.nix b/pkgs/applications/misc/vhs/default.nix
new file mode 100644
index 0000000000000..5ea0a82c850eb
--- /dev/null
+++ b/pkgs/applications/misc/vhs/default.nix
@@ -0,0 +1,38 @@
+{ lib, buildGoModule, installShellFiles, fetchFromGitHub, ffmpeg, ttyd, makeWrapper }:
+
+buildGoModule rec {
+  pname = "vhs";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "charmbracelet";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-wcOLUA/U+xRwo7slnACCURQO7D0F3pFP2/SHDfEHeTA=";
+  };
+
+  vendorHash = "sha256-f8EHDxu+NWAFJx9ujzsiDhNymdEzExmdreP11gV56AI=";
+
+  nativeBuildInputs = [ installShellFiles makeWrapper ];
+  buildInputs = [ ttyd ffmpeg ];
+
+  ldflags = [ "-s" "-w" "-X=main.Version=${version}" ];
+
+  postInstall = ''
+    wrapProgram $out/bin/vhs --prefix PATH : ${lib.makeBinPath [ ffmpeg ttyd ]}
+    $out/bin/vhs man > vhs.1
+    installManPage vhs.1
+    installShellCompletion --cmd vhs \
+      --bash <($out/bin/vhs completion bash) \
+      --fish <($out/bin/vhs completion fish) \
+      --zsh <($out/bin/vhs completion zsh)
+  '';
+
+  meta = with lib; {
+    description = "A tool for generating terminal GIFs with code";
+    homepage = "https://github.com/charmbracelet/vhs";
+    changelog = "https://github.com/charmbracelet/vhs/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ maaslalani ];
+  };
+}
diff --git a/pkgs/applications/misc/waybar/default.nix b/pkgs/applications/misc/waybar/default.nix
index 80a2047b61f84..be770a3021e8b 100644
--- a/pkgs/applications/misc/waybar/default.nix
+++ b/pkgs/applications/misc/waybar/default.nix
@@ -34,13 +34,13 @@
 
 stdenv.mkDerivation rec {
   pname = "waybar";
-  version = "0.9.14";
+  version = "0.9.15";
 
   src = fetchFromGitHub {
     owner = "Alexays";
     repo = "Waybar";
     rev = version;
-    sha256 = "sha256-1tnFBUB7/MjnrCkfKOR2SZ/GB5Ik115zsnwjkNMB05E=";
+    sha256 = "sha256-u2nEMS0lJ/Kf09+mWYWQLji9MVgjYAfUi5bmPEfTfFc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/waylock/default.nix b/pkgs/applications/misc/waylock/default.nix
new file mode 100644
index 0000000000000..2a29eab29730d
--- /dev/null
+++ b/pkgs/applications/misc/waylock/default.nix
@@ -0,0 +1,52 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  zig,
+  wayland,
+  pkg-config,
+  scdoc,
+  wayland-protocols,
+  libxkbcommon,
+  pam,
+}:
+stdenv.mkDerivation rec {
+  pname = "waylock";
+  version = "0.4.2";
+
+  src = fetchFromGitHub {
+    owner = "ifreund";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-yWjWcnGa4a+Dpc82H65yr8H7v88g/tDq0FSguubhbEI=";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [zig wayland scdoc pkg-config];
+
+  buildInputs = [
+    wayland-protocols
+    libxkbcommon
+    pam
+  ];
+
+  dontConfigure = true;
+
+  preBuild = ''
+    export HOME=$TMPDIR
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    zig build -Drelease-safe -Dman-pages --prefix $out install
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/ifreund/waylock";
+    description = "A small screenlocker for Wayland compositors";
+    license = licenses.isc;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [jordanisaacs];
+  };
+}
diff --git a/pkgs/applications/misc/wbg/default.nix b/pkgs/applications/misc/wbg/default.nix
index 57a1f55392aa2..0febd846e024b 100644
--- a/pkgs/applications/misc/wbg/default.nix
+++ b/pkgs/applications/misc/wbg/default.nix
@@ -18,7 +18,8 @@
 
 let
   # Courtesy of sternenseemann and FRidh, commit c9a7fdfcfb420be8e0179214d0d91a34f5974c54
-  mesonFeatureFlag = opt: b: "-D${opt}=${if b then "enabled" else "disabled"}";
+  mesonFeatureFlag = feature: flag:
+    "-D${feature}=${if flag then "enabled" else "disabled"}";
 in
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/applications/misc/web-media-controller/default.nix b/pkgs/applications/misc/web-media-controller/default.nix
deleted file mode 100644
index d2b5b924ea8c0..0000000000000
--- a/pkgs/applications/misc/web-media-controller/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, glib, pcre, json-glib }:
-
-stdenv.mkDerivation rec {
-  pname = "wmc-mpris";
-  version = "0.1.0";
-
-  src = fetchFromGitHub {
-    owner = "f1u77y";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "1zcnaf9g55cbj9d2zlsr0i15qh0w9gp5jmxkm6dcp1j6yd7j3ymc";
-  };
-
-  nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [ glib pcre json-glib ];
-  cmakeFlags = [
-    "-DCHROMIUM_MANIFEST_DESTINATION=${placeholder "out"}/etc/chromium/native-messaging-hosts"
-    "-DCHROME_MANIFEST_DESTINATION=${placeholder "out"}/etc/opt/chrome/native-messaging-hosts"
-    "-DFIREFOX_MANIFEST_DESTINATION=${placeholder "out"}/lib/mozilla/native-messaging-hosts"
-  ];
-
-  meta = with lib; {
-    homepage = "https://github.com/f1u77y/wmc-mpris";
-    description = "MPRIS proxy for usage with 'Web Media Controller' web extension";
-    license = licenses.unlicense;
-    maintainers = with maintainers; [ doronbehar ];
-    mainProgram = "web-media-controller";
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/applications/misc/wordnet/default.nix b/pkgs/applications/misc/wordnet/default.nix
index 5b52caeaf1ad5..d49f55574a86f 100644
--- a/pkgs/applications/misc/wordnet/default.nix
+++ b/pkgs/applications/misc/wordnet/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, tcl, tk, Cocoa, xlibsWrapper, makeWrapper }:
+{ lib, stdenv, fetchurl, tcl, tk, Cocoa, makeWrapper }:
 
 stdenv.mkDerivation rec {
   version = "3.0";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ tcl tk xlibsWrapper ]
+  buildInputs = [ tcl tk ]
     ++ lib.optionals stdenv.isDarwin [ Cocoa ];
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/applications/misc/xca/default.nix b/pkgs/applications/misc/xca/default.nix
index 7b94af3b52a11..f5c8e90d2703c 100644
--- a/pkgs/applications/misc/xca/default.nix
+++ b/pkgs/applications/misc/xca/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, mkDerivation, lib, fetchFromGitHub, autoreconfHook, pkg-config
+{ stdenv, mkDerivation, lib, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config
 , libtool, openssl, qtbase, qttools, sphinx }:
 
 mkDerivation rec {
@@ -12,6 +12,12 @@ mkDerivation rec {
     sha256 = "04z0mmjsry72nvib4icmwh1717y4q9pf2gr68ljrzln4vv4ckpwk";
   };
 
+  # Adaptions to stay OpenSSL 3.0 compatible
+  patches = [ (fetchpatch {
+    url = "https://github.com/chris2511/xca/commit/f5ac099e948ea354deac75ff9fa09d51453476e1.patch";
+    hash = "sha256-4rRO2y9hZq879HTsgBgbXGRYEcgfG4niJKyK3l3PMZ8=";
+  }) ];
+
   buildInputs = [ libtool openssl qtbase ];
 
   nativeBuildInputs = [ autoreconfHook pkg-config qttools sphinx ];
diff --git a/pkgs/applications/misc/xplr/default.nix b/pkgs/applications/misc/xplr/default.nix
index 392944aa2a990..772d479ff78a7 100644
--- a/pkgs/applications/misc/xplr/default.nix
+++ b/pkgs/applications/misc/xplr/default.nix
@@ -2,18 +2,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "xplr";
-  version = "0.19.4";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "sayanarijit";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-oVMnhtsovZAqMdmtV8oJ8frgHGidjlFzVyrYxi+gNdg=";
+    sha256 = "sha256-TH5ksbEVBlOPmqQOtRmoHTDBRkj/KaMsM+Xc7e2ObzY=";
   };
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
 
-  cargoSha256 = "sha256-PDbhnVThdb/42Q/dp/MNU6i6Un/lkKzfKuGukFt5tmc=";
+  cargoSha256 = "sha256-RcH1J5I9FPQ/Npq4I5lcOsZHzvKyYhxmqOIEYcBXqU0=";
 
   meta = with lib; {
     description = "A hackable, minimal, fast TUI file explorer";
diff --git a/pkgs/applications/networking/blocky/default.nix b/pkgs/applications/networking/blocky/default.nix
index 0f25fd0a8ec98..5b2effb2ca9e2 100644
--- a/pkgs/applications/networking/blocky/default.nix
+++ b/pkgs/applications/networking/blocky/default.nix
@@ -6,20 +6,22 @@
 
 buildGoModule rec {
   pname = "blocky";
-  version = "0.19";
+  version = "0.20";
 
   src = fetchFromGitHub {
     owner = "0xERR0R";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-jOOakRuiNbdCGmbaQFuHcLsHhV26jaQY+1GgDj9ocs0=";
+    sha256 = "sha256-l2GhqJit/+WpNDICD/NUzCAGrKrTNHzEzgpF9k3+DLk=";
   };
 
   # needs network connection and fails at
   # https://github.com/0xERR0R/blocky/blob/development/resolver/upstream_resolver_test.go
   doCheck = false;
 
-  vendorSha256 = "sha256-fsMBL9qyhIrV6eAsqpSaNniibMdYRVBnl2KCzStvMGQ=";
+  vendorSha256 = "sha256-CS8+tsE5dptG9gF46OFoJGzn1FnfjekXLTLrpwIQdFQ=";
+
+  ldflags = [ "-s" "-w" "-X github.com/0xERR0R/blocky/util.Version=${version}" ];
 
   meta = with lib; {
     description = "Fast and lightweight DNS proxy as ad-blocker for local network with many features.";
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json
index dd10f0c7c7c72..e2911963fa7c4 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -1,8 +1,8 @@
 {
   "stable": {
-    "version": "107.0.5304.68",
-    "sha256": "0k5qrmby1k2gw3lj96x3qag20kka61my578pv0zyrqqj5sdz3i5a",
-    "sha256bin64": "1x9svz5s8fm2zhnpzjpqckzfp37hjni3nf3pm63rwnvbd06y48ja",
+    "version": "107.0.5304.110",
+    "sha256": "1k7yjsb4i7m8i5mk018v7z25r4x1ypyprz4hnyrn7vk2983lhdfk",
+    "sha256bin64": "06rlxwbvp7rpw2rdpnjzl1cn7cr1rwlb20wz8r0cndjcjyzd3rjj",
     "deps": {
       "gn": {
         "version": "2022-09-14",
@@ -19,35 +19,35 @@
     }
   },
   "beta": {
-    "version": "107.0.5304.68",
-    "sha256": "0k5qrmby1k2gw3lj96x3qag20kka61my578pv0zyrqqj5sdz3i5a",
-    "sha256bin64": "15ijvsm9k28iwr7dxi2vbrlb7z5nz63yvpx7cg766z1z1q5jcg7m",
+    "version": "108.0.5359.48",
+    "sha256": "0nk33rv4q22kgr9197y6a4w8yazgifsm5qvmmia41nnl24sqik57",
+    "sha256bin64": "062anw2i8rfi4v8zl0jdqxzn24xzl3ny24cbiyk8dyyf55r914v0",
     "deps": {
       "gn": {
-        "version": "2022-09-14",
+        "version": "2022-10-05",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "fff29c1b3f9703ea449f720fe70fa73575ef24e5",
-        "sha256": "1c0dvpp4im1hf277bs5w7rgqxz3g2bax266i2g6smi3pl7a8jpnp"
+        "rev": "b9c6c19be95a3863e02f00f1fe403b2502e345b6",
+        "sha256": "1rhadb6qk867jafr85x2m3asis3jv7x06blhmad2d296p26d5w6x"
       }
     }
   },
   "dev": {
-    "version": "108.0.5359.19",
-    "sha256": "1093anaymbmza6rf9hisl6qdf9jfaa27kyd3gbv5xyc0i450ypg5",
-    "sha256bin64": "0yi6qi7asmh3kx6y86p22smjf5bpay1nrj09zg7l2qd3gi836xp0",
+    "version": "109.0.5410.0",
+    "sha256": "00g8q0qzl8kyc9j60nsvvjkr2x9js2xvbkmwp77p8b6gg0pyymjn",
+    "sha256bin64": "0ljhc5lqdy01apzyj96xzl931d904i37x62257s1h35w0j78mps0",
     "deps": {
       "gn": {
-        "version": "2022-10-05",
+        "version": "2022-10-28",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "b9c6c19be95a3863e02f00f1fe403b2502e345b6",
-        "sha256": "1rhadb6qk867jafr85x2m3asis3jv7x06blhmad2d296p26d5w6x"
+        "rev": "a4d67be044b42963de801001e7146f9657c7fad4",
+        "sha256": "0wikkkx503ip5xr72bz6d6sh2k50h5wlz9y8vmasvnrz9kjmlv5b"
       }
     }
   },
   "ungoogled-chromium": {
-    "version": "107.0.5304.68",
-    "sha256": "0k5qrmby1k2gw3lj96x3qag20kka61my578pv0zyrqqj5sdz3i5a",
-    "sha256bin64": "1x9svz5s8fm2zhnpzjpqckzfp37hjni3nf3pm63rwnvbd06y48ja",
+    "version": "107.0.5304.110",
+    "sha256": "1k7yjsb4i7m8i5mk018v7z25r4x1ypyprz4hnyrn7vk2983lhdfk",
+    "sha256bin64": "06rlxwbvp7rpw2rdpnjzl1cn7cr1rwlb20wz8r0cndjcjyzd3rjj",
     "deps": {
       "gn": {
         "version": "2022-09-14",
@@ -56,8 +56,8 @@
         "sha256": "1c0dvpp4im1hf277bs5w7rgqxz3g2bax266i2g6smi3pl7a8jpnp"
       },
       "ungoogled-patches": {
-        "rev": "107.0.5304.68-1",
-        "sha256": "0rjdi2lr71xjjf4x27183ys87fc95m85yp5x3kk6i39ppksvsj6b"
+        "rev": "107.0.5304.110-1",
+        "sha256": "14z9qi9i9l7kjx7gf74lzs63bpxqyd3wbqqpsvzvqgr2v0cgqahx"
       }
     }
   }
diff --git a/pkgs/applications/networking/browsers/dillong/default.nix b/pkgs/applications/networking/browsers/dillong/default.nix
new file mode 100644
index 0000000000000..2d12134caadd8
--- /dev/null
+++ b/pkgs/applications/networking/browsers/dillong/default.nix
@@ -0,0 +1,57 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkg-config
+, which
+, fltk
+, mbedtls
+}:
+
+stdenv.mkDerivation {
+  pname = "dillong";
+  version = "unstable-2021-12-13";
+
+  src = fetchFromGitHub {
+    owner = "w00fpack";
+    repo = "dilloNG";
+    rev = "2804e6e9074b840de3084abb80473983f8e49f5b";
+    hash = "sha256-JSBd8Lgw3I20Es/jQHBtybnLd0iAcs16TqOrOxGPGiU=";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+    pkg-config
+    which
+  ];
+
+  buildInputs = [
+    fltk
+    mbedtls
+  ];
+
+  # The start_page and home settings refer to /usr.
+  # We can't change /usr to $out because dillorc is copied to the home directory
+  # on first launch, so the paths would quickly become outdated.
+  # So we just comment them out, and let dillong use the defaults.
+  postPatch = ''
+    substituteInPlace dillorc \
+      --replace "start_page=" "#start_page=" \
+      --replace "home=" "#home="
+  '';
+
+  configureFlags = [ "--enable-ssl=yes" ];
+
+  # Workaround build failure on -fno-common toolchains:
+  #   ld: main.o:/build/dillo-3.0.5/dpid/dpid.h:64: multiple definition of `sock_set';
+  #     dpid.o:/build/dillo-3.0.5/dpid/dpid.h:64: first defined here
+  NIX_CFLAGS_COMPILE = "-fcommon";
+
+  meta = with lib; {
+    description = "Fork of Dillo, a lightweight web browser";
+    homepage = "https://github.com/w00fpack/dilloNG";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ fgaz ];
+  };
+}
diff --git a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
index d0de63cdb46cc..ea737bb8c03cd 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
@@ -1,985 +1,985 @@
 {
-  version = "107.0b5";
+  version = "107.0b9";
   sources = [
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/ach/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/ach/firefox-107.0b9.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "119ae15a06680b8a887179ae2aa860cb7bf1e7f9d86dd39c9e954e8c044e4139";
+      sha256 = "916b0ed984631143bf212276a7156285f012fabc565ac92f5eaf67e496198be3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/af/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/af/firefox-107.0b9.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "9eeeddee9c798aa23d51cb35233781789c1c37c8135ac7a12a21d566176c8b52";
+      sha256 = "a48eeff2b0aa3331c807bc78daf073850e768f270a99d7043f90e218655cfd41";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/an/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/an/firefox-107.0b9.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "1bc134891cf85c62fa8053091b1e011f52e794e04ea28b18847c3094df56e226";
+      sha256 = "522103b5f8f726492f634d46cd939581da4d2583b21718c46e4e985b2811967f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/ar/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/ar/firefox-107.0b9.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "dd3901f63decfe8610cb35f9364c539c68eabe95dbe8c3450f0cbef658e51462";
+      sha256 = "22ddbcabedd2c0a4ee19a89296bb5751c7224906b7f52e6ffaef4de2a2ef904c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/ast/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/ast/firefox-107.0b9.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "97c8fa4566fd5da773c9a05be96a80bad6232a4387ecac7dc996e3b073ed57d5";
+      sha256 = "4fabe235071114f0489350d67da45300f4dde032e6ac99f667e10b2b5d499717";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/az/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/az/firefox-107.0b9.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "8a3aec520840bc10a5609ba70b64af0bdc45869a0a9dc9e98efd06a7aff07225";
+      sha256 = "53f3d762f228cd54298389e6da77da4b1ccf59d1f79feeb86cd687bfe12c37b1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/be/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/be/firefox-107.0b9.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "11226933a768e7c6d4e29b2ce02117cbd44ef21b717011cec541cbefb38fcb95";
+      sha256 = "24ac93f0c4060acd2700468ffd976688350cd25f3ee8cb412b29ddf9d4573d70";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/bg/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/bg/firefox-107.0b9.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "529cd4bf8d0f9f73ce3f072e61ac135a9ce59b90cdb525a260068f7758ee35db";
+      sha256 = "182e53f5d99aa47ca4654c65466eb5a176d9ab2238ad5ec49009f12f8d6be90f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/bn/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/bn/firefox-107.0b9.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "660d574697be9e4daf64fa060cdaf853a341658733568ce9c5a12b9ec6a428d5";
+      sha256 = "b7d814f3642bcf2de19945262a073fb2de75117dc7dfe6bb0bcbace4f71e0082";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/br/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/br/firefox-107.0b9.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "41aaec12b39182ab56372699fc78176f67fb6f3393e1573ab711376a2bdf14f0";
+      sha256 = "06e0003e56f5e3b990330b0657c9ec6293275f51060b33b5344f97bd84587d91";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/bs/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/bs/firefox-107.0b9.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "22d5973f54097c117491f913eb9dcbbb40ad6c8da44818bc473e188c84fe4524";
+      sha256 = "6c1baecf2e14fceec17c564e5c6427250e664701187b0d345d5923c7a4febf52";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/ca-valencia/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/ca-valencia/firefox-107.0b9.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "df1b43c8fe7d682a3f2717bb96fdca079899b4652970d022ec277d37f23977b5";
+      sha256 = "c6c0f70ebb040af59fcdd3be133cc9d0b954acebe7db0931c28602544dd63c04";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/ca/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/ca/firefox-107.0b9.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "18412569495ef08b98657785016a0a96329cf7d1911416ec9bde1b163905c193";
+      sha256 = "5d6a6825f7ce0f46f298df44a86e14fc9b7504d2ac9027a233a7066487a10f00";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/cak/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/cak/firefox-107.0b9.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "809fd59b8cd7d50602ba8d7db0019205eb351350a98262048cce831e0cd73273";
+      sha256 = "140ce93005581452a2b582bd581d6f3c68c14b3b1a0ea20ca165cde601550d95";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/cs/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/cs/firefox-107.0b9.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "c3f5d99870d3021984600ae92d98860ff50648bceeef3fccab3b5ff80abfaceb";
+      sha256 = "bcee508da6f541d6046ea6def6d0b23062eb0989238de72b1a2980aab9e98a92";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/cy/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/cy/firefox-107.0b9.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "0f5e022d73fcc64d13e7b82f60dddf5f4aa583a304e9cf2a6c94b9c4c6973420";
+      sha256 = "4a391c8a8ebc2b1ec67a75bd2a6c3d03ed09c3885f85d002e9b193627ae571ff";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/da/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/da/firefox-107.0b9.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "dff27a5673c3f9daf9279e4ec47d44c52f2358c6427354b5c15131d27d91385a";
+      sha256 = "b1f4de3212f794b846f704fad2b867eb23fcafe75b67acb13e7b325452023620";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/de/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/de/firefox-107.0b9.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "912bb578b2b4de0ceb652393e6392617568c41e9d6b10f694654c8eff07b80fd";
+      sha256 = "d8b573cf4a298c17b341caea41ddc730db9f104d77e6657ba1aca2032823fcfd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/dsb/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/dsb/firefox-107.0b9.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "16e907bdd37a1866cbbf1cfa42bc2c65fb58e693e4bc728b04e0e7b71b30d716";
+      sha256 = "26aac8dc4fe17516bd28e09f7b130baa09096bdd13f61fbb1286face9412d6c4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/el/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/el/firefox-107.0b9.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "3fee70e070bc783e4e8c3d08d0da2e4c8a33bc15755887d76a28fcb49618f44c";
+      sha256 = "3559b969de8ab4c969b967e86f7366755e7818b42f58da21922f7b54aa0928b3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/en-CA/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/en-CA/firefox-107.0b9.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "a43e8d6da39a43dfe24d3b859c0ed87723ffaa358476ed971623e5f71e7dd06e";
+      sha256 = "8fa9a78cac2213f57288b587637699f6c049908978f5208f6d94cb447195919b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/en-GB/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/en-GB/firefox-107.0b9.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "78a0b48db431dbe540c6f2377258346214c83959ade2db738752e46d9172ee41";
+      sha256 = "c34ef625ec69b8eba31c945f683e7660367b666ca941acee9ea05a9e126783f7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/en-US/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/en-US/firefox-107.0b9.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "fa1bf67f6efabb434dcb8d79eb705a1c174028e8bd3fed4dd7e8f91f535116a5";
+      sha256 = "35a148113a4a60c42ebf20d9bc378111e2904a174d3d3253696847bef4bb6029";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/eo/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/eo/firefox-107.0b9.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "0e80925841accdb550445f8e715c22beb62dd6959fe8bd79beef261195cb3a4e";
+      sha256 = "8e080d25d13d36897438b3d631d0837827a466463ef564643841bfa8aa232676";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/es-AR/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/es-AR/firefox-107.0b9.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "981b2a274c4fb98fd5aa8db6a46e32b1cb6135d3fb6e29a2bc9f40373e916615";
+      sha256 = "ee8c991c71b12c31128334388793d56627354376315d23f28dd3f2fffb1c6f32";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/es-CL/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/es-CL/firefox-107.0b9.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "089f9ab7042544e90f77a8f62e0ab1a9b8a884f55cb2ac65bc23528d217967e8";
+      sha256 = "c5ac567848d64d05bf12319a9db3f4a2d58d37d028cbf6afc47596dd13c7317d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/es-ES/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/es-ES/firefox-107.0b9.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "17b9a718034e2beac2bc837b175b048583a16a9e40b40c28932e95a4967d1fc5";
+      sha256 = "21d68eaa9bb61b2beeff95e0236ac8ca75e9fb862d3498f419fcb9784eb0d9f2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/es-MX/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/es-MX/firefox-107.0b9.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "244fc0231ef4af5512462349195e80d16c8f594cd7910f3a1a14779a9f8fa7bc";
+      sha256 = "d05b4a8fd2fb8cf10e54bbece7219b0b30cfca417f2f23211ad7c57469404753";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/et/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/et/firefox-107.0b9.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "cb7bef3e4305b15045b9788faae79f9147003092efc62af47fa432077ce3e3b2";
+      sha256 = "ba44c1cb9c956c1f9737a1755ed8abadda83b81993af6accb7f1a76e6689fe98";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/eu/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/eu/firefox-107.0b9.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "173beb4de5e796659b76bf37b1d0c9269e8dda9d5e93802b15e31ff41d457e91";
+      sha256 = "efdb3940c69f938886a87b64e50628655620304fb6c6b9a30fcc5ccf7859885e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/fa/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/fa/firefox-107.0b9.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "df7d9cb45174adb59f6899fa9f0c0aa762ff098fef7f7eaa7433409c1a9fa7ba";
+      sha256 = "6f6d56a161858edda75719dcaa1f15f25e272df86fb2130f7260eda1b9502bde";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/ff/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/ff/firefox-107.0b9.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "aac7e8c63fecbb5125b219c3e80e52ba9a39b9e21904a5274b98414de7be235b";
+      sha256 = "d6b4e7f4580a25df9221f702e849349d30f075ce1e641b8e51fd38ece441dda5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/fi/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/fi/firefox-107.0b9.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "3e8fd26302b87ca69a9f5c1cf3b8fb193a5db7bdd8d8168050226920c9f34673";
+      sha256 = "2ccc881390f10834f56254e6d09cfb4d84c6d315b005164edc558cc84aae434b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/fr/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/fr/firefox-107.0b9.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "647abc98c374acd83752d724b3c134f2e38483bc239e37abea98c01d7de6a9a6";
+      sha256 = "bbd490197ecd58c1acc552b207298866e63c9eb5265faa292cb66e3f0a47ca5e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/fy-NL/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/fy-NL/firefox-107.0b9.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "57831566ad2b2a7fad89714cb13fcb114dd53f7efa55a9c8eedf044a923ef2fc";
+      sha256 = "4924145964040affbdab6dcdd0584cff6e9947d47a294856b6754de8f63ab961";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/ga-IE/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/ga-IE/firefox-107.0b9.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "8741c762980720e8560abb904460f9448c633c39ae66325baa704417902abe8d";
+      sha256 = "3ad5950439c1b75f9739b98f15cf9cfe7b3f560d14ea2f043252fed980e4a61c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/gd/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/gd/firefox-107.0b9.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "a70a7febde647b0f26392660b91bf451190f0d5bf57f61711c685e5c62bbdc26";
+      sha256 = "30b39cb67ddc81c9b335e071cb7ab9560bf5c3673c903827d84b6300b4b7698a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/gl/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/gl/firefox-107.0b9.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "a09eac1245c10424cbc0bfcbe690cb8b7f0a704d9fca4e5dbcec28c43e9acccf";
+      sha256 = "a8f1fbbea0d9b33c48690b52a2a0cf916a014532edfe755364d1c359d2a18108";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/gn/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/gn/firefox-107.0b9.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "e8cdb36551ab19a752f06443891ec49db4f4e9b99f17a76dc2dc8c76d8fdeee6";
+      sha256 = "1a87d7ff4ade4584990b45dfc7e5583989a71565bb6dc6352f44fbabe12cecc6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/gu-IN/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/gu-IN/firefox-107.0b9.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "ddb60f541a3f4694c5f0916412e73d0b11168d31f2d4379603f5afe319dabb8b";
+      sha256 = "7890b8d5a268951c26a57b811e3255e604e402d2a3f5a7feb642b22544862bb4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/he/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/he/firefox-107.0b9.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "c6d96d78559a4e18112b56885ecd4f27a7ee616f48b65fabc655d1dbecf38fe8";
+      sha256 = "04075d098593a82465e1da0adce02e97b0fdb88cb13447b7e43a1a6944ee7515";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/hi-IN/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/hi-IN/firefox-107.0b9.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "54dcbbe0f4dc6453d73709679a76a5eb300aba6d8a03c0c06260b602b378ec4b";
+      sha256 = "1bf03964dfa3d9061fa24210e63a95b49ae41663a7d194fec1466e139c64ab77";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/hr/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/hr/firefox-107.0b9.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "7424c168d9509e2172b582ae192fb5ca93ef92b06794cb1b0fa58da41a2adcf2";
+      sha256 = "752873792548f2929b366d81fdf4a20c34e45e94543ec270365240203cd465a4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/hsb/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/hsb/firefox-107.0b9.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "df6a847e73e227c8d02f195cf29ca9c11ecf660285ad35ebc1c40ab1d0854366";
+      sha256 = "e337cfdcecb149177585c318fd90efe94b16855d04eadb7b9ea69e4953eb91f2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/hu/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/hu/firefox-107.0b9.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "ccd6cf06a6a6b1c169a0db362ac59a6b5c1f5abdc80ce914362f876ba62878c6";
+      sha256 = "4eec8a031baafcd41fca513a6e06c4c2f238a542792c01b3cb133caced5fea51";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/hy-AM/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/hy-AM/firefox-107.0b9.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "984de4c384f81abfff02ff423cae38ee2be66e071ca546eb046502c7fbd529e4";
+      sha256 = "273a07774d20273c32162fca5450a6de62427de650e5021d95d452a0c98a2599";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/ia/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/ia/firefox-107.0b9.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "b5c3fe9f6c486a97949fb0a772aa5b307eb0eb81ba48b821110e7f8568c82abc";
+      sha256 = "004e09524e22bc7998e0029876a200d885dfaf77bff8e94b3b50bef611f08a44";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/id/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/id/firefox-107.0b9.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "1d8ae61323c836956107ec677bfbd34f5a28ec7e80121efb4dbc0cca987f1490";
+      sha256 = "ff0b69a160b219116f3e16916f065571190bba24ff79f55dc987a9cddabc79f5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/is/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/is/firefox-107.0b9.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "703aa9cf101dcd85b274d96dbfe002f1aaf2c9d877d8fd7254b5f61ff60d5d6d";
+      sha256 = "a891d52e60dfdec95ff2e1be785c13e602ec5c5526d6d504f44a831126b57bbe";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/it/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/it/firefox-107.0b9.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "d54b7474e8e28749728a2e1b59b14e39186a0200704b52c1e66c8b59ce8842fb";
+      sha256 = "531db472c3722d314e1e2e0f176fb6f77a17f21a93725afed598a986b673f4ed";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/ja/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/ja/firefox-107.0b9.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "4f1a54e88a1997f8b93b52e77137499538c0de74ee63d341d13bc16f03c2e365";
+      sha256 = "31bed0e7e8447d73adf4375b091efae46f5ff133521a5dcca8c716878a4ce948";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/ka/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/ka/firefox-107.0b9.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "f00abf5436bca238de0ad1b04d5504374f9e21c8ce9386543bf61b40e80d8605";
+      sha256 = "446f2fcc8adf041467674a7595e135ec4199c213d4375d61b10241edc9cdbbb3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/kab/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/kab/firefox-107.0b9.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "f6d15cd59503004779ab72aa35fe267b3c19de6a42578379bf72e8b9879d24f3";
+      sha256 = "74c76171519d67eca9bf700c6236ee706811ba56e09590ec2bb646f07a02b92b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/kk/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/kk/firefox-107.0b9.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "f7a17c7616c6c1d516ea4722ff773946b28dd4b42cdd7250048961fa039aad91";
+      sha256 = "cde84100055d52c9f03e39421f37a12f94fdcfb1522e8f8d7bb09a10dbf02525";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/km/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/km/firefox-107.0b9.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "0afe280a5f352c97e7c7164e62c9ee648e42abce45e9a64751ef64ed809fd58c";
+      sha256 = "44da869ca2d6742b1331dc8049f8ada6563a380961ab1793762d083648dcda2c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/kn/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/kn/firefox-107.0b9.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "a8a93c9358335cfa654866f3b7db4ca68b2d96cd097ec2a91ae5536e313fd709";
+      sha256 = "ba88756099cb97b05a42da3e1e529345f7eb780266c3a2ebb2dde3b691ebd830";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/ko/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/ko/firefox-107.0b9.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "2e31f46b74c4e04ade405664b3953a3c005eeee92134a21a158c6932cf3963aa";
+      sha256 = "a8910fc2f008f298172d1a9be9f3297f991f466ec4043ec4271e3cff3e2e7947";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/lij/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/lij/firefox-107.0b9.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "ff649971f1bd06383920202b0061a56310c3bfefb9b8ef623f8b690ca5db0ac1";
+      sha256 = "05557b44a7dce20997697e1222cb8afb32df54561d5c6546cea32a4aeec735db";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/lt/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/lt/firefox-107.0b9.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "73c06062d0ab76a988efb04966365d69c452856b8d30ab8e917e19960564c980";
+      sha256 = "a1da22004ecc7c725962a1b3256855a4c6a3cac43ebe62a0dd2c6f86d35e93f5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/lv/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/lv/firefox-107.0b9.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "f5d68ad9cc3e8f079688e0a7bab8e0936f4f769e3677389f57efe494b6c87f81";
+      sha256 = "67bd5d34e361406a55bc44c858c8a238d9746fe90c7345a562e1e47e0e72be48";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/mk/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/mk/firefox-107.0b9.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "1f72939d7707bee513dbd4ff1ed03952a923bb690afb52eca58288950cad3a05";
+      sha256 = "bb0867746e5e46f80b06f3505df1a40c7df0c6797d80cbdad9dee4b64be9be3e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/mr/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/mr/firefox-107.0b9.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "c5643d3f0d822866e277cfc5d8da36d21b1838b0e5d01d2aeb38590a53129771";
+      sha256 = "68891ad7635073d72947778eaec1c35bdc8e7f73a04cc00a4905edc5047c0f56";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/ms/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/ms/firefox-107.0b9.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "4d12364f97bbd224d0cca5c442154d1c16c12451f4c4a73427d8c313b5db11af";
+      sha256 = "57dff2faa5b84dcdab9ef10140b479dcf6609fecb96c4608be6708966019c284";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/my/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/my/firefox-107.0b9.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "6cdf99de907ed14ecdcaa2e095afa9625649051d0d399421e52014be86f42e01";
+      sha256 = "1096e896a0a60d08b326ec1451561416e272fa87e15f4029e8633451b45f6918";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/nb-NO/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/nb-NO/firefox-107.0b9.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "0b1219be299228acdabc5f950a631fc516c80005ca2225975ce6c3bb5989f24b";
+      sha256 = "65eabad859b06b90ecf311ee3cc7ffd27e1bade90e70f04386b3a09394b9120e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/ne-NP/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/ne-NP/firefox-107.0b9.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "50b98b759574ec5acf8116bfa0fd874c0e12a2fd00dacc271ca6033c5f333898";
+      sha256 = "09148265cf0f476a34cbd52060117ea035c7d86f5c20d9845a29cedc234ed342";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/nl/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/nl/firefox-107.0b9.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "264344b7eed60287cd76e23d5e875271534e6e46fa2715714ee522672e520b38";
+      sha256 = "be1b51890780447fcc3ca3e6ca2ce72c62dd10c2311f23a4d46ccee1d4656a98";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/nn-NO/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/nn-NO/firefox-107.0b9.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "0729a5df75d324dc6a98526482cf0fb5c4af63afce5b9a1127568a8f0db75c11";
+      sha256 = "6396f634229a47213c147527d6a5061885e99dc7bd0f67ed6970a801bb4dc744";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/oc/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/oc/firefox-107.0b9.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "9a04346eafbec5901d298bc3d96dfccb06c48a4668b26827301e7e0d5fb801c9";
+      sha256 = "01528cb2ceabf857b723ecf4201fdd8ced515a56cd866acef518b5533fb0993d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/pa-IN/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/pa-IN/firefox-107.0b9.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "f281902a211a41def4c1e3c7b2a8c26507ea653288f0740eed6dfd672808af95";
+      sha256 = "cb1226ce21df81adb28358ee08d646e133452159e0875ba1a06338bd5711e274";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/pl/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/pl/firefox-107.0b9.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "3f6abb54dac49988def4f79e55e203fe6fccd683b0bc307f949998db40298d29";
+      sha256 = "a132993e9a8026df16f49792b34edc7509a5c3dee243382a02b3aa5b37572358";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/pt-BR/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/pt-BR/firefox-107.0b9.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "183e5ca3e5de358c2ca49c669d7d72ac043e842bea87f588af2b7850cbed1233";
+      sha256 = "53d656230684b94d596006518581932626f7e04b3e57551b8ad287d165f69048";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/pt-PT/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/pt-PT/firefox-107.0b9.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "f58b1e758606442797884780394c351cdac75ca9d7d3d5a9185e8a6edddf8967";
+      sha256 = "ae784c090a96c118627020d48c7970c158715c69151482c22fd9624d09cf5bc6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/rm/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/rm/firefox-107.0b9.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "a998f116a2d4cdf9ae067b48358a35929a5b552031bcafa3b6254146e1514920";
+      sha256 = "9ddc7cddfa8074558ae400cf54717b5fe7ed993a008da1c639f9178d1549553e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/ro/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/ro/firefox-107.0b9.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "d3a0c05a55a957c3e1778c06bf5c4bf359d3e3543cc345c2ef89b228476914d4";
+      sha256 = "a146c62fa9750210abbfb28e03b7d8d8837566dbdeabc9c7916e1dd99b69bff4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/ru/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/ru/firefox-107.0b9.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "cae053316f95702e2015fe5ec408b832ec29e67b27c5ad3ccad3d09ea8a46958";
+      sha256 = "2c58db3ad74194e07b9628cc6f8e1685e88c56689e76d9f37a1e0b18062c4938";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/sco/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/sco/firefox-107.0b9.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "243084db6238e5bcb263bcecf2496aabb79ba79b9ab9de2989737f383700be11";
+      sha256 = "482412af1f7e93138bbf2f229fd628bf5548ca0c0489583cefa866b8fec453f0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/si/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/si/firefox-107.0b9.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "4b141fb98d29497afec8ca756371041cb84694050a44f365ed61405278feb461";
+      sha256 = "eed075b164384475015b1b8e9b1f1fca7de2822465d207779d7cc346dff48178";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/sk/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/sk/firefox-107.0b9.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "31ea0863a427e372ad286aeab79fc5b04f95bbae67acb588a4ce7ab54e4ee381";
+      sha256 = "167b15a0b675bc68274bd7e5bfdc767945215711ae28b750130f4dde852f6af1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/sl/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/sl/firefox-107.0b9.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "2cb675813a736213515f559ed62d4c7523018629233a4e6425e449ee16994993";
+      sha256 = "eb4a9f34b7dbf2c921c82e9ab3051896e6ee679b6b0b4975f116b08f0fe475c6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/son/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/son/firefox-107.0b9.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "e21db43e2d7631417a00a7d7b1fe5f18ad5f11fc635ed6e306fa17f44c568c56";
+      sha256 = "c7d3af3d5b277cd121428baa128c0690222f7a3173136f2d605cd8448019f2e0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/sq/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/sq/firefox-107.0b9.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "43044c90d5c5412b27ebbd099bf08c3712afc9cf418aac7a7a765d2c52c7d930";
+      sha256 = "04687dabe190ac2ef0322bb7273cea2eef3f112833426dc035bad09b42726638";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/sr/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/sr/firefox-107.0b9.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "629f22fd6c1a1ce32ba65987f4a8bd774a70ee292690821b255d93b8a36f3e12";
+      sha256 = "d1e758bfdb493c176096d86fb633ade11ed478051e3306e724c096fb4221239c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/sv-SE/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/sv-SE/firefox-107.0b9.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "564c7e61adb35f4d98afbbe60709ee068b861885ca99063e2b07ac46de39a772";
+      sha256 = "4df64b31d1eda64befa266acd8297efb98eed5a558cd849959e6d8cd5dca7d0d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/szl/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/szl/firefox-107.0b9.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "251c18c1dfa80633c75b1997cc037d9eae41bc3262a0330411b91b19fe9fb6a8";
+      sha256 = "8ae13025e7acbb015ef82a10a59ea024708816c445292a32735bea25b7501f75";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/ta/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/ta/firefox-107.0b9.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "27026e5567798d9de60d9749ea3eefd993ef560b31191e4d48f629ec6cb43487";
+      sha256 = "885852cf94df27fccbefbbdf7b91b66af5d0c1d531311f19e4a10f73b04d7bee";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/te/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/te/firefox-107.0b9.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "d9d59b651fd830a987a5edb8dfe6c36df55484040c65c95ab1bd687a21f367ac";
+      sha256 = "cdefcdb6d6138a586dc4bbdbf5fbacdba72c70ad6a26e404e436f3ab6c52ce81";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/th/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/th/firefox-107.0b9.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "884405c9aa638fe6d4b39ab25e86d721f17e07ce5871dded6a05a46a5dd8de94";
+      sha256 = "ca6ae16fd7a39b52eb4589d4697a655f8109fda50564d00d9d40990d9c2ca92f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/tl/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/tl/firefox-107.0b9.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "0360bf08f9fced2480008cdd79f4e1cb339b6813559c80a5101dc4c69fc2e64c";
+      sha256 = "c0bfc6a88e4a8c71e7e055d7f33215c17fb16b69ddefaa81e1c783ea8c33efb5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/tr/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/tr/firefox-107.0b9.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "cff8641cf1fa9554411f7f4c273ce5336ba78e67f69f5633e18f02aa0de3b7f3";
+      sha256 = "5396444d89d0708fa2cb7b42a0e648a6f67648dc0f4b7e4427fe16bab0db7822";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/trs/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/trs/firefox-107.0b9.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "d2957f6ffd277022eef3d3e702900e8631dfd217edaf4d6684db00bd246c28a3";
+      sha256 = "97ac40f8291efbfe145aec8fe8aa8a103c655d31ce30d9c83f2433fc5f494b5d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/uk/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/uk/firefox-107.0b9.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "7d7eeb92666c0247f052773257df0fa1d454269586c9e67a832b0544ceb4f4f2";
+      sha256 = "33c0e4984d1560949ce12ab2433f7f19f2cf31fd364923898883a0ec51b1c01c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/ur/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/ur/firefox-107.0b9.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "795626b97d7ca62e23ea9417678289b279c311d1528c3efe9fbf17bc3b82a84a";
+      sha256 = "6314d917d196b260ed41c434e438b553110bf2334f92594ef4b4b987e900b0e3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/uz/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/uz/firefox-107.0b9.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "b0ca203ca2870b7637613fd45cc0ac00b93e0f83be9209c48b70b8f8d25de4f3";
+      sha256 = "001160b117717bc45b591cc612dad798040a6252a9d1715c1308df2ef3c6e40f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/vi/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/vi/firefox-107.0b9.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "f831686b1ce7e88c573c553e9d28d61afc44cbfb18dd94e60d4c7032dd9f3472";
+      sha256 = "4ffe081cfc1bb8d07041cf5a2055688d57040e12426a1aaa8ab9061a6adef65f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/xh/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/xh/firefox-107.0b9.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "9aeffff70fdabbdd463fc56ac75a3e62b66ba95a456cd8ddc120e0ff8d2aab39";
+      sha256 = "6cf15c2979db7e4e58156919e9295b6e0d2c2ddb854db7ab36bdfdc4e615d898";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/zh-CN/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/zh-CN/firefox-107.0b9.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "729d745b15fe1e104d6d5319613d52f8475a42ab7d3a263d72ace84aef33a7af";
+      sha256 = "783678510f1094701aeb2a84b91419f5bf2e1a4772f57ead3417af9a7d894eb1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-x86_64/zh-TW/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-x86_64/zh-TW/firefox-107.0b9.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "ea442f895049a5e60d2066a7a02b2e4cbef3ab8004db5df412110f00352b2c69";
+      sha256 = "02f29c157cec3732567f903f038866d6006a99f75959ecf22f8635c63ddb4cfc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/ach/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/ach/firefox-107.0b9.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "a163e6e271166c016d82ef4ef33c5df311c28b0d7b85059b1dc482e041a1a41c";
+      sha256 = "72954ba2b75c395f89e8d4350110c9a25f800938a85869ccf3b174e9b4567a46";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/af/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/af/firefox-107.0b9.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "58764bd43f45aaa27b3bbef5dd7793237e29ef7e692e45c5eb943886e1bae240";
+      sha256 = "4bb990a8fdef626262a3733afef963975085bb4d56ab284791a792169b29fcc4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/an/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/an/firefox-107.0b9.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "1af5ea2a758f7315ef25a40d46d27f58e210444c48cc0a6fb7cde8721974d6fc";
+      sha256 = "0a9e2fa6034ab4679032bab672a93da39ebc9cee4b97bd7b80e79f31091cd257";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/ar/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/ar/firefox-107.0b9.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "51fdd4a6a5dc4e6a01517df7dc7b5a5585a96e4b105e98bc2e3ff9c2cf57da16";
+      sha256 = "f16b2c0913d9761d88465ca6ae0f45623600a74064eb18289414b98b2dbb1d5d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/ast/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/ast/firefox-107.0b9.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "0ae24a3be5fb07f6aabf7026dc9a84dfef23d7ba06d1b5743ead2c5959a6b6f9";
+      sha256 = "96dd7293f9098902a4d62ad785f7cf15a265ed4f84ef8a7301abfee2f1fb7ecf";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/az/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/az/firefox-107.0b9.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "6d2a65e3d9a17ea9c55864977254e341b49a9ca4479fe173b277124c29179163";
+      sha256 = "3e41784eb43f22a8cc8a124746112859b4a6de51d2a82fd7bfc26c8569b0b9f6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/be/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/be/firefox-107.0b9.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "086aa9e3515abe04f1d5b39fb0f8c1bb9f856121a2a455274adbb314be9c8e1b";
+      sha256 = "8382f3b2f517a05e6c3c7476de8e7db9dd5b97e34d316a6986df0904ebbdfbd2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/bg/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/bg/firefox-107.0b9.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "b9ca95b9a37c1a76d1e2437423822fff80ff71bd53a91967ca71442672456915";
+      sha256 = "9e826747f22128aaa1843a3f29d2e35234182a48caa36e69bc94f9f1500a3f3b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/bn/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/bn/firefox-107.0b9.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "0bc7b505c181827e156c0e6f9e047ccc141c1423c7e3e012005384a3651bf5ae";
+      sha256 = "9f4963935ce269960411092ffa307122fc98e01b513ec92419d36dd7d938b0ea";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/br/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/br/firefox-107.0b9.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "def16940db17c1a17c5f94f096614aabb9af4524ae47ad109cd3e519e7716253";
+      sha256 = "502f4a58ea7e5d2ba9b7bfb9ca0fa8e03aacca068c2f6ed368e3b034393a76a5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/bs/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/bs/firefox-107.0b9.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "943797459407c3c1516c8a7f0b7bdbfbb41415f5784801ecf7d1452a723def93";
+      sha256 = "c5cf972a1afd6c6ba6b339a2eb9f349d213e538cfbccac4923e3fdd439a0c9f5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/ca-valencia/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/ca-valencia/firefox-107.0b9.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "e1972685bcd07b45d75e3db628756588e1f4e6ee07383b16f63f7d9dffd96b5c";
+      sha256 = "ade546a6251b850484b060686621658228b2e0d2b3d203f5b7673b023ffbb63e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/ca/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/ca/firefox-107.0b9.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "f33bb5962011e51d16fb0370f1f6aaa890fdd4dbad80d284ff8d80ae7a08caf4";
+      sha256 = "4e148bbb9a2818406781e89d0950d24154847dea5bb40e52e62f6360e230bf08";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/cak/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/cak/firefox-107.0b9.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "b72bd73449f79cbf825346558558afd78fa0b043e0770a6ec221a49420ef4bd7";
+      sha256 = "586457dd6a965293af953cd00fa20baf7aa1051dd7c4ca2025f9f864745ec113";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/cs/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/cs/firefox-107.0b9.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "b76acfd649f0f0064f69d075da9b6c94831a09878dfc0a88ab22b1353747deb6";
+      sha256 = "18b92c9f1292ec093ca97eecd0c8989343ba9d393b2b327f79d0d31ba08b749e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/cy/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/cy/firefox-107.0b9.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "76394f35d16f2a171440609f6268c70c3ba58335fe13ba8793104978b2c8a9a6";
+      sha256 = "72251558b568be17fcf51a61d8197861219a2d711632cc84e28eed61bb003750";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/da/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/da/firefox-107.0b9.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "c7dc96b3e6ca55b9ea005394fa1da46dcfe97fc9c79777c4afa53d136c8b7460";
+      sha256 = "dce8d3dbc492605bf708b8b2ae8909a51be7dae69557af2076f8c53274b1f54c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/de/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/de/firefox-107.0b9.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "2a191724cbca2a172d2e42a13f88505f0234f7381982cc99aea3f6a12f1fa6db";
+      sha256 = "47864ddac3c1aed1dc4aa30247fbddb1e38073035f67115cf6f6edb06579582d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/dsb/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/dsb/firefox-107.0b9.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "28a0cc82b13589ba0f21ff937515d0a45bf325b4d11652e53f780557c9144510";
+      sha256 = "6e6bcfd81e4f30602af1381ea481ebb55af6f6db19b01a3b0be2c6111a0ba1cb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/el/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/el/firefox-107.0b9.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "810ac57c5f84618e2933541f1c738d9cf6e9b8b6556c1234ad32b8d5bfc79977";
+      sha256 = "71bad1277f68ff592f1c0e26e9a50feb5cc78ba8d6531c446f6182ae1837aef2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/en-CA/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/en-CA/firefox-107.0b9.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "380487b7d030aa57d9aa37b4169d2a150c7c805eaf95480a177b75236112145c";
+      sha256 = "99b4cad938c80937af164fd85dfed4d0fcd5bb2890794612d9a27fef68b11862";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/en-GB/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/en-GB/firefox-107.0b9.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "88653083f12113c71a2b6fc3b8e6885a44e39d504115979e93dc3ca2510ac8b4";
+      sha256 = "592a484dd1cedb94d37f209c024a993a7c326e57913dd90de5e56dd5cd2061c0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/en-US/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/en-US/firefox-107.0b9.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "0a3b76239d0364b89968a3a8bdf233d1635746aa800b89699384e0211ef1200d";
+      sha256 = "36a81db851f34e6df6a52748adeed3b185f29f6f14e9cf940c106be2f3bcb624";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/eo/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/eo/firefox-107.0b9.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "04f626a085addfb8da82aee38334672fd2f296ca92dc75d42c5d63ba2993e04a";
+      sha256 = "9824ac8690edeea6d7cc00d622e1a0c203cb03f4513653c973edfa1f2c3fa1a2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/es-AR/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/es-AR/firefox-107.0b9.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "99a708a532e8dd3734aea5d0264821879739dea43a6f0c2b851189b517db1e7d";
+      sha256 = "ac84773310cb538158b5d10c96170d845c9f9bd643666cd4ddb13805d21d73c6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/es-CL/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/es-CL/firefox-107.0b9.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "6be4964b16b7bd148a2cfe9a6acc706510c3cce320e7a8cefcbe0422b0028b39";
+      sha256 = "7635cf5ac97a78f0509b983aa58d000b7d7cb5f1ebd06466f662dad9f199097e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/es-ES/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/es-ES/firefox-107.0b9.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "395e6aa0438f0c86dbd85b736b63623a178d81511b0639f59f1eda6011a4190f";
+      sha256 = "1bcaf099b63f1f1c27b9ed32fec5f743a9c0c1cbad21cec1a725ec2fcbe3248e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/es-MX/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/es-MX/firefox-107.0b9.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "d0e07e7f3d6f674971d087a99c3aec41320ea0036cc67ac658b48f83c71fd8e6";
+      sha256 = "579f5767dfc09d7c71ff317ae46642ebc6d9159270297ba0f89fc8518c4817b5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/et/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/et/firefox-107.0b9.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "2233de3de920ae33c6e9874de69d66510e03b6c20370f67bdf317fbde5b70483";
+      sha256 = "f03049b4107be104dfd8214ea4480851cdfee2ca09fee9ec471169fd6b4cac6a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/eu/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/eu/firefox-107.0b9.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "12f1ed592b960fe1eff9d0a4d8e308e85d99527048fe2d86b7ec4b93547b0664";
+      sha256 = "52f54eea2402c7bc09f336cad4ac3b8ae613c95cba85dc03867ca565a91c9851";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/fa/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/fa/firefox-107.0b9.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "3298392be234a6cbfd0155b1973e87e0e616e49a8850a447968c8dca43e2c591";
+      sha256 = "0c93ef3ed33022436c3291a43ffe8449ffdbc2b4e9d87db5d656f2e3dab4cdcf";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/ff/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/ff/firefox-107.0b9.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "61ffbb1a669e210940c4e34e27011a8f31cbf36a2f7a18c69d171ee04ceb68d8";
+      sha256 = "dcbb91da91be9ef501d0c09d962b7a91bf4a7412ea7d9e16497e3202900403ad";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/fi/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/fi/firefox-107.0b9.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "0a8aff19d58b54543378ba73d6294a38962affd3a227dd24dff2e729b22e337b";
+      sha256 = "11512a690c09256d05337ca3e787b273af40e6d3a9401116af483236750baff2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/fr/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/fr/firefox-107.0b9.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "838fa94716b6413f703c5c3cc19fe890e370ae37757ec90087a6d8deece7d05a";
+      sha256 = "ac757918368cd4aa1c67c734459d7bd92e62f5134417cd38fd662e1817252e9c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/fy-NL/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/fy-NL/firefox-107.0b9.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "7feff0f1c8ffef30a03163dd44e406e8fbdf5460a49a4b7fa2e79276ee5f28a5";
+      sha256 = "2c3dab7652d03b5a6037f744a9016c934e8f971fe7e1fc8005fb27884fbab2ae";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/ga-IE/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/ga-IE/firefox-107.0b9.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "bf1dbdf90cdd1eefa403580c638a93544b603ef5be2bdd36f4515eca418c0469";
+      sha256 = "ae554f6e691b234ca09c8aae41ca1f5fb20059305b24527b7f06234555e44230";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/gd/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/gd/firefox-107.0b9.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "5839f49d1b4cf9ae9a78f7b81f89eef7fbc9ea5b6051c9f5020c50b50443d807";
+      sha256 = "72481494a77e18709b36593cf5d5c733f9ef1e928898913ff7961ffbd1884234";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/gl/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/gl/firefox-107.0b9.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "46f1a0254c77531b9129fcef491f5c43a9ff1b833d818afec1fdeb5f6c808de5";
+      sha256 = "84497a234c768ecdbb2cbf9ec1137e53c37dfe46b5be9fcb718c9aae70f87629";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/gn/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/gn/firefox-107.0b9.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "8025b101605466de4a63166eb45e8f63bb7e3795ae6f4b4a87444b95020a6d32";
+      sha256 = "35b00e8b881d1e134bbd92e28041d2a3a1288004c437c5f3ca9ddbb8fdaf9681";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/gu-IN/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/gu-IN/firefox-107.0b9.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "40630fc6d097a23cb1d6b8cfe70e272168e1eb9821e07f75a9d679c3d5871082";
+      sha256 = "d6fc5d8b83a8f8187a79701a9a453f31b2708fcf02b0a96184c8c186d6621e35";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/he/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/he/firefox-107.0b9.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "6a33027485ab0e3b415683df2382d7ba51e3f85a73f0e8b6dafc4b22ca392a12";
+      sha256 = "e8a14a44deef14d9d5a3f73ebe6e2f1a7eb2dbd64c0042ab2a32e9d0aa9e4079";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/hi-IN/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/hi-IN/firefox-107.0b9.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "4d2c327c909a40851a2dc99a8a0ee52ded0528b66ee624454f4a036677424285";
+      sha256 = "7b73748587719c0a12de11e12ae40eb788a99c9d52714ed467a64ede39b9937d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/hr/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/hr/firefox-107.0b9.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "5ab8e03067f87ac31929445a07ed97c8f2aff8c4206a5590c94816fcb62b2fca";
+      sha256 = "340b3a46a9e14b383b60d9736f13d36258fd7e89c9c9e8a4dc292eecdafb9a89";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/hsb/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/hsb/firefox-107.0b9.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "e9de4c5791b12e25060bc7539517c1ffe7c1ee8a9df5fbbb2f4c56df207328f6";
+      sha256 = "87a7dc59a021dd5d411300e76c52a2d7afbf5de24fca7ecbd07671907732a5c3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/hu/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/hu/firefox-107.0b9.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "38fac8c0ff3c5e9473ad6cf0a7b60538f399bffd8069108c90bc11cfd8798912";
+      sha256 = "74a4dca5b5419d2df68abe884e66aa8e92c6b502e5fc945e8c670c9f2e94b750";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/hy-AM/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/hy-AM/firefox-107.0b9.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "abcaf72a249c75e3dc6f2ca5c9169533c362cacb880f5540b33660be73d97e61";
+      sha256 = "a1ed1d83d0f79328843d86a12547cc1135f3154e0e8706baec6bee95df958298";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/ia/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/ia/firefox-107.0b9.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "0ff0d1883ba824b960e0f97d27e02b005d029cb8cbb8b89aaed4359d338fd16d";
+      sha256 = "850d522bd1b3282c4861345db6f447ab17acd71ad0b94e437f27c99b6a1c0640";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/id/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/id/firefox-107.0b9.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "d9540aaabbec9512404c3432fae2f7ccb9e993a9a6b7454fe566f5af4b5eae14";
+      sha256 = "33c17e400d900edbfcb1fd6c8f391d7066382511f2ceb8e58cd14001f07a3609";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/is/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/is/firefox-107.0b9.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "19ab69a43d3e26bed164f072ce3027f7606d73088a26745b26c6e4833299432b";
+      sha256 = "e33daebb1b41bb479911a454225f264410d03a050428d5cda8951cfc3231fc41";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/it/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/it/firefox-107.0b9.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "39822b2107c5b08b030a9dbda4405c6fbcb7ebbecee7a368b6e4f0686159311d";
+      sha256 = "4290a6f73a861f2de2537cc0ff0a7096432dd6ef2b4c86a8af6cf32d6607318c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/ja/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/ja/firefox-107.0b9.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "5a0414e7bcec930985e4df65abec12fe38a5624605127ff42a481147e6b0c77d";
+      sha256 = "ff1080c3ed3c1497ca43b0d47e077d057c6b34598e8303875fb4e35cbaef4e4c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/ka/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/ka/firefox-107.0b9.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "bb67ad171fe9851d327ebd916f96a2fd6eb44ae3ac80a015f7df42666c2b945f";
+      sha256 = "b90ab2d94dcb6e1d0f1319180524fb3193c70fcd0f216a2755b67548b4ab4a4d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/kab/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/kab/firefox-107.0b9.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "82f35c12d777d2ba32e1cf3d367808a6a9b0d73aa456a22e70e8f88998e375df";
+      sha256 = "49a12c30417d5283487bc661ea77718e80989e4db39915dc4409e2a141a45373";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/kk/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/kk/firefox-107.0b9.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "60e1039e883bf6f330c80ce01f16870c6d56a74d190f2d1041883ba2e227e641";
+      sha256 = "391751327b023ec313f8336d5517b68a5b059422fa3d469c4c9246be2b8aa767";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/km/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/km/firefox-107.0b9.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "1dc0dc3e0a7e6a5564ab605b981a310ff333b111646c001a96cb2d4b4d76bc37";
+      sha256 = "6661784587c9495c3421c4aa36fc0bf632e3a1921f2e3778b43d8f3aea215fd0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/kn/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/kn/firefox-107.0b9.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "00e23dc87d2a8cde5889ffcbac51102b4e96ede2bc659dc313082fb670b363e1";
+      sha256 = "3a66f003201ad2f1d58e2cf677ac099d087c229b26f5205512f48052ac4e2da8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/ko/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/ko/firefox-107.0b9.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "585003a1ecab5ce4d268eb4cafcf725f840eda61de21181c455a1aaa4f36d61a";
+      sha256 = "5a61453eb2fdcb406dc5458148ed0b0a762662969b6298ee7866c1cdb3c43407";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/lij/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/lij/firefox-107.0b9.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "fc1293c2ef22f2e36d854073c5131d92c42faa3ff7de7f28cf6f74908a8260dc";
+      sha256 = "d017377488a0eefa7cd457d6719cd9a2ddf8e1059e2bb25b4b1e12ff1c690c02";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/lt/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/lt/firefox-107.0b9.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "d786f9bc3fa1500b5a6370c5689a323f554ae96617c7d14a15a938e1a834f02f";
+      sha256 = "c1b27ac2b11e2a20215bb5a1a4a99ed11cbb78ac1645ddf01c3aea33ade7775b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/lv/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/lv/firefox-107.0b9.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "36a17d88a6dee8a913e6101c46a95e1fb3a41c2efbcf8925714ba8d995b30808";
+      sha256 = "b16146441b287167df03e44dda8641a025cd6f17f06d568c9b63f9c119cfe042";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/mk/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/mk/firefox-107.0b9.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "62e920574e660cf158d7ddc0eb8ad133b482f8b54891fc553962fa564a62f5af";
+      sha256 = "687e319a2fe451a6bb464154c385590f2634ca5e2602b0a1eb21b3f73974e13d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/mr/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/mr/firefox-107.0b9.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "b4555a40639f4859243d9301fa9a743ed3642b86559dbd4dedb92da4c26c1c42";
+      sha256 = "956977f0e6b0190ca8718ef41837e6a3ec12a1d1912af74a9f57cfc80dee9d81";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/ms/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/ms/firefox-107.0b9.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "f49e774e2ca2a5278a5f72a67fd1e488a933bb350d7f008f01e2fbee4fb3b302";
+      sha256 = "75e646f866149bec4b8de9a7e6d482a9310375ba7d789c88df8d776a299cf8ff";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/my/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/my/firefox-107.0b9.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "070661dcc5305faa8b0f5b0bafac6d219225025faeaced1c9f44f7d23413a8fe";
+      sha256 = "82cf085e5cb4cec8a646da0b9adf362d3cde77df2480e77baa68500e84e65d7f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/nb-NO/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/nb-NO/firefox-107.0b9.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "73fb963b963453f3f0a2825c67dec45d7fa69821cf6346407c0b3840529a4b0b";
+      sha256 = "151ee93728a1e9db0f52c09fa1ce332da85d5ecb6d3b5e173f88f633b213a0ff";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/ne-NP/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/ne-NP/firefox-107.0b9.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "683aa8d134d00f6f78e6333c37d8126a12661ebe838ec9341694b703476abace";
+      sha256 = "07e9c5c1d46c8ac958a4ebb0313a5542c7f8696536b7ba798be5212b70f10b1f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/nl/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/nl/firefox-107.0b9.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "1c05349cd5ffd9d78e7775990cab2697b3094255b65457834c4b266e13c14705";
+      sha256 = "20faf70cf29127d4ab44648c1bc24341b6c724ac87657af978167ffcba0088d9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/nn-NO/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/nn-NO/firefox-107.0b9.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "548b37c4608da3caa12d45ca4a5306784d8acf69c5787849244ca02f4d1fb04d";
+      sha256 = "ae9334704b2dbaa04e26644ed508f14c3efa9a73d643dc30882311144b65cc8d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/oc/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/oc/firefox-107.0b9.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "a9081854f1bfbeebf56ee936093f9f6455ca70a355a906e57689549674859804";
+      sha256 = "c419e0344bdb524c9775e2eb0803feef1f3afdfc3a0465a143692d0b70502b19";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/pa-IN/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/pa-IN/firefox-107.0b9.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "689283b771875e3ac6645e9f9be009f81c6f39647603f5c6cbeb3e3007054627";
+      sha256 = "c5a4789d822975d8b130070c6d893589b3110c2039fc0bab97a06e48f9c6abd4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/pl/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/pl/firefox-107.0b9.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "86a7016c353d74230e827428e6ebef7fd53d7f1592c36c47844f8a31c1a0e3c2";
+      sha256 = "606d96c2d3688c3c863c67fd2b09c8f60cb30382d2223ed64a03545b3fab7463";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/pt-BR/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/pt-BR/firefox-107.0b9.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "22e755f2c25470b9b6d020243dae73290a26208ca8d3ff035420e46547b31ce8";
+      sha256 = "022d89379f0f29aed99031f313e411eefbca10f60d9f08d3b70b50e276f062d9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/pt-PT/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/pt-PT/firefox-107.0b9.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "e44a35e564a89f0d02cadf40708ee180f3578cc8293e05e6008ec3a97060fb53";
+      sha256 = "a2eabe1f3f6ba9cdbe072bb0cbe86116b37cae0513c8452d4c42a16915632366";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/rm/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/rm/firefox-107.0b9.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "1b8e86d06be7766ea5e5c2ad30de5ae7237b502ecf0434a1e24c2f6a1a183bba";
+      sha256 = "c7f005af9408d31d6a449cc0cc2040a2f779e52cb127dadd4ea9a742a204d527";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/ro/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/ro/firefox-107.0b9.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "efdfa396efc32094309dd46ade30cc908ebd7e647059ed5aa80133df63270c03";
+      sha256 = "eccd837ded35c487a41bf9a6b22f83515de0b48258632f805605b532ca950840";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/ru/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/ru/firefox-107.0b9.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "fdca0c11ace36c39ed2885fe3cdc432fae22c1b7a7c8b86adf161f8df6e713cd";
+      sha256 = "1bbdc593fdcf9c221de69ee7f3108251ff2a0376e2ba53253452e9c790689350";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/sco/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/sco/firefox-107.0b9.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "afa2263c3878542f41ff91665d9eddb7813bd5890212e5db2f015c8c9156a347";
+      sha256 = "9648d5e705ae53589ed2c895615896cb1bd9419d53f8190d652bec2416ea3946";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/si/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/si/firefox-107.0b9.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "c195b25c255ea00335291056bd23ec17fbe8c72c219b2dde7dbc0f8f00862857";
+      sha256 = "d98725d0d09ea0c47463e1539bff1585a29c61c4107e8e64d3904532ff65894e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/sk/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/sk/firefox-107.0b9.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "92ce827a7f94634e05b42665437abb4b3e048e8e2936b744c570f687e1a5e2f0";
+      sha256 = "a971b5f558999be8546429af1ddf0ac02b7468b97efb2da1cf1f6fc82e145838";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/sl/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/sl/firefox-107.0b9.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "2919b85a1fd26398d41ad01508b0d5a5e99e70b08067fde63bbdcfc7084e5715";
+      sha256 = "de9976f1a2751f0ed3d337e1e2b6433d98e78039839c6e42e8a247baa2987457";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/son/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/son/firefox-107.0b9.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "2278fadbac733e27b4f2a92cc40b9abcfa2c4688b2ab09f0facf2e895decc702";
+      sha256 = "bedea926725984a8ee11f06058a154ecfcba6ebbe4a89ab653188620e409c6e4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/sq/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/sq/firefox-107.0b9.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "ee42df16d3dbad31ae920dff5a4d5fc1f9e7cd4c06d2f832913f860dd6bbe887";
+      sha256 = "acc68c742f27cd3c9b606f98d60dac3e6703fe7876e487e7d925d7f52d50411c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/sr/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/sr/firefox-107.0b9.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "3929c8c3e14a9710ac6116affd4404577bc7e343d37dbaeb8528bcd001c1db2a";
+      sha256 = "bec2eab4399112af1d224cccbc9ecda6941d7388e85c6bc64c2644a33a01383d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/sv-SE/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/sv-SE/firefox-107.0b9.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "cb307ac81e67c40127c1171df582528c9b1e9763a11d167365a0e4e8c915ac45";
+      sha256 = "74eaf1472d1658c90fb35449821423eba583e9d4e380ac03c96c2e2607df23ac";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/szl/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/szl/firefox-107.0b9.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "95dd6610bfef762efa8315eddd092e6c3932f336bfc22084cd1c93840c7721ac";
+      sha256 = "5c30a2c6995a0dedfdb04236961aa4302e3ddeeaecd25fdb4e963c8ea46d0f2b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/ta/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/ta/firefox-107.0b9.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "4c302aa0834a1ed99ba52795b5961c8be0bda711edaeb1afc4e7eed9ea846f80";
+      sha256 = "9ea986c362eea0e9ff375463d0c4810590bdc880b3497559dc3275f9ea1d999c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/te/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/te/firefox-107.0b9.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "7ec3c681d446d5f73154323d92ef2d4b3c71cd91baa7fddf28634ad4226f392c";
+      sha256 = "ffeccf829a6b2b4cebc4df52a122d1ae359b00156ec668e9134a3295b3805907";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/th/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/th/firefox-107.0b9.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "ef41cbd70cc8983399286f3a02eccc54776cfe71f7b0621bd7905cc8e6f643a2";
+      sha256 = "66887b5d3e3f573ce3c08d303e9d26cd0c059514fb291a346aa00d4167834ea8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/tl/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/tl/firefox-107.0b9.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "6d89173478280dcfae6d4e1b35173e631dd9611cfdb5fd4ccf16928ff9ef5fe9";
+      sha256 = "70712a82780f1d9af8a95383e6d22cc9bdc75770dd78f35b7968afaaedad074d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/tr/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/tr/firefox-107.0b9.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "8554cd7d14282e207d631cae44255555133de38f05c57758e290558659754d1b";
+      sha256 = "fdd6cf59ce86b5a05e51b0e9488a4b59603f7af3f6c393ab96795369e80bbf9d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/trs/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/trs/firefox-107.0b9.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "e4d79fd0bdfa9aa7887cab245616f1b26d27025b2307822238a47d89e85f66d3";
+      sha256 = "608df7e7573c7d13ce35c98acd870c89d8f60541c056a2bdc9c8c8148c3b0e3b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/uk/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/uk/firefox-107.0b9.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "8181ef3c49056fdbbd9eddf705e7350e908f4d74279896c84ce2c5e27259ca59";
+      sha256 = "a53cf5ee10946361206e1cd5f90ec88058832e0f1fc8213b34bff1490d453bd8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/ur/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/ur/firefox-107.0b9.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "25ddd3785382f16317c0d9b1f440241d2187019829855048c518a953650ce053";
+      sha256 = "df4cd1e7e612aab4350f5abe7b42b76588285da2d8504431d9af7c7843d67828";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/uz/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/uz/firefox-107.0b9.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "c7eef4f7238150f15c986e55ba475cbcbc6356428e92575d912365fd51c80644";
+      sha256 = "7e7fe38f32fc4beea2afd843f203082ae48e39ef68c69ca41026c15a0c354ec4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/vi/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/vi/firefox-107.0b9.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "f6b01aa11c23b019f522dc059cda1d9b281326e65ff5eae6f7be822d79b0c468";
+      sha256 = "fe8e4693e8de49be5e00077a313b008228ee96abf3e1bed23888adec2d8d15c1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/xh/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/xh/firefox-107.0b9.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "4520da286c0f458d1b03e2cb4a3e95589f26e3c1a7f52f0c97ee3868b067c347";
+      sha256 = "f659de97e9ad809efbf70ddf4c613b4e4667fb93462e6f29de3490aac69fc74b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/zh-CN/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/zh-CN/firefox-107.0b9.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "d91c3dca3f73d02fc08c0fa439e9aa284631f6ac1b730f271f2f1b2b87ef0365";
+      sha256 = "ff50ea3194f1710f89bdf33da722a8b5ea005943069d6d8ee82ae2f4c956b85e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b5/linux-i686/zh-TW/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0b9/linux-i686/zh-TW/firefox-107.0b9.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "a1c0ed3d90a5ec2a420faf58ffb78a430d44508c6f70610d154c3c61e3fdccba";
+      sha256 = "8044624334c7f4ed461d64c7e63a89cef7c98d934b04dcc3a455b90383afe3f7";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
index d6b78a90fecf8..0ad125beb53e1 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -36,7 +36,7 @@
 , pango
 , pipewire
 , pciutils
-, libheimdal
+, heimdal
 , libpulseaudio
 , systemd
 , channel
@@ -134,7 +134,7 @@ stdenv.mkDerivation {
       pango
       pipewire
       pciutils
-      libheimdal
+      heimdal
       libpulseaudio
       systemd
       ffmpeg
@@ -204,6 +204,7 @@ stdenv.mkDerivation {
         else "https://archive.mozilla.org/pub/firefox/releases/";
   };
   meta = with lib; {
+    changelog = "https://www.mozilla.org/en-US/firefox/${version}/releasenotes/";
     description = "Mozilla Firefox, free web browser (binary package)";
     homepage = "https://www.mozilla.org/firefox/";
     license = licenses.mpl20;
diff --git a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
index e27c906e74497..a28bb26610eb1 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
@@ -1,985 +1,985 @@
 {
-  version = "107.0b5";
+  version = "107.0b9";
   sources = [
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/ach/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/ach/firefox-107.0b9.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "fe053dce16acd6ea9cc2cc4764f6cb60fe0164f564cd0969b60edb2b8234f792";
+      sha256 = "9b3ea5454f07b42ff0ddbb2aa4c55787e756f433ff2c979cf78afb4fc5781aea";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/af/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/af/firefox-107.0b9.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "e92cfa783ac7241826991213a1d499656973071977a1759ba4b74572932d274e";
+      sha256 = "e30f4905ec1ffa513ca38e145855abd4a6dee4c37e067044ab10b7bdfdea1db0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/an/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/an/firefox-107.0b9.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "60cecb1239771e9f683580e53dd5ad4d64c2d13adce2c4225bc5f826f500cac7";
+      sha256 = "cbce06fbd3f8d7c1b2c2922ee72cbefa055703daf7982ca4b2020c76a8bbc496";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/ar/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/ar/firefox-107.0b9.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "bae0d476831faaa52f427ae361d848bfa8539c5c92b78ccffc9a1f42d7ca5756";
+      sha256 = "40e993d257da078116e9871e86a953845f1a576f48d9eb5a2954db612ba3af64";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/ast/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/ast/firefox-107.0b9.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "eee35b16635902871c9d3c9ed53432e4477d202ba7a4b219e59c17bdf27357b3";
+      sha256 = "335a90d14d899e8da3ad3643ae486ae6490e9334688310e425c753afd72e9185";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/az/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/az/firefox-107.0b9.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "a90363c4cdf5d73604197f0197a0b82879c3dda18525350c26a34833973502d3";
+      sha256 = "ff33f9f5f3b22dd8146c751aa184d5e5fa7cd69065919422a59ade205b2e6a01";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/be/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/be/firefox-107.0b9.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "7602b6524ff7e4532b11eb680694a4eab28229ba7733147a748f31941eed37c3";
+      sha256 = "f1ea2e11d445ceac47295a2eb849a2bec0e8d403bbb22b57b57c6866abcbfb01";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/bg/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/bg/firefox-107.0b9.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "d192473aca5da3981782bff213afc387404012640281448ca399db389604e549";
+      sha256 = "5ea828c5618d805d9e2740f10dddf2e5fbc88f429311875cfeb6f46f9cfb56b7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/bn/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/bn/firefox-107.0b9.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "d981460c55a21a89bcacda06dce6b96bd98a8217ce204017dcd547611ef49553";
+      sha256 = "8668200585fc6a3d4d2a6d8e5c9cf34ed825008f2092ad5db499e0de2f8738ed";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/br/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/br/firefox-107.0b9.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "8fc3fb7515c462186df5beb311e538e87cac0cee3871681299d71cf8fa61b649";
+      sha256 = "ef8ec147f9c109a3b1a838ffc684834e0dc1ff59772adabada1917465d400496";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/bs/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/bs/firefox-107.0b9.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "51cdcfda971cc5bc2ac49e66ff2d4ab0da98cb1b616170cd5f3efbc0b3646bc7";
+      sha256 = "f7933db4933435061acbe5934e0b5f3b430a938f5f6c1eccf46dbc1f20325301";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/ca-valencia/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/ca-valencia/firefox-107.0b9.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "2db66f85156b5313b6acd9c6fc43c420862f99a57e0529e33565846debf1adc6";
+      sha256 = "b611b7fe112e60eb2439fd3b1e2581a267d0d464f05f5626ecdf85ce44e01339";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/ca/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/ca/firefox-107.0b9.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "cfdbe8a80b4967b6e7bff79f77120ba710780634a9be003663a5166cad7a057c";
+      sha256 = "6cac2d995b2670db82c6829d1e724b28a9b60a25bfeb1b83187ab3c40e4fd869";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/cak/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/cak/firefox-107.0b9.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "064ba8ed85dd1980c4f7a2c132484a5f4e22588a71f2e293b13e32920929df32";
+      sha256 = "fe2bcd1b7b29765e6810622e36842a367a081486f6656344a191d827b63c6ed1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/cs/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/cs/firefox-107.0b9.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "22de13b11ee1710a7a27944754d032f8b3d9d2d0352c8b7f27dd2497cbb67075";
+      sha256 = "07dd647187739958effe0f298c12b32e58afb3b00a7e0e50cf1fde72e3a54bb0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/cy/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/cy/firefox-107.0b9.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "fb606b53542ed71257b2ffa8947f057d5c752266b10d7ee8907b4074d66d161d";
+      sha256 = "8399af3743940809c128e841c755433ead1e2aa738d9d0b947d7b49c4e55f900";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/da/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/da/firefox-107.0b9.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "52872b6a10d0b13859705143089a37a1aeea05c432ba1e1a0bf86165f33c1ed3";
+      sha256 = "ce1c6aa4fe114baca6a356a56455d234c382ed347c225dfbc27f6357f6002475";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/de/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/de/firefox-107.0b9.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "08db9fde6433c154d9f59606ffe02955951fa0729e4331dede7251051b778182";
+      sha256 = "f87b2fce0c37d975bcf74e39616848c77e1ef5cfde8d5d1769e9bb1076c9a5d8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/dsb/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/dsb/firefox-107.0b9.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "770ff42ddd51899d718e9c0fdc949fd4a3079627102869f9075a03cf57e9baf8";
+      sha256 = "54adf97b32e27ee6d0b5f28a96b716f02b6ae8ff27950b563bd442482175ce23";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/el/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/el/firefox-107.0b9.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "116b0c4668466c8c23a58357a07481b1bbc7da02e446f090c68b0d89f0945f1b";
+      sha256 = "c9ab3bd70a91108121b24d327db1c790fd1610fba4abc7e13dcd6838891fc777";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/en-CA/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/en-CA/firefox-107.0b9.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "6ab075420339bd2580fc865f216fb3579d2ca7dd4a8300ea44335b12cd76d255";
+      sha256 = "d161003c7807063358b0b4510f55c49810296cddb476e19c27e6f8c33e68a546";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/en-GB/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/en-GB/firefox-107.0b9.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "0f6c290946ec9262b0bec636c20ff1730d23fcfaffeadcf3ed09643ab3e30b87";
+      sha256 = "768eae513f9c1434520308b8dca8d59dfadbbc36940817d38f651de7fa9b6165";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/en-US/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/en-US/firefox-107.0b9.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "316a33b393479a26e608fe3f4a785f119239996c237ef4981ee199d37eaded28";
+      sha256 = "01af75b1bc284e1b736ece65a4a21339cc04c81d15b16054736d7c16efa4c161";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/eo/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/eo/firefox-107.0b9.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "dd5720a072048a44c7f36f800a6771fb965850bce5e9019f8637940016b7513e";
+      sha256 = "72b8bdac3930b69da4d45b9f313fd7c813631aa615b7ca3a7e867438bf9bb040";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/es-AR/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/es-AR/firefox-107.0b9.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "3a6a67a0042f21617fdf4213bd84464a85a0b45bf19ff32f459aeb388c4aa1bf";
+      sha256 = "01a08f43e345a0f42a22dc2258b47041a55bddfbaf9bcbf28c7265ff12ec81db";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/es-CL/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/es-CL/firefox-107.0b9.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "233e47704674a0a1034cc555b60e182282755c91124abd2bbd9348f9a9020c6f";
+      sha256 = "ba9056b9bb4d0cf2d650a679fbb3978584b6685d478a1c55b40db854c31d79ad";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/es-ES/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/es-ES/firefox-107.0b9.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "8146ff917d55c3abc7cce83321ba23b01ded587fd05dc2d4c4a9d4776976bd02";
+      sha256 = "bf2ea8c9cfea7cfd5ad3ba2f1ee2b39c6ca62cef4ad20e573c24dd8506c6282f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/es-MX/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/es-MX/firefox-107.0b9.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "30f51b07c841662035ae589ddaf8a000b57f731b618a5bb42d5b29d3be9b35a7";
+      sha256 = "f369e031f51cf203c5d669d48fadf997738b6d7a410f30dc0de3e5cb57b7847e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/et/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/et/firefox-107.0b9.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "d6097c7d36d0a98e08bc456cd459ba5e5b753d59a41b01488e3f0ab49d792567";
+      sha256 = "8ff0214cec29fd6dd8df1b8e6a079883cd7f7b1c24c89dc8284420f729f43626";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/eu/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/eu/firefox-107.0b9.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "532b42859ef8c5948f3c9ad81b83d1fa184776883ef131127833b7459f9d6700";
+      sha256 = "0ab036b26d08e2760b51fbd7d30b0004f2750422046f6f16abeeb1c76918e79a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/fa/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/fa/firefox-107.0b9.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "5670f56bb0762dcc1e30b359032f8a222d71a814eecb2eb45b9c1be4967fd62b";
+      sha256 = "5cb07d8d7634534e741ea59f75c37bae6c7d3a8fb83f94b1de32dcd4baf845a6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/ff/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/ff/firefox-107.0b9.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "9a2fb359519dd3c0d308ccb86cab3c0443647a2fbac24259cd401e20a85afcb3";
+      sha256 = "b5396fad3986064f9f93aec1bc10f04983c5037c9d7dd37be29a13f9458b10bb";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/fi/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/fi/firefox-107.0b9.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "5f901ade78edcbcee08ea9e6bc9e45dbbe37afad8d11695a3a2e37ab8f00e7c5";
+      sha256 = "0113c8ea0ec8a1b04eef9906d70068085df44854db669497871b79fc63d45c11";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/fr/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/fr/firefox-107.0b9.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "85446b0d846445fc5ccb1e8ae49c5f6b318c26a3c089d9ecc00c86e537edde52";
+      sha256 = "c24683241f0c962ded1f590f8cc212ce19c5216e0b754cdaae28e52d9460252f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/fy-NL/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/fy-NL/firefox-107.0b9.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "ba7d1c20f3fa84361b3cf726725f749f5c8d8616344f0bcc45a0625827ce7969";
+      sha256 = "c19b91a2d9d5fb56732f291e02b377ec9e2663ed8f2117b4b128672936eb7970";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/ga-IE/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/ga-IE/firefox-107.0b9.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "9f91ac8e30cb10d6a631d3633da8a4150519f92e77d63eaceadc69b2455ab5f1";
+      sha256 = "38757cd45dcef2741353e0bef04a7141d2b87b983572ace81cfe06d7713468ab";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/gd/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/gd/firefox-107.0b9.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "3502efbe4b7c1e75032fb04bdf999125f87b7d3313b3ed0d4315f518ab073b22";
+      sha256 = "c5f539dd881c31cc06f6597bbd37bffb519558a0181f8da91e24e23e08c5225b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/gl/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/gl/firefox-107.0b9.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "6db94febebbed719c497335827c738f9560d1a953508c6264e61e21859be3877";
+      sha256 = "52d08dca49b83ebe8b5823a2ba9cfae324b44859cad4c753633ac508cbda1fe4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/gn/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/gn/firefox-107.0b9.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "3f5dac7d17c69c8e37c99a4b3eb5c23b87ce8e0dad927bc5fe810b3098d57eb7";
+      sha256 = "918ab16d347ffc8173d86f4e16d21c60ca35eb689562ddccdca3749e8f6776dc";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/gu-IN/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/gu-IN/firefox-107.0b9.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "d874b4f1f6b8968490fbcb4074ded3b098737326f165218e27f9ad8178968458";
+      sha256 = "3a053e21a6aec9477f54d91657a18ab7fa939fee4038ffeb3ede70ecda77e4e5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/he/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/he/firefox-107.0b9.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "36dea00423f7abe170847e7e79436fe6d52b57328aadf96ef3a9def20c12d65d";
+      sha256 = "3515257b8df894fb881c1cc8dcf5c0221284e7532abbc71e1a46187b115ba817";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/hi-IN/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/hi-IN/firefox-107.0b9.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "6212a78e5af37e13828bf63aeb7cebe84d7e74b24d88e51676970b339b4c5e77";
+      sha256 = "6c27979e2870c6d4df0266ebec119c4eda5b5ac5b16a9fb3a46c367d57eb8edb";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/hr/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/hr/firefox-107.0b9.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "084c2e0182a383f8c76ff5ac5f27349d03a759554e5b69d63ad5a3bd7813fe6b";
+      sha256 = "ac4639b888ca62a0d20b338be17838c59608fabcf6ac30de43325db5c1330f39";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/hsb/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/hsb/firefox-107.0b9.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "f7dadbb029b77952ca649d69ed770996289301ef7ce483d6ba15d422435c8a85";
+      sha256 = "8c0c095301d64fa1eb11c53cd9dacaa712433b4e03e7265fcd27e0c4dc434405";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/hu/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/hu/firefox-107.0b9.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "e2060ae9fe2c65fcad4a4dca9477c7550368ac77c51d3b205ba1d8f47eac35be";
+      sha256 = "cf72a10c7aff8630e303cf28674a9eafa7d836350e55b2cfba0ef887bccdf013";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/hy-AM/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/hy-AM/firefox-107.0b9.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "3cfef8c3e415441803269178354e470a34e8b47a2bb7573ddf2c51dad79b730e";
+      sha256 = "3c9432fd5bc0cb1af24d02044db04fdb5fb17397e9074282df7d3962615faa1a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/ia/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/ia/firefox-107.0b9.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "7390bfabf22c734ace6d542c33b2ff36430ba5fb73f855593b049fe0122224c8";
+      sha256 = "6db076b844d8e48fe3563784e0a754a4f2e811b758a3604ab2ea357f48cbbccf";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/id/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/id/firefox-107.0b9.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "4a571bd603a0a87e1f51dd032993ab0f486c1897d1ce513f849d3f8961ae7a8e";
+      sha256 = "699d78cb6a5342e574b3cfca0bb1e8518b09c925a3855675a6fe89e4d77e641c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/is/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/is/firefox-107.0b9.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "697e35b8471bad372322db82bf7eece0dd064b2e2255f93d3b7b824f97e7deb4";
+      sha256 = "0e29f520b0219bf52497803248b61c4bffb7ec79b1a103e912a51a2118805c1f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/it/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/it/firefox-107.0b9.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "01fc105b4ec5f7cce66a899281ee164f9833aedca8bc42026331a7a007fd97f0";
+      sha256 = "2131b1350f2a1e6a5fd930b5f22c7859c12ab117d5f868949775cf24f17a4aac";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/ja/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/ja/firefox-107.0b9.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "a57837802be651563bb80cba7b41c1c1c012e6b83b20f82aa07161af48adc04e";
+      sha256 = "5dd23e5287c03d3c9a14fd2dfa880ba291c9b25385ed7eb28c496ac7ee6fc0e9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/ka/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/ka/firefox-107.0b9.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "a2e70c7086e693c5114ba254d3ed1d9f6353d8b96712c006a27e0d91ae57b5e9";
+      sha256 = "205df0df84d91b622099cb2e87c14b9faeecabd55463c31fbfdd3df98f3d698a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/kab/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/kab/firefox-107.0b9.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "27a6a4b211ca09d49eafd0b0fe3a742d0284bd2538f1f143377fcd8bd20f78ad";
+      sha256 = "42767106aa484e7cae6e123715ac4a9e07059cd0924718b459155ceb54f72ed2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/kk/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/kk/firefox-107.0b9.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "b9e8266eeff12f2f4af876f27850ed14740577df921ab41241da67e7cf7a4c27";
+      sha256 = "0e36661bdd87256fd7e845f62989b1fef89abada607d1e07cf166bcbf44906ff";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/km/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/km/firefox-107.0b9.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "90ea58d4b4d76f9af91f85aa230ce6f605ee5ffed9a3dae0264cc5f6de9f1cbd";
+      sha256 = "61ec390dfe07670bbe409f9ec14bdbfa1e46b3330f004e77f42cdcb110396ca8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/kn/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/kn/firefox-107.0b9.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "38fa2c8ec82a4f010b487b399f32d551724f47fff55b44fd2667f0be64f1f48c";
+      sha256 = "cca177d1cdab2e31771cf8f978f25a0c9e50ffca81737b8b067509cf8d10473c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/ko/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/ko/firefox-107.0b9.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "490e398b7949f1711f7d37f3ac9e466a8a44b56434edd5ddcaa13d420984e36e";
+      sha256 = "9ae1f47be6ab2a2b18404fa07d080f35e814ff9f64e80303ba8df34abb545a1d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/lij/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/lij/firefox-107.0b9.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "9aac8f630257d00b6938f33d23188db44c2ffc91cbc3deaea0437961c169f0dc";
+      sha256 = "c49a3b55da23e8751f06a37270b07b1744ee5d3d684ac0e96c565690f2d4dcf6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/lt/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/lt/firefox-107.0b9.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "10c9ecf157ebc5347525251e79d79307fadee19d23271166da9a7a0d6c7c59f5";
+      sha256 = "a8076fdeb3bd6560157fd18204b86b8abff52a3cedfc25d8c8d5e3c3f2e34554";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/lv/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/lv/firefox-107.0b9.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "958cf0820a0363e3fe51c871a104dbd266f353f07c725bfca847f09cc115e0f8";
+      sha256 = "0de7732546820db139d5a85b80f7518093d0c14edc901060fae19f0a59241fe1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/mk/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/mk/firefox-107.0b9.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "24dcaaef6f2e8dab94e8a172d6eae92b1eb4bf0bac9d35a36234348d1d519d74";
+      sha256 = "7e8248f5a3f2de82becd83a975aa3c347e260a7702851d323e53078965c03123";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/mr/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/mr/firefox-107.0b9.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "15c972e198f598bded68b5bb46fa3d7c926bc15250de819719967ef167f54384";
+      sha256 = "435d2bb0dafb1dbe1aa62cd2041da469fe8df58013891e03ad19413bce1bc0b0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/ms/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/ms/firefox-107.0b9.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "6b801b428826a57b9a5f0c7b90cb8157933960f7a47bb118f8a904bfe200e030";
+      sha256 = "d610e52fef5e4789d8366ffb524c7c62111158bbe34c3094c298b246a3c3fe20";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/my/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/my/firefox-107.0b9.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "61aeca4ad22f92f6003438988ccd0f09b4c59edf3486ee49399105a2e55418d1";
+      sha256 = "f4ac639edd293fb8f34a9324d908d89a8d428c71c85380a73bddb7b495707d46";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/nb-NO/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/nb-NO/firefox-107.0b9.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "89528ae463c359b91501107cc76b4454e89ffbd744ef25beaa0257aaf4d4c673";
+      sha256 = "0b4919334e0de23ba64d448a62ebcc35ff040ed7bf75e868354d7f610ea31c13";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/ne-NP/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/ne-NP/firefox-107.0b9.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "793ffa67cec4a5436ec93937ba37bfcbe0bc0cffb8a8027ff7904b66e52cf23d";
+      sha256 = "15a736fe6fc2d04174a0bdc87964d2d4e33c045a38ade58934e1a71cc2e1c0ae";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/nl/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/nl/firefox-107.0b9.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "feaee3aba68a9062624007bb20c09da4807a94230d1497911dfdaecbc2ac3c0e";
+      sha256 = "cdf5f69f88f0db3e8d6a0ff8be430741a9b8df2e890862816a1cf1bd706fc81c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/nn-NO/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/nn-NO/firefox-107.0b9.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "678650a42390111a0496796d6887848302ab1acc182bb76e2f60488c0c056327";
+      sha256 = "6493740642533d83c7fbd3124d817f94ea32bb2939fec72d408e3d74bf9c4cd0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/oc/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/oc/firefox-107.0b9.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "74347a65459c968e9102d6613f3773c6a7486e17959575be116c66c60964363f";
+      sha256 = "d70abceafb8033a4c080a17bd7c15fb049e583c5c072014907a0a8b19a4da1d7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/pa-IN/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/pa-IN/firefox-107.0b9.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "830480b8ee3886e8452f55a2421f3187e2781aaa3ad031851450d71591558d39";
+      sha256 = "eb303ed66dce80892043b0e0af13f3733f55724b8e7f2670caac1d296179f5ef";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/pl/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/pl/firefox-107.0b9.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "fd7b412fe95c40f6a51c4fa1414ee6ef423f60a0cd904dd351b6c10ebfd81e85";
+      sha256 = "2d110e659700ed81859fb77614353263dc6fc6d9cbe968cd968f82aaa2748c05";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/pt-BR/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/pt-BR/firefox-107.0b9.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "d5ed8da82d2c7f3c140c3ad7a2c08cf770f99fd6c7013d9623040b903ae81c0f";
+      sha256 = "b5108739a4db70d248fd3d5af10bae3d3982dbb42f6f25776b2913912af2b3ee";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/pt-PT/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/pt-PT/firefox-107.0b9.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "70241f42e2e8657ba15d60c78668af2a70f67979a619aa86df4278efa1472537";
+      sha256 = "00198a7983080a49c7e0297f31ee2ffe951446a2ce00053646d72132d64280e9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/rm/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/rm/firefox-107.0b9.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "6c0b14cf9b0f586b4520e9c07bfc6b60198fb7a487bc236853e5126ae820f40b";
+      sha256 = "3178df44ec2b220864ddfd3c7efbaacd3f697c7f18c64c921af70419ab2c1279";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/ro/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/ro/firefox-107.0b9.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "b1063b98c7dd9fa77136102999f568681020304ac9a6fd82e90e258a1b00b000";
+      sha256 = "6fef9cbf2ab8b166f3c3acc0536bcaf685fae7c936c3dd16d09bca39a567b978";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/ru/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/ru/firefox-107.0b9.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "d9937d647d7094c766a9130e88798ea64667c3cb19088941fd92b3c27a089e82";
+      sha256 = "3a444732572fc6b65248b51c116bfca5d8a3171402762746208943f746393256";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/sco/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/sco/firefox-107.0b9.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "de5c9c7fe2c78e4b82307e5a7829ad55abc1d6d850193083a1fce500b42b7327";
+      sha256 = "092506a707ce1e6c9d0b33050b8db0beec06dda92ea12c3928a164136c08eb46";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/si/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/si/firefox-107.0b9.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "41452058bfa19468a70bc37aeb1c7f42d2ce820ba2a8e871855a24a890f309e8";
+      sha256 = "83832ec02c320c8a169181460294b9e7a8b25141baedcd325953a72b096434e9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/sk/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/sk/firefox-107.0b9.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "1a91c5d6a7705998c24ca9ad69f23065df22fd95a0d91bc23ea7f2fde91cde52";
+      sha256 = "aad444baf5e50efbcf0b1315941b3c0cad14b454b73a8a2e6b43136285f396c0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/sl/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/sl/firefox-107.0b9.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "403dcb2a2e37fd9fddab313ab412dc42b74a27c86c8848587fca718dad583d6d";
+      sha256 = "6b5054cdc35cf6350f32d8991997da8b6a95b1fd029aa100635f4f2f624b9bb9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/son/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/son/firefox-107.0b9.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "c00a87c076ad630658649dd6eb13eecc8c8f778845c14f71f2c332f80e327911";
+      sha256 = "fd2ad8f414e61c405a630d978cee53a1d5611e8416065d68b04393cbac82d54d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/sq/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/sq/firefox-107.0b9.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "1f2cd71f6c302c47fa273a4897749036b0c26453dd3ebfe80473963e929b609a";
+      sha256 = "5a7d9c15f314a5a56386096cbf7d21f018735c060b0ef7756d3d3ccd1cf8c3cf";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/sr/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/sr/firefox-107.0b9.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "b4ffd0cf3ced236e01aa90003945938d91beedcb9167475dc8b45f9c55055412";
+      sha256 = "b64b59f6dfc85b8b3790656d53e17379e4bb0035fb75861546ecc34d86be6047";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/sv-SE/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/sv-SE/firefox-107.0b9.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "951af50b065c1300e6534bc9869cbd940c39f47e73bbf23a9c026d4bbc9c92ba";
+      sha256 = "46d7fe9022e4b8d8fefd52936084fd2677189df6a286f05b2b6c7a92163e5909";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/szl/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/szl/firefox-107.0b9.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "71dd54507c36be4f97bc364fdada4475c41cbdff3782898c2ee6762562efd924";
+      sha256 = "a5a5b6242ae86a4d3f48d3d22a71ae9c9b0b93c6010d6e345ba655e3124c8acd";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/ta/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/ta/firefox-107.0b9.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "fe7c1d95e41849ca1255251d76959138f2d359d5863646c97340fa9f2d67972c";
+      sha256 = "8540b9a0fb01c49bfeb44733f77dd4d0a312740043a4a52a9ae18ce12ebdd20a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/te/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/te/firefox-107.0b9.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "ae28d8eec95101466414b8b43c73963431cc4ffcc1b9cea2ed1fad3f09bdcaf9";
+      sha256 = "36bc5188c2a40ccf65aeee7a2b8bc84469a238ec499191035809da7525a8178e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/th/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/th/firefox-107.0b9.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "c4d5f11bb3e6afd9db8c198519ed267b8d426e636513d7a062ad1e5e78733fda";
+      sha256 = "f572ac21842a64d68efef460401ef2f385be8fee6c4b8561a91fd7e01529c940";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/tl/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/tl/firefox-107.0b9.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "05bd2a998dc2ae65d6d700bd6e356a4678fda9632fdba6120e06e5084ad23c65";
+      sha256 = "af523fe20aaba5916ff94c87d01de9bb863c6acf2e0ecd52de95d2f00055378f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/tr/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/tr/firefox-107.0b9.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "470110990652a4e3dcf081c146e3bb3ce6aa8b2ccbd5776aba1671693ebba856";
+      sha256 = "55a0d1bfcda389522cc66c5ff74e0e9b32ac6d94307f78772bed2e8dcbfc118c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/trs/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/trs/firefox-107.0b9.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "8a3d9f8f326449e3e979080da37e59124680dbe08340e1cba32b57d58333eb08";
+      sha256 = "4da3eeef1c5e4ad09e8ddf9439f5197ee43e95d062080f1bd09d23a60f265f82";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/uk/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/uk/firefox-107.0b9.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "2b5e2a97084450afe8fe2c1ad921cc1a57e0972c7ace918d0355d160c53f1e40";
+      sha256 = "928ab3b1483ae5bf2ab07c32ca7af9fce4dfaff69ce189b45197136b4ee178d7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/ur/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/ur/firefox-107.0b9.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "067112a1a86bb44200bab7644787a434433c0f1ddc2b1d6b0ba3c48b12091178";
+      sha256 = "628eb5d9b4048db3fab56923dbfead5a21d3af0ee819c2a5a810583888b33d0c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/uz/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/uz/firefox-107.0b9.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "2e6ac4f3887156c0e944b2bfb6ee1cfb7c81c7ea9ad5dc780943a8312bbd41bd";
+      sha256 = "712d563f7f2437e019478564153b10fb13aa9d83fde0ab6908555d045d7044f9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/vi/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/vi/firefox-107.0b9.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "72faec2269186d6665dd383071e841dff3985c6d6917d70cba29e1fc090aef17";
+      sha256 = "7d2dbc1db78ca3ab69660da995d0b34f06471dbbd10d80d8cfae41ca7cc9e063";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/xh/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/xh/firefox-107.0b9.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "e0a9e14f784b24504db15c26fa1d62f04d47fd8c9dfb168b466083cfcc7dc504";
+      sha256 = "dd83264ca6c61928f587389c79941f80f6b546aede6bb45db60338a5a3120944";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/zh-CN/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/zh-CN/firefox-107.0b9.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "74d138e2cb5068932e1b49715b824831a1c6cbce61c4b9d0e3e6d8fdc838fddd";
+      sha256 = "eb11a06b2a26975e101c6d7c7a4123078df43444ceaa2be32ce4ffbb5ca07803";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-x86_64/zh-TW/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-x86_64/zh-TW/firefox-107.0b9.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "8897ddec79f3f0f46e87bdb841fb352146737a2effba4019c51216fc69256d51";
+      sha256 = "127c49f376459d60f2fe685b1b238c9bef0f85ede30d383a41cbff760ea4dbe1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/ach/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/ach/firefox-107.0b9.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "94c85fa9c8bb459d0c99d430e88f936445627e45dbc9e29a5ced64b2f39292f2";
+      sha256 = "57335b5daeaa76fa4bc6c81f6fbf2068de26534fba08f5115bcf0b217d469675";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/af/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/af/firefox-107.0b9.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "bfebcc54e8caaa6c3100fb29a5e7d79278a7cab7d0d9154f15b933f6a26af1b0";
+      sha256 = "99d5a7d122b39b36468c6472c29ef7a813c0728764dcc1d91c57291d314fcd86";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/an/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/an/firefox-107.0b9.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "b896e3c026317caacd4b70c7539901515fd9da7d5962da8380b139a97182f0ca";
+      sha256 = "caa65ff6e9ca252c146d5a5dfd7dee69b814f9943632c8781e0d29506904aae8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/ar/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/ar/firefox-107.0b9.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "b8cfad102e121e52b5cd4f2f946d8fb78dc7711c8859b6a74132df3576c76a83";
+      sha256 = "9c8c4584802b1786a6111c3b75d54a89f39d0f2c732a1a40c914d3a7ee6ca1d2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/ast/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/ast/firefox-107.0b9.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "f459e02e7051faadb796f716918c597494731b4c28176157acb659f69d8ef570";
+      sha256 = "5bd64adcba15438424542d9357f23805bfc408f42ea7e0cfec7b3adff194196b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/az/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/az/firefox-107.0b9.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "7cbcf6aff86fcfd63b7eabe354538f27e65ef38c6e3d547dba66ba0f39997020";
+      sha256 = "93382d3c467d99b894f0947ca2f94b1be28bb593006b96ba444d24bcdd0e3ad6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/be/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/be/firefox-107.0b9.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "9edc60db4ea74b4d994c3e9518bd04372131c913f974fe0cc4fdc9f48a625105";
+      sha256 = "0617175ed5698ccffddbf7054b5367408e482272ea42fe703e66735a590d5093";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/bg/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/bg/firefox-107.0b9.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "9be082827f63f0d8b27222be9071c47da2473dbfee2d68e4d8f277f4f9884de6";
+      sha256 = "89ba391d03184879c8d09bcb5077a877034e84a00c738e3cda4240282f34de33";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/bn/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/bn/firefox-107.0b9.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "743b57f7f1609826298c244316278b828c5de836ae415fbf7198df90bf5ebd4c";
+      sha256 = "553f57b84d7fad2af979dca958753c40170cc359f6a4af4892ccfc58a439c395";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/br/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/br/firefox-107.0b9.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "d77c969ba9b74ec5387221a5062995e57221452b1eb83a7fe398bbf7522b728a";
+      sha256 = "ffa7443da877f1ef6dcb9ce2280b8133509cb90d5c632fd3710229a47bdc20f2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/bs/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/bs/firefox-107.0b9.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "f81cb2beb3cac871de92d1a4d71fccb0136cdb97b337a8206228479f5af0f6d7";
+      sha256 = "9e948b2775c34be6f94435cb8ce1d1a99d2eb55e83715add8f704de0cbb7c4b6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/ca-valencia/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/ca-valencia/firefox-107.0b9.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "23d2ec909e3067b3e1e935ba61892e2a659148770f39c0e55d1eb16a15fdc729";
+      sha256 = "703500d1be715bc14d6c2221f45d9d31fbc73aa9aa4fe6be0ef23d08ed6f3156";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/ca/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/ca/firefox-107.0b9.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "da8b4757b4fd3854e1feeb7515a30c65d1734e5647a9fcb72accc3778211c4eb";
+      sha256 = "2b079bf277c96d11b9eb7bde744910ddcabdf9024236b042edf72ce0d4450f53";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/cak/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/cak/firefox-107.0b9.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "bf491359b287a592cf55d6443c4e0defe7ce421fae1fb8099a8b7d24e3de72aa";
+      sha256 = "6e8daeca403c0a928ddae33d7b78c2bee0c32febc0c1d56c5264d04811dfc34f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/cs/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/cs/firefox-107.0b9.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "228262a6bd412c59fa0809554f6073d4260b0cf1b1b521181cb4a71e7c0fd5d2";
+      sha256 = "e1d74e5d1b9e53107e3597e3673d129067e8e75f8fca61cc2d09535aaadee3f4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/cy/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/cy/firefox-107.0b9.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "f7e3d0aa40673fc1e7f94a27b6ebcf58543a848cb9603598f69f2def374d27f6";
+      sha256 = "941572c6a262141cc4359dd13d248c61b541b9a9bbaa597f187bee5b27ebc28e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/da/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/da/firefox-107.0b9.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "bb11fd08ac4c19ae592a8d8188880320978824c2886c46cc069990ea778f9d81";
+      sha256 = "5cc8990bc3a9426984523ca6a49fb5f2c4fe444b42e415dfbfdb2004e9ad2eae";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/de/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/de/firefox-107.0b9.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "992eb739b585affd37a0e45228c7b4b9368d68ba0a7245c8467055a00a275e1d";
+      sha256 = "644474d4c128fb6eadeb22b9c89c3d6942cbe391515aeb1c046f01dc0986f390";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/dsb/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/dsb/firefox-107.0b9.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "46158408f4b12749ac73d650fc16dc436ef3a52150cac82c9dd4e2d509a371d1";
+      sha256 = "394cd9728b0e4d722e13e1776732c8fd38a6e0df331a67f365518a66c1e7bc4b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/el/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/el/firefox-107.0b9.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "93ac0eaf96a7a2acc753d14ce5ca5bfe1722cdcbe2b8a743a291b1a4b7a9ae23";
+      sha256 = "4848172f39c90095bac18808febfeea415c073382ab5efb115a57935267d867d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/en-CA/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/en-CA/firefox-107.0b9.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "0ffa6f576a06680f1ab690ee894ea23885d4993f6216c8d236ea8a493ce07765";
+      sha256 = "607d27b3c7df703d317264b0441840b33ad2844e7919fae6e3e6445e14693dc5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/en-GB/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/en-GB/firefox-107.0b9.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "e038c985250095d4267cc2fef9403af4f8487fa47e9a522a82e5d6a3db9d8907";
+      sha256 = "d105230556168f5343a2830537a8041c9a6027e0e60f58ccca986257ed478379";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/en-US/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/en-US/firefox-107.0b9.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "68c6331b8263d9eef2721410a00a523d708101306d96585009273b8b15178b47";
+      sha256 = "5e341f3c5a01324f4c46ae13c42634b2d478207c4296a6557af2e42ceade75a2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/eo/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/eo/firefox-107.0b9.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "6921fe7696d694ee1aa3798d1aa5af384bfa03c50171ed1c8ff2657a3da74826";
+      sha256 = "da156a9cae2623be71434bbf0d38a0dca95cb408955a03a127d1bb3950ca9a51";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/es-AR/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/es-AR/firefox-107.0b9.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "2cab835fa01a0884c5f3e3823d5e99d487900f77784eba6898d5efa1f41a93fb";
+      sha256 = "dbdbe6a406b7f5e9c8fa526d776384e165154ce5abc7a0c2eb3e0d5f026551ab";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/es-CL/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/es-CL/firefox-107.0b9.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "dfe519f8b88c8912435e3d642d341da759293de6ac7b568173ee110eafbc3fad";
+      sha256 = "16b0535460b2b64cf6cb30ca911360f2aca58cea3cef5fd982d0ee860d70f2a4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/es-ES/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/es-ES/firefox-107.0b9.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "815b23918a1cd32943f46e9ebfb483d73b6d9625257d625116a01b44a4d92ca4";
+      sha256 = "56ca17e71f3a4b65bbf8bde6cb66928ecef65bfa50b52b67be4ae28725dbca39";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/es-MX/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/es-MX/firefox-107.0b9.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "6ea2831568bb99bdf87bd56d4a0f2510630997e2ecf65e8ecd3de79d7c7ef74c";
+      sha256 = "66f9a809359f2a5361507bbb71b02f1d3606b13de76e6bbe5b3e324e0552bcbb";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/et/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/et/firefox-107.0b9.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "6ed6e4fbb06db113a6bd1653c3364676d99723b2196a5b49faab0579590aec7d";
+      sha256 = "f201c1676d3a7531c2a239c5f79278507da972c376f17653554a230c365a63f4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/eu/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/eu/firefox-107.0b9.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "8247acad9f17641c22b2def64f57a95d190ab62e89c06f94081bbd55c93b3aeb";
+      sha256 = "88393f69d7f41f6cea9ff23fad774ff14184499c132ab9daf3b1ff0fab595058";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/fa/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/fa/firefox-107.0b9.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "095a153f56b903811d7a0c9f02916dc31ec483294e51c0509dae54c180e55464";
+      sha256 = "aa0a49410695885f5d5a99650922c6b4d2637c5507d0e983332a3ed3c7f4301b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/ff/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/ff/firefox-107.0b9.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "2d19578ad729800b7909be7d161c9e3fc1cb62067077b83b81e28ad53b8d14c6";
+      sha256 = "8f495bb9c14f47e2c9828dd20fa91b6cde5fec3e278ea50cd21116baff6974e2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/fi/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/fi/firefox-107.0b9.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "cde8376e308d09c44f4c8b38830fb7bf60f3ab04ccbf03caa9d3962f5e796551";
+      sha256 = "c51c3261059a365ecd8785a48201cb59011efda24388c553cc76d7834ae08de2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/fr/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/fr/firefox-107.0b9.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "418b60a44ae495b137bb34fef9d488c5566a5c9c9b6a25417fa6e27652abdccb";
+      sha256 = "08a3ffa8e03ebbf8e2f814d682e7814875ac844f7bebe928049de1ae0ab5018a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/fy-NL/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/fy-NL/firefox-107.0b9.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "0d12989afbfa27fe866c66ce7da166f9a3df5a134c87080e69abe66f99accd56";
+      sha256 = "7a4cf93bec3fc86dbe2709b27c1f264a1e316e380ab04d4d66517755f0de863b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/ga-IE/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/ga-IE/firefox-107.0b9.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "cbaede536b00c991ac513f850546acee1941ecf98491463b9907d7c6598d4344";
+      sha256 = "a8101bbeb8a00ed611bf4e670c0f49b4cbd0ae46aa063210d2b39e06d1c9b1e0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/gd/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/gd/firefox-107.0b9.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "3f203025375634e1481fb1373dd006120afcd5eca65a3a18f3d8056b117a1ab2";
+      sha256 = "cdf9b52e93a84594458e13661d2cde649a6b7001d3a5b31619b0e75f01ada8f5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/gl/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/gl/firefox-107.0b9.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "f9a5f45f80f99f6517136668d485a3471584445d72a21975cbfbaf4cc0a2451b";
+      sha256 = "6f9c35bc3b0cc24c24cc35c1d3f7a9c6467cc1670aac4d06366a12e5d83e0054";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/gn/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/gn/firefox-107.0b9.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "6fc1c9c31e989b652556940d771702ed8efce7b867fe500a7505ad86d0f5ddef";
+      sha256 = "f864072d648ba2c65527d8959529aaf669b4c7d809cddbc13466bec07d565da3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/gu-IN/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/gu-IN/firefox-107.0b9.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "fab389c57163cd0d08ebc54ef23a4097e2c579d6f5032c9da098e0013cb87383";
+      sha256 = "da2b9782d72dd90ddd07b5c8bc3f236edea5de6844b500d59c46a792268fea0c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/he/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/he/firefox-107.0b9.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "aef8753ca5aa2160c9fb89d413c4ec75976960f3af0a2b73c6c72db1c6228e77";
+      sha256 = "c0a764c4beb2cf80b855957e60146b219f55d21f66b0d9bdd5cdb6407eb9210a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/hi-IN/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/hi-IN/firefox-107.0b9.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "eacb5f7783cd785ea1fec8cb6dcd3792f306500f727f1308fc241226ced89b11";
+      sha256 = "7dce018cebdc611df784c44b402a1a651ae37b6705ff586307a00c301444e680";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/hr/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/hr/firefox-107.0b9.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "30d89c75132c1ac94d60a8abf3bda2126e0be6c8a0f232e168eeba18838a3f2a";
+      sha256 = "9109f2de571169e3bb956799c13d7f051537de235720d06d422574cc2e190e73";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/hsb/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/hsb/firefox-107.0b9.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "ebae564d20800aa98eb4f37df49f67438542dd5d9fdc2d86a8e5a834cad43290";
+      sha256 = "90350658065ef477695de5d914dc52ba281f8c7391e4f696c88419ff1ced46c4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/hu/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/hu/firefox-107.0b9.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "086e81341cbadae866659080e4809df0226188df63da909810592b02ef5a7c65";
+      sha256 = "24154681d63cd159b477fe8b71015f78e807ac5981434c52bb112ffd0b78befc";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/hy-AM/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/hy-AM/firefox-107.0b9.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "67331c458f68d9695ed17309a3d2049996aaceb593a4bbfe16ffaf4624ac3083";
+      sha256 = "8640d2546a751de4b6391f7ad82f1ce25e7be24d9d00eac1521ec138b27bcd06";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/ia/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/ia/firefox-107.0b9.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "e6df1c50081ea7f4c99efee9b15481f467fba9e2ac0a4f4a9918d7c9b44f0d85";
+      sha256 = "385beb332d252bf030b2f01a28f6eef99aded89c0d12bb30fb3a7b192ebff8b4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/id/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/id/firefox-107.0b9.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "6ff8341300ec74781de1610fd7c014b8f6d986679e23961cd404d80f6fcc9bb2";
+      sha256 = "8e0d8a58a74752c82db369a2dc9131f420caca8f6bd895a015b22971cebac393";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/is/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/is/firefox-107.0b9.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "91baeb94a70fe1bd3153e14a8a08d553d8bf2185ed0f121c27b0b1f6abb8d40b";
+      sha256 = "4e54090a91c3aeb6ceb6379fd8c0e4482bd83973235ae6127ba9f07fff392576";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/it/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/it/firefox-107.0b9.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "349287a8828c81275ef5b8beb538f1b3dc023a5ba89065f9ea9c5494739d9998";
+      sha256 = "15537017956686f5fa7aa4d0f7e03666ddb5dd174a45c2102253c3e4f6183e2a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/ja/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/ja/firefox-107.0b9.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "19d1a479bf55bcc0afa40a702b4c3f8c943cdd8e678a1b4f1911e0c18c31c338";
+      sha256 = "62ccd8504e78ef520153cd6e939d129447e474d5d6082208fad19ab2caeacb4f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/ka/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/ka/firefox-107.0b9.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "9bc0f0da2ab37c0c94bdbef63c80a063a80f4f7d341caef13afd579f52a6dfb6";
+      sha256 = "6a1ecf4c834953bbfc135cbf7b4bbaf977ec88917d7dacb361c9a46df4253ced";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/kab/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/kab/firefox-107.0b9.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "c6c2b8bc77704941135a65d185746f38b965540a9a9ac104d85363ecfafef87b";
+      sha256 = "ee31d4db88583814e8c093b74cee46d36ab2f5595efcf0c89b096f3eb41dc2c8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/kk/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/kk/firefox-107.0b9.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "39f23a865c15f3c61b9d33e22a45c53a7c112084c4f26192f03430387c6d910d";
+      sha256 = "3134a73eaa3ea7b63b986df9007cab41927239211d8b6ccf8559ae5cc41176bd";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/km/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/km/firefox-107.0b9.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "d3f00a2e82e8ad95716082b63e14142f5bb2bb4a34ea95027322cae65d9d1927";
+      sha256 = "aa2c336739c86095ac9096e41f33024750aeb22ea81a229fb72ebb2521579d9c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/kn/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/kn/firefox-107.0b9.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "c55068255ff3196a98de076b74f89a0c1c63b3235aa5a55ce967e2729715349b";
+      sha256 = "492a094b2bd9dca63bff6e3d5a8a065fa9f69ca8bbbf72b339a5e8468d787e50";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/ko/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/ko/firefox-107.0b9.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "12b476eea13b7e9d853571428865a30c92170fbd19126d930dc82d3f7360f494";
+      sha256 = "f028a4bd71ba04473c97e9a82889c351c88e60d5e417b3f130f42540284adb73";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/lij/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/lij/firefox-107.0b9.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "dbb157817d78bb23e8bd9c9511524e64775ed0c4db5a37235cf8af0495c1a33e";
+      sha256 = "139d520bb1d60746ce182af6190d6f9a468f0c9c08d94fd4fba938cc237cc344";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/lt/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/lt/firefox-107.0b9.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "33b1046501185048a6a27ce181a05bdc103054b921a2d11eb1485715fe7b5277";
+      sha256 = "c095a85748064f7c1b420561676b87db0c0e299083f3b91f17abaa7361af690d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/lv/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/lv/firefox-107.0b9.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "30e4f908ce07f1cde65bb3260e5aeca1835e8069abc2111d67565c4d1ce2eafc";
+      sha256 = "abef8cac24688637da6e2bf57c3d8ad84d061c9c0500d6ade9a0e447d998edd6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/mk/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/mk/firefox-107.0b9.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "1e8ca562cd0f638908c6dfbf04c368a5ae41ae511736d5e10bf1d0762c95ff92";
+      sha256 = "ad67d4bbfc76ff7c35a2c33205c4890fff8f955e0a325aca0998666b766f84af";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/mr/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/mr/firefox-107.0b9.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "027ddec94f782f60eff8376985473d95b41bcea8f568bcd2fcc9f08d08e00985";
+      sha256 = "a8ada8b1336f809010a8765f94aa53877a8df05b0bfd5ca3bc050941269f58e1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/ms/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/ms/firefox-107.0b9.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "5a9a33acbfb3d4353b78afdd1fc691cca34bf524096d8bb97d2ab27a61ec5c94";
+      sha256 = "e9bbae9bdd930d5b623c30d0085e1572a6069650d3f695d95a4ddd136260240e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/my/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/my/firefox-107.0b9.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "69435e3d8f0419121326a52312f91822b40e8a69aab898793dbd62117e6a7e48";
+      sha256 = "b2a62b8c38f287135874ff7c63df66a48172b93f48085c38a7bf99ef7d788ab2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/nb-NO/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/nb-NO/firefox-107.0b9.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "e5e90621bd9159bcd6f952f090a80acdd3ef0bf9a5509a8692ddb581bd3f681a";
+      sha256 = "fb9352cf1cb309538f021786132081c2219505d868e5889af138cc794d46f4c4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/ne-NP/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/ne-NP/firefox-107.0b9.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "dc7cc6cf6a1839ffb960b9bc15214d1493a515dc5920aaf0e96db919aabcd94a";
+      sha256 = "0e46622ba5f562ef8609f77754354e8614d464b8b05a8ec57d9afe4d724bc9b5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/nl/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/nl/firefox-107.0b9.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "3597de37e0003de52193c40fb829c8c7051b0e03a81cac6e067d145fda176308";
+      sha256 = "96d5af3ab9753e7fd182d94076cab889a749d5b4684cd94c46ef863403516fff";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/nn-NO/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/nn-NO/firefox-107.0b9.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "d26951d5d9f674195805add539d1060d07e3364b98801e3d77be217cf1fae76c";
+      sha256 = "bf2bbdcf7b7b734fdfad845cd51514ea5d529a30f487d0ebc6631fa133e549dc";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/oc/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/oc/firefox-107.0b9.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "16e5509fe548fba9e275fd69e3e773b4203684608542d9f3ec1887845d96d80f";
+      sha256 = "a1dace30cfaedcaa2d3ae6b2cfadc5f646717b134bbb780ca15920d903fa49ea";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/pa-IN/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/pa-IN/firefox-107.0b9.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "9b4872966ad61fe8f228a1f02bd47d87115c87591a139c1422a538610004599b";
+      sha256 = "3c9272845ecf03b477faa8e424e6ed91edb5972ae7d12749951bd6bc99f5f9ea";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/pl/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/pl/firefox-107.0b9.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "fca3e486acf75e5157525c5ecf2b72cbcd04418e5f5d9620548124cd7280e339";
+      sha256 = "013875909c5d604eb7c0da6a86253b6c2144b604765a60129b12af0a2619abf8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/pt-BR/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/pt-BR/firefox-107.0b9.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "fcc5745171b981a5d24f33aa4566e9af3231f52734f8b7bd0175be663f0811ee";
+      sha256 = "70b0b0dd2c09cb5bbaeceeaec7a9dc3b1398ebd0fe57ac78e0cb6109320a89c3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/pt-PT/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/pt-PT/firefox-107.0b9.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "097fe7c76508c3ab3e95672cef1c6edb240e9c9a694dc20b8d46e2cbe7eb95f3";
+      sha256 = "7aa222aab2459d2b760f73241fd17991cc383855dcb290aa9e5368ed8544daed";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/rm/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/rm/firefox-107.0b9.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "2ae3dfe23a587f9e9b5025ebe80e64ca4f983e641919ce655a08ab7edb308509";
+      sha256 = "fa757433e9126abfa094b211ef8b4389673bfe0f6fbb4709250fb0a7d3faf949";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/ro/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/ro/firefox-107.0b9.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "902b3d1a5fc0ef703e4ebcce31ef0411ef4ed03b51855da4c4250116d3cbfb47";
+      sha256 = "a955c51bb4c2d6b0292a2a7dc5c56df0508dac685bae09e620960678fa1dcf18";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/ru/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/ru/firefox-107.0b9.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "de3346a73c6172166051513084155caf72320e67512b0bcaf3678def4059ee7c";
+      sha256 = "ba84b6c4d1d3eb41da9d486d34f0d9b6286f162b9587aa572b17aeefe8a003f5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/sco/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/sco/firefox-107.0b9.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "abf7dfd8f3ab5749be0a14c6a364f6ce75b54bcac8cd1d4cf9d9b0cd3c392b36";
+      sha256 = "e859e8de8186aba80591da6c2a47cc4ec1ff48fdc9fde6d24d4ff5304063fa6c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/si/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/si/firefox-107.0b9.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "381b16b51099c938cbb4466684b47fb87671d530822224a762e43fcb9d97d083";
+      sha256 = "98d731c72494bcd5f1a52a04f8f11358bca0e66e43f6f46fc8353f1a8fe577ac";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/sk/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/sk/firefox-107.0b9.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "fbde7051f53696d17e1ae7664886b28d02667f210e224dd7181897ed83274b67";
+      sha256 = "cb1c600cd02b101eaabcca079da9f7a93d0d8c0cf22abcdf0cff0fd6ddb44e64";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/sl/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/sl/firefox-107.0b9.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "73cdb49023074922e1e7cfe9f8fb40d7813d00e8ec56098adeace4fda692771e";
+      sha256 = "72f9c493592af61d614d13eac2b720955a6eefb2f15f8d8ae4fda7ec55d46f3f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/son/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/son/firefox-107.0b9.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "4ecb1306a36a9f5748036f6be51f3c2233bd0e30cc83cc57f7bd25043ab28e9c";
+      sha256 = "7797f3e9614b44f95d4769dacdac0f89e04b03bd058a9029cec7a9be6c4f4e28";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/sq/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/sq/firefox-107.0b9.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "d865f54a121b2c034709e5f08592b3797cde73b8edb5b7fbb76983b33b310041";
+      sha256 = "e89f48aa57c12eea6bdc501e51081b51c32ee39328a14355a8df97113c5e66d7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/sr/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/sr/firefox-107.0b9.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "9e9f820699595322de3e7ae8491b09344abb946eb81c664ceef3ab53a49d1f3e";
+      sha256 = "c8c92f2ef7a95dea220347efe80b21ea614770669773e1f053b0a8f292a44447";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/sv-SE/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/sv-SE/firefox-107.0b9.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "b416f862b181a174e72f2819a04e61ad1a16a23b26e06d5752543154811ffe88";
+      sha256 = "826b14f184e1462723f838f73a1f3007f95ae662a0f0b1132d17cb75f3211803";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/szl/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/szl/firefox-107.0b9.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "a376307555f76375976deca3af214eb9f3f123c313c65dc634a4d46b0845e405";
+      sha256 = "50a0314fbcfeee232224b4660053d6380e2474c9af69238ec9496c7a0ac83bee";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/ta/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/ta/firefox-107.0b9.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "6e52291cb940ec04f9e5cae4132929471e44931c885157e7b76016a0102c056c";
+      sha256 = "681dc2309bda68bdc50a322f607d288d2cc1b0fa102de29298aaf0731f327888";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/te/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/te/firefox-107.0b9.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "9062f19d6efdd81fd9c3acb0d31e622b70020ce0f0f6a24054b6baa1bdf1093f";
+      sha256 = "003542c90d840a3a58f2f54c04d6c5157cdf677fc9ba7ecebd869b468193d083";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/th/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/th/firefox-107.0b9.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "9703ad684d03f59110ab9422718bd17a95bd967f3654f9b25b9b4fe588eb7982";
+      sha256 = "8d871cb994f172344022915214abe1392525489f0391e53356f8c8ca84fb0cf2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/tl/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/tl/firefox-107.0b9.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "cbdc5b49ecb5d2ab2758383f2474f01407225828e858e124612fc91df876e8cc";
+      sha256 = "694943d1109d0ddc08a3f03aac45add7f5721e11b3d2c45cd8c70ca0283273b5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/tr/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/tr/firefox-107.0b9.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "e6a236b26fe19b9d23e8bd2e2d1fc922292bd0b38a66e19c44a4a0b0c3bcecec";
+      sha256 = "646ec0f570e4e89b73d44f4e25b522ce9c0ce7528a69ceeb527bd0ee35484653";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/trs/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/trs/firefox-107.0b9.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "fca60b2e299b842444160d69869be811d14a9ba11838c3ced841ab464c3011f9";
+      sha256 = "560963c920c298374a05f59cce006ca86db605732f95e9e756626d28f2e3f716";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/uk/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/uk/firefox-107.0b9.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "d33ab902ac9001bf0b7c47ec813eec10a719b387ae7f096ccb228a7dab52f009";
+      sha256 = "f68cbd33fd7aef2a8a9a86e98dddc3400f124ccf6987ee8592815d1bad3e64c5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/ur/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/ur/firefox-107.0b9.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "949a4e21454acc28fa1262de13c512807be9c7e33251ce70f59307568403d20a";
+      sha256 = "3ac86fadb880a895eff24dd6514f4d63fefdf74cd728407289b403d66ae19c3d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/uz/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/uz/firefox-107.0b9.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "5be012849a38c7b434e1b39eac3cd7d3e92ae333ee7c5740a208bd4b204793b7";
+      sha256 = "f6debc624fe80a6e513c385b3fe040e1cc800362b222476eb11b709953c413b0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/vi/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/vi/firefox-107.0b9.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "678c124b44d76a381fff3603ea7ab2b338f753eebb2f506af23a28efce529e80";
+      sha256 = "a03f2738c7bd9e80940a93e44624f73ab3432a6d4ee4933cbcfb710200587533";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/xh/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/xh/firefox-107.0b9.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "d1d255a67b59aaab9ebccc9317ab34d818b5d5a3d6ad5545f0608b4ef4d05a74";
+      sha256 = "ca741221d67389caaefbf728a226acffaeb7812ed9c4666804a6e8f09f1100ca";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/zh-CN/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/zh-CN/firefox-107.0b9.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "57a0052a120f96d11a53f5886219eff613d0c35be6e458ee997df69343bc3137";
+      sha256 = "b02103d3720f9bacefc7d8cab545f8dc38275f4c8c9645cb5e29eebd22de2f44";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b5/linux-i686/zh-TW/firefox-107.0b5.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/107.0b9/linux-i686/zh-TW/firefox-107.0b9.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "66b056399f4605538c2a6a4fafa5976788e4c7cb58f453395c9a7398f559b2cf";
+      sha256 = "72f39277303b3e2e3be109b02c4b116613c71e9529efd98d2fedd52c744b3720";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
index 9a286b92a7e7d..ea6b8aa63f024 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
@@ -1,985 +1,985 @@
 {
-  version = "106.0.2";
+  version = "107.0";
   sources = [
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/ach/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/ach/firefox-107.0.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "a95a15867548160d795cd1ecb56ae90b7aa9c7db6f15d5cae8cdb522c471cdd4";
+      sha256 = "2a451630b033a04be5b342710881773566efa77d75bea65dad8245f9f5dfade8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/af/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/af/firefox-107.0.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "00d2e72c8317c8cd88520836589aebaaa97eb161e77ebf874d0b8c4395c8a5c0";
+      sha256 = "dc10746ce96cfd3bc48a98edea5575b06e4e5630acd26875182ae7f70b36ce09";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/an/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/an/firefox-107.0.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "628f5521bcaf38cdbaf748f523daf1a881fcb37da1cab7d7045841190ed70844";
+      sha256 = "72b88a955f2b669b45dd6ef02b8d97dc58b07b14985eb1f62b4a8c3f574fdcf2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/ar/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/ar/firefox-107.0.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "15ae1a91abc73bddaa0cd6050a9fd4ed5bed116efc269bf086d40fc6b7d9e66d";
+      sha256 = "7e1e58addf79cc916701fe5a7275a07ab236f002859799bd2b9b7a7a65564077";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/ast/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/ast/firefox-107.0.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "b9d5c9e81c4ed5e13ac4c03e8cd8a7678879b96ec5b7ed3be246a6b3d9885136";
+      sha256 = "4553f6fec247401cf9121ca053873cdeb5d14a72376030703e6d710203f6a0e8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/az/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/az/firefox-107.0.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "a55f10740870877967a526164ffe8ccb5bb4fdce3d94844656e169f2e5e7471c";
+      sha256 = "3fbc89e662ec15e98d76fd2581bf2af54abeaf7df267b2632cde5bed00743207";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/be/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/be/firefox-107.0.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "dc0d2d3e5cfd38a6792ae32b83eae236f2d69ca38b7909014cfdbe437a7baa2e";
+      sha256 = "08a7df701f51020fc0739bb3a6c01b0db7192771294040d8daf770c9655f4674";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/bg/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/bg/firefox-107.0.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "0719c8d93c132ad4c0e1ca3fd766eb9eb4ae4a717c007d6a67e61f3f24baaefd";
+      sha256 = "11b16ae4041d6bf7cf71a8d5ad1b907156898b236d3d1823a72d3b9670d3dfa1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/bn/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/bn/firefox-107.0.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "e15d4412acefee301cae865e5832cc874c1ff5bb848a14e5ae7a7d9e1b08a11f";
+      sha256 = "98519a45f46c5da7eecd1d34b952a3476e97c1b60e29e1ca6d1d10f65fdd4da9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/br/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/br/firefox-107.0.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "b420bcc5cb164ff7711cc140cc848a1651816037120ac8e0769ccf2c7d33002f";
+      sha256 = "599522e92731cad2df9feb1723d04720259e431df948200d0e8e4c5f2261256f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/bs/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/bs/firefox-107.0.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "6f83923e2538169e91d75534bb2ccd18e7d9d5a2928ea0c156572644e50c3d02";
+      sha256 = "b6d5a9bf10e53060409fe7a0e6cb6d10c9afe44df0bd54d0b443831077927ea6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/ca-valencia/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/ca-valencia/firefox-107.0.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "6bbb1c08426d7cd8965e641cb682ab3c5fcb91f2a67c017ccdb7145084b83150";
+      sha256 = "9d5dc9fc10a71eda2b84b86326113bb16cee089008c5c016cf3a50e4b8f27e8e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/ca/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/ca/firefox-107.0.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "9281bda763a73ecd6152d2a3d35508dbcd0f1eeb9f346add142266105629a2e5";
+      sha256 = "4581973d7e88a1904c9305413c0032d5dd0b0af77eac6927352100b793ff6706";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/cak/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/cak/firefox-107.0.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "69065cf7bbe58b24f06202ecdf10b005f2da751528b447492e50b6b8cdd19f64";
+      sha256 = "1f71c61385e32645e17ca7f623deb142ef3e5245cb50b7099f424672ce4c5e76";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/cs/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/cs/firefox-107.0.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "657bf102caa80c87d77610ef41933f4690c9c20f937678b38b3db6203b2d1a71";
+      sha256 = "d37130c0fc1c53d58fbc733e6a7149fef026c9ad65a086da940d193bb0e7e3b9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/cy/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/cy/firefox-107.0.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "e2080798d42f3067d0f0880cb391b5cbabe0ec8bef54fae40d02c4833dd3a876";
+      sha256 = "317a537fb797fa452e3e2cbaf4d930ee63fafed52c778d00573baa2c8945973a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/da/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/da/firefox-107.0.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "09918393e885c564f495ed22a6f417c5224fb781892d084d2509651769cab99d";
+      sha256 = "76efa965c7fff30db4df8a6a675681c13c4f64fed2f79b5ba1014ae46a88c92c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/de/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/de/firefox-107.0.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "a33be323b31c8d9f882a920537f2ab2621e11c3d029a8d121d717527611c73f9";
+      sha256 = "2d086ef022ba6f4626c6ac7be77331c3047ad48254abcf3aaa050414ce6fd791";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/dsb/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/dsb/firefox-107.0.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "32fad47a2d1dd6b63ad8f02b33aca3aa1d807b6944b0f602ff3d807f9f49655d";
+      sha256 = "de33b08420e87d82f483f2b8f978deb9a60255b8da27c293484dbe7c57f2e20b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/el/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/el/firefox-107.0.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "9e01a4bbbd9181840f1a06ba740b76495e350dac97bc96b3ec1e7cfef406c05e";
+      sha256 = "b67bf498b792f31aa48fa6fb4223788590393a795dd0edcebde41858e1bf7428";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/en-CA/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/en-CA/firefox-107.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "74408046e004ed3929a025ad633247284a7e0882be7944b45869356e6f015610";
+      sha256 = "7cd9bc900313cf4f03fba7a92826b6e346003abd1a33daa11b9a02ba8b8f42f5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/en-GB/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/en-GB/firefox-107.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "38e421e36a84fc50942000a5af4158c925d2a3675dc8a5114e736d33db527e72";
+      sha256 = "d8fc7d76aa7e4fc94818d13db2fa3af28d8497370f602c40b7b4038b66095c8f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/en-US/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/en-US/firefox-107.0.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "4867a211001cc289fbe8ee5eaa04f72691d9a61e44f7c5ddb339ba8a37501bac";
+      sha256 = "6eff8b2938267bb0dc4018012764c19d25d36c2d2709582ae225a2db228c0472";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/eo/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/eo/firefox-107.0.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "9c18807ab6bc451596ddf83640ac916cae7f1fc6dfb70f4893cc51552cdcf5bd";
+      sha256 = "501c1b84bfe461c5c2a5ffb1fe9075007372d50747e7c36a50b9c66e989ce4a3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/es-AR/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/es-AR/firefox-107.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "7e25cf4a75e1ddfe8e9b793d675bd74790234f58092c42f8901093c1e963b4c8";
+      sha256 = "042674ce9c62a0206a7fa41f4f07cf6b7c180dc61b9cd689d53ce82e002bc776";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/es-CL/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/es-CL/firefox-107.0.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "8952eefcfea95e60954a4c97c2d8cfc3e542548c91221924ce5b4f68c54bbded";
+      sha256 = "0c47956ac70fe8c86311146c1321031de09c777d50d7b35cdac3d343259a74e6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/es-ES/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/es-ES/firefox-107.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "66e59163dd0ea4f156d71e3742b9adc1f22f5de1d1046e8b761988784a4df756";
+      sha256 = "7feb69963702a79e1d9f818cd337779c95685a7eaaf012313714084950ea1930";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/es-MX/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/es-MX/firefox-107.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "be08a87f8eda8845618524112a53cb427272e8365dbd637267d500b23258deca";
+      sha256 = "eb7e8bd32223f008a733466c2d0dcad8cb17c2c98f40949d33cf30560d521115";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/et/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/et/firefox-107.0.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "0d0660e2a7e5c4c17afad2a68f2f0d262f1fc8366d877b441eb0fd18450e57db";
+      sha256 = "8f487b5631c5e428b54e66f42114fa62a271ef0617c98390b871138de44854d9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/eu/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/eu/firefox-107.0.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "ca37cf5bc2efdb5636ea6ad654a64d73a285c46544d887ff8abc38fb6778ee09";
+      sha256 = "56aa549ef38bbaff49441243c3f1ca21b4f456626c9e03f49c20aa2033d49015";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/fa/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/fa/firefox-107.0.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "445dd3b89c33b15e935b32a84e711859c55238b384b3ecb443f9093a4201906f";
+      sha256 = "761007d74e8b4594a22f317c46a80d53369e9256c5672732fb4b6ca17896c910";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/ff/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/ff/firefox-107.0.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "6d101c69335026ae36ce9193dbd27487c0e6f47a3199d276263a523d71d302eb";
+      sha256 = "61c00df22b958ae750d04771fff7e6734def889476a4edc391c39a71b4630e50";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/fi/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/fi/firefox-107.0.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "267ea3695844ff090b5ff0a53d16bd5bbd6c7726485096be643fb5ba20e51e7a";
+      sha256 = "bc8b1d966a89297b3dd8577fe3bb8e133e8aa6dea8755e8b4f5d2726ad9f3da0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/fr/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/fr/firefox-107.0.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "74ad72a8c00681707efbe993476a26571ed90e7ad4485d91b9f39d8b89ecfc18";
+      sha256 = "f602101ff956ee0fb119adf897fa3f009a4b85ddf827eb3059d9978f4a7e3721";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/fy-NL/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/fy-NL/firefox-107.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "f4623d18d7a63afb0643ccb7d7c3e1d93704bec786cf192561c463b9c6ebd33f";
+      sha256 = "76c13619dd72a2276fd95cf103f62e4fe8b497ba846d8329f17191ef025bc74e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/ga-IE/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/ga-IE/firefox-107.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "49d0044e38634a531334b356975bf4f023ab0161bb926c6ac7a608adc0f863f6";
+      sha256 = "5f39fa70a66adeeba08de27e74ab52beed8afd79accbec5095538e6e3728b782";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/gd/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/gd/firefox-107.0.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "686f456dd0655f6047ae0e44be3acee9655f2cc51964fc9aebdaaf9a30c12e26";
+      sha256 = "8c1e7297499c1b138d25be3d7c1d5f9f2adf1c962ee744e1a01bd9e21c5101fd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/gl/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/gl/firefox-107.0.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "b4d5ece230195e2f9b21640a924b74d93cd6da609ab7364ac3be82f49fbcd3f1";
+      sha256 = "68fb8d612c175912c6a788ad7dc587e7604910010f484181bbdbe690fa24510b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/gn/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/gn/firefox-107.0.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "a8e1079a2dc93d6c653f9ad423d554edfb8a85d8edccb00d0819d38d55096239";
+      sha256 = "316b4c596ec8c4ef35dd1a4979f27a827908f8abb5c8273f14cd4369de676c9e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/gu-IN/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/gu-IN/firefox-107.0.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "4397fb92b09bd037af12d36cba3dff684673d62b9e9c36ae9774ccb6901acfc4";
+      sha256 = "8da4544ee6ecca5553ba527ceac0a952b5ed1bad14be529f03a43ef9fdb5e3fd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/he/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/he/firefox-107.0.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "bb7d3e2ee215d73b0cfeb65aee4b4acbcc9524806fe5ec5ae5e7449456c841bc";
+      sha256 = "28f08bc46bb7a8a610a261f8a7c4904648298b1f433bd4f35b26b6e4b12719ee";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/hi-IN/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/hi-IN/firefox-107.0.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "03eebd1be19a3f2a6f4b869e2f6edc245c6be9001d99c645c280c09a35b7ed7e";
+      sha256 = "2fe944bddc1c92a5dcc468fb072231b4a33dfd74e7aef73f78d8d0a9c0b0116c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/hr/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/hr/firefox-107.0.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "6e17c3970a6af1ee74a04ff87886a309176a1f830d3bac1af7df097abcb1bc27";
+      sha256 = "7a6dbb737d766338165472a462f30a03d9c42773dce1564488e43def3a9d36e1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/hsb/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/hsb/firefox-107.0.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "b8a8c4444cf5761daf104bad3e7e75e9bfd5fa5ceb3558176a4bb071b62e996f";
+      sha256 = "d85fc4a13990cb8cdb48a58eaa9cdbcef4c674223d3fe88cc3536e3b15102927";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/hu/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/hu/firefox-107.0.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "12ea9f3811a0b37114cd86821261e95438011438dd10a109fe8aaf625db45e7c";
+      sha256 = "6f9b3c7174f94ec27222a5c2a8c7ec635011ce76155d4baef902354e3cd3e4dc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/hy-AM/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/hy-AM/firefox-107.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "971ec09c1904c6670266b82e2079f14e6643e628688b1b901f2b0a162b891edf";
+      sha256 = "cfc692f42801af6999c765a31ae8dc1213f10f27e59d240127fc0e3d074a75d3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/ia/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/ia/firefox-107.0.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "4f41904dce35a44ca6387bdf254bb115e3f2334bbed68c3a2ccc965b6b9c7410";
+      sha256 = "5e96e9ee72a3fa8eec48d466056c7cab613eb0934b068b54fc1bf16397ceab01";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/id/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/id/firefox-107.0.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "2ce89ec7c303034099253792717099bb7452e9bca62dc6930102bbecb6795583";
+      sha256 = "aa79f2496aabe9a7b294c405732e59dd2a60f1889cfe52c6616d88eea7f28de5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/is/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/is/firefox-107.0.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "651d29de95edbf3e789259134629eae2cd0d6ac756ea602e133a9e7f7a7c4534";
+      sha256 = "ea72f659ad4a490fe93143459a2f81ba3bf71ca3622adc6aba93f94c23095d3d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/it/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/it/firefox-107.0.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "d9eaae70584e1d2523f0e10896e2f943b034445b24590151d83a11d10b8d6d80";
+      sha256 = "9eb6cc0a3825f596be5a439df88678f2fb313ab0392078b4db22cdc26166e2e1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/ja/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/ja/firefox-107.0.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "27ffa5b43fc50b04ceb6bf8d83c06dc5eb0c594bdafcca5dfa3fa2911d4367c5";
+      sha256 = "d5a5259613c6999ee1f71a1af4c4159fd9907962eee6ea71e3c1bcd4b2777cc6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/ka/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/ka/firefox-107.0.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "b2458fd9e59a863ed9b2fc27df76c9d08751a4d8a38a7b75391ad7429b6007e6";
+      sha256 = "d98f0a730782c401458e8916f18d2dd20edc5fdc6cead007ae12037e4562b2be";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/kab/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/kab/firefox-107.0.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "5ae2300865c9b4259dcb0ad0c04ce7ee20220412590c14bfc0fa3f3fe6f499bf";
+      sha256 = "1683775a306d9b2fb6f1bfa86b2807522548ca05150ca36cbfac75444e15ffa9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/kk/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/kk/firefox-107.0.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "18d9192ca60825e69e2ff2f20b9d80e15841b4357a15bfa1772b3dda1ac82338";
+      sha256 = "a9b8d21b2f58dfa7c35812dd4286843f063e3ee25bee47f480057d90824bde68";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/km/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/km/firefox-107.0.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "2d7c01f03a96679cb89db9006a16e8860ec66637c8ccaf442f11bd3546640cf0";
+      sha256 = "faceace9fbbbd5220975a930107f667aa8efb9094c1bb1959507b5ed0d843e79";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/kn/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/kn/firefox-107.0.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "d86317c4e6e1c8401408e7ae6604d754d398f0f5c4ae98ca1ae31b56e3ef932f";
+      sha256 = "b2c16780e3c0d989dddbb19fbf3f5113de85016b758042a15b7be3f81844a8dc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/ko/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/ko/firefox-107.0.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "1e95325f28b3819ad65ff0349d56960c64bbd01a10a8a1686fbb43aa37cb2099";
+      sha256 = "c16799429500a083fc704a5bf9675bc179324cdbc3a6945fa987f5bca68e324c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/lij/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/lij/firefox-107.0.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "e51203491e50b3fdd4fedf222de92530d0f643a4073da840a656ebbb6afa4814";
+      sha256 = "b9c5e8d8689faec2d4f2a4f5d1535cea6f9272e0cb66eac14d35d8f0f1183eb5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/lt/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/lt/firefox-107.0.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "149a79f50070461c71725c2fa07177f660a6fb3bffe2b7f143def76cb3c35ae4";
+      sha256 = "d8e072e694eda686778169c595f0c43907c86ebf55a5a2f0431616fd985d1a5e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/lv/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/lv/firefox-107.0.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "bf19016f98ec6d300b6e7e1bddd8f101ca9367d886c8365d17bb44df1fbcc274";
+      sha256 = "5141ecf8c81a7041845fc6219b3437f846ecb316980ecf91e166d476b8e2de33";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/mk/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/mk/firefox-107.0.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "663ef98d22e3ca66ac9c339ec5805bbe940aca63b1e321fb6fcc03bd26d1c949";
+      sha256 = "c71769e96fd0ea9c001f12825d1aaa9547c7b15be87ec5e8db34ed7e25233eef";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/mr/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/mr/firefox-107.0.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "a207db0ddf400cb54edaf6992a47e4bae65afc0262534fa37e5c4707abc87d5d";
+      sha256 = "9e8eb99c481fa76a71313bd99804c0ed57678a0d3879dba20961da9ccb728744";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/ms/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/ms/firefox-107.0.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "8d1abd8672750bd881b62f2fd4ef7b3247a63cc1ded01c3c2ce991614b522996";
+      sha256 = "881013d91d5760e6d8c2dd3d15d249e1aeda207573cab647a9712a7da50dbb3c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/my/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/my/firefox-107.0.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "fdf33de4e57d28e603a1577ec855be4626fac1db2ee9b73f5272729858a6dd4f";
+      sha256 = "af48084437b840ee42d5c9f09f6cd650ef782c6c34db60c7274ac6a4ed62eea4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/nb-NO/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/nb-NO/firefox-107.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "1818f104a255c9dffd1e6bd8538cbd30c5c341711cd240335e317e176a696c71";
+      sha256 = "31a9306641cf3121cb8e5f68f25f1d82e1e4735e10e29ae3751a00e8760ad16f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/ne-NP/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/ne-NP/firefox-107.0.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "d38d2dd5faf44450fa64f415c360688c7acebfe4cef06dc89c8bac66455f64a6";
+      sha256 = "4a551c857f8fc223e1306812d375e6d9674b9b7bfd22b8a6921b46d02efe3f80";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/nl/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/nl/firefox-107.0.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "5331aae4ab2dae40be77cb7e6a6a01f9c76e76c6a291d63ca2f344ed59ca615a";
+      sha256 = "02a38c8c886ca07239b1135e3e5b008b2087d7ba5a11e1540da9efbb80f588ec";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/nn-NO/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/nn-NO/firefox-107.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "a79e4a6cea928c6d3ea0c0f555d1e6eff5213afc84202a582416d3b6ab2ff9f9";
+      sha256 = "86cbd70d40fa565b548576abd9a73636dd1f4a36e1713e40dfc707cf6c831fe2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/oc/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/oc/firefox-107.0.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "eec2e9932a84a9604b0dcf049d28c41c6d7bda994b0e11c16293b977b1b65c89";
+      sha256 = "5381d573a77300452066b0ce17be33a60b516df9476a3dd3bf7a2c6598d17cee";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/pa-IN/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/pa-IN/firefox-107.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "0c85aed3085e28f1274dd09336ae5e577febfc9c9322187cb98f7ce2b077013d";
+      sha256 = "1cc8138ad84e82ced5d0cb0eb793e1242427eea0f4dd302c6e49029b11df80c7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/pl/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/pl/firefox-107.0.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "8562567e75385657e7ad682b5e9d2f6624e9569788e4c572a63f051d7a58a573";
+      sha256 = "99ca0f34bb39d2b9c991b2d83b25f536aeace183b6e2c4fd7778e75dec587278";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/pt-BR/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/pt-BR/firefox-107.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "a8645f76303929ddf2dd090e1ab58ec90fde03bd030a98f669a60afdb4d16e80";
+      sha256 = "1fc6b9afdd9152846e0aa8aff840a27903b21a94394b11a807fb434381bc3215";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/pt-PT/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/pt-PT/firefox-107.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "aab96db900f43a32866fba9a5cb7996919155046e5bd4090a633aa842fb13829";
+      sha256 = "343b3fb22481202a9dcac3174e954092847be9266a17c1d7ca5f0b164bffaaf4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/rm/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/rm/firefox-107.0.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "b310207c893c7d304d358e9b8cec9d94596b4c937158045afb0e620ae8b7926c";
+      sha256 = "ea08447f73af2e851b84dc20ca880f0d8bfc90465454cedce269650670796e30";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/ro/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/ro/firefox-107.0.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "f18c3ff90f12195751faf4c0ad40d747fe459880f1ad2e0d2bc25f0671afe3a2";
+      sha256 = "71f4c360fd0557b543d031c38d1748979afe84a088bd142c9cefbcd430571ef5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/ru/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/ru/firefox-107.0.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "564b7750a35a85078335dc9b6f161bcfc62aec37732c251535c1b3e5414130a2";
+      sha256 = "9440aec707fcf6f9e695d1a0a7d7eae1193a244f4a30b597662bd54a1c2eaab9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/sco/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/sco/firefox-107.0.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "24f797a7e3bb82cce34c273a4634576288b98dedaa87303bb1138fc6cb3a0ae1";
+      sha256 = "c491ba9306f4dca1ac40a25c33f8644215641633f7b7cd2e1e0fe75027032f10";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/si/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/si/firefox-107.0.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "1422779ad86ae676fc7c6260c744d9e2f719550d6290794e047027603991cc42";
+      sha256 = "75a9a25cabdc6d62340d08ecc91badd6b133584659a3722bfbad3f1b6f399a7f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/sk/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/sk/firefox-107.0.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "6ebe551cc3b405fb9faf3f0ac592577d8ae70b43b959e690a509adb2a32b996a";
+      sha256 = "a726e151493e9062da11c48bc52ea0660016fcaee5fe1b39c4808850d8fad088";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/sl/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/sl/firefox-107.0.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "93acd1a4f81e649056125a93d4b932ed6dd73349589169782d5e69754bca8641";
+      sha256 = "821c59416725224c985b677f34dd1af7ab029af8e205afd849baaa9a34fc2808";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/son/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/son/firefox-107.0.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "296e7bb53bb44ffd7036dcd3cb683a6250e58ca8cca92a08d849fde8ef5a9aae";
+      sha256 = "cf3a37253e16bf388677070ea8c6bbab4b27ae26ee4b22d9330e25d7ec8b0691";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/sq/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/sq/firefox-107.0.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "654693d85aab899cc0a7402654808bd1f1de4d662e89fc6911a1d76576f1eec3";
+      sha256 = "581771fda181a9d14ef7e367b858ed49568916df40095457178f02254da6facd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/sr/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/sr/firefox-107.0.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "35dded72957eaf0f41732ea266815b3e999306c89b09a34e469eb1870ab7e0d2";
+      sha256 = "505e692da01bc04e3993f2d3e4b942789fadfbbff859fe70d04c265d39aa632a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/sv-SE/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/sv-SE/firefox-107.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "c163a543ab17a2455818961f7d05c21fad41aa1f058e72a6933062d9aeb46120";
+      sha256 = "21e35632a85ad4714c0cb0003f1eb23fbf87ed8d6b81f1e70eb86088c36f6e59";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/szl/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/szl/firefox-107.0.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "89db4c0a6374cc59c79fc2c01f4b4708ee8945173f2d479c9f1bb874fc563f3c";
+      sha256 = "68ea55cfa9cb0ee43b2a681dc41b7abc3ea46f56718b8c867fc2fe2da0326b58";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/ta/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/ta/firefox-107.0.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "31a37e0bdfbe64bed707d638e99966d188cc19b4281373332f28897a23f1a823";
+      sha256 = "b008660e2b48ffb0abac1750babf2c7e73447212628be0fa1490e07a12afeb05";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/te/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/te/firefox-107.0.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "ed43c3bcb25393c45fec508c2b7a186b831644c4dcbbea13b04d292b7e9d3d37";
+      sha256 = "d1425a2765d92b62a6673d3402644f6eaf2f829acaf73a3dbf7520179cb8ff78";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/th/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/th/firefox-107.0.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "749bd07bb5688876a622929fd7c3d1b564b177e04c107f47ae3194a19d51c9e2";
+      sha256 = "8728969cdd19bc163dc5617935d06890dadbc2d7fe827c5db6e13a682b06b2ab";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/tl/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/tl/firefox-107.0.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "e3b95230a96f2d21816652b3415606d058e1f61047fb12c8df8fa7faefb55fc4";
+      sha256 = "e73184ce150e8fef78de03999f5cd2226e77827ee62bd16e3f99aee721f78fbe";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/tr/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/tr/firefox-107.0.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "6794ae7099b774eda4887f3991539ce1b332132da962664db665ba6c15bab3a2";
+      sha256 = "b30d471530b2458d4a9431c085cbb2c7059a0d26e95620c62c6411ebda27e33c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/trs/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/trs/firefox-107.0.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "69880d46bbcbb7e1232f5d7591a951c04b0f53e949769eacd3dcc9d6b7e1b41e";
+      sha256 = "d23e84dc92f83d97e28a880c5da8df646d2af36ad6844cd9cbc3e9a9c917b3f0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/uk/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/uk/firefox-107.0.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "44412afcec90e901dff146d7d7ddef253da1a287847ec0133c4403c1bbfc38e0";
+      sha256 = "cce237fdde76bcc0762e676b2a6d014975be6cf9c00ba377bf67a7b28aacb18e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/ur/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/ur/firefox-107.0.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "3dbdafb2cba4978141e59c34946eec2c85eee70d6af26a7b3a6f49f42ea21461";
+      sha256 = "a056306bde59f3bd8059b00abd1d173d9efbcbc59566898a2f1b5413c597a451";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/uz/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/uz/firefox-107.0.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "0fc317d758bd97acd29be9fd558c617ef2ba6b05ea191037f6186f4c2872a58e";
+      sha256 = "2f6a24d82a77ceaa26f294ac2b4bb96010b86cb86afaa46f4ebb31fe5a300225";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/vi/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/vi/firefox-107.0.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "937fe371888bc6ed844117658d2cbc229a7bba72ef5976ba34c8d78b42315953";
+      sha256 = "f6677a27e8a69fb50163417027ec619be269f6a23a2ea4ca1658a2a53c1c1d72";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/xh/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/xh/firefox-107.0.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "862fad90ca797a244194728aae810bc6d71e597c56a8b278e279a61c1573e3d2";
+      sha256 = "2fbb5974e9829cbc9e8f6d022c4f9676f454540c84c4a322680f4380cb5bb7e5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/zh-CN/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/zh-CN/firefox-107.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "45f36aa501abc63f03acb631e8cf473f0a85533b2eb7b37ceef64844388167f3";
+      sha256 = "1e41dc9579bf523adf03474e207bf40f02d2217053f339dc8b265316170c0125";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-x86_64/zh-TW/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-x86_64/zh-TW/firefox-107.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "9c3f1a93c2f6681639e9341d9e94f14e095d69bdcad9491fca35a8b96aeda507";
+      sha256 = "7068be87c3f0dcab6b5892b37c5696e847260d0a04c61565fa54d1dbeb5c70bb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/ach/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/ach/firefox-107.0.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "ff7cb6615610da86deb65b637995c169e169883e34bf04d992978b34ca048c14";
+      sha256 = "210c4ce1b2a19df8a31d7a4b5e2926e0d72dd59e6c2fb2d23080722c71833cb3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/af/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/af/firefox-107.0.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "751a67836897f9ca51c6bc05e14d9324d8338f8eb0336a9019279dc880a363ef";
+      sha256 = "b8950e8cd9576a83b3bc5d9831ede0f7ceedb703a7abc81ef834a7742c27d652";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/an/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/an/firefox-107.0.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "9be574726561492a29b979cb2fc991f71ae2c81da12539d8ced43d49414a7bbc";
+      sha256 = "14d35c3b433d3787cf12d0311e8a78fcab55b1782fba0319b69447fd9a4e9c8f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/ar/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/ar/firefox-107.0.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "81805067f99e3b36eb5978b2e1f2ff8a593f7f2b04b34899a23a819e445a3aa0";
+      sha256 = "4a3ca5c74b2ef8d046c97f6abc16864a519cbbbdc7803b0bc3ae1ea91bc3932c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/ast/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/ast/firefox-107.0.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "4aaefafb226f2332f863ce27ec660183f70dff35be2fbb9de92366f2ee5a7210";
+      sha256 = "2f4691a658f960ef52b62b44d3a2e21c313c11ce202d7e8e0c1329e9d1e26943";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/az/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/az/firefox-107.0.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "65876b65e0081365133f0b56cbd4c0408489f9e4774120a7174b468d33e63a95";
+      sha256 = "0310d9e0ce156ca8dc6f47a3c784a9283b68570e7e6b398e98e72add304f12b0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/be/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/be/firefox-107.0.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "777a7acc4908be97fb1bc2cdce4a6556411544e3b08e12459d9768b97c780be2";
+      sha256 = "ba89cd37cdd5e3103604b040bc6f421c60a32c3ec080129bd7892dec717641ee";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/bg/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/bg/firefox-107.0.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "4a84f6843fe96ccc907e81446a903f00bb53f895d1908890ed986d7178b6b2a1";
+      sha256 = "145a753d9ae540716d922ed1ba39d98eaa4bcd24ce414314a7b9e483e7e55911";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/bn/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/bn/firefox-107.0.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "082a903c25901df9c7ab899e7a64f873e54b0c2dba0a29c5cd28483e8811a2ed";
+      sha256 = "5e1736927a3c8f17cff0907f07312f615ccb33beddcd043555730a82f76b37e8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/br/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/br/firefox-107.0.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "096c99a050d60f5922207dd56e4e63ab979567393ac2b65815974594e4f05e98";
+      sha256 = "8bc5b9d988e4ca045a507ebc6f69a93c708492b8cd33213b09417db8a0895907";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/bs/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/bs/firefox-107.0.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "94b8768283c4670b04e40dde655d2ca065e37accdac0e7e80bb55c95c95ab411";
+      sha256 = "640bc5d6502123aaded43cf3763c6f2627a8139aca27c91007b9bafceb03dbe7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/ca-valencia/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/ca-valencia/firefox-107.0.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "bd3600ddd2e05aa75e18fc73bad52fb60cc2a4f2fbf73f6fa539e79b22796345";
+      sha256 = "79ebc9b51afe4542658462df8d682ae192c26e8fc5ec703425d5bf3da81cf4d9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/ca/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/ca/firefox-107.0.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "3c6e4eaffd1b54ad058e7c121287cae86e1352a981962b142abdd4c49c8f1070";
+      sha256 = "4ffae1ed0a335dcfc6e5893e83634b8730f6d61c3aa0fd979fd1b9a9b7c2cb5c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/cak/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/cak/firefox-107.0.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "c2b86923123f53fa1b2b897945b17e30d5392b2105b20db00607e59e44c4f46a";
+      sha256 = "a0c62e889d53a5d36afc421f9447df9a144ac81b2c4712d850441472fc3c5312";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/cs/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/cs/firefox-107.0.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "44a3ba503bb5a7ef7d2573025aa099e264e72aaf8030bf9e7d6c3ceb82a2e68c";
+      sha256 = "0ce1aec8f29f993208b4e19c270d43a80a8bb6215a6bf38d9cd1bbd82642be7f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/cy/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/cy/firefox-107.0.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "0304334256b8d47d8a816852b78d3c29af989b7b0f2d7940e95b452fe104a5a4";
+      sha256 = "6f97a471ab266fa37007271dd8940e48d82397578e1f7462b5702c7768ad62d3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/da/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/da/firefox-107.0.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "b37ade9536c34da27c8c91b22be1d45f165eadd84940f985d8497335751673a6";
+      sha256 = "611bb8c4f093966366583b32f267f631d75cd1b68f46052f05dbf070b8436d99";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/de/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/de/firefox-107.0.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "cad1df16c66cd4562162478f761ced90e4a1d12295e0ca463b9696cc0b008217";
+      sha256 = "cfd7d3e0178f9fb8d4f9b29620fc43868a9b562b4b524a9d1b58e2d9f89e82b1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/dsb/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/dsb/firefox-107.0.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "f95273407309ea09d910ca24b6006058cb0c9bd64d882b3e8f65fd35ae02a372";
+      sha256 = "c7bd95f5ce3819f88764f7a0be9fbf23004607c569eeb5cfd848d4c7557436f8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/el/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/el/firefox-107.0.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "db63e09480f68a581826209a4b310a9613ab6ff121ad9acf8af08ef5ca62cd4e";
+      sha256 = "3da804cda7efdc32fd86dfd127227c486d4df1801812e81080c36a0f0cc01b03";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/en-CA/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/en-CA/firefox-107.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "fcdf6248e9af0e06b03dcb8d58c7bf83549c9be3870263493af726350c6132b4";
+      sha256 = "7ee55f76cfa2ca813f4571f7d95a2b2226a04b5106beb2648fd1dda3b3d570c2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/en-GB/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/en-GB/firefox-107.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "b16c35485e553e2696eeaf1edc5ff694ec305aa9d2f275f220a7edb07da63ea4";
+      sha256 = "a8f6e6be6d86cd4710fd93c5ca93a7e591f473f451906685b5a48fabb115c7bb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/en-US/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/en-US/firefox-107.0.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "c38e91cc105f2823867edb9f3fa1859dd9d2c8becbf233b92ed6c2a1f3db2098";
+      sha256 = "dd75d20f8e27f38c1776708ca6be9d19048c107342632a014e9781418098c27b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/eo/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/eo/firefox-107.0.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "7c3772deb11133747b044f3a6154cc2bc5473b4aa7b62592b5468c0431a9142c";
+      sha256 = "367235749f0d48d0fed119a998d1376ec9404437792c83093ec0591a71d9ba9d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/es-AR/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/es-AR/firefox-107.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "1d32eee719c6b3935ba7f9ad9ff09093ff023ab19b272b72062cbf2d600dcb46";
+      sha256 = "b7607fba672ff36aa52325fdfbfd46ae7c3be9d519802246d6c804ce74a72021";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/es-CL/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/es-CL/firefox-107.0.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "542c76e72142bda3e0a30f6fef089870454a4e386c610a56a87f204af8e79333";
+      sha256 = "9717dd09b2e891bef898cc25e571d23157ed0b08667e35cf0f563c18f72e91e8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/es-ES/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/es-ES/firefox-107.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "96b6f287f95c21dc101f0a9c4777274bbd048273137144c8af0d3192d15d173f";
+      sha256 = "785a8c94a101fb025483b9bd42ab5709f4d082325194c25891659961d45353ed";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/es-MX/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/es-MX/firefox-107.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "ea9ab69d3845a3ca5c40f075322f396157df1fedf06f7532338edc0e56f00347";
+      sha256 = "87c9be7eeb7a3aa6a361846087cf957e513dbf8d5d2002cc2ca161e0b9e440ac";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/et/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/et/firefox-107.0.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "5c6f31f84dfbedb6353f7ea1ad0b30afa6026cf097d1250657f7a53d4bac8f63";
+      sha256 = "54ac1194940450206ba304126f2ac54a24b5714521164f8abcc332c1ce61972e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/eu/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/eu/firefox-107.0.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "31ac00373c5b6225c196cb2d68777e84a40a7f45acb662c8b91348cdddc4f005";
+      sha256 = "35fa2afdf502685d4f045635421852e037727335206a4aea27837e747a91f59b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/fa/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/fa/firefox-107.0.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "e9685352aa8739d9dc74eae40207cc2aa29789eb38d8b8c41b9d548009503748";
+      sha256 = "48fa84d473a2c7befe92f7964cc15260f1719d1c03e8628d58179c0aafc9b63a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/ff/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/ff/firefox-107.0.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "79e74b29f58825fc0f52a238c5427ebf17f1d2fae8832c938e1e9d9a8a56ad74";
+      sha256 = "0652b6eaecdc77a1b7d04eae1ca96186a272f16ea98ce614b03fddcb2f87f938";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/fi/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/fi/firefox-107.0.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "87c64b2a7cdbe464971707fd815b3f85e3b474f697cd2930c3d1f7ab9967eaba";
+      sha256 = "bd71abc232630a4270786eb26b89ca1e3fabe7e6788c4094bece058765866406";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/fr/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/fr/firefox-107.0.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "6641d4ab2f34c498abb20f6ae24684791f40d4c52ad3be8c3b36551fce8a2633";
+      sha256 = "f8a52bc8668a4f527c9a44e9bee248997b8b95635e7768de2503c94cb10c8b68";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/fy-NL/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/fy-NL/firefox-107.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "2674a6ba3e045cd5408e6784751e0df57cbf3d8da78aaa2c96936ef469a4961f";
+      sha256 = "a3f1841786fedf9d15ea2132db037d16a3153812c000123d25ca3268ffa534b8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/ga-IE/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/ga-IE/firefox-107.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "a2719929b4a7df16afd24f7cd34bec351ede6b9b6813cf2a4f8dd29ca3fe4e55";
+      sha256 = "911b5cf7e92c4b50831be058f367df06bf5e1347ac554cfe9f2ddc7b6a7535e6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/gd/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/gd/firefox-107.0.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "2cc0d55e9e850036d5a5e2e592259e7ec7ffb5ffd55d782a2fc7f75420ca0e0b";
+      sha256 = "4aff8e95be98d8883e30d9eb33c4f825b5470462c64e7b57d1bc3d58447df1fe";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/gl/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/gl/firefox-107.0.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "b718dd6e7a4a88bbc0a5a0bb3adbeb3934e91c0d20366a4bd961cad5672f617b";
+      sha256 = "be348ab0ed669a338a86c567447d9233658ddb095a1e2ad684ff86e22d47ac99";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/gn/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/gn/firefox-107.0.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "41f96a2050cdb77c973b836d5210deaea06d3a442e4fe26ff5507d5d46e56cd1";
+      sha256 = "5b52f6b247274aa880d151fd3c82a20788b0744caf9c45672b096fe0d7975e2c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/gu-IN/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/gu-IN/firefox-107.0.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "16bd5d310065f2212b1d82899a6c3b96a084b8aab5c056d513646860eaa62466";
+      sha256 = "15ef4cc817f0944f1fa3803395e529402f01db315f3fb71f3c7036cd747a6350";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/he/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/he/firefox-107.0.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "8d47900c31dd65267f3b69df8774d7c9d86adf61e6a24c71b35b94e7ef014eef";
+      sha256 = "7ed988c182e7094d262190d1881f8da18d378560d48f59ab758fb5d8e5c6e828";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/hi-IN/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/hi-IN/firefox-107.0.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "2c1f46a2fdfd3197759b90b2d8c99338222fd58cd6f954c611ec6b134e84b560";
+      sha256 = "4b0f931789ed91053776f3dc568cd4fee22b241ab8185e8193a86f6b563b8d41";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/hr/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/hr/firefox-107.0.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "a9ec34c078067af32321c0961a0884611f81db6ae5326cfbf43d365971d81907";
+      sha256 = "fd8715969187d533f63028ecdbd2dacfad66e9a12f869b1b6a57cbbcd0a43930";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/hsb/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/hsb/firefox-107.0.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "7049c623624bd2a77a60a46cc26d03046c10e6b9fa16f0f15c3ccc1280c60a0f";
+      sha256 = "aa41df09dec18a120df021a95a95f6a145f5ada90abe794863279a58933c2498";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/hu/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/hu/firefox-107.0.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "3e16bd536849182fa379940fcae415d7f3c4301a6db4a69ae3d18fa577a3efff";
+      sha256 = "79fe852a1f9bb99b39017096c8f6c7ecdf7e6fb5e021e6ae9a1b179ccfff9d97";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/hy-AM/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/hy-AM/firefox-107.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "160a129e8b45fe510e48d5af2d47784918abde95742b2af9e7c07021289afbea";
+      sha256 = "1c1544a471208d08e28031f4df6e04c35aae7810c9f47e0aedfdd577cd32b0a5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/ia/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/ia/firefox-107.0.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "a6a4ad785e368af7297cd81de7b8b84ad71e23fec7dcf29e98dec4c4d6ee0113";
+      sha256 = "983c97b0a87f7d2adacc51f7c219483ea4a6c067e00181f42ac6d967437112c7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/id/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/id/firefox-107.0.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "e20fc5d397d6164daea9eb4bd7b0ea867d5e4c92f5214f4f17d974206fb873b1";
+      sha256 = "b38d37af58610347d0892192f15363051cd2dd3e7841969c858222553343a607";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/is/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/is/firefox-107.0.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "c3702a5614e26c8ed18c16b5da89aef502c4782a9d186c66b7f469a98a979b1a";
+      sha256 = "e779cccb57ac31375563de4eb17d83ec8e1a2c0b4be8931c0390653905a7eec2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/it/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/it/firefox-107.0.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "4c46c918b41626b18276d5cc4aff99d5a0c2198e35d914382f9d291d6dc80f87";
+      sha256 = "c5bfaee77e8db08471ebb85d71dcfd5839cadd9742dabafb96150b31f8b4ed95";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/ja/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/ja/firefox-107.0.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "514f482e47b24036797e1d099ee0a74fec299db6cd94e9054876281b3563060d";
+      sha256 = "b18a393ee915e2fd90ed9f7439c8e826a6c140bbbb90de6c5a24c2134b397973";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/ka/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/ka/firefox-107.0.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "37b633f8ff1c59151de9e19fdd8ba605605ce8cac08ac390252a2d5e6c152ae5";
+      sha256 = "6590ac4b5124e552b9ff92ab9dceb2a801327e97dede4b798e93ded5b17c3019";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/kab/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/kab/firefox-107.0.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "ecf398fffea7aeb1cca615a07b7019a3e6502560f51ad64faa7d605aecd96bf4";
+      sha256 = "90be62c9ab6260d630782223b4023aad102316138a99451bd76a524eed82856f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/kk/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/kk/firefox-107.0.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "2ec26c7b974d7ea99dbee18cebce959c47be50351b381cc4c4d2ae5d2af92fca";
+      sha256 = "41e6ce96227c213c835d184a299d38e4ef761cc919d0b83a57077d44b9686c7e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/km/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/km/firefox-107.0.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "4f3dc1496fb295ea8183dd0a1fae88059a96bf6747c2eef2cdeaaa8eb5b17018";
+      sha256 = "47584b80836e5bad13230770f01aa79cad3f8645c55e65af504d86f182fb1e55";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/kn/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/kn/firefox-107.0.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "c535f442a0ff34c01644ffeb1e961c1bdd6082c7e95a0e1bb96a11ceb7c59b35";
+      sha256 = "b5f7ddd26856c7e18aa6e426be337d062e2c37f4606336aa2f93d9b0e1c5d572";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/ko/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/ko/firefox-107.0.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "c557a384b02898a2c833141ccd1caf8fdfe9fb6664ebf309d2707d1f6262c0a6";
+      sha256 = "20a23f3a72e67a5b3922bdfba8861ec9eaa338e822ffb1cf1187db7db25774c5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/lij/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/lij/firefox-107.0.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "13a613ae949181b221b82b9fe92e42ff23add007a3440368d8d5300e074abfe7";
+      sha256 = "e5629b3d053578bffea07b2c71e2bf7c0914d98cd61490e0607ddec7e5ff39cc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/lt/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/lt/firefox-107.0.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "fc068c98c2afbd044dbbbf39af2d757886d65a6194cab353bb49073e05a82e7e";
+      sha256 = "dc2052684031e5ce391bb660aa79f1c877d47f2f6e92631ec067c3c6f1f315fe";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/lv/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/lv/firefox-107.0.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "e83039f4b306c38ee2562fb4e2ec74d8d92806b170a70fe61a840a05e0fcb54e";
+      sha256 = "b541de50e2395bfc49a848d0d04d6fdf99fb921ce452dea4954b35b72e7fffee";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/mk/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/mk/firefox-107.0.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "7aa2a1d7210d306e848b905a5d44ee0d15bb54e8f12e4ee23a5fc7953404ebbd";
+      sha256 = "f302b5387f5f5cfdfeb95e3a52b42dcf4abee0a77def4ae296de72325427c18e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/mr/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/mr/firefox-107.0.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "4566542d424952d3630c410c328cd4c146f840978a5d37f665af3d0ba332f473";
+      sha256 = "10cfd2d5acd8769cd5b26048ac4870104b5c210b1ae74ccf7159cec8bc02bcb6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/ms/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/ms/firefox-107.0.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "a8b25cb78b3493e3c3fdd1af81042aee8b820473bd2301a4f0a4ec38caab1276";
+      sha256 = "ceccfe52a071f5d10b7e6fb2ad393597b9ec915184315ae8b1e48147d972ff19";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/my/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/my/firefox-107.0.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "9e113258a9f0bc79f97db9807de6615a447c35d243db543966eb0e79f6f15932";
+      sha256 = "98beb6874d31aed5b747fdaccdfebd1fda78607ab5af5ddf945660c7f15f7a8d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/nb-NO/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/nb-NO/firefox-107.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "17b2d98d2cb497328106f77be1dbd53912b41c066b1a099f8af64d67f79f13eb";
+      sha256 = "b0262b927cd384c9467f163d7022e957efcad733e7b5f691699995fbea0845ea";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/ne-NP/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/ne-NP/firefox-107.0.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "fad578cfbd91b14ff66e06570bd07b5f23e7a6e8602cf3677d07272bad4e8c0d";
+      sha256 = "31b3c9e4b915756709fe05269683b76fc089f3250e4b1ce8ba2b1fde70d3567a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/nl/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/nl/firefox-107.0.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "64019fb5ac2ca70f32ec28e1a54728890219af74ec2758413edc48d9c187eabf";
+      sha256 = "455f4be29f9d566dc7b00d74084695740f37c84e09e78373dae51d5cad7ca658";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/nn-NO/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/nn-NO/firefox-107.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "f56012f01809d3b1b5197ebec59d02635bc1e72f3c8dfbe21fe510cf5daa9f4a";
+      sha256 = "816accf7fc50fc154408dbfacad2e1850728a92158b432ab57e9e4effc08a82d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/oc/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/oc/firefox-107.0.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "547fbccd4497db9ba216ec93c7944a85496b86f3cad5dbc18de25aa1dd67ca6d";
+      sha256 = "ee2a8f89dd345282755f920d9376e273bd08495d51c75b127d7ac365450b2af7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/pa-IN/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/pa-IN/firefox-107.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "62f35e782ce5bd4a35d9610e0ad1193323f90624216aea86e6cec6aeb1ce7eea";
+      sha256 = "8863b188619c6305d35ad00ba6082e20a8b6aac9c0101bef6a52528c7a4e5a80";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/pl/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/pl/firefox-107.0.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "2657ca1eaa03f89eb8e40abb87268fed9189be8a6e8f2926281fa853c762003c";
+      sha256 = "73c0d2ddcaefd7d280d54e959aaf8aea784a9361a8698af1e831bc770f8bd82b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/pt-BR/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/pt-BR/firefox-107.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "3d4ad803deae54f0bba2b6ec94951cdeb2980b7f1c19f57dd9ed4de555d69261";
+      sha256 = "6ec87c3013434be5c893795e6510388ef25059dc220805001bf7a149fe95be6b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/pt-PT/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/pt-PT/firefox-107.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "00fde3c6a5f1be11f92d47ba904f990b58e4bb9c46ab4ad8800ed9081e9adbc7";
+      sha256 = "dc6d7826edad501cc347a1e8442058bf41383cebb29068c2914f38122d0e272c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/rm/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/rm/firefox-107.0.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "d0ecd24e232b2a68c0da03865ae35cde2855163dc5e71b56cac84319af1e9576";
+      sha256 = "285ad81097f0625c9acdf4eca34ccaf864cb17b271bc8b2aac0709ca45ca3c21";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/ro/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/ro/firefox-107.0.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "5f03a25631b4b7763f7bf2c948c1a610e095f2f87ba8fa217f49baae5802a065";
+      sha256 = "e5fed78a63fb031d18fcf56b373a0917a742785401033a9c55049540dcc01114";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/ru/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/ru/firefox-107.0.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "4ba5c10bb06632c63fd42342d6aa3a6171c127431dba6ef878376947ad3eaa91";
+      sha256 = "e0ccbf07c7bf16fbf03c885b62210990513a084cc935001a044d2890ad1ff81a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/sco/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/sco/firefox-107.0.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "2bae09ad0120b77c0ecfe8c9f9db2b6b297dd7867a42836ca27124eaaa02bbe7";
+      sha256 = "7e0c5fd3705b111de01001674e3f8b11ae31398caae7c197a53e81250e51e202";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/si/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/si/firefox-107.0.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "3380c01b1ce07b0ad624fe2872ad5cd8053d2b2d51444918bb6455ccc1947bc5";
+      sha256 = "8756227810d59b4531fe194520e0693400453ea3fc7ae1c46ab991cd81acac6b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/sk/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/sk/firefox-107.0.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "e48a45bee33b8414921dd07380780d8f13ba1e6b923b717659c14c0a4a3da29e";
+      sha256 = "7a975da237adf1232f14f65b77868643d1027d7fe3bca11c09111ff49770de8e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/sl/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/sl/firefox-107.0.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "519a2735c36d182c4c4ed4103132564feab0bdf8afc55c0454bb93779297aefe";
+      sha256 = "4ff972a88113e02024a91d0d42959e3a24c1a0a8ea5eef8373cf7d20f77f09c9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/son/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/son/firefox-107.0.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "704901257ec45996fdfe11ad99eb52eab0573aed1bb0eb560788bd23a6f636f3";
+      sha256 = "0dc7501391381269f8c0481b80d2298e79f256f5159bec05a0a672383feadba0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/sq/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/sq/firefox-107.0.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "0040245c995bd9d51775b102c41f714a9ba77cecdf1169de6214f467f3765a4e";
+      sha256 = "1e462c174ae58dcb717bacbfb5511f823df34910b9294a2e4bceef6952a17155";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/sr/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/sr/firefox-107.0.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "032848b75d881d223c776c51b080b326b4a09e3d7494ed1a4531ed630eafc293";
+      sha256 = "515666a6a4b649987458fb6c32474d02971ddafaeee9dda78ddbae96d7e55a71";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/sv-SE/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/sv-SE/firefox-107.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "7ac309cf2e56bbba5146836569687df0dc024eb0c5bcac50cc536fd789b2eec3";
+      sha256 = "68bdbd58469b9f064f1b43e82bf69db5ae09bd15877e7f599b7c239d7dda7028";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/szl/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/szl/firefox-107.0.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "0d4238828f09d4f2e12083f1ae0a3fd13488d100b0d3660dc8ff480b7a1c4c04";
+      sha256 = "c444bbe063c222fae7502f09a79e09e80c51aae9b4ece871a999e51b85232c48";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/ta/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/ta/firefox-107.0.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "f5f8373c8588e34cc0fe60abfe44cb6e2cae83826fb59c7e65bd7bc4599d2fee";
+      sha256 = "9d49ce0a84a974e6c91e6de54e37ddd8fa12c10f7500db21734c83138a1e48af";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/te/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/te/firefox-107.0.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "e85fa16dd5c780d3ba92d64c75194b8610fa1cb42002a83ccd81ec1b92dd3ed2";
+      sha256 = "0731b02e9d6cb81c2822be6833cf4b3aa463680dfcfbf648fefb8d3cca85d044";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/th/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/th/firefox-107.0.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "8aa714a7ef1b4e884364571e8d54057d33923105e5dff50f90ea965cbfe36a13";
+      sha256 = "ccf4ed6eecf8f06ec3569b808296e195d5791737da917646bae8720bc4a22ea1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/tl/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/tl/firefox-107.0.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "9f3e59cca6c56dafa7682a142630775c2de737491ccc95c6298fe290c06feb44";
+      sha256 = "4e62341fb007d85f698df462c1e9392f07507172d5024f87d6ff235a30c57c02";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/tr/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/tr/firefox-107.0.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "c1457d4ea162643ceeaa644bb10098f44069c87b65188073587599e0a0dd1eb7";
+      sha256 = "fb9c6e4cb10989b8c2035a82676763bde55ae316041fcb50b12884cd1989ae29";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/trs/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/trs/firefox-107.0.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "d7e51bae403116e17acd009bd3302d407c1614c453e9bb0bb6886ee60c45da02";
+      sha256 = "962cb775d8183fd471e21fd827285d5fb2b1b6a114d2564338b8eda95a0a778e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/uk/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/uk/firefox-107.0.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "1c79157df0cd80ec651ab43054ad9064f868d2aeac44e576dd2a08aba083ae50";
+      sha256 = "4d9891fcae30f71f443f5dc261c5c0da246bc65dab0d08300fffe20adfda6ab3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/ur/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/ur/firefox-107.0.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "be045e0336cd865c4882040d0badbf0fe53847ff88a32f975790cf3b76347ddd";
+      sha256 = "e9321b199e7b7be1a9fbf730add917e22d5395950d6a209751201c732655a26d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/uz/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/uz/firefox-107.0.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "eeb222a8109f98aee6e6ceb1e0c7ef4a59ea1de6953f1859fff62de45602fc82";
+      sha256 = "d6672f1f61ae608660270208ff21e37e4ce4d10f60eb539a301b506899896c05";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/vi/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/vi/firefox-107.0.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "be0ca0eeb058c1a7b84d49d66efb04d02a6852f0f77e97d01221a87785ad0449";
+      sha256 = "c1cd0c716fc6f2a4f1fb37a70318a887d92a86050984cd30c7c1afb186ae60de";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/xh/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/xh/firefox-107.0.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "281015f7c01ff64c2dbedc154c401761a9070cd05d4971b1eb22e01edd16db27";
+      sha256 = "b703bebdcc28656a6f8205ffacb691fa04dab808022e33039aceff7cb9614521";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/zh-CN/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/zh-CN/firefox-107.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "6d6640d8bb82f081dbaa0c58b5cc4fe65855d232297c02bd5af1f9712fc2d94e";
+      sha256 = "03b77986482e86075562deda483e003cf2dce6c5512b68bafefb5b3250165244";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/106.0.2/linux-i686/zh-TW/firefox-106.0.2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/107.0/linux-i686/zh-TW/firefox-107.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "c162cb00ad7133eefd88042568fbe74b628ecf70d11b8f50c5259d81477e78cc";
+      sha256 = "e6363101881c6722e3b7018642c921788c0e338aa489077ec39706b779f94be6";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix
index d144db1728681..19e0f2e966116 100644
--- a/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/pkgs/applications/networking/browsers/firefox/common.nix
@@ -22,6 +22,7 @@
 , pkgs
 , stdenv
 , fetchpatch
+, patchelf
 
 # build time
 , autoconf
@@ -101,7 +102,7 @@
 # WARNING: NEVER set any of the options below to `true` by default.
 # Set to `!privacySupport` or `false`.
 
-, crashreporterSupport ? !privacySupport
+, crashreporterSupport ? !privacySupport, curl
 , geolocationSupport ? !privacySupport
 , googleAPISupport ? geolocationSupport
 , mlsAPISupport ? geolocationSupport
@@ -263,7 +264,7 @@ buildStdenv.mkDerivation ({
     which
     wrapGAppsHook
   ]
-  ++ lib.optionals crashreporterSupport [ dump_syms ]
+  ++ lib.optionals crashreporterSupport [ dump_syms patchelf ]
   ++ lib.optionals pgoSupport [ xvfb-run ]
   ++ extraNativeBuildInputs;
 
@@ -534,6 +535,10 @@ buildStdenv.mkDerivation ({
     }
   '';
 
+  postFixup = lib.optionalString crashreporterSupport ''
+    patchelf --add-rpath "${lib.makeLibraryPath [ curl ]}" $out/lib/${binaryName}/crashreporter
+  '';
+
   doInstallCheck = true;
   installCheckPhase = ''
     # Some basic testing
diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix
index 6f9c93b622443..5668e58c74823 100644
--- a/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -3,22 +3,14 @@
 rec {
   firefox = buildMozillaMach rec {
     pname = "firefox";
-    version = "106.0.2";
+    version = "107.0";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "2aad75c05c3398c19842be46dcde275581344b09f0c65b51a630cef201545996ee00f8020f52a0d7b6416d9ad52cbd5c71b8f1cdf47cd18e4abf1ba21f7cdb93";
+      sha512 = "4b442631079a13e1d11223499b1d8daf622d9d84b38898f9084670ddcb5738b73e0d967a5050d5930bf862aa69e8d46ebf6d751ac6d0f075a1d75ff4738bdb6e";
     };
 
-    # This patch could be applied anywhere (just rebuild, no effect)
-    extraPatches = lib.optionals stdenv.isAarch64 [
-      (fetchpatch { # https://bugzilla.mozilla.org/show_bug.cgi?id=1791275
-        name = "no-sysctl-aarch64.patch";
-        url = "https://hg.mozilla.org/mozilla-central/raw-rev/0efaf5a00aaceeed679885e4cd393bd9a5fcd0ff";
-        hash = "sha256-wS/KufeLFxCexQalGGNg8+vnQhzDiL79OLt8FtL/JJ8=";
-      })
-    ];
-
     meta = {
+      changelog = "https://www.mozilla.org/en-US/firefox/${version}/releasenotes/";
       description = "A web browser built from Firefox source tree";
       homepage = "http://www.mozilla.com/en-US/firefox/";
       maintainers = with lib.maintainers; [ lovesegfault hexa ];
@@ -37,14 +29,15 @@ rec {
 
   firefox-esr-102 = buildMozillaMach rec {
     pname = "firefox-esr-102";
-    version = "102.4.0esr";
+    version = "102.5.0esr";
     applicationName = "Mozilla Firefox ESR";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "30d9e6ef04fd86516e2cea3c797ec99af4c96b08576bb3409c0026da4fd1218167f89a007109e1fa4e2571f98f2dbe5ab58a26473533d45301f75b90ec3dbf28";
+      sha512 = "f4e105209c61e9537ddc90afdb05ede0a31caceb9b164d96276c811abbd646d14bc246c00caa386c0b0561055096d30b298329c69270dd085b943bdbc3a91a13";
     };
 
     meta = {
+      changelog = "https://www.mozilla.org/en-US/firefox/${lib.removeSuffix "esr" version}/releasenotes/";
       description = "A web browser built from Firefox Extended Support Release source tree";
       homepage = "http://www.mozilla.com/en-US/firefox/";
       maintainers = with lib.maintainers; [ hexa ];
diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix
index eeb72590df23e..378fe1f4039b0 100644
--- a/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -33,7 +33,6 @@ let
     , wmClass ? null
     , extraNativeMessagingHosts ? []
     , pkcs11Modules ? []
-    , forceWayland ? false
     , useGlvnd ? true
     , cfg ? config.${applicationName} or {}
 
@@ -166,38 +165,64 @@ let
     in stdenv.mkDerivation {
       inherit pname version;
 
-      desktopItem = makeDesktopItem {
+      desktopItem = makeDesktopItem ({
         name = applicationName;
         exec = "${launcherName} %U";
         inherit icon;
-        desktopName = "${desktopName}${nameSuffix}${lib.optionalString forceWayland " (Wayland)"}";
-        genericName = "Web Browser";
-        categories = [ "Network" "WebBrowser" ];
-        mimeTypes = [
-          "text/html"
-          "text/xml"
-          "application/xhtml+xml"
-          "application/vnd.mozilla.xul+xml"
-          "x-scheme-handler/http"
-          "x-scheme-handler/https"
-          "x-scheme-handler/ftp"
-        ];
+        desktopName = "${desktopName}${nameSuffix}";
+        startupNotify = true;
         startupWMClass = wmClass;
-        actions = {
-          new-window = {
-            name = "New Window";
-            exec = "${launcherName} --new-window %U";
-          };
-          new-private-window = {
-            name = "New Private Window";
-            exec = "${launcherName} --private-window %U";
-          };
-          profile-manager-window = {
-            name = "Profile Manager";
-            exec = "${launcherName} --ProfileManger";
-          };
-        };
-      };
+        terminal = false;
+      } // (if libName == "thunderbird"
+            then {
+              genericName = "Email Client";
+              comment = "Read and write e-mails or RSS feeds, or manage tasks on calendars.";
+              categories = [
+                "Network" "Chat" "Email" "Feed" "GTK" "News"
+              ];
+              keywords = [
+                "mail" "email" "e-mail" "messages" "rss" "calendar"
+                "address book" "addressbook" "chat"
+              ];
+              mimeTypes = [
+                "message/rfc822"
+                "x-scheme-handler/mailto"
+                "text/calendar"
+                "text/x-vcard"
+              ];
+              actions = {
+                profile-manager-window = {
+                  name = "Profile Manager";
+                  exec = "${launcherName} --ProfileManager";
+                };
+              };
+            }
+            else {
+              genericName = "Web Browser";
+              categories = [ "Network" "WebBrowser" ];
+              mimeTypes = [
+                "text/html"
+                "text/xml"
+                "application/xhtml+xml"
+                "application/vnd.mozilla.xul+xml"
+                "x-scheme-handler/http"
+                "x-scheme-handler/https"
+              ];
+              actions = {
+                new-window = {
+                  name = "New Window";
+                  exec = "${launcherName} --new-window %U";
+                };
+                new-private-window = {
+                  name = "New Private Window";
+                  exec = "${launcherName} --private-window %U";
+                };
+                profile-manager-window = {
+                  name = "Profile Manager";
+                  exec = "${launcherName} --ProfileManager";
+                };
+              };
+            }));
 
       nativeBuildInputs = [ makeWrapper lndir jq ];
       buildInputs = [ browser.gtk3 ];
@@ -283,7 +308,7 @@ let
             --set MOZ_ALLOW_DOWNGRADE 1 \
             --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
             --suffix XDG_DATA_DIRS : '${gnome.adwaita-icon-theme}/share' \
-            ${lib.optionalString forceWayland "--set MOZ_ENABLE_WAYLAND 1"} \
+            --set-default MOZ_ENABLE_WAYLAND 1 \
             "''${oldWrapperArgs[@]}"
         #############################
         #                           #
diff --git a/pkgs/applications/networking/browsers/lagrange/default.nix b/pkgs/applications/networking/browsers/lagrange/default.nix
index 68e1f3bc720d5..b41f95b0b0cc8 100644
--- a/pkgs/applications/networking/browsers/lagrange/default.nix
+++ b/pkgs/applications/networking/browsers/lagrange/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lagrange";
-  version = "1.13.7";
+  version = "1.13.8";
 
   src = fetchFromGitHub {
     owner = "skyjake";
     repo = "lagrange";
     rev = "v${version}";
-    sha256 = "sha256-WUNDkLKT/AgS5WkBKbVSM5/1zSjQuE8Aq68JLSOHFEs=";
+    sha256 = "sha256-SdncFkMCAY28njw361R70h6gcK0YHSU7AUwf9wzxCRo=";
   };
 
   nativeBuildInputs = [ cmake pkg-config zip ];
diff --git a/pkgs/applications/networking/browsers/librewolf/librewolf.nix b/pkgs/applications/networking/browsers/librewolf/librewolf.nix
index 2d0d11a587af2..baa76488f661a 100644
--- a/pkgs/applications/networking/browsers/librewolf/librewolf.nix
+++ b/pkgs/applications/networking/browsers/librewolf/librewolf.nix
@@ -1,4 +1,4 @@
-{ callPackage, lib, stdenv, fetchpatch }:
+{ callPackage }:
 let
   src = callPackage ./src.nix { };
 in
@@ -6,13 +6,7 @@ rec {
 
   inherit (src) packageVersion firefox source;
 
-  extraPatches = lib.optionals stdenv.isAarch64 [
-    (fetchpatch { # https://bugzilla.mozilla.org/show_bug.cgi?id=1791275
-      name = "no-sysctl-aarch64.patch";
-      url = "https://hg.mozilla.org/mozilla-central/raw-rev/0efaf5a00aaceeed679885e4cd393bd9a5fcd0ff";
-      hash = "sha256-wS/KufeLFxCexQalGGNg8+vnQhzDiL79OLt8FtL/JJ8=";
-    })
-  ];
+  extraPatches = [ ];
 
   extraConfigureFlags = [
     "--with-app-name=librewolf"
diff --git a/pkgs/applications/networking/browsers/librewolf/src.json b/pkgs/applications/networking/browsers/librewolf/src.json
index 7beaff12a337c..b3bc0b85b7a4e 100644
--- a/pkgs/applications/networking/browsers/librewolf/src.json
+++ b/pkgs/applications/networking/browsers/librewolf/src.json
@@ -1,11 +1,11 @@
 {
-  "packageVersion": "106.0.1-1",
+  "packageVersion": "107.0-1",
   "source": {
-    "rev": "106.0.1-1",
-    "sha256": "0dg4dvpa4fqhaikqnyqvxmi84g4gw535rdxmax724d0m6ksjm5yh"
+    "rev": "107.0-1",
+    "sha256": "1fm4z3s0z9shxj8667pnz3gly7jv1kmm1arbn52hq7n52ywykrv7"
   },
   "firefox": {
-    "version": "106.0.1",
-    "sha512": "15f5a65a69e11dd0c463b358cafb5ad0f31db93619b9ec3f89e8c5e14d4d319d9423fe4dcd0dbbcbedc1ad444dcbd8e5e30e483220277f5b550bff6124b66519"
+    "version": "107.0",
+    "sha512": "4b442631079a13e1d11223499b1d8daf622d9d84b38898f9084670ddcb5738b73e0d967a5050d5930bf862aa69e8d46ebf6d751ac6d0f075a1d75ff4738bdb6e"
   }
 }
diff --git a/pkgs/applications/networking/browsers/litebrowser/default.nix b/pkgs/applications/networking/browsers/litebrowser/default.nix
new file mode 100644
index 0000000000000..2158d0bb2f573
--- /dev/null
+++ b/pkgs/applications/networking/browsers/litebrowser/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+, gtk3
+, gtkmm3
+, curl
+, poco
+, gumbo # litehtml dependency
+}:
+
+stdenv.mkDerivation {
+  pname = "litebrowser";
+  version = "unstable-2022-10-31";
+
+  src = fetchFromGitHub {
+    owner = "litehtml";
+    repo = "litebrowser-linux";
+    rev = "4654f8fb2d5e2deba7ac6223b6639341bd3b7eba";
+    hash = "sha256-SvW1AOxLBLKqa+/2u2Zn+/t33ZzQHmqlcLRl6z0rK9U=";
+    fetchSubmodules = true; # litehtml submodule
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    gtk3
+    gtkmm3
+    curl
+    poco
+    gumbo
+  ];
+
+  cmakeFlags = [
+    "-DEXTERNAL_GUMBO=ON"
+  ];
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm755 litebrowser $out/bin/litebrowser
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A simple browser based on the litehtml engine";
+    homepage = "https://github.com/litehtml/litebrowser-linux";
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ fgaz ];
+  };
+}
diff --git a/pkgs/applications/networking/browsers/luakit/default.nix b/pkgs/applications/networking/browsers/luakit/default.nix
index 8656b4aaa2763..4812f69f34e85 100644
--- a/pkgs/applications/networking/browsers/luakit/default.nix
+++ b/pkgs/applications/networking/browsers/luakit/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "luakit";
-  version = "2.3";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "luakit";
     repo = pname;
     rev = version;
-    hash = "sha256-5YeJkbWk1wHxWXqWOvhEDeScWPU/aRVhuOWRHLSHVZM=";
+    hash = "sha256-6baN3e5ZJ8hw6mhQ0AapyVIYFSdmXcfo45ReQNliIPw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/browsers/microsoft-edge/default.nix b/pkgs/applications/networking/browsers/microsoft-edge/default.nix
index 12aeadbca1099..7a9e694214953 100644
--- a/pkgs/applications/networking/browsers/microsoft-edge/default.nix
+++ b/pkgs/applications/networking/browsers/microsoft-edge/default.nix
@@ -1,20 +1,20 @@
 {
   beta = import ./browser.nix {
     channel = "beta";
-    version = "106.0.1370.17";
+    version = "108.0.1462.20";
     revision = "1";
-    sha256 = "sha256:0g9w3a7znc3iq0y27drjv5l45zk8lm0c1djd1r30iijln8a1diak";
+    sha256 = "sha256:0dfmzjfy4y07pqifyzv3rc8dbmxz8rr3v2idanla7jrks0pghcxm";
   };
   dev = import ./browser.nix {
     channel = "dev";
-    version = "107.0.1375.0";
+    version = "109.0.1495.2";
     revision = "1";
-    sha256 = "sha256:1a014jyrk5f11dr2s2mf1m8kfq39rbc5rh0bkmclbwsl83rdfdi4";
+    sha256 = "sha256:1bk7dx3mf020ahzmvr9cdgcn72rjrn2420j9g362vwcl1khyxciw";
   };
   stable = import ./browser.nix {
     channel = "stable";
-    version = "105.0.1343.42";
+    version = "107.0.1418.52";
     revision = "1";
-    sha256 = "sha256:18jnq1q65989xl98j2n3wlim0j00krkjxxnkfx2h7kymqjgysm6d";
+    sha256 = "sha256:1k3c5r9lq3vpc190bzs5fn944bi3af6wjxzwcliy4wzzrb5g0day";
   };
 }
diff --git a/pkgs/applications/networking/browsers/palemoon/default.nix b/pkgs/applications/networking/browsers/palemoon/default.nix
index aa4e5ed47b4b9..3d3339d06b5ef 100644
--- a/pkgs/applications/networking/browsers/palemoon/default.nix
+++ b/pkgs/applications/networking/browsers/palemoon/default.nix
@@ -45,7 +45,7 @@ assert with lib.strings; (
 
 stdenv.mkDerivation rec {
   pname = "palemoon";
-  version = "31.3.0.1";
+  version = "31.3.1";
 
   src = fetchFromGitea {
     domain = "repo.palemoon.org";
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
     repo = "Pale-Moon";
     rev = "${version}_Release";
     fetchSubmodules = true;
-    sha256 = "sha256-qspzTlhK9MRJBsXxmYzl5K6in09LZPvaVc+ibovJAD8=";
+    sha256 = "sha256-oLtCS5Izdk2ImyzKx2IXkzv6pJp86mvP99P0+XIteRA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
index 688d6140afb43..df10fc4742571 100644
--- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
+++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
@@ -87,7 +87,7 @@ let
   fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
 
   # Upstream source
-  version = "11.5.5";
+  version = "11.5.7";
 
   lang = "en-US";
 
@@ -99,7 +99,7 @@ let
         "https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
         "https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
       ];
-      sha256 = "sha256-AOt0PFot6Qh9voqvi5bagW0HLk2kP8b6A2c8Jdv5vkQ=";
+      sha256 = "sha256-K50T9Fe6tMuP1J5gfwK9f/25ZeakQ9vsJi4IOPa6fMk=";
     };
 
     i686-linux = fetchurl {
@@ -109,7 +109,7 @@ let
         "https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
         "https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
       ];
-      sha256 = "sha256-MQrJgdAsNvG+WCx4eeb2UHZp/0LoOIhZZQUKESNIGZY=";
+      sha256 = "sha256-tbL/iTI3vR0gdMcLwOoWlfIDZNefIKA2hfvWKNNM9vE=";
     };
   };
 in
diff --git a/pkgs/applications/networking/cloudflare-dyndns/default.nix b/pkgs/applications/networking/cloudflare-dyndns/default.nix
index 9b5abcbcbf397..c1a9309ca4f70 100644
--- a/pkgs/applications/networking/cloudflare-dyndns/default.nix
+++ b/pkgs/applications/networking/cloudflare-dyndns/default.nix
@@ -1,17 +1,10 @@
 { lib
-, buildPythonApplication
-, attrs
-, click
-, cloudflare
+, python3
 , fetchFromGitHub
 , fetchpatch
-, poetry-core
-, pydantic
-, pytestCheckHook
-, requests
 }:
 
-buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "cloudflare-dyndns";
   version = "4.1";
   format = "pyproject";
@@ -23,11 +16,11 @@ buildPythonApplication rec {
     hash = "sha256-6Q5fpJ+HuQ+hc3xTtB5tR43pn9WZ0nZZR723iLAkpis=";
   };
 
-  nativeBuildInputs = [
+  nativeBuildInputs = with python3.pkgs; [
     poetry-core
   ];
 
-  propagatedBuildInputs = [
+  propagatedBuildInputs = with python3.pkgs; [
     attrs
     click
     cloudflare
@@ -35,7 +28,7 @@ buildPythonApplication rec {
     requests
   ];
 
-  checkInputs = [
+  checkInputs = with python3.pkgs; [
     pytestCheckHook
   ];
 
diff --git a/pkgs/applications/networking/cluster/argo/default.nix b/pkgs/applications/networking/cluster/argo/default.nix
index cefe6b575be17..577e4ba883d1a 100644
--- a/pkgs/applications/networking/cluster/argo/default.nix
+++ b/pkgs/applications/networking/cluster/argo/default.nix
@@ -19,16 +19,16 @@ let
 in
 buildGoModule rec {
   pname = "argo";
-  version = "3.4.2";
+  version = "3.4.3";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo";
     rev = "v${version}";
-    sha256 = "sha256-ST5XVgij1h+4EWLlwdFmIYZ0RPSH5IoTw0YdP0a+Sa4=";
+    sha256 = "sha256-eVd3tH77Z3AlNpMEx+xnOQTELXFeGTLIslE++++Sdkw=";
   };
 
-  vendorSha256 = "sha256-h6Ioy1wBOAOCGcqcLlPyqX5pyx22BIiHKx4ct0HmnyA=";
+  vendorSha256 = "sha256-n8NAxfNZ/q2gdA5N7dTNgvdB549aiRxFPJO4UsfIn2U=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/argocd-autopilot/default.nix b/pkgs/applications/networking/cluster/argocd-autopilot/default.nix
index 8aef3f81af518..e446773233c83 100644
--- a/pkgs/applications/networking/cluster/argocd-autopilot/default.nix
+++ b/pkgs/applications/networking/cluster/argocd-autopilot/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "argocd-autopilot";
-  version = "0.4.7";
+  version = "0.4.8";
 
   src = fetchFromGitHub {
     owner = "argoproj-labs";
     repo = "argocd-autopilot";
     rev = "v${version}";
-    sha256 = "sha256-aC3U9Qeahji3xSuJWuMlf2TzKEqPDAOuB52A4Om/fRU=";
+    sha256 = "sha256-U1gvDv364x7FxuqXIeaiMZMl0324rGjiqs8vtlENAlY=";
   };
 
-  vendorSha256 = "sha256-waEvrIEXQMyzSyHpPo7H0OwfD5Zo/rwWTpeWvipZXv8=";
+  vendorSha256 = "sha256-4ylOLnpvz/aQIoxVz2z69Rq/x2UG91yMmtSHyquvNq0=";
 
   proxyVendor = true;
 
diff --git a/pkgs/applications/networking/cluster/argocd/default.nix b/pkgs/applications/networking/cluster/argocd/default.nix
index 296679e487c52..3885db4b30a87 100644
--- a/pkgs/applications/networking/cluster/argocd/default.nix
+++ b/pkgs/applications/networking/cluster/argocd/default.nix
@@ -2,16 +2,17 @@
 
 buildGoModule rec {
   pname = "argocd";
-  version = "2.4.15";
+  version = "2.5.2";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo-cd";
     rev = "v${version}";
-    sha256 = "sha256-2D9JYQshq9riZsZxFpV10b8bnkg82Jnh4Cx/TSryZ4I=";
+    sha256 = "sha256-xiqxCYGSpsREZyylWJCIbFPPr3jISxD0wS/L/P77BF8=";
   };
 
-  vendorSha256 = "sha256-n6elT6ETOtbZsFqfwMo9d2qqamS8jdrROjFjStNkalc=";
+  proxyVendor = true; # darwin/linux hash mismatch
+  vendorSha256 = "sha256-F5EY1/WWRPBN5fqp2J2mdpIzL1gNKR0ltzSdarT6dFw=";
 
   # Set target as ./cmd per cli-local
   # https://github.com/argoproj/argo-cd/blob/master/Makefile#L227
@@ -26,7 +27,7 @@ buildGoModule rec {
       "-X ${package_url}.gitCommit=${src.rev}"
       "-X ${package_url}.gitTag=${src.rev}"
       "-X ${package_url}.gitTreeState=clean"
-      "-X ${package_url}.kubectlVersion=v0.23.1"
+      "-X ${package_url}.kubectlVersion=v0.24.2"
       # NOTE: Update kubectlVersion when upgrading this package with
       # https://github.com/argoproj/argo-cd/blob/v${version}/go.mod#L95
       # Per https://github.com/argoproj/argo-cd/blob/master/Makefile#L18
diff --git a/pkgs/applications/networking/cluster/arkade/default.nix b/pkgs/applications/networking/cluster/arkade/default.nix
index 204465bba08db..3b45321c6f26c 100644
--- a/pkgs/applications/networking/cluster/arkade/default.nix
+++ b/pkgs/applications/networking/cluster/arkade/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "arkade";
-  version = "0.8.48";
+  version = "0.8.50";
 
   src = fetchFromGitHub {
     owner = "alexellis";
     repo = "arkade";
     rev = version;
-    sha256 = "sha256-3yYbuVx2dZsMefFFNVGivAR4wwXJwsr9XqGiyUKNAMo=";
+    sha256 = "sha256-DPBQ+MisNgVh2DpaIF//fjIzGvfpNYRS4zpYeUVqLwg=";
   };
 
   CGO_ENABLED = 0;
diff --git a/pkgs/applications/networking/cluster/atmos/default.nix b/pkgs/applications/networking/cluster/atmos/default.nix
index a38f6463e4043..16635f17600f3 100644
--- a/pkgs/applications/networking/cluster/atmos/default.nix
+++ b/pkgs/applications/networking/cluster/atmos/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "atmos";
-  version = "1.10.4";
+  version = "1.13.1";
 
   src = fetchFromGitHub {
     owner = "cloudposse";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ZNoucLjvj5nZxIDbzoAXtIx3TAg405+CaKBSLmC1PNM=";
+    sha256 = "sha256-iL8quRwW4idY880aEM2rwXRh6JXIvMzlfBDcz2TgHjw=";
   };
 
-  vendorSha256 = "sha256-j4KvGLnFm3P9EUXxfRgsandKc0lJMs9ntBQacsEha2w=";
+  vendorSha256 = "sha256-pr33Ya6cg3EKIVTBTY8DD0lyTMPF1FcRQK2jdyPiE44=";
 
   ldflags = [ "-s" "-w" "-X github.com/cloudposse/atmos/cmd.Version=v${version}" ];
 
diff --git a/pkgs/applications/networking/cluster/cilium/default.nix b/pkgs/applications/networking/cluster/cilium/default.nix
index 11b72f2603434..9399d5b7fb9bb 100644
--- a/pkgs/applications/networking/cluster/cilium/default.nix
+++ b/pkgs/applications/networking/cluster/cilium/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cilium-cli";
-  version = "0.12.5";
+  version = "0.12.7";
 
   src = fetchFromGitHub {
     owner = "cilium";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-VChonOHnif9Rz0pLg+nGt5jFT4wLIQq/C64zBlP/w0w=";
+    sha256 = "sha256-libZapDj6Y/tGJEXAX3iZH2+pS64dg7IUsgTxT0Z6JA=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/clusterctl/default.nix b/pkgs/applications/networking/cluster/clusterctl/default.nix
index 4106c922884b6..06ca40b7d4677 100644
--- a/pkgs/applications/networking/cluster/clusterctl/default.nix
+++ b/pkgs/applications/networking/cluster/clusterctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "clusterctl";
-  version = "1.2.4";
+  version = "1.2.5";
 
   src = fetchFromGitHub {
     owner = "kubernetes-sigs";
     repo = "cluster-api";
     rev = "v${version}";
-    sha256 = "sha256-NBLkdPtALhlXfbqLB0n5T2RNMSQusYZgr4VkGH7EFIs=";
+    sha256 = "sha256-Cmff3tIy60BDO3q5hzPqSLwjc6LzUSpoorJD/yxha9c=";
   };
 
-  vendorSha256 = "sha256-jPIrUW4el8sAO+4j20qMYVXqvov6Ac0cENd7gOrYj+U=";
+  vendorSha256 = "sha256-jvadtm8NprVwNf4+GaaANK1u4Y4ccbsTCZxQk21GW7c=";
 
   subPackages = [ "cmd/clusterctl" ];
 
diff --git a/pkgs/applications/networking/cluster/cni/default.nix b/pkgs/applications/networking/cluster/cni/default.nix
index 3a9bb84938ca8..3dcf284021ed0 100644
--- a/pkgs/applications/networking/cluster/cni/default.nix
+++ b/pkgs/applications/networking/cluster/cni/default.nix
@@ -1,17 +1,23 @@
-{ lib, fetchFromGitHub, buildGoPackage }:
+{ lib, fetchFromGitHub, buildGoModule }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "cni";
-  version = "0.8.1";
+  version = "1.1.2";
 
   src = fetchFromGitHub {
     owner = "containernetworking";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-vxwNHIc3rFi7HKIEZrBcr7Oxs2iUtFYcfJK7aXDUv3k=";
+    sha256 = "sha256-g7fVeoqquxPa17AfTu6wnB6PQJDluJ21T3ETrcvWtWg=";
   };
 
-  goPackagePath = "github.com/containernetworking/cni";
+  vendorSha256 = "sha256-nH/myA/KdTeFXvmBymXITyx5fdCGnWRn6hNRinXc3/s=";
+
+  subPackages = [
+    "./cnitool"
+  ];
+
+  ldflags = [ "-s" "-w" ];
 
   meta = with lib; {
     description = "Container Network Interface - networking for Linux containers";
diff --git a/pkgs/applications/networking/cluster/fn-cli/default.nix b/pkgs/applications/networking/cluster/fn-cli/default.nix
index c9895fccc9b72..78eee8746c51f 100644
--- a/pkgs/applications/networking/cluster/fn-cli/default.nix
+++ b/pkgs/applications/networking/cluster/fn-cli/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub, docker }:
+{ lib, stdenv, buildGoModule, fetchFromGitHub, docker }:
 
 buildGoModule rec {
   pname = "fn";
@@ -32,5 +32,6 @@ buildGoModule rec {
     homepage = "https://fnproject.io";
     license = licenses.asl20;
     maintainers = [ maintainers.c4605 ];
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/applications/networking/cluster/glooctl/default.nix b/pkgs/applications/networking/cluster/glooctl/default.nix
index 203b0f37a3bf5..0728a03e976b8 100644
--- a/pkgs/applications/networking/cluster/glooctl/default.nix
+++ b/pkgs/applications/networking/cluster/glooctl/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "glooctl";
-  version = "1.12.31";
+  version = "1.12.33";
 
   src = fetchFromGitHub {
     owner = "solo-io";
     repo = "gloo";
     rev = "v${version}";
-    hash = "sha256-t/i1UhPfhT7+HAhVBhZKQezqpFrBrzimUHjIozQeJnk=";
+    hash = "sha256-T/fkQxRcwDYppGpAu1sBg8Oe8dAa4Bk/jt4jYMikPBE=";
   };
 
   subPackages = [ "projects/gloo/cli/cmd" ];
-  vendorSha256 = "sha256-MRBnwpuqYElxA4V1x7F4wccKV3T51RopfT37QUr7G4Y=";
+  vendorSha256 = "sha256-G26BfTdXMQP0U4FDRYkJNfUOGfqow714WPNBnBrXLZQ=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/networking/cluster/helm/chart-testing/default.nix b/pkgs/applications/networking/cluster/helm/chart-testing/default.nix
index 9b399c8140aa9..016eb40745b03 100644
--- a/pkgs/applications/networking/cluster/helm/chart-testing/default.nix
+++ b/pkgs/applications/networking/cluster/helm/chart-testing/default.nix
@@ -1,4 +1,15 @@
-{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
+{ buildGoModule
+, coreutils
+, fetchFromGitHub
+, git
+, installShellFiles
+, kubectl
+, kubernetes-helm
+, lib
+, makeWrapper
+, yamale
+, yamllint
+}:
 
 buildGoModule rec {
   pname = "chart-testing";
@@ -8,10 +19,10 @@ buildGoModule rec {
     owner = "helm";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-b8U7zVvzewSxqX7RG7+FMAVytW4s2apNxR3krNJuiro=";
+    hash = "sha256-b8U7zVvzewSxqX7RG7+FMAVytW4s2apNxR3krNJuiro=";
   };
 
-  vendorSha256 = "sha256-z4hNGswxRMU40qkgwY3n516FiyaoeDaAE+CCla3TMkk=";
+  vendorHash = "sha256-z4hNGswxRMU40qkgwY3n516FiyaoeDaAE+CCla3TMkk=";
 
   postPatch = ''
     substituteInPlace pkg/config/config.go \
@@ -26,7 +37,7 @@ buildGoModule rec {
     "-X github.com/helm/chart-testing/v3/ct/cmd.BuildDate=19700101-00:00:00"
   ];
 
-  nativeBuildInputs = [ installShellFiles ];
+  nativeBuildInputs = [ installShellFiles makeWrapper ];
 
   postInstall = ''
     install -Dm644 -t $out/etc/ct etc/chart_schema.yaml
@@ -36,6 +47,15 @@ buildGoModule rec {
       --bash <($out/bin/ct completion bash) \
       --zsh <($out/bin/ct completion zsh) \
       --fish <($out/bin/ct completion fish) \
+
+    wrapProgram $out/bin/ct --prefix PATH : ${lib.makeBinPath [
+      coreutils
+      git
+      kubectl
+      kubernetes-helm
+      yamale
+      yamllint
+    ]}
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/cluster/helm/default.nix b/pkgs/applications/networking/cluster/helm/default.nix
index 5ec74e95e05cb..bfc05e38a679e 100644
--- a/pkgs/applications/networking/cluster/helm/default.nix
+++ b/pkgs/applications/networking/cluster/helm/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kubernetes-helm";
-  version = "3.10.1";
+  version = "3.10.2";
 
   src = fetchFromGitHub {
     owner = "helm";
     repo = "helm";
     rev = "v${version}";
-    sha256 = "sha256-OyU97zyN7fZMZAD2BEp8TW2z2E9Rl/yeiVkQaJ1GWZk=";
+    sha256 = "sha256-ly48zSsi+dV4te68LX8NtaJ9eLC46sSakExR2a+3b5U=";
   };
   vendorSha256 = "sha256-vyHT/N5lat/vqM2jK4Q+jJOtZpS52YCYGcJqfa5e0KM=";
 
diff --git a/pkgs/applications/networking/cluster/helmsman/default.nix b/pkgs/applications/networking/cluster/helmsman/default.nix
index aa3268435738d..4915b2766ee7a 100644
--- a/pkgs/applications/networking/cluster/helmsman/default.nix
+++ b/pkgs/applications/networking/cluster/helmsman/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "helmsman";
-  version = "3.15.0";
+  version = "3.15.1";
 
   src = fetchFromGitHub {
     owner = "Praqma";
     repo = "helmsman";
     rev = "v${version}";
-    sha256 = "sha256-wKemvUk5UP4LweX9JxbsYlrjuVRgchkOvlHqRYvAB9A=";
+    sha256 = "sha256-LgfYcptC1fcINf80dbOZu8HD5oTrF0tTMQCWdsO3H5U=";
   };
 
-  vendorSha256 = "sha256-swUZqrQ0nJS66oyqn0ONmFutLR2mEnDviC8siQB19c8=";
+  vendorSha256 = "sha256-iEsblhejczTFPL7LvEKHE/T1h2xAt7cdnoR8KIv3Wpo=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/inframap/default.nix b/pkgs/applications/networking/cluster/inframap/default.nix
new file mode 100644
index 0000000000000..38307cadc7659
--- /dev/null
+++ b/pkgs/applications/networking/cluster/inframap/default.nix
@@ -0,0 +1,30 @@
+{ buildGoModule
+, fetchFromGitHub
+, lib
+}:
+buildGoModule rec {
+  pname = "inframap";
+  version = "0.6.7";
+
+  src = fetchFromGitHub {
+    owner = "cycloidio";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-Ol2FkCP7Wq7FcwOaDw9d20v4jkNIfewdMErz/kJR0/g=";
+  };
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/cycloidio/inframap/cmd.Version=${version}"
+  ];
+
+  vendorHash = "sha256-fD/u0gYfbhyYWjXtBDtL7zWRu7b7mzpLPEjB+ictP6o=";
+
+  meta = with lib; {
+    description = "Read your tfstate or HCL to generate a graph specific for each provider, showing only the resources that are most important/relevant.";
+    homepage = "https://github.com/cycloidio/inframap";
+    license = licenses.mit;
+    maintainers = with maintainers; [ urandom ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/istioctl/default.nix b/pkgs/applications/networking/cluster/istioctl/default.nix
index d98a09439fe76..b4ae402fa0c97 100644
--- a/pkgs/applications/networking/cluster/istioctl/default.nix
+++ b/pkgs/applications/networking/cluster/istioctl/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "istioctl";
-  version = "1.15.2";
+  version = "1.15.3";
 
   src = fetchFromGitHub {
     owner = "istio";
     repo = "istio";
     rev = version;
-    sha256 = "sha256-ZbOh0BMvYnJQD0WjZcKKiG4ECn1Lbr9760Hn2ecdPH8=";
+    sha256 = "sha256-mgf3xQIsd4j3a5pqZz2UHhsHizACjVC4St1GfsDJsfY=";
   };
-  vendorSha256 = "sha256-RgxGPPNBYXe1/gFNKeM+huPCD6EGBPea5EtciSA9o58=";
+  vendorSha256 = "sha256-P40VPtPxbfL0xpAMLJrqPhyyB7xFTsXMfBSCGL3S4Gg=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/networking/cluster/k3s/default.nix b/pkgs/applications/networking/cluster/k3s/default.nix
index 0fdc7cc4f429a..116fd7de9babc 100644
--- a/pkgs/applications/networking/cluster/k3s/default.nix
+++ b/pkgs/applications/networking/cluster/k3s/default.nix
@@ -47,15 +47,15 @@ with lib;
 # Those pieces of software we entirely ignore upstream's handling of, and just
 # make sure they're in the path if desired.
 let
-  k3sVersion = "1.25.2+k3s1";     # k3s git tag
-  k3sCommit = "53c268d8eb90ceea5e1c7865f89db5c7fb8763bc"; # k3s git commit at the above version
-  k3sRepoSha256 = "1w040bsrf981k19rwaaxjsv52pgzc0k77x083fkhysmrca565z0y";
-  k3sVendorSha256 = "sha256-8Xti08sjFk1WKimH/GEb99oqBdFO79WVCvYyXIWMpgo=";
+  k3sVersion = "1.25.3+k3s1";     # k3s git tag
+  k3sCommit = "f2585c1671b31b4b34bddbb3bf4e7d69662b0821"; # k3s git commit at the above version
+  k3sRepoSha256 = "0zwf3iwjcidx14zw36s1hr0q8wmmbfc0rfqwd7fmpjq597h8zkms";
+  k3sVendorSha256 = "sha256-U67tJRGqPFk5AfRe7I50zKGC9HJ2oh+iI/C7qF/76BQ=";
 
   # taken from ./manifests/traefik.yaml, extracted from '.spec.chart' https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/download#L9
   # The 'patch' and 'minor' versions are currently hardcoded as single digits only, so ignore the trailing two digits. Weird, I know.
-  traefikChartVersion = "10.19.3";
-  traefikChartSha256 = "04zg5li957svgscdmkzmzjkwljaljyav68rzxmhakkwgav6q9058";
+  traefikChartVersion = "12.0.0";
+  traefikChartSha256 = "1sqmi71fi3ad5dh5fmsp9mv80x6pkgqwi4r9fr8l6i9sdnai6f1a";
 
   # taken from ./scripts/version.sh VERSION_ROOT https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/version.sh#L47
   k3sRootVersion = "0.11.0";
diff --git a/pkgs/applications/networking/cluster/k3sup/default.nix b/pkgs/applications/networking/cluster/k3sup/default.nix
index f9586ffa46614..ec7cdb3ecde6f 100644
--- a/pkgs/applications/networking/cluster/k3sup/default.nix
+++ b/pkgs/applications/networking/cluster/k3sup/default.nix
@@ -9,13 +9,13 @@
 
 buildGoModule rec {
   pname = "k3sup";
-  version = "0.12.7";
+  version = "0.12.10";
 
   src = fetchFromGitHub {
     owner = "alexellis";
     repo = "k3sup";
     rev = version;
-    sha256 = "sha256-EOGYOxRhpPHOSo9ccCSvat9kq2SlujPqno8v7/zmuto=";
+    sha256 = "sha256-d9YZOrMZKwkHmo7/b0BE552OLnD/ETfF4n+jE7fQ4zA=";
   };
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
diff --git a/pkgs/applications/networking/cluster/kfctl/default.nix b/pkgs/applications/networking/cluster/kfctl/default.nix
index 52a049ab1bba6..2b2909ff6600a 100644
--- a/pkgs/applications/networking/cluster/kfctl/default.nix
+++ b/pkgs/applications/networking/cluster/kfctl/default.nix
@@ -11,7 +11,7 @@ buildGoModule rec {
     sha256 = "sha256-FY7o4QULobLY1djfcc2l6awE/v2stN7cc2lffMkjoPc=";
   };
 
-  vendorSha256 = "sha256-+6sxXp0LKegZjEFv1CIQ6xYh+hXLn+o9LggRYamCzpI=";
+  vendorSha256 = null; #vendorSha256 = "";
 
   subPackages = [ "cmd/kfctl" ];
 
@@ -28,5 +28,6 @@ buildGoModule rec {
     homepage = "https://github.com/kubeflow/kfctl";
     license = licenses.asl20;
     maintainers = with maintainers; [ mvnetbiz ];
+    broken = true; # vendor isn't reproducible with go > 1.17: nix-build -A $name.go-modules --check
   };
 }
diff --git a/pkgs/applications/networking/cluster/kompose/default.nix b/pkgs/applications/networking/cluster/kompose/default.nix
index a4081408871ac..13684d441492a 100644
--- a/pkgs/applications/networking/cluster/kompose/default.nix
+++ b/pkgs/applications/networking/cluster/kompose/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub, installShellFiles, testers, kompose, git }:
+{ lib, buildGoModule, fetchFromGitHub, fetchpatch, installShellFiles, testers, kompose, git }:
 
 buildGoModule rec {
   pname = "kompose";
@@ -11,7 +11,14 @@ buildGoModule rec {
     sha256 = "sha256-NfzqGG5ZwPpmjhvcvXN1AA+kfZG/oujbAEtXkm1mzeU=";
   };
 
-  vendorSha256 = "sha256-OR5U2PnebO0a+lwU09Dveh0Yxk91cmSRorTxQIO5lHc=";
+  vendorHash = "sha256-/i4R50heqf0v2F2GTZCKGq10+xKKr+zPkqWKa+afue8=";
+
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/kubernetes/kompose/commit/0964a7ccd16504b6e5ef49a07978c87cca803d46.patch";
+      hash = "sha256-NMHLxx7Ae6Z+pacj538ivxIby7rNz3IbfDPbeLA0sMc=";
+    })
+  ];
 
   nativeBuildInputs = [ installShellFiles git ];
 
diff --git a/pkgs/applications/networking/cluster/kpt/default.nix b/pkgs/applications/networking/cluster/kpt/default.nix
index 31d869524dac9..ff5c8588ccee4 100644
--- a/pkgs/applications/networking/cluster/kpt/default.nix
+++ b/pkgs/applications/networking/cluster/kpt/default.nix
@@ -1,17 +1,17 @@
-{ buildGoModule, fetchFromGitHub, lib }:
+{ buildGoModule, fetchFromGitHub, lib, stdenv }:
 
 buildGoModule rec {
   pname = "kpt";
-  version = "0.39.2";
+  version = "0.39.3";
 
   src = fetchFromGitHub {
     owner = "GoogleContainerTools";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-PG4SzycXRguKyaQ7LDnTtxF3EgqcjfjeEWD5rROXBPI=";
+    hash = "sha256-vidrKfmP0Lw6EYYufLDxh3ROOJ3hPIusDTI/Hr73NYM=";
   };
 
-  vendorSha256 = "sha256-CoXlUX9hkP8gijA/vg19AS9030w95A2oKGD1wjzO8ak=";
+  vendorHash = "sha256-CoXlUX9hkP8gijA/vg19AS9030w95A2oKGD1wjzO8ak=";
 
   subPackages = [ "." ];
 
@@ -22,6 +22,6 @@ buildGoModule rec {
     homepage = "https://googlecontainertools.github.io/kpt/";
     license = licenses.asl20;
     maintainers = with maintainers; [ mikefaille ];
-    platforms = platforms.linux ++ platforms.darwin;
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/applications/networking/cluster/krane/Gemfile.lock b/pkgs/applications/networking/cluster/krane/Gemfile.lock
index b1eb6d8972a40..98ed810a2115f 100644
--- a/pkgs/applications/networking/cluster/krane/Gemfile.lock
+++ b/pkgs/applications/networking/cluster/krane/Gemfile.lock
@@ -1,27 +1,27 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    activesupport (7.0.3.1)
+    activesupport (7.0.4)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
       tzinfo (~> 2.0)
-    addressable (2.8.0)
-      public_suffix (>= 2.0.2, < 5.0)
+    addressable (2.8.1)
+      public_suffix (>= 2.0.2, < 6.0)
     colorize (0.8.1)
     concurrent-ruby (1.1.10)
     domain_name (0.5.20190701)
       unf (>= 0.0.5, < 1.0.0)
     ejson (1.3.1)
-    faraday (2.4.0)
-      faraday-net_http (~> 2.0)
+    faraday (2.7.1)
+      faraday-net_http (>= 2.0, < 3.1)
       ruby2_keywords (>= 0.0.4)
-    faraday-net_http (2.1.0)
+    faraday-net_http (3.0.2)
     ffi (1.15.5)
     ffi-compiler (1.0.1)
       ffi (>= 1.0.0)
       rake
-    googleauth (1.2.0)
+    googleauth (1.3.0)
       faraday (>= 0.17.3, < 3.a)
       jwt (>= 1.4, < 3.0)
       memoist (~> 0.16)
@@ -43,8 +43,8 @@ GEM
       concurrent-ruby (~> 1.0)
     jsonpath (1.1.2)
       multi_json
-    jwt (2.4.1)
-    krane (2.4.9)
+    jwt (2.5.0)
+    krane (3.0.1)
       activesupport (>= 5.0)
       colorize (~> 0.8)
       concurrent-ruby (~> 1.1)
@@ -55,7 +55,7 @@ GEM
       oj (~> 3.0)
       statsd-instrument (>= 2.8, < 4)
       thor (>= 1.0, < 2.0)
-    kubeclient (4.9.3)
+    kubeclient (4.10.1)
       http (>= 3.0, < 5.0)
       jsonpath (~> 1.0)
       recursive-open-struct (~> 1.1, >= 1.1.1)
@@ -64,12 +64,12 @@ GEM
     mime-types (3.4.1)
       mime-types-data (~> 3.2015)
     mime-types-data (3.2022.0105)
-    minitest (5.16.2)
+    minitest (5.16.3)
     multi_json (1.15.0)
     netrc (0.11.0)
-    oj (3.13.19)
+    oj (3.13.23)
     os (1.1.4)
-    public_suffix (4.0.7)
+    public_suffix (5.0.0)
     rake (13.0.6)
     recursive-open-struct (1.1.3)
     rest-client (2.1.0)
@@ -83,7 +83,7 @@ GEM
       faraday (>= 0.17.5, < 3.a)
       jwt (>= 1.5, < 3.0)
       multi_json (~> 1.10)
-    statsd-instrument (3.3.0)
+    statsd-instrument (3.5.0)
     thor (1.2.1)
     tzinfo (2.0.5)
       concurrent-ruby (~> 1.0)
@@ -98,4 +98,4 @@ DEPENDENCIES
   krane
 
 BUNDLED WITH
-   2.3.9
+   2.3.24
diff --git a/pkgs/applications/networking/cluster/krane/gemset.nix b/pkgs/applications/networking/cluster/krane/gemset.nix
index a42ccf61abbf2..b99238db86caf 100644
--- a/pkgs/applications/networking/cluster/krane/gemset.nix
+++ b/pkgs/applications/networking/cluster/krane/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15lbq28v48i6q118p02m5zs9c63y1kv2h5krb3ss6q2vyaxhnfz7";
+      sha256 = "183az13i4fsm28d0l5xhbjpmcj3l1lxzcxlx8pi8zrbd933jwqd0";
       type = "gem";
     };
-    version = "7.0.3.1";
+    version = "7.0.4";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "022r3m9wdxljpbya69y2i3h9g3dhhfaqzidf95m6qjzms792jvgp";
+      sha256 = "1ypdmpdn20hxp5vwxz3zc04r5xcwqc25qszdlg41h8ghdqbllwmw";
       type = "gem";
     };
-    version = "2.8.0";
+    version = "2.8.1";
   };
   colorize = {
     groups = ["default"];
@@ -68,20 +68,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0i45f90mg367izgpxf6rrq9zbwwqba1pymwyja6q128vrj1pjajj";
+      sha256 = "1wyz9ab0mzi84gpf81fs19vrixglmmxi25k6n1mn9h141qmsp590";
       type = "gem";
     };
-    version = "2.4.0";
+    version = "2.7.1";
   };
   faraday-net_http = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rfiwhggrqgwp00c82sk8v2h93l81nxgl0mf07pijxz1zjmbgswj";
+      sha256 = "13byv3mp1gsjyv8k0ih4612y6vw5kqva6i03wcg4w2fqpsd950k8";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "3.0.2";
   };
   ffi = {
     groups = ["default"];
@@ -110,10 +110,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "030bcdnffwndk8h270cmbndixb5h3ss860yifv6bkfys95s5fjpp";
+      sha256 = "1hpwgwhk0lmnknkw8kbdfxn95qqs6aagpq815l5fkw9w6mi77pai";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.3.0";
   };
   http = {
     dependencies = ["addressable" "http-cookie" "http-form_data" "http-parser"];
@@ -195,10 +195,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lsk71qh5d7bm1qqrjvcwhp4h71ckkdbzxnw4xkd9cin8gjfvvr6";
+      sha256 = "0kcmnx6rgjyd7sznai9ccns2nh7p7wnw3mi8a7vf2wkm51azwddq";
       type = "gem";
     };
-    version = "2.4.1";
+    version = "2.5.0";
   };
   krane = {
     dependencies = ["activesupport" "colorize" "concurrent-ruby" "ejson" "googleauth" "jsonpath" "kubeclient" "oj" "statsd-instrument" "thor"];
@@ -206,10 +206,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03sfcn5zfbagkyn30zih73i7pycdfzk0c5wr99d6qxl90c9cddc2";
+      sha256 = "1j3hy00vqk58vf7djip7vhqqczb84pjqlp34h1w4jgbw05vfcbqx";
       type = "gem";
     };
-    version = "2.4.9";
+    version = "3.0.1";
   };
   kubeclient = {
     dependencies = ["http" "jsonpath" "recursive-open-struct" "rest-client"];
@@ -217,10 +217,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ih04d0vgj91rl66iaqh8jmpskwz3g6mgajid0wlzi5skxqqxlym";
+      sha256 = "10rg2l15xmv4sy3cjvw3r9rxkylf36p416fhlhpic9zlq8ang6c4";
       type = "gem";
     };
-    version = "4.9.3";
+    version = "4.10.1";
   };
   memoist = {
     groups = ["default"];
@@ -258,10 +258,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14a9ign0hj3z3j4cpfplj2djaskx3skzyx4fl3x53d7saxmhrgn1";
+      sha256 = "0516ypqlx0mlcfn5xh7qppxqc3xndn1fnadxawa8wld5dkcimy30";
       type = "gem";
     };
-    version = "5.16.2";
+    version = "5.16.3";
   };
   multi_json = {
     groups = ["default"];
@@ -288,10 +288,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1b10apyzm1qyph42438z9nx2ln5v9sg0686ws9gdrv5wh482fnmf";
+      sha256 = "0lggrhlihxyfgiqqr9b2fqdxc4d2zff2czq30m3rgn8a0b2gsv90";
       type = "gem";
     };
-    version = "3.13.19";
+    version = "3.13.23";
   };
   os = {
     groups = ["default"];
@@ -308,10 +308,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1f3knlwfwm05sfbaihrxm4g772b79032q14c16q4b38z8bi63qcb";
+      sha256 = "0sqw1zls6227bgq38sxb2hs8nkdz4hn1zivs27mjbniswfy4zvi6";
       type = "gem";
     };
-    version = "4.0.7";
+    version = "5.0.0";
   };
   rake = {
     groups = ["default"];
@@ -370,10 +370,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1555jgxr0az43l6nc8ngz5vmhqgjaznz4mkg5w5x0q6sa78i2pf3";
+      sha256 = "0gl2n26hb8g12n3alh1yg5qg7cjrp9f9fyc25crmaccm5m17v0sa";
       type = "gem";
     };
-    version = "3.3.0";
+    version = "3.5.0";
   };
   thor = {
     groups = ["default"];
diff --git a/pkgs/applications/networking/cluster/kubecfg/default.nix b/pkgs/applications/networking/cluster/kubecfg/default.nix
index 2b93844788102..899519e741f84 100644
--- a/pkgs/applications/networking/cluster/kubecfg/default.nix
+++ b/pkgs/applications/networking/cluster/kubecfg/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubecfg";
-  version = "0.27.0";
+  version = "0.28.0";
 
   src = fetchFromGitHub {
     owner = "kubecfg";
     repo = "kubecfg";
     rev = "v${version}";
-    sha256 = "sha256-IJ/QKqGhhJfqRBVKfmV4jTC2C53DmzmK5AECJg2xdmw=";
+    sha256 = "sha256-Ask1Mbt/7xhfTNPmLIFtndT6qqbyotFrhoaUggzgGas=";
   };
 
-  vendorSha256 = "sha256-kmUhcHZ6LcxtuuucOwcO6TNk2TsWL6lcppD6M6unY2M=";
+  vendorSha256 = "sha256-vqlANAwZTC4goeN/KsrYL9GWzkhi4WUx9Llyi863KVY=";
 
   ldflags = [ "-s" "-w" "-X main.version=v${version}" ];
 
diff --git a/pkgs/applications/networking/cluster/kubecolor/default.nix b/pkgs/applications/networking/cluster/kubecolor/default.nix
index a295a48a19206..625f53515a30e 100644
--- a/pkgs/applications/networking/cluster/kubecolor/default.nix
+++ b/pkgs/applications/networking/cluster/kubecolor/default.nix
@@ -2,23 +2,23 @@
 
 buildGoModule rec {
   pname = "kubecolor";
-  version = "0.0.20";
+  version = "0.0.21";
 
   src = fetchFromGitHub {
-    owner = "hidetatz";
+    owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-bKHEp9AxH1CcObhNzD3BkNOdyWZu7JrEdsXpo49wEcI=";
+    sha256 = "sha256-d1gtbpeK9vp8bwhsMOPVKmohfyEZtQuvRB36VZCB3sY=";
   };
 
-  vendorSha256 = "sha256-C1K7iEugA4HBLthcOI7EZ6H4YHW6el8X6FjVN1BeJR0=";
+  vendorSha256 = "sha256-g5bLi0HQ7LQM+DKn5x8enXn8/9j3LFhgDjQ+YN0M7dM=";
 
   ldflags = [ "-s" "-w" "-X main.Version=${version}" ];
 
   meta = with lib; {
     description = "Colorizes kubectl output";
-    homepage = "https://github.com/hidetatz/kubecolor";
-    changelog = "https://github.com/hidetatz/kubecolor/releases/tag/v${version}";
+    homepage = "https://github.com/kubecolor/kubecolor";
+    changelog = "https://github.com/kubecolor/kubecolor/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ ivankovnatsky SuperSandro2000 ];
   };
diff --git a/pkgs/applications/networking/cluster/kubelogin/default.nix b/pkgs/applications/networking/cluster/kubelogin/default.nix
index 9785ebc3ca23b..92899fdacf0f6 100644
--- a/pkgs/applications/networking/cluster/kubelogin/default.nix
+++ b/pkgs/applications/networking/cluster/kubelogin/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubelogin";
-  version = "0.0.20";
+  version = "0.0.23";
 
   src = fetchFromGitHub {
     owner = "Azure";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ZaAjXuECOmGIqye08/A41VQiO7avxqbaCOPFCPjaOjY=";
+    sha256 = "sha256-6aYa5C0RMCKrnBl3YNbdMUxGOJYwVZ303PLt5RRBjmw=";
   };
 
-  vendorSha256 = "sha256-3TQm0xbgFDZ2XCie93g4fPXKCHDh/yw4vwpAEMBMQGI=";
+  vendorSha256 = "sha256-mjIB0ITf296yDQJP46EI6pLYkZfyU3yzD9iwP0iIXvQ=";
 
   ldflags = [
     "-X main.version=${version}"
diff --git a/pkgs/applications/networking/cluster/kubemqctl/default.nix b/pkgs/applications/networking/cluster/kubemqctl/default.nix
index a5ad1ea0a773d..1712a018cbe29 100644
--- a/pkgs/applications/networking/cluster/kubemqctl/default.nix
+++ b/pkgs/applications/networking/cluster/kubemqctl/default.nix
@@ -14,12 +14,13 @@ buildGoModule rec {
 
   doCheck = false; # TODO tests are failing
 
-  vendorSha256 = "1agn6i7cnsb5igvvbjzlaa5fgssr5h7h25y440q44bk16jxk6s74";
+  vendorSha256 = null; #vendorSha256 = "";
 
   meta = {
     homepage = "https://github.com/kubemq-io/kubemqctl";
     description = "Kubemqctl is a command line interface (CLI) for Kubemq Kubernetes Message Broker.";
     license = lib.licenses.asl20;
     maintainers = with lib.maintainers; [ brianmcgee ];
+    broken = true; # vendor isn't reproducible with go > 1.17: nix-build -A $name.go-modules --check
   };
 }
diff --git a/pkgs/applications/networking/cluster/kubeone/default.nix b/pkgs/applications/networking/cluster/kubeone/default.nix
index ab526bababa80..44c80d8e13928 100644
--- a/pkgs/applications/networking/cluster/kubeone/default.nix
+++ b/pkgs/applications/networking/cluster/kubeone/default.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "kubeone";
-  version = "1.5.2";
+  version = "1.5.3";
 
   src = fetchFromGitHub {
     owner = "kubermatic";
     repo = "kubeone";
     rev = "v${version}";
-    sha256 = "sha256-8wYrDGykob1YLvtscQdL867vuRv8J83DC7AzvQVXVr8=";
+    sha256 = "sha256-CjT6YKC6DJvs+LeKIzOl2Y6n0/yGv0nz8EfHqiSnIDo=";
   };
 
   vendorSha256 = "sha256-Y4eivDchnN2rtQWjFY3cFiJXRfj48UfVUKM/OLuWXGA=";
diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix
index 58d63c63a7fd3..1ba1fd6c13389 100644
--- a/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -20,13 +20,13 @@
 
 buildGoModule rec {
   pname = "kubernetes";
-  version = "1.25.3";
+  version = "1.25.4";
 
   src = fetchFromGitHub {
     owner = "kubernetes";
     repo = "kubernetes";
     rev = "v${version}";
-    sha256 = "sha256-UDulyX1PXyAe4cqtekOY1nmQnmMqVLFuHnCswFfE6v0=";
+    sha256 = "sha256-1k0L8QUj/764X0Y7qxjFMnatTGKeRPBUroHjSMMe5M4=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/kubeseal/default.nix b/pkgs/applications/networking/cluster/kubeseal/default.nix
index 6d30f4ba8785c..6bcde313e9ad6 100644
--- a/pkgs/applications/networking/cluster/kubeseal/default.nix
+++ b/pkgs/applications/networking/cluster/kubeseal/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubeseal";
-  version = "0.19.1";
+  version = "0.19.2";
 
   src = fetchFromGitHub {
     owner = "bitnami-labs";
     repo = "sealed-secrets";
     rev = "v${version}";
-    sha256 = "sha256-+WwxYnVW6rdZ+A4L2qLtXXaMWLC4ulEoP+vtdtkLvlE=";
+    sha256 = "sha256-LluWV/GWBJ+dmn94GtqPNCIDTZk2zlNhrbcM2pALUpU=";
   };
 
-  vendorSha256 = "sha256-505nUMuFteOfIurGYRGHqo9diTSEa56tmQZ3jIGtULQ=";
+  vendorSha256 = "sha256-f7rznlRKEkHsU72QvRpOtvhg5rp9PuEoADhQOeD16rU=";
 
   subPackages = [ "cmd/kubeseal" ];
 
diff --git a/pkgs/applications/networking/cluster/kubetail/default.nix b/pkgs/applications/networking/cluster/kubetail/default.nix
index e0ced9e2a8f80..dbf32808f9412 100644
--- a/pkgs/applications/networking/cluster/kubetail/default.nix
+++ b/pkgs/applications/networking/cluster/kubetail/default.nix
@@ -1,21 +1,23 @@
-{ stdenv, fetchFromGitHub, lib, ... }:
+{ stdenv, fetchFromGitHub, lib, installShellFiles, makeWrapper, kubectl }:
 
 stdenv.mkDerivation rec {
   pname = "kubetail";
-  version = "1.6.13";
+  version = "1.6.16";
 
   src = fetchFromGitHub {
     owner = "johanhaleby";
     repo = "kubetail";
     rev = version;
-    sha256 = "sha256-EkOewNInzEEEgMOffYoRaKwhgYuBXgHaCkVgWg2mIDE=";
+    sha256 = "sha256-kkbhhAaiKP01LR7F5JVMgy6Ujji8JDc+Aaho1vft3XQ=";
   };
 
+  nativeBuildInputs = [ installShellFiles makeWrapper ];
+
   installPhase = ''
-    install -Dm755 kubetail                 "$out/bin/kubetail"
-    install -Dm755 completion/kubetail.bash "$out/share/bash-completion/completions/kubetail"
-    install -Dm755 completion/kubetail.fish "$out/share/fish/vendor_completions.d/kubetail.fish"
-    install -Dm755 completion/kubetail.zsh  "$out/share/zsh/site-functions/_kubetail"
+    install -Dm755 kubetail "$out/bin/kubetail"
+    wrapProgram $out/bin/kubetail --prefix PATH : ${lib.makeBinPath [ kubectl ]}
+
+    installShellCompletion completion/kubetail.{bash,fish,zsh}
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/cluster/kubeval/default.nix b/pkgs/applications/networking/cluster/kubeval/default.nix
index 774efb044af1f..9c28ba063e243 100644
--- a/pkgs/applications/networking/cluster/kubeval/default.nix
+++ b/pkgs/applications/networking/cluster/kubeval/default.nix
@@ -1,7 +1,7 @@
 { lib
 , fetchFromGitHub
 , buildGoModule
-, makeWrapper
+, fetchpatch
 }:
 
 buildGoModule rec {
@@ -15,7 +15,16 @@ buildGoModule rec {
     sha256 = "sha256-pwJOV7V78H2XaMiiJvKMcx0dEwNDrhgFHmCRLAwMirg=";
   };
 
-  vendorSha256 = "sha256-OAFxEb7IWhyRBEi8vgmekDSL/YpmD4EmUfildRaPR24=";
+  patches = [
+    # https://github.com/instrumenta/kubeval/pull/346
+    (fetchpatch {
+      name = "bump-golang.org/x/sys.patch";
+      url = "https://github.com/instrumenta/kubeval/commit/d64502b04d9e1b85fd3d5509049adb50f3e39954.patch";
+      sha256 = "sha256-S/lgwdykFLU2QZRW927fgCPxaIAMK3vSqmH08pXBQxM=";
+    })
+  ];
+
+  vendorSha256 = "sha256-R/vVrLsVSA9SGra4ytoHlQkPaIgQaj/XdivcQp8xjSM=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/kuttl/default.nix b/pkgs/applications/networking/cluster/kuttl/default.nix
index 5e6ca3a874eb6..d23669bb1f09c 100644
--- a/pkgs/applications/networking/cluster/kuttl/default.nix
+++ b/pkgs/applications/networking/cluster/kuttl/default.nix
@@ -2,14 +2,14 @@
 
 buildGoModule rec {
   pname = "kuttl";
-  version = "0.13.0";
+  version = "0.14.0";
   cli = "kubectl-kuttl";
 
   src = fetchFromGitHub {
     owner = "kudobuilder";
     repo = "kuttl";
     rev = "v${version}";
-    sha256 = "sha256-liuP8ALcPxbU+hZ54KDFj2r2yZpAbVago0IxIv52N3o=";
+    sha256 = "sha256-xQS7qCUTM3X4SpUZfxKHb08poJ2W52R7+TNe4BFL5sY=";
   };
 
   vendorSha256 = "sha256-u8Ezk78CrAhSeeMVXj09/Hiegtx+ZNKlr/Fg0O7+iOY=";
diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix
index e0a16ab885b8b..997b52434b829 100644
--- a/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/pkgs/applications/networking/cluster/minikube/default.nix
@@ -12,9 +12,9 @@
 
 buildGoModule rec {
   pname = "minikube";
-  version = "1.27.1";
+  version = "1.28.0";
 
-  vendorSha256 = "sha256-2sXWf+iK1v9gv2DXhmEs8xlIRF+6EM7Y6Otd6F89zGk=";
+  vendorSha256 = "sha256-CyIpzwSYHbv96UoQ/SZXOl6v3xn3pvT39ZO+RpVHU5I=";
 
   doCheck = false;
 
@@ -22,7 +22,7 @@ buildGoModule rec {
     owner = "kubernetes";
     repo = "minikube";
     rev = "v${version}";
-    sha256 = "sha256-GmvxKWHo0meiR1r5IlgI8jQRiDvmQafxTS9acv92EPk=";
+    sha256 = "sha256-Gn/RXZedID0sh5qTcBNg7GeLtI1JZYKXEWg2RZGXlDw=";
   };
 
   nativeBuildInputs = [ installShellFiles pkg-config which makeWrapper ];
diff --git a/pkgs/applications/networking/cluster/odo/default.nix b/pkgs/applications/networking/cluster/odo/default.nix
index 903f83024ae19..fb3dd48505064 100644
--- a/pkgs/applications/networking/cluster/odo/default.nix
+++ b/pkgs/applications/networking/cluster/odo/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "odo";
-  version = "3.0.0";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "redhat-developer";
     repo = "odo";
     rev = "v${version}";
-    sha256 = "sha256-CtlT6nUh0oqjJSWaIqAgu9CNGVHcf+uLNWBCl950Kus=";
+    sha256 = "sha256-nevwmw2d8HARRwOy8dPsjtjQj+W3psknphcmebRjrNE=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/roxctl/default.nix b/pkgs/applications/networking/cluster/roxctl/default.nix
index 2f1a6dbbd5167..e2426fc7d56d8 100644
--- a/pkgs/applications/networking/cluster/roxctl/default.nix
+++ b/pkgs/applications/networking/cluster/roxctl/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "roxctl";
-  version = "3.72.1";
+  version = "3.72.2";
 
   src = fetchFromGitHub {
     owner = "stackrox";
     repo = "stackrox";
     rev = version;
-    sha256 = "sha256-I6Sq5i2rkr447gxFRw2C0IV6WnFIpGHyp12NA8IUYKg=";
+    sha256 = "sha256-qw45Ifp8JcJyKaKL1St0HAQGS7JiUestiPGyZcV3gx8=";
   };
 
   vendorSha256 = "sha256-FmpnRgU3w2zthgUJuAG5AqLl2UxMb0yywN5Sk9WoWBI=";
diff --git a/pkgs/applications/networking/cluster/tektoncd-cli/default.nix b/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
index c3c6355cd0cfc..0362095bce697 100644
--- a/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
+++ b/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "tektoncd-cli";
-  version = "0.24.1";
+  version = "0.27.0";
 
   src = fetchFromGitHub {
     owner = "tektoncd";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-8dCmORfTMFHSyc9FOpL01ywxGcH3uolzD2aOtyy191Q=";
+    sha256 = "sha256-zLPZueKdUNauIzqXOV773SZ/RWg7UuMNeJHr7z6ZJ+E=";
   };
 
   vendorSha256 = null;
@@ -17,14 +17,15 @@ buildGoModule rec {
 
   nativeBuildInputs = [ installShellFiles ];
 
-  # third_party/VENDOR-LICENSE breaks build/check as go files are still included
-  # docs is a tool for generating docs
-  excludedPackages = [ "third_party" "cmd/docs" ];
+  subPackages = [ "cmd/tkn" ];
 
   preCheck = ''
     # some tests try to write to the home dir
     export HOME="$TMPDIR"
 
+    # run all tests
+    unset subPackages
+
     # the tests expect the clientVersion ldflag not to be set
     unset ldflags
 
diff --git a/pkgs/applications/networking/cluster/temporal-cli/default.nix b/pkgs/applications/networking/cluster/temporal-cli/default.nix
index 6d86bc79e6b28..abaff42f3a32e 100644
--- a/pkgs/applications/networking/cluster/temporal-cli/default.nix
+++ b/pkgs/applications/networking/cluster/temporal-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "temporal-cli";
-  version = "1.17.0";
+  version = "1.17.1";
 
   src = fetchFromGitHub {
     owner = "temporalio";
     repo = "tctl";
     rev = "v${version}";
-    sha256 = "sha256-XEN4Ntt7yHng1+3E5SlxthEWPXJ+kSx9L1GbW9bV03Y=";
+    sha256 = "sha256-rdDtgSM2wZsHYv9tBNdcSHYXdvvEk5wqdLr1KjoPz1E=";
   };
 
   vendorSha256 = "sha256-9bgovXVj+qddfDSI4DTaNYH4H8Uc4DZqeVYG5TWXTNw=";
diff --git a/pkgs/applications/networking/cluster/temporalite/default.nix b/pkgs/applications/networking/cluster/temporalite/default.nix
new file mode 100644
index 0000000000000..8a4d53797f5ba
--- /dev/null
+++ b/pkgs/applications/networking/cluster/temporalite/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "temporalite";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "temporalio";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-rLEkWg5LNVb7i/2IARKGuP9ugaVJA9pwYbKLm0QLmOc=";
+  };
+
+  vendorSha256 = "sha256-vjuwh/HRRYfB6J49rfJxif12nYPnbBodWF9hTiGygS8=";
+
+  subPackages = [ "cmd/temporalite" ];
+
+  postPatch = ''
+    substituteInPlace cmd/temporalite/ui_test.go \
+      --replace "TestNewUIConfigWithMissingConfigFile" "SkipNewUIConfigWithMissingConfigFile"
+
+    substituteInPlace cmd/temporalite/mtls_test.go \
+      --replace "TestMTLSConfig" "SkipMTLSConfig"
+  '';
+
+  meta = with lib; {
+    description = "An experimental distribution of Temporal that runs as a single process";
+    homepage = "https://github.com/temporalio/temporalite";
+    license = licenses.mit;
+    maintainers = with maintainers; [ lucperkins ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/terraform-providers/default.nix b/pkgs/applications/networking/cluster/terraform-providers/default.nix
index 5ef3a336e2953..9f9471627cf69 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/default.nix
+++ b/pkgs/applications/networking/cluster/terraform-providers/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , buildGoModule
 , fetchFromGitHub
+, fetchFromGitLab
 , callPackage
 , config
 , writeShellScript
@@ -21,6 +22,7 @@ let
      , vendorHash ? throw "use vendorHash instead of vendorSha256" # added 2202/09
      , deleteVendor ? false
      , proxyVendor ? false
+     , mkProviderFetcher ? fetchFromGitHub
      , mkProviderGoModule ? buildGoModule
        # Looks like "registry.terraform.io/vancluever/acme"
      , provider-source-address
@@ -35,7 +37,7 @@ let
         # goreleaser (used for builds distributed via terraform registry) requires that CGO is disabled
         CGO_ENABLED = 0;
         ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=${rev}" ];
-        src = fetchFromGitHub {
+        src = mkProviderFetcher {
           name = "source-${rev}";
           inherit owner repo rev hash;
         };
@@ -65,6 +67,10 @@ let
   # These are the providers that don't fall in line with the default model
   special-providers =
     {
+      netlify = automated-providers.netlify.overrideAttrs (_: { meta.broken = stdenv.isDarwin; });
+      pass = automated-providers.pass.overrideAttrs (_: { meta.broken = stdenv.isDarwin; });
+      tencentcloud = automated-providers.tencentcloud.overrideAttrs (_: { meta.broken = stdenv.isDarwin; });
+      gitlab = automated-providers.gitlab.override { mkProviderFetcher = fetchFromGitLab; owner = "gitlab-org"; };
       # mkisofs needed to create ISOs holding cloud-init data and wrapped to terraform via deecb4c1aab780047d79978c636eeb879dd68630
       libvirt = automated-providers.libvirt.overrideAttrs (_: { propagatedBuildInputs = [ cdrtools ]; });
     };
@@ -77,10 +83,12 @@ let
     in
     lib.optionalAttrs config.allowAliases {
       b2 = removed "b2" "2022/06";
+      checkpoint = removed "checkpoint" "2022/11";
       dome9 = removed "dome9" "2022/08";
       ncloud = removed "ncloud" "2022/08";
       opc = archived "opc" "2022/05";
       oraclepaas = archived "oraclepaas" "2022/05";
+      panos = removed "panos" "2022/05";
       template = archived "template" "2022/05";
     };
 
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json
index 8da5babc46177..bfc5e828cb276 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -30,13 +30,13 @@
     "version": "0.1.1"
   },
   "aiven": {
-    "hash": "sha256-+Uzz2eu873lh707/zADfMK/4D5wDMxXZtAf0RU6V42M=",
+    "hash": "sha256-2QdpXNCnnYh75CyqeKJbYgFB63TCcMrWlUPLe/puvOw=",
     "owner": "aiven",
     "provider-source-address": "registry.terraform.io/aiven/aiven",
     "repo": "terraform-provider-aiven",
-    "rev": "v3.8.0",
-    "vendorHash": "sha256-F+zF9xqHNCXrGxOjEoe8gaGS0C7EO0s61CjN9+9PiYk=",
-    "version": "3.8.0"
+    "rev": "v3.8.1",
+    "vendorHash": "sha256-pFRCT0fgWOucw3jNqvSas7pl9KHayJorFmgOKGmL1jI=",
+    "version": "3.8.1"
   },
   "akamai": {
     "hash": "sha256-QbCDaDII+xEA3lXjODsz8jai2mg3N/3uC4fruiLqvWc=",
@@ -48,13 +48,13 @@
     "version": "3.0.0"
   },
   "alicloud": {
-    "hash": "sha256-CyubHE3YFGDt4T4dJ6ZHgvQ6V/nIHK/LODkl7Qm65Sk=",
+    "hash": "sha256-rscu2gCvf/8MJBx1coUmne+8DO8b6RFyfMAwhTUPU+w=",
     "owner": "aliyun",
     "provider-source-address": "registry.terraform.io/aliyun/alicloud",
     "repo": "terraform-provider-alicloud",
-    "rev": "v1.189.0",
+    "rev": "v1.192.0",
     "vendorHash": null,
-    "version": "1.189.0"
+    "version": "1.192.0"
   },
   "ansible": {
     "hash": "sha256-3nha5V4rNgVzgqliebmbC5e12Lj/zlCsyyiIVFlmUrY=",
@@ -74,23 +74,33 @@
     "vendorHash": null,
     "version": "2.2.0"
   },
+  "argocd": {
+    "hash": "sha256-yWhq2WolfL7PQVuWr5P7EH0cM78wGyL2+yezh2WzL2c=",
+    "owner": "oboukili",
+    "provider-source-address": "registry.terraform.io/oboukili/argocd",
+    "repo": "terraform-provider-argocd",
+    "rev": "v4.1.0",
+    "vendorHash": "sha256-hPgZ/2AebjtovopbSEJqsm0J85LdlLWBtP15vaqgLF4=",
+    "version": "4.1.0"
+  },
   "auth0": {
-    "hash": "sha256-kyQBl/gdTj1Dlu4/FFowAQbBDTYMjp0JGQ09eBqwHEc=",
+    "hash": "sha256-l41GOH5J0ZF+Vp/Vabhm30ZLG6/XJrI7QeCdl2WvNso=",
     "owner": "auth0",
     "provider-source-address": "registry.terraform.io/auth0/auth0",
     "repo": "terraform-provider-auth0",
-    "rev": "v0.39.0",
-    "vendorHash": "sha256-Cusw/qNi+xFblwjvh1xkN28z28TNz3gvTyIRaX/QvH4=",
-    "version": "0.39.0"
+    "rev": "v0.40.0",
+    "vendorHash": "sha256-0BE+NZe4DgAU0lNuwsHiGogMJKhM2fy9CriMtKzmJcI=",
+    "version": "0.40.0"
   },
   "avi": {
-    "hash": "sha256-BQ4M1e7wWDCq2HEJIoAAqSUmq9hV66auvH47p3j2M8I=",
+    "hash": "sha256-0FcdVd7EGVHZ0iRonoGfjwYgXpJtUhqX5i925Ejhv54=",
     "owner": "vmware",
     "provider-source-address": "registry.terraform.io/vmware/avi",
+    "proxyVendor": true,
     "repo": "terraform-provider-avi",
-    "rev": "v22.1.1",
-    "vendorHash": "sha256-otOArethLfanpp3KjQCutrlOxkcpr+6YHn5xWl31feE=",
-    "version": "22.1.1"
+    "rev": "v22.1.2",
+    "vendorHash": "sha256-yDkox74g0N8iniWHSNk6KjfM0HJa8H2HUxm6RxrdhkE=",
+    "version": "22.1.2"
   },
   "aviatrix": {
     "hash": "sha256-1zHaSdDcGynLhgLMDRbRgRzt0IvQI25TDZrYzZwwQ34=",
@@ -102,13 +112,13 @@
     "version": "2.24.1"
   },
   "aws": {
-    "hash": "sha256-qm6iXQFnCFGSL9TsJlIwl/qTPagSaWbJOmLlzFBFAzo=",
+    "hash": "sha256-xI+hH6al6zOYzgmpoOjKNy5QgVVFhnqiGm9OIUWevSk=",
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/aws",
     "repo": "terraform-provider-aws",
-    "rev": "v4.37.0",
-    "vendorHash": "sha256-EnCFfs+REgT3q2OprotXNvnLka4JRfj5c0VTi7Js7zc=",
-    "version": "4.37.0"
+    "rev": "v4.40.0",
+    "vendorHash": "sha256-OScGmmFaGq7JD9+GmX3c9t/s4BqplMt7UNa2RXq5HKE=",
+    "version": "4.40.0"
   },
   "azuread": {
     "hash": "sha256-mjll5ANx063JLSbqohPOhor3GNeI1MUKgUKQ/f5XFk8=",
@@ -120,13 +130,13 @@
     "version": "2.30.0"
   },
   "azurerm": {
-    "hash": "sha256-TOm7e3yLTsmWCIDHklUncCjI5vbd0u/HWH/koOL95u4=",
+    "hash": "sha256-zLNlT2CK2Rbvpxftsi6WlMQoHn8S11l/5ySIKsfQ8no=",
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/azurerm",
     "repo": "terraform-provider-azurerm",
-    "rev": "v3.29.1",
+    "rev": "v3.32.0",
     "vendorHash": null,
-    "version": "3.29.1"
+    "version": "3.32.0"
   },
   "azurestack": {
     "hash": "sha256-aSwVa7y1AJ6sExx+bO/93oLBNgSBDJjuPYPY8i3C9T0=",
@@ -138,31 +148,32 @@
     "version": "1.0.0"
   },
   "baiducloud": {
-    "hash": "sha256-tVvpWXKJyhiuyFnDMPvTPBhWUx169PjvZL2iQXDuK1s=",
+    "deleteVendor": true,
+    "hash": "sha256-0L/T12jeSkdZDJknVu5JffyaniZ1RVWgMpPu3qKNmWU=",
     "owner": "baidubce",
     "provider-source-address": "registry.terraform.io/baidubce/baiducloud",
     "repo": "terraform-provider-baiducloud",
-    "rev": "v1.16.2",
-    "vendorHash": null,
-    "version": "1.16.2"
+    "rev": "v1.18.2",
+    "vendorHash": "sha256-ya2FpsLQMIu8zWYObpyPgBHVkHoNKzHgdMxukbtsje4=",
+    "version": "1.18.2"
   },
   "bigip": {
-    "hash": "sha256-uSe+J4AlW8Dt96BVF1ZI/yrgWUbZsl64b/D+k5ysHC0=",
+    "hash": "sha256-erJeg7KF3QUi85ueOQTrab2woIC1nkMXRIj/pFm0DGY=",
     "owner": "F5Networks",
     "provider-source-address": "registry.terraform.io/F5Networks/bigip",
     "repo": "terraform-provider-bigip",
-    "rev": "v1.15.2",
+    "rev": "v1.16.0",
     "vendorHash": null,
-    "version": "1.15.2"
+    "version": "1.16.0"
   },
   "bitbucket": {
-    "hash": "sha256-0Sts826Yt6xVVwGpqTC1ZAiNB2+7S6z9rPXDGPNpmOk=",
+    "hash": "sha256-eU8vA2fxtdsObgh2dTExGLzzBnfSc2DSGdFHrLXR3SA=",
     "owner": "DrFaust92",
     "provider-source-address": "registry.terraform.io/DrFaust92/bitbucket",
     "repo": "terraform-provider-bitbucket",
-    "rev": "v2.21.3",
-    "vendorHash": "sha256-VFh86MFKzgN7LvSYG7TooYapOZOJbDC8sntPzGVaNs8=",
-    "version": "2.21.3"
+    "rev": "v2.22.0",
+    "vendorHash": "sha256-Qkla3OEcyiMn6eqBj+4LB8JwpIwceLAASI1qvOcUBD0=",
+    "version": "2.22.0"
   },
   "brightbox": {
     "hash": "sha256-l4gN7gxLMTuUMjf50Hc2Els5pJ4BId1QlRAhykseK7c=",
@@ -184,24 +195,13 @@
     "version": "0.11.0"
   },
   "checkly": {
-    "hash": "sha256-hi6GTToJcKVSpbBBWQN6IREhm8iHFCj+pg71fgZ5rOI=",
+    "hash": "sha256-OKLmcy0egQ9z/eBsdXzGiswByWQ9fiOq4N7ndTW2nso=",
     "owner": "checkly",
     "provider-source-address": "registry.terraform.io/checkly/checkly",
     "repo": "terraform-provider-checkly",
-    "rev": "v1.6.2",
-    "vendorHash": "sha256-VnYRDBneQ+bUzISJM9DJdBEBmjA1WOXPo+kaYBW4w4U=",
-    "version": "1.6.2"
-  },
-  "checkpoint": {
-    "deleteVendor": true,
-    "hash": "sha256-pErJcwpUGg2cGKWiagjfneUjSDtT+BxLy5JjZvwCUH0=",
-    "owner": "CheckPointSW",
-    "provider-source-address": "registry.terraform.io/CheckPointSW/checkpoint",
-    "proxyVendor": true,
-    "repo": "terraform-provider-checkpoint",
-    "rev": "v2.1.0",
-    "vendorHash": "sha256-6tH/U0qJ83w9qibuF8/TcRAsCke/VnRVRGfHaWsW9+4=",
-    "version": "2.1.0"
+    "rev": "v1.6.3",
+    "vendorHash": "sha256-63M0cOD5QodGMFK0GrxaJsvVFVHXDS5HdgTv4sOmaBA=",
+    "version": "1.6.3"
   },
   "ciscoasa": {
     "hash": "sha256-xzc44FEy2MPo51Faq/VFwg411JK9e0kQucpt0vdN8yg=",
@@ -222,13 +222,13 @@
     "version": "1.20.0"
   },
   "cloudflare": {
-    "hash": "sha256-uItV3BTB3bY8NrjD63oUWZMB0gEscEN4Y6aDTuDQW7c=",
+    "hash": "sha256-a0zJ1n4nKHEyjqJeey5MxPhqJU8Bq9a+hqLOCEdTfEE=",
     "owner": "cloudflare",
     "provider-source-address": "registry.terraform.io/cloudflare/cloudflare",
     "repo": "terraform-provider-cloudflare",
-    "rev": "v3.26.0",
-    "vendorHash": "sha256-pifWJoCbV0bIDzDihdvpC3k5d615HTsYHqVV3s50euk=",
-    "version": "3.26.0"
+    "rev": "v3.28.0",
+    "vendorHash": "sha256-Jvaud6rkaNMZZ/L/pb8JKGaAYw1MieGq7aU4Abe2VJA=",
+    "version": "3.28.0"
   },
   "cloudfoundry": {
     "hash": "sha256-VfGB0NkT36oYT5F1fh1N/2rlZdfhk+K76AXNh0NkO50=",
@@ -286,13 +286,13 @@
     "version": "0.11.0"
   },
   "datadog": {
-    "hash": "sha256-GSm1SIWEPdQls3FXkRjvcxZDRjpNAoUQK1zUHvU4tZo=",
+    "hash": "sha256-QKUmbCyB9Xlr+wfEGiCR+xn8xz81FJ77pY90AzMc/Bw=",
     "owner": "DataDog",
     "provider-source-address": "registry.terraform.io/DataDog/datadog",
     "repo": "terraform-provider-datadog",
-    "rev": "v3.17.0",
-    "vendorHash": "sha256-xOXLwSKj48nY0ikh2+c8Ti1eNwnsizgAfWyhGE5ZAXE=",
-    "version": "3.17.0"
+    "rev": "v3.18.0",
+    "vendorHash": "sha256-t3A7ACNbIZ/i5fDhIMDWnKlswT1IHwULejzkfqT5mxQ=",
+    "version": "3.18.0"
   },
   "dhall": {
     "hash": "sha256-K0j90YAzYqdyJD4aofyxAJF9QBYNMbhSVm/s1GvWuJ4=",
@@ -304,13 +304,13 @@
     "version": "0.0.3"
   },
   "digitalocean": {
-    "hash": "sha256-iLwAkmzKRY8NfUHVGcstIHlSnZY+oi7fhCNP2kCzIxM=",
+    "hash": "sha256-JCqYTBgwcyppZ/xKPRE/SrTI0nDWw5QYqrld8YL+Blw=",
     "owner": "digitalocean",
     "provider-source-address": "registry.terraform.io/digitalocean/digitalocean",
     "repo": "terraform-provider-digitalocean",
-    "rev": "v2.23.0",
+    "rev": "v2.24.0",
     "vendorHash": null,
-    "version": "2.23.0"
+    "version": "2.24.0"
   },
   "dme": {
     "hash": "sha256-QNkr+6lKlKY+os0Pf6dqlmIn9u2LtMOo6ONahDeA9mE=",
@@ -340,13 +340,13 @@
     "version": "0.14.1"
   },
   "docker": {
-    "hash": "sha256-hUKe9VjaNbiPhbxyFKly5PlKWngU2pl6ygwRJSokxr8=",
+    "hash": "sha256-/vz4rjENlVl9gqtxfqCV+k2SgsHZBcmA9Mz10Y2ay/E=",
     "owner": "kreuzwerker",
     "provider-source-address": "registry.terraform.io/kreuzwerker/docker",
     "repo": "terraform-provider-docker",
-    "rev": "v2.22.0",
-    "vendorHash": "sha256-9dsmWkIYrN+GDd/r7kKYUyj+77hKuVilfpVUMpQMseo=",
-    "version": "2.22.0"
+    "rev": "v2.23.0",
+    "vendorHash": "sha256-0JRJAwc4LbPXi6GJdrIGwuIaCzaP5MtIMuijYoOEjYA=",
+    "version": "2.23.0"
   },
   "elasticsearch": {
     "hash": "sha256-+cktPArBOysc4V+uR3KWsVlxtxSIbuVMCmPSU21xF/U=",
@@ -367,40 +367,40 @@
     "version": "1.10.0"
   },
   "exoscale": {
-    "hash": "sha256-d+CMg3wYHsOYow8LG7P+qcszUBiCbNwEp1zCJN7yZKo=",
+    "hash": "sha256-pJ9bbI7y6iOzJ8qPIw8SUOj8yLotRig6cmDsvLfc+6U=",
     "owner": "exoscale",
     "provider-source-address": "registry.terraform.io/exoscale/exoscale",
     "repo": "terraform-provider-exoscale",
-    "rev": "v0.41.0",
+    "rev": "v0.41.1",
     "vendorHash": null,
-    "version": "0.41.0"
+    "version": "0.41.1"
   },
   "external": {
-    "hash": "sha256-gImRxsDUgBHmw/5DeKcO9BzB906JB8dUcSGKQj+Vcy0=",
+    "hash": "sha256-o9vCr3ayqg9Ehi39FgR6vJFZYF1iTcVD4QfYHcs+YbQ=",
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/external",
     "repo": "terraform-provider-external",
-    "rev": "v2.2.2",
-    "vendorHash": "sha256-1BUFg8epcEsCf6yyJr4E4CdX2o6/3R384opRTxwrsng=",
-    "version": "2.2.2"
+    "rev": "v2.2.3",
+    "vendorHash": "sha256-0t+2ixMSsgDK9zzst3s0YWdnS6p7jO0stHnaKio5lvY=",
+    "version": "2.2.3"
   },
   "fastly": {
-    "hash": "sha256-WxFkJBi87IvO4a/8bmftMKCc/JcfoQILCtklvr9bcuc=",
+    "hash": "sha256-Zcev9EegZ/LVRGcjn1rHbp+jdZ5x4OowCD23E/MEYQA=",
     "owner": "fastly",
     "provider-source-address": "registry.terraform.io/fastly/fastly",
     "repo": "terraform-provider-fastly",
-    "rev": "v2.4.0",
+    "rev": "v3.0.0",
     "vendorHash": null,
-    "version": "2.4.0"
+    "version": "3.0.0"
   },
   "flexibleengine": {
-    "hash": "sha256-2eXNumT1Hkc33bW635qYr5jxlByX+yZ8zSKRpgKWQJo=",
+    "hash": "sha256-yg3o7jsWGJ7/fJmDDbFnCpDmKRu0oEbe9wYoILbVwq8=",
     "owner": "FlexibleEngineCloud",
     "provider-source-address": "registry.terraform.io/FlexibleEngineCloud/flexibleengine",
     "repo": "terraform-provider-flexibleengine",
-    "rev": "v1.33.0",
-    "vendorHash": "sha256-smk44z0q2Ku9iO+74vhb/gk5DvdaJe/wDFg7EtQEh/E=",
-    "version": "1.33.0"
+    "rev": "v1.34.0",
+    "vendorHash": "sha256-m0Bv/w0TZASE3n7wEyCmHRHEpjc3snP5Bxyx+2A5dQQ=",
+    "version": "1.34.0"
   },
   "fortios": {
     "deleteVendor": true,
@@ -423,42 +423,42 @@
     "version": "2.2.0"
   },
   "github": {
-    "hash": "sha256-fPT7wqpwAKQKqe9fZZsdPqffIQ9N4Iz/kHpFbTkUTRQ=",
+    "hash": "sha256-3ivfHKoj7jXQ3WsoTNSCL1zD93Pr0pjtZ9LneW9My4o=",
     "owner": "integrations",
     "provider-source-address": "registry.terraform.io/integrations/github",
     "repo": "terraform-provider-github",
-    "rev": "v5.7.0",
+    "rev": "v5.9.0",
     "vendorHash": null,
-    "version": "5.7.0"
+    "version": "5.9.0"
   },
   "gitlab": {
-    "hash": "sha256-eNd1o0UjG6A9OTRmcJfcPLLtWIJmdZ+viDnSZhyHpgY=",
+    "hash": "sha256-1Ljf9kwpj96mzu/uHqitYCKIixNn/sZL21zOM8xQsU4=",
     "owner": "gitlabhq",
     "provider-source-address": "registry.terraform.io/gitlabhq/gitlab",
     "repo": "terraform-provider-gitlab",
-    "rev": "v3.18.0",
-    "vendorHash": "sha256-YrgsycnRIB5UoWGADphfP6lf78M8ZnkJGP0Ti2QJtQ8=",
-    "version": "3.18.0"
+    "rev": "v3.19.0",
+    "vendorHash": "sha256-e9J4g5ZuiKcI/WSXMFY3Qglgt87qbXv7tDpxYbRRuaU=",
+    "version": "3.19.0"
   },
   "google": {
-    "hash": "sha256-gm3Ltq1fpgiaWuR8bdMaj3I9sNSJIfW+/nSn3TKxlxs=",
+    "hash": "sha256-qOB4UV53j0Bm0332U1YETzLfyBtGwfXs2hGDAL2BCCk=",
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/google",
     "proxyVendor": true,
     "repo": "terraform-provider-google",
-    "rev": "v4.41.0",
-    "vendorHash": "sha256-PWSok1sTU/57Xeri4Un5B9Fbwg8gBP6Quy5oIZrjxUI=",
-    "version": "4.41.0"
+    "rev": "v4.43.1",
+    "vendorHash": "sha256-Hzl95NLEZlvTBpCGJYzF5rtHWfYe26TwW0pbtqWmxOo=",
+    "version": "4.43.1"
   },
   "google-beta": {
-    "hash": "sha256-zeCz6B5WmNJVirWOPU+8HYab9hTwxX490Pk1gX/0jd8=",
+    "hash": "sha256-nNz9BgTJ8Aj3QZNpT0XK14s44+thDu4EfLvbEB8OFRc=",
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/google-beta",
     "proxyVendor": true,
     "repo": "terraform-provider-google-beta",
-    "rev": "v4.41.0",
-    "vendorHash": "sha256-PWSok1sTU/57Xeri4Un5B9Fbwg8gBP6Quy5oIZrjxUI=",
-    "version": "4.41.0"
+    "rev": "v4.43.1",
+    "vendorHash": "sha256-Hzl95NLEZlvTBpCGJYzF5rtHWfYe26TwW0pbtqWmxOo=",
+    "version": "4.43.1"
   },
   "googleworkspace": {
     "hash": "sha256-dedYnsKHizxJZibuvJOMbJoux0W6zgKaK5fxIofKqCY=",
@@ -479,22 +479,22 @@
     "version": "1.30.0"
   },
   "gridscale": {
-    "hash": "sha256-0XKSGfvJ61iD6zZ3Re3tB6Orb2Dklu5tbD8hBGyzlgo=",
+    "hash": "sha256-k87g+MwzKl++VfKerzRllHsKN8Y8AyEFm1yWV5xrgwI=",
     "owner": "gridscale",
     "provider-source-address": "registry.terraform.io/gridscale/gridscale",
     "repo": "terraform-provider-gridscale",
-    "rev": "v1.16.1",
+    "rev": "v1.16.2",
     "vendorHash": null,
-    "version": "1.16.1"
+    "version": "1.16.2"
   },
   "hcloud": {
-    "hash": "sha256-DWDM3yWKkRV9FJMzKK7JJQdI0WvFILF/bsZFv2CjrvM=",
+    "hash": "sha256-d/qLN5ev8ywiJr97rrlS9rwfvsEheBD2n8I6D9a7krQ=",
     "owner": "hetznercloud",
     "provider-source-address": "registry.terraform.io/hetznercloud/hcloud",
     "repo": "terraform-provider-hcloud",
-    "rev": "v1.35.2",
-    "vendorHash": "sha256-LKngOmB3jfC/wFX398LETSZ8HllfOQA/kGg4uUNlN5A=",
-    "version": "1.35.2"
+    "rev": "v1.36.0",
+    "vendorHash": "sha256-HsWkHoFs/77b5+6HSV7YgLOwpE2BZyxbGNty8p+OBSM=",
+    "version": "1.36.0"
   },
   "helm": {
     "hash": "sha256-s8ZOzTG3qux+4Yh1wj3ArjB1uJ32bdGhxY9iSL5LOK8=",
@@ -534,22 +534,22 @@
     "version": "1.0.4"
   },
   "http": {
-    "hash": "sha256-ZIV4OrfwUtWuQyp9Uw/sA7tW7JlG2+bAUu8TamyTPbs=",
+    "hash": "sha256-cxAii7doJ9mv1LQWjoPqMgOuu0COIL91llhsm/2MOms=",
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/http",
     "repo": "terraform-provider-http",
-    "rev": "v3.1.0",
-    "vendorHash": "sha256-LPd5TQbuauXKMXraHsJd5uIdn357CveRyaLmavtMHSA=",
-    "version": "3.1.0"
+    "rev": "v3.2.1",
+    "vendorHash": "sha256-rxh8Me+eOKPCbfHFT3tRsbM7JU67dBqv2JOiWArI/2Y=",
+    "version": "3.2.1"
   },
   "huaweicloud": {
-    "hash": "sha256-QBRnlBR+gPMy9gtM2P93Lot4GDW94z7B4BgYs+lT5IQ=",
+    "hash": "sha256-cr7xV7Z4UU+kRykVSOKeuXDiHQPL4CsCJVXf2uTZOms=",
     "owner": "huaweicloud",
     "provider-source-address": "registry.terraform.io/huaweicloud/huaweicloud",
     "repo": "terraform-provider-huaweicloud",
-    "rev": "v1.41.1",
+    "rev": "v1.42.0",
     "vendorHash": null,
-    "version": "1.41.1"
+    "version": "1.42.0"
   },
   "huaweicloudstack": {
     "hash": "sha256-WSJDp+LFjVPquQVMgib/YZV35kktLH2vMCIZJWqakXs=",
@@ -570,13 +570,13 @@
     "version": "0.1.2"
   },
   "ibm": {
-    "hash": "sha256-OcOmcTZe2J0cz9glVi/oLp55QrhsOpT0sj0PS32vnow=",
+    "hash": "sha256-VFJ86dMKOHzfq5W154+kmX9poRFjT+LlLRl3HNA52pc=",
     "owner": "IBM-Cloud",
     "provider-source-address": "registry.terraform.io/IBM-Cloud/ibm",
     "repo": "terraform-provider-ibm",
-    "rev": "v1.46.0",
-    "vendorHash": "sha256-Zhk2Q7tnL3P/uLo/61o/XiiMKBdmb2749S/Ax1ZrxAo=",
-    "version": "1.46.0"
+    "rev": "v1.47.1",
+    "vendorHash": "sha256-9UIM6T6ceF6WXIbjhSuDv1lNn9rphcZoePPk11X2Olo=",
+    "version": "1.47.1"
   },
   "icinga2": {
     "hash": "sha256-Y/Oq0aTzP+oSKPhHiHY9Leal4HJJm7TNDpcdqkUsCmk=",
@@ -624,13 +624,13 @@
     "version": "4.0.1"
   },
   "ksyun": {
-    "hash": "sha256-sfvmDByxAQbbdPHb9l5tIT5dyu8eA3r63i5FZJYEYTI=",
+    "hash": "sha256-Rye7gKARdbrB6KDEygEJy9m7VqlGw6QeE2F1oa3n8as=",
     "owner": "kingsoftcloud",
     "provider-source-address": "registry.terraform.io/kingsoftcloud/ksyun",
     "repo": "terraform-provider-ksyun",
-    "rev": "v1.3.55",
+    "rev": "v1.3.58",
     "vendorHash": "sha256-miHKAz+ONXtuC1DNukcyZbbaYReY69dz9Zk6cJdORdQ=",
-    "version": "1.3.55"
+    "version": "1.3.58"
   },
   "kubectl": {
     "hash": "sha256-UkUwWi7Z9cSMyZakD6JxMl+qdczAYfZQgwroCUjFIUM=",
@@ -642,13 +642,13 @@
     "version": "1.14.0"
   },
   "kubernetes": {
-    "hash": "sha256-E8ew1MwQa1DVYZH//ePjZXLQdyRN7Q0yomH0ma0neks=",
+    "hash": "sha256-hWFC8VBbM3BRGrX1Y45Znd/W3klYy/7aS7JbbKN7EUg=",
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/kubernetes",
     "repo": "terraform-provider-kubernetes",
-    "rev": "v2.14.0",
+    "rev": "v2.16.0",
     "vendorHash": null,
-    "version": "2.14.0"
+    "version": "2.16.0"
   },
   "launchdarkly": {
     "hash": "sha256-AsFtlCIGvlG8c+PilhMhaMowaea/g1+IXYzEiIIbZ44=",
@@ -705,13 +705,14 @@
     "version": "2.0.3"
   },
   "lxd": {
-    "hash": "sha256-rNqlPyKpBNaIRtiNHB8U8jowWhqdQtDIMxreZ5Dfm3E=",
+    "hash": "sha256-DfRhPRclg/hCmmp0V087hl66WSFbEyXHFUGeehlU290=",
     "owner": "terraform-lxd",
     "provider-source-address": "registry.terraform.io/terraform-lxd/lxd",
+    "proxyVendor": true,
     "repo": "terraform-provider-lxd",
-    "rev": "v1.7.2",
-    "vendorHash": "sha256-ervfG/BAaF4M+BXsp0eCDM6nPWQOS3pthClhArsUoYc=",
-    "version": "1.7.2"
+    "rev": "v1.8.0",
+    "vendorHash": "sha256-omaslX89hMAdIppBfILsGO6133Q3UgihgiJcy/Gn83M=",
+    "version": "1.8.0"
   },
   "mailgun": {
     "hash": "sha256-Yi258SIFSdD+JSi5oX74bhBFYYGYQfSAyYD07eO8MmM=",
@@ -741,22 +742,22 @@
     "version": "3.3.0"
   },
   "minio": {
-    "hash": "sha256-fSZf5lLs3INa742AL3ayuvHr5vsr2/i4yjSvNrCzBT0=",
+    "hash": "sha256-mtguRBSa+XrpUqEXb9voDHraae9fOaayX1nQpaeAlo4=",
     "owner": "aminueza",
     "provider-source-address": "registry.terraform.io/aminueza/minio",
     "repo": "terraform-provider-minio",
-    "rev": "v1.8.0",
-    "vendorHash": "sha256-LcU7Pord10j4Eyxx2xIVcQXiZQT9kSTz8iBJCe8/E7s=",
-    "version": "1.8.0"
+    "rev": "v1.9.1",
+    "vendorHash": "sha256-VxISNcWEnBAa+8WsmqxcT+DPF74X8rLlvdSNJtx0++I=",
+    "version": "1.9.1"
   },
   "mongodbatlas": {
-    "hash": "sha256-NVbUKSG5rGUtRlaJVND3nW+0Svc2d8R8uvxGKcQktco=",
+    "hash": "sha256-rHT/x3Wpd7b4u7v1/g6DY85TwRkf5A7KaOiqoWeN05Y=",
     "owner": "mongodb",
     "provider-source-address": "registry.terraform.io/mongodb/mongodbatlas",
     "repo": "terraform-provider-mongodbatlas",
-    "rev": "v1.4.6",
-    "vendorHash": "sha256-OwyzkTgOcn9brsQS1bfOEaXYk9nNLyHsEwli+5PAIPE=",
-    "version": "1.4.6"
+    "rev": "v1.6.0",
+    "vendorHash": "sha256-dFlDUJGVTWQwXXGaWeG07kKyXcWWzuyqYlPm11yaCqI=",
+    "version": "1.6.0"
   },
   "namecheap": {
     "hash": "sha256-cms8YUL+SjTeYyIOQibksi8ZHEBYq2JlgTEpOO1uMZE=",
@@ -777,13 +778,13 @@
     "version": "0.6.12"
   },
   "newrelic": {
-    "hash": "sha256-C8lWtFECZrtj6ZyurbysZnCMfX1uJWhO4r188Wobg/M=",
+    "hash": "sha256-d5JRqxMmG7fku8+C8e700nfghz2wbL0n1TrOZb1hkpY=",
     "owner": "newrelic",
     "provider-source-address": "registry.terraform.io/newrelic/newrelic",
     "repo": "terraform-provider-newrelic",
-    "rev": "v3.6.1",
-    "vendorHash": "sha256-lEFcR908CK4RSSO/3kbqQ/wse5HKaqveWUZbzUhUTMI=",
-    "version": "3.6.1"
+    "rev": "v3.7.1",
+    "vendorHash": "sha256-gKPopfkEx1YRxcsO8W2+2EqKJfYbJ/pJgpydc1YScDA=",
+    "version": "3.7.1"
   },
   "nomad": {
     "hash": "sha256-oHY+jM4JQgLlE1wd+/H9H8H2g0e9ZuxI6OMlz3Izfjg=",
@@ -795,13 +796,13 @@
     "version": "1.4.19"
   },
   "ns1": {
-    "hash": "sha256-vw3n1EBKwOThoJ+2hFa4rsMzvWCOnhoYOmJpX8LQKy8=",
+    "hash": "sha256-qHR3KJa1y10B+iQPgH6lTt/JUqTmiK/60rPCa3gQDP8=",
     "owner": "ns1-terraform",
     "provider-source-address": "registry.terraform.io/ns1-terraform/ns1",
     "repo": "terraform-provider-ns1",
-    "rev": "v1.12.8",
-    "vendorHash": "sha256-MaJHCxvD9BM5G8wJbSo06+TIPvJTlXzQ+l9Kdbg0QQw=",
-    "version": "1.12.8"
+    "rev": "v1.13.0",
+    "vendorHash": "sha256-6ePPxdULuTzLdVzzr12BjLu/lBN+5yIUq8U8FVUw/PM=",
+    "version": "1.13.0"
   },
   "nsxt": {
     "hash": "sha256-TOoRtCKdR1fBjk39dbMgBd7pDJGfjvkQAqfpJzWRwRg=",
@@ -813,13 +814,13 @@
     "version": "3.2.9"
   },
   "null": {
-    "hash": "sha256-2YM3btZInUlIwp1VkasuugZZ8FervpRviUlx60vhVak=",
+    "hash": "sha256-ExXDbAXMVCTZBlYmi4kD/7JFB1fCFAoPL637+1N6rEI=",
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/null",
     "repo": "terraform-provider-null",
-    "rev": "v3.2.0",
-    "vendorHash": "sha256-rbZ7t5hcHkbbmqy+htYL7Ij8ZNILRsvUgLwwVObnZGg=",
-    "version": "3.2.0"
+    "rev": "v3.2.1",
+    "vendorHash": "sha256-vXyE0/tXzFHJPNq8MZ+NZItDWS3K7ZhtY23hGjtqRh8=",
+    "version": "3.2.1"
   },
   "nutanix": {
     "deleteVendor": true,
@@ -832,13 +833,13 @@
     "version": "1.7.1"
   },
   "oci": {
-    "hash": "sha256-PSkD2HXGmSimJYQPZKuVCGvEa0sSNc4XMRRrM5O+/QE=",
+    "hash": "sha256-t8GrhKnKredpbRmx/MAA4tx0kV0yZoFNnacKsp0Htro=",
     "owner": "oracle",
     "provider-source-address": "registry.terraform.io/oracle/oci",
     "repo": "terraform-provider-oci",
-    "rev": "v4.96.0",
+    "rev": "v4.100.0",
     "vendorHash": null,
-    "version": "4.96.0"
+    "version": "4.100.0"
   },
   "okta": {
     "hash": "sha256-COGXHUjXYGB2QDY0iBG+MvNcxGy87vpGIerQU2XXEmw=",
@@ -859,13 +860,13 @@
     "version": "1.0.1"
   },
   "opennebula": {
-    "hash": "sha256-QD/JU1sk1uEdgyOxvU+vDDqlYe5uoRxHx6nB0fCi6ds=",
+    "hash": "sha256-jm7k0k28TSfnUA6P2RjSfF36o/nznvDWcDmJz/MAMXU=",
     "owner": "OpenNebula",
     "provider-source-address": "registry.terraform.io/OpenNebula/opennebula",
     "repo": "terraform-provider-opennebula",
-    "rev": "v1.0.1",
-    "vendorHash": "sha256-iT3c0CBSP+FKM4CFsTopY4W41ZCaC8E3Iz1o+THI/fQ=",
-    "version": "1.0.1"
+    "rev": "v1.0.2",
+    "vendorHash": "sha256-tkb+P+eTid5dgCw6bErr7i0F+E8UCt/HyFA2e3y0XT0=",
+    "version": "1.0.2"
   },
   "openstack": {
     "hash": "sha256-k5UyK9jmjZzHw8AwmDRtyCyJgILAcCK+nN+hklJ9VFw=",
@@ -877,22 +878,22 @@
     "version": "1.49.0"
   },
   "opentelekomcloud": {
-    "hash": "sha256-oqagD7YK/HyAoeI5WBrHuAmWiLoz/1441zne8vqN3A8=",
+    "hash": "sha256-bDhtGpS8dqQdjcLqtJwae9dmUO41l4DeTRYMARBpnrM=",
     "owner": "opentelekomcloud",
     "provider-source-address": "registry.terraform.io/opentelekomcloud/opentelekomcloud",
     "repo": "terraform-provider-opentelekomcloud",
-    "rev": "v1.31.6",
-    "vendorHash": "sha256-AuxvQffKOHPqda8nMJPxWVMui9+d8IhmbPsZK/9A1yI=",
-    "version": "1.31.6"
+    "rev": "v1.31.8",
+    "vendorHash": "sha256-TnsdOX0Tt0oYavBI2fPcO+OV8VkWQEgGasqDTm5XkDU=",
+    "version": "1.31.8"
   },
   "opsgenie": {
-    "hash": "sha256-DhECesGkBaQuk43pF4xk6zln+FzgL+1A1rSm0sqg7XQ=",
+    "hash": "sha256-OTwQ/sF4/xSyJjYy1TvLOr1guGcho+Es9/WkonfVvcg=",
     "owner": "opsgenie",
     "provider-source-address": "registry.terraform.io/opsgenie/opsgenie",
     "repo": "terraform-provider-opsgenie",
-    "rev": "v0.6.16",
+    "rev": "v0.6.17",
     "vendorHash": null,
-    "version": "0.6.16"
+    "version": "0.6.17"
   },
   "ovh": {
     "hash": "sha256-QaJZQU6bnjXoTCxfP1NcsPqegFyZ6JwP2QgN7zrE0z0=",
@@ -904,22 +905,13 @@
     "version": "0.22.0"
   },
   "pagerduty": {
-    "hash": "sha256-S55TSm3aFe9ACo+ysNRnyQ/U55C2KoZroQEHVBXsSPI=",
+    "hash": "sha256-vkfsQxjlYSOl0VJBWvFCxVz7o+XgxDMkwFMomdl+iWQ=",
     "owner": "PagerDuty",
     "provider-source-address": "registry.terraform.io/PagerDuty/pagerduty",
     "repo": "terraform-provider-pagerduty",
-    "rev": "v2.6.3",
+    "rev": "v2.6.4",
     "vendorHash": null,
-    "version": "2.6.3"
-  },
-  "panos": {
-    "hash": "sha256-mscWNK113W7CVKI+qPGYX3irQI3YhkLdXox4pddOdF0=",
-    "owner": "PaloAltoNetworks",
-    "provider-source-address": "registry.terraform.io/PaloAltoNetworks/panos",
-    "repo": "terraform-provider-panos",
-    "rev": "v1.10.3",
-    "vendorHash": null,
-    "version": "1.10.3"
+    "version": "2.6.4"
   },
   "pass": {
     "hash": "sha256-hFgNWw6ZmATo0bFZvJL9z/lJF506KsBewigGoFj67sM=",
@@ -994,13 +986,13 @@
     "version": "0.4.3"
   },
   "scaleway": {
-    "hash": "sha256-mo8zq/EdT6RrOxBAnWu1rhQpZ26DZcU7I/dMCUIHxBE=",
+    "hash": "sha256-HQljeUvK010LSWObuZmTkkB6ByrtgBRAeZPYv3d/KSs=",
     "owner": "scaleway",
     "provider-source-address": "registry.terraform.io/scaleway/scaleway",
     "repo": "terraform-provider-scaleway",
-    "rev": "v2.5.0",
-    "vendorHash": "sha256-CycLXG84Sfi1aciXn2darHIGfE6DpCYOHc7Op/0R26I=",
-    "version": "2.5.0"
+    "rev": "v2.6.0",
+    "vendorHash": "sha256-XlEvaXd+mAvbFeQmTOE+bFsYok/Ke1mVwIUY3VY8zDI=",
+    "version": "2.6.0"
   },
   "secret": {
     "hash": "sha256-MmAnA/4SAPqLY/gYcJSTnEttQTsDd2kEdkQjQj6Bb+A=",
@@ -1012,22 +1004,22 @@
     "version": "1.2.1"
   },
   "selectel": {
-    "hash": "sha256-2PwqVzwl8UIO+334lp9zkwkr2zAdI8S/rO+6iqTLu+I=",
+    "hash": "sha256-glIvlf5lWwkdZKn4rxhR+XnBqUdu9RO+loxke07i2c0=",
     "owner": "selectel",
     "provider-source-address": "registry.terraform.io/selectel/selectel",
     "repo": "terraform-provider-selectel",
-    "rev": "v3.8.5",
-    "vendorHash": "sha256-/7YQa84hOrOAGQSW1kVE27aM2253IB4pvA0ASAJe8VQ=",
-    "version": "3.8.5"
+    "rev": "v3.9.0",
+    "vendorHash": "sha256-0UOC70RWcEb/YqPrrc7k+dY7jBuTZLWvUTNxuUZIyu4=",
+    "version": "3.9.0"
   },
   "sentry": {
-    "hash": "sha256-dNyUp+gXrOvMQu5tEnv2dOsXihyd19gdYakIo7+h3pY=",
+    "hash": "sha256-D6w2HfgIcNFfDXeqzuerK8msrFF7vajk80MUxbUxA+A=",
     "owner": "jianyuan",
     "provider-source-address": "registry.terraform.io/jianyuan/sentry",
     "repo": "terraform-provider-sentry",
-    "rev": "v0.9.4",
-    "vendorHash": "sha256-ohPZpFCjawaymVHZoCstPeu+p0erRnfnpbjipT6Sp20=",
-    "version": "0.9.4"
+    "rev": "v0.10.0",
+    "vendorHash": "sha256-OxapqNRE5Poz6qsFjDv5G5zzivbBldzjC7kbwG2Cswg=",
+    "version": "0.10.0"
   },
   "shell": {
     "hash": "sha256-LTWEdXxi13sC09jh+EFZ6pOi1mzuvgBz5vceIkNE/JY=",
@@ -1048,22 +1040,22 @@
     "version": "6.18.0"
   },
   "skytap": {
-    "hash": "sha256-EAimiuQJOt12baZSjDKI+c9UjJd8e26ouOAZIZezw/I=",
+    "hash": "sha256-JII4czazo6Di2sad1uFHMKDO2gWgZlQE8l/+IRYHQHU=",
     "owner": "skytap",
     "provider-source-address": "registry.terraform.io/skytap/skytap",
     "repo": "terraform-provider-skytap",
-    "rev": "v0.15.0",
+    "rev": "v0.15.1",
     "vendorHash": null,
-    "version": "0.15.0"
+    "version": "0.15.1"
   },
   "snowflake": {
-    "hash": "sha256-i96scuSP7I8rcyncUkpBoxxM0D4zp9rNHqWwb9WLbhA=",
+    "hash": "sha256-V2N9Lq425fdjlJ+lCVQzMAYfEiS2/Oqevz1dIve//FA=",
     "owner": "Snowflake-Labs",
     "provider-source-address": "registry.terraform.io/Snowflake-Labs/snowflake",
     "repo": "terraform-provider-snowflake",
-    "rev": "v0.46.0",
-    "vendorHash": "sha256-43q1SrV7tEt0x7iRUAgBFg1oh8+B9i1i59nlR8kbLIY=",
-    "version": "0.46.0"
+    "rev": "v0.52.0",
+    "vendorHash": "sha256-n6ov9eTlNF/jNDTDOZuuqyFfuv8lDZHKP/5jhFauwY8=",
+    "version": "0.52.0"
   },
   "sops": {
     "hash": "sha256-6FuThi6iuuUGcMhswAk3Z6Lxth/2nuI57A02Xu2s+/U=",
@@ -1075,13 +1067,13 @@
     "version": "0.7.1"
   },
   "spotinst": {
-    "hash": "sha256-D/cLkMAZwjJoaliUmfiLAn6uY1rNt1vu6QS5mQmBQ0s=",
+    "hash": "sha256-9i8mHWn9+ey0tHPXOjZyNixcrdgAl2Y8sJq/q4WlZzo=",
     "owner": "spotinst",
     "provider-source-address": "registry.terraform.io/spotinst/spotinst",
     "repo": "terraform-provider-spotinst",
-    "rev": "v1.85.1",
-    "vendorHash": "sha256-BDYX/4D3R2A1w3k14mON/2KZUg2kPbwePXQQpVanqdU=",
-    "version": "1.85.1"
+    "rev": "v1.87.0",
+    "vendorHash": "sha256-INJLhHiMs/bk3Y8/shtQaW10bUnuhCXdTa8wCNZf0+U=",
+    "version": "1.87.0"
   },
   "stackpath": {
     "hash": "sha256-nTR9HgSmuNCt7wxE4qqIH2+HA2igzqVx0lLRx6FoKrE=",
@@ -1102,13 +1094,13 @@
     "version": "2.0.5"
   },
   "sumologic": {
-    "hash": "sha256-DvEd1OdLmUEEmk0zl7jiTjdk/3Fp1Z/3KCpYRpxHTn4=",
+    "hash": "sha256-lhMPA4ub3NlaYs0pX6FkWuR3LQxytrQxu9DjAjDja2Q=",
     "owner": "SumoLogic",
     "provider-source-address": "registry.terraform.io/SumoLogic/sumologic",
     "repo": "terraform-provider-sumologic",
-    "rev": "v2.19.1",
+    "rev": "v2.19.2",
     "vendorHash": "sha256-W+dV6rmyOqCeQboYvpxYoNZixv2+uBd2+sc9BvTE+Ag=",
-    "version": "2.19.1"
+    "version": "2.19.2"
   },
   "tailscale": {
     "hash": "sha256-/qC8TOtoVoBTWeAFpt2TYE8tlYBCCcn/mzVQ/DN51YQ=",
@@ -1120,22 +1112,22 @@
     "version": "0.13.5"
   },
   "tencentcloud": {
-    "hash": "sha256-0nPMT5jZxqKbCLQmjBywCBh1T2P2Q1NdghXH12BXaE4=",
+    "hash": "sha256-HSZP6O9s6KkvaJK3xpy7uT3sjBlhBYEOu5k7VYW8MdU=",
     "owner": "tencentcloudstack",
     "provider-source-address": "registry.terraform.io/tencentcloudstack/tencentcloud",
     "repo": "terraform-provider-tencentcloud",
-    "rev": "v1.78.6",
+    "rev": "v1.78.12",
     "vendorHash": null,
-    "version": "1.78.6"
+    "version": "1.78.12"
   },
   "tfe": {
-    "hash": "sha256-MDlRwB2iVi/Rv7/UtukI6mIDImz8Gnpm5Qv5R6EDpiU=",
+    "hash": "sha256-ikuLRGm9Z+tt0Zsx7DYKNBrS08rW4DOvVWYpl3wvaeU=",
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/tfe",
     "repo": "terraform-provider-tfe",
-    "rev": "v0.38.0",
-    "vendorHash": "sha256-reXq1MyAhHRet1WwDJZafdOg1r7J4sktQ/QhQUPhDak=",
-    "version": "0.38.0"
+    "rev": "v0.39.0",
+    "vendorHash": "sha256-Ws9IzlZQDDAdQ4JJ326jHXUe9oQphBXb/ZNO7Kl/A1w=",
+    "version": "0.39.0"
   },
   "thunder": {
     "hash": "sha256-fXvwBOIW3/76V3O9t25wff0oGViqSaSB2VgMdItXyn4=",
@@ -1147,22 +1139,22 @@
     "version": "1.0.0"
   },
   "time": {
-    "hash": "sha256-tDYrKU/kggrv/p8QZ0LbHjQSOaNrQ0qy9ekY7DAXqEA=",
+    "hash": "sha256-FehWmIkL0o2pleafN/mlBa46cdFqCFUS+coOwFPdb9M=",
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/time",
     "repo": "terraform-provider-time",
-    "rev": "v0.9.0",
-    "vendorHash": "sha256-I4CnaSyn32S7FM56dYWZhzGUKByP2DXD0t/eBOL2ALs=",
-    "version": "0.9.0"
+    "rev": "v0.9.1",
+    "vendorHash": "sha256-MLh/we8KNrDBy2BAMZ6B/gBe0p3xJ7l/imNzTHciJjs=",
+    "version": "0.9.1"
   },
   "tls": {
-    "hash": "sha256-q3zt+5zd/bJ42sWbFwuE+rDyHHcZoVBZF4c61aJJkMs=",
+    "hash": "sha256-DBOkfvT0+mlgaWiBHggZUKvHL8jLZjQjRi0xFZKgcoM=",
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/tls",
     "repo": "terraform-provider-tls",
-    "rev": "v4.0.3",
-    "vendorHash": "sha256-tW4e+QETPSykMEosahs68VeagToqWWe4ZUQN49gpHHM=",
-    "version": "4.0.3"
+    "rev": "v4.0.4",
+    "vendorHash": "sha256-k7aW5ZD6pAtdT6tTXy8YaJlFS5WR5FzPd9eINgPBYJM=",
+    "version": "4.0.4"
   },
   "triton": {
     "deleteVendor": true,
@@ -1184,13 +1176,13 @@
     "version": "1.9.1"
   },
   "ucloud": {
-    "hash": "sha256-O/M864JY7nW+PZ53z26QvOAar5DeqBGk+dfzarfUy+g=",
+    "hash": "sha256-x3+OuRzZdS429v0JNyZkM3v1etUgURSyi9qkt7RhqlI=",
     "owner": "ucloud",
     "provider-source-address": "registry.terraform.io/ucloud/ucloud",
     "repo": "terraform-provider-ucloud",
-    "rev": "v1.32.4",
+    "rev": "v1.32.5",
     "vendorHash": null,
-    "version": "1.32.4"
+    "version": "1.32.5"
   },
   "utils": {
     "hash": "sha256-6o55uGTaqf3rbqoIGiYi5F4zOkK7D0YP+LdaMmBtw24=",
@@ -1202,14 +1194,14 @@
     "version": "1.5.0"
   },
   "vault": {
-    "hash": "sha256-r4quQMAbAei8d+hzAOa7JqRIucrFSXqbVHT/VtpzwAU=",
+    "hash": "sha256-y5pK+sZ1xWnzlhT4sFUy5Mp6sggLLtaY4Cx2OPamDIc=",
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/vault",
     "proxyVendor": true,
     "repo": "terraform-provider-vault",
-    "rev": "v3.10.0",
+    "rev": "v3.11.0",
     "vendorHash": "sha256-EOBNoEW9GI21IgXSiEN93B3skxfCrBkNwLxGXaso1oE=",
-    "version": "3.10.0"
+    "version": "3.11.0"
   },
   "vcd": {
     "hash": "sha256-qEElcMl6tCBfOTTTpTFjVYg6E6K9iTXfgmDDozrgNVg=",
@@ -1275,21 +1267,21 @@
     "version": "2.11.4"
   },
   "wavefront": {
-    "hash": "sha256-6uEEvTX0a+pZ9V+upBZOWH+IemEimVk9Jtfiz2UF5fI=",
+    "hash": "sha256-goiYeZ2iV9KjacBr/MMkA+t2WNTJGHHmwebr/ci+Ezg=",
     "owner": "vmware",
     "provider-source-address": "registry.terraform.io/vmware/wavefront",
     "repo": "terraform-provider-wavefront",
-    "rev": "v3.3.0",
+    "rev": "v3.4.0",
     "vendorHash": "sha256-ib1Esx2AO7b9S+v+zzuATgSVHI3HVwbzEeyqhpBz1BQ=",
-    "version": "3.3.0"
+    "version": "3.4.0"
   },
   "yandex": {
-    "hash": "sha256-WdiJD1gt56VDFe2qVKwiYOvneixaGRie6mrxdOCklQY=",
+    "hash": "sha256-HBGQ+WrAy+f0nK0iyd/Z+Mj5AshvHyGyBEN0E61ftn0=",
     "owner": "yandex-cloud",
     "provider-source-address": "registry.terraform.io/yandex-cloud/yandex",
     "repo": "terraform-provider-yandex",
-    "rev": "v0.81.0",
-    "vendorHash": "sha256-n+XARZuMzmxUGxFAseKyiBsKuGDUl8T6LWXzJ+6ZJ/E=",
-    "version": "0.81.0"
+    "rev": "v0.82.0",
+    "vendorHash": "sha256-Tgfgq3nrfZP2ie4KLmJq83TfzZ41lc4gwWIULLOQmBw=",
+    "version": "0.82.0"
   }
 }
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index 77939cfe42849..b6601bb91bfe4 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -168,9 +168,9 @@ rec {
   mkTerraform = attrs: pluggable (generic attrs);
 
   terraform_1 = mkTerraform {
-    version = "1.3.3";
-    sha256 = "sha256-Oqswfw/ZkBJKldRd916Jfaugz66C3wE8VU44kAkGmUA=";
-    vendorSha256 = "sha256-mXCtgB1MdMP2XlJBagaDtZURw5o0JudAB2koHmfM0f8=";
+    version = "1.3.5";
+    sha256 = "sha256-+jmZcIF9+vvjoA/PXWCc3F4l3YnlpZgxs0eGxchiIBE=";
+    vendorSha256 = "sha256-fviukVGBkbxFs2fJpEp/tFMymXex7NRQdcGIIA9W88k=";
     patches = [ ./provider-path-0_15.patch ];
     passthru = {
       inherit plugins;
diff --git a/pkgs/applications/networking/cluster/terragrunt/default.nix b/pkgs/applications/networking/cluster/terragrunt/default.nix
index 10649ffb9ffdb..55086342d7915 100644
--- a/pkgs/applications/networking/cluster/terragrunt/default.nix
+++ b/pkgs/applications/networking/cluster/terragrunt/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "terragrunt";
-  version = "0.39.2";
+  version = "0.40.2";
 
   src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-YHPtOcWhUDcCqtAmxy/veBgpYY+UmnmK2IwplI5uRh0=";
+    sha256 = "sha256-wNedd6C4NPLPw8CA1tyKx2MWsKatFbN4xt3Us2SC/ME=";
   };
 
-  vendorSha256 = "sha256-CqImT90jFFLi6XR7jfzFKwhnCHK6B+aM+Ba/L+G3bEg=";
+  vendorSha256 = "sha256-Qc0FnNxyErtieVvEj/eKPW5PpvYFwiYtv+ReJTVFAPA=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/velero/default.nix b/pkgs/applications/networking/cluster/velero/default.nix
index 49d9700feace3..8bb4dc5ad80d7 100644
--- a/pkgs/applications/networking/cluster/velero/default.nix
+++ b/pkgs/applications/networking/cluster/velero/default.nix
@@ -2,14 +2,14 @@
 
 buildGoModule rec {
   pname = "velero";
-  version = "1.9.2";
+  version = "1.9.3";
 
 
   src = fetchFromGitHub {
     owner = "vmware-tanzu";
     repo = "velero";
     rev = "v${version}";
-    sha256 = "sha256-xhsHFb3X1oM68xnYiVEa0eZr7VFdUCkNzeyvci6wb9g=";
+    sha256 = "sha256-UN1nxzcoaUrqmFAJ6LQ+Ro6Ywn/mG7J+MEJIUbpBiK4=";
   };
 
   ldflags = [
@@ -20,7 +20,7 @@ buildGoModule rec {
     "-X github.com/vmware-tanzu/velero/pkg/buildinfo.GitSHA=none"
   ];
 
-  vendorSha256 = "sha256-l8srlzoCcBZFOwVs7veQ1RvqWRIqQAaZLM/2CbNHN50=";
+  vendorSha256 = "sha256-QSR8nSKSKaFyFC6yik3f44mdNvSBgE4bFIGttuJ5oRM=";
 
   excludedPackages = [ "issue-template-gen" "release-tools" "v1" "velero-restic-restore-helper" ];
 
diff --git a/pkgs/applications/networking/cluster/waypoint/default.nix b/pkgs/applications/networking/cluster/waypoint/default.nix
index 7649cc5b7dfe7..317c0d5374bce 100644
--- a/pkgs/applications/networking/cluster/waypoint/default.nix
+++ b/pkgs/applications/networking/cluster/waypoint/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "waypoint";
-  version = "0.10.2";
+  version = "0.10.3";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-4RAnGPzXrPXMclDiTd38VrOy7zqvccD/xrm3QpeFubM=";
+    sha256 = "sha256-+lNeMcSlhmbs1knONnoX2RhEgxTYyCfpdD6WuDTiLx8=";
   };
 
-  vendorSha256 = "sha256-fBsRmUE72lot9Ju/hUqpdSSXvMktRGP+H4WQ0GOCxrY=";
+  vendorSha256 = "sha256-59rJ30m6eiNIapJUNc1jRJE7IoAj0O+5G8JyKkhcyvY=";
 
   nativeBuildInputs = [ go-bindata installShellFiles ];
 
diff --git a/pkgs/applications/networking/cluster/werf/default.nix b/pkgs/applications/networking/cluster/werf/default.nix
index c5f8b3364fece..fb19070e45919 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 = "1.2.184";
+  version = "1.2.190";
 
   src = fetchFromGitHub {
     owner = "werf";
     repo = "werf";
     rev = "v${version}";
-    hash = "sha256-u3Mf7a+IGLWYvAt/Db/BwvtGc66SnYz5Qx2BkCCLKPg=";
+    hash = "sha256-xjZVBLdDLLlfnXX87lwgIeQ6ySI9cNoE5nrRJVBS/l0=";
   };
 
-  vendorHash = "sha256-T9xGLQcnO9xyRVNX3xCwsOOXWvBbhhw9dH8gW7aBUjE=";
+  vendorHash = "sha256-GjcmpHyjhjCWE5gQR/oTHfhHYg5WRu8uhgAuWhdxlYk=";
 
   proxyVendor = true;
 
diff --git a/pkgs/applications/networking/dnscontrol/default.nix b/pkgs/applications/networking/dnscontrol/default.nix
index 4493871a6ae74..d4f567022c2dc 100644
--- a/pkgs/applications/networking/dnscontrol/default.nix
+++ b/pkgs/applications/networking/dnscontrol/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "dnscontrol";
-  version = "3.20.0";
+  version = "3.22.1";
 
   src = fetchFromGitHub {
     owner = "StackExchange";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-jBpapZIQGYC63SEc4kT6pEbNR3H1IQFM7P/wxMlrP8I=";
+    sha256 = "sha256-Lv4ZX8QXRkicPH69kvUAPcgesGvhQkNiwZiNcFbReSU=";
   };
 
-  vendorSha256 = "sha256-iY4Q1P4Mir6idcv88Op5v0kQ7PkoOm85aCBb845xvGs=";
+  vendorSha256 = "sha256-gKsYy3izx8i7nOazBF4w1SPUJT9D2hbjOr6LqonVqno=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/pkgs/applications/networking/feedreaders/goeland/default.nix b/pkgs/applications/networking/feedreaders/goeland/default.nix
new file mode 100644
index 0000000000000..946e145a5707a
--- /dev/null
+++ b/pkgs/applications/networking/feedreaders/goeland/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "goeland";
+  version = "0.12.3";
+
+  src = fetchFromGitHub {
+    owner = "slurdge";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-R3ZkGTq0g90DkflLXr2MUBIv5Qspi3OM+sdDGqJYjyw=";
+  };
+
+  vendorSha256 = "sha256-iljGBe8c6dqEHRpMN5cz7wmminejoiXXDKuQDazDztA=";
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/slurdge/goeland/version.GitCommit=${version}"
+  ];
+
+  meta = with lib; {
+    description = "An alternative to RSS2Email written in golang with many filters.";
+    longDescription = ''
+      Goeland excels at creating beautiful emails from RSS,
+      tailored for daily or weekly digest. It include a number of
+      filters that can transform the RSS content along the way.
+      It can also consume other sources, such as a Imgur tag.
+    '';
+    homepage = "https://github.com/slurdge/goeland";
+    license = with licenses; [ mit ];
+    maintainers = [ maintainers.sweenu ];
+  };
+}
diff --git a/pkgs/applications/networking/feedreaders/newsflash/default.nix b/pkgs/applications/networking/feedreaders/newsflash/default.nix
index 34b1409a0717c..7b53d2210feb6 100644
--- a/pkgs/applications/networking/feedreaders/newsflash/default.nix
+++ b/pkgs/applications/networking/feedreaders/newsflash/default.nix
@@ -21,19 +21,19 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "newsflash";
-  version = "2.1.2";
+  version = "2.2.2";
 
   src = fetchFromGitLab {
     owner = "news-flash";
     repo = "news_flash_gtk";
     rev = "refs/tags/v.${finalAttrs.version}";
-    sha256 = "sha256-Q9KCzzBM0BzdmBUs8vJ4DR0e5XAHoAxrTpMvsKnuIAQ=";
+    sha256 = "sha256-QEfbuTJ0spp0g/XPoS0ZaqudSkWZtXMd3ZTzAHiv45Q=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     name = "${finalAttrs.pname}-${finalAttrs.version}";
     src = finalAttrs.src;
-    sha256 = "sha256-GxRuN5ufzSB/XOb6TWLlvgg7KBNgZ+oJpOowR9Ze9OQ=";
+    sha256 = "sha256-AGsiB+xNSZzaG/PFgjKNKQopRUcyX27sLdyhT626Gcc=";
   };
 
   patches = [
diff --git a/pkgs/applications/networking/flent/default.nix b/pkgs/applications/networking/flent/default.nix
index 8df990ec4fa56..008579ea54fae 100644
--- a/pkgs/applications/networking/flent/default.nix
+++ b/pkgs/applications/networking/flent/default.nix
@@ -1,23 +1,39 @@
-{ lib, buildPythonApplication, fetchPypi, matplotlib, procps, pyqt5, python
-, pythonPackages, qt5, sphinx, xvfb-run }:
-
+{
+  lib,
+  buildPythonApplication,
+  fetchPypi,
+  procps,
+  python,
+  qt5,
+  xvfb-run,
+}:
 buildPythonApplication rec {
   pname = "flent";
-  version = "2.0.1";
+  version = "2.1.1";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "300a09938dc2b4a0463c9144626f25e0bd736fd47806a9444719fa024d671796";
+    sha256 = "sha256-21gd6sPYCZll3Q2O7kucTRhXvc5byXeQr50+1bZVT3M=";
   };
 
-  buildInputs = [ sphinx ];
-  nativeBuildInputs = [ qt5.wrapQtAppsHook ];
-  propagatedBuildInputs = [ matplotlib procps pyqt5 ];
-  checkInputs = [ procps pythonPackages.mock pyqt5 xvfb-run ];
+  buildInputs = [python.pkgs.sphinx];
+  nativeBuildInputs = [qt5.wrapQtAppsHook];
+  propagatedBuildInputs = [
+    procps
+    python.pkgs.matplotlib
+    python.pkgs.pyqt5
+    python.pkgs.qtpy
+  ];
+  checkInputs = [
+    python.pkgs.mock
+    xvfb-run
+  ];
 
   checkPhase = ''
+    # we want the gui tests to always run
+    sed -i 's|self.skip|pass; #&|' unittests/test_gui.py
+
     cat >test-runner <<EOF
     #!/bin/sh
-
     ${python.pythonForBuild.interpreter} nix_run_setup test
     EOF
     chmod +x test-runner
@@ -34,6 +50,6 @@ buildPythonApplication rec {
     homepage = "https://flent.org";
     license = licenses.gpl3;
 
-    maintainers = [ maintainers.mmlb ];
+    maintainers = [maintainers.mmlb];
   };
 }
diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix
index a469287ed4d01..16461e4d0c4fc 100644
--- a/pkgs/applications/networking/flexget/default.nix
+++ b/pkgs/applications/networking/flexget/default.nix
@@ -5,23 +5,20 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "flexget";
-  version = "3.4.2";
+  version = "3.5.5";
+  format = "pyproject";
 
   # Fetch from GitHub in order to use `requirements.in`
   src = fetchFromGitHub {
     owner = "flexget";
     repo = "flexget";
     rev = "refs/tags/v${version}";
-    hash = "sha256-mq1xk27mIB1iiCphwMZRVqlIRwlYHihXSowQ9GAkR1U=";
+    hash = "sha256-jyMjcFQXv9wGcvBU+Ki970HAgSQD57Zx3G9gf/mj25A=";
   };
 
   postPatch = ''
-    # Symlink requirements.in because upstream uses `pip-compile` which yields
-    # python-version dependent requirements
-    ln -sf requirements.in requirements.txt
-
-    # remove dependency constraints
-    sed 's/[~<>=].*//' -i requirements.txt
+    # remove dependency constraints but keep environment constraints
+    sed 's/[~<>=][^;]*//' -i requirements.txt
 
     # "zxcvbn-python" was renamed to "zxcvbn", and we don't have the former in
     # nixpkgs. See: https://github.com/NixOS/nixpkgs/issues/62110
@@ -32,7 +29,7 @@ python3Packages.buildPythonApplication rec {
   doCheck = false;
 
   propagatedBuildInputs = with python3Packages; [
-    # See https://github.com/Flexget/Flexget/blob/master/requirements.in
+    # See https://github.com/Flexget/Flexget/blob/master/requirements.txt
     APScheduler
     beautifulsoup4
     click
@@ -55,6 +52,7 @@ python3Packages.buildPythonApplication rec {
     rich
     rpyc
     sqlalchemy
+    typing-extensions
 
     # WebUI requirements
     cherrypy
diff --git a/pkgs/applications/networking/gmailctl/default.nix b/pkgs/applications/networking/gmailctl/default.nix
index be26e31c7e39b..cce2b739e1001 100644
--- a/pkgs/applications/networking/gmailctl/default.nix
+++ b/pkgs/applications/networking/gmailctl/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "gmailctl";
-  version = "0.10.5";
+  version = "0.10.6";
 
   src = fetchFromGitHub {
     owner = "mbrt";
     repo = "gmailctl";
     rev = "v${version}";
-    sha256 = "sha256-H1Nuu/T55e5zWUmofKoyVSA4TaJBdK+JeZtw+G/sC54=";
+    sha256 = "sha256-OpRkBHNWRrBhh6nGrV7dZT01xsSlbANCk+g7b8SidG0=";
   };
 
-  vendorSha256 = "sha256-ivkTtcvoH+i58iQM9T0xio0YUeMhNzDcmrCSuGFljEI=";
+  vendorSha256 = "sha256-+r0WHrKARcxW1hUY1HwAXk0X6ZQrbgBj9+GjIJV5DS0=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/applications/networking/go-graft/default.nix b/pkgs/applications/networking/go-graft/default.nix
index 88e72aaeee22a..7e268e27f1a0f 100644
--- a/pkgs/applications/networking/go-graft/default.nix
+++ b/pkgs/applications/networking/go-graft/default.nix
@@ -2,19 +2,19 @@
 
 buildGoModule rec {
   pname = "go-graft";
-  version = "0.2.13";
+  version = "0.2.15";
 
   src = fetchFromGitHub {
     owner = "mzz2017";
     repo = "gg";
     rev = "v${version}";
-    sha256 = "sha256-+AQFvYmuyU2z0F8XHdzkimf/zHMVUiw3TN2jMXTe11s=";
+    sha256 = "sha256-INoJcb6XUMvT1E56hC3BGK3Ax+v4jSRpZV12zpjYfMA=";
   };
 
   CGO_ENABLED = 0;
 
   ldflags = [ "-X github.com/mzz2017/gg/cmd.Version=${version}" "-s" "-w" "-buildid=" ];
-  vendorSha256 = "sha256-MJMOCUIosLT9XhRsahQMx4Kq6j/aqCjhPq0ZvJc/Soc=";
+  vendorSha256 = "sha256-kKIekANzLY2TYFyII1/BkKkqPYgmHB9xEfAVhJyI8FI=";
   subPackages = [ "." ];
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/google-drive-ocamlfuse/default.nix b/pkgs/applications/networking/google-drive-ocamlfuse/default.nix
index 612bb0eaf160c..a61458155d0cb 100644
--- a/pkgs/applications/networking/google-drive-ocamlfuse/default.nix
+++ b/pkgs/applications/networking/google-drive-ocamlfuse/default.nix
@@ -1,5 +1,5 @@
 { lib, buildDunePackage, fetchFromGitHub
-, ocaml_extlib, ocamlfuse, gapi-ocaml, ocaml_sqlite3
+, extlib, ocamlfuse, gapi-ocaml, ocaml_sqlite3
 , tiny_httpd
 , ounit
 }:
@@ -18,7 +18,7 @@ buildDunePackage rec {
   doCheck = true;
   checkInputs = [ ounit ];
 
-  buildInputs = [ ocaml_extlib ocamlfuse gapi-ocaml ocaml_sqlite3 tiny_httpd ];
+  buildInputs = [ extlib ocamlfuse gapi-ocaml ocaml_sqlite3 tiny_httpd ];
 
   meta = {
     inherit (src.meta) homepage;
diff --git a/pkgs/applications/networking/hyprspace/default.nix b/pkgs/applications/networking/hyprspace/default.nix
index 5482ce12e253c..69b0f1642334d 100644
--- a/pkgs/applications/networking/hyprspace/default.nix
+++ b/pkgs/applications/networking/hyprspace/default.nix
@@ -21,5 +21,6 @@ buildGoModule rec {
     license = licenses.asl20;
     maintainers = with maintainers; [ yusdacra ];
     platforms = platforms.linux ++ platforms.darwin;
+    broken = true; # build fails with go > 1.17
   };
 }
diff --git a/pkgs/applications/networking/ike/default.nix b/pkgs/applications/networking/ike/default.nix
deleted file mode 100644
index d4709e6655f06..0000000000000
--- a/pkgs/applications/networking/ike/default.nix
+++ /dev/null
@@ -1,62 +0,0 @@
-{ lib, stdenv, fetchurl, fetchpatch, cmake, openssl, libedit, flex, bison, qt4, makeWrapper
-, gcc, nettools, iproute2, linuxHeaders }:
-
-# NOTE: use $out/etc/iked.conf as sample configuration and also set: dhcp_file "/etc/iked.dhcp";
-# launch with "iked -f /etc/iked.conf"
-
-# NOTE: my testings reveal that kernels 3.11.10 and 3.12.6 won't let the traffic through the tunnel,
-# so I'm sticking with 3.4
-
-stdenv.mkDerivation rec {
-  pname = "ike";
-  version = "2.2.1";
-
-  src = fetchurl {
-    url = "https://www.shrew.net/download/ike/${pname}-${version}-release.tgz";
-    sha256 = "0fhyr2psd93b0zf7yfb72q3nqnh65mymgq5jpjcsj9jv5kfr6l8y";
-  };
-
-  patches = [
-    # required for openssl 1.1.x compatibility
-    (fetchpatch {
-      name = "openssl-1.1.0.patch";
-      url = "https://aur.archlinux.org/cgit/aur.git/plain/openssl-1.1.0.patch?h=ike&id=3a56735ddc26f750df4720f4baba0728bb4cb458";
-      sha256 = "1hw8q4xy858rivpjkq5288q3mc75d52bg4w3n30y99h05wik0h51";
-    })
-  ];
-
-  nativeBuildInputs = [ cmake flex bison makeWrapper ];
-  buildInputs = [ openssl libedit qt4 nettools iproute2 ];
-
-  postPatch = ''
-    # fix build with bison3
-    sed -i 's/define "parser_class_name"/define parser_class_name/' source/iked/conf.parse.yy
-  '';
-
-  configurePhase = ''
-    mkdir -p $out/{bin,sbin,lib}
-    cmake -DQTGUI=YES -DETCDIR=$out/etc -DLIBDIR=$out/lib -DSBINDIR=$out/sbin -DBINDIR=$out/bin \
-          -DKRNINC="${linuxHeaders}/include/" -DTESTS=YES \
-          -DMANDIR=$out/man -DNATT=YES -DCMAKE_INSTALL_PREFIX:BOOL=$out
-  '';
-
-  buildPhase = ''
-    make
-  '';
-
-  installPhase = ''
-    make install
-    for file in "$out"/bin/* "$out"/sbin/*; do
-        wrapProgram $file --prefix LD_LIBRARY_PATH ":" "$out/lib:${lib.makeLibraryPath [ openssl gcc.cc stdenv.cc.libc libedit qt4 ]}"
-    done
-  '';
-
-  meta = with lib; {
-    broken = (stdenv.isLinux && stdenv.isAarch64);
-    homepage = "https://www.shrew.net/software";
-    description = "IPsec Client for FreeBSD, NetBSD and many Linux based operating systems";
-    platforms = platforms.unix;
-    maintainers = [ ];
-    license = licenses.sleepycat;
-  };
-}
diff --git a/pkgs/applications/networking/instant-messengers/alfaview/default.nix b/pkgs/applications/networking/instant-messengers/alfaview/default.nix
index 40eedd5a7d061..87e96f7b622f8 100644
--- a/pkgs/applications/networking/instant-messengers/alfaview/default.nix
+++ b/pkgs/applications/networking/instant-messengers/alfaview/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "alfaview";
-  version = "8.54.0";
+  version = "8.57.0";
 
   src = fetchurl {
     url = "https://production-alfaview-assets.alfaview.com/stable/linux/${pname}_${version}.deb";
-    sha256 = "sha256-wvuBGBWM0tTXyrruYqifn+fl7NnIwmLhm9ePqspukaU=";
+    sha256 = "sha256-xYHi+lOONE2cxEcuuN2bWh5kF5fcfCNq2GII792IGro=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/baresip/default.nix b/pkgs/applications/networking/instant-messengers/baresip/default.nix
index fd4e214cb0304..f9756594c5cce 100644
--- a/pkgs/applications/networking/instant-messengers/baresip/default.nix
+++ b/pkgs/applications/networking/instant-messengers/baresip/default.nix
@@ -25,13 +25,13 @@
 , libvpx
 }:
 stdenv.mkDerivation rec {
-  version = "2.8.2";
+  version = "2.9.0";
   pname = "baresip";
   src = fetchFromGitHub {
     owner = "baresip";
     repo = "baresip";
     rev = "v${version}";
-    sha256 = "sha256-+hkV9s4ORm4Kqu9zBmxtFZJFG3gh70OOxpjix052bM0=";
+    sha256 = "sha256-B4d8D4IfLYAIYVN80Lrh5bywD5iacSnUVwEzbc6Xq7g=";
   };
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/bluejeans/default.nix b/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
index 3ea66e9d43040..477ff10de30c4 100644
--- a/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
+++ b/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
@@ -44,11 +44,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "bluejeans";
-  version = "2.30.1.18";
+  version = "2.31.0.83";
 
   src = fetchurl {
     url = "https://swdl.bluejeans.com/desktop-app/linux/${getFirst 3 version}/BlueJeans_${version}.rpm";
-    sha256 = "sha256-V/3nmindkuTmUsuAuc0UxldAQe7jfeXWSZWPTXTyLq8=";
+    sha256 = "sha256-dzT6S6124l70uYqkB6fGgCpqZBXS2irgwOfkmupN8HU=";
   };
 
   nativeBuildInputs = [ rpmextract makeWrapper ];
diff --git a/pkgs/applications/networking/instant-messengers/coyim/default.nix b/pkgs/applications/networking/instant-messengers/coyim/default.nix
index d7c3de7267784..c86efd9c1030d 100644
--- a/pkgs/applications/networking/instant-messengers/coyim/default.nix
+++ b/pkgs/applications/networking/instant-messengers/coyim/default.nix
@@ -1,5 +1,15 @@
-{ lib, buildGoPackage, fetchFromGitHub, pkg-config,
-  cairo, gdk-pixbuf, glib, gnome, wrapGAppsHook, gtk3 }:
+{ lib
+, stdenv
+, buildGoPackage
+, fetchFromGitHub
+, pkg-config
+, cairo
+, gdk-pixbuf
+, glib
+, gnome
+, wrapGAppsHook
+, gtk3
+}:
 
 buildGoPackage rec {
   pname = "coyim";
@@ -22,6 +32,7 @@ buildGoPackage rec {
     description = "a safe and secure chat client";
     homepage = "https://coy.im/";
     license = licenses.gpl3;
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/dino/default.nix b/pkgs/applications/networking/instant-messengers/dino/default.nix
index d18341b220f49..72e546286bf5a 100644
--- a/pkgs/applications/networking/instant-messengers/dino/default.nix
+++ b/pkgs/applications/networking/instant-messengers/dino/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dino";
-  version = "0.3.0";
+  version = "0.3.1";
 
   src = fetchFromGitHub {
     owner = "dino";
     repo = "dino";
     rev = "v${version}";
-    sha256 = "sha256-L5a5QlF9qlr4X/hGTabbbvOE5J1x/UVneWl/BRAa29Q=";
+    sha256 = "sha256-wjSgs1mUMV7j/8ZeXqWs8aOeWvJHwKziUfbtOC1HS3s=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix
index f78aba44f2324..9fd1027055631 100644
--- a/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -2,8 +2,8 @@
 let
   versions = if stdenv.isLinux then {
     stable = "0.0.21";
-    ptb = "0.0.34";
-    canary = "0.0.142";
+    ptb = "0.0.35";
+    canary = "0.0.143";
   } else {
     stable = "0.0.264";
     ptb = "0.0.59";
@@ -18,14 +18,18 @@ let
       };
       ptb = fetchurl {
         url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
-        sha256 = "CD6dLoBnlvhpwEFfLI9OqjhviZPj3xNDyPK9qBJUqck=";
+        sha256 = "bnp5wfcR21s7LMPxFgj5G3UsxPWlFj4t6CbeosiufHY=";
       };
       canary = fetchurl {
         url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
-        sha256 = "sha256-/EWJC3hFIBqwHa9z4nMWR7CpoaqYY+pvw+1vcq4F0LU=";
+        sha256 = "sha256-K+yyg9GTAvggfn4JQCTmq016tMyyzq+nD7aL3+bWFlo=";
       };
     };
-    aarch64-darwin = {
+    x86_64-darwin = {
+      stable = fetchurl {
+        url = "https://dl.discordapp.net/apps/osx/${version}/Discord.dmg";
+        sha256 = "1jvlxmbfqhslsr16prsgbki77kq7i3ipbkbn67pnwlnis40y9s7p";
+      };
       ptb = fetchurl {
         url = "https://dl-ptb.discordapp.net/apps/osx/${version}/DiscordPTB.dmg";
         sha256 = "sha256-LS7KExVXkOv8O/GrisPMbBxg/pwoDXIOo1dK9wk1yB8=";
@@ -35,15 +39,7 @@ let
         sha256 = "0mqpk1szp46mih95x42ld32rrspc6jx1j7qdaxf01whzb3d4pi9l";
       };
     };
-    # Stable does not (yet) provide aarch64-darwin support. PTB and Canary, however, do.
-    x86_64-darwin =
-      aarch64-darwin
-      // {
-        stable = fetchurl {
-          url = "https://dl.discordapp.net/apps/osx/${version}/Discord.dmg";
-          sha256 = "1jvlxmbfqhslsr16prsgbki77kq7i3ipbkbn67pnwlnis40y9s7p";
-        };
-      };
+    aarch64-darwin = x86_64-darwin;
   };
   src = srcs.${stdenv.hostPlatform.system}.${branch};
 
@@ -54,8 +50,7 @@ let
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
     maintainers = with maintainers; [ MP2E devins2518 artturin infinidoge ];
-    platforms = [ "x86_64-linux" "x86_64-darwin" ]
-      ++ lib.optionals (branch != "stable") [ "aarch64-darwin" ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
   };
   package =
     if stdenv.isLinux
diff --git a/pkgs/applications/networking/instant-messengers/discord/linux.nix b/pkgs/applications/networking/instant-messengers/discord/linux.nix
index a6f0063efe4a0..0b246125ffe74 100644
--- a/pkgs/applications/networking/instant-messengers/discord/linux.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/linux.nix
@@ -77,7 +77,6 @@ stdenv.mkDerivation rec {
     libXrender
     libXtst
     nspr
-    nss
     libxcb
     pango
     libXScrnSaver
diff --git a/pkgs/applications/networking/instant-messengers/element/element-web.nix b/pkgs/applications/networking/instant-messengers/element/element-web.nix
index 92130d3099020..864c70f1917b6 100644
--- a/pkgs/applications/networking/instant-messengers/element/element-web.nix
+++ b/pkgs/applications/networking/instant-messengers/element/element-web.nix
@@ -18,73 +18,93 @@ let
     disable_guests = true; # disable automatic guest account registration at matrix.org
     piwik = false; # disable analytics
   };
-  configOverrides = writeText "element-config-overrides.json" (builtins.toJSON (noPhoningHome // conf));
 
-in stdenv.mkDerivation rec {
-  pname = "element-web";
-  inherit (pinData) version;
-
-  src = fetchFromGitHub {
-    owner = "vector-im";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = pinData.webSrcHash;
-  };
-
-  offlineCache = fetchYarnDeps {
-    yarnLock = src + "/yarn.lock";
-    sha256 = pinData.webYarnHash;
+  unwrapped = stdenv.mkDerivation rec {
+    pname = "element-web";
+    inherit (pinData) version;
+
+    src = fetchFromGitHub {
+      owner = "vector-im";
+      repo = pname;
+      rev = "v${version}";
+      sha256 = pinData.webSrcHash;
+    };
+
+    offlineCache = fetchYarnDeps {
+      yarnLock = src + "/yarn.lock";
+      sha256 = pinData.webYarnHash;
+    };
+
+    nativeBuildInputs = [ yarn fixup_yarn_lock jq nodejs ];
+
+    configurePhase = ''
+      runHook preConfigure
+
+      export HOME=$PWD/tmp
+      # with the update of openssl3, some key ciphers are not supported anymore
+      # this flag will allow those codecs again as a workaround
+      # see https://medium.com/the-node-js-collection/node-js-17-is-here-8dba1e14e382#5f07
+      # and https://github.com/vector-im/element-web/issues/21043
+      export NODE_OPTIONS=--openssl-legacy-provider
+      mkdir -p $HOME
+
+      fixup_yarn_lock yarn.lock
+      yarn config --offline set yarn-offline-mirror $offlineCache
+      yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
+      patchShebangs node_modules
+
+      runHook postConfigure
+    '';
+
+    buildPhase = ''
+      runHook preBuild
+
+      export VERSION=${version}
+      yarn build:res --offline
+      yarn build:module_system --offline
+      yarn build:bundle --offline
+
+      runHook postBuild
+    '';
+
+    installPhase = ''
+      runHook preInstall
+
+      cp -R webapp $out
+      cp ${jitsi-meet}/libs/external_api.min.js $out/jitsi_external_api.min.js
+      echo "${version}" > "$out/version"
+      jq -s '.[0] * $conf' "config.sample.json" --argjson "conf" '${builtins.toJSON noPhoningHome}' > "$out/config.json"
+
+      runHook postInstall
+    '';
+
+    meta = {
+      description = "A glossy Matrix collaboration client for the web";
+      homepage = "https://element.io/";
+      changelog = "https://github.com/vector-im/element-web/blob/v${version}/CHANGELOG.md";
+      maintainers = lib.teams.matrix.members;
+      license = lib.licenses.asl20;
+      platforms = lib.platforms.all;
+    };
   };
+in
+if (conf == { }) then unwrapped else
+stdenv.mkDerivation rec {
+  pname = "${unwrapped.pname}-wrapped";
+  inherit (unwrapped) version meta;
 
-  nativeBuildInputs = [ yarn fixup_yarn_lock jq nodejs ];
-
-  configurePhase = ''
-    runHook preConfigure
+  dontUnpack = true;
 
-    export HOME=$PWD/tmp
-    # with the update of openssl3, some key ciphers are not supported anymore
-    # this flag will allow those codecs again as a workaround
-    # see https://medium.com/the-node-js-collection/node-js-17-is-here-8dba1e14e382#5f07
-    # and https://github.com/vector-im/element-web/issues/21043
-    export NODE_OPTIONS=--openssl-legacy-provider
-    mkdir -p $HOME
-
-    fixup_yarn_lock yarn.lock
-    yarn config --offline set yarn-offline-mirror $offlineCache
-    yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
-    patchShebangs node_modules
-
-    runHook postConfigure
-  '';
-
-  buildPhase = ''
-    runHook preBuild
-
-    export VERSION=${version}
-    yarn build:res --offline
-    yarn build:module_system --offline
-    yarn build:bundle --offline
-
-    runHook postBuild
-  '';
+  nativeBuildInputs = [ jq ];
 
   installPhase = ''
     runHook preInstall
 
-    cp -R webapp $out
-    cp ${jitsi-meet}/libs/external_api.min.js $out/jitsi_external_api.min.js
-    echo "${version}" > "$out/version"
-    jq -s '.[0] * .[1]' "config.sample.json" "${configOverrides}" > "$out/config.json"
+    mkdir -p $out
+    ln -s ${unwrapped}/* $out
+    rm $out/config.json
+    jq -s '.[0] * $conf' "${unwrapped}/config.json" --argjson "conf" '${builtins.toJSON conf}' > "$out/config.json"
 
     runHook postInstall
   '';
-
-  meta = {
-    description = "A glossy Matrix collaboration client for the web";
-    homepage = "https://element.io/";
-    changelog = "https://github.com/vector-im/element-web/blob/v${version}/CHANGELOG.md";
-    maintainers = lib.teams.matrix.members;
-    license = lib.licenses.asl20;
-    platforms = lib.platforms.all;
-  };
 }
diff --git a/pkgs/applications/networking/instant-messengers/element/pin.json b/pkgs/applications/networking/instant-messengers/element/pin.json
index f5f38124ceb61..436a8a8f4bf6d 100644
--- a/pkgs/applications/networking/instant-messengers/element/pin.json
+++ b/pkgs/applications/networking/instant-messengers/element/pin.json
@@ -1,7 +1,7 @@
 {
-  "version": "1.11.10",
-  "desktopSrcHash": "cywTZ5OgKaFkHh3i3KLfb8HH8ZlIAOY3Xn2WHyY0fNM=",
-  "desktopYarnHash": "1xwnw9hbbrr72xs2d43qwhbmhfk3w4z80cipyrmdj5y248y8sz84",
-  "webSrcHash": "r7WZUWgPDEBS9xpc1YmmPVGch7B2ouJOFAoKdcC/55Q=",
-  "webYarnHash": "0s8wxf13jc9x4zykhm4abgq3a38mjya7z43kjsags1fxhilf09bc"
+  "version": "1.11.14",
+  "desktopSrcHash": "91WCtb+ylVz9gSqOHb5GuSC1YZjDS3M8gdFIZYVls3c=",
+  "desktopYarnHash": "1ng9fwpwxsw91bzgd2kb2pdq927rkjv5rrrkmszvn55bj6ry7sqi",
+  "webSrcHash": "ss7Pmjg205EE/V/xIV7nvfZFRyyJfuB8MDM9dCnPckQ=",
+  "webYarnHash": "1v6qlk58msam9dglal4jzcyqcsrspa6idsdb8acjnscdkj26bkps"
 }
diff --git a/pkgs/applications/networking/instant-messengers/element/update.sh b/pkgs/applications/networking/instant-messengers/element/update.sh
index 976b6cb0ba8fc..b02e1d022393e 100755
--- a/pkgs/applications/networking/instant-messengers/element/update.sh
+++ b/pkgs/applications/networking/instant-messengers/element/update.sh
@@ -1,6 +1,9 @@
 #!/usr/bin/env nix-shell
 #!nix-shell -I nixpkgs=../../../../../ -i bash -p nix wget prefetch-yarn-deps nix-prefetch-github
 
+# FIXME should fix itself on the next release -> remove the warning if that's the case
+echo "WARNING: on the last update, the yarn.lock had to be patched. Please be careful when updating the hashes!"
+
 if [ "$#" -gt 1 ] || [[ "$1" == -* ]]; then
   echo "Regenerates packaging data for the element packages."
   echo "Usage: $0 [git release tag]"
diff --git a/pkgs/applications/networking/instant-messengers/feishu/default.nix b/pkgs/applications/networking/instant-messengers/feishu/default.nix
index a13f161d41947..0102476954eca 100644
--- a/pkgs/applications/networking/instant-messengers/feishu/default.nix
+++ b/pkgs/applications/networking/instant-messengers/feishu/default.nix
@@ -84,6 +84,7 @@ stdenv.mkDerivation rec {
     cups
     libXdamage
     libdrm
+    libgcrypt
     libxshmfence
     mesa
     nspr
diff --git a/pkgs/applications/networking/instant-messengers/ferdium/default.nix b/pkgs/applications/networking/instant-messengers/ferdium/default.nix
index d0d24b1b9173b..871cc33542f4c 100644
--- a/pkgs/applications/networking/instant-messengers/ferdium/default.nix
+++ b/pkgs/applications/networking/instant-messengers/ferdium/default.nix
@@ -3,10 +3,10 @@
 mkFranzDerivation rec {
   pname = "ferdium";
   name = "Ferdium";
-  version = "6.1.0";
+  version = "6.2.0";
   src = fetchurl {
     url = "https://github.com/ferdium/ferdium-app/releases/download/v${version}/Ferdium-linux-${version}-amd64.deb";
-    sha256 = "sha256-19HDEbp+zqd1VjRoT3yaGEDAwElKlhCm31bemdK90VU=";
+    sha256 = "sha256-lb3dvEaKgOnT5+YAJcYmro71soqkT/jpTjE0YMVMRUA=";
   };
 
   extraBuildInputs = [ xorg.libxshmfence ];
diff --git a/pkgs/applications/networking/instant-messengers/gajim/default.nix b/pkgs/applications/networking/instant-messengers/gajim/default.nix
index 6a5f898348cf2..b23b647907108 100644
--- a/pkgs/applications/networking/instant-messengers/gajim/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gajim/default.nix
@@ -22,11 +22,11 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "gajim";
-  version = "1.5.2";
+  version = "1.5.3";
 
   src = fetchurl {
     url = "https://gajim.org/downloads/${lib.versions.majorMinor version}/gajim-${version}.tar.gz";
-    sha256 = "sha256-kXpGaGp9OWdDa1q3hx7nrD1ZeKH5CKlTgZbyuNZ05/8=";
+    sha256 = "sha256-JSV4592s7oKJzxBghtlrvXqCoO6iCRoYNu/eaqPfuLA=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/go-neb/default.nix b/pkgs/applications/networking/instant-messengers/go-neb/default.nix
index e554f631920bd..4dc24073f5b5b 100644
--- a/pkgs/applications/networking/instant-messengers/go-neb/default.nix
+++ b/pkgs/applications/networking/instant-messengers/go-neb/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub, nixosTests, olm }:
+{ lib, stdenv, buildGoModule, fetchFromGitHub, nixosTests, olm }:
 
 buildGoModule {
   pname = "go-neb";
@@ -21,6 +21,7 @@ buildGoModule {
   passthru.tests.go-neb = nixosTests.go-neb;
 
   meta = with lib; {
+    broken = stdenv.isDarwin;
     description = "Extensible matrix bot written in Go";
     homepage = "https://github.com/matrix-org/go-neb";
     license = licenses.asl20;
diff --git a/pkgs/applications/networking/instant-messengers/gotktrix/default.nix b/pkgs/applications/networking/instant-messengers/gotktrix/default.nix
index d0f9f3d9e52ea..edcac90628481 100644
--- a/pkgs/applications/networking/instant-messengers/gotktrix/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gotktrix/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "gotktrix";
-  version = "0.1.4";
+  version = "unstable-2022-09-29";
 
   src = fetchFromGitHub {
     owner = "diamondburned";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-ZaE7L43fA9L5WbTAsBiIxlwYgjl1hMrtfrraAROz+7k=";
+    rev = "3d9e8ac4810f7cb9d9ead7b4b13ffa6f5da8927f"; # compound
+    sha256 = "sha256-VIV4vSntu3oCIE23f5fiYj8cxcKY1n4M4Xkf0MGhvxI=";
   };
 
-  vendorSha256 = "sha256-k6T44aH1NogyrbUnflfEHkp0zpOOH1YFly/X2kwbMzs=";
+  vendorSha256 = "sha256-R55tfTJL/bgNWTgmuBFRxIQleKS9zeDqvfez2VyzqjI=";
 
   buildInputs = [
     gtk4
@@ -32,8 +32,12 @@ buildGoModule rec {
   # Checking requires a working display
   doCheck = false;
 
-  postInstall = ''
+  postPatch = ''
+    sed -i '/DBusActivatable/d' .nix/com.github.diamondburned.gotktrix.desktop
     echo 'X-Purism-FormFactor=Workstation;Mobile;' >> .nix/com.github.diamondburned.gotktrix.desktop
+  '';
+
+  postInstall = ''
     install -Dm444 .nix/com.github.diamondburned.gotktrix.desktop -t $out/share/applications/
     install -Dm444 .github/logo-256.png -T $out/share/icons/hicolor/256x256/apps/gotktrix.png
   '';
diff --git a/pkgs/applications/networking/instant-messengers/gurk-rs/default.nix b/pkgs/applications/networking/instant-messengers/gurk-rs/default.nix
index 924a918ebceb6..15564de272712 100644
--- a/pkgs/applications/networking/instant-messengers/gurk-rs/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gurk-rs/default.nix
@@ -3,26 +3,35 @@
 , protobuf
 , rustPlatform
 , fetchFromGitHub
+, Cocoa
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "gurk-rs";
-  version = "0.2.4";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "boxdot";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-WZUoUvu7GaiBOaRAOGRCXrLe6u3DRbI6CDTAf5jryGc=";
+    sha256 = "sha256-uJvi082HkWW9y8jwHTvzuzBAi7uVtjq/4U0bO0EWdVM=";
   };
 
-  cargoHash = "sha256-81ZW61JX40W0D/cmYogR3RJH2dvEKW1K7sIsl2io/7E=";
-  buildInputs = [ protobuf ];
+  postPatch = ''
+    rm .cargo/config.toml
+  '';
+
+  cargoHash = "sha256-jS6wAswGqgfmpPV6qERhqn1IhpcBSDNh8HDdPo04F0A=";
+
+  nativeBuildInputs = [ protobuf ];
+
+  buildInputs = lib.optionals stdenv.isDarwin [ Cocoa ];
+
+  NIX_LDFLAGS = lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [ "-framework" "AppKit" ];
 
   PROTOC = "${protobuf}/bin/protoc";
 
   meta = with lib; {
-    broken = stdenv.isDarwin;
     description = "Signal Messenger client for terminal";
     homepage = "https://github.com/boxdot/gurk-rs";
     license = licenses.agpl3Only;
diff --git a/pkgs/applications/networking/instant-messengers/jami/client-qt.nix b/pkgs/applications/networking/instant-messengers/jami/client-qt.nix
index 840606bf19a92..7733b05168b61 100644
--- a/pkgs/applications/networking/instant-messengers/jami/client-qt.nix
+++ b/pkgs/applications/networking/instant-messengers/jami/client-qt.nix
@@ -21,7 +21,7 @@
 , qtsvg
 , qtwebengine
 , qtwebchannel
-, withWebengine ? false
+, withWebengine ? true
 }:
 
 stdenv.mkDerivation {
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
 
   preConfigure = ''
     python gen-resources.py
-    echo 'const char VERSION_STRING[] = "${version}";' > src/version.h
+    echo 'const char VERSION_STRING[] = "${version}";' > src/app/version.h
   '';
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/jami/default.nix b/pkgs/applications/networking/instant-messengers/jami/default.nix
index 5982b9b0dded0..a2d53141f413d 100644
--- a/pkgs/applications/networking/instant-messengers/jami/default.nix
+++ b/pkgs/applications/networking/instant-messengers/jami/default.nix
@@ -3,7 +3,7 @@
 , callPackage
 , fetchFromGitHub
 , fetchzip
-, ffmpeg_4
+, ffmpeg
 , pjsip
 , opendht
 , jack
@@ -12,11 +12,11 @@
 }:
 
 let
-  version = "20220726.1515.da8d1da";
+  version = "20220825.0828.c10f01f";
 
   src = fetchzip {
     url = "https://dl.jami.net/release/tarballs/jami_${version}.tar.gz";
-    hash = "sha256-yK+xo+YpNYmmWyNAE31hiL6HLvDdEFkm8FO6LQmPCL0=";
+    hash = "sha256-axQYU7+kOFE9SnI8fR4F6NFvD9ITZ85UJhg5OVniSlg=";
 
     stripRoot = false;
     postFetch = ''
@@ -40,7 +40,12 @@ let
   readLinesToList = with builtins; file: filter (s: isString s && stringLength s > 0) (split "\n" (readFile file));
 in
 rec {
-  ffmpeg-jami = ffmpeg_4.overrideAttrs (old:
+  ffmpeg-jami = (ffmpeg.override rec {
+    version = "5.0.1";
+    branch = version;
+    sha256 = "sha256-KN8z1AChwcGyDQepkZeAmjuI73ZfXwfcH/Bn+sZMWdY=";
+    doCheck = false;
+  }).overrideAttrs (old:
     let
       patch-src = src + "/daemon/contrib/src/ffmpeg/";
     in
@@ -51,10 +56,6 @@ rec {
         ++ lib.optionals stdenv.isLinux (readLinesToList ./config/ffmpeg_args_linux)
         ++ lib.optionals (stdenv.isx86_32 || stdenv.isx86_64) (readLinesToList ./config/ffmpeg_args_x86);
       outputs = [ "out" "doc" ];
-      meta = old.meta // {
-        # undefined reference to `ff_nlmeans_init_aarch64'
-        broken = stdenv.isAarch64;
-      };
     });
 
   pjsip-jami = pjsip.overrideAttrs (old:
@@ -62,23 +63,19 @@ rec {
       patch-src = src + "/daemon/contrib/src/pjproject/";
     in
     rec {
-      version = "4af5d666d18837abaac94c8ec6bfc84984dcf1e2";
+      version = "513a3f14c44b2c2652f9219ec20dea64b236b713";
 
       src = fetchFromGitHub {
         owner = "savoirfairelinux";
         repo = "pjproject";
         rev = version;
-        sha256 = "sha256-ENRfQh/HCXqInTV0tu8tGQO7+vTbST6XXpptERXMACE=";
+        sha256 = "sha256-93AlJGMnlzJMrJquelpHQQKjhEgfpTFXTMqkBnm87u8=";
       };
 
       patches = (map (x: patch-src + x) (readLinesToList ./config/pjsip_patches));
 
       configureFlags = (readLinesToList ./config/pjsip_args_common)
         ++ lib.optionals stdenv.isLinux (readLinesToList ./config/pjsip_args_linux);
-
-      meta = {
-        knownVulnerabilities = [ "CVE-2022-39269" "CVE-2022-39244" ];
-      } // old.meta;
     });
 
   opendht-jami = opendht.override {
diff --git a/pkgs/applications/networking/instant-messengers/jami/update.sh b/pkgs/applications/networking/instant-messengers/jami/update.sh
index abc7728e0703f..27472d568c28b 100755
--- a/pkgs/applications/networking/instant-messengers/jami/update.sh
+++ b/pkgs/applications/networking/instant-messengers/jami/update.sh
@@ -13,7 +13,7 @@ echo "Latest version: ${version}"
 
 update-source-version jami-daemon "$version" --file=$jami_dir/default.nix
 
-src=$(nix-build --no-out-link -A jami-libclient.src)
+src=$(nix-build --no-out-link -A jami-daemon.src)
 
 config_dir="$jami_dir/config"
 mkdir -p $config_dir
@@ -47,7 +47,7 @@ echo "${pjsip_patches}" > "$config_dir/pjsip_patches"
 
 # Update pjsip version
 pjsip_version=$(sed -n -E 's/.*PJPROJECT_VERSION := ([0-9a-f]+).*/\1/p' ${src}/daemon/contrib/src/pjproject/rules.mak)
-update-source-version jami-daemon.pjsip "$pjsip_version" --file=pkgs/applications/networking/instant-messengers/jami/daemon.nix
+update-source-version jami.pjsip-jami "$pjsip_version" --file=$jami_dir/default.nix
 
 pjsip_rules="${src}/daemon/contrib/src/pjproject/rules.mak"
 
diff --git a/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix b/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix
index 05247b56c0df9..81562e69a66ab 100644
--- a/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix
+++ b/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jitsi-meet-electron";
-  version = "2022.3.1";
+  version = "2022.10.1";
 
   src = fetchurl {
     url = "https://github.com/jitsi/jitsi-meet-electron/releases/download/v${version}/jitsi-meet-x86_64.AppImage";
-    sha256 = "sha256-/5WpjmTLwQN73m7nHg4DKPbXIbD9WyJ+YBbFMD4ZDfg=";
+    sha256 = "sha256-98zuAsGT30paxszSO1XcMY8tsrMBeBLDFjK/JWhLC8s=";
     name = "${pname}-${version}.AppImage";
   };
 
diff --git a/pkgs/applications/networking/instant-messengers/schildichat/pin.json b/pkgs/applications/networking/instant-messengers/schildichat/pin.json
index 77cedc68b42df..3e5af22c824a5 100644
--- a/pkgs/applications/networking/instant-messengers/schildichat/pin.json
+++ b/pkgs/applications/networking/instant-messengers/schildichat/pin.json
@@ -1,9 +1,9 @@
 {
-  "version": "1.11.8-sc.1",
-  "rev": "v1.11.8-sc.1",
-  "srcHash": "1a4flbdc18whphxldk0nxqhw0zddsj7zw5js4fpyrr6h85h8qxcp",
-  "webYarnHash": "1q05r2shv1c3kghwksjzrh9rl25ins6r2y46ng7smdml4f9vdcc0",
-  "jsSdkYarnHash": "0z6qqif7kccbvbzr9fw92vs4affm4vw8rgs08rqig8pqpk52lwi2",
-  "reactSdkYarnHash": "0mx9iaciy965jr6vd0gnmyc3jiila9mmh36rv5vm60rx9aw02dv6",
-  "desktopYarnHash": "105xj2xwc9g8cfiby0x93gy8w8w5c76mzzxck5mgvawcc6qpvmrc"
+  "version": "1.11.13-sc.1",
+  "rev": "v1.11.13-sc.1",
+  "srcHash": "1yvd0mzw4qz03nf6im2msi1lp1v4ca9zknvb3ls6va11nxr01h3g",
+  "webYarnHash": "0bmjg9qhd89bdnh398lp257mxdgdd88wj5g3fmc3cavyd6hmgzbn",
+  "jsSdkYarnHash": "0j0jhbfhq0zabnc4glk2kypn53mi5s09l39i41p0zv7g1riwz7al",
+  "reactSdkYarnHash": "195ck2k5fhzi1b8grh5c88aiq4i3baqanjx48dam76li2msfxxfn",
+  "desktopYarnHash": "1scp9y2lmah3n20f1kpc9paspd3qgslg129diis7g11cz4h0wyi5"
 }
diff --git a/pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix b/pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix
index 880981737d596..0573c7231e271 100644
--- a/pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix
+++ b/pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix
@@ -14,6 +14,7 @@
 , Security
 , AppKit
 , CoreServices
+, sqlcipher
 }:
 
 let
@@ -87,7 +88,9 @@ stdenv.mkDerivation rec {
     done
 
     # executable wrapper
+    # LD_PRELOAD workaround for sqlcipher not found: https://github.com/matrix-org/seshat/issues/102
     makeWrapper '${electron}/bin/electron' "$out/bin/${executableName}" \
+      --set LD_PRELOAD ${sqlcipher}/lib/libsqlcipher.so \
       --add-flags "$out/share/element/electron" \
       --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
 
diff --git a/pkgs/applications/networking/instant-messengers/session-desktop/default.nix b/pkgs/applications/networking/instant-messengers/session-desktop/default.nix
index 755c23a61f0b4..6d2d79c6c7a2f 100644
--- a/pkgs/applications/networking/instant-messengers/session-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/session-desktop/default.nix
@@ -8,12 +8,12 @@
 }:
 
 let
-  version = "1.10.1";
+  version = "1.10.3";
   pname = "session-desktop";
 
   src = fetchurl {
     url = "https://github.com/oxen-io/session-desktop/releases/download/v${version}/session-desktop-linux-x86_64-${version}.AppImage";
-    sha256 = "sha256-DArIq5bxyeHy45ZkE+FIpxBl4P6jiHTCN1lVCuF81O8=";
+    sha256 = "sha256-I9YyzfI8EqH8LZe5E5BnD9lGPAdQo++l3yRClfN7+pY=";
   };
   appimage = appimageTools.wrapType2 {
     inherit version pname src;
diff --git a/pkgs/applications/networking/instant-messengers/signal-cli/default.nix b/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
index be0d00eeda811..d102e144c521d 100644
--- a/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "signal-cli";
-  version = "0.11.4";
+  version = "0.11.5.1";
 
   # Building from source would be preferred, but is much more involved.
   src = fetchurl {
     url = "https://github.com/AsamK/signal-cli/releases/download/v${version}/signal-cli-${version}-Linux.tar.gz";
-    sha256 = "sha256-1NwaR8EMH2EQKskkPSrfWbUu8Ib7DwI6UNL3nOtc/tM=";
+    sha256 = "sha256-VHQz7FlEugTv5gJrJr5WLdYHkoQ6lTlUP3JVy20j1mM=";
   };
 
   buildInputs = lib.optionals stdenv.isLinux [ libmatthew_java dbus dbus_java ];
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index 97a8d7d074e1b..3e0dc4695bb0a 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -9,7 +9,7 @@
 
 stdenv.mkDerivation rec {
   pname = "signal-desktop";
-  version = "5.62.0"; # Please backport all updates to the stable channel.
+  version = "5.63.1"; # Please backport all updates to the stable channel.
   # All releases have a limited lifetime and "expire" 90 days after the release.
   # When releases "expire" the application becomes unusable until an update is
   # applied. The expiration date for the current release can be extracted with:
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
-    sha256 = "sha256-ehRwGZM4lj+pgxUnBlBfcYt2JypuZ5PX3S5ymZriRWA=";
+    sha256 = "sha256-+zeYjWRFEY09f3o49TcJU14fM1Wks7uR0GsyU2eMJPk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/signald/0001-Fetch-buildconfig-during-gradle-build-inside-Nix-FOD.patch b/pkgs/applications/networking/instant-messengers/signald/0001-Fetch-buildconfig-during-gradle-build-inside-Nix-FOD.patch
index 9e1578e6f1a14..1d9ca8d838d9c 100644
--- a/pkgs/applications/networking/instant-messengers/signald/0001-Fetch-buildconfig-during-gradle-build-inside-Nix-FOD.patch
+++ b/pkgs/applications/networking/instant-messengers/signald/0001-Fetch-buildconfig-during-gradle-build-inside-Nix-FOD.patch
@@ -1,4 +1,4 @@
-From 8ed5f3c9117e08f7c2e4e1e01c2eee501675049b Mon Sep 17 00:00:00 2001
+From 2c126682aaabd7f486dfb2ff75fe29b5d8697060 Mon Sep 17 00:00:00 2001
 From: Maximilian Bosch <maximilian@mbosch.me>
 Date: Sat, 26 Feb 2022 12:33:13 +0100
 Subject: [PATCH] Fetch buildconfig during gradle build inside Nix FOD
@@ -8,7 +8,7 @@ Subject: [PATCH] Fetch buildconfig during gradle build inside Nix FOD
  1 file changed, 6 insertions(+), 1 deletion(-)
 
 diff --git a/build.gradle b/build.gradle
-index eaa6e0e..63c2947 100644
+index 799e782..caceaac 100644
 --- a/build.gradle
 +++ b/build.gradle
 @@ -83,6 +83,9 @@ static String getVersion() {
@@ -22,11 +22,11 @@ index eaa6e0e..63c2947 100644
  }
  
 @@ -104,6 +107,8 @@ dependencies {
-     implementation 'io.prometheus:simpleclient_httpserver:0.15.0'
+     implementation 'io.prometheus:simpleclient_httpserver:0.16.0'
      implementation 'com.squareup.okhttp3:logging-interceptor:4.9.3'
-     implementation 'io.sentry:sentry:5.7.3'
-+    implementation 'com.github.gmazzo.buildconfig:com.github.gmazzo.buildconfig.gradle.plugin:3.0.3'
-+    implementation 'org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.31'
+     implementation 'io.sentry:sentry:6.4.0'
++    implementation 'com.github.gmazzo.buildconfig:com.github.gmazzo.buildconfig.gradle.plugin:3.1.0'
++    implementation 'org.jetbrains.kotlin:kotlin-scripting-jvm:1.7.10'
      testImplementation 'org.junit.jupiter:junit-jupiter:5.8.2'
  }
  
@@ -38,5 +38,5 @@ index eaa6e0e..63c2947 100644
 \ No newline at end of file
 +}
 -- 
-2.36.0
+2.36.2
 
diff --git a/pkgs/applications/networking/instant-messengers/signald/0002-buildconfig-local-deps-fixes.patch b/pkgs/applications/networking/instant-messengers/signald/0002-buildconfig-local-deps-fixes.patch
index a6efeb4a44f12..96a7d6d2ef3f3 100644
--- a/pkgs/applications/networking/instant-messengers/signald/0002-buildconfig-local-deps-fixes.patch
+++ b/pkgs/applications/networking/instant-messengers/signald/0002-buildconfig-local-deps-fixes.patch
@@ -1,4 +1,4 @@
-From f319e1db47ae1eeddb6021cafe7b4f8551a702d7 Mon Sep 17 00:00:00 2001
+From b068af1f3e49dedfb489e3ed957934ff651e98ee Mon Sep 17 00:00:00 2001
 From: Maximilian Bosch <maximilian@mbosch.me>
 Date: Sat, 26 Feb 2022 12:36:15 +0100
 Subject: [PATCH 2/2] buildconfig/local deps fixes
@@ -8,7 +8,7 @@ Subject: [PATCH 2/2] buildconfig/local deps fixes
  1 file changed, 18 insertions(+), 8 deletions(-)
 
 diff --git a/build.gradle b/build.gradle
-index eaa6e0e..9a2f4e2 100644
+index 799e782..6ecef3e 100644
 --- a/build.gradle
 +++ b/build.gradle
 @@ -10,11 +10,21 @@ import org.gradle.nativeplatform.platform.internal.ArchitectureInternal
@@ -48,11 +48,11 @@ index eaa6e0e..9a2f4e2 100644
  
  dependencies {
 @@ -104,6 +117,8 @@ dependencies {
-     implementation 'io.prometheus:simpleclient_httpserver:0.15.0'
+     implementation 'io.prometheus:simpleclient_httpserver:0.16.0'
      implementation 'com.squareup.okhttp3:logging-interceptor:4.9.3'
-     implementation 'io.sentry:sentry:5.7.3'
-+    implementation 'com.github.gmazzo.buildconfig:com.github.gmazzo.buildconfig.gradle.plugin:3.0.3'
-+    implementation 'org.jetbrains.kotlin:kotlin-scripting-jvm:1.4.31'
+     implementation 'io.sentry:sentry:6.4.0'
++    implementation 'com.github.gmazzo.buildconfig:com.github.gmazzo.buildconfig.gradle.plugin:3.1.0'
++    implementation 'org.jetbrains.kotlin:kotlin-scripting-jvm:1.7.10'
      testImplementation 'org.junit.jupiter:junit-jupiter:5.8.2'
  }
  
@@ -67,5 +67,5 @@ index eaa6e0e..9a2f4e2 100644
 -}
 \ No newline at end of file
 -- 
-2.36.0
+2.36.2
 
diff --git a/pkgs/applications/networking/instant-messengers/signald/default.nix b/pkgs/applications/networking/instant-messengers/signald/default.nix
index 0b85524364515..b6c6d982fb87f 100644
--- a/pkgs/applications/networking/instant-messengers/signald/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signald/default.nix
@@ -4,18 +4,18 @@
 
 let
   pname = "signald";
-  version = "0.19.1";
+  version = "0.23.0";
 
   src = fetchFromGitLab {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-Ma6kIKRVM8UUU/TvfVp2RVl/FLxFgBQU3mEypnujJ+c=";
+    sha256 = "sha256-RN0OYjOmVtHKeFkviep952uf3qWuBj8lhcaP1Lk/gDo=";
   };
 
   jre' = jre_minimal.override {
     jdk = jdk17_headless;
-    # from https://gitlab.com/signald/signald/-/blob/0.19.1/build.gradle#L173
+    # from https://gitlab.com/signald/signald/-/blob/0.23.0/build.gradle#L173
     modules = [
       "java.base"
       "java.management"
@@ -54,8 +54,8 @@ let
     outputHashMode = "recursive";
     # Downloaded jars differ by platform
     outputHash = {
-      x86_64-linux = "sha256-q1gzauIL7aKalvPSfiK5IvkNkidCh+6jp5bpwxR+PZ0=";
-      aarch64-linux = "sha256-cM+7MaV0/4yAzobXX9FSdl/ZfLddwySayao96UdDgzk=";
+      x86_64-linux = "sha256-ANiNDdTuCuDEH5zUPsrVF6Uegdq3zVsMv+uMtYRX0jE=";
+      aarch64-linux = "sha256-V9zn4v/ZeLELAwFJ5y7OVAeJwZp4DmHm4KWxE6KpwGs=";
     }.${stdenv.system} or (throw "Unsupported platform");
   };
 
diff --git a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
index ec33f99809ef6..d9fcbc26380ee 100644
--- a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
+++ b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
@@ -110,11 +110,11 @@ in stdenv.mkDerivation {
 
     # Fix the desktop link
     substituteInPlace $out/share/applications/skypeforlinux.desktop \
-      --replace /usr/bin/ $out/bin/
+      --replace /usr/bin/ ""
     substituteInPlace $out/share/applications/skypeforlinux-share.desktop \
-      --replace /usr/bin/ $out/bin/
+      --replace /usr/bin/ ""
     substituteInPlace $out/share/kservices5/ServiceMenus/skypeforlinux.desktop \
-      --replace /usr/bin/ $out/bin/
+      --replace /usr/bin/ ""
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
index 10f9ad7697d06..fe386cab5ac49 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -27,7 +27,7 @@
 , range-v3
 , tl-expected
 , hunspell
-, glibmm
+, glibmm_2_68
 , webkitgtk_4_1
 , jemalloc
 , rnnoise
@@ -74,7 +74,7 @@ let
 in
 env.mkDerivation rec {
   pname = "telegram-desktop";
-  version = "4.2.4";
+  version = "4.3.1";
   # Note: Update via pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py
 
   # Telegram-Desktop with submodules
@@ -83,7 +83,7 @@ env.mkDerivation rec {
     repo = "tdesktop";
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-X2ZbjlL3YbPdXSgS+wqZL3FUW2xQ0DhqiOO5MR1QyLY=";
+    sha256 = "0j05hcl5nkvcl74jl8d0inkh6ha9xh299z87br1vr1mblflh087m";
   };
 
   postPatch = ''
@@ -131,7 +131,7 @@ env.mkDerivation rec {
     range-v3
     tl-expected
     hunspell
-    glibmm
+    glibmm_2_68
     webkitgtk_4_1
     jemalloc
     rnnoise
diff --git a/pkgs/applications/networking/instant-messengers/threema-desktop/default.nix b/pkgs/applications/networking/instant-messengers/threema-desktop/default.nix
index 852abe8e6dc45..6a21fe8a9ef01 100644
--- a/pkgs/applications/networking/instant-messengers/threema-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/threema-desktop/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "threema-desktop";
-  version = "1.2.13";
+  version = "1.2.21";
 
   src = fetchurl {
     # As Threema only offers a Latest Release url, the plan is to upload each
     # new release url to web.archive.org until their Github releases page gets populated.
-    url = "https://web.archive.org/web/20220621152620id_/https://releases.threema.ch/web-electron/v1/release/Threema-Latest.deb";
-    sha256 = "sha256-X16GMxUIKUloj0FxhzWQKUBf4zwfSBVg0cwLgGxHPHE=";
+    url = "https://web.archive.org/web/20220915175906if_/https://releases.threema.ch/web-electron/v1/release/Threema-Latest.deb";
+    sha256 = "0icxn5whsvwmdmfbkfk4xnl3dn4iif5s5yw5hsimmyx066fq0qhb";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/webex/default.nix b/pkgs/applications/networking/instant-messengers/webex/default.nix
index bd75eb06f6f0a..f28cc3c25f6ea 100644
--- a/pkgs/applications/networking/instant-messengers/webex/default.nix
+++ b/pkgs/applications/networking/instant-messengers/webex/default.nix
@@ -55,11 +55,11 @@
 
 stdenv.mkDerivation rec {
   pname = "webex";
-  version = "42.7.0.22904";
+  version = "42.10.0.24000";
 
   src = fetchurl {
-    url = "https://binaries.webex.com/WebexDesktop-Ubuntu-Gold/20220907184519/Webex_ubuntu.7z";
-    sha256 = "731ec24d95243171649213b19a1709bef98846fd631f54a27d11fe16ebcc7d33";
+    url = "https://binaries.webex.com/WebexDesktop-Ubuntu-Gold/20221019145240/Webex_ubuntu.7z";
+    sha256 = "03b77a3fcce76f04cf684bcdecb3bcce97c5a8b6cc36b40967cc14fa9a46c102";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/networking/irc/irssi/default.nix b/pkgs/applications/networking/irc/irssi/default.nix
index b04cd2e07aabb..f9563313f2fba 100644
--- a/pkgs/applications/networking/irc/irssi/default.nix
+++ b/pkgs/applications/networking/irc/irssi/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "irssi";
-  version = "1.4.2";
+  version = "1.4.3";
 
   src = fetchFromGitHub {
     owner = "irssi";
     repo = "irssi";
     rev = version;
-    hash = "sha256-dQZ/CeBfcfWGjKPF3fR62JDqyEXGv5hd9VT4OEbgJhQ=";
+    hash = "sha256-wRJp4KfI+2IAJ70XW7+0LR83cRvS/SGq7CpDVuc636Q=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/irc/kvirc/default.nix b/pkgs/applications/networking/irc/kvirc/default.nix
index cfc03fe37d3b4..8c1a96d5234f5 100644
--- a/pkgs/applications/networking/irc/kvirc/default.nix
+++ b/pkgs/applications/networking/irc/kvirc/default.nix
@@ -5,13 +5,13 @@
 
 mkDerivation rec {
   pname = "kvirc";
-  version = "5.0.0";
+  version = "2022-06-29";
 
   src = fetchFromGitHub {
     owner = "kvirc";
     repo = "KVIrc";
-    rev = version;
-    sha256 = "1dq7v6djw0gz56rvghs4r5gfhzx4sfg60rnv6b9zprw0vlvcxbn4";
+    rev = "eb3fdd6b1d824f148fd6e582852dcba77fc9a271";
+    sha256 = "sha256-RT5UobpMt/vBLgWur1TkodS3dMyIWQkDPiBYCYx/FI4=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/networking/irc/senpai/default.nix b/pkgs/applications/networking/irc/senpai/default.nix
index cb7b9bc6dfef1..7fd54b70e9cd6 100644
--- a/pkgs/applications/networking/irc/senpai/default.nix
+++ b/pkgs/applications/networking/irc/senpai/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "senpai";
-  version = "unstable-2022-10-19";
+  version = "unstable-2022-11-04";
 
   src = fetchFromSourcehut {
     owner = "~taiite";
     repo = "senpai";
-    rev = "b3377c58ffb0bc07d222258ea578bdab723b2ec8";
-    sha256 = "sha256-QPqnfGdQJh+XDXTcOCwx5KK85vEQuAv386a+qk68zDU=";
+    rev = "3be87831281af1c91a6e406986f317936a0b98bc";
+    sha256 = "sha256-v8r2q2H4I9FnsIOGv1zkC4xJ5E9cQavfILZ6mnbFbr8=";
   };
 
-  vendorSha256 = "sha256-+cdGRk/96Xu4IgtmZ8GbqWiKAxxwpAnuAkAnKX0CbmU=";
+  vendorSha256 = "sha256-FBpk9TpAD5i3+brsVNWHNHJtZsHmShmWlldQrMs/VGU=";
 
   subPackages = [
     "cmd/senpai"
diff --git a/pkgs/applications/networking/irc/sic/default.nix b/pkgs/applications/networking/irc/sic/default.nix
index 705fc12510dbd..d5a0737403a8e 100644
--- a/pkgs/applications/networking/irc/sic/default.nix
+++ b/pkgs/applications/networking/irc/sic/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "sic";
-  version = "1.2";
+  version = "1.3";
 
   src = fetchurl {
     url = "https://dl.suckless.org/tools/sic-${version}.tar.gz";
-    sha256 = "ac07f905995e13ba2c43912d7a035fbbe78a628d7ba1c256f4ca1372fb565185";
+    hash = "sha256-MEePqz68dfLrXQjLtbL+3K9IkRbnWi3XGX4+nHM9ZdI=";
   };
 
   makeFlags = [ "CC:=$(CC)" ];
diff --git a/pkgs/applications/networking/lls/default.nix b/pkgs/applications/networking/lls/default.nix
new file mode 100644
index 0000000000000..9935d7ba9efdb
--- /dev/null
+++ b/pkgs/applications/networking/lls/default.nix
@@ -0,0 +1,26 @@
+{
+  rustPlatform,
+  fetchFromGitHub,
+  lib,
+}:
+rustPlatform.buildRustPackage rec {
+  pname = "lls";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "jcaesar";
+    repo = "lls";
+    rev = "v${version}";
+    hash = "sha256-Aq0MGhzSoJCkM0Wt/r5JSOz96LyRSgSryD7+m4aFZEA=";
+  };
+
+  cargoSha256 = "sha256-WY4MnPNDWFEzFOehm7TqCL05Ea6n93f8VWBTOuqjBAg=";
+
+  meta = with lib; {
+    description = "Tool to list listening sockets";
+    license = licenses.mit;
+    maintainers = [ maintainers.k900 ];
+    platforms = platforms.linux;
+    homepage = "https://github.com/jcaesar/lls";
+  };
+}
diff --git a/pkgs/applications/networking/maestral-qt/default.nix b/pkgs/applications/networking/maestral-qt/default.nix
index 059a4585c7d3d..1be323decab42 100644
--- a/pkgs/applications/networking/maestral-qt/default.nix
+++ b/pkgs/applications/networking/maestral-qt/default.nix
@@ -1,63 +1,50 @@
 { lib
 , fetchFromGitHub
 , python3
-, wrapQtAppsHook
+, qt6
 , nixosTests
 }:
 
-let
-  inherit (pypkgs) makePythonPath;
-
-  pypkgs = (python3.override {
-    packageOverrides = self: super: {
-      # Use last available version of maestral that still supports PyQt5
-      # Remove this override when PyQt6 is available
-      maestral = super.maestral.overridePythonAttrs (old: rec {
-        version = "1.5.3";
-        src = fetchFromGitHub {
-          owner = "SamSchott";
-          repo = "maestral";
-          rev = "refs/tags/v${version}";
-          hash = "sha256-Uo3vcYez2qSq162SSKjoCkwygwR5awzDceIq8/h3dao=";
-        };
-      });
-    };
-  }).pkgs;
-
-in
-pypkgs.buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "maestral-qt";
-  version = "1.5.3";
-  disabled = pypkgs.pythonOlder "3.6";
+  version = "1.6.3";
+  disabled = python3.pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "SamSchott";
     repo = "maestral-qt";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-zaG9Zwz9S/SVb7xDa7eXkjLNt1BhA1cQ3I18rVt+8uQ=";
+    sha256 = "sha256-Fvr5WhrhxPBeAMsrVj/frg01qgt2SeWgrRJYgBxRFHc=";
   };
 
   format = "pyproject";
 
-  propagatedBuildInputs = with pypkgs; [
+  propagatedBuildInputs = with python3.pkgs; [
     click
     markdown2
     maestral
     packaging
-    pyqt5
-  ] ++ lib.optionals (pythonOlder "3.9") [
-    importlib-resources
+    pyqt6
+  ];
+
+  buildInputs = [
+    qt6.qtbase
+    qt6.qtsvg  # Needed for the systray icon
+  ];
+
+  nativeBuildInputs = [
+    qt6.wrapQtAppsHook
   ];
 
-  nativeBuildInputs = [ wrapQtAppsHook ];
+  dontWrapQtApps = true;
 
-  makeWrapperArgs = [
+  makeWrapperArgs = with python3.pkgs; [
     # Firstly, add all necessary QT variables
     "\${qtWrapperArgs[@]}"
 
     # Add the installed directories to the python path so the daemon can find them
-    "--prefix PYTHONPATH : ${makePythonPath (pypkgs.requiredPythonModules pypkgs.maestral.propagatedBuildInputs)}"
-    "--prefix PYTHONPATH : ${makePythonPath [ pypkgs.maestral ]}"
+    "--prefix PYTHONPATH : ${makePythonPath (requiredPythonModules maestral.propagatedBuildInputs)}"
+    "--prefix PYTHONPATH : ${makePythonPath [ maestral ]}"
   ];
 
   # no tests
diff --git a/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix b/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix
index af1781f3af748..51e1c2e52c87d 100644
--- a/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix
+++ b/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix
@@ -14,6 +14,9 @@
 , json-glib
 , libmspack
 , webkitgtk_4_1
+, substituteAll
+, _experimental-update-script-combinators
+, glib
 }:
 
 stdenv.mkDerivation rec {
@@ -25,6 +28,17 @@ stdenv.mkDerivation rec {
     sha256 = "p5Jp7wnoqAuo8My8ZDMl0rsFc0158G8x8lAehWfLjb0=";
   };
 
+  patches = [
+    # evolution-ews contains .so files loaded by evolution-data-server refering
+    # schemas from evolution. evolution-data-server is not wrapped with
+    # evolution's schemas because it would be a circular dependency with
+    # evolution.
+    (substituteAll {
+      src = ./hardcode-gsettings.patch;
+      evo = glib.makeSchemaPath evolution evolution.name;
+    })
+  ];
+
   nativeBuildInputs = [
     cmake
     gettext
@@ -50,10 +64,26 @@ stdenv.mkDerivation rec {
   ];
 
   passthru = {
-    updateScript = gnome.updateScript {
-      packageName = "evolution-ews";
-      versionPolicy = "odd-unstable";
+    hardcodeGsettingsPatch = glib.mkHardcodeGsettingsPatch {
+      inherit src;
+      glib-schema-to-var = {
+        "org.gnome.evolution.mail" = "evo";
+        "org.gnome.evolution.calendar" = "evo";
+      };
     };
+
+    updateScript =
+      let
+        updateSource = gnome.updateScript {
+          packageName = "evolution-ews";
+          versionPolicy = "odd-unstable";
+        };
+        updatePatch = _experimental-update-script-combinators.copyAttrOutputToFile "evolution-ews.hardcodeGsettingsPatch" ./hardcode-gsettings.patch;
+      in
+      _experimental-update-script-combinators.sequence [
+        updateSource
+        updatePatch
+      ];
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/mailreaders/evolution/evolution-ews/hardcode-gsettings.patch b/pkgs/applications/networking/mailreaders/evolution/evolution-ews/hardcode-gsettings.patch
new file mode 100644
index 0000000000000..c5fb77fc2a510
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/evolution/evolution-ews/hardcode-gsettings.patch
@@ -0,0 +1,72 @@
+diff --git a/src/EWS/camel/camel-ews-utils.c b/src/EWS/camel/camel-ews-utils.c
+index 0707f72..1e71954 100644
+--- a/src/EWS/camel/camel-ews-utils.c
++++ b/src/EWS/camel/camel-ews-utils.c
+@@ -1552,7 +1552,18 @@ ews_utils_save_category_changes (GHashTable *old_categories, /* gchar *guid ~> C
+ 
+ 	evo_labels = g_ptr_array_new_full (5, g_free);
+ 
+-	settings = g_settings_new ("org.gnome.evolution.mail");
++	{
++		g_autoptr(GSettingsSchemaSource) schema_source;
++		g_autoptr(GSettingsSchema) schema;
++		schema_source = g_settings_schema_source_new_from_directory("@evo@",
++									    g_settings_schema_source_get_default(),
++									    TRUE,
++									    NULL);
++		schema = g_settings_schema_source_lookup(schema_source,
++							 "org.gnome.evolution.mail",
++							 FALSE);
++		settings = g_settings_new_full(schema, NULL, NULL);
++	}
+ 	strv = g_settings_get_strv (settings, "labels");
+ 
+ 	for (ii = 0; strv && strv[ii]; ii++) {
+diff --git a/src/EWS/common/e-ews-calendar-utils.c b/src/EWS/common/e-ews-calendar-utils.c
+index 6deda60..9b44cc7 100644
+--- a/src/EWS/common/e-ews-calendar-utils.c
++++ b/src/EWS/common/e-ews-calendar-utils.c
+@@ -413,7 +413,18 @@ ews_get_configured_icaltimezone (void)
+ 	gchar *location;
+ 	ICalTimezone *zone = NULL;
+ 
+-	settings = g_settings_new ("org.gnome.evolution.calendar");
++	{
++		g_autoptr(GSettingsSchemaSource) schema_source;
++		g_autoptr(GSettingsSchema) schema;
++		schema_source = g_settings_schema_source_new_from_directory("@evo@",
++									    g_settings_schema_source_get_default(),
++									    TRUE,
++									    NULL);
++		schema = g_settings_schema_source_lookup(schema_source,
++							 "org.gnome.evolution.calendar",
++							 FALSE);
++		settings = g_settings_new_full(schema, NULL, NULL);
++	}
+ 	location = g_settings_get_string (settings, "timezone");
+ 	if (location) {
+ 		zone = i_cal_timezone_get_builtin_timezone (location);
+diff --git a/src/Microsoft365/camel/camel-m365-store.c b/src/Microsoft365/camel/camel-m365-store.c
+index ff1b8e3..4f876c0 100644
+--- a/src/Microsoft365/camel/camel-m365-store.c
++++ b/src/Microsoft365/camel/camel-m365-store.c
+@@ -309,7 +309,18 @@ m365_store_save_category_changes (GHashTable *old_categories, /* gchar *id ~> Ca
+ 
+ 	evo_labels = g_ptr_array_new_full (5, g_free);
+ 
+-	settings = g_settings_new ("org.gnome.evolution.mail");
++	{
++		g_autoptr(GSettingsSchemaSource) schema_source;
++		g_autoptr(GSettingsSchema) schema;
++		schema_source = g_settings_schema_source_new_from_directory("@evo@",
++									    g_settings_schema_source_get_default(),
++									    TRUE,
++									    NULL);
++		schema = g_settings_schema_source_lookup(schema_source,
++							 "org.gnome.evolution.mail",
++							 FALSE);
++		settings = g_settings_new_full(schema, NULL, NULL);
++	}
+ 	strv = g_settings_get_strv (settings, "labels");
+ 
+ 	for (ii = 0; strv && strv[ii]; ii++) {
diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix
index cc3bba9528e9f..dfa92fc42c98e 100644
--- a/pkgs/applications/networking/mailreaders/mutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/mutt/default.nix
@@ -12,6 +12,8 @@
 , gpgSupport   ? false
 , gpgmeSupport ? true
 , imapSupport  ? true
+, pop3Support  ? true
+, smtpSupport  ? true
 , withSidebar  ? true
 , gssSupport   ? true
 , writeScript
@@ -19,12 +21,12 @@
 
 stdenv.mkDerivation rec {
   pname = "mutt";
-  version = "2.2.7";
+  version = "2.2.9";
   outputs = [ "out" "doc" "info" ];
 
   src = fetchurl {
     url = "http://ftp.mutt.org/pub/mutt/${pname}-${version}.tar.gz";
-    sha256 = "6xOFj1i7Np9He/ZS2Q6baq3dDWEKy+o0VQSeXvrTbfE=";
+    sha256 = "+lMbIx1Y/h8wztoO1iZoPqnr37ds5H74uyfC93Qiz/s=";
   };
 
   patches = lib.optional smimeSupport (fetchpatch {
@@ -44,9 +46,9 @@ stdenv.mkDerivation rec {
     (lib.enableFeature headerCache  "hcache")
     (lib.enableFeature gpgmeSupport "gpgme")
     (lib.enableFeature imapSupport  "imap")
+    (lib.enableFeature smtpSupport  "smtp")
+    (lib.enableFeature pop3Support  "pop")
     (lib.enableFeature withSidebar  "sidebar")
-    "--enable-smtp"
-    "--enable-pop"
     "--with-mailpath="
 
     # Look in $PATH at runtime, instead of hardcoding /usr/bin/sendmail
diff --git a/pkgs/applications/networking/mailreaders/notmuch/muchsync.nix b/pkgs/applications/networking/mailreaders/notmuch/muchsync.nix
index fc8c83f216cb7..81946353670c3 100644
--- a/pkgs/applications/networking/mailreaders/notmuch/muchsync.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch/muchsync.nix
@@ -2,14 +2,14 @@
 , notmuch, openssl, pkg-config, sqlite, xapian, zlib
 }:
 stdenv.mkDerivation rec {
-  version = "5";
+  version = "6";
   pname = "muchsync";
   passthru = {
     inherit version;
   };
   src = fetchurl {
     url = "http://www.muchsync.org/src/${pname}-${version}.tar.gz";
-    sha256 = "1k2m44pj5i6vfhp9icdqs42chsp208llanc666p3d9nww8ngq2lb";
+    sha256 = "Cz3jtNiF7bn4h6B9y8i1luf+8gOMYeaCz6VaE/pM6eg=";
   };
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ notmuch openssl sqlite xapian zlib ];
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
index 1630a8612bb1c..9bd99c86e773b 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
@@ -42,7 +42,7 @@
 , pango
 , pipewire
 , pciutils
-, libheimdal
+, heimdal
 , libpulseaudio
 , systemd
 , writeScript
@@ -137,7 +137,7 @@ stdenv.mkDerivation {
       pango
       pipewire
       pciutils
-      libheimdal
+      heimdal
       libpulseaudio
       systemd
       ffmpeg
@@ -205,6 +205,7 @@ stdenv.mkDerivation {
   };
 
   meta = with lib; {
+    changelog = "https://www.thunderbird.net/en-US/thunderbird/${version}/releasenotes/";
     description = "Mozilla Thunderbird, a full-featured email client (binary package)";
     homepage = "http://www.mozilla.org/thunderbird/";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
index 34fa9826bcb6e..495764bf5ee24 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
@@ -1,665 +1,665 @@
 {
-  version = "102.4.1";
+  version = "102.5.0";
   sources = [
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/af/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/af/thunderbird-102.5.0.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "08073df6cdbe071c3386b889ddc6f3023847528065c6e02a596ce376553eacb6";
+      sha256 = "80b1e18e826369d4f34449e8a90630cfa8425b43a4b113f49026a909e591916a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/ar/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/ar/thunderbird-102.5.0.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "1c1db09f3b666911328080dc0f7b3c3dbc6fe06011a0851edf9ae50ecabc3724";
+      sha256 = "bcc6d43b1fd182f15ad502a622a74f97fd02374ecd89168b1c165e62f12c1841";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/ast/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/ast/thunderbird-102.5.0.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "4df7f18fe166460d42e6a3a9755ceeca2935152603255810fe8bf32a828b9a26";
+      sha256 = "6fbd2e7c1f8c86c7a5aed8362ae3df99ffe7b03ad4885024983e58d9f71b137a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/be/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/be/thunderbird-102.5.0.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "d0c81fcea6f33749b51465428c7469aa34711013b46241543ccd5c5168523740";
+      sha256 = "b353f925236872f35aded0b8b3992ce83284debf7f1c774a4600f9a67e548de6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/bg/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/bg/thunderbird-102.5.0.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "d6ffdda120ae73ab82bfef6647ee7b4ba81c3c0cb890d1fc5e5ef4c9ef739cec";
+      sha256 = "149c22f4f4674800320e204d287d09c6143517276e113cf7ba9e73c193ef7d77";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/br/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/br/thunderbird-102.5.0.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "b1d6890f43cd5fe4c85fbf14cc9455dcaafe1f17a187e843017938357610595c";
+      sha256 = "23d114474845d0d6a6f044baa59421b81f14badfdf306c154e9739b03d28995a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/ca/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/ca/thunderbird-102.5.0.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "616261967c700a01fa4f018723fefdddd3264ea4e96e33bfd88fac419fd2ee1c";
+      sha256 = "43bf01934dee664033adeb22ee3af77a693f7cc9ec3c6357dabff08277f94f91";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/cak/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/cak/thunderbird-102.5.0.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "a9384ad2644dc1fe5e6a152d519c3644701ef48c6dcff1c107f30763ed2e79f4";
+      sha256 = "274a3dc9b29e9a1684cd60c5401adb180a4996aaceeaa64546101c1920007ab3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/cs/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/cs/thunderbird-102.5.0.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "59d99c6e4f1cae756356ec85d71d0dad534ca32922dd13ee8766c24dd0a24197";
+      sha256 = "382e85e0b46d539c9b39b9488cd1a24eb9a5e62a20e59575d094b8efb4423d02";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/cy/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/cy/thunderbird-102.5.0.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "acf84ee8bc408c44766533c75c4d56fce9b85a09c19e5c50cbc5fba535462e01";
+      sha256 = "e33f9cf6a06e7e60e7238ef6f55d4f68ec348809e5be20881ac86f5414613b89";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/da/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/da/thunderbird-102.5.0.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "e8ae4e045e54f2f242e598b67cd95dfecb54d23167a28871249b667814f68b9f";
+      sha256 = "939195d3a4d184582aba103150dd220a471ba2a932bf7b78f91c17260374900c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/de/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/de/thunderbird-102.5.0.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "3f8417b4ce6403892145e8b9a4c8fb0113c83b252f05af721be3c9d090923d97";
+      sha256 = "aebba6f46e94b3988273def89f0381d3993054ca7f2b3eae07870447ed1f0f56";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/dsb/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/dsb/thunderbird-102.5.0.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "293dd78f61b56be58c38ea18ece6f680d9255427d2169ee9e40cc4acd1518d87";
+      sha256 = "7b9da40217aef8b8c77c97bc64ae18084142dba0e380848037a512e2b82bcd6a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/el/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/el/thunderbird-102.5.0.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "f105f81e72a937312d11d453cd293275770c21f4bfb873ddf486f8fa6fcb9770";
+      sha256 = "f992c7476b31e664755fa53c3310baa28da2d22482cb3a9804787fc53a93646c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/en-CA/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/en-CA/thunderbird-102.5.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "18299fbdd4c800b8a460d423f024f273a3dd30a3af9f53c8556ad861f69f44e4";
+      sha256 = "6910ec50a0e227cac5e2e1abbf60bcb0c913884b31c71db8a66141939e4ed5af";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/en-GB/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/en-GB/thunderbird-102.5.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "9553a14d31accd87a7dcbe7ecb19c03c558d0d98a6421335fefa6035cd36055a";
+      sha256 = "fb3bc64c3b7266e1531d56ab0607e7031b6425435fc452fab1b38bea3623e73e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/en-US/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/en-US/thunderbird-102.5.0.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "45c4f16f243d563eca70be66cacd8a92931e143b6ccd4b88e1592f6918a16050";
+      sha256 = "e803a265cc40c8a0a306939a7e9effb087bacbfaeacee0ffea291d5948c14741";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/es-AR/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/es-AR/thunderbird-102.5.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "8cb47779ed6d146a165375e75c3e399421cf625ed96459e62cf66df0ac1c5632";
+      sha256 = "42ed5e1d668a75a04f3d2ef2c0429dabc1a64a2c03c7c946a936c160ce98f3a7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/es-ES/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/es-ES/thunderbird-102.5.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "ad2dbb613a14569709f4a45efe4e4a1bc95c048334e60313b470779b301ad24a";
+      sha256 = "d9bbb9197b48231ce1b62983cf51cca7d21db8f7530fd036e5c4706564dc5ad5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/es-MX/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/es-MX/thunderbird-102.5.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "92d4f904bc0448eebcb282c154b8fac2fb440e18d33efad39e1158b632d141bb";
+      sha256 = "b6aaf5311c8f7156fea7a4c32fc7e45828edae7515776f6d2f531aadb46ced71";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/et/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/et/thunderbird-102.5.0.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "0de025d42b2e832ee750bfedde7042ca33b06eda72daadd4f253fa7694151815";
+      sha256 = "fda67cbf589f6c16b8b70f9a9adf4e66ced2a075cccdd7082257936f36515f26";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/eu/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/eu/thunderbird-102.5.0.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "73b78650bdf5cc4c7ffd749d65e7981497501b14f722daade518dbe47a4cf0fc";
+      sha256 = "1f2b63138db4722f93479134c9496d5764d0022b98f883859ef993eb1d1a354a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/fi/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/fi/thunderbird-102.5.0.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "3c3ec6c58005559519493a15c1cc68b03a4d5d8dc2f53f43f7d7ba6be838f962";
+      sha256 = "3903b745f2e630e7e9eb373fe1be824f658098427a022885e8e4b3702dd0e3ff";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/fr/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/fr/thunderbird-102.5.0.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "ea221972a549c82ab7f13c6ec891edf7d1bfcc96cbb41650bf67e781bb22f3b7";
+      sha256 = "e55f2383cf4724a2730e4c9cbea45b94e248516457422b9a4f351ec5490166f9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/fy-NL/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/fy-NL/thunderbird-102.5.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "e858beb5d5f4766d8d3b71d9ddd911bc2193e542237e38919e230659c192830c";
+      sha256 = "662a3cccc13461e42dfac524285e1d0e632da195d962cb0e5d8464174c28cd9b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/ga-IE/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/ga-IE/thunderbird-102.5.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "f92a5030d465d70caea048d27820a31941b5e37fbd78d589fa19aaf24dce7e66";
+      sha256 = "703ff33f3d096f5f96e447ea8753c485eea44f5c4337146e8cd8b142660891d8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/gd/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/gd/thunderbird-102.5.0.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "f076f07c58b67bb6463dcac79d6a458cebda1d6a3d17ec8adcc8bdd102207ff7";
+      sha256 = "94892f71e8fcae4061d37ba2b30f4a097af3472cdd9233836063616db1e71628";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/gl/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/gl/thunderbird-102.5.0.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "cafcb519043c5f4895a08c19d942204c24488c3cee1f02290fe686b524ba4976";
+      sha256 = "d7539b557ea31966780c6f6c892ac3041f3976f94869f386106c3815031e6ac6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/he/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/he/thunderbird-102.5.0.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "d337901a548cd409282f597624ff4231c843a775fa56ba468f976227cb34c51a";
+      sha256 = "96ceac6f559f636d11d433e05bc0997f70c0dc055d04e2a378e35a69437ea93e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/hr/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/hr/thunderbird-102.5.0.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "d606d6d81645d66f466e9d6b494922dcd6259aff72b268bbc7ee8a917bada0ef";
+      sha256 = "50ea1a69e96ec98fba3469ced119d70d020b061bd261267a5aaaf9a50293bf6d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/hsb/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/hsb/thunderbird-102.5.0.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "2bbbb19b7abbeea16ca2e09937a622442da448b32f1fd80cf74a14a2218fa990";
+      sha256 = "6df3cb2437541cb897c9bd7c65d019fa0938df54c13c513547a36ad9f6409d14";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/hu/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/hu/thunderbird-102.5.0.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "1e9e283bb54336eb182262773d490f8097b00c224dc4c9c97077c7921411ac14";
+      sha256 = "8798d9f4deb2b1d75f38e10dcd184a0d82d1e5ca69fb171b024b636cc5366bb7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/hy-AM/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/hy-AM/thunderbird-102.5.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "aacd3c2286c571399678e5f37650382f8c16d98fbcad1085e61314d7fa501716";
+      sha256 = "e5e569436fb883fce500ccbf138f2237e8d641957177b0e9323a0091713c25d1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/id/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/id/thunderbird-102.5.0.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "d3e5f61effbe3ad52a054fc59905ecf857935d20642b8efb7d0d43c7dfd15141";
+      sha256 = "dfb81f988c1a6bfe2ba9913e5b31ec2c172dae9ade4a05961202a867e4192367";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/is/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/is/thunderbird-102.5.0.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "9e58e251f4845b93e25fc0cbcd52a913747cc4e7f0cc71d5ba0fff9f4a193020";
+      sha256 = "a3f1a999a31b02c130a74408c7fb3e910124ade35e4d8ce4274d162d4dd1e30a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/it/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/it/thunderbird-102.5.0.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "c128eb6aa3d32a1b53ca9e022b033137281d362404536ea8cbe8fbbde208389d";
+      sha256 = "ed75d139aff75595f05c42e621a71c42316fd9b4c82f9c63b32ea2bcbafb9f97";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/ja/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/ja/thunderbird-102.5.0.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "4d3600bb1a618e0add841bb1e0f6afd4d25963ea317204eb015a2692996307ca";
+      sha256 = "deff788766133ecd6d1f8d01d36f58c6d89cf9dca41005e97a3bfca1f4ac8de7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/ka/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/ka/thunderbird-102.5.0.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "a8af3f899683a50f1f2aaf8ec4190c6367edd1282216bd9a8a8073b3ede0f5dd";
+      sha256 = "5a7de96a5f4d933a420694810ab32c7ce397c1a31e539dcad42ada81c7edfdb9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/kab/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/kab/thunderbird-102.5.0.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "2d24b25375add713bc46dd400a2c8eb34228ddfc78e14ec388cbeee42f84a592";
+      sha256 = "ecd5bc56051fbed9641c7adb9a4d9ba627586b50b3fc1f564fcaf8b4f891c643";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/kk/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/kk/thunderbird-102.5.0.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "a77b99661316fcb7072d85c20924a5df246328d49b5c760967ce9217cf9a3e31";
+      sha256 = "dc46b7cb231dc71b7481796bcebcf12f50cb0b1212fc0a619747524567aef257";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/ko/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/ko/thunderbird-102.5.0.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "f2c086cb766718cc9780f3b0a6e101c5af4bcff4bea71f7dcff8a4ce233dca37";
+      sha256 = "919b35ed688c7a0f6deba8e31e696ca804c62abd5cde119af2a2f4300a83c8d0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/lt/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/lt/thunderbird-102.5.0.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "105148d01371f2c302fe3e275b5d23d31365d844e368e761eac5dff8d91e426b";
+      sha256 = "50f1a50545befdafee3c0ec1df0386d28ac041dde3e72653cd3834d8c136f705";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/lv/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/lv/thunderbird-102.5.0.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "b905760d84f3a2df91ee1d9ede23cad1fe354f14d5623e97cf766f8e6b42943e";
+      sha256 = "943abb80c6c57437a62923c311fa17b28a0381da727f5d2e492cf68cce11917d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/ms/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/ms/thunderbird-102.5.0.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "95e9955220bbddf8a5b890ebd6dc783a19a7a9c2b2f20fe5c09f7d7570590a45";
+      sha256 = "c6918b2df57f5ca08f6a24b1e9d0355bbda199ca8a08a950200e344c360388e6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/nb-NO/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/nb-NO/thunderbird-102.5.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "bff46e27874a753e97f36acba4ebb0af7888a07fdc0c069e49eb34c000dac5a3";
+      sha256 = "44ef771b91f4310332e2cb79c81a323cef65bdbeae2dfc44eb1b4ebe81516278";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/nl/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/nl/thunderbird-102.5.0.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "0fe3f1a9490dfc81e13f199f91829e7eb22a8e8f1f660561029ccc093db5bc44";
+      sha256 = "43e16f65802000586493e38901de3c5acfbc2ac7fbd96964a6fc815ea9d1a2b6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/nn-NO/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/nn-NO/thunderbird-102.5.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "deee98fd0fb6be6c2974c54112e170a247336fe1e58d1e63c382b6be02a002cd";
+      sha256 = "eac4fec574f33372499f94c9a1d4995ba88c41f5e7d1d9dfc2b34001857a007c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/pa-IN/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/pa-IN/thunderbird-102.5.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "c7f3f847b96ce57ab79ea2d1e27b9525beb4218cb9747453b558def01fb367dd";
+      sha256 = "fb3d7789404180960fcd59b8b16cb9e16c5c3fedabe872e330d73b944654a0ac";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/pl/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/pl/thunderbird-102.5.0.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "a7058bf0ae48d4be0369dae1f1f006f78a0e5e914c92e3dbd86ccafeac9d0384";
+      sha256 = "e9f6c26b6956114ad0a56a9690d4f8edd96e23ca82afe68d28e990e5f0f67408";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/pt-BR/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/pt-BR/thunderbird-102.5.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "98c8bdff3e4747849a9dccf0c43292e85cddb67a8c21dd450fff693c7fa722ac";
+      sha256 = "675132e4f4faaeaa6b4a4853d4b47d3d09cab5842d271cd3243c49c783afa45b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/pt-PT/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/pt-PT/thunderbird-102.5.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "07271ac0c4cdbf7bed8a57c440b581321cd34c6345332bc12c8ee1739091c6e6";
+      sha256 = "abfc6b22ea322d70973624e3b3544887adba99eda1a086d8ae67f3904d47dc06";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/rm/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/rm/thunderbird-102.5.0.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "46343d73ce9854103c67aee2497af8ed2fa0e727f8fc1516f9a53389c1fb825a";
+      sha256 = "652d391ee8e934914d158b0c9e1f8df5078290dc5ddac321a11297360b22c982";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/ro/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/ro/thunderbird-102.5.0.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "3ef064c0e8d29ab43b8f4eb6457532d00c08f494a0780139751a2a5edf6686fb";
+      sha256 = "2e2326714706b12c8123d9952da8630b02a621eeda398631614d638a9a2aeec4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/ru/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/ru/thunderbird-102.5.0.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "e950647fb3d7cad84e2d52c37187f001b22f4526106ebb45b22a47d49c7c6569";
+      sha256 = "8fdcfb3fa172755204fb9263202988fef1d70a8f0be16b59bacc05fe47a9c124";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/sk/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/sk/thunderbird-102.5.0.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "75d1779f445c20b9e2d86398fe3f97ec9a994d731cdb0a7973879f32b08cb4e3";
+      sha256 = "e722b0e8e80e20c169f8d691ba81bd81bc97f77e1b9a03778f8ee93850dd9c29";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/sl/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/sl/thunderbird-102.5.0.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "9a433ee3876e57a4d48d61b86e0ff1fd4c92aa7be6cb1275360eda50d1e9e869";
+      sha256 = "8322877e87880e76a41eeebd268858a20caf7c5c95e728f21c4ab29959e96e9a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/sq/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/sq/thunderbird-102.5.0.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "3a10eea6c49c7400e4c80ac4999c21acdba0ef94279e51129dd099cb3a1429a6";
+      sha256 = "88297cb69a678af8db0dfe7584fefb518df1a9cfe0f87f1ff8cc30f52d5a3d64";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/sr/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/sr/thunderbird-102.5.0.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "aee0848c3bf945586a99e0007cc54d64a3635d83f9e28b8e3541561a5e1d1cc3";
+      sha256 = "4c8382d66320d98a3dfd9e254c8e72c371a39e49e07267ed6a9d4e0ba1a2d343";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/sv-SE/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/sv-SE/thunderbird-102.5.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "0109d45d6398428ead4273eaf350833bbb8b467abc6e9ab4fd19020b0cdfa107";
+      sha256 = "1dd4ad25cf7557119588e98f31fb8875ab1cac2fba6c08be6a18eed8ed7f7008";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/th/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/th/thunderbird-102.5.0.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "7d32e7b70231d6d496d0341a8706f22eb6671327982016076dd55022f1705f1d";
+      sha256 = "cec22b02870bdcd60e1ffdd3524a36e71bff5d32497787bf10af7e257c02aada";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/tr/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/tr/thunderbird-102.5.0.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "65f7f282d4129fe26c90589fd4d408f9566ab004010a54b12399556ecb4473f0";
+      sha256 = "68aebdfba935442388825991682280092920b1bbd6aaf14c5f8aa4b48d6fb38a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/uk/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/uk/thunderbird-102.5.0.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "4ff7402cd57afc078851db23ba4a19d205097786451fafae356032f1e1a82296";
+      sha256 = "f9f2f91cce1c6a41ea6783cabdcced5132174c0064bd1571ea1c425e8ee9050a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/uz/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/uz/thunderbird-102.5.0.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "1d505372aee160d1c1cad1d5cf1c4805666da0b24ee8ba992ac3b72808d326f0";
+      sha256 = "bc5236d3a61b35c674694605e5ee65c7b2599cb8969eab112767f0510ba14c81";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/vi/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/vi/thunderbird-102.5.0.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "1c8577b45a00f1495eb498dccca5b022556e483d76a6af39989f7acec93f3270";
+      sha256 = "b32afcecb7c1e7b67dff0a4b07e7d9eeb9cd939d017f5a1aea594fb282222118";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/zh-CN/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/zh-CN/thunderbird-102.5.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "e1dee1a41cdf2e551268d43732c48823f2bb7409724ae9410d01cea3d02bc903";
+      sha256 = "866371f13123180e76a0be8adcde3bde1123633a18012e9f0e71a2e75f61c838";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/zh-TW/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/zh-TW/thunderbird-102.5.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "0f1558f845ba2820003a18623432a2461296923e7e9a373b7811c6555998d6fc";
+      sha256 = "fec9c01a6bc7c46a5febbd9c7f9e0fb29d9e2cfc44bd05109a3e4fe65d8f6471";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/af/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/af/thunderbird-102.5.0.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "fd83eff1f30660df048fad80a6797c88416441ef0a134a5199afe51316a37c8d";
+      sha256 = "18ac6f84834865ae4dc1db83c025a1a1f48619aa59a29e0db52f312c9e0706eb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/ar/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/ar/thunderbird-102.5.0.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "0a2f05ebd9419d68d0786f2e2302e75660c21c0045c34f312179a28f1ff16b28";
+      sha256 = "00903f552a47f6d206ece18a67367ba13035f962a68566700f7ed8416a88b570";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/ast/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/ast/thunderbird-102.5.0.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "31c8a1603645756e44f23be4e4697a2dc58ea3cbe74370a3f473d049de1276b3";
+      sha256 = "800b55130ed716abf55dcd08644bb6df5c3588388e4d713e027dda144146bea9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/be/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/be/thunderbird-102.5.0.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "94466eecd618a29f5c1f0886c0a86d9ed97d554f35e81a9f15378314bc30a2f7";
+      sha256 = "78cd3a41302afc90580327c94f0ea6c3d3d4d9444e264549767f485f18a796e8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/bg/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/bg/thunderbird-102.5.0.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "dbfdaf7aeea04c34fad89485da4546dbd47528bd5903b5f51165238c1568383c";
+      sha256 = "fcbc8017e9cf0de78d615b89aa844c0d2453a47e000995cd1077bb0125afb08d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/br/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/br/thunderbird-102.5.0.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "2f707fadf4f1b56d42123be86ea56044162c1699855016d5bee0849eb217d8b2";
+      sha256 = "f22aa80ee04d152e8485c111b52fd8a40029c7f3b0abd558f37eca6ea1f2f3aa";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/ca/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/ca/thunderbird-102.5.0.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "94a1d06c6d62194c7a0fd07bd9e55580ff939b1a6714e82bcf4614c3a8e7b5db";
+      sha256 = "1c98fd50645a51bfb57f0c8a5800144603230535901a0790b137a854f600df19";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/cak/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/cak/thunderbird-102.5.0.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "c97a4ec5da61b6a1f95d184dd1ec0d6a53fdfbae38e4f868f2de20ba60b9e1d6";
+      sha256 = "f1a4711b1613bedca484ee594c5ad415fe617f5d950c47153810918afacdddf9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/cs/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/cs/thunderbird-102.5.0.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "3861b9df1d2f7c23beebaa192bc1c052c70d50626e87233321d208be36073584";
+      sha256 = "572401b5d7fb5919e48d67c992a8bccc0f7989cfb4e4a59b703a99d93b64bd58";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/cy/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/cy/thunderbird-102.5.0.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "fba48b7dd7de6b7d01898e8b2b21206b7583a71cb9b76860af1ebf8cdf5ceda4";
+      sha256 = "023f03cd9a84547d7a427bfd4d7989b687573f591e327a15d888d2fb0baabd38";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/da/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/da/thunderbird-102.5.0.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "b4c662fdbcfa6e43d2f6f3c01f76c78c390ac99987b45721389859a0aba688de";
+      sha256 = "94e11b08163e7608b6aeb772b6571174468951bb99d97e7de2f3e8623c26702c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/de/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/de/thunderbird-102.5.0.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "3fe043fcab6c987e59339a08844c8328fa0f6dc9f27b5e78d5f5b08183e73500";
+      sha256 = "f5a85b5ab6dc1241b7d51dc2cdad97aa29eebf4d4ed5bbe8906199ae634c0598";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/dsb/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/dsb/thunderbird-102.5.0.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "2433e03b4e5a680572f88dc81665d238fd933dc11ced970fab9671cab80695f8";
+      sha256 = "9f592e41dff37d58ef081b5219026c37e1d6822116e769ccab52071e1721052a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/el/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/el/thunderbird-102.5.0.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "1cb691404d9772fe0f676a75915604264a617474effa5dd7bc9a7af948698d22";
+      sha256 = "14d8c519f366a101e0389a81f8a15e15241c69b1b523e07a71a1dce4d785eba0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/en-CA/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/en-CA/thunderbird-102.5.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "912c66112f579d4d1706fde17ca9486b87b8f41704d097133917fe19b17de207";
+      sha256 = "22f6c1dbebaf52bd33f169229ddcaa487c5016d549e1b511af69e89f07ca862c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/en-GB/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/en-GB/thunderbird-102.5.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "44b565dc144279634a09e7df19acb8305a849a595544fb76441024be86445e77";
+      sha256 = "eca6df9a2ffbae931a786dfe33bc447bb4e5470afe8f21da24b4d50a1bed8deb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/en-US/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/en-US/thunderbird-102.5.0.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "90af8e3e27da95f19c57d7caa8bccdd10edcc8885d896459fad97d810f7145b9";
+      sha256 = "8d7882f46d4d78626749c200688c2d9713a00a60357e745e60464ab11c1ae4a3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/es-AR/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/es-AR/thunderbird-102.5.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "86b73f1335573c7eef2526450862f3d972212eca17701692bfa4772c0dff80e5";
+      sha256 = "3cb2a530cac1b0b5f6c7da7bd17b62fab1a196ae554469a76636782e55f7ee4a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/es-ES/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/es-ES/thunderbird-102.5.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "4839baf4f37b792d090682a1abd85f22070e417dde366b8b7d0ead0760801d55";
+      sha256 = "8f19d223a4a212144d2cd88e594f746ae611d12d891fd39bfcb4c72046b2a96a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/es-MX/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/es-MX/thunderbird-102.5.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "65ab28668cc350cd267c6253ea4a005003ce15957731630a51980c92993ece26";
+      sha256 = "89f530f790c8b33b880bc67b652a1c351bec41625808c2a78664b9e521a711a0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/et/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/et/thunderbird-102.5.0.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "2460aea7a1ca6d2b4f7e7e0e9b50faae4f6b3ff32da08d17d2fa2b1b27117748";
+      sha256 = "361eedd14a241b87d38a5f0768f8bea70fb5e94ea300b17b3bf5b6b1b63f1c88";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/eu/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/eu/thunderbird-102.5.0.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "6a9811c55c58fa8289470b09e712809f61ef3a63183f091f385b6d2ba4ab8944";
+      sha256 = "a563c1f6e8c207d656227adafb164948cf81638bc2293a5eca3383a78da48fac";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/fi/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/fi/thunderbird-102.5.0.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "a96a55089b5c308cdb62eb06bdaf48a409b359e725bfbba503a0a8c0ad4bd326";
+      sha256 = "e6770ae91921874ffa980daef3c9b687aff460a9658aecdcce05723fcd1a6ac6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/fr/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/fr/thunderbird-102.5.0.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "a01c8d0b02660ad13ec481ce422323149e0715c76b4578f64faa99d0ac02d875";
+      sha256 = "2fb45cb868ac4da79ff4b2d3d664b5dd2e8e7eefcc488785da812cceed36336c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/fy-NL/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/fy-NL/thunderbird-102.5.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "24d9c5c3fed8a6f28a2a745589ab4cf21befbb8672eacf04f91894b2813e4f1d";
+      sha256 = "38282f455d0ff8096634c6bff0a953b5654a80185925712ce5a774140c06fab2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/ga-IE/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/ga-IE/thunderbird-102.5.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "1fe82aed70a135e2d0a1d554d377d62f3589847cabd40d7cd52c4967b149019d";
+      sha256 = "45a8b6c21f7a086ce3d0ed75b4043e3cf546fa4a9bd2cdfe89f47633ea5a0337";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/gd/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/gd/thunderbird-102.5.0.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "6dcb8795cb011c82cdc0b9546bfbe82a2cc60b3c2d48b411d34289f2af2ca5a8";
+      sha256 = "065fc2c78c66ee04fd4343bc4247b3a24f83a6f50d0511b2555249310f3053e0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/gl/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/gl/thunderbird-102.5.0.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "4782e04e116b5ffdfd44be22b395230a1ff038b8a9139d63603202b59b9e64f2";
+      sha256 = "85c3ba755fc279b4ec746113f194f54f476bf60d359050c585e4d33698bbb750";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/he/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/he/thunderbird-102.5.0.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "b5ae398d3d4e938a291acead5d142457eddd35cf684e11a71a59bf7234e3990d";
+      sha256 = "12cf7e48c98de087b0c4aa20e61bf2aa012ed4ad9e356e6e9f1a9bb9764d62e6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/hr/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/hr/thunderbird-102.5.0.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "d77d401127a36b18af9f2943d1715ac275511b8f81a1b8e7e4f01b7526a40b39";
+      sha256 = "60e56d042f45bfb6a297e4cd9bbb7dc4855a576e37adb3a630f8f2aac460d24f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/hsb/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/hsb/thunderbird-102.5.0.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "04b8a940833c3014dcea58a8a86562e6f972ef804421d4faaa06b6b35e19857f";
+      sha256 = "cd8f0e82622ff4617d659b7df38f6d07dbfacd0a262c56039f0667cbb474db86";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/hu/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/hu/thunderbird-102.5.0.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "f1fb7b74b67fb3f370128c77c1a983d2902bf5c128d256c6a3b7db980f7c6760";
+      sha256 = "ab2f1fcd4fc076862ec2f2c6102712f45b7bf2e3da8577fdcc5ca6803773ab92";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/hy-AM/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/hy-AM/thunderbird-102.5.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "234b9c7ce41db8a299d1539f3b60205a35124ec228c5cebe128d2a0668c80a52";
+      sha256 = "84626379ebcc40f60ab94ec22d60b6a0a60b1af86d0d815a22b875e123d4b7fb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/id/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/id/thunderbird-102.5.0.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "b03b878f22baeadcebd1fc23097acf98fefb225b95deb237b32325948acf953d";
+      sha256 = "d49834cf21d985738d17306a7dff8fd158032c0b32fe6df2e2bebe722350ae6b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/is/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/is/thunderbird-102.5.0.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "100a22dbe23e9f54bc64557b0ee84dfb8521cb5a9731e042f34369b33627a712";
+      sha256 = "50f16148a4937381824691023d0acc736fcd517ca1523a5e2113fc0611b9f599";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/it/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/it/thunderbird-102.5.0.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "654a68be2e5fa83a6662a1e4b3d63a5689cdac0b09e6e77783e8c81b55ccab99";
+      sha256 = "85a75ac95e8533f7fe186e49cdf335e71332be527f801d775c85cf5a1acf9835";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/ja/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/ja/thunderbird-102.5.0.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "707dbe36c38cd81ca249def1ad8e5c9d37f27f73cfb136505afc6ae1b27d2053";
+      sha256 = "732df69293cf19d05aa081dbc815533352049f21bec37ad020fbf81764790bc4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/ka/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/ka/thunderbird-102.5.0.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "f2194efcd5acfcec0b0a6b92160ff1466f6d0774115dd8c36309e0faabaeca09";
+      sha256 = "bc8a0520e86296f8cb23187bfc35420a15c21e52d915fb8c272b872694e84697";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/kab/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/kab/thunderbird-102.5.0.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "57e4eb29c16c60e17529ba15ece3fc4402593a52d648afc7df966f8e6fb615fc";
+      sha256 = "907055485720ac96fc4fcff5a2458cb8978d7ac1047d61c304524f20058db227";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/kk/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/kk/thunderbird-102.5.0.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "aba703a49c0af16b2657d7a91b87f4bad76931156a841f894970df0084ca54a5";
+      sha256 = "a0b5629060637275083d189f33196f06b23f00dfdc96c45a08e6934ea9ba31aa";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/ko/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/ko/thunderbird-102.5.0.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "c20dec78ede44f9d415de07c33fdd5485109a6741a961a1f00dadbeabb07743e";
+      sha256 = "52a37de38cd370042f80e1d3e008850fc37de4e08dfead8cb0d1a8dce90a577a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/lt/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/lt/thunderbird-102.5.0.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "5e4bfa86cb6205c125535682c99ef1ebabd10d6a2b86e70a9e8c8e3bbb75b938";
+      sha256 = "77d60e886dd86a1c31c427dfcea2f74b0fd9f9b1ed6c21b6239032cc009edda9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/lv/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/lv/thunderbird-102.5.0.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "5f96da9f4b3554e3f49cd604c37e5550ab05eda2509721303fd69291f3200731";
+      sha256 = "d8b96ce3750df74fd789c28ad13fbc4bff739e7085de1b05a898e242663e75a5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/ms/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/ms/thunderbird-102.5.0.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "243bfaff279b46c93cdb43bb60f47571b88127bc6ff3708655244e89f3b7b79a";
+      sha256 = "e3e8c88bb5d57ec84f2e84717a1c98be462ce0463744de5cdf2c7b74bbd0905c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/nb-NO/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/nb-NO/thunderbird-102.5.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "1968e30fc26c664e37e3d5613f1be7b7d4e374cbd651a3f3959e0645394da573";
+      sha256 = "d6fe64522d534b17b0e97cd670df853a352d65b105e0fe09415a46fcdd49d0fb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/nl/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/nl/thunderbird-102.5.0.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "9bafdb18d55822ca1144068fa6e2ac98486db6ba8ca6484d4c65c00b3e6e04d7";
+      sha256 = "e6a7b5ff2d6fcae50791a6376369c5c87021e0970f21f303a67e970eb6663d16";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/nn-NO/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/nn-NO/thunderbird-102.5.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "def8e916acd5d93e949e6ef8d115e8feef54b208ed8476bb4921b691125778eb";
+      sha256 = "5861a050a47871f9c443daa363497ddc007d964be1b3a27ca6c5c1e2cacd82a7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/pa-IN/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/pa-IN/thunderbird-102.5.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "4cba4e78b252360634efb558cb5fcf6389613d60012a2a416f2f82e212fa204f";
+      sha256 = "58ef386087cdc68fdbe58444baa13375c40ae2e9447600ece3acf88373915533";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/pl/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/pl/thunderbird-102.5.0.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "eae5a29e37bedaf349068ff780ed7eb9e1091cb4a9253de03bf22ec93a959602";
+      sha256 = "09b33a0a5230f58b867018f74146d40e63cfb9a321eb587ac92f70b2806fbd20";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/pt-BR/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/pt-BR/thunderbird-102.5.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "9114d726fc80221b827cd33204fdd7e7e34d49690d4a7c252ce6b27e44cb8c98";
+      sha256 = "83e0a0b52d3d92e892389f308bb52a05728bfedfde0c9216ed687534aede07e1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/pt-PT/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/pt-PT/thunderbird-102.5.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "9dcb58828d399f7fc45a9382f998b6c33fff6719d6559be8e3de71807ceb7673";
+      sha256 = "5c9523ecf41e306c01b884caa30fc23d02a5d9f871a39fcd186776851530ea14";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/rm/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/rm/thunderbird-102.5.0.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "049160cd75f2677dcf31e96932a6f69c2c2d3261466b6eb91681d7cb3b8b9875";
+      sha256 = "54aeaf1ea767343a144f85f65618e2ee0d300d11efd520615690d1620fba47c2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/ro/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/ro/thunderbird-102.5.0.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "9edfb7e929bdf6b99bb689057b397d6fe02bc62d8082f35fd9341d94b840b316";
+      sha256 = "345f4952d17240eb03da38ec4c1b99e46b488ab058b13d258f013668d2e26651";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/ru/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/ru/thunderbird-102.5.0.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "eabaeadbfa7ab6cfc44ad52dd724a93227b02bd84e2b5df71cac08279fccfe56";
+      sha256 = "67e5b2cd8ca619592d57935fcbfe128c79ee167ef535614ab7f1c5b65b091365";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/sk/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/sk/thunderbird-102.5.0.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "7034db34602ff5c0c7bac02d3b04ad5765ade99896ab84cc96020bcca93f655d";
+      sha256 = "e6a55333fcb707f1b7f1302168799dc42efe2eec5bc371087bacba1182560870";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/sl/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/sl/thunderbird-102.5.0.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "e3069c0f783bcb2b6113d5a48341ecab30c0aef950312edaea778a540bb9a85a";
+      sha256 = "3995e35537d02a660231e8ef900a5912b1eab8b551a579e75cb306940ae9976b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/sq/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/sq/thunderbird-102.5.0.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "c07ce8c31a21d0f7f52fcf4d0fb069be0530ad3bc9e198cd6003aa4e28293ab9";
+      sha256 = "6b742595020681bd1066de0aca867954a273e10c076f39d0df1d83e5d8504b6c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/sr/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/sr/thunderbird-102.5.0.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "af8c3097acb38299a4b5e28af64fb24e447970b0447b670b98b105d17e58555c";
+      sha256 = "ffa7e636f5c0d541c007f52a2e829155e95b01ad0b279580d68260f6fe9132c7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/sv-SE/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/sv-SE/thunderbird-102.5.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "24e97a18161fda49002455d5bd971f418a4968e4549ef262974a996fa3595313";
+      sha256 = "7172e07df01e6685873b99150fc6f3da77623ff7e90edc88c37497e5114bad9e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/th/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/th/thunderbird-102.5.0.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "cc6c8cc43e57e1ef99f41e27e71c49d56505cd15cf0768276dfeb2619e498f09";
+      sha256 = "47fad6489e19b7acb53bc1f1b3001ad55b933d612271d08cfec642875f0cafe9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/tr/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/tr/thunderbird-102.5.0.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "805ce60935c470d39b2d254f2011c52e152b4762c6074372e85968bba327c1c5";
+      sha256 = "05d2eb31e99c09350aa0ec4cba2b046ea0c9871f32e9328b3c50c27fd4219b81";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/uk/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/uk/thunderbird-102.5.0.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "e853a99a029ad1e44e3f5427c0cc75bb09ce12a786a4c9237c330e09d6a2dadf";
+      sha256 = "8475840589710c68c996ba9740308d07677edc7ccb97585b4f9bcdc17d8397a9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/uz/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/uz/thunderbird-102.5.0.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "577fe9f24adfa657728a6ff5739deb51e1fe587b8a56f2ed13784959e3cc74c3";
+      sha256 = "944077ed7e95392123f5a8bc1521cf23693c8cf968ef8b9b14127d3e1bf40747";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/vi/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/vi/thunderbird-102.5.0.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "12e92bf539e5d85fcac7c66272c4386c4d30415b47cf47e7333b15916e1c3e2f";
+      sha256 = "7d7188470c3e0e4056df45f0032a7e5d31229ee4f07255d074eeea58801edb1f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/zh-CN/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/zh-CN/thunderbird-102.5.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "ddbce4614458821f01c7b09426afa230788042fd3412d8b565e4012fea3e4542";
+      sha256 = "a7c995a24c9f75ecf2c87e7c4651cfd5efb57b4ae5f6efabd1fc2b2458a47830";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/zh-TW/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/zh-TW/thunderbird-102.5.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "c7e82984695a17192bd07ad6d826545daaea8074d1e8723b0397db888162fa60";
+      sha256 = "6e2f90e0ccfc26cc834a97b32bd70903e51926631bb3eb7df3e1b0b4db46350c";
     }
     ];
 }
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
index 36373e08c86fc..7721834fea2d3 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
@@ -5,13 +5,13 @@ rec {
 
   thunderbird-102 = (buildMozillaMach rec {
     pname = "thunderbird";
-    version = "102.4.1";
+    version = "102.5.0";
     application = "comm/mail";
     applicationName = "Mozilla Thunderbird";
     binaryName = pname;
     src = fetchurl {
       url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
-      sha512 = "8855f7bf1ee2c9f6859189f3aa8afa5d851af2f4edb1a63e3804ec7796f228addf2819028ca6213f7c3f6c452cf4915801df1e706d7c84d8f15e0a627c77b7b6";
+      sha512 = "b6f2828b23616db5620e0364a1ebb02a8676e184d5e361c0aa87f36b64eb6b7f4b1bc3c42675b3ae3092953fbda6b01c18c068b167d40469481b1e18af1dcaa1";
     };
     extraPatches = [
       # The file to be patched is different from firefox's `no-buildconfig-ffx90.patch`.
@@ -19,6 +19,7 @@ rec {
     ];
 
     meta = with lib; {
+      changelog = "https://www.thunderbird.net/en-US/thunderbird/${version}/releasenotes/";
       description = "A full-featured e-mail client";
       homepage = "https://thunderbird.net/";
       maintainers = with maintainers; [ eelco lovesegfault pierron vcunat ];
diff --git a/pkgs/applications/networking/mullvad-vpn/default.nix b/pkgs/applications/networking/mullvad-vpn/default.nix
index 0d79f41828f9c..9b1a609d83253 100644
--- a/pkgs/applications/networking/mullvad-vpn/default.nix
+++ b/pkgs/applications/networking/mullvad-vpn/default.nix
@@ -43,11 +43,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "mullvad-vpn";
-  version = "2022.4";
+  version = "2022.5";
 
   src = fetchurl {
     url = "https://github.com/mullvad/mullvadvpn-app/releases/download/${version}/MullvadVPN-${version}_amd64.deb";
-    sha256 = "sha256-OwTtWzlZjHNFSN5/UjFJbcrPCv9+ucWYEL2idYjeozU=";
+    sha256 = "sha256-G3B4kb+ugukYtCVH3HHI43u3n9G0dX6WyYUA3X/sZ+o=";
   };
 
   nativeBuildInputs = [
@@ -75,7 +75,6 @@ stdenv.mkDerivation rec {
     mv opt/Mullvad\ VPN/* $out/share/mullvad
 
     ln -s $out/share/mullvad/mullvad-{gui,vpn} $out/bin/
-    ln -s $out/share/mullvad/resources/mullvad-daemon $out/bin/mullvad-daemon
     ln -sf $out/share/mullvad/resources/mullvad-problem-report $out/bin/mullvad-problem-report
 
     wrapProgram $out/bin/mullvad-vpn --set MULLVAD_DISABLE_UPDATE_NOTIFICATION 1
@@ -92,7 +91,7 @@ stdenv.mkDerivation rec {
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.gpl3Only;
     platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ Br1ght0ne ymarkus ];
+    maintainers = with maintainers; [ Br1ght0ne ymarkus ataraxiasjel ];
   };
 
 }
diff --git a/pkgs/applications/networking/mullvad/libwg.nix b/pkgs/applications/networking/mullvad/libwg.nix
index d54a2cafe8c0c..287797fd8e671 100644
--- a/pkgs/applications/networking/mullvad/libwg.nix
+++ b/pkgs/applications/networking/mullvad/libwg.nix
@@ -13,7 +13,7 @@ buildGoModule {
 
   sourceRoot = "source/wireguard/libwg";
 
-  vendorSha256 = "qvymWCdJ+GY90W/Fpdp+r1+mTq6O4LyN2Yw/PjKdFm0=";
+  vendorSha256 = "QNde5BqkSuqp3VJQOhn7aG6XknRDZQ62PE3WGhEJ5LU=";
 
   # XXX: hack to make the ar archive go to the correct place
   # This is necessary because passing `-o ...` to `ldflags` does not work
diff --git a/pkgs/applications/networking/mullvad/mullvad.nix b/pkgs/applications/networking/mullvad/mullvad.nix
index 65aeab2de49dd..03bc81c8b543e 100644
--- a/pkgs/applications/networking/mullvad/mullvad.nix
+++ b/pkgs/applications/networking/mullvad/mullvad.nix
@@ -15,16 +15,16 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "mullvad";
-  version = "2022.4";
+  version = "2022.5";
 
   src = fetchFromGitHub {
     owner = "mullvad";
     repo = "mullvadvpn-app";
     rev = version;
-    hash = "sha256-s0Cmeh10lQUB5BK4i1qxkDy/ylx/3c6V66dxH+kcnLs=";
+    hash = "sha256-LiaELeEBIn/GZibKf25W3DHe+IkpaTY8UC7ca/7lp8k=";
   };
 
-  cargoHash = "sha256-HPURL+CFUVLWRq8nzLiZxDhckgH76b6JBUObLGtoEEw=";
+  cargoHash = "sha256-KpBhdZce8Ug3ws7f1qg+5LtOMQw2Mf/uJsBg/TZSYyk=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/applications/networking/mumble/default.nix b/pkgs/applications/networking/mumble/default.nix
index 890930ba89a22..6a705959a11e4 100644
--- a/pkgs/applications/networking/mumble/default.nix
+++ b/pkgs/applications/networking/mumble/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, qt5, cmake
+{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, qt5, cmake
 , avahi, boost, libopus, libsndfile, protobuf, speex, libcap
 , alsa-lib, python3
 , rnnoise
@@ -108,6 +108,17 @@ let
       sha256 = "sha256-SYsGCuj3HeyAQRUecGLaRdJR9Rm7lbaM54spY/zx0jU=";
       fetchSubmodules = true;
     };
+
+    patches = [
+      # fixes 'static assertion failed: static_assert(sizeof(CCameraAngles) == 0x408, "");'
+      # when compiling pkgsi686Linux.mumble, which is a dependency of x64 mumble_overlay
+      # https://github.com/mumble-voip/mumble/pull/5850
+      # Remove with next version update
+      (fetchpatch {
+        url = "https://github.com/mumble-voip/mumble/commit/13c051b36b387356815cff5d685bc628b74ba136.patch";
+        hash = "sha256-Rq8fb6NFd4DCNWm6OOMYIP7tBllufmQcB5CSxPU4qqg=";
+      })
+    ];
   };
 in {
   mumble  = client source;
diff --git a/pkgs/applications/networking/mumble/overlay.nix b/pkgs/applications/networking/mumble/overlay.nix
index f9a716cecb552..72474d391477c 100644
--- a/pkgs/applications/networking/mumble/overlay.nix
+++ b/pkgs/applications/networking/mumble/overlay.nix
@@ -8,6 +8,7 @@ in stdenv.mkDerivation {
   version = mumble.version;
 
   inherit (mumble) src;
+  patches = mumble.patches or [];
 
   installPhase = ''
     mkdir -p $out/lib
diff --git a/pkgs/applications/networking/ncgopher/default.nix b/pkgs/applications/networking/ncgopher/default.nix
index af9812e8fca4b..bebb16740840c 100644
--- a/pkgs/applications/networking/ncgopher/default.nix
+++ b/pkgs/applications/networking/ncgopher/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ncgopher";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "jansc";
     repo = "ncgopher";
     rev = "v${version}";
-    sha256 = "sha256-GLt+ByZzQ9v+PPyebTa8LFqySixXw85RjGZ2e3yLRss=";
+    sha256 = "sha256-KrvTwcIeINIBkia6PTnKXp4jFd6GEMBh/xbn0Ot/wmE=";
   };
 
-  cargoSha256 = "sha256-VI+BTxgocv434wTr7nBeJRdt12wE53fEeqczE3o3768=";
+  cargoSha256 = "sha256-Zft/ip+/uJbUIqCDDEa4hchmZZiYWGdaVnzWC74FgU8=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [
diff --git a/pkgs/applications/networking/newsreaders/pan/default.nix b/pkgs/applications/networking/newsreaders/pan/default.nix
index b6afe0aa44e00..854f1c3484ec0 100644
--- a/pkgs/applications/networking/newsreaders/pan/default.nix
+++ b/pkgs/applications/networking/newsreaders/pan/default.nix
@@ -58,6 +58,6 @@ stdenv.mkDerivation rec {
     homepage = "http://pan.rebelbase.com/";
     maintainers = [ maintainers.eelco ];
     platforms = platforms.linux;
-    license = with licenses; [ gpl2Only fdl11 ];
+    license = with licenses; [ gpl2Only fdl11Only ];
   };
 }
diff --git a/pkgs/applications/networking/nextcloud-client/default.nix b/pkgs/applications/networking/nextcloud-client/default.nix
index 605a06add3ffb..30376e57da798 100644
--- a/pkgs/applications/networking/nextcloud-client/default.nix
+++ b/pkgs/applications/networking/nextcloud-client/default.nix
@@ -26,7 +26,7 @@
 
 mkDerivation rec {
   pname = "nextcloud-client";
-  version = "3.6.1";
+  version = "3.6.2";
 
   outputs = [ "out" "dev" ];
 
@@ -34,7 +34,7 @@ mkDerivation rec {
     owner = "nextcloud";
     repo = "desktop";
     rev = "v${version}";
-    sha256 = "sha256-RCYiUxTZSuZbDocueW0d8PdsRTR9bTjDgx0H53UGDP4=";
+    sha256 = "sha256-eTcQrbYYY+V87i6PuIEWCFczIqL8oxtdojPY/mZpJBU=";
   };
 
   patches = [
diff --git a/pkgs/applications/networking/enhanced-ctorrent/default.nix b/pkgs/applications/networking/p2p/enhanced-ctorrent/default.nix
index b83729ebc6936..b83729ebc6936 100644
--- a/pkgs/applications/networking/enhanced-ctorrent/default.nix
+++ b/pkgs/applications/networking/p2p/enhanced-ctorrent/default.nix
diff --git a/pkgs/applications/networking/p2p/lokinet/default.nix b/pkgs/applications/networking/p2p/lokinet/default.nix
index e3e2c8e588313..9b1421efa88a9 100644
--- a/pkgs/applications/networking/p2p/lokinet/default.nix
+++ b/pkgs/applications/networking/p2p/lokinet/default.nix
@@ -7,6 +7,7 @@
 , libuv
 , nlohmann_json
 , pkg-config
+, spdlog
 , sqlite
 , systemd
 , unbound
@@ -15,14 +16,14 @@
 
 stdenv.mkDerivation rec {
   pname = "lokinet";
-  version = "0.9.9";
+  version = "0.9.10";
 
   src = fetchFromGitHub {
     owner = "oxen-io";
     repo = "lokinet";
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-AaGsRg9S9Cng9emI/mN09QSOIRbE+x3916clWAwLnRs=";
+    sha256 = "sha256-dLkIFp1yz5MgUDxYQHN4zv2mexEb4GfkxlTOZyECsew=";
   };
 
   nativeBuildInputs = [
@@ -35,6 +36,7 @@ stdenv.mkDerivation rec {
     libuv
     libsodium
     nlohmann_json
+    spdlog
     sqlite
     systemd
     unbound
@@ -47,14 +49,6 @@ stdenv.mkDerivation rec {
     "-DWITH_SETCAP=OFF"
   ];
 
-  # copy bootstrap files
-  # see https://github.com/oxen-io/lokinet/issues/1765#issuecomment-938208774
-  postInstall = ''
-    mkdir -p $out/share/testnet
-    cp $src/contrib/bootstrap/mainnet.signed $out/share/bootstrap.signed
-    cp $src/contrib/bootstrap/testnet.signed $out/share/testnet/bootstrap.signed
-  '';
-
   meta = with lib; {
     description = "Anonymous, decentralized and IP based overlay network for the internet";
     homepage = "https://lokinet.org/";
diff --git a/pkgs/applications/networking/protonvpn-gui/default.nix b/pkgs/applications/networking/protonvpn-gui/default.nix
index 13f6e0186f689..98f7ac541a785 100644
--- a/pkgs/applications/networking/protonvpn-gui/default.nix
+++ b/pkgs/applications/networking/protonvpn-gui/default.nix
@@ -18,13 +18,13 @@
 
 buildPythonApplication rec {
   pname = "protonvpn-gui";
-  version = "1.11.0";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner = "ProtonVPN";
     repo = "linux-app";
     rev = "refs/tags/${version}";
-    sha256 = "sha256-aov7Mkb3bGlS3q9zIWkeuWbrvfP1Gm2DhaeTprQNbeI=";
+    sha256 = "sha256-MPS4d/yNkccsc/j85h7/4k4xL8uSCvhj/9JWPa7ezLY=";
   };
 
   nativeBuildInputs = [
@@ -70,6 +70,7 @@ buildPythonApplication rec {
     homepage = "https://github.com/ProtonVPN/linux-app";
     maintainers = with maintainers; [ wolfangaukang ];
     license = licenses.gpl3Plus;
+    mainProgram = "protonvpn";
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/qv2ray/default.nix b/pkgs/applications/networking/qv2ray/default.nix
index 62327a8e9a898..3e6dfb1a7d22e 100644
--- a/pkgs/applications/networking/qv2ray/default.nix
+++ b/pkgs/applications/networking/qv2ray/default.nix
@@ -11,7 +11,6 @@
 , openssl
 , pkg-config
 , c-ares
-, abseil-cpp
 , libGL
 , zlib
 , curl
@@ -51,7 +50,6 @@ mkDerivation rec {
     grpc
     protobuf
     openssl
-    abseil-cpp
     c-ares
   ];
 
diff --git a/pkgs/applications/networking/remote/freerdp/default.nix b/pkgs/applications/networking/remote/freerdp/default.nix
index ea09e1a942f13..d072a03c0b478 100644
--- a/pkgs/applications/networking/remote/freerdp/default.nix
+++ b/pkgs/applications/networking/remote/freerdp/default.nix
@@ -62,13 +62,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "freerdp";
-  version = "2.8.1";
+  version = "2.9.0";
 
   src = fetchFromGitHub {
     owner = "FreeRDP";
     repo = "FreeRDP";
     rev = version;
-    sha256 = "sha256-0heCwXFms6Ni/F1TaS5QEK+ePlR9DXUrzVj3vA5DvCk=";
+    sha256 = "sha256-I9xJWHoY8fZ5T9zca77gFciC+7JdD6fMwV16giiY4FU=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/remote/waypipe/default.nix b/pkgs/applications/networking/remote/waypipe/default.nix
index 7a1dd8be40d50..ec94d504b9dbc 100644
--- a/pkgs/applications/networking/remote/waypipe/default.nix
+++ b/pkgs/applications/networking/remote/waypipe/default.nix
@@ -5,14 +5,14 @@
 
 stdenv.mkDerivation rec {
   pname = "waypipe";
-  version = "0.8.3";
+  version = "0.8.4";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "mstoeckl";
     repo = "waypipe";
     rev = "v${version}";
-    sha256 = "sha256-f1XEcDMy4skddtbZFFhCF4xg6zQahOLiGcYiJPy2SHs=";
+    sha256 = "sha256-ee3RKlcZQf8o8cQfz1ckiLDFNzdFJesBJKJTTrUmcpU=";
   };
 
   strictDeps = true;
diff --git a/pkgs/applications/networking/resilio-sync/default.nix b/pkgs/applications/networking/resilio-sync/default.nix
index 35b4fa3aef43a..3d12b11b51410 100644
--- a/pkgs/applications/networking/resilio-sync/default.nix
+++ b/pkgs/applications/networking/resilio-sync/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, ... }:
+{ lib, stdenv, fetchurl, libxcrypt, ... }:
 
 stdenv.mkDerivation rec {
   pname = "resilio-sync";
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     install -D rslsync "$out/bin/rslsync"
     patchelf \
       --interpreter "$(< $NIX_CC/nix-support/dynamic-linker)" \
-      --set-rpath ${lib.makeLibraryPath [ stdenv.cc.libc ]} "$out/bin/rslsync"
+      --set-rpath ${lib.makeLibraryPath [ stdenv.cc.libc libxcrypt ]} "$out/bin/rslsync"
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/rymdport/default.nix b/pkgs/applications/networking/rymdport/default.nix
new file mode 100644
index 0000000000000..a35f918ff5a06
--- /dev/null
+++ b/pkgs/applications/networking/rymdport/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, stdenv
+, buildGoModule
+, fetchFromGitHub
+, pkg-config
+, libGL
+, xorg
+, Carbon
+, Cocoa
+}:
+
+buildGoModule rec {
+  pname = "rymdport";
+  version = "3.2.0";
+
+  src = fetchFromGitHub {
+    owner = "Jacalz";
+    repo = "rymdport";
+    rev = "v${version}";
+    hash = "sha256-kAEkeRAS+gMjdriop4tQcqc+GldldxOn+QwgWTl8XB0=";
+  };
+
+  vendorHash = "sha256-rZHM0HwiTNbUuJmlNOHg/XoYxqrKt59l5BL/vjm4Hfk=";
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = with xorg; [
+    libGL
+    libX11
+    libXcursor
+    libXext
+    libXi
+    libXinerama
+    libXrandr
+    libXxf86vm
+  ] ++ lib.optionals stdenv.isDarwin [
+    Carbon
+    Cocoa
+    IOKit
+  ];
+
+  meta = {
+    description = "Easy encrypted file, folder, and text sharing between devices";
+    homepage = "https://github.com/Jacalz/rymdport";
+    changelog = "https://github.com/Jacalz/rymdport/blob/${src.rev}/CHANGELOG.md";
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ dotlambda ];
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/seaweedfs/default.nix b/pkgs/applications/networking/seaweedfs/default.nix
index 6ff9b6bd26fd5..cf23d22087396 100644
--- a/pkgs/applications/networking/seaweedfs/default.nix
+++ b/pkgs/applications/networking/seaweedfs/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "seaweedfs";
-  version = "3.32";
+  version = "3.34";
 
   src = fetchFromGitHub {
     owner = "chrislusf";
     repo = "seaweedfs";
     rev = version;
-    hash = "sha256-GMOLlkBfY3ShVojdRrmpMYgoea52kq4aXr/oZj5bJWo=";
+    hash = "sha256-lOCZHkLJCDvaT3CcHUBbsybdy0H6BfKKGpd/73cxcWA=";
   };
 
-  vendorHash = "sha256-cEzPKx54rssyAytYenIcud3K0f7xuO8WzE8wdMqZipE=";
+  vendorHash = "sha256-1RUWONkXArXYg8gQogKUhMSGdIYyT3lq5qWuUQBsFig=";
 
   subPackages = [ "weed" ];
 
diff --git a/pkgs/applications/networking/sniffers/kismet/default.nix b/pkgs/applications/networking/sniffers/kismet/default.nix
index ad1ee0a0b302c..1e4bb853742ea 100644
--- a/pkgs/applications/networking/sniffers/kismet/default.nix
+++ b/pkgs/applications/networking/sniffers/kismet/default.nix
@@ -1,36 +1,43 @@
-{ lib, stdenv, fetchurl, pkg-config, libpcap, pcre, libnl, zlib, libmicrohttpd
-, sqlite, protobuf, protobufc, libusb1, libcap, binutils, elfutils
-, withNetworkManager ? false, glib, networkmanager
-, withPython ? false, python3
-, withSensors ? false, lm_sensors}:
-
-# couldn't get python modules to build correctly,
-# waiting for some other volunteer to fix it
-assert !withPython;
+{ lib
+, stdenv
+, binutils
+, elfutils
+, fetchurl
+, glib
+, libcap
+, libmicrohttpd
+, libnl
+, libpcap
+, libusb1
+, libwebsockets
+, lm_sensors
+, networkmanager
+, pcre
+, pkg-config
+, openssl
+, protobuf
+, protobufc
+, python3
+, sqlite
+, withNetworkManager ? false
+, withPython ? true
+, withSensors ? false
+, zlib
+}:
 
 stdenv.mkDerivation rec {
   pname = "kismet";
-  version = "2020-09-R2";
+  version = "2022-08-R1";
 
   src = fetchurl {
     url = "https://www.kismetwireless.net/code/${pname}-${version}.tar.xz";
-    sha256 = "1n6y6sgqf50bng8n0mhs2r1w0ak14mv654sqay72a78wh2s7ywzg";
+    hash = "sha256-IUnM6sVSZQhlP00C3PemlOPaPcAAojcqHuS/mYgnl4E=";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-
-  buildInputs = [
-    libpcap pcre libmicrohttpd libnl zlib sqlite protobuf protobufc
-    libusb1 libcap binutils elfutils
-  ] ++ lib.optionals withNetworkManager [ networkmanager glib ]
-    ++ lib.optional withSensors lm_sensors
-    ++ lib.optional withPython (python3.withPackages(ps: [ ps.setuptools ps.protobuf
-                                                                  ps.numpy ps.pyserial ]));
-
-  configureFlags = []
-    ++ lib.optional (!withNetworkManager) "--disable-libnm"
-    ++ lib.optional (!withPython) "--disable-python-tools"
-    ++ lib.optional (!withSensors) "--disable-lmsensors";
+  postPatch = ''
+    substituteInPlace Makefile.in \
+      --replace "-m 4550" ""
+  '';
 
   postConfigure = ''
     sed -e 's/-o $(INSTUSR)//' \
@@ -40,12 +47,58 @@ stdenv.mkDerivation rec {
         -i Makefile
   '';
 
+  nativeBuildInputs = [
+    pkg-config
+  ] ++ lib.optionals withPython [
+    python3
+  ];
+
+  buildInputs = [
+    binutils
+    elfutils
+    libcap
+    libmicrohttpd
+    libnl
+    libpcap
+    openssl
+    libusb1
+    libwebsockets
+    pcre
+    protobuf
+    protobufc
+    sqlite
+    zlib
+  ] ++ lib.optionals withNetworkManager [
+    networkmanager
+    glib
+  ] ++ lib.optional withSensors [
+    lm_sensors
+  ];
+
+  propagatedBuildInputs = [
+  ] ++ lib.optional withPython (python3.withPackages (ps: [
+    ps.numpy
+    ps.protobuf
+    ps.pyserial
+    ps.setuptools
+    ps.websockets
+  ]));
+
+  configureFlags = [
+  ] ++ lib.optional (!withNetworkManager) [
+    "--disable-libnm"
+  ] ++ lib.optional (!withPython) [
+    "--disable-python-tools"
+  ] ++ lib.optional (!withSensors) [
+    "--disable-lmsensors"
+  ];
+
   enableParallelBuilding = true;
 
   meta = with lib; {
     description = "Wireless network sniffer";
     homepage = "https://www.kismetwireless.net/";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index 2f41d0ec55ff8..08f9bc0b8af2b 100644
--- a/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv, buildPackages, fetchurl, pkg-config, pcre, perl, flex, bison, gettext, libpcap, libnl, c-ares
-, gnutls, libgcrypt, libgpg-error, geoip, openssl, lua5, python3, libcap, glib
-, libssh, nghttp2, zlib, cmake, makeWrapper, wrapGAppsHook
+{ lib, stdenv, buildPackages, fetchurl, pkg-config, pcre2, perl, flex, bison
+, gettext, libpcap, libnl, c-ares, gnutls, libgcrypt, libgpg-error, geoip, openssl
+, lua5, python3, libcap, glib, libssh, nghttp2, zlib, cmake, makeWrapper, wrapGAppsHook
 , withQt ? true, qt5 ? null
 , ApplicationServices, SystemConfiguration, gmp
 , asciidoctor
@@ -11,7 +11,7 @@ assert withQt  -> qt5  != null;
 with lib;
 
 let
-  version = "3.6.5";
+  version = "4.0.1";
   variant = if withQt then "qt" else "cli";
 
 in stdenv.mkDerivation {
@@ -21,7 +21,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.xz";
-    sha256 = "sha256-otdB1g/zUWE31LnzjNwH7uVKVuw2BG9MOv7mv7T26qE=";
+    sha256 = "sha256-s7AC+Z0Tu/R/ntO+frNyywwkVL0PrqKadWgZzgGf/cI=";
   };
 
   cmakeFlags = [
@@ -44,7 +44,7 @@ in stdenv.mkDerivation {
   depsBuildBuild = [ buildPackages.stdenv.cc ];
 
   buildInputs = [
-    gettext pcre libpcap lua5 libssh nghttp2 openssl libgcrypt
+    gettext pcre2 libpcap lua5 libssh nghttp2 openssl libgcrypt
     libgpg-error gnutls geoip c-ares glib zlib
   ] ++ optionals withQt  (with qt5; [ qtbase qtmultimedia qtsvg qttools ])
     ++ optionals stdenv.isLinux  [ libcap libnl ]
@@ -73,19 +73,20 @@ in stdenv.mkDerivation {
         done
     done
   '' else optionalString withQt ''
-    install -Dm644 -t $out/share/applications ../org.wireshark.Wireshark.desktop
+    pwd
+    install -Dm644 -t $out/share/applications ../resources/freedesktop/org.wireshark.Wireshark.desktop
 
-    install -Dm644 ../image/wsicon.svg $out/share/icons/wireshark.svg
-    mkdir $dev/include/{epan/{wmem,ftypes,dfilter},wsutil/wmem,wiretap} -pv
+    install -Dm644 ../resources/icons/wsicon.svg $out/share/icons/wireshark.svg
+    mkdir -pv $dev/include/{epan/{wmem,ftypes,dfilter},wsutil/wmem,wiretap}
 
     cp config.h $dev/include/wireshark/
-    cp ../ws_*.h $dev/include
     cp ../epan/*.h $dev/include/epan/
     cp ../epan/ftypes/*.h $dev/include/epan/ftypes/
     cp ../epan/dfilter/*.h $dev/include/epan/dfilter/
+    cp ../include/ws_*.h $dev/include/
+    cp ../wiretap/*.h $dev/include/wiretap/
     cp ../wsutil/*.h $dev/include/wsutil/
     cp ../wsutil/wmem/*.h $dev/include/wsutil/wmem/
-    cp ../wiretap/*.h $dev/include/wiretap
   '');
 
   dontFixCmake = true;
diff --git a/pkgs/applications/networking/sniffers/wireshark/wireshark-lookup-dumpcap-in-path.patch b/pkgs/applications/networking/sniffers/wireshark/wireshark-lookup-dumpcap-in-path.patch
index 5829457375f27..0e523db0a32ad 100644
--- a/pkgs/applications/networking/sniffers/wireshark/wireshark-lookup-dumpcap-in-path.patch
+++ b/pkgs/applications/networking/sniffers/wireshark/wireshark-lookup-dumpcap-in-path.patch
@@ -1,6 +1,6 @@
-From 5bef9deeff8a2e4401de0f45c9701cd6f98f29d8 Mon Sep 17 00:00:00 2001
+From 2f0cbc740a0fe050f4de082620296c5eea18eba3 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= <bjorn.forsman@gmail.com>
-Date: Thu, 26 Nov 2015 21:03:35 +0100
+Date: Thu, 27 Oct 2022 20:56:07 +0200
 Subject: [PATCH] Lookup dumpcap in PATH
 
 NixOS patch: Look for dumpcap in PATH first, because there may be a
@@ -11,22 +11,26 @@ Also change execv() to execvp() because we've set argv[0] to "dumpcap"
 and have to enable PATH lookup. Wireshark is not a setuid program, so
 looking in PATH is not a security issue.
 
+ORIGINALLY by Björn Forsman
+
 EDITED by teto for wireshark 3.6
 
+EDITED by esclear for wireshark 4.0
+
 Signed-off-by: Franz Pletz <fpletz@fnordicwalking.de>
 ---
- capchild/capture_sync.c | 17 ++++++++++++++---
+ capture/capture_sync.c | 17 ++++++++++++++---
  1 file changed, 14 insertions(+), 3 deletions(-)
 
-diff --git a/capchild/capture_sync.c b/capchild/capture_sync.c
-index f31914886a..df29b6f0ab 100644
+diff --git a/capture/capture_sync.c b/capture/capture_sync.c
+index fc5552f02c..a556f109af 100644
 --- a/capture/capture_sync.c
 +++ b/capture/capture_sync.c
-@@ -187,7 +187,18 @@ init_pipe_args(int *argc) {
+@@ -239,7 +239,18 @@ init_pipe_args(int *argc) {
  #ifdef _WIN32
-     exename = g_strdup_printf("%s\\dumpcap.exe", progfile_dir);
+     exename = ws_strdup_printf("%s\\dumpcap.exe", progfile_dir);
  #else
--    exename = g_strdup_printf("%s/dumpcap", progfile_dir);
+-    exename = ws_strdup_printf("%s/dumpcap", progfile_dir);
 +    /*
 +     * NixOS patch: Look for dumpcap in PATH first, because there may be a
 +     * dumpcap wrapper that we want to use instead of the default
@@ -34,29 +38,29 @@ index f31914886a..df29b6f0ab 100644
 +     */
 +    if (system("command -v dumpcap >/dev/null") == 0) {
 +        /* Found working dumpcap */
-+        exename = g_strdup_printf("dumpcap");
++        exename = ws_strdup_printf("dumpcap");
 +    } else {
 +        /* take Wireshark's absolute program path and replace "Wireshark" with "dumpcap" */
-+        exename = g_strdup_printf("%s/dumpcap", progfile_dir);
++        exename = ws_strdup_printf("%s/dumpcap", progfile_dir);
 +    }
  #endif
  
      /* Make that the first argument in the argument list (argv[0]). */
-@@ -572,7 +583,7 @@ sync_pipe_start(capture_options *capture_opts, capture_session *cap_session, inf
+@@ -690,7 +701,7 @@ sync_pipe_start(capture_options *capture_opts, GPtrArray *capture_comments,
           */
          dup2(sync_pipe[PIPE_WRITE], 2);
          ws_close(sync_pipe[PIPE_READ]);
 -        execv(argv[0], argv);
 +        execvp(argv[0], argv);
-         g_snprintf(errmsg, sizeof errmsg, "Couldn't run %s in child process: %s",
+         snprintf(errmsg, sizeof errmsg, "Couldn't run %s in child process: %s",
                     argv[0], g_strerror(errno));
          sync_pipe_errmsg_to_parent(2, errmsg, "");
-@@ -811,7 +822,7 @@ sync_pipe_open_command(char* const argv[], int *data_read_fd,
+@@ -946,7 +957,7 @@ sync_pipe_open_command(char* const argv[], int *data_read_fd,
          dup2(sync_pipe[PIPE_WRITE], 2);
          ws_close(sync_pipe[PIPE_READ]);
          ws_close(sync_pipe[PIPE_WRITE]);
 -        execv(argv[0], argv);
 +        execvp(argv[0], argv);
-         g_snprintf(errmsg, sizeof errmsg, "Couldn't run %s in child process: %s",
+         snprintf(errmsg, sizeof errmsg, "Couldn't run %s in child process: %s",
                     argv[0], g_strerror(errno));
          sync_pipe_errmsg_to_parent(2, errmsg, "");
diff --git a/pkgs/applications/networking/soulseek/nicotine-plus/default.nix b/pkgs/applications/networking/soulseek/nicotine-plus/default.nix
index ec56ed0464ca6..2f0ee430b4f9a 100644
--- a/pkgs/applications/networking/soulseek/nicotine-plus/default.nix
+++ b/pkgs/applications/networking/soulseek/nicotine-plus/default.nix
@@ -11,16 +11,16 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "nicotine-plus";
-  version = "3.2.4";
+  version = "3.2.6";
 
   src = fetchFromGitHub {
     owner = "nicotine-plus";
     repo = "nicotine-plus";
     rev = "refs/tags/${version}";
-    sha256 = "sha256-swFNFw2a5PXwBkh0FBrCy5u3m5gErq29ZmWhMP7MpmQ=";
+    sha256 = "sha256-ELpM5hnyHsqTqB0R1JPcbxkw9XR19CnasIYXJCbKBho=";
   };
 
-  nativeBuildInputs = [ gettext wrapGAppsHook ];
+  nativeBuildInputs = [ gettext wrapGAppsHook gobject-introspection ];
 
   propagatedBuildInputs = [
     gdk-pixbuf
diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix
index 02cf46a23ce2c..7568f45d6811a 100644
--- a/pkgs/applications/networking/sync/rclone/default.nix
+++ b/pkgs/applications/networking/sync/rclone/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "rclone";
-  version = "1.60.0";
+  version = "1.60.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-UFA4mPzpHnyx6+tVw0QwhTlALdu8YLNAleWxXuFJczs=";
+    sha256 = "sha256-ss4GTXnvWMwin1jn5yzmclS7SGh7NmPvdcDFa1ygwzg=";
   };
 
   vendorSha256 = "sha256-si5fzyPQUUTKkm/UVt8xfpJGK/4F6GM4HuAg1R0hzqQ=";
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index 8ceca271f11af..4bfe3efec1217 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -4,16 +4,16 @@ let
   common = { stname, target, postInstall ? "" }:
     buildGoModule rec {
       pname = stname;
-      version = "1.22.0";
+      version = "1.22.1";
 
       src = fetchFromGitHub {
         owner = "syncthing";
         repo = "syncthing";
         rev = "v${version}";
-        hash = "sha256-jAXxgSm0eEdFylukYGhIGtA0KniMiln1BIfuGZoboSM=";
+        hash = "sha256-XndTMPO1lN6bsjeHbvrZ+i4VwaKoUOcWOfbVQ2E7/eo=";
       };
 
-      vendorSha256 = "sha256-yabX1A4Q/0ZQFMCrvO5oCI5y0o/dqQy3IplxZ6SsHuw=";
+      vendorSha256 = "sha256-ZxA05K5zKmQIm2R525DNXpGXqwM33j3PCuPN5d2qcj8=";
 
       doCheck = false;
 
diff --git a/pkgs/applications/networking/synology-cloud-sync-decryption-tool/default.nix b/pkgs/applications/networking/synology-cloud-sync-decryption-tool/default.nix
new file mode 100644
index 0000000000000..3ceb5c0e1afd2
--- /dev/null
+++ b/pkgs/applications/networking/synology-cloud-sync-decryption-tool/default.nix
@@ -0,0 +1,43 @@
+{ lib, writeScript, qt5, fetchurl, autoPatchelfHook }:
+
+qt5.mkDerivation rec {
+  pname = "synology-cloud-sync-decryption-tool";
+  version = "027";
+
+  src = fetchurl {
+    url = "https://global.download.synology.com/download/Utility/SynologyCloudSyncDecryptionTool/${version}/Linux/x86_64/SynologyCloudSyncDecryptionTool-${version}_x64.tar.gz";
+    sha256 = "sha256-EWxADvkfhnMwHIauJj3pH6SvSkkrc4cwAhsf1pWOOWQ=";
+  };
+
+  nativeBuildInputs = [ autoPatchelfHook ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    cp $NIX_BUILD_TOP/SynologyCloudSyncDecryptionTool $out/bin
+
+    runHook postInstall
+  '';
+
+  passthru.updateScript = writeScript "update-synology-cloud-sync-decryption-tool" ''
+    #!/usr/bin/env nix-shell
+    #!nix-shell -i bash -p curl common-updater-scripts
+
+    set -euo pipefail
+
+    version="$(curl -s https://www.synology.com/en-uk/releaseNote/SynologyCloudSyncDecryptionTool \
+             | grep -oP '(?<=data-version=")\d+' \
+             | head -1)"
+    update-source-version synology-cloud-sync-decryption-tool "$version"
+  '';
+
+  meta = with lib; {
+    description = "A desktop tool to decrypt data encrypted by Cloud Sync.";
+    homepage = "https://kb.synology.com/en-global/DSM/help/SynologyCloudSyncDecryptionTool/synologycloudsyncdecryptiontool";
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
+    license = licenses.unfree;
+    maintainers = with maintainers; [ kalbasit ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/networking/twtxt/default.nix b/pkgs/applications/networking/twtxt/default.nix
index 792c13aa23fa8..5745408625620 100644
--- a/pkgs/applications/networking/twtxt/default.nix
+++ b/pkgs/applications/networking/twtxt/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonApplication rec {
   pname = "twtxt";
-  version = "1.2.3";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "buckket";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-AdM95G2Vz3UbVPI7fs8/D78BMxscbTGrCpIyyHzSmho=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-CbFh1o2Ijinfb8X+h1GP3Tp+8D0D3/Czt/Uatd1B4cw=";
   };
 
   # Relax some dependencies
diff --git a/pkgs/applications/networking/warp/default.nix b/pkgs/applications/networking/warp/default.nix
index 4efec422ce315..5a1a59d7c6e1f 100644
--- a/pkgs/applications/networking/warp/default.nix
+++ b/pkgs/applications/networking/warp/default.nix
@@ -9,7 +9,7 @@
 , pkg-config
 , python3
 , rustPlatform
-, wrapGAppsHook
+, wrapGAppsHook4
 , glib
 , gtk4
 , libadwaita
@@ -17,14 +17,14 @@
 
 stdenv.mkDerivation rec {
   pname = "warp";
-  version = "0.2.1";
+  version = "0.3.1";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
-    repo = "warp";
+    repo = pname;
     rev = "v${version}";
-    hash = "sha256-ajz450ix68TDkhyAZd1IgZA/jUnXULrYZOSdcoOL+S0=";
+    hash = "sha256-0zjtaF0RwI7Sj2D5vRaiBJI+Bp/F17VO9ywMRqZyqxI=";
   };
 
   postPatch = ''
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-08xbd2YmJw2NTrxBrnJZMV2VvX6V0eX+fxbEEWFoC9c=";
+    hash = "sha256-HotArxXfmT6Gw6ZZZQ4X6bTx0EFb6vZLbXxhddmGID8=";
   };
 
   nativeBuildInputs = [
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     python3
-    wrapGAppsHook
+    wrapGAppsHook4
   ] ++ (with rustPlatform; [
     cargoSetupHook
     rust.cargo
diff --git a/pkgs/applications/office/appflowy/default.nix b/pkgs/applications/office/appflowy/default.nix
index 82ae850065d89..1b09de85bb366 100644
--- a/pkgs/applications/office/appflowy/default.nix
+++ b/pkgs/applications/office/appflowy/default.nix
@@ -7,16 +7,17 @@
   makeDesktopItem,
   gtk3,
   openssl,
-  xdg-user-dirs
+  xdg-user-dirs,
+  keybinder3
 }:
 
 stdenv.mkDerivation rec {
   pname = "appflowy";
-  version = "0.0.4";
+  version = "0.0.6.2";
 
   src = fetchzip {
     url = "https://github.com/AppFlowy-IO/appflowy/releases/download/${version}/AppFlowy-linux-x86.tar.gz";
-    sha256 = "sha256-ke3cuRi+ZlBSWawg66cGrV928dOBp0EniNakitmgUso=";
+    sha256 = "sha256-LOrXGFctAaiz2z9M8ghrXsQ+qygwNPyYragmL/EjlDQ=";
   };
 
   nativeBuildInputs = [
@@ -28,6 +29,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
       gtk3
       openssl
+      keybinder3
   ];
 
   dontBuild = true;
diff --git a/pkgs/applications/office/endeavour/default.nix b/pkgs/applications/office/endeavour/default.nix
new file mode 100644
index 0000000000000..09442c8b56ba9
--- /dev/null
+++ b/pkgs/applications/office/endeavour/default.nix
@@ -0,0 +1,70 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, meson
+, ninja
+, pkg-config
+, wrapGAppsHook4
+, gettext
+, gnome
+, glib
+, gtk4
+, wayland
+, libadwaita
+, libpeas
+, gnome-online-accounts
+, gsettings-desktop-schemas
+, evolution-data-server-gtk4
+, libical
+, itstool
+, gitUpdater
+}:
+
+stdenv.mkDerivation rec {
+  pname = "endeavour";
+  version = "43.0";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "World";
+    repo = "Endeavour";
+    rev = version;
+    sha256 = "sha256-1mCTw+nJ1w7RdCXfPCO31t1aYOq9Bki3EaXsHiiveD0=";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    gettext
+    wrapGAppsHook4
+    itstool
+  ];
+
+  buildInputs = [
+    glib
+    gtk4
+    wayland # required by gtk header
+    libadwaita
+    libpeas
+    gnome-online-accounts
+    gsettings-desktop-schemas
+    gnome.adwaita-icon-theme
+
+    # Plug-ins
+    evolution-data-server-gtk4 # eds
+    libical
+  ];
+
+  passthru = {
+    updateScript = gitUpdater { };
+  };
+
+  meta = with lib; {
+    description = "Personal task manager for GNOME";
+    homepage = "https://gitlab.gnome.org/World/Endeavour";
+    license = licenses.gpl3Plus;
+    maintainers = teams.gnome.members;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/office/fava/default.nix b/pkgs/applications/office/fava/default.nix
index aea4a16e46b9f..fce5bb1496417 100644
--- a/pkgs/applications/office/fava/default.nix
+++ b/pkgs/applications/office/fava/default.nix
@@ -2,12 +2,12 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "fava";
-  version = "1.23";
+  version = "1.23.1";
   format = "pyproject";
 
   src = python3.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "sha256-dwJKSQiuggnseEbALSrT051Me/z1jpj/BjuxN0v5dpU=";
+    sha256 = "sha256-Uw8UIJa+Dtsy+o31I1ynLyhZrFNX42NFRXu1O2ISbzU=";
   };
 
   nativeBuildInputs = with python3.pkgs; [ setuptools-scm ];
diff --git a/pkgs/applications/office/karlender/default.nix b/pkgs/applications/office/karlender/default.nix
index 44cd2ed0051f9..6917e2ab94b15 100644
--- a/pkgs/applications/office/karlender/default.nix
+++ b/pkgs/applications/office/karlender/default.nix
@@ -11,22 +11,23 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "karlender";
-  version = "0.6.2";
+  version = "0.8.0";
 
   src = fetchFromGitLab {
-    owner = "loers";
-    repo = "karlender";
+    owner = "floers";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-YF46C+Vz7eGl4lqOQXqiQqaa6ieo1p8l6QCh4oNSJEg=";
+    hash = "sha256-WuTxsnYXudciTBH1RFHsIYNIHeoeZ+rI2JhYBYPUziw=";
   };
 
-  cargoSha256 = "sha256-Kx5K2tp5PAQWac8LVrmOsk8Qf9m34SJ1vyfv7Ef2Wr0=";
+  cargoHash = "sha256-eHEISCHh1jWCy3LwVuCx4LXfNLe1A4drHusyayoS+Ho=";
 
   nativeBuildInputs = [
     pkg-config
     wrapGAppsHook4
     glib
   ];
+
   buildInputs = [
     gtk4
     libadwaita
@@ -52,7 +53,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "Mobile-friendly GTK calendar application";
-    homepage = "https://gitlab.com/loers/karlender";
+    homepage = "https://gitlab.com/floers/karlender";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ chuangzhu ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/office/kmymoney/default.nix b/pkgs/applications/office/kmymoney/default.nix
index 6a6ddc28449ed..64167b84247c0 100644
--- a/pkgs/applications/office/kmymoney/default.nix
+++ b/pkgs/applications/office/kmymoney/default.nix
@@ -3,7 +3,7 @@
 , autoPatchelfHook
 
 , akonadi, alkimia, aqbanking, gmp, gwenhywfar, kactivities, karchive
-, kcmutils, kcontacts, kdewebkit, kdiagram, kholidays, kidentitymanagement
+, kcmutils, kcontacts, qtwebengine, kdiagram, kholidays, kidentitymanagement
 , kitemmodels, libical, libofx, qgpgme
 
 , sqlcipher
@@ -23,6 +23,12 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-OTi4B4tzkboy4Su0I5di+uE0aDoMLsGnUQXDAso+Xj8=";
   };
 
+  cmakeFlags = [
+    # Remove this when upgrading to a KMyMoney release that includes
+    # https://invent.kde.org/office/kmymoney/-/merge_requests/118
+    "-DENABLE_WEBENGINE=ON"
+  ];
+
   # Hidden dependency that wasn't included in CMakeLists.txt:
   NIX_CFLAGS_COMPILE = "-I${kitemmodels.dev}/include/KF5";
 
@@ -33,7 +39,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     akonadi alkimia aqbanking gmp gwenhywfar kactivities karchive kcmutils
-    kcontacts kdewebkit kdiagram kholidays kidentitymanagement kitemmodels
+    kcontacts qtwebengine kdiagram kholidays kidentitymanagement kitemmodels
     libical libofx qgpgme
     sqlcipher
 
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index 4c3a4bd988442..a562548242b6e 100644
--- a/pkgs/applications/office/libreoffice/default.nix
+++ b/pkgs/applications/office/libreoffice/default.nix
@@ -96,7 +96,7 @@
 , gpgme
 , libwebp
 , abseil-cpp
-, langs ? [ "ca" "cs" "da" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "ja" "nl" "pl" "pt" "pt-BR" "ro" "ru" "sl" "uk" "zh-CN" ]
+, langs ? [ "ca" "cs" "da" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "ja" "nl" "pl" "pt" "pt-BR" "ro" "ru" "sl" "tr" "uk" "zh-CN" ]
 , withHelp ? true
 , kdeIntegration ? false
 , mkDerivation ? null
diff --git a/pkgs/applications/office/libreoffice/src-still/download.nix b/pkgs/applications/office/libreoffice/src-still/download.nix
index 1b85cae70c53f..940a648549235 100644
--- a/pkgs/applications/office/libreoffice/src-still/download.nix
+++ b/pkgs/applications/office/libreoffice/src-still/download.nix
@@ -112,11 +112,11 @@
     md5name = "1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt";
   }
   {
-    name = "curl-7.83.1.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/curl-7.83.1.tar.xz";
-    sha256 = "2cb9c2356e7263a1272fd1435ef7cdebf2cd21400ec287b068396deb705c22c4";
+    name = "curl-7.86.0.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/curl-7.86.0.tar.xz";
+    sha256 = "2d61116e5f485581f6d59865377df4463f2e788677ac43222b496d4e49fb627b";
     md5 = "";
-    md5name = "2cb9c2356e7263a1272fd1435ef7cdebf2cd21400ec287b068396deb705c22c4-curl-7.83.1.tar.xz";
+    md5name = "2d61116e5f485581f6d59865377df4463f2e788677ac43222b496d4e49fb627b-curl-7.86.0.tar.xz";
   }
   {
     name = "libe-book-0.1.3.tar.xz";
@@ -126,11 +126,11 @@
     md5name = "7e8d8ff34f27831aca3bc6f9cc532c2f90d2057c778963b884ff3d1e34dfe1f9-libe-book-0.1.3.tar.xz";
   }
   {
-    name = "libepoxy-1.5.9.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/libepoxy-1.5.9.tar.xz";
-    sha256 = "d168a19a6edfdd9977fef1308ccf516079856a4275cf876de688fb7927e365e4";
+    name = "libepoxy-1.5.10.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/libepoxy-1.5.10.tar.gz";
+    sha256 = "a7ced37f4102b745ac86d6a70a9da399cc139ff168ba6b8002b4d8d43c900c15";
     md5 = "";
-    md5name = "d168a19a6edfdd9977fef1308ccf516079856a4275cf876de688fb7927e365e4-libepoxy-1.5.9.tar.xz";
+    md5name = "a7ced37f4102b745ac86d6a70a9da399cc139ff168ba6b8002b4d8d43c900c15-libepoxy-1.5.10.tar.gz";
   }
   {
     name = "epm-3.7.tar.gz";
@@ -154,11 +154,11 @@
     md5name = "b430435a6e8487888b761dc848b7981626eb814884963ffe25eb26a139301e9a-libetonyek-0.1.10.tar.xz";
   }
   {
-    name = "expat-2.4.6.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/expat-2.4.6.tar.xz";
-    sha256 = "de55794b7a9bc214852fdc075beaaecd854efe1361597e6268ee87946951289b";
+    name = "expat-2.4.9.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/expat-2.4.9.tar.xz";
+    sha256 = "6e8c0728fe5c7cd3f93a6acce43046c5e4736c7b4b68e032e9350daa0efc0354";
     md5 = "";
-    md5name = "de55794b7a9bc214852fdc075beaaecd854efe1361597e6268ee87946951289b-expat-2.4.6.tar.xz";
+    md5name = "6e8c0728fe5c7cd3f93a6acce43046c5e4736c7b4b68e032e9350daa0efc0354-expat-2.4.9.tar.xz";
   }
   {
     name = "Firebird-3.0.7.33374-0.tar.bz2";
@@ -560,11 +560,11 @@
     md5name = "26041d35a20a245ed5a2fb9ee075f10825664d274220cb5190340fa87a4d0931-xmlsec1-1.2.33.tar.gz";
   }
   {
-    name = "libxml2-2.9.14.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/libxml2-2.9.14.tar.xz";
-    sha256 = "60d74a257d1ccec0475e749cba2f21559e48139efba6ff28224357c7c798dfee";
+    name = "libxml2-2.10.3.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libxml2-2.10.3.tar.xz";
+    sha256 = "5d2cc3d78bec3dbe212a9d7fa629ada25a7da928af432c93060ff5c17ee28a9c";
     md5 = "";
-    md5name = "60d74a257d1ccec0475e749cba2f21559e48139efba6ff28224357c7c798dfee-libxml2-2.9.14.tar.xz";
+    md5name = "5d2cc3d78bec3dbe212a9d7fa629ada25a7da928af432c93060ff5c17ee28a9c-libxml2-2.10.3.tar.xz";
   }
   {
     name = "libxslt-1.1.35.tar.xz";
@@ -637,11 +637,11 @@
     md5name = "cf1ee3ac27a215814a9c80803fcee4f0ede8466ebead40267a9bd115e16a8678-neon-0.31.2.tar.gz";
   }
   {
-    name = "nss-3.79-with-nspr-4.34.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/nss-3.79-with-nspr-4.34.tar.gz";
-    sha256 = "5369ed274a19f480ec94e1faef04da63e3cbac1a82e15bb1751e58b2f274b835";
+    name = "nss-3.83-with-nspr-4.34.1.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/nss-3.83-with-nspr-4.34.1.tar.gz";
+    sha256 = "b1e1198fa7ee4e0fe4fa6937245c94820fd3c3c6897779493858af1bf6310b30";
     md5 = "";
-    md5name = "5369ed274a19f480ec94e1faef04da63e3cbac1a82e15bb1751e58b2f274b835-nss-3.79-with-nspr-4.34.tar.gz";
+    md5name = "b1e1198fa7ee4e0fe4fa6937245c94820fd3c3c6897779493858af1bf6310b30-nss-3.83-with-nspr-4.34.1.tar.gz";
   }
   {
     name = "libodfgen-0.1.8.tar.xz";
@@ -672,11 +672,11 @@
     md5name = "99f37d6747d88206c470067eda624d5e48c1011e943ec0ab217bae8712e22f34-openldap-2.4.59.tgz";
   }
   {
-    name = "openssl-1.1.1l.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/openssl-1.1.1l.tar.gz";
-    sha256 = "0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1";
+    name = "openssl-1.1.1q.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/openssl-1.1.1q.tar.gz";
+    sha256 = "d7939ce614029cdff0b6c20f0e2e5703158a489a72b2507b8bd51bf8c8fd10ca";
     md5 = "";
-    md5name = "0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1-openssl-1.1.1l.tar.gz";
+    md5name = "d7939ce614029cdff0b6c20f0e2e5703158a489a72b2507b8bd51bf8c8fd10ca-openssl-1.1.1q.tar.gz";
   }
   {
     name = "liborcus-0.17.2.tar.bz2";
@@ -707,39 +707,39 @@
     md5name = "6d200dec3740d9ec4ec8d1180e25779c00bc749f94278c8b9021f5534db223fc-pixman-0.40.0.tar.gz";
   }
   {
-    name = "libpng-1.6.37.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/libpng-1.6.37.tar.xz";
-    sha256 = "505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca";
+    name = "libpng-1.6.38.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libpng-1.6.38.tar.xz";
+    sha256 = "b3683e8b8111ebf6f1ac004ebb6b0c975cd310ec469d98364388e9cedbfa68be";
     md5 = "";
-    md5name = "505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca-libpng-1.6.37.tar.xz";
+    md5name = "b3683e8b8111ebf6f1ac004ebb6b0c975cd310ec469d98364388e9cedbfa68be-libpng-1.6.38.tar.xz";
   }
   {
-    name = "poppler-21.11.0.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/poppler-21.11.0.tar.xz";
-    sha256 = "31b76b5cac0a48612fdd154c02d9eca01fd38fb8eaa77c1196840ecdeb53a584";
+    name = "poppler-22.09.0.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/poppler-22.09.0.tar.xz";
+    sha256 = "d7a8f748211359cadb774ba3e18ecda6464b34027045c0648eb30d5852a41e2e";
     md5 = "";
-    md5name = "31b76b5cac0a48612fdd154c02d9eca01fd38fb8eaa77c1196840ecdeb53a584-poppler-21.11.0.tar.xz";
+    md5name = "d7a8f748211359cadb774ba3e18ecda6464b34027045c0648eb30d5852a41e2e-poppler-22.09.0.tar.xz";
   }
   {
-    name = "poppler-data-0.4.10.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/poppler-data-0.4.10.tar.gz";
-    sha256 = "6e2fcef66ec8c44625f94292ccf8af9f1d918b410d5aa69c274ce67387967b30";
+    name = "poppler-data-0.4.11.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/poppler-data-0.4.11.tar.gz";
+    sha256 = "2cec05cd1bb03af98a8b06a1e22f6e6e1a65b1e2f3816cb3069bb0874825f08c";
     md5 = "";
-    md5name = "6e2fcef66ec8c44625f94292ccf8af9f1d918b410d5aa69c274ce67387967b30-poppler-data-0.4.10.tar.gz";
+    md5name = "2cec05cd1bb03af98a8b06a1e22f6e6e1a65b1e2f3816cb3069bb0874825f08c-poppler-data-0.4.11.tar.gz";
   }
   {
-    name = "postgresql-13.5.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/postgresql-13.5.tar.bz2";
-    sha256 = "9b81067a55edbaabc418aacef457dd8477642827499560b00615a6ea6c13f6b3";
+    name = "postgresql-13.8.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/postgresql-13.8.tar.bz2";
+    sha256 = "73876fdd3a517087340458dca4ce15b8d2a4dbceb334c0441424551ae6c4cded";
     md5 = "";
-    md5name = "9b81067a55edbaabc418aacef457dd8477642827499560b00615a6ea6c13f6b3-postgresql-13.5.tar.bz2";
+    md5name = "73876fdd3a517087340458dca4ce15b8d2a4dbceb334c0441424551ae6c4cded-postgresql-13.8.tar.bz2";
   }
   {
-    name = "Python-3.8.10.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/Python-3.8.10.tar.xz";
-    sha256 = "6af24a66093dd840bcccf371d4044a3027e655cf24591ce26e48022bc79219d9";
+    name = "Python-3.8.15.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/Python-3.8.15.tar.xz";
+    sha256 = "5114fc7918a2a5e20eb5aac696b30c36f412c6ef24b13f5c9eb9e056982d9550";
     md5 = "";
-    md5name = "6af24a66093dd840bcccf371d4044a3027e655cf24591ce26e48022bc79219d9-Python-3.8.10.tar.xz";
+    md5name = "5114fc7918a2a5e20eb5aac696b30c36f412c6ef24b13f5c9eb9e056982d9550-Python-3.8.15.tar.xz";
   }
   {
     name = "libqxp-0.0.2.tar.xz";
@@ -861,11 +861,11 @@
     md5name = "a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip";
   }
   {
-    name = "zlib-1.2.12.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/zlib-1.2.12.tar.xz";
-    sha256 = "7db46b8d7726232a621befaab4a1c870f00a90805511c0e0090441dac57def18";
+    name = "zlib-1.2.13.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/zlib-1.2.13.tar.xz";
+    sha256 = "d14c38e313afc35a9a8760dadf26042f51ea0f5d154b0630a31da0540107fb98";
     md5 = "";
-    md5name = "7db46b8d7726232a621befaab4a1c870f00a90805511c0e0090441dac57def18-zlib-1.2.12.tar.xz";
+    md5name = "d14c38e313afc35a9a8760dadf26042f51ea0f5d154b0630a31da0540107fb98-zlib-1.2.13.tar.xz";
   }
   {
     name = "libzmf-0.0.2.tar.xz";
diff --git a/pkgs/applications/office/libreoffice/src-still/primary.nix b/pkgs/applications/office/libreoffice/src-still/primary.nix
index 53c732b59bfd9..dd51866033978 100644
--- a/pkgs/applications/office/libreoffice/src-still/primary.nix
+++ b/pkgs/applications/office/libreoffice/src-still/primary.nix
@@ -8,7 +8,7 @@ rec {
 
   major = "7";
   minor = "3";
-  patch = "6";
+  patch = "7";
   tweak = "2";
 
   subdir = "${major}.${minor}.${patch}";
@@ -17,13 +17,13 @@ rec {
 
   src = fetchurl {
     url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
-    hash = "sha256-MwPWr2/7vFg0UFGgCQwTNvi5PEnHhhxlNLzuogWu1aM=";
+    hash = "sha256-UphmAklfbZdWGlTgmBGsXv53vYPY+oyRpFKfBhBX9Ls=";
   };
 
   # FIXME rename
   translations = fetchSrc {
     name = "translations";
-    sha256 = "sha256-vjthXfBP6vRY3lMBlithJM7b5SX3uvBwEpi30IeW/Dg=";
+    sha256 = "sha256-WRgPzLGywfQI6uFRBNhPZ2G1nhhiWa8WbaCYp2XRALk=";
   };
 
   # the "dictionaries" archive is not used for LO build because we already build hunspellDicts packages from
@@ -31,6 +31,6 @@ rec {
 
   help = fetchSrc {
     name = "help";
-    sha256 = "sha256-b3VvaNEfnytWqJekAWOKokNoCnefXdQgYB7Hpptra0s=";
+    sha256 = "sha256-yBnnR0mTexkyWnJnSf2zC6w+DsdBTHU8frOTmPfEedA=";
   };
 }
diff --git a/pkgs/applications/office/micropad/default.nix b/pkgs/applications/office/micropad/default.nix
index 8533e1e3455e0..184157d9d0118 100644
--- a/pkgs/applications/office/micropad/default.nix
+++ b/pkgs/applications/office/micropad/default.nix
@@ -14,18 +14,18 @@ let
 in
   mkYarnPackage rec {
     pname = "micropad";
-    version = "4.1.0";
+    version = "4.2.0";
 
     src = fetchFromGitHub {
       owner = "MicroPad";
       repo = "Micropad-Electron";
       rev = "v${version}";
-      sha256 = "sha256-ity5oU6TCBpQgimoiaMswOV3FY7Z0GmBcFWqQzdYmao=";
+      sha256 = "sha256-XylyQd4AhvrwJzBZXab7rA2IrZcqzEv8BANk+ozYyHk=";
     };
 
     micropad-core = fetchzip {
       url = "https://github.com/MicroPad/MicroPad-Core/releases/download/v${version}/micropad.tar.xz";
-      sha256 = "0br8lsdrbjkr5gl434r5ngdhbwbzhav94q8kizsixb8k0wwyfxy5";
+      sha256 = "0vddz95c1khalvl2a9zccy36j8s7862gpqcqlrvp1pn4bbp2pm3s";
     };
 
     packageJSON = ./package.json;
diff --git a/pkgs/applications/office/micropad/package.json b/pkgs/applications/office/micropad/package.json
index 8eaa6e26f9b1e..167cef8113bef 100644
--- a/pkgs/applications/office/micropad/package.json
+++ b/pkgs/applications/office/micropad/package.json
@@ -1,6 +1,6 @@
 {
   "name": "micropad",
-  "version": "4.1.0",
+  "version": "4.2.0",
   "description": "A powerful note-taking app that helps you organise + take notes without restrictions.",
   "main": "main.js",
   "scripts": {
@@ -26,7 +26,7 @@
   "homepage": "https://getmicropad.com",
   "devDependencies": {
     "@types/node": "^18.7.18",
-    "electron": "^20.1.4",
+    "electron": "^21.2.2",
     "electron-builder": "^23.3.3",
     "typescript": "~4.8.3"
   },
diff --git a/pkgs/applications/office/micropad/yarn.lock b/pkgs/applications/office/micropad/yarn.lock
index b033937987c13..93e7ea8736677 100644
--- a/pkgs/applications/office/micropad/yarn.lock
+++ b/pkgs/applications/office/micropad/yarn.lock
@@ -111,14 +111,14 @@
   integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==
 
 "@types/node@*", "@types/node@^18.7.18":
-  version "18.7.18"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.18.tgz#633184f55c322e4fb08612307c274ee6d5ed3154"
-  integrity sha512-m+6nTEOadJZuTPkKR/SYK3A2d7FZrgElol9UP1Kae90VVU4a6mxnPuLiIW1m4Cq4gZ/nWb9GrdVXJCoCazDAbg==
+  version "18.11.9"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.9.tgz#02d013de7058cea16d36168ef2fc653464cfbad4"
+  integrity sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==
 
 "@types/node@^16.11.26":
-  version "16.11.59"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.59.tgz#823f238b9063ccc3b3b7f13186f143a57926c4f6"
-  integrity sha512-6u+36Dj3aDzhfBVUf/mfmc92OEdzQ2kx2jcXGdigfl70E/neV21ZHE6UCz4MDzTRcVqGAM27fk+DLXvyDsn3Jw==
+  version "16.18.3"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.3.tgz#d7f7ba828ad9e540270f01ce00d391c54e6e0abc"
+  integrity sha512-jh6m0QUhIRcZpNv7Z/rpN+ZWXOicUUQbSoWks7Htkbb9IjFQj4kzcX/xFCkjstCj5flMsN8FiSvt+q+Tcs4Llg==
 
 "@types/plist@^3.0.1":
   version "3.0.2"
@@ -139,9 +139,9 @@
   integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==
 
 "@types/yargs@^17.0.1":
-  version "17.0.12"
-  resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.12.tgz#0745ff3e4872b4ace98616d4b7e37ccbd75f9526"
-  integrity sha512-Nz4MPhecOFArtm81gFQvQqdV7XYCrWKx5uUt6GNHredFHn1i2mtWqXTON7EPXMtNi1qjtjEM/VCHDhcHsAMLXQ==
+  version "17.0.13"
+  resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.13.tgz#34cced675ca1b1d51fcf4d34c3c6f0fa142a5c76"
+  integrity sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==
   dependencies:
     "@types/yargs-parser" "*"
 
@@ -174,13 +174,6 @@ ajv@^6.10.0, ajv@^6.12.0:
     json-schema-traverse "^0.4.1"
     uri-js "^4.2.2"
 
-ansi-align@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59"
-  integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==
-  dependencies:
-    string-width "^4.1.0"
-
 ansi-regex@^5.0.1:
   version "5.0.1"
   resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
@@ -198,10 +191,10 @@ app-builder-bin@4.0.0:
   resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-4.0.0.tgz#1df8e654bd1395e4a319d82545c98667d7eed2f0"
   integrity sha512-xwdG0FJPQMe0M0UA4Tz0zEB8rBJTRA5a476ZawAqiBkMv16GRK5xpXThOjMaEOFnZ6zabejjG4J3da0SXG63KA==
 
-app-builder-lib@23.3.3:
-  version "23.3.3"
-  resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-23.3.3.tgz#78b9dbb0bd8a69842461edd77a3226d0547c5939"
-  integrity sha512-m0+M53+HYMzqKxwNQZT143K7WwXEGUy9LY31l8dJphXx2P/FQod615mVbxHyqbDCG4J5bHdWm21qZ0e2DVY6CQ==
+app-builder-lib@23.6.0:
+  version "23.6.0"
+  resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-23.6.0.tgz#03cade02838c077db99d86212d61c5fc1d6da1a8"
+  integrity sha512-dQYDuqm/rmy8GSCE6Xl/3ShJg6Ab4bZJMT8KaTKGzT436gl1DN4REP3FCWfXoh75qGTJ+u+WsdnnpO9Jl8nyMA==
   dependencies:
     "7zip-bin" "~5.1.1"
     "@develar/schema-utils" "~2.6.5"
@@ -209,13 +202,13 @@ app-builder-lib@23.3.3:
     "@malept/flatpak-bundler" "^0.4.0"
     async-exit-hook "^2.0.1"
     bluebird-lst "^1.0.9"
-    builder-util "23.3.3"
-    builder-util-runtime "9.0.3"
+    builder-util "23.6.0"
+    builder-util-runtime "9.1.1"
     chromium-pickle-js "^0.2.0"
     debug "^4.3.4"
     ejs "^3.1.7"
     electron-osx-sign "^0.6.0"
-    electron-publish "23.3.3"
+    electron-publish "23.6.0"
     form-data "^4.0.0"
     fs-extra "^10.1.0"
     hosted-git-info "^4.1.0"
@@ -304,20 +297,6 @@ boolean@^3.0.1:
   resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.2.0.tgz#9e5294af4e98314494cbb17979fa54ca159f116b"
   integrity sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==
 
-boxen@^5.0.0:
-  version "5.1.2"
-  resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50"
-  integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==
-  dependencies:
-    ansi-align "^3.0.0"
-    camelcase "^6.2.0"
-    chalk "^4.1.0"
-    cli-boxes "^2.2.1"
-    string-width "^4.2.2"
-    type-fest "^0.20.2"
-    widest-line "^3.1.0"
-    wrap-ansi "^7.0.0"
-
 brace-expansion@^1.1.7:
   version "1.1.11"
   resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
@@ -374,25 +353,25 @@ buffer@^5.1.0:
     base64-js "^1.3.1"
     ieee754 "^1.1.13"
 
-builder-util-runtime@9.0.3:
-  version "9.0.3"
-  resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-9.0.3.tgz#6c62c493ba2b73c2af92432db4013b5a327f02b2"
-  integrity sha512-SfG2wnyjpUbbdtpnqDpWwklujofC6GarGpvdWrEkg9p5AD/xJmTF2buTNaqs3qtsNBEVQDDjZz9xc2GGpVyMfA==
+builder-util-runtime@9.1.1:
+  version "9.1.1"
+  resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-9.1.1.tgz#2da7b34e78a64ad14ccd070d6eed4662d893bd60"
+  integrity sha512-azRhYLEoDvRDR8Dhis4JatELC/jUvYjm4cVSj7n9dauGTOM2eeNn9KS0z6YA6oDsjI1xphjNbY6PZZeHPzzqaw==
   dependencies:
     debug "^4.3.4"
     sax "^1.2.4"
 
-builder-util@23.3.3:
-  version "23.3.3"
-  resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-23.3.3.tgz#449ee57ec1ffc7e59f7a3a8a1a33d25cf5e39e43"
-  integrity sha512-MJZlUiq2PY5hjYv9+XNaoYdsITqvLgRDoHSFg/4nzpInbNxNjLQOolL04Zsyp+hgfcbFvMC4h0KkR1CMPHLWbA==
+builder-util@23.6.0:
+  version "23.6.0"
+  resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-23.6.0.tgz#1880ec6da7da3fd6fa19b8bd71df7f39e8d17dd9"
+  integrity sha512-QiQHweYsh8o+U/KNCZFSvISRnvRctb8m/2rB2I1JdByzvNKxPeFLlHFRPQRXab6aYeXc18j9LpsDLJ3sGQmWTQ==
   dependencies:
     "7zip-bin" "~5.1.1"
     "@types/debug" "^4.1.6"
     "@types/fs-extra" "^9.0.11"
     app-builder-bin "4.0.0"
     bluebird-lst "^1.0.9"
-    builder-util-runtime "9.0.3"
+    builder-util-runtime "9.1.1"
     chalk "^4.1.1"
     cross-spawn "^7.0.3"
     debug "^4.3.4"
@@ -418,12 +397,7 @@ cacheable-request@^6.0.0:
     normalize-url "^4.1.0"
     responselike "^1.0.2"
 
-camelcase@^6.2.0:
-  version "6.3.0"
-  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
-  integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
-
-chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1:
+chalk@^4.0.2, chalk@^4.1.1:
   version "4.1.2"
   resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
   integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
@@ -441,20 +415,10 @@ chromium-pickle-js@^0.2.0:
   resolved "https://registry.yarnpkg.com/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz#04a106672c18b085ab774d983dfa3ea138f22205"
   integrity sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==
 
-ci-info@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
-  integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
-
 ci-info@^3.2.0:
-  version "3.4.0"
-  resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.4.0.tgz#b28484fd436cbc267900364f096c9dc185efb251"
-  integrity sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==
-
-cli-boxes@^2.2.1:
-  version "2.2.1"
-  resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f"
-  integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==
+  version "3.5.0"
+  resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.5.0.tgz#bfac2a29263de4c829d806b1ab478e35091e171f"
+  integrity sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw==
 
 cli-truncate@^2.1.0:
   version "2.1.0"
@@ -464,13 +428,13 @@ cli-truncate@^2.1.0:
     slice-ansi "^3.0.0"
     string-width "^4.2.0"
 
-cliui@^7.0.2:
-  version "7.0.4"
-  resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"
-  integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==
+cliui@^8.0.1:
+  version "8.0.1"
+  resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa"
+  integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==
   dependencies:
     string-width "^4.2.0"
-    strip-ansi "^6.0.0"
+    strip-ansi "^6.0.1"
     wrap-ansi "^7.0.0"
 
 clone-response@^1.0.2:
@@ -534,18 +498,6 @@ config-chain@^1.1.11:
     ini "^1.3.4"
     proto-list "~1.2.1"
 
-configstore@^5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96"
-  integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==
-  dependencies:
-    dot-prop "^5.2.0"
-    graceful-fs "^4.1.2"
-    make-dir "^3.0.0"
-    unique-string "^2.0.0"
-    write-file-atomic "^3.0.0"
-    xdg-basedir "^4.0.0"
-
 core-util-is@1.0.2:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
@@ -567,11 +519,6 @@ cross-spawn@^7.0.1, cross-spawn@^7.0.3:
     shebang-command "^2.0.0"
     which "^2.0.1"
 
-crypto-random-string@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
-  integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
-
 debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4:
   version "4.3.4"
   resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
@@ -593,11 +540,6 @@ decompress-response@^3.3.0:
   dependencies:
     mimic-response "^1.0.0"
 
-deep-extend@^0.6.0:
-  version "0.6.0"
-  resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
-  integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
-
 defer-to-connect@^1.0.1:
   version "1.1.3"
   resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591"
@@ -641,14 +583,14 @@ dir-compare@^2.4.0:
     commander "2.9.0"
     minimatch "3.0.4"
 
-dmg-builder@23.3.3:
-  version "23.3.3"
-  resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-23.3.3.tgz#b37547f8403c3e9f7c60265a93d902f5b0c395ea"
-  integrity sha512-ECwAjt+ZWyOvddrkDx1xRD6IVUCZb5SV6vSMHZd+Va3G2sUXHrnglR1cGDKRF4oYRQm8SYVrpLZKbi8npyDcAQ==
+dmg-builder@23.6.0:
+  version "23.6.0"
+  resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-23.6.0.tgz#d39d3871bce996f16c07d2cafe922d6ecbb2a948"
+  integrity sha512-jFZvY1JohyHarIAlTbfQOk+HnceGjjAdFjVn3n8xlDWKsYNqbO4muca6qXEZTfGXeQMG7TYim6CeS5XKSfSsGA==
   dependencies:
-    app-builder-lib "23.3.3"
-    builder-util "23.3.3"
-    builder-util-runtime "9.0.3"
+    app-builder-lib "23.6.0"
+    builder-util "23.6.0"
+    builder-util-runtime "9.1.1"
     fs-extra "^10.0.0"
     iconv-lite "^0.6.2"
     js-yaml "^4.1.0"
@@ -669,13 +611,6 @@ dmg-license@^1.0.11:
     smart-buffer "^4.0.2"
     verror "^1.10.0"
 
-dot-prop@^5.2.0:
-  version "5.3.0"
-  resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88"
-  integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==
-  dependencies:
-    is-obj "^2.0.0"
-
 dotenv-expand@^5.1.0:
   version "5.1.0"
   resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0"
@@ -699,36 +634,36 @@ ejs@^3.1.7:
     jake "^10.8.5"
 
 electron-builder@^23.3.3:
-  version "23.3.3"
-  resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-23.3.3.tgz#88d4e584a99b9e36ca4e8432b1163a1ef877355f"
-  integrity sha512-mFYYdhoFPKevP6y5uaaF3dusmB2OtQ/HnwwpyOePeU7QDS0SEIAUokQsHUanAiJAZcBqtY7iyLBgX18QybdFFw==
+  version "23.6.0"
+  resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-23.6.0.tgz#c79050cbdce90ed96c5feb67c34e9e0a21b5331b"
+  integrity sha512-y8D4zO+HXGCNxFBV/JlyhFnoQ0Y0K7/sFH+XwIbj47pqaW8S6PGYQbjoObolKBR1ddQFPt4rwp4CnwMJrW3HAw==
   dependencies:
     "@types/yargs" "^17.0.1"
-    app-builder-lib "23.3.3"
-    builder-util "23.3.3"
-    builder-util-runtime "9.0.3"
+    app-builder-lib "23.6.0"
+    builder-util "23.6.0"
+    builder-util-runtime "9.1.1"
     chalk "^4.1.1"
-    dmg-builder "23.3.3"
+    dmg-builder "23.6.0"
     fs-extra "^10.0.0"
     is-ci "^3.0.0"
     lazy-val "^1.0.5"
     read-config-file "6.2.0"
-    update-notifier "^5.1.0"
-    yargs "^17.0.1"
+    simple-update-notifier "^1.0.7"
+    yargs "^17.5.1"
 
 electron-context-menu@^3.1.2:
-  version "3.5.0"
-  resolved "https://registry.yarnpkg.com/electron-context-menu/-/electron-context-menu-3.5.0.tgz#f5d6df982e37555a77666bcecff59b094211b54a"
-  integrity sha512-z4agpok6YnXlGFs66zU9EBFft4llUFJ41NYFEMMS0fnprMKBztJUCHBA6LMAqJgjabfqsYC7kxlvjvepxodOqg==
+  version "3.6.0"
+  resolved "https://registry.yarnpkg.com/electron-context-menu/-/electron-context-menu-3.6.0.tgz#d60fabb99d5bb06c46b6929c342c75cc0eee348e"
+  integrity sha512-7uhF3WX7ZalLEurKqML2cJJrBUw1JSZNzbwIB9kVbip7sVwyl7bVjiwHzdYjuOh/+xHw21ZzxwgZcB6sTeKdEw==
   dependencies:
     cli-truncate "^2.1.0"
     electron-dl "^3.2.1"
     electron-is-dev "^2.0.0"
 
 electron-dl@^3.2.1:
-  version "3.3.1"
-  resolved "https://registry.yarnpkg.com/electron-dl/-/electron-dl-3.3.1.tgz#14164595bebcc636c671eb791b2a3265003f76c4"
-  integrity sha512-kmcSYZyHVEHHHFKlZWW58GiCmu2NSu3Rdwnl3+/fr/ftQYHJULVf1QkrCBPFE2bp/Ly113Za7c8wJZs1nBy04A==
+  version "3.4.1"
+  resolved "https://registry.yarnpkg.com/electron-dl/-/electron-dl-3.4.1.tgz#2d74a47a04eb8a042c90480cb59736c6f2626219"
+  integrity sha512-NUrjWTlFW7n/+0ECxQ1AkjikNxdeRDpaprLY7YhmOg6pkFcPHwdEfpkTK+CIhyGMAlZOuto1clB1z5HAwgZcaA==
   dependencies:
     ext-name "^5.0.0"
     pupa "^2.0.1"
@@ -751,14 +686,14 @@ electron-osx-sign@^0.6.0:
     minimist "^1.2.0"
     plist "^3.0.1"
 
-electron-publish@23.3.3:
-  version "23.3.3"
-  resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-23.3.3.tgz#c4125fbb00620acb854f6e994fd3ab3115662ddd"
-  integrity sha512-1dX17eE5xVXedTxjC+gjsP74oC0+sIHgqysp0ryTlF9+yfQUyXjBk6kcK+zhtBA2SsHMSglDtM+JPxDD/WpPTQ==
+electron-publish@23.6.0:
+  version "23.6.0"
+  resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-23.6.0.tgz#ac9b469e0b07752eb89357dd660e5fb10b3d1ce9"
+  integrity sha512-jPj3y+eIZQJF/+t5SLvsI5eS4mazCbNYqatv5JihbqOstIM13k0d1Z3vAWntvtt13Itl61SO6seicWdioOU5dg==
   dependencies:
     "@types/fs-extra" "^9.0.11"
-    builder-util "23.3.3"
-    builder-util-runtime "9.0.3"
+    builder-util "23.6.0"
+    builder-util-runtime "9.1.1"
     chalk "^4.1.1"
     fs-extra "^10.0.0"
     lazy-val "^1.0.5"
@@ -772,10 +707,10 @@ electron-window-state@^5.0.3:
     jsonfile "^4.0.0"
     mkdirp "^0.5.1"
 
-electron@^20.1.4:
-  version "20.1.4"
-  resolved "https://registry.yarnpkg.com/electron/-/electron-20.1.4.tgz#d25b549f14376f99a0a239e27d67ef8515b4a5a0"
-  integrity sha512-7ov5kgSQi2JewV5SrVfjGasUvyScjuJrrDCW0rYxtP2SMe3JjoP4rsOOnh3ps2P/Nrdlbv+0ygiK0zp4ARCZ+A==
+electron@^21.2.2:
+  version "21.2.2"
+  resolved "https://registry.yarnpkg.com/electron/-/electron-21.2.2.tgz#e2f3dd014981df555d2cd1655590168b404edae4"
+  integrity sha512-Q0j1tzLTM5JRjSJVAfDSONZgdtuyruHR1pc1y2IbMYQz62pVJWVWAvcJXzpty5iRh2HKzW9+B9WVlmfWNFA8ag==
   dependencies:
     "@electron/get" "^1.14.1"
     "@types/node" "^16.11.26"
@@ -984,13 +919,6 @@ global-agent@^3.0.0:
     semver "^7.3.2"
     serialize-error "^7.0.1"
 
-global-dirs@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz#70a76fe84ea315ab37b1f5576cbde7d48ef72686"
-  integrity sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==
-  dependencies:
-    ini "2.0.0"
-
 global-tunnel-ng@^2.7.1:
   version "2.7.1"
   resolved "https://registry.yarnpkg.com/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz#d03b5102dfde3a69914f5ee7d86761ca35d57d8f"
@@ -1025,7 +953,7 @@ got@^9.6.0:
     to-readable-stream "^1.0.0"
     url-parse-lax "^3.0.0"
 
-graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0:
+graceful-fs@^4.1.6, graceful-fs@^4.2.0:
   version "4.2.10"
   resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
   integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
@@ -1052,11 +980,6 @@ has-symbols@^1.0.3:
   resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
   integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
 
-has-yarn@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77"
-  integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==
-
 has@^1.0.3:
   version "1.0.3"
   resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
@@ -1118,16 +1041,6 @@ immediate@~3.0.5:
   resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b"
   integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==
 
-import-lazy@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43"
-  integrity sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==
-
-imurmurhash@^0.1.4:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
-  integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
-
 inflight@^1.0.4:
   version "1.0.6"
   resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
@@ -1141,23 +1054,11 @@ inherits@2:
   resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
   integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
 
-ini@2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5"
-  integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==
-
-ini@^1.3.4, ini@~1.3.0:
+ini@^1.3.4:
   version "1.3.8"
   resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
   integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
 
-is-ci@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c"
-  integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==
-  dependencies:
-    ci-info "^2.0.0"
-
 is-ci@^3.0.0:
   version "3.0.1"
   resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867"
@@ -1170,44 +1071,11 @@ is-fullwidth-code-point@^3.0.0:
   resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
   integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
 
-is-installed-globally@^0.4.0:
-  version "0.4.0"
-  resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520"
-  integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==
-  dependencies:
-    global-dirs "^3.0.0"
-    is-path-inside "^3.0.2"
-
-is-npm@^5.0.0:
-  version "5.0.0"
-  resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8"
-  integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==
-
-is-obj@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
-  integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
-
-is-path-inside@^3.0.2:
-  version "3.0.3"
-  resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
-  integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
-
 is-plain-obj@^1.0.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
   integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==
 
-is-typedarray@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
-  integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==
-
-is-yarn-global@^0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232"
-  integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==
-
 isbinaryfile@^3.0.2:
   version "3.0.3"
   resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.3.tgz#5d6def3edebf6e8ca8cae9c30183a804b5f8be80"
@@ -1285,13 +1153,6 @@ keyv@^3.0.0:
   dependencies:
     json-buffer "3.0.0"
 
-latest-version@^5.1.0:
-  version "5.1.0"
-  resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face"
-  integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==
-  dependencies:
-    package-json "^6.3.0"
-
 lazy-val@^1.0.4, lazy-val@^1.0.5:
   version "1.0.5"
   resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.5.tgz#6cf3b9f5bc31cee7ee3e369c0832b7583dcd923d"
@@ -1333,13 +1194,6 @@ lru-cache@^6.0.0:
   dependencies:
     yallist "^4.0.0"
 
-make-dir@^3.0.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
-  integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
-  dependencies:
-    semver "^6.0.0"
-
 matcher@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/matcher/-/matcher-3.0.0.tgz#bd9060f4c5b70aa8041ccc6f80368760994f30ca"
@@ -1390,7 +1244,12 @@ minimatch@^5.0.1:
   dependencies:
     brace-expansion "^2.0.1"
 
-minimist@^1.2.0, minimist@^1.2.6:
+minimist@^1.2.0:
+  version "1.2.7"
+  resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18"
+  integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==
+
+minimist@^1.2.6:
   version "1.2.6"
   resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
   integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
@@ -1472,16 +1331,6 @@ p-cancelable@^1.0.0:
   resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc"
   integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==
 
-package-json@^6.3.0:
-  version "6.5.0"
-  resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0"
-  integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==
-  dependencies:
-    got "^9.6.0"
-    registry-auth-token "^4.0.0"
-    registry-url "^5.0.0"
-    semver "^6.2.0"
-
 path-exists@^4.0.0:
   version "4.0.0"
   resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
@@ -1543,23 +1392,13 @@ punycode@^2.1.0:
   resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
   integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
 
-pupa@^2.0.1, pupa@^2.1.1:
+pupa@^2.0.1:
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62"
   integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==
   dependencies:
     escape-goat "^2.0.0"
 
-rc@1.2.8, rc@^1.2.8:
-  version "1.2.8"
-  resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
-  integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
-  dependencies:
-    deep-extend "^0.6.0"
-    ini "~1.3.0"
-    minimist "^1.2.0"
-    strip-json-comments "~2.0.1"
-
 read-config-file@6.2.0:
   version "6.2.0"
   resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-6.2.0.tgz#71536072330bcd62ba814f91458b12add9fc7ade"
@@ -1571,20 +1410,6 @@ read-config-file@6.2.0:
     json5 "^2.2.0"
     lazy-val "^1.0.4"
 
-registry-auth-token@^4.0.0:
-  version "4.2.2"
-  resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.2.tgz#f02d49c3668884612ca031419491a13539e21fac"
-  integrity sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==
-  dependencies:
-    rc "1.2.8"
-
-registry-url@^5.0.0:
-  version "5.1.0"
-  resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009"
-  integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==
-  dependencies:
-    rc "^1.2.8"
-
 require-directory@^2.1.1:
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
@@ -1638,25 +1463,23 @@ semver-compare@^1.0.0:
   resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
   integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==
 
-semver-diff@^3.1.1:
-  version "3.1.1"
-  resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b"
-  integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==
-  dependencies:
-    semver "^6.3.0"
-
-semver@^6.0.0, semver@^6.2.0, semver@^6.3.0:
+semver@^6.2.0:
   version "6.3.0"
   resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
   integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
 
-semver@^7.3.2, semver@^7.3.4, semver@^7.3.7:
-  version "7.3.7"
-  resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f"
-  integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==
+semver@^7.3.2, semver@^7.3.7:
+  version "7.3.8"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798"
+  integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==
   dependencies:
     lru-cache "^6.0.0"
 
+semver@~7.0.0:
+  version "7.0.0"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
+  integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
+
 serialize-error@^7.0.1:
   version "7.0.1"
   resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-7.0.1.tgz#f1360b0447f61ffb483ec4157c737fab7d778e18"
@@ -1676,10 +1499,12 @@ shebang-regex@^3.0.0:
   resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
   integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
 
-signal-exit@^3.0.2:
-  version "3.0.7"
-  resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
-  integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
+simple-update-notifier@^1.0.7:
+  version "1.0.7"
+  resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-1.0.7.tgz#7edf75c5bdd04f88828d632f762b2bc32996a9cc"
+  integrity sha512-BBKgR84BJQJm6WjWFMHgLVuo61FBDSj1z/xSFUIozqO6wO7ii0JxCqlIud7Enr/+LhlbNI0whErq96P2qHNWew==
+  dependencies:
+    semver "~7.0.0"
 
 slice-ansi@^3.0.0:
   version "3.0.0"
@@ -1732,7 +1557,7 @@ stat-mode@^1.0.0:
   resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-1.0.0.tgz#68b55cb61ea639ff57136f36b216a291800d1465"
   integrity sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==
 
-string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3:
+string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
   version "4.2.3"
   resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
   integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -1748,11 +1573,6 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1:
   dependencies:
     ansi-regex "^5.0.1"
 
-strip-json-comments@~2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
-  integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==
-
 sumchecker@^3.0.1:
   version "3.0.1"
   resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-3.0.1.tgz#6377e996795abb0b6d348e9b3e1dfb24345a8e42"
@@ -1768,9 +1588,9 @@ supports-color@^7.1.0:
     has-flag "^4.0.0"
 
 tar@^6.1.11:
-  version "6.1.11"
-  resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621"
-  integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==
+  version "6.1.12"
+  resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.12.tgz#3b742fb05669b55671fb769ab67a7791ea1a62e6"
+  integrity sha512-jU4TdemS31uABHd+Lt5WEYJuzn+TJTCBLljvIAHZOz6M9Os5pJ4dD+vRFLxPa/n3T0iEFzpi+0x1UfuDZYbRMw==
   dependencies:
     chownr "^2.0.0"
     fs-minipass "^2.0.0"
@@ -1823,35 +1643,16 @@ type-fest@^0.13.1:
   resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934"
   integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==
 
-type-fest@^0.20.2:
-  version "0.20.2"
-  resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
-  integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
-
-typedarray-to-buffer@^3.1.5:
-  version "3.1.5"
-  resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
-  integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==
-  dependencies:
-    is-typedarray "^1.0.0"
-
 typescript@~4.8.3:
-  version "4.8.3"
-  resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.3.tgz#d59344522c4bc464a65a730ac695007fdb66dd88"
-  integrity sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig==
+  version "4.8.4"
+  resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6"
+  integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==
 
 typo-js@^1.2.1:
   version "1.2.2"
   resolved "https://registry.yarnpkg.com/typo-js/-/typo-js-1.2.2.tgz#340484d81fe518e77c81a5a770162b14492f183b"
   integrity sha512-C7pYBQK17EjSg8tVNY91KHdUt5Nf6FMJ+c3js076quPmBML57PmNMzAcIq/2kf/hSYtFABNDIYNYlJRl5BJhGw==
 
-unique-string@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d"
-  integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==
-  dependencies:
-    crypto-random-string "^2.0.0"
-
 universalify@^0.1.0:
   version "0.1.2"
   resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
@@ -1870,26 +1671,6 @@ unused-filename@^2.1.0:
     modify-filename "^1.1.0"
     path-exists "^4.0.0"
 
-update-notifier@^5.1.0:
-  version "5.1.0"
-  resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz#4ab0d7c7f36a231dd7316cf7729313f0214d9ad9"
-  integrity sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==
-  dependencies:
-    boxen "^5.0.0"
-    chalk "^4.1.0"
-    configstore "^5.0.1"
-    has-yarn "^2.1.0"
-    import-lazy "^2.1.0"
-    is-ci "^2.0.0"
-    is-installed-globally "^0.4.0"
-    is-npm "^5.0.0"
-    is-yarn-global "^0.3.0"
-    latest-version "^5.1.0"
-    pupa "^2.1.1"
-    semver "^7.3.4"
-    semver-diff "^3.1.1"
-    xdg-basedir "^4.0.0"
-
 uri-js@^4.2.2:
   version "4.4.1"
   resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
@@ -1925,13 +1706,6 @@ which@^2.0.1:
   dependencies:
     isexe "^2.0.0"
 
-widest-line@^3.1.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca"
-  integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==
-  dependencies:
-    string-width "^4.0.0"
-
 wrap-ansi@^7.0.0:
   version "7.0.0"
   resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
@@ -1946,21 +1720,6 @@ wrappy@1:
   resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
   integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
 
-write-file-atomic@^3.0.0:
-  version "3.0.3"
-  resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8"
-  integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==
-  dependencies:
-    imurmurhash "^0.1.4"
-    is-typedarray "^1.0.0"
-    signal-exit "^3.0.2"
-    typedarray-to-buffer "^3.1.5"
-
-xdg-basedir@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13"
-  integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==
-
 xmlbuilder@>=11.0.1, xmlbuilder@^15.1.1:
   version "15.1.1"
   resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz#9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5"
@@ -1981,12 +1740,12 @@ yargs-parser@^21.0.0:
   resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"
   integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
 
-yargs@^17.0.1:
-  version "17.5.1"
-  resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz#e109900cab6fcb7fd44b1d8249166feb0b36e58e"
-  integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==
+yargs@^17.5.1:
+  version "17.6.1"
+  resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.1.tgz#712508771045019cda059bc1ba3ae091aaa1402e"
+  integrity sha512-leBuCGrL4dAd6ispNOGsJlhd0uZ6Qehkbu/B9KCR+Pxa/NVdNwi+i31lo0buCm6XxhJQFshXCD0/evfV4xfoUg==
   dependencies:
-    cliui "^7.0.2"
+    cliui "^8.0.1"
     escalade "^3.1.1"
     get-caller-file "^2.0.5"
     require-directory "^2.1.1"
diff --git a/pkgs/applications/office/micropad/yarn.nix b/pkgs/applications/office/micropad/yarn.nix
index b0a4f27204246..71457edcd05ce 100644
--- a/pkgs/applications/office/micropad/yarn.nix
+++ b/pkgs/applications/office/micropad/yarn.nix
@@ -114,19 +114,19 @@
       };
     }
     {
-      name = "_types_node___node_18.7.18.tgz";
+      name = "_types_node___node_18.11.9.tgz";
       path = fetchurl {
-        name = "_types_node___node_18.7.18.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-18.7.18.tgz";
-        sha512 = "m+6nTEOadJZuTPkKR/SYK3A2d7FZrgElol9UP1Kae90VVU4a6mxnPuLiIW1m4Cq4gZ/nWb9GrdVXJCoCazDAbg==";
+        name = "_types_node___node_18.11.9.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-18.11.9.tgz";
+        sha512 = "CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==";
       };
     }
     {
-      name = "_types_node___node_16.11.59.tgz";
+      name = "_types_node___node_16.18.3.tgz";
       path = fetchurl {
-        name = "_types_node___node_16.11.59.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-16.11.59.tgz";
-        sha512 = "6u+36Dj3aDzhfBVUf/mfmc92OEdzQ2kx2jcXGdigfl70E/neV21ZHE6UCz4MDzTRcVqGAM27fk+DLXvyDsn3Jw==";
+        name = "_types_node___node_16.18.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-16.18.3.tgz";
+        sha512 = "jh6m0QUhIRcZpNv7Z/rpN+ZWXOicUUQbSoWks7Htkbb9IjFQj4kzcX/xFCkjstCj5flMsN8FiSvt+q+Tcs4Llg==";
       };
     }
     {
@@ -154,11 +154,11 @@
       };
     }
     {
-      name = "_types_yargs___yargs_17.0.12.tgz";
+      name = "_types_yargs___yargs_17.0.13.tgz";
       path = fetchurl {
-        name = "_types_yargs___yargs_17.0.12.tgz";
-        url  = "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.12.tgz";
-        sha512 = "Nz4MPhecOFArtm81gFQvQqdV7XYCrWKx5uUt6GNHredFHn1i2mtWqXTON7EPXMtNi1qjtjEM/VCHDhcHsAMLXQ==";
+        name = "_types_yargs___yargs_17.0.13.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.13.tgz";
+        sha512 = "9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==";
       };
     }
     {
@@ -194,14 +194,6 @@
       };
     }
     {
-      name = "ansi_align___ansi_align_3.0.1.tgz";
-      path = fetchurl {
-        name = "ansi_align___ansi_align_3.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz";
-        sha512 = "IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==";
-      };
-    }
-    {
       name = "ansi_regex___ansi_regex_5.0.1.tgz";
       path = fetchurl {
         name = "ansi_regex___ansi_regex_5.0.1.tgz";
@@ -226,11 +218,11 @@
       };
     }
     {
-      name = "app_builder_lib___app_builder_lib_23.3.3.tgz";
+      name = "app_builder_lib___app_builder_lib_23.6.0.tgz";
       path = fetchurl {
-        name = "app_builder_lib___app_builder_lib_23.3.3.tgz";
-        url  = "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-23.3.3.tgz";
-        sha512 = "m0+M53+HYMzqKxwNQZT143K7WwXEGUy9LY31l8dJphXx2P/FQod615mVbxHyqbDCG4J5bHdWm21qZ0e2DVY6CQ==";
+        name = "app_builder_lib___app_builder_lib_23.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-23.6.0.tgz";
+        sha512 = "dQYDuqm/rmy8GSCE6Xl/3ShJg6Ab4bZJMT8KaTKGzT436gl1DN4REP3FCWfXoh75qGTJ+u+WsdnnpO9Jl8nyMA==";
       };
     }
     {
@@ -338,14 +330,6 @@
       };
     }
     {
-      name = "boxen___boxen_5.1.2.tgz";
-      path = fetchurl {
-        name = "boxen___boxen_5.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz";
-        sha512 = "9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==";
-      };
-    }
-    {
       name = "brace_expansion___brace_expansion_1.1.11.tgz";
       path = fetchurl {
         name = "brace_expansion___brace_expansion_1.1.11.tgz";
@@ -418,19 +402,19 @@
       };
     }
     {
-      name = "builder_util_runtime___builder_util_runtime_9.0.3.tgz";
+      name = "builder_util_runtime___builder_util_runtime_9.1.1.tgz";
       path = fetchurl {
-        name = "builder_util_runtime___builder_util_runtime_9.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-9.0.3.tgz";
-        sha512 = "SfG2wnyjpUbbdtpnqDpWwklujofC6GarGpvdWrEkg9p5AD/xJmTF2buTNaqs3qtsNBEVQDDjZz9xc2GGpVyMfA==";
+        name = "builder_util_runtime___builder_util_runtime_9.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-9.1.1.tgz";
+        sha512 = "azRhYLEoDvRDR8Dhis4JatELC/jUvYjm4cVSj7n9dauGTOM2eeNn9KS0z6YA6oDsjI1xphjNbY6PZZeHPzzqaw==";
       };
     }
     {
-      name = "builder_util___builder_util_23.3.3.tgz";
+      name = "builder_util___builder_util_23.6.0.tgz";
       path = fetchurl {
-        name = "builder_util___builder_util_23.3.3.tgz";
-        url  = "https://registry.yarnpkg.com/builder-util/-/builder-util-23.3.3.tgz";
-        sha512 = "MJZlUiq2PY5hjYv9+XNaoYdsITqvLgRDoHSFg/4nzpInbNxNjLQOolL04Zsyp+hgfcbFvMC4h0KkR1CMPHLWbA==";
+        name = "builder_util___builder_util_23.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/builder-util/-/builder-util-23.6.0.tgz";
+        sha512 = "QiQHweYsh8o+U/KNCZFSvISRnvRctb8m/2rB2I1JdByzvNKxPeFLlHFRPQRXab6aYeXc18j9LpsDLJ3sGQmWTQ==";
       };
     }
     {
@@ -442,14 +426,6 @@
       };
     }
     {
-      name = "camelcase___camelcase_6.3.0.tgz";
-      path = fetchurl {
-        name = "camelcase___camelcase_6.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz";
-        sha512 = "Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==";
-      };
-    }
-    {
       name = "chalk___chalk_4.1.2.tgz";
       path = fetchurl {
         name = "chalk___chalk_4.1.2.tgz";
@@ -474,27 +450,11 @@
       };
     }
     {
-      name = "ci_info___ci_info_2.0.0.tgz";
-      path = fetchurl {
-        name = "ci_info___ci_info_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz";
-        sha512 = "5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==";
-      };
-    }
-    {
-      name = "ci_info___ci_info_3.4.0.tgz";
-      path = fetchurl {
-        name = "ci_info___ci_info_3.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/ci-info/-/ci-info-3.4.0.tgz";
-        sha512 = "t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==";
-      };
-    }
-    {
-      name = "cli_boxes___cli_boxes_2.2.1.tgz";
+      name = "ci_info___ci_info_3.5.0.tgz";
       path = fetchurl {
-        name = "cli_boxes___cli_boxes_2.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz";
-        sha512 = "y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==";
+        name = "ci_info___ci_info_3.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/ci-info/-/ci-info-3.5.0.tgz";
+        sha512 = "yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw==";
       };
     }
     {
@@ -506,11 +466,11 @@
       };
     }
     {
-      name = "cliui___cliui_7.0.4.tgz";
+      name = "cliui___cliui_8.0.1.tgz";
       path = fetchurl {
-        name = "cliui___cliui_7.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz";
-        sha512 = "OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==";
+        name = "cliui___cliui_8.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz";
+        sha512 = "BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==";
       };
     }
     {
@@ -594,14 +554,6 @@
       };
     }
     {
-      name = "configstore___configstore_5.0.1.tgz";
-      path = fetchurl {
-        name = "configstore___configstore_5.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz";
-        sha512 = "aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==";
-      };
-    }
-    {
       name = "core_util_is___core_util_is_1.0.2.tgz";
       path = fetchurl {
         name = "core_util_is___core_util_is_1.0.2.tgz";
@@ -626,14 +578,6 @@
       };
     }
     {
-      name = "crypto_random_string___crypto_random_string_2.0.0.tgz";
-      path = fetchurl {
-        name = "crypto_random_string___crypto_random_string_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz";
-        sha512 = "v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==";
-      };
-    }
-    {
       name = "debug___debug_4.3.4.tgz";
       path = fetchurl {
         name = "debug___debug_4.3.4.tgz";
@@ -658,14 +602,6 @@
       };
     }
     {
-      name = "deep_extend___deep_extend_0.6.0.tgz";
-      path = fetchurl {
-        name = "deep_extend___deep_extend_0.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz";
-        sha512 = "LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==";
-      };
-    }
-    {
       name = "defer_to_connect___defer_to_connect_1.1.3.tgz";
       path = fetchurl {
         name = "defer_to_connect___defer_to_connect_1.1.3.tgz";
@@ -722,11 +658,11 @@
       };
     }
     {
-      name = "dmg_builder___dmg_builder_23.3.3.tgz";
+      name = "dmg_builder___dmg_builder_23.6.0.tgz";
       path = fetchurl {
-        name = "dmg_builder___dmg_builder_23.3.3.tgz";
-        url  = "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-23.3.3.tgz";
-        sha512 = "ECwAjt+ZWyOvddrkDx1xRD6IVUCZb5SV6vSMHZd+Va3G2sUXHrnglR1cGDKRF4oYRQm8SYVrpLZKbi8npyDcAQ==";
+        name = "dmg_builder___dmg_builder_23.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-23.6.0.tgz";
+        sha512 = "jFZvY1JohyHarIAlTbfQOk+HnceGjjAdFjVn3n8xlDWKsYNqbO4muca6qXEZTfGXeQMG7TYim6CeS5XKSfSsGA==";
       };
     }
     {
@@ -738,14 +674,6 @@
       };
     }
     {
-      name = "dot_prop___dot_prop_5.3.0.tgz";
-      path = fetchurl {
-        name = "dot_prop___dot_prop_5.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz";
-        sha512 = "QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==";
-      };
-    }
-    {
       name = "dotenv_expand___dotenv_expand_5.1.0.tgz";
       path = fetchurl {
         name = "dotenv_expand___dotenv_expand_5.1.0.tgz";
@@ -778,27 +706,27 @@
       };
     }
     {
-      name = "electron_builder___electron_builder_23.3.3.tgz";
+      name = "electron_builder___electron_builder_23.6.0.tgz";
       path = fetchurl {
-        name = "electron_builder___electron_builder_23.3.3.tgz";
-        url  = "https://registry.yarnpkg.com/electron-builder/-/electron-builder-23.3.3.tgz";
-        sha512 = "mFYYdhoFPKevP6y5uaaF3dusmB2OtQ/HnwwpyOePeU7QDS0SEIAUokQsHUanAiJAZcBqtY7iyLBgX18QybdFFw==";
+        name = "electron_builder___electron_builder_23.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/electron-builder/-/electron-builder-23.6.0.tgz";
+        sha512 = "y8D4zO+HXGCNxFBV/JlyhFnoQ0Y0K7/sFH+XwIbj47pqaW8S6PGYQbjoObolKBR1ddQFPt4rwp4CnwMJrW3HAw==";
       };
     }
     {
-      name = "electron_context_menu___electron_context_menu_3.5.0.tgz";
+      name = "electron_context_menu___electron_context_menu_3.6.0.tgz";
       path = fetchurl {
-        name = "electron_context_menu___electron_context_menu_3.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/electron-context-menu/-/electron-context-menu-3.5.0.tgz";
-        sha512 = "z4agpok6YnXlGFs66zU9EBFft4llUFJ41NYFEMMS0fnprMKBztJUCHBA6LMAqJgjabfqsYC7kxlvjvepxodOqg==";
+        name = "electron_context_menu___electron_context_menu_3.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/electron-context-menu/-/electron-context-menu-3.6.0.tgz";
+        sha512 = "7uhF3WX7ZalLEurKqML2cJJrBUw1JSZNzbwIB9kVbip7sVwyl7bVjiwHzdYjuOh/+xHw21ZzxwgZcB6sTeKdEw==";
       };
     }
     {
-      name = "electron_dl___electron_dl_3.3.1.tgz";
+      name = "electron_dl___electron_dl_3.4.1.tgz";
       path = fetchurl {
-        name = "electron_dl___electron_dl_3.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/electron-dl/-/electron-dl-3.3.1.tgz";
-        sha512 = "kmcSYZyHVEHHHFKlZWW58GiCmu2NSu3Rdwnl3+/fr/ftQYHJULVf1QkrCBPFE2bp/Ly113Za7c8wJZs1nBy04A==";
+        name = "electron_dl___electron_dl_3.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/electron-dl/-/electron-dl-3.4.1.tgz";
+        sha512 = "NUrjWTlFW7n/+0ECxQ1AkjikNxdeRDpaprLY7YhmOg6pkFcPHwdEfpkTK+CIhyGMAlZOuto1clB1z5HAwgZcaA==";
       };
     }
     {
@@ -818,11 +746,11 @@
       };
     }
     {
-      name = "electron_publish___electron_publish_23.3.3.tgz";
+      name = "electron_publish___electron_publish_23.6.0.tgz";
       path = fetchurl {
-        name = "electron_publish___electron_publish_23.3.3.tgz";
-        url  = "https://registry.yarnpkg.com/electron-publish/-/electron-publish-23.3.3.tgz";
-        sha512 = "1dX17eE5xVXedTxjC+gjsP74oC0+sIHgqysp0ryTlF9+yfQUyXjBk6kcK+zhtBA2SsHMSglDtM+JPxDD/WpPTQ==";
+        name = "electron_publish___electron_publish_23.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/electron-publish/-/electron-publish-23.6.0.tgz";
+        sha512 = "jPj3y+eIZQJF/+t5SLvsI5eS4mazCbNYqatv5JihbqOstIM13k0d1Z3vAWntvtt13Itl61SO6seicWdioOU5dg==";
       };
     }
     {
@@ -834,11 +762,11 @@
       };
     }
     {
-      name = "electron___electron_20.1.4.tgz";
+      name = "electron___electron_21.2.2.tgz";
       path = fetchurl {
-        name = "electron___electron_20.1.4.tgz";
-        url  = "https://registry.yarnpkg.com/electron/-/electron-20.1.4.tgz";
-        sha512 = "7ov5kgSQi2JewV5SrVfjGasUvyScjuJrrDCW0rYxtP2SMe3JjoP4rsOOnh3ps2P/Nrdlbv+0ygiK0zp4ARCZ+A==";
+        name = "electron___electron_21.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/electron/-/electron-21.2.2.tgz";
+        sha512 = "Q0j1tzLTM5JRjSJVAfDSONZgdtuyruHR1pc1y2IbMYQz62pVJWVWAvcJXzpty5iRh2HKzW9+B9WVlmfWNFA8ag==";
       };
     }
     {
@@ -1074,14 +1002,6 @@
       };
     }
     {
-      name = "global_dirs___global_dirs_3.0.0.tgz";
-      path = fetchurl {
-        name = "global_dirs___global_dirs_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz";
-        sha512 = "v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==";
-      };
-    }
-    {
       name = "global_tunnel_ng___global_tunnel_ng_2.7.1.tgz";
       path = fetchurl {
         name = "global_tunnel_ng___global_tunnel_ng_2.7.1.tgz";
@@ -1146,14 +1066,6 @@
       };
     }
     {
-      name = "has_yarn___has_yarn_2.1.0.tgz";
-      path = fetchurl {
-        name = "has_yarn___has_yarn_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz";
-        sha512 = "UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==";
-      };
-    }
-    {
       name = "has___has_1.0.3.tgz";
       path = fetchurl {
         name = "has___has_1.0.3.tgz";
@@ -1226,22 +1138,6 @@
       };
     }
     {
-      name = "import_lazy___import_lazy_2.1.0.tgz";
-      path = fetchurl {
-        name = "import_lazy___import_lazy_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz";
-        sha512 = "m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==";
-      };
-    }
-    {
-      name = "imurmurhash___imurmurhash_0.1.4.tgz";
-      path = fetchurl {
-        name = "imurmurhash___imurmurhash_0.1.4.tgz";
-        url  = "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz";
-        sha512 = "JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==";
-      };
-    }
-    {
       name = "inflight___inflight_1.0.6.tgz";
       path = fetchurl {
         name = "inflight___inflight_1.0.6.tgz";
@@ -1258,14 +1154,6 @@
       };
     }
     {
-      name = "ini___ini_2.0.0.tgz";
-      path = fetchurl {
-        name = "ini___ini_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz";
-        sha512 = "7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==";
-      };
-    }
-    {
       name = "ini___ini_1.3.8.tgz";
       path = fetchurl {
         name = "ini___ini_1.3.8.tgz";
@@ -1274,14 +1162,6 @@
       };
     }
     {
-      name = "is_ci___is_ci_2.0.0.tgz";
-      path = fetchurl {
-        name = "is_ci___is_ci_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz";
-        sha512 = "YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==";
-      };
-    }
-    {
       name = "is_ci___is_ci_3.0.1.tgz";
       path = fetchurl {
         name = "is_ci___is_ci_3.0.1.tgz";
@@ -1298,38 +1178,6 @@
       };
     }
     {
-      name = "is_installed_globally___is_installed_globally_0.4.0.tgz";
-      path = fetchurl {
-        name = "is_installed_globally___is_installed_globally_0.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz";
-        sha512 = "iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==";
-      };
-    }
-    {
-      name = "is_npm___is_npm_5.0.0.tgz";
-      path = fetchurl {
-        name = "is_npm___is_npm_5.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz";
-        sha512 = "WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==";
-      };
-    }
-    {
-      name = "is_obj___is_obj_2.0.0.tgz";
-      path = fetchurl {
-        name = "is_obj___is_obj_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz";
-        sha512 = "drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==";
-      };
-    }
-    {
-      name = "is_path_inside___is_path_inside_3.0.3.tgz";
-      path = fetchurl {
-        name = "is_path_inside___is_path_inside_3.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz";
-        sha512 = "Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==";
-      };
-    }
-    {
       name = "is_plain_obj___is_plain_obj_1.1.0.tgz";
       path = fetchurl {
         name = "is_plain_obj___is_plain_obj_1.1.0.tgz";
@@ -1338,22 +1186,6 @@
       };
     }
     {
-      name = "is_typedarray___is_typedarray_1.0.0.tgz";
-      path = fetchurl {
-        name = "is_typedarray___is_typedarray_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz";
-        sha512 = "cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==";
-      };
-    }
-    {
-      name = "is_yarn_global___is_yarn_global_0.3.0.tgz";
-      path = fetchurl {
-        name = "is_yarn_global___is_yarn_global_0.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz";
-        sha512 = "VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==";
-      };
-    }
-    {
       name = "isbinaryfile___isbinaryfile_3.0.3.tgz";
       path = fetchurl {
         name = "isbinaryfile___isbinaryfile_3.0.3.tgz";
@@ -1450,14 +1282,6 @@
       };
     }
     {
-      name = "latest_version___latest_version_5.1.0.tgz";
-      path = fetchurl {
-        name = "latest_version___latest_version_5.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz";
-        sha512 = "weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==";
-      };
-    }
-    {
       name = "lazy_val___lazy_val_1.0.5.tgz";
       path = fetchurl {
         name = "lazy_val___lazy_val_1.0.5.tgz";
@@ -1514,14 +1338,6 @@
       };
     }
     {
-      name = "make_dir___make_dir_3.1.0.tgz";
-      path = fetchurl {
-        name = "make_dir___make_dir_3.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz";
-        sha512 = "g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==";
-      };
-    }
-    {
       name = "matcher___matcher_3.0.0.tgz";
       path = fetchurl {
         name = "matcher___matcher_3.0.0.tgz";
@@ -1586,6 +1402,14 @@
       };
     }
     {
+      name = "minimist___minimist_1.2.7.tgz";
+      path = fetchurl {
+        name = "minimist___minimist_1.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz";
+        sha512 = "bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==";
+      };
+    }
+    {
       name = "minimist___minimist_1.2.6.tgz";
       path = fetchurl {
         name = "minimist___minimist_1.2.6.tgz";
@@ -1698,14 +1522,6 @@
       };
     }
     {
-      name = "package_json___package_json_6.5.0.tgz";
-      path = fetchurl {
-        name = "package_json___package_json_6.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz";
-        sha512 = "k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==";
-      };
-    }
-    {
       name = "path_exists___path_exists_4.0.0.tgz";
       path = fetchurl {
         name = "path_exists___path_exists_4.0.0.tgz";
@@ -1802,14 +1618,6 @@
       };
     }
     {
-      name = "rc___rc_1.2.8.tgz";
-      path = fetchurl {
-        name = "rc___rc_1.2.8.tgz";
-        url  = "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz";
-        sha512 = "y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==";
-      };
-    }
-    {
       name = "read_config_file___read_config_file_6.2.0.tgz";
       path = fetchurl {
         name = "read_config_file___read_config_file_6.2.0.tgz";
@@ -1818,22 +1626,6 @@
       };
     }
     {
-      name = "registry_auth_token___registry_auth_token_4.2.2.tgz";
-      path = fetchurl {
-        name = "registry_auth_token___registry_auth_token_4.2.2.tgz";
-        url  = "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.2.tgz";
-        sha512 = "PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==";
-      };
-    }
-    {
-      name = "registry_url___registry_url_5.1.0.tgz";
-      path = fetchurl {
-        name = "registry_url___registry_url_5.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz";
-        sha512 = "8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==";
-      };
-    }
-    {
       name = "require_directory___require_directory_2.1.1.tgz";
       path = fetchurl {
         name = "require_directory___require_directory_2.1.1.tgz";
@@ -1898,14 +1690,6 @@
       };
     }
     {
-      name = "semver_diff___semver_diff_3.1.1.tgz";
-      path = fetchurl {
-        name = "semver_diff___semver_diff_3.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz";
-        sha512 = "GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==";
-      };
-    }
-    {
       name = "semver___semver_6.3.0.tgz";
       path = fetchurl {
         name = "semver___semver_6.3.0.tgz";
@@ -1914,11 +1698,19 @@
       };
     }
     {
-      name = "semver___semver_7.3.7.tgz";
+      name = "semver___semver_7.3.8.tgz";
+      path = fetchurl {
+        name = "semver___semver_7.3.8.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz";
+        sha512 = "NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==";
+      };
+    }
+    {
+      name = "semver___semver_7.0.0.tgz";
       path = fetchurl {
-        name = "semver___semver_7.3.7.tgz";
-        url  = "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz";
-        sha512 = "QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==";
+        name = "semver___semver_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz";
+        sha512 = "+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==";
       };
     }
     {
@@ -1946,11 +1738,11 @@
       };
     }
     {
-      name = "signal_exit___signal_exit_3.0.7.tgz";
+      name = "simple_update_notifier___simple_update_notifier_1.0.7.tgz";
       path = fetchurl {
-        name = "signal_exit___signal_exit_3.0.7.tgz";
-        url  = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz";
-        sha512 = "wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==";
+        name = "simple_update_notifier___simple_update_notifier_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-1.0.7.tgz";
+        sha512 = "BBKgR84BJQJm6WjWFMHgLVuo61FBDSj1z/xSFUIozqO6wO7ii0JxCqlIud7Enr/+LhlbNI0whErq96P2qHNWew==";
       };
     }
     {
@@ -2034,14 +1826,6 @@
       };
     }
     {
-      name = "strip_json_comments___strip_json_comments_2.0.1.tgz";
-      path = fetchurl {
-        name = "strip_json_comments___strip_json_comments_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz";
-        sha512 = "4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==";
-      };
-    }
-    {
       name = "sumchecker___sumchecker_3.0.1.tgz";
       path = fetchurl {
         name = "sumchecker___sumchecker_3.0.1.tgz";
@@ -2058,11 +1842,11 @@
       };
     }
     {
-      name = "tar___tar_6.1.11.tgz";
+      name = "tar___tar_6.1.12.tgz";
       path = fetchurl {
-        name = "tar___tar_6.1.11.tgz";
-        url  = "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz";
-        sha512 = "an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==";
+        name = "tar___tar_6.1.12.tgz";
+        url  = "https://registry.yarnpkg.com/tar/-/tar-6.1.12.tgz";
+        sha512 = "jU4TdemS31uABHd+Lt5WEYJuzn+TJTCBLljvIAHZOz6M9Os5pJ4dD+vRFLxPa/n3T0iEFzpi+0x1UfuDZYbRMw==";
       };
     }
     {
@@ -2122,27 +1906,11 @@
       };
     }
     {
-      name = "type_fest___type_fest_0.20.2.tgz";
+      name = "typescript___typescript_4.8.4.tgz";
       path = fetchurl {
-        name = "type_fest___type_fest_0.20.2.tgz";
-        url  = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz";
-        sha512 = "Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==";
-      };
-    }
-    {
-      name = "typedarray_to_buffer___typedarray_to_buffer_3.1.5.tgz";
-      path = fetchurl {
-        name = "typedarray_to_buffer___typedarray_to_buffer_3.1.5.tgz";
-        url  = "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz";
-        sha512 = "zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==";
-      };
-    }
-    {
-      name = "typescript___typescript_4.8.3.tgz";
-      path = fetchurl {
-        name = "typescript___typescript_4.8.3.tgz";
-        url  = "https://registry.yarnpkg.com/typescript/-/typescript-4.8.3.tgz";
-        sha512 = "goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig==";
+        name = "typescript___typescript_4.8.4.tgz";
+        url  = "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz";
+        sha512 = "QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==";
       };
     }
     {
@@ -2154,14 +1922,6 @@
       };
     }
     {
-      name = "unique_string___unique_string_2.0.0.tgz";
-      path = fetchurl {
-        name = "unique_string___unique_string_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz";
-        sha512 = "uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==";
-      };
-    }
-    {
       name = "universalify___universalify_0.1.2.tgz";
       path = fetchurl {
         name = "universalify___universalify_0.1.2.tgz";
@@ -2186,14 +1946,6 @@
       };
     }
     {
-      name = "update_notifier___update_notifier_5.1.0.tgz";
-      path = fetchurl {
-        name = "update_notifier___update_notifier_5.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz";
-        sha512 = "ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==";
-      };
-    }
-    {
       name = "uri_js___uri_js_4.4.1.tgz";
       path = fetchurl {
         name = "uri_js___uri_js_4.4.1.tgz";
@@ -2234,14 +1986,6 @@
       };
     }
     {
-      name = "widest_line___widest_line_3.1.0.tgz";
-      path = fetchurl {
-        name = "widest_line___widest_line_3.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz";
-        sha512 = "NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==";
-      };
-    }
-    {
       name = "wrap_ansi___wrap_ansi_7.0.0.tgz";
       path = fetchurl {
         name = "wrap_ansi___wrap_ansi_7.0.0.tgz";
@@ -2258,22 +2002,6 @@
       };
     }
     {
-      name = "write_file_atomic___write_file_atomic_3.0.3.tgz";
-      path = fetchurl {
-        name = "write_file_atomic___write_file_atomic_3.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz";
-        sha512 = "AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==";
-      };
-    }
-    {
-      name = "xdg_basedir___xdg_basedir_4.0.0.tgz";
-      path = fetchurl {
-        name = "xdg_basedir___xdg_basedir_4.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz";
-        sha512 = "PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==";
-      };
-    }
-    {
       name = "xmlbuilder___xmlbuilder_15.1.1.tgz";
       path = fetchurl {
         name = "xmlbuilder___xmlbuilder_15.1.1.tgz";
@@ -2306,11 +2034,11 @@
       };
     }
     {
-      name = "yargs___yargs_17.5.1.tgz";
+      name = "yargs___yargs_17.6.1.tgz";
       path = fetchurl {
-        name = "yargs___yargs_17.5.1.tgz";
-        url  = "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz";
-        sha512 = "t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==";
+        name = "yargs___yargs_17.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-17.6.1.tgz";
+        sha512 = "leBuCGrL4dAd6ispNOGsJlhd0uZ6Qehkbu/B9KCR+Pxa/NVdNwi+i31lo0buCm6XxhJQFshXCD0/evfV4xfoUg==";
       };
     }
     {
diff --git a/pkgs/applications/office/onlyoffice-bin/default.nix b/pkgs/applications/office/onlyoffice-bin/default.nix
index 7ca12b234271a..62e97670c2b60 100644
--- a/pkgs/applications/office/onlyoffice-bin/default.nix
+++ b/pkgs/applications/office/onlyoffice-bin/default.nix
@@ -73,11 +73,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "onlyoffice-desktopeditors";
-  version = "7.1.0";
+  version = "7.2.0";
   minor = null;
   src = fetchurl {
     url = "https://github.com/ONLYOFFICE/DesktopEditors/releases/download/v${version}/onlyoffice-desktopeditors_amd64.deb";
-    sha256 = "sha256-40IUAmg7PnfYrdTj7TVbfvb9ey0/zzswu+sJllAIktg=";
+    sha256 = "sha256-O9gC/b5/eZ1YImuXpEZOJhI1rzCNuFrm5IqablnYo9Y=";
   };
 
   nativeBuildInputs = [
@@ -109,6 +109,7 @@ stdenv.mkDerivation rec {
     qt5.qtbase
     qt5.qtdeclarative
     qt5.qtsvg
+    qt5.qtwayland
     xorg.libX11
     xorg.libxcb
     xorg.libXcomposite
diff --git a/pkgs/applications/office/paper-note/default.nix b/pkgs/applications/office/paper-note/default.nix
new file mode 100644
index 0000000000000..18ab6250d028b
--- /dev/null
+++ b/pkgs/applications/office/paper-note/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, meson
+, ninja
+, pkg-config
+, vala
+, gtk4
+, libgee
+, libadwaita
+, gtksourceview5
+, blueprint-compiler
+, wrapGAppsHook4
+, appstream-glib
+, desktop-file-utils
+}:
+
+stdenv.mkDerivation rec {
+  pname = "paper-note";
+  version = "22.11";
+
+  src = fetchFromGitLab {
+    owner = "posidon_software";
+    repo = "paper";
+    rev = version;
+    hash = "sha256-o5MYagflHE8Aup8CbqauRBrdt3TrSlffs35psYT7hyE=";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    vala
+    pkg-config
+    wrapGAppsHook4
+    appstream-glib
+    desktop-file-utils
+    blueprint-compiler
+  ];
+
+  buildInputs = [
+    gtk4
+    libadwaita
+    libgee
+    gtksourceview5
+  ];
+
+  postInstall = ''
+    ln -s $out/bin/io.posidon.Paper $out/bin/paper
+  '';
+
+  meta = with lib; {
+    description = "Take notes in Markdown";
+    homepage = "https://posidon.io/paper/";
+    license = licenses.gpl3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ j0lol ];
+  };
+}
diff --git a/pkgs/applications/office/paperless-ngx/default.nix b/pkgs/applications/office/paperless-ngx/default.nix
index f5de1d65184ca..403e3d0d88a69 100644
--- a/pkgs/applications/office/paperless-ngx/default.nix
+++ b/pkgs/applications/office/paperless-ngx/default.nix
@@ -64,6 +64,7 @@ let
           sha256 = "sha256-bKrPLbD9zG7DwIYBst1cb+zkDsM8B02wh3D80iortpw=";
         };
         propagatedBuildInputs = oldAttrs.propagatedBuildInputs ++ [ self.daphne ];
+        pytestFlagsArray = [ "--asyncio-mode=auto" ];
       });
 
       daphne = super.daphne.overridePythonAttrs (oldAttrs: rec {
diff --git a/pkgs/applications/office/portfolio/default.nix b/pkgs/applications/office/portfolio/default.nix
index fb1b0b57ebadf..9f98e4eb0abf1 100644
--- a/pkgs/applications/office/portfolio/default.nix
+++ b/pkgs/applications/office/portfolio/default.nix
@@ -26,11 +26,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "PortfolioPerformance";
-  version = "0.59.2";
+  version = "0.59.3";
 
   src = fetchurl {
     url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz";
-    sha256 = "sha256-qfetuy1Pa4kWu4ykuELVIE0iC9eAr6qAwVZkEbqqFi0=";
+    sha256 = "sha256-HYzDenWicKbYTEWGaTtoEoruLrqPCxx64eLJBEHC+A0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/qownnotes/default.nix b/pkgs/applications/office/qownnotes/default.nix
index c57d21ccc1482..c176248d1f4df 100644
--- a/pkgs/applications/office/qownnotes/default.nix
+++ b/pkgs/applications/office/qownnotes/default.nix
@@ -5,13 +5,13 @@
 
 mkDerivation rec {
   pname = "qownnotes";
-  version = "22.10.2";
+  version = "22.11.5";
 
   src = fetchurl {
     url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz";
     # Fetch the checksum of current version with curl:
     # curl https://download.tuxfamily.org/qownnotes/src/qownnotes-<version>.tar.xz.sha256
-    hash = "sha256-cHUkMrfVrdQXKrmK2jcNT6CHw0+VEWc1tp1XGuI0XcQ=";
+    sha256 = "451c7bed728710d1ff7ddc5bcc5a32b829dfac3ed2bbfdb6f7c2c328e6676a8c";
   };
 
   nativeBuildInputs = [ qmake qttools ];
diff --git a/pkgs/applications/office/scribus/default.nix b/pkgs/applications/office/scribus/default.nix
index d40c96ef486ae..16e65d283645c 100644
--- a/pkgs/applications/office/scribus/default.nix
+++ b/pkgs/applications/office/scribus/default.nix
@@ -63,6 +63,11 @@ mkDerivation rec {
       url = "https://github.com/scribusproject/scribus/commit/f2237b8f0b5cf7690e864a22ef7a63a6d769fa36.patch";
       sha256 = "FXpLoX/a2Jy3GcfzrUUyVUfEAp5wAy2UfzfVA5lhwJw=";
     })
+    # For Poppler 22.09
+    (fetchpatch {
+      url = "https://github.com/archlinux/svntogit-community/raw/ea402a588c65d11973b148cf203b3463213431cf/trunk/scribus-1.5.8-poppler-22.09.0.patch";
+      sha256 = "IRQ6rSzH6ZWln6F13Ayk8k7ADj8l3lIJlGm/zjEURQM=";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/treesheets/default.nix b/pkgs/applications/office/treesheets/default.nix
index 2920ae3ccf8c7..33ac5b8b5e399 100644
--- a/pkgs/applications/office/treesheets/default.nix
+++ b/pkgs/applications/office/treesheets/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "treesheets";
-  version = "unstable-2022-10-20";
+  version = "unstable-2022-11-11";
 
   src = fetchFromGitHub {
     owner = "aardappel";
     repo = "treesheets";
-    rev = "12580ce39ee89f0ae6b9bdb304f7bc68a74ecdf7";
-    sha256 = "Z1BAYRcoeYOWomfwgBS/CQbejARs6sqsyZorhbJ/RdI=";
+    rev = "94881402b4730f598a536d8cddb3314eaf16defc";
+    sha256 = "+fv05KqfhpFeufUduOikXJuQmZfOq+i97B8kP//hsk0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/trilium/default.nix b/pkgs/applications/office/trilium/default.nix
index 3a71cb2a70813..0ac2f4eac134e 100644
--- a/pkgs/applications/office/trilium/default.nix
+++ b/pkgs/applications/office/trilium/default.nix
@@ -10,13 +10,13 @@ let
     maintainers = with maintainers; [ fliegendewurst ];
   };
 
-  version = "0.56.1";
+  version = "0.56.2";
 
   desktopSource.url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
-  desktopSource.sha256 = "1h6fwpk317mx341ib84gqxgacd0l65hxw79vqbm2fw25g68dphbb";
+  desktopSource.sha256 = "1rqfkbxgcd32kpi6xfd590nivd1ga0d0kf5zvffyypyy28q95pyz";
 
   serverSource.url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz";
-  serverSource.sha256 = "1c134gi6zaxg19kc1c46fnpk9kg42949xxmivba7w17lx7asc5if";
+  serverSource.sha256 = "1pyi2b649n2rihr4dcz8brfkqrbvssbzhr3dnmyrhrp3qdyxamb6";
 
 in {
 
diff --git a/pkgs/applications/office/zim/default.nix b/pkgs/applications/office/zim/default.nix
index cc749a8a96eab..73c94f7339c68 100644
--- a/pkgs/applications/office/zim/default.nix
+++ b/pkgs/applications/office/zim/default.nix
@@ -7,11 +7,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "zim";
-  version = "0.74.3";
+  version = "0.75.1";
 
   src = fetchurl {
     url = "https://zim-wiki.org/downloads/zim-${version}.tar.gz";
-    sha256 = "sha256-3ehPIkhsf1JnC9Qx3kQ6ilvRaBB7auBm2C1HOuNGzRU=";
+    sha256 = "sha256-iOF11/fhQYlvnpWJidJS1yJVavF7xLxvBl59VCh9A4U=";
   };
 
   buildInputs = [ gtk3 gobject-introspection gnome.adwaita-icon-theme ];
@@ -23,6 +23,7 @@ python3Packages.buildPythonApplication rec {
 
   preFixup = ''
     makeWrapperArgs+=(--prefix XDG_DATA_DIRS : $out/share)
+    makeWrapperArgs+=(--prefix XDG_DATA_DIRS : ${gnome.adwaita-icon-theme}/share)
     makeWrapperArgs+=(--argv0 $out/bin/.zim-wrapped)
     makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
   '';
diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix
index 72e84487b28ae..9c233f4692479 100644
--- a/pkgs/applications/office/zotero/default.nix
+++ b/pkgs/applications/office/zotero/default.nix
@@ -41,12 +41,12 @@
 
 stdenv.mkDerivation rec {
   pname = "zotero";
-  version = "6.0.12";
+  version = "6.0.16";
 
   src = fetchurl {
     url =
       "https://download.zotero.org/client/release/${version}/Zotero-${version}_linux-x86_64.tar.bz2";
-    sha256 = "sha256-RIPFn0fLk2CbOoiZ4a5ungnbvfRWFQQUypCYVvVIQms=";
+    sha256 = "sha256-PqC7PqpRSm/Yt3pK8TuzcrhtfJSeJX6th2xb2n/Bul8=";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ];
diff --git a/pkgs/applications/plasma-mobile/angelfish.nix b/pkgs/applications/plasma-mobile/angelfish.nix
index e93f3eaff508d..5ed6cec01aa92 100644
--- a/pkgs/applications/plasma-mobile/angelfish.nix
+++ b/pkgs/applications/plasma-mobile/angelfish.nix
@@ -52,10 +52,6 @@ mkDerivation rec {
     rust.rustc
   ]);
 
-  cmakeFlags = [
-    "-DRust_CARGO=${rustPlatform.rust.cargo}/bin/cargo"
-  ];
-
   buildInputs = [
     kconfig
     kcoreaddons
diff --git a/pkgs/applications/radio/btlejack/default.nix b/pkgs/applications/radio/btlejack/default.nix
index 198c090b0ea17..c5eb8d5cfe4de 100644
--- a/pkgs/applications/radio/btlejack/default.nix
+++ b/pkgs/applications/radio/btlejack/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonApplication rec {
   pname = "btlejack";
-  version = "2.0.0";
+  version = "2.1.1";
 
   src = fetchFromGitHub {
     owner = "virtualabs";
     repo = "btlejack";
-    rev = "v${version}";
-    sha256 = "1r17079kx7dvsrbmw5sgvz3vj5m3pn2543gxj2xmw4s0lcihy378";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-Q6y9murV1o2i1sluqTVB5+X3B7ywFsI0ZvlJjHrHSpo=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/radio/freedv/default.nix b/pkgs/applications/radio/freedv/default.nix
index ba86468854822..b648c04577e0d 100644
--- a/pkgs/applications/radio/freedv/default.nix
+++ b/pkgs/applications/radio/freedv/default.nix
@@ -21,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "freedv";
-  version = "1.8.3.1";
+  version = "1.8.4";
 
   src = fetchFromGitHub {
     owner = "drowe67";
     repo = "freedv-gui";
     rev = "v${version}";
-    hash = "sha256-LPCY5gPinxJkfPfumKggI/JQorcW+Qw/ZAP6XQmPkeA=";
+    hash = "sha256-X/jL6q2yLNtRq7Xg9JeXu1zXD0KCs59D1poA9hM3Ndo=";
   };
 
   postPatch = lib.optionalString stdenv.isDarwin ''
@@ -58,12 +58,15 @@ stdenv.mkDerivation rec {
   cmakeFlags = [
     "-DUSE_INTERNAL_CODEC2:BOOL=FALSE"
     "-DUSE_STATIC_DEPS:BOOL=FALSE"
+    "-DUNITTEST=ON"
   ] ++ lib.optionals pulseSupport [ "-DUSE_PULSEAUDIO:BOOL=TRUE" ];
 
   NIX_CFLAGS_COMPILE = lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [
     "-DAPPLE_OLD_XCODE"
   ];
 
+  doCheck = true;
+
   meta = with lib; {
     homepage = "https://freedv.org/";
     description = "Digital voice for HF radio";
diff --git a/pkgs/applications/radio/guglielmo/default.nix b/pkgs/applications/radio/guglielmo/default.nix
index 1702f5902021f..404ec7aa96a19 100644
--- a/pkgs/applications/radio/guglielmo/default.nix
+++ b/pkgs/applications/radio/guglielmo/default.nix
@@ -13,13 +13,13 @@
 
 mkDerivation rec {
   pname = "guglielmo";
-  version = "0.3";
+  version = "0.4";
 
   src = fetchFromGitHub {
     owner = "marcogrecopriolo";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0s1iz9s0k897jayiwl3yr9ylpclw6bzcpmzhxqn0mkd7jhgfl4vx";
+    sha256 = "sha256-djBQTYbpgPFBtQZ9fZBpECP20RxB49AdxLbq8mUU6rg=";
   };
 
   postInstall = ''
diff --git a/pkgs/applications/radio/qradiolink/default.nix b/pkgs/applications/radio/qradiolink/default.nix
index 567a587e6d5bc..88cff17bc3b83 100644
--- a/pkgs/applications/radio/qradiolink/default.nix
+++ b/pkgs/applications/radio/qradiolink/default.nix
@@ -17,17 +17,19 @@
 , protobuf
 , speex
 , speexdsp
+, cppzmq
+, zeromq
 }:
 
 gnuradio3_8.pkgs.mkDerivation rec {
   pname = "qradiolink";
-  version = "0.8.6-2";
+  version = "0.8.7-1";
 
   src = fetchFromGitHub {
     owner = "qradiolink";
     repo = "qradiolink";
     rev = version;
-    sha256 = "1694yyw0vc77m5pbc5rwl6khd8000dbrliz3q4vsa9dqnfnz1777";
+    sha256 = "sha256-4WkAEJvWu1+ZYDeipRl1oJWn5IR1nTXJ8We0trhbkQE=";
   };
 
   preBuild = ''
@@ -62,6 +64,8 @@ gnuradio3_8.pkgs.mkDerivation rec {
     gnuradio3_8.qt.qtmultimedia
     libftdi
     libsndfile
+    cppzmq
+    zeromq
     gnuradio3_8.qwt
   ] ++ lib.optionals (gnuradio3_8.hasFeature "gr-ctrlport") [
     thrift
diff --git a/pkgs/applications/radio/rtl_433/default.nix b/pkgs/applications/radio/rtl_433/default.nix
index e04a8a907d191..44ecec312b3f6 100644
--- a/pkgs/applications/radio/rtl_433/default.nix
+++ b/pkgs/applications/radio/rtl_433/default.nix
@@ -1,24 +1,18 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, fetchpatch
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config
 , libusb1, rtl-sdr, soapysdr-with-plugins
 }:
 
 stdenv.mkDerivation rec {
-  version = "21.12";
+  version = "22.11";
   pname = "rtl_433";
 
   src = fetchFromGitHub {
     owner = "merbanan";
     repo = "rtl_433";
     rev = version;
-    sha256 = "sha256-KoDKyI7KDdGSe79ZTuL9ObKnOJsqTN4wrMq+/cvQ/Xk=";
+    sha256 = "sha256-qDY+prdf8O/dqmAgLU6lpsNIvL1R5V2AwsB+4CpOqGM=";
   };
 
-  patches = [( fetchpatch {
-    name = "CVE-2022-27419";
-    url = "https://github.com/merbanan/rtl_433/commit/37455483889bd1c641bdaafc493d1cc236b74904.patch";
-    sha256 = "172jndh8x5nlcbx2jp5y8fgfxsawwfz95037pcjp170gf93ijy88";
-  })];
-
   nativeBuildInputs = [ pkg-config cmake ];
 
   buildInputs = [ libusb1 rtl-sdr soapysdr-with-plugins ];
@@ -32,5 +26,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ earldouglas markuskowa ];
     platforms = platforms.all;
   };
-
 }
diff --git a/pkgs/applications/radio/sdrangel/default.nix b/pkgs/applications/radio/sdrangel/default.nix
index fece0869a0bdc..45f609c08f232 100644
--- a/pkgs/applications/radio/sdrangel/default.nix
+++ b/pkgs/applications/radio/sdrangel/default.nix
@@ -42,13 +42,13 @@
 
 mkDerivation rec {
   pname = "sdrangel";
-  version = "7.7.0";
+  version = "7.8.3";
 
   src = fetchFromGitHub {
     owner = "f4exb";
     repo = "sdrangel";
     rev = "v${version}";
-    sha256 = "sha256-du5mNGMrXt6iFjb/QXQsW1DpGfIlVjqrbmsQZb4mMZQ=";
+    sha256 = "sha256-zP3Ic0mru0FcX7ZuE/IKGmHA596lq5Y1cWdBESzzU0U=";
     fetchSubmodules = false;
   };
 
diff --git a/pkgs/applications/science/astronomy/calcmysky/default.nix b/pkgs/applications/science/astronomy/calcmysky/default.nix
new file mode 100644
index 0000000000000..3b66284e8b0c2
--- /dev/null
+++ b/pkgs/applications/science/astronomy/calcmysky/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, wrapQtAppsHook
+, glm
+, eigen
+, qtbase
+}:
+
+stdenv.mkDerivation rec {
+  pname = "calcmysky";
+  version = "0.2.1";
+
+  src = fetchFromGitHub {
+    owner = "10110111";
+    repo = "CalcMySky";
+    rev = "v${version}";
+    hash = "sha256-7Yj6OlZ7weenekXYGhK5EWcME20oCHiLPOxz5KEuKy4=";
+  };
+
+  nativeBuildInputs = [ cmake wrapQtAppsHook ];
+  buildInputs = [ glm eigen qtbase ];
+
+  cmakeFlags = [ "-DQT_VERSION=6" ];
+
+  doCheck = true;
+
+  meta = with lib;{
+    description = "Simulator of light scattering by planetary atmospheres";
+    homepage = "https://github.com/10110111/CalcMySky";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ nickcao ];
+  };
+}
diff --git a/pkgs/applications/science/astronomy/kstars/default.nix b/pkgs/applications/science/astronomy/kstars/default.nix
index 8212e6a2a9fad..d74ad2c4e8788 100644
--- a/pkgs/applications/science/astronomy/kstars/default.nix
+++ b/pkgs/applications/science/astronomy/kstars/default.nix
@@ -14,11 +14,11 @@
 
 mkDerivation rec {
   pname = "kstars";
-  version = "3.6.0";
+  version = "3.6.1";
 
   src = fetchurl {
     url = "mirror://kde/stable/kstars/kstars-${version}.tar.xz";
-    sha256 = "sha256-wdv2TOOPIB3VRG3XMs58i/HvMDZ9wvERAhBQNslJ25E=";
+    sha256 = "sha256-WWbtfqvGd13+a41z8/MjlchllpuhLX08nu15OlYUeuI=";
   };
 
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/science/astronomy/stellarium/default.nix b/pkgs/applications/science/astronomy/stellarium/default.nix
index b157be0fcb75c..1b0f5abdf98ba 100644
--- a/pkgs/applications/science/astronomy/stellarium/default.nix
+++ b/pkgs/applications/science/astronomy/stellarium/default.nix
@@ -1,25 +1,55 @@
-{ stdenv, lib, fetchFromGitHub
-, cmake, freetype, libpng, libGLU, libGL, openssl, perl, libiconv
-, qtscript, qtserialport, qttools, qtcharts
-, qtmultimedia, qtlocation, qtbase, wrapQtAppsHook
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, perl
+, wrapGAppsHook
+, wrapQtAppsHook
+, qtbase
+, qtcharts
+, qtpositioning
+, qtmultimedia
+, qtserialport
+, qttranslations
+, qtwayland
+, qtwebengine
+, calcmysky
+, qxlsx
+, indilib
+, libnova
 }:
 
 stdenv.mkDerivation rec {
   pname = "stellarium";
-  version = "0.22.2";
+  version = "1.1";
 
   src = fetchFromGitHub {
     owner = "Stellarium";
     repo = "stellarium";
     rev = "v${version}";
-    sha256 = "sha256-FBH5IB1keMzRP06DQK2e7HX8rwm5/sdTX+cB80uG0vw=";
+    sha256 = "sha256-ellfBZWOkvlRauuwug96C7P/WjQ6dXiDnT0b3KH5zRM=";
   };
 
-  nativeBuildInputs = [ cmake perl wrapQtAppsHook ];
+  nativeBuildInputs = [
+    cmake
+    perl
+    wrapGAppsHook
+    wrapQtAppsHook
+  ];
 
   buildInputs = [
-    freetype libpng libGLU libGL openssl libiconv qtscript qtserialport qttools
-    qtmultimedia qtlocation qtbase qtcharts
+    qtbase
+    qtcharts
+    qtpositioning
+    qtmultimedia
+    qtserialport
+    qttranslations
+    qtwayland
+    qtwebengine
+    calcmysky
+    qxlsx
+    indilib
+    libnova
   ];
 
   preConfigure = lib.optionalString stdenv.isDarwin ''
@@ -28,6 +58,12 @@ stdenv.mkDerivation rec {
                 'SET(CMAKE_INSTALL_PREFIX "${placeholder "out"}/Applications/Stellarium.app/Contents")'
   '';
 
+  dontWrapGApps = true;
+
+  preFixup = ''
+    qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
   meta = with lib; {
     description = "Free open-source planetarium";
     homepage = "https://stellarium.org/";
diff --git a/pkgs/applications/science/biology/delly/default.nix b/pkgs/applications/science/biology/delly/default.nix
index 7922438df5285..838c4ae802a89 100644
--- a/pkgs/applications/science/biology/delly/default.nix
+++ b/pkgs/applications/science/biology/delly/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "delly";
-  version = "1.1.5";
+  version = "1.1.6";
 
   src = fetchFromGitHub {
       owner = "dellytools";
       repo = pname;
       rev = "v${version}";
-      sha256 = "sha256-K75tpbW1h84gzZ+s5jMzmFItfBi6rjkAhzks9F0gYpA=";
+      sha256 = "sha256-/I//7MhsC/CcBeIJblzbjXp/yOSBm83KWJsrYpl6UJk=";
   };
 
   buildInputs = [ zlib htslib bzip2 xz ncurses boost ];
diff --git a/pkgs/applications/science/biology/igv/default.nix b/pkgs/applications/science/biology/igv/default.nix
index 09dc8daa4699a..8262714256635 100644
--- a/pkgs/applications/science/biology/igv/default.nix
+++ b/pkgs/applications/science/biology/igv/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "igv";
-  version = "2.14.1";
+  version = "2.15.1";
   src = fetchzip {
     url = "https://data.broadinstitute.org/igv/projects/downloads/${lib.versions.majorMinor version}/IGV_${version}.zip";
-    sha256 = "sha256-IXUyMAhKyNMb7tINlr+9JmPlDRpHzgGS/SXo1Mz5o0Q=";
+    sha256 = "sha256-hwZ6Pl6BxoVbJI5e3b0s7jhQ/AADhVJVqM9Q8ppERuk=";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/science/biology/mmseqs2/default.nix b/pkgs/applications/science/biology/mmseqs2/default.nix
new file mode 100644
index 0000000000000..253f4a43a81c0
--- /dev/null
+++ b/pkgs/applications/science/biology/mmseqs2/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, xxd
+, perl
+, installShellFiles
+, enableAvx2 ? stdenv.hostPlatform.avx2Support
+, enableSse4_1 ? stdenv.hostPlatform.sse4_1Support
+, enableMpi ? false
+, mpi
+, openmp
+, zlib
+, bzip2
+}:
+
+stdenv.mkDerivation rec {
+  pname = "mmseqs2";
+  version = "14-7e284";
+
+  src = fetchFromGitHub {
+    owner = "soedinglab";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-pVryZGblgMEqJl5M20CHxav269yGY6Y4ci+Gxt6SHOU=";
+  };
+
+  nativeBuildInputs = [ cmake xxd perl installShellFiles ];
+  cmakeFlags =
+    lib.optional enableAvx2 "-DHAVE_AVX2=1"
+    ++ lib.optional enableSse4_1 "-DHAVE_SSE4_1=1"
+    ++ lib.optional enableMpi "-DHAVE_MPI=1";
+
+  buildInputs =
+    lib.optionals stdenv.cc.isClang [ openmp zlib bzip2 ]
+    ++ lib.optional enableMpi mpi;
+
+  postInstall = ''
+    installShellCompletion --bash --cmd mmseqs $out/util/bash-completion.sh
+    rm -r $out/util/
+  '';
+
+  meta = with lib; {
+    description = "Ultra fast and sensitive sequence search and clustering suite";
+    homepage = "https://mmseqs.com/";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ natsukium ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/science/biology/octopus/default.nix b/pkgs/applications/science/biology/octopus/default.nix
index 95912d3a7c325..659b1e97f200f 100644
--- a/pkgs/applications/science/biology/octopus/default.nix
+++ b/pkgs/applications/science/biology/octopus/default.nix
@@ -1,4 +1,4 @@
-{lib, stdenv, fetchFromGitHub, cmake, boost, gmp, htslib, zlib, xz, pkg-config}:
+{lib, stdenv, fetchurl, fetchFromGitHub, cmake, boost, gmp, htslib, zlib, xz, pkg-config}:
 
 stdenv.mkDerivation rec {
   pname = "octopus";
@@ -14,6 +14,11 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake pkg-config ];
   buildInputs = [ boost gmp htslib zlib xz ];
 
+  patches = [ (fetchurl {
+    url = "https://github.com/luntergroup/octopus/commit/17a597d192bcd5192689bf38c5836a98b824867a.patch";
+    sha256 = "sha256-VaUr63v7mzhh4VBghH7a7qrqOYwl6vucmmKzTi9yAjY=";
+  }) ];
+
   postInstall = ''
     mkdir $out/bin
     mv $out/octopus $out/bin
diff --git a/pkgs/applications/science/biology/sambamba/default.nix b/pkgs/applications/science/biology/sambamba/default.nix
index 36e950a181212..c6e78a134e608 100644
--- a/pkgs/applications/science/biology/sambamba/default.nix
+++ b/pkgs/applications/science/biology/sambamba/default.nix
@@ -23,10 +23,17 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ which python3 ldc ];
   buildInputs = [ zlib lz4 ];
 
+  buildFlags = [
+    "CC=${stdenv.cc.targetPrefix}cc"
+  ];
+
   # Upstream's install target is broken; copy manually
   installPhase = ''
-    mkdir -p $out/bin
-    cp bin/sambamba-${version} $out/bin/sambamba
+    runHook preInstall
+
+    install -Dm755 bin/sambamba-${version} $out/bin/sambamba
+
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/science/biology/seqkit/default.nix b/pkgs/applications/science/biology/seqkit/default.nix
new file mode 100644
index 0000000000000..27ba07481f0e7
--- /dev/null
+++ b/pkgs/applications/science/biology/seqkit/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, fetchFromGitHub
+, buildGoModule
+}:
+
+buildGoModule rec {
+  pname = "seqkit";
+  version = "2.3.1";
+
+  src = fetchFromGitHub {
+    owner = "shenwei356";
+    repo = "seqkit";
+    rev = "v${version}";
+    sha256 = "sha256-2DWb6PIYT9VfJeqbZ9+E1jk/xJ2+h0GARKF6XWdMhkI=";
+  };
+
+  vendorSha256 = "sha256-RQNthtPYuOSCenA0hs5EhybimrftjEJlQNkfnKGXTiM=";
+
+  meta = with lib; {
+    description = "cross-platform and ultrafast toolkit for FASTA/Q file manipulation";
+    homepage = "https://github.com/shenwei356/seqkit";
+    license = licenses.mit;
+    maintainers = with maintainers; [ bzizou ];
+  };
+}
diff --git a/pkgs/applications/science/chemistry/d-seams/default.nix b/pkgs/applications/science/chemistry/d-seams/default.nix
index 74260bacabcc9..dc41019d364b0 100644
--- a/pkgs/applications/science/chemistry/d-seams/default.nix
+++ b/pkgs/applications/science/chemistry/d-seams/default.nix
@@ -1,4 +1,4 @@
-{ clangStdenv, fetchFromGitHub, catch2, rang, fmt, libyamlcpp, cmake
+{ clangStdenv, fetchFromGitHub, fetchpatch, catch2, rang, fmt, libyamlcpp, cmake
 , eigen, lua, luaPackages, liblapack, blas, lib, boost, gsl }:
 
 clangStdenv.mkDerivation rec {
@@ -12,6 +12,13 @@ clangStdenv.mkDerivation rec {
     sha256 = "03zhhl9vhi3rhc3qz1g3zb89jksgpdlrk15fcr8xcz8pkj6r5b1i";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "use_newer_cxxopts_which_builds_with_clang11.patch";
+      url = "https://github.com/d-SEAMS/seams-core/commit/f6156057e43d0aa1a0df9de67d8859da9c30302d.patch";
+      hash = "sha256-PLbT1lqdw+69lIHH96MPcGRjfIeZyb88vc875QLYyqw=";
+    })
+  ];
   nativeBuildInputs = [ cmake lua luaPackages.luafilesystem ];
   buildInputs = [ fmt rang libyamlcpp eigen catch2 boost gsl liblapack blas ];
 
diff --git a/pkgs/applications/science/chemistry/element/default.nix b/pkgs/applications/science/chemistry/element/default.nix
index 812272e2fb9b6..f0865b503deaf 100644
--- a/pkgs/applications/science/chemistry/element/default.nix
+++ b/pkgs/applications/science/chemistry/element/default.nix
@@ -1,22 +1,23 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, stdenv, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "element";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "gennaro-tedesco";
     repo = pname;
     rev = "v${version}";
-    sha256 = "gjdcNvYNnxb6hOE/MQjTezZeYGBWTr4E8/Pt8YQv3lY=";
+    sha256 = "sha256-06RDZnie0Lv7i95AwnBGl6PPucuj8pIT6DHW3e3mu1o=";
   };
 
-  vendorSha256 = "A4g2rQTaYrA4/0rqldUv7iuibzNINEvx9StUnaN2/Yg=";
+  vendorSha256 = "sha256-A4g2rQTaYrA4/0rqldUv7iuibzNINEvx9StUnaN2/Yg=";
 
   meta = with lib; {
     description = "The periodic table on the command line";
     homepage = "https://github.com/gennaro-tedesco/element";
     license = licenses.asl20;
     maintainers = [ maintainers.j0hax ];
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/applications/science/chemistry/octopus/default.nix b/pkgs/applications/science/chemistry/octopus/default.nix
index 8a97dc5f0c330..d0058c8650d81 100644
--- a/pkgs/applications/science/chemistry/octopus/default.nix
+++ b/pkgs/applications/science/chemistry/octopus/default.nix
@@ -8,6 +8,7 @@
 }:
 
 assert (!blas.isILP64) && (!lapack.isILP64);
+assert (blas.isILP64 == arpack.isILP64);
 
 stdenv.mkDerivation rec {
   pname = "octopus";
diff --git a/pkgs/applications/science/electronics/dsview/default.nix b/pkgs/applications/science/electronics/dsview/default.nix
index eb8246a584d32..c8d5fc5dde748 100644
--- a/pkgs/applications/science/electronics/dsview/default.nix
+++ b/pkgs/applications/science/electronics/dsview/default.nix
@@ -1,47 +1,29 @@
 { lib, mkDerivation, fetchFromGitHub, pkg-config, cmake
-, libzip, boost, fftw, qtbase, libusb1, libsigrok4dsl
-, libsigrokdecode4dsl, python3, fetchpatch
+, libzip, boost, fftw, qtbase, libusb1
+, python3, fetchpatch
 }:
 
 mkDerivation rec {
   pname = "dsview";
 
-  version = "1.12";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
       owner = "DreamSourceLab";
       repo = "DSView";
       rev = "v${version}";
-      sha256 = "q7F4FuK/moKkouXTNPZDVon/W/ZmgtNHJka4MiTxA0U=";
+      sha256 = "sha256-TE2yfzv2h77GLMkmoVGXmzs7J0l/N+n1eYxyrtnrnGU=";
   };
 
-  sourceRoot = "source/DSView";
-
   patches = [
     # Fix absolute install paths
     ./install.patch
-
-    # Fix buld with Qt5.15 already merged upstream for future release
-    # Using local file instead of content of commit #33e3d896a47 because
-    # sourceRoot make it unappliable
-    ./qt515.patch
-
-    # Change from upstream master that removes extern-C scopes which
-    # cause failures with modern glib. This can likely be removed if
-    # there is an upstream release >1.12
-    (fetchpatch {
-      name = "fix-extern-c.patch";
-      url = "https://github.com/DreamSourceLab/DSView/commit/33cc733abe19872bf5ed08540a94b798d0d4ecf4.patch";
-      sha256 = "sha256-TLfLQa3sdyNHTpMMvId/V6uUuOFihOZMFJOj9frnDoY=";
-      stripLen = 2;
-      extraPrefix = "";
-    })
   ];
 
   nativeBuildInputs = [ cmake pkg-config ];
 
   buildInputs = [
-    boost fftw qtbase libusb1 libzip libsigrokdecode4dsl libsigrok4dsl
+    boost fftw qtbase libusb1 libzip
     python3
   ];
 
diff --git a/pkgs/applications/science/electronics/dsview/install.patch b/pkgs/applications/science/electronics/dsview/install.patch
index 75c3e9628656f..9fd9133e2795b 100644
--- a/pkgs/applications/science/electronics/dsview/install.patch
+++ b/pkgs/applications/science/electronics/dsview/install.patch
@@ -1,15 +1,23 @@
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c1c33e1..208a184 100644
+index eb9be42..220817c 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -427,8 +427,8 @@
- install(FILES ../NEWS31 DESTINATION share/${PROJECT_NAME} RENAME NEWS31)
- install(FILES ../ug25.pdf DESTINATION share/${PROJECT_NAME} RENAME ug25.pdf)
- install(FILES ../ug31.pdf DESTINATION share/${PROJECT_NAME} RENAME ug31.pdf)
--install(FILES DreamSourceLab.rules DESTINATION /etc/udev/rules.d/)
--install(FILES DSView.desktop DESTINATION /usr/share/applications/)
-+install(FILES DreamSourceLab.rules DESTINATION etc/udev/rules.d/)
-+install(FILES DSView.desktop DESTINATION share/applications/)
+@@ -662,16 +662,8 @@ install(FILES DSView/icons/logo.svg DESTINATION share/icons/hicolor/scalable/app
+ install(FILES DSView/icons/logo.svg DESTINATION share/pixmaps RENAME dsview.svg)
  
- #===============================================================================
- #= Packaging (handled by CPack)
+ if(CMAKE_SYSTEM_NAME MATCHES "Linux")	
+-	install(FILES DSView/DSView.desktop DESTINATION /usr/share/applications RENAME dsview.desktop)
+-	
+-	if(IS_DIRECTORY /usr/lib/udev/rules.d)
+-		install(FILES DSView/DreamSourceLab.rules DESTINATION /usr/lib/udev/rules.d RENAME 60-dreamsourcelab.rules)
+-	elseif(IS_DIRECTORY /lib/udev/rules.d)
+-		install(FILES DSView/DreamSourceLab.rules DESTINATION /lib/udev/rules.d RENAME 60-dreamsourcelab.rules)
+-	elseif(IS_DIRECTORY /etc/udev/rules.d)
+-		install(FILES DSView/DreamSourceLab.rules DESTINATION /etc/udev/rules.d RENAME 60-dreamsourcelab.rules)
+-	endif()
+-
++	install(FILES DSView/DSView.desktop DESTINATION share/applications RENAME dsview.desktop)
++	install(FILES DSView/DreamSourceLab.rules DESTINATION etc/udev/rules.d RENAME 60-dreamsourcelab.rules)
+ endif()
+ 
+ install(FILES NEWS25 DESTINATION share/DSView RENAME NEWS25)
diff --git a/pkgs/applications/science/electronics/dsview/libsigrok4dsl.nix b/pkgs/applications/science/electronics/dsview/libsigrok4dsl.nix
deleted file mode 100644
index c33bfd408b928..0000000000000
--- a/pkgs/applications/science/electronics/dsview/libsigrok4dsl.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib, stdenv, pkg-config, autoreconfHook,
-glib, libzip, libserialport, check, libusb1, libftdi,
-systemd, alsa-lib, dsview
-}:
-
-stdenv.mkDerivation {
-  inherit (dsview) version src;
-
-  pname = "libsigrok4dsl";
-
-  postUnpack = ''
-    export sourceRoot=$sourceRoot/libsigrok4DSL
-  '';
-
-  nativeBuildInputs = [ pkg-config autoreconfHook ];
-
-  buildInputs = [
-    glib libzip libserialport libusb1 libftdi systemd check alsa-lib
-  ];
-
-  meta = with lib; {
-    description = "A fork of the sigrok library for usage with DSView";
-    homepage = "https://www.dreamsourcelab.com/";
-    license = licenses.gpl3Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.bachp ];
-  };
-}
diff --git a/pkgs/applications/science/electronics/dsview/libsigrokdecode4dsl.nix b/pkgs/applications/science/electronics/dsview/libsigrokdecode4dsl.nix
deleted file mode 100644
index 09eed4a67c572..0000000000000
--- a/pkgs/applications/science/electronics/dsview/libsigrokdecode4dsl.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib, stdenv, pkg-config, autoreconfHook,
-glib, check, python3, dsview
-}:
-
-stdenv.mkDerivation {
-  inherit (dsview) version src;
-
-  pname = "libsigrokdecode4dsl";
-
-  postUnpack = ''
-    export sourceRoot=$sourceRoot/libsigrokdecode4DSL
-  '';
-
-  nativeBuildInputs = [ pkg-config autoreconfHook ];
-
-  buildInputs = [
-    python3 glib check
-  ];
-
-  meta = with lib; {
-    description = "A fork of the sigrokdecode library for usage with DSView";
-    homepage = "https://www.dreamsourcelab.com/";
-    license = licenses.gpl3Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.bachp ];
-  };
-}
diff --git a/pkgs/applications/science/electronics/dsview/qt515.patch b/pkgs/applications/science/electronics/dsview/qt515.patch
deleted file mode 100644
index 552f2062ec575..0000000000000
--- a/pkgs/applications/science/electronics/dsview/qt515.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/pv/view/viewport.cpp b/pv/view/viewport.cpp
-index 921d3db..16cdce9 100755
---- a/pv/view/viewport.cpp
-+++ b/pv/view/viewport.cpp
-@@ -37,7 +37,7 @@
- 
- #include <QMouseEvent>
- #include <QStyleOption>
--
-+#include <QPainterPath>
- 
- #include <math.h>
- 
diff --git a/pkgs/applications/science/electronics/hal-hardware-analyzer/default.nix b/pkgs/applications/science/electronics/hal-hardware-analyzer/default.nix
index cf073d89be7a4..4492555af0c4d 100644
--- a/pkgs/applications/science/electronics/hal-hardware-analyzer/default.nix
+++ b/pkgs/applications/science/electronics/hal-hardware-analyzer/default.nix
@@ -17,9 +17,27 @@
 , llvmPackages
 , z3
 , fmt_8
+, suitesparse
 }:
 
 let
+  igraph' = igraph.overrideAttrs (old: rec {
+    version = "0.9.10";
+    src = fetchFromGitHub {
+      owner = "igraph";
+      repo = "igraph";
+      rev = version;
+      hash = "sha256-prDadHsNhDRkNp1i0niKIYxE0g85Zs0ngvUy6uK8evk=";
+    };
+    postPatch = old.postPatch + lib.optionalString stdenv.isAarch64 ''
+      # https://github.com/igraph/igraph/issues/1694
+      substituteInPlace tests/CMakeLists.txt \
+        --replace "igraph_scg_grouping3" "" \
+        --replace "igraph_scg_semiprojectors2" ""
+    '';
+    buildInputs = old.buildInputs ++ [ suitesparse ];
+    cmakeFlags = old.cmakeFlags ++ [ "-DIGRAPH_USE_INTERNAL_CXSPARSE=OFF" ];
+  });
   # no stable hal release yet with recent spdlog/fmt support, remove
   # once 4.0.0 is released - see https://github.com/emsec/hal/issues/452
   spdlog' = spdlog.override {
@@ -64,7 +82,7 @@ in stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ cmake ninja pkg-config ];
-  buildInputs = [ qtbase qtsvg boost rapidjson igraph spdlog' graphviz wrapQtAppsHook z3 ]
+  buildInputs = [ qtbase qtsvg boost rapidjson igraph' spdlog' graphviz wrapQtAppsHook z3 ]
     ++ (with python3Packages; [ python pybind11 ])
     ++ lib.optional stdenv.cc.isClang llvmPackages.openmp;
 
diff --git a/pkgs/applications/science/electronics/kicad/base.nix b/pkgs/applications/science/electronics/kicad/base.nix
index 1503230b3afda..f81710cfb911c 100644
--- a/pkgs/applications/science/electronics/kicad/base.nix
+++ b/pkgs/applications/science/electronics/kicad/base.nix
@@ -5,6 +5,7 @@
 , libGL
 , zlib
 , wxGTK
+, gtk3
 , libX11
 , gettext
 , glew
@@ -143,7 +144,7 @@ stdenv.mkDerivation rec {
     zlib
     libX11
     wxGTK
-    wxGTK.gtk
+    gtk3
     pcre
     libXdmcp
     gettext
diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix
index 95e88ff14071b..1540e3bdb6960 100644
--- a/pkgs/applications/science/electronics/kicad/default.nix
+++ b/pkgs/applications/science/electronics/kicad/default.nix
@@ -2,7 +2,8 @@
 , fetchFromGitLab
 , gnome
 , dconf
-, wxGTK31-gtk3
+, wxGTK32
+, gtk3
 , makeWrapper
 , gsettings-desktop-schemas
 , hicolor-icon-theme
@@ -103,9 +104,9 @@ let
     if srcOverridep "libVersion" then srcs.libVersion
     else versionsImport.${baseName}.libVersion.version;
 
-  wxGTK = wxGTK31-gtk3;
+  wxGTK = wxGTK32;
   python = python3;
-  wxPython = python.pkgs.wxPython_4_1;
+  wxPython = python.pkgs.wxPython_4_2;
 
   inherit (lib) concatStringsSep flatten optionalString optionals;
 in
@@ -143,7 +144,7 @@ stdenv.mkDerivation rec {
     "--prefix XDG_DATA_DIRS : ${base}/share"
     "--prefix XDG_DATA_DIRS : ${hicolor-icon-theme}/share"
     "--prefix XDG_DATA_DIRS : ${gnome.adwaita-icon-theme}/share"
-    "--prefix XDG_DATA_DIRS : ${wxGTK.gtk}/share/gsettings-schemas/${wxGTK.gtk.name}"
+    "--prefix XDG_DATA_DIRS : ${gtk3}/share/gsettings-schemas/${gtk3.name}"
     "--prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}"
     # wrapGAppsHook did these two as well, no idea if it matters...
     "--prefix XDG_DATA_DIRS : ${cups}/share"
@@ -223,11 +224,6 @@ stdenv.mkDerivation rec {
     maintainers = with lib.maintainers; [ evils kiwi ];
     # kicad is cross platform
     platforms = lib.platforms.all;
-    # despite that, nipkgs' wxGTK for darwin is "wxmac"
-    # and wxPython_4_0 does not account for this
-    # adjusting this package to downgrade to python2Packages.wxPython (wxPython 3),
-    # seems like more trouble than fixing wxPython_4_0 would be
-    # additionally, libngspice is marked as linux only, though it should support darwin
 
     hydraPlatforms = if (with3d) then [ ] else platforms;
     # We can't download the 3d models on Hydra,
diff --git a/pkgs/applications/science/electronics/kicad/versions.nix b/pkgs/applications/science/electronics/kicad/versions.nix
index d46c941b8f0d7..737a819e84777 100644
--- a/pkgs/applications/science/electronics/kicad/versions.nix
+++ b/pkgs/applications/science/electronics/kicad/versions.nix
@@ -3,22 +3,22 @@
 {
   "kicad" = {
     kicadVersion = {
-      version =			"6.0.8";
+      version =			"6.0.9";
       src = {
-        rev =			"f2edbf62ab6eb123d605d06cffedadc424fed55b";
-        sha256 =		"0f5iriahskzflgfzahbjihiff7m7nbdmp3ip8dx69xa28b9012w9";
+        rev =			"8da3e8f7071484853b31c61cbd5045903b5c6dd3";
+        sha256 =		"1fr02jcy09v14d3k8ril0zhwnzhcqcf77wfj5b3bkrh6r8xraqhs";
       };
     };
     libVersion = {
-      version =			"6.0.8";
+      version =			"6.0.9";
       libSources = {
-        symbols.rev =		"64a2f338f3f994975edfd33bc04f92fd6b9ed1c3";
-        symbols.sha256 =	"1nxz8r3h3j62fs3s77lj27333fsj5c4i01n05lv0gqx36h28hqxk";
-        templates.rev =		"549275966dd4f01ce656cec2b46599d1b7a3ca62";
+        symbols.rev =		"0d9559dfddd51110e5c5223901ada2445285ce80";
+        symbols.sha256 =	"0y5mjjmmln37hkp9wmydinlfgrn8im8rn20145g9xgdpj8j38d48";
+        templates.rev =		"ae2b46f8756d79379b90fec01d4fdde1ccfd73c1";
         templates.sha256 =	"08zxh83fbygh1x2jhca8nrp3f9kihf7kmg65qmyp95wvps4p5h8v";
-        footprints.rev =	"8eedad538f5b8234d3889ad08a3f272832b724b1";
-        footprints.sha256 =	"19di37hi80rzlwd468w3b6bq5kzxbslp3daskv8xb4y4f7pk3n00";
-        packages3d.rev =	"471e36d23c2d4f9971a591e2ab6ce717709438f9";
+        footprints.rev =	"6705da57c29e9896556c7cdbe719ede3f96e9121";
+        footprints.sha256 =	"02j445i0kcf87fhj9y6pwfcwq3arppxbrv77lbizm8kcpkpcfldl";
+        packages3d.rev =	"45df600c5e3dd5113d62e6445115e7c37bdf362f";
         packages3d.sha256 =	"0cnrg7mr3khpglviid1adk2ihs1qwj0r7l32z2vqsl8aidzbg9kr";
       };
     };
diff --git a/pkgs/applications/science/electronics/ngspice/default.nix b/pkgs/applications/science/electronics/ngspice/default.nix
index 8de5cb311488f..15509a62de534 100644
--- a/pkgs/applications/science/electronics/ngspice/default.nix
+++ b/pkgs/applications/science/electronics/ngspice/default.nix
@@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
     homepage = "http://ngspice.sourceforge.net";
     license = with licenses; [ "BSD" gpl2 ];
     maintainers = with maintainers; [ bgamari rongcuid ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/science/electronics/verilator/default.nix b/pkgs/applications/science/electronics/verilator/default.nix
index b9cc2274a3d68..0a190a1c90294 100644
--- a/pkgs/applications/science/electronics/verilator/default.nix
+++ b/pkgs/applications/science/electronics/verilator/default.nix
@@ -1,35 +1,37 @@
 { lib, stdenv, fetchFromGitHub
 , perl, flex, bison, python3, autoconf
+, which, cmake
 }:
 
 stdenv.mkDerivation rec {
   pname = "verilator";
-  version = "4.226";
+  version = "5.002";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-X6Kwpcm+ugu+4gVkWfsqdCPFTESHzJ1jjCPnGqE3/vo=";
+    hash = "sha256-RNoKAEF7zl+WqqbxGP/VvdQqQP8VI3hoQku3b/g0XpU=";
   };
 
   enableParallelBuilding = true;
   buildInputs = [ perl ];
   nativeBuildInputs = [ flex bison python3 autoconf ];
+  checkInputs = [ which ];
 
-  # these tests need some interpreter paths patched early on...
-  # see https://github.com/NixOS/nix/issues/1205
-  doCheck = false;
+  doCheck = stdenv.isLinux; # darwin tests are broken for now...
   checkTarget = "test";
 
-  preConfigure = ''
-    autoconf
-  '';
+  preConfigure = "autoconf";
 
-  postPatch = ''
+  preCheck = ''
     patchShebangs \
       src/flexfix \
-      src/vlcovgen
+      src/vlcovgen \
+      bin/verilator \
+      bin/verilator_coverage \
+      test_regress/driver.pl \
+      test_regress/t/*.pl
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/science/electronics/xyce/default.nix b/pkgs/applications/science/electronics/xyce/default.nix
index 529dffc70b159..2c52916bd9059 100644
--- a/pkgs/applications/science/electronics/xyce/default.nix
+++ b/pkgs/applications/science/electronics/xyce/default.nix
@@ -33,7 +33,7 @@ assert withMPI -> trilinos.withMPI;
 
 stdenv.mkDerivation rec {
   pname = "xyce";
-  version = "7.4.0";
+  version = "7.6.0";
 
   srcs = [
     # useing fetchurl or fetchFromGitHub doesn't include the manuals
@@ -41,13 +41,13 @@ stdenv.mkDerivation rec {
     (fetchgit {
       url = "https://github.com/Xyce/Xyce.git";
       rev = "Release-${version}";
-      sha256 = "sha256-sOHjQEo4FqlDseTtxFVdLa0SI/VAf2OkwQV7QSL7SNM=";
+      sha256 = "sha256-HYIzmODMWXBuVRZhcC7LntTysuyXN5A9lb2DeCQQtVw=";
     })
     (fetchFromGitHub {
       owner = "Xyce";
       repo = "Xyce_Regression";
       rev = "Release-${version}";
-      sha256 = "sha256-kSGUaFarOHDNJ8kA/TAGkmzicm9O7cfJ7mGFZcbqCZM=";
+      sha256 = "sha256-uEoiKpYyHmdK7LZ1UNm2d3Jk8+sCwBwB0TCoHilIh74=";
     })
   ];
 
diff --git a/pkgs/applications/science/logic/beluga/default.nix b/pkgs/applications/science/logic/beluga/default.nix
index 9af0cd694b70b..6a94d3f639e25 100644
--- a/pkgs/applications/science/logic/beluga/default.nix
+++ b/pkgs/applications/science/logic/beluga/default.nix
@@ -14,7 +14,7 @@ ocamlPackages.buildDunePackage rec {
   useDune2 = true;
 
   buildInputs = with ocamlPackages; [
-    gen sedlex ocaml_extlib dune-build-info linenoise
+    gen sedlex extlib dune-build-info linenoise
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/science/logic/cbmc/default.nix b/pkgs/applications/science/logic/cbmc/default.nix
index 5f3fb6c515426..0c2b497e9cc47 100644
--- a/pkgs/applications/science/logic/cbmc/default.nix
+++ b/pkgs/applications/science/logic/cbmc/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cbmc";
-  version = "5.69.0";
+  version = "5.70.0";
 
   src = fetchFromGitHub {
     owner = "diffblue";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "sha256-X0Kc7I+5it0sbyRT6QXm7OOA9efnY3KwnMnyldgsNaA=";
+    sha256 = "sha256-fzc/WrHo+B9oscnTqN8nETcKc34aq4fUX8VLpYJUvRY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/logic/lean/default.nix b/pkgs/applications/science/logic/lean/default.nix
index 69da8ddc578ff..81a5afbc2bace 100644
--- a/pkgs/applications/science/logic/lean/default.nix
+++ b/pkgs/applications/science/logic/lean/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "lean";
-  version = "3.48.0";
+  version = "3.49.0";
 
   src = fetchFromGitHub {
     owner  = "leanprover-community";
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
     # from. this is then used to check whether an olean file should be
     # rebuilt. don't use a tag as rev because this will get replaced into
     # src/githash.h.in in preConfigure.
-    rev    = "283f6ed8083ab4dd7c36300f31816c5cb793f2f7";
-    sha256 = "sha256-0Ogv/24KNp1ZBDqiYTsGv5vDKD4fJBtoX7LWLu4QZe0=";
+    rev    = "acf633e01a8783a12060b0a1b7b5b5e15fd73e77";
+    sha256 = "sha256-KF13DlGEl6aICSp/haczo54gjLZaOxyzFRdzvyyiu5M=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/science/logic/nusmv/default.nix b/pkgs/applications/science/logic/nusmv/default.nix
new file mode 100644
index 0000000000000..d3e3dc998cc0e
--- /dev/null
+++ b/pkgs/applications/science/logic/nusmv/default.nix
@@ -0,0 +1,37 @@
+{ stdenv
+, lib
+, fetchurl
+, autoPatchelfHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "NuSMV";
+  version = "2.6.0";
+
+  src = with stdenv; fetchurl (
+    if isx86_64 && isLinux then {
+      url = "https://nusmv.fbk.eu/distrib/NuSMV-${version}-linux64.tar.gz";
+      sha256 = "1370x2vwjndv9ham5q399nn84hvhm1gj1k7pq576qmh4pi12xc8i";
+    } else if isx86_32 && isLinux then {
+      url = "https://nusmv.fbk.eu/distrib/NuSMV-${version}-linux32.tar.gz";
+      sha256 = "1qf41czwbqxlrmv0rv2daxgz2hljza5xks85sx3dhwpjy2iav9jb";
+    } else throw "only linux x86_64 and x86_32 are currently supported") ;
+
+
+  nativeBuildInputs = [ autoPatchelfHook ];
+
+  installPhase = ''
+    install -m755 -D bin/NuSMV $out/bin/NuSMV
+    install -m755 -D bin/ltl2smv $out/bin/ltl2smv
+    cp -r include $out/include
+    cp -r share $out/share
+  '';
+
+  meta = with lib; {
+    description = "A new symbolic model checker for the analysis of synchronous finite-state and infinite-state systems";
+    homepage = "https://nuxmv.fbk.eu/pmwiki.php";
+    maintainers = with maintainers; [ mgttlinger ];
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/science/logic/potassco/clingcon.nix b/pkgs/applications/science/logic/potassco/clingcon.nix
index 2238e490a6034..e024ffb9364e9 100644
--- a/pkgs/applications/science/logic/potassco/clingcon.nix
+++ b/pkgs/applications/science/logic/potassco/clingcon.nix
@@ -7,19 +7,15 @@
 
 stdenv.mkDerivation rec {
   pname = "clingcon";
-  version = "5.0.0";
+  version = "5.2.0";
 
   src = fetchFromGitHub {
     owner = "potassco";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1g2xkz9nsgqnrw3fdf5jchl16f0skj5mm32va61scc2yrchll166";
+    sha256 = "sha256-wZfTneoQSqEnLAVE8WyPh9EABmOEhDgRm6yWAF1T7Nk=";
    };
 
-  patches = [
-    ./clingcon_limits.patch
-  ];
-
   postPatch = ''
     cp ${catch2}/include/catch2/catch.hpp libclingcon/tests/catch.hpp
   '';
diff --git a/pkgs/applications/science/logic/potassco/clingcon_limits.patch b/pkgs/applications/science/logic/potassco/clingcon_limits.patch
deleted file mode 100644
index 0343e10e21125..0000000000000
--- a/pkgs/applications/science/logic/potassco/clingcon_limits.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git i/libclingcon/clingcon/base.hh w/libclingcon/clingcon/base.hh
-index 2d449fe..0b5fa17 100644
---- i/libclingcon/clingcon/base.hh
-+++ w/libclingcon/clingcon/base.hh
-@@ -28,6 +28,7 @@
- #include <clingo.hh>
- #include <optional>
- #include <forward_list>
-+#include <limits>
- 
- //! @file clingcon/base.hh
- //! Basic data types.
-diff --git i/libclingcon/clingcon/util.hh w/libclingcon/clingcon/util.hh
-index df4cddd..308259e 100644
---- i/libclingcon/clingcon/util.hh
-+++ w/libclingcon/clingcon/util.hh
-@@ -30,6 +30,7 @@
- #include <map>
- #include <cstdlib>
- #include <stdexcept>
-+#include <limits>
- 
- //! @file clingcon/util.hh
- //! Very general utility functions.
diff --git a/pkgs/applications/science/logic/potassco/clingo.nix b/pkgs/applications/science/logic/potassco/clingo.nix
index 0065ff3ef25c7..a3c324d0dbb88 100644
--- a/pkgs/applications/science/logic/potassco/clingo.nix
+++ b/pkgs/applications/science/logic/potassco/clingo.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "clingo";
-  version = "5.6.1";
+  version = "5.6.2";
 
   src = fetchFromGitHub {
     owner = "potassco";
     repo = "clingo";
     rev = "v${version}";
-    sha256 = "sha256-blr2GPa/ZwVfvot6wUcQmdN/mLEox6tjIWtr0geeoDI=";
+    sha256 = "sha256-2vOscD5jengY3z9gHoY9y9y6RLfdzUj7BNKLyppNRac=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/science/logic/surelog/default.nix b/pkgs/applications/science/logic/surelog/default.nix
new file mode 100644
index 0000000000000..c3e127282cb97
--- /dev/null
+++ b/pkgs/applications/science/logic/surelog/default.nix
@@ -0,0 +1,77 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, python3
+, pkg-config
+, libuuid
+, openjdk11
+, gperftools
+, flatbuffers
+, fetchpatch
+}:
+
+stdenv.mkDerivation rec {
+  pname = "surelog";
+  version = "1.45";
+
+  src = fetchFromGitHub {
+    owner = "chipsalliance";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-/SSKcEIhmWDOKN4v3djWTwZ5/nQvR8ibflzSVFDt/rM=";
+    fetchSubmodules = true;
+  };
+
+  # This prevents race conditions in unit tests that surface since we run
+  # ctest in parallel.
+  # This patch can be removed with the next version of surelog
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/chipsalliance/Surelog/commit/9a54efbd156becf65311a4272104810f36041fa6.patch";
+      sha256 = "sha256-rU1Z/0wlVTgnPLqTN/87n+gI1iJ+6k/+sunVVd0ulhQ=";
+      name = "parallel-test-running.patch";
+    })
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    openjdk11
+    (python3.withPackages (p: with p; [
+      psutil
+      orderedmultidict
+    ]))
+  ];
+
+  buildInputs = [
+    libuuid
+    gperftools
+    flatbuffers
+  ];
+
+  cmakeFlags = [
+    "-DSURELOG_USE_HOST_FLATBUFFERS=On"
+  ];
+
+  doCheck = true;
+  checkPhase = ''
+    runHook preCheck
+    make -j $NIX_BUILD_CORES UnitTests
+    ctest --output-on-failure
+    runHook postCheck
+  '';
+
+  postInstall = ''
+    mv $out/lib/surelog/* $out/lib/
+    mv $out/lib/pkg $out/lib/surelog/
+  '';
+
+  meta = {
+    description = "SystemVerilog 2017 Pre-processor, Parser, Elaborator, UHDM Compiler";
+    homepage = "https://github.com/chipsalliance/Surelog";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ matthuszagh ];
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/science/logic/uhdm/default.nix b/pkgs/applications/science/logic/uhdm/default.nix
new file mode 100644
index 0000000000000..a87b6fbf35fa6
--- /dev/null
+++ b/pkgs/applications/science/logic/uhdm/default.nix
@@ -0,0 +1,63 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, python3
+, gtest
+, fetchpatch
+}:
+
+stdenv.mkDerivation rec {
+  pname = "UHDM";
+  version = "1.45";
+
+  src = fetchFromGitHub {
+    owner = "chipsalliance";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-mxQRmI8yUUrSUYa4kUT9URgfqYvuz3V9e1IGjtiHyhc=";
+    fetchSubmodules = true;
+  };
+
+  # Add ability to use local googletest provided from nix instead of
+  # the version from the submodule in third_party/. The third_party/ version
+  # is slightly older and does not work with our hydra Darwin builds that needs
+  # to set a particular temp directory.
+  # This patch allows to choose UHDM_USE_HOST_GTEST=On in the cflags.
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/chipsalliance/UHDM/commit/ad60fdb65a7c49fdc8ee3fffdca791f9364af4f5.patch";
+      sha256 = "sha256-IkwnepWWmBychJ0mu+kaddUEc9jkldIRq+GyJkhrO8A=";
+      name = "allow-local-gtest.patch";
+    })
+  ];
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  buildInputs = [
+    (python3.withPackages (p: with p; [ orderedmultidict ]))
+    gtest
+  ];
+
+  cmakeFlags = [
+    "-DUHDM_USE_HOST_GTEST=On"
+  ];
+
+  doCheck = true;
+  checkPhase = "make test";
+
+  postInstall = ''
+    mv $out/lib/uhdm/* $out/lib/
+    rm -rf $out/lib/uhdm
+  '';
+
+  meta = {
+    description = "Universal Hardware Data Model";
+    homepage = "https://github.com/chipsalliance/UHDM";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ matthuszagh ];
+    platforms = lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/science/math/calculix/default.nix b/pkgs/applications/science/math/calculix/default.nix
index df943277a627e..4b0ae6f8ac9d9 100644
--- a/pkgs/applications/science/math/calculix/default.nix
+++ b/pkgs/applications/science/math/calculix/default.nix
@@ -1,5 +1,9 @@
 { lib, stdenv, fetchurl, gfortran, arpack, spooles, blas, lapack }:
 
+assert (blas.isILP64 == lapack.isILP64 &&
+        blas.isILP64 == arpack.isILP64 &&
+        !blas.isILP64);
+
 stdenv.mkDerivation rec {
   pname = "calculix";
   version = "2.19";
diff --git a/pkgs/applications/science/math/cemu/default.nix b/pkgs/applications/science/math/cemu-ti/default.nix
index 374b245e2499f..2f2440eacfed6 100644
--- a/pkgs/applications/science/math/cemu/default.nix
+++ b/pkgs/applications/science/math/cemu-ti/default.nix
@@ -1,55 +1,43 @@
-{ fetchFromGitHub
+{ stdenv
 , lib
-, SDL2
-, libGL
-, libarchive
-, libusb-compat-0_1
-, qtbase
+, fetchFromGitHub
 , qmake
-, git
-, libpng
 , pkg-config
 , wrapQtAppsHook
-, stdenv
+, libarchive
+, libpng
 }:
 
 stdenv.mkDerivation rec {
   pname = "CEmu";
-  version = "1.3";
+  version = "unstable-2022-06-29";
   src = fetchFromGitHub {
     owner = "CE-Programming";
     repo = "CEmu";
-    rev = "v${version}";
-    sha256 = "1wcdnzcqscawj6jfdj5wwmw9g9vsd6a1rx0rrramakxzf8b7g47r";
+    rev = "880d391ba9f8b7b2ec36ab9b45a34e9ecbf744e9";
+    hash = "sha256-aFwGZJceh1jEP8cEajY5wYlSaFuNhYvSoZ/E1QDfJEI=";
     fetchSubmodules = true;
   };
 
   nativeBuildInputs = [
     qmake
-    git
     wrapQtAppsHook
     pkg-config
   ];
 
   buildInputs = [
-    SDL2
-    libGL
     libarchive
-    libusb-compat-0_1
-    qtbase
     libpng
   ];
 
   qmakeFlags = [
     "gui/qt"
-    "CONFIG+=ltcg"
   ];
 
   meta = with lib; {
-    changelog = "https://github.com/CE-Programming/CEmu/releases/tag/v${version}";
     description = "Third-party TI-84 Plus CE / TI-83 Premium CE emulator, focused on developer features";
     homepage = "https://ce-programming.github.io/CEmu";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ luc65r ];
     platforms = [ "x86_64-linux" "x86_64-darwin" ];
     broken = stdenv.isDarwin;
diff --git a/pkgs/applications/science/math/gap/default.nix b/pkgs/applications/science/math/gap/default.nix
index c309423f142aa..c65507228f82b 100644
--- a/pkgs/applications/science/math/gap/default.nix
+++ b/pkgs/applications/science/math/gap/default.nix
@@ -4,6 +4,7 @@
 , makeWrapper
 , readline
 , gmp
+, pari
 , zlib
 # one of
 # - "minimal" (~400M):
@@ -23,27 +24,31 @@ let
   # packages absolutely required for gap to start
   # `*` represents the version where applicable
   requiredPackages = [
-    "GAPDoc-*"
-    "primgrp-*"
-    "SmallGrp-*"
+    "gapdoc"
+    "primgrp"
+    "smallgrp"
     "transgrp"
   ];
-  # packages autoloaded by default if available
+  # packages autoloaded by default if available, and their dependencies
   autoloadedPackages = [
     "atlasrep"
-    "autpgrp-*"
-    "alnuth-*"
-    "crisp-*"
-    "ctbllib-*"
-    "FactInt-*"
+    "autpgrp"
+    "alnuth"
+    "crisp"
+    "ctbllib"
+    "factint"
     "fga"
-    "irredsol-*"
-    "laguna-*"
-    "polenta-*"
-    "polycyclic-*"
-    "resclasses-*"
-    "sophus-*"
-    "tomlib-*"
+    "irredsol"
+    "laguna"
+    "polenta"
+    "polycyclic"
+    "resclasses"
+    "sophus"
+    "tomlib"
+    "autodoc"  # dependency of atlasrep
+    "io"       # used by atlasrep to fetch data from online sources
+    "radiroot" # dependency of polenta
+    "utils"    # dependency of atlasrep
   ];
   keepAll = keepAllPackages || (packageSet == "full");
   packagesToKeep = requiredPackages ++ lib.optionals (packageSet == "standard") autoloadedPackages;
@@ -61,11 +66,11 @@ in
 stdenv.mkDerivation rec {
   pname = "gap";
   # https://www.gap-system.org/Releases/
-  version = "4.11.1";
+  version = "4.12.1";
 
   src = fetchurl {
     url = "https://github.com/gap-system/gap/releases/download/v${version}/gap-${version}.tar.gz";
-    sha256 = "sha256-ZjXF2n2CdV+DOUhrnKwzdm9YcS8pfoI0+6QIGJAuowQ=";
+    sha256 = "sha256-+evvEe4xshDONuPHCWB0K04lMoK71ScK3JMkJzySsBY=";
   };
 
   # remove all non-essential packages (which take up a lot of space)
@@ -83,9 +88,14 @@ stdenv.mkDerivation rec {
     makeWrapper
   ];
 
-  # "teststandard" is a superset of testinstall. It takes ~1h instead of ~1min.
-  # tests are run twice, once with all packages loaded and once without
-  # checkTarget = "teststandard";
+  propagatedBuildInputs = [
+    pari # used at runtime by the alnuth package
+  ];
+
+  # "teststandard" is a superset of the tests run by "check". it takes ~20min
+  # instead of ~1min. tests are run twice, once with all packages loaded and
+  # once without.
+  # installCheckTarget = "teststandard";
 
   doInstallCheck = true;
   installCheckTarget = "check";
@@ -104,34 +114,28 @@ stdenv.mkDerivation rec {
     # like the defaults the Makefile, but use gap from PATH instead of the
     # one from builddir
     installCheckFlagsArray+=(
-      "TESTGAP=gap --quitonbreak -b -m 100m -o 1g -q -x 80 -r -A"
-      "TESTGAPauto=gap --quitonbreak -b -m 100m -o 1g -q -x 80 -r"
+      "TESTGAPcore=gap --quitonbreak -b -q -r"
+      "TESTGAPauto=gap --quitonbreak -b -q -r -m 100m -o 1g -x 80"
+      "TESTGAP=gap --quitonbreak -b -q -r -m 100m -o 1g -x 80 -A"
     )
   '';
 
   postBuild = ''
     pushd pkg
-    bash ../bin/BuildPackages.sh
+    # failures are ignored unless --strict is set
+    bash ../bin/BuildPackages.sh ${lib.optionalString (!keepAll) "--strict"}
     popd
   '';
 
-  installTargets = [
-    "install-libgap"
-    "install-headers"
-  ];
-
-  # full `make install` is not yet implemented, just for libgap and headers
   postInstall = ''
-    # Install config.h, which is not currently handled by `make install-headers`
-    cp gen/config.h "$out/include/gap"
-
-    mkdir -p "$out/bin" "$out/share/gap/"
-
-    echo "Copying files to target directory"
-    cp -ar . "$out/share/gap/build-dir"
-
-    makeWrapper "$out/share/gap/build-dir/bin/gap.sh" "$out/bin/gap" \
-      --set GAP_DIR $out/share/gap/build-dir
+    # make install creates an empty pkg dir. since we run "make check" on
+    # installCheckPhase to make sure the installed GAP finds its libraries, we
+    # also install the tst dir. this is probably excessively cautious, see
+    # https://github.com/NixOS/nixpkgs/pull/192548#discussion_r992824942
+    rm -r "$out/share/gap/pkg"
+    cp -ar pkg tst "$out/share/gap"
+
+    makeWrapper "$out/lib/gap/gap" "$out/bin/gap" --add-flags "-l $out/share/gap"
   '';
 
   preFixup = ''
@@ -141,14 +145,11 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Computational discrete algebra system";
-    maintainers = with maintainers;
-    [
-      raskin
-      chrisjefferson
-      timokau
-    ];
+    # We are also grateful to ChrisJefferson for previous work on the package,
+    # and to ChrisJefferson and fingolfin for help with GAP-related questions
+    # from the upstream point of view.
+    maintainers = teams.sage.members;
     platforms = platforms.all;
-    broken = stdenv.isDarwin;
     # keeping all packages increases the package size considerably, which is
     # why a local build is preferable in that situation. The timeframe is
     # reasonable and that way the binary cache doesn't get overloaded.
diff --git a/pkgs/applications/science/math/gmsh/default.nix b/pkgs/applications/science/math/gmsh/default.nix
index 03a427e06cc2e..22eee8b305a52 100644
--- a/pkgs/applications/science/math/gmsh/default.nix
+++ b/pkgs/applications/science/math/gmsh/default.nix
@@ -5,11 +5,11 @@ assert (!blas.isILP64) && (!lapack.isILP64);
 
 stdenv.mkDerivation rec {
   pname = "gmsh";
-  version = "4.10.5";
+  version = "4.11.0";
 
   src = fetchurl {
     url = "https://gmsh.info/src/gmsh-${version}-source.tgz";
-    sha256 = "sha256-zAMMWu5l59WPhQuLb1WmiUXIm8hx+U4SOSefWiEPxOo=";
+    sha256 = "sha256-PPLyRFXuCSUsmeZNTmRilW5o8P8fN7rKC3jICdbMVXo=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/science/math/sage/env-locations.nix b/pkgs/applications/science/math/sage/env-locations.nix
index 45a4799d1a031..1f8b33f687384 100644
--- a/pkgs/applications/science/math/sage/env-locations.nix
+++ b/pkgs/applications/science/math/sage/env-locations.nix
@@ -35,7 +35,7 @@ writeTextFile rec {
     export GRAPHS_DATA_DIR='${graphs}/share/graphs'
     export ELLCURVE_DATA_DIR='${elliptic_curves}/share/ellcurves'
     export POLYTOPE_DATA_DIR='${polytopes_db}/share/reflexive_polytopes'
-    export GAP_ROOT_DIR='${gap}/share/gap/build-dir'
+    export GAP_ROOT_DIR='${gap}/share/gap'
     export ECLDIR='${maxima.lisp-compiler}/lib/${maxima.lisp-compiler.pname}-${maxima.lisp-compiler.version}/'
     export COMBINATORIAL_DESIGN_DATA_DIR="${combinatorial_designs}/share/combinatorial_designs"
     export CREMONA_MINI_DATA_DIR="${elliptic_curves}/share/cremona"
diff --git a/pkgs/applications/science/math/sage/patches/disable-slow-glpk-test.patch b/pkgs/applications/science/math/sage/patches/disable-slow-glpk-test.patch
new file mode 100644
index 0000000000000..c04463e7e99c4
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/disable-slow-glpk-test.patch
@@ -0,0 +1,17 @@
+diff --git a/src/sage/graphs/generic_graph.py b/src/sage/graphs/generic_graph.py
+index 0070705f78..ac19818f1b 100644
+--- a/src/sage/graphs/generic_graph.py
++++ b/src/sage/graphs/generic_graph.py
+@@ -6699,12 +6699,6 @@ class GenericGraph(GenericGraph_pyx):
+             sage: G = DiGraph(d6, format='dig6')
+             sage: G.edge_connectivity()
+             5
+-            sage: G.edge_disjoint_spanning_trees(5)  # long time
+-            [Digraph on 28 vertices,
+-             Digraph on 28 vertices,
+-             Digraph on 28 vertices,
+-             Digraph on 28 vertices,
+-             Digraph on 28 vertices]
+ 
+         Small cases::
+ 
diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix
index 6cdb7919d9ea8..c0a92454ac191 100644
--- a/pkgs/applications/science/math/sage/sage-src.nix
+++ b/pkgs/applications/science/math/sage/sage-src.nix
@@ -130,6 +130,30 @@ stdenv.mkDerivation rec {
       rev = "2816dbacb342398a23bb3099e20c92c8020ab0fa";
       sha256 = "sha256-tCOsMxXwPkRg3FJGVvTqDzlWdra78UfDY6nci0Nr9GI=";
     })
+
+    # https://trac.sagemath.org/ticket/34391
+    (fetchSageDiff {
+      name = "gap-4.12-upgrade.patch";
+      base = "9.8.beta2";
+      rev = "eb8cd42feb58963adba67599bf6e311e03424328";
+      sha256 = "sha256-0dKewOZe2n3PqSdxCJt18FkqwTdrD0VA5MXAMiTW8Tw=";
+    })
+
+    # https://trac.sagemath.org/ticket/34701
+    (fetchSageDiff {
+      name = "libgap-fix-gc-crashes-on-aarch64.patch";
+      base = "eb8cd42feb58963adba67599bf6e311e03424328"; # TODO: update when #34391 lands
+      rev = "90acc7f1c13a80b8aa673469a2668feb9cd4207f";
+      sha256 = "sha256-9BhQLFB3wUhiXRQsK9L+I62lSjvTfrqMNi7QUIQvH4U=";
+    })
+
+    # Sage uses mixed integer programs (MIPs) to find edge disjoint
+    # spanning trees. For some reason, aarch64 glpk takes much longer
+    # than x86_64 glpk to solve such MIPs. Since the MIP formulation
+    # has "numerous problems" and will be replaced by a polynomial
+    # algorithm soon, disable this test for now.
+    # https://trac.sagemath.org/ticket/34575
+    ./patches/disable-slow-glpk-test.patch
   ];
 
   patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches;
diff --git a/pkgs/applications/science/misc/root/5.nix b/pkgs/applications/science/misc/root/5.nix
index 1b4d6bcd04867..14a7d33af7865 100644
--- a/pkgs/applications/science/misc/root/5.nix
+++ b/pkgs/applications/science/misc/root/5.nix
@@ -17,7 +17,7 @@
 , libxcrypt
 , lz4
 , xz
-, gsl_1
+, gsl
 , xxHash
 , Cocoa
 , OpenGL
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [ pcre python2 zlib libxml2 lz4 xz gsl_1 xxHash libxcrypt ]
+  buildInputs = [ pcre python2 zlib libxml2 lz4 xz gsl xxHash libxcrypt ]
     ++ lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ]
     ++ lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ]
   ;
@@ -144,6 +144,7 @@ stdenv.mkDerivation rec {
     homepage = "https://root.cern.ch/";
     description = "A data analysis framework";
     platforms = platforms.unix;
+    broken = !stdenv.isx86_64;
     maintainers = with maintainers; [ veprbl ];
     license = licenses.lgpl21;
   };
diff --git a/pkgs/applications/science/misc/root/default.nix b/pkgs/applications/science/misc/root/default.nix
index 5ae80c745bdce..30ff02c1f2caa 100644
--- a/pkgs/applications/science/misc/root/default.nix
+++ b/pkgs/applications/science/misc/root/default.nix
@@ -1,13 +1,18 @@
 { stdenv
 , lib
-, fetchurl
+, callPackage
+, fetchFromGitHub
 , fetchpatch
 , makeWrapper
 , cmake
+, coreutils
 , git
+, davix
 , ftgl
 , gl2ps
 , glew
+, gnugrep
+, gnused
 , gsl
 , lapack
 , libX11
@@ -19,13 +24,18 @@
 , libxcrypt
 , libxml2
 , llvm_9
+, lsof
 , lz4
 , xz
+, man
 , openblas
+, openssl
 , pcre
 , nlohmann_json
 , pkg-config
+, procps
 , python
+, which
 , xxHash
 , zlib
 , zstd
@@ -34,6 +44,9 @@
 , libjpeg
 , libtiff
 , libpng
+, patchRcPathCsh
+, patchRcPathFish
+, patchRcPathPosix
 , tbb
 , Cocoa
 , CoreSymbolication
@@ -44,7 +57,7 @@
 let
 
   _llvm_9 = llvm_9.overrideAttrs (prev: {
-    patches = (prev.patches or []) ++ [
+    patches = (prev.patches or [ ]) ++ [
       (fetchpatch {
         url = "https://github.com/root-project/root/commit/a9c961cf4613ff1f0ea50f188e4a4b0eb749b17d.diff";
         stripLen = 3;
@@ -57,15 +70,22 @@ in
 
 stdenv.mkDerivation rec {
   pname = "root";
-  version = "6.26.06";
+  version = "6.26.08";
 
-  src = fetchurl {
-    url = "https://root.cern.ch/download/root_v${version}.source.tar.gz";
-    hash = "sha256-sfc8l2pYClxWyMigFSWCod/FYLTdgOG3VFI3tl5sics=";
+  passthru = {
+    tests = import ./tests { inherit callPackage; };
+  };
+
+  src = fetchFromGitHub {
+    owner = "root-project";
+    repo = "root";
+    rev = "v${builtins.replaceStrings [ "." ] [ "-" ] version}";
+    sha256 = "sha256-cNd1GvEbO/a+WdDe8EHYGmdlw3TrOT2fWaSk+s7fw7U=";
   };
 
   nativeBuildInputs = [ makeWrapper cmake pkg-config git ];
   buildInputs = [
+    davix
     ftgl
     gl2ps
     glew
@@ -80,6 +100,7 @@ stdenv.mkDerivation rec {
     xz
     gsl
     openblas
+    openssl
     xxHash
     libAfterImage
     giflib
@@ -87,6 +108,9 @@ stdenv.mkDerivation rec {
     libtiff
     libpng
     nlohmann_json
+    patchRcPathCsh
+    patchRcPathFish
+    patchRcPathPosix
     python.pkgs.numpy
     tbb
   ]
@@ -125,6 +149,8 @@ stdenv.mkDerivation rec {
     # Eliminate impure reference to /System/Library/PrivateFrameworks
     substituteInPlace core/CMakeLists.txt \
       --replace "-F/System/Library/PrivateFrameworks" ""
+  '' + lib.optionalString (stdenv.isDarwin && lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11") ''
+    MACOSX_DEPLOYMENT_TARGET=10.16
   '';
 
   cmakeFlags = [
@@ -140,7 +166,7 @@ stdenv.mkDerivation rec {
     "-Dcastor=OFF"
     "-Dchirp=OFF"
     "-Dclad=OFF"
-    "-Ddavix=OFF"
+    "-Ddavix=ON"
     "-Ddcache=OFF"
     "-Dfail-on-missing=ON"
     "-Dfftw3=OFF"
@@ -164,7 +190,7 @@ stdenv.mkDerivation rec {
     "-Drfio=OFF"
     "-Droot7=OFF"
     "-Dsqlite=OFF"
-    "-Dssl=OFF"
+    "-Dssl=ON"
     "-Dtmva=ON"
     "-Dvdt=OFF"
     "-Dwebgui=OFF"
@@ -187,6 +213,45 @@ stdenv.mkDerivation rec {
         --set PYTHONPATH "$out/lib" \
         --set ${lib.optionalString stdenv.isDarwin "DY"}LD_LIBRARY_PATH "$out/lib"
     done
+
+    # Make ldd and sed available to the ROOT executable
+    wrapProgram "$out/bin/root" --prefix PATH : "${lib.makeBinPath [
+      gnused # sed
+      stdenv.cc # c++ ld etc.
+      stdenv.cc.libc # ldd
+    ]}"
+
+    # Patch thisroot.{sh,csh,fish}
+
+    # The main target of `thisroot.sh` is "bash-like shells",
+    # but it also need to support Bash-less POSIX shell like dash,
+    # as they are mentioned in `thisroot.sh`.
+
+    # `thisroot.sh` would include commands `lsof` and `procps` since ROOT 6.28.
+    # See https://github.com/root-project/root/pull/10332
+
+    patchRcPathPosix "$out/bin/thisroot.sh" "${lib.makeBinPath [
+      coreutils # dirname tail
+      gnugrep # grep
+      gnused # sed
+      lsof # lsof # for ROOT (>=6.28)
+      man # manpath
+      procps # ps # for ROOT (>=6.28)
+      which # which
+    ]}"
+    patchRcPathCsh "$out/bin/thisroot.csh" "${lib.makeBinPath [
+      coreutils
+      gnugrep
+      gnused
+      lsof # lsof # for ROOT (>=6.28)
+      man
+      which
+    ]}"
+    patchRcPathFish "$out/bin/thisroot.fish" "${lib.makeBinPath [
+      coreutils
+      man
+      which
+    ]}"
   '';
 
   setupHook = ./setup-hook.sh;
@@ -200,6 +265,6 @@ stdenv.mkDerivation rec {
 
     # See https://github.com/NixOS/nixpkgs/pull/192581#issuecomment-1256860426
     # for some context on issues on aarch64.
-    broken = stdenv.isAarch64;
+    broken = stdenv.isAarch64 && stdenv.isLinux;
   };
 }
diff --git a/pkgs/applications/science/misc/root/tests/default.nix b/pkgs/applications/science/misc/root/tests/default.nix
new file mode 100644
index 0000000000000..9d2da2533f7f7
--- /dev/null
+++ b/pkgs/applications/science/misc/root/tests/default.nix
@@ -0,0 +1,4 @@
+{ callPackage }:
+{
+  test-thisroot = callPackage ./test-thisroot.nix { };
+}
diff --git a/pkgs/applications/science/misc/root/tests/test-thisroot.nix b/pkgs/applications/science/misc/root/tests/test-thisroot.nix
new file mode 100644
index 0000000000000..3540dde8c9138
--- /dev/null
+++ b/pkgs/applications/science/misc/root/tests/test-thisroot.nix
@@ -0,0 +1,49 @@
+{ lib
+, runCommand
+, root
+, bash
+, fish
+, ksh
+, tcsh
+, zsh
+}: runCommand "test-thisroot"
+{
+  meta = with lib; {
+    description = "Test for root thisroot.* sourcing";
+    maintainers = unique ((with maintainers; [ ShamrockLee ]) ++ root.meta.maintainers);
+  };
+}
+  ''
+    set -eu -o pipefail
+    declare -a shellNameArray shellOutpathArray sourcefileNameArray sourceCommandArray
+    shellNameArray=( bash zsh tcsh fish )
+    shellOutpathArray=( "${bash}" "${zsh}" "${tcsh}" "${fish}")
+    sourcefileNameArray=( thisroot.sh thisroot.sh thisroot.csh thisroot.fish )
+    sourceCommandArray=( "source" "source" "source" "source" )
+    debugFlagstrArray=( "-e" "-e" "-e" "" )
+    nShellToTest="''${#shellNameArray[@]}"
+    if [[ "''${#shellOutpathArray[@]}" -ne "$nShellToTest" ]] \
+      || [[ "''${#sourcefileNameArray[@]}" -ne "$nShellToTest" ]] \
+      || [[ "''${#sourceCommandArray[@]}" -ne "$nShellToTest" ]] \
+      || [[ "''${#debugFlagstrArray[@]}" -ne "$nShellToTest" ]]
+    then
+      echo "error: Lengths of test parameter arrays doesn't match." >&2
+      exit 1
+    fi
+    typePExpect="${root}/bin/root"
+    for ((i=0; i<$nShellToTest; ++i)); do
+      tryCommand="''${sourceCommandArray[$i]} \"${root}/bin/''${sourcefileNameArray[$i]}\""
+      echo "Testing ''${shellNameArray[$i]} $tryCommand"
+      # Home directory for Fish
+      HOME_TEMP="$(mktemp -d temporary_home_XXXXXX)"
+      binPATHGot="$(PATH="''${shellOutpathArray[$i]}/bin" HOME=$HOME_TEMP "''${shellNameArray[$i]}" ''${debugFlagstrArray[$i]} -c "$tryCommand && echo \"\$PATH\"")"
+      rm -r "$HOME_TEMP"
+      typePGot="$(PATH="$binPATHGot" type -p root)"
+      if [[ "$typePGot" != "$typePExpect" ]]; then
+        echo "error: Got PATH \"$binPATHGot\", in which the root executable path is \"$typePGot\". Expect root executable path \"$typePExpect\"." >&2
+        exit 1
+      fi
+    done
+    echo "test-thisroot pass!"
+    touch "$out"
+  ''
diff --git a/pkgs/applications/science/misc/toil/default.nix b/pkgs/applications/science/misc/toil/default.nix
index b13ad0ad10ca3..43cb6bbbc7ee3 100644
--- a/pkgs/applications/science/misc/toil/default.nix
+++ b/pkgs/applications/science/misc/toil/default.nix
@@ -1,33 +1,51 @@
 { lib
 , fetchFromGitHub
 , python3
+, rsync
 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "toil";
-  version = "5.6.0";
+  version = "5.7.1";
   format = "setuptools";
 
-  src = python3.pkgs.fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-m6tzrRCCLULO+wB8htUlt0KESLm/vdIeTzBrihnAo/I=";
+  src = fetchFromGitHub {
+    owner = "DataBiosphere";
+    repo = pname;
+    rev = "refs/tags/releases/${version}";
+    hash = "sha256-m+XvNyzd0ly2YqKhgxezgGaCXLs3CmupJMnp5RIZqNI=";
   };
 
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "docker>=3.7.2, <6" "docker"
+  '';
+
   propagatedBuildInputs = with python3.pkgs; [
     addict
+    dill
     docker
-    pytz
-    pyyaml
     enlighten
     psutil
     py-tes
+    pypubsub
     python-dateutil
-    dill
+    pytz
+    pyyaml
+    requests
+    typing-extensions
   ];
 
-  checkInputs = with python3.pkgs; [
+  checkInputs = [
+    rsync
+  ] ++ (with python3.pkgs; [
+    boto
+    botocore
+    flask
+    mypy-boto3-s3
     pytestCheckHook
-  ];
+    stubserver
+  ]);
 
   pytestFlagsArray = [
     "src/toil/test"
@@ -37,6 +55,34 @@ python3.pkgs.buildPythonApplication rec {
     "toil"
   ];
 
+  disabledTestPaths = [
+    # Tests are reaching their timeout
+    "src/toil/test/docs/scriptsTest.py"
+    "src/toil/test/jobStores/jobStoreTest.py"
+    "src/toil/test/provisioners/aws/awsProvisionerTest.py"
+    "src/toil/test/src"
+    "src/toil/test/wdl"
+    "src/toil/test/utils/utilsTest.py"
+  ];
+
+  disabledTests = [
+    # Tests fail starting with 5.7.1
+    "testServices"
+    "testConcurrencyWithDisk"
+    "testJobConcurrency"
+    "testNestedResourcesDoNotBlock"
+    "test_omp_threads"
+    "testFileSingle"
+    "testFileSingle10000"
+    "testFileSingleCheckpoints"
+    "testFileSingleNonCaching"
+    "testFetchJobStoreFiles"
+    "testFetchJobStoreFilesWSymlinks"
+    "testJobStoreContents"
+    "test_cwl_on_arm"
+    "test_cwl_toil_kill"
+  ];
+
   meta = with lib; {
     description = "Workflow engine written in pure Python";
     homepage = "https://toil.ucsc-cgl.org/";
diff --git a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
index 125283589aef5..576c5745b35c5 100644
--- a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
+++ b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
@@ -19,11 +19,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "gromacs";
-  version = "2022.3";
+  version = "2022.4";
 
   src = fetchurl {
     url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-${version}.tar.gz";
-    sha256 = "sha256-FM+xMN2vj3WaOvZDwE9aDQ0ysJvDRIsWr6W2F/XjXa4=";
+    sha256 = "sha256-xRG+YC/ylAIGW1CQaEHe+YdSY5uSqV8bChBg2bXicpc=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/science/robotics/mujoco/default.nix b/pkgs/applications/science/robotics/mujoco/default.nix
new file mode 100644
index 0000000000000..4af3d6899fa9b
--- /dev/null
+++ b/pkgs/applications/science/robotics/mujoco/default.nix
@@ -0,0 +1,122 @@
+{ cmake
+, fetchFromGitHub
+, fetchFromGitLab
+, git
+, lib
+, libGL
+, stdenv
+, xorg
+}:
+
+let
+  # See https://github.com/deepmind/mujoco/blob/573d331b69845c5d651b70f5d1b0f3a0d2a3a233/cmake/MujocoDependencies.cmake#L21-L59
+  abseil-cpp = fetchFromGitHub {
+    owner = "abseil";
+    repo = "abseil-cpp";
+    rev = "8c0b94e793a66495e0b1f34a5eb26bd7dc672db0";
+    hash = "sha256-Od1FZOOWEXVQsnZBwGjDIExi6LdYtomyL0STR44SsG8=";
+  };
+  benchmark = fetchFromGitHub {
+    owner = "google";
+    repo = "benchmark";
+    rev = "d845b7b3a27d54ad96280a29d61fa8988d4fddcf";
+    hash = "sha256-XTnTM1k6xMGXUws/fKdJUbpCPcc4U0IelL6BPEEnpEQ=";
+  };
+  ccd = fetchFromGitHub {
+    owner = "danfis";
+    repo = "libccd";
+    rev = "7931e764a19ef6b21b443376c699bbc9c6d4fba8";
+    hash = "sha256-TIZkmqQXa0+bSWpqffIgaBela0/INNsX9LPM026x1Wk=";
+  };
+  eigen3 = fetchFromGitLab {
+    owner = "libeigen";
+    repo = "eigen";
+    rev = "3bb6a48d8c171cf20b5f8e48bfb4e424fbd4f79e";
+    hash = "sha256-k71DoEsx8JpC9AlQ0cCRI0fWMIWFBFL/Yscx+2iBtNM=";
+  };
+  googletest = fetchFromGitHub {
+    owner = "google";
+    repo = "googletest";
+    rev = "58d77fa8070e8cec2dc1ed015d66b454c8d78850";
+    hash = "sha256-W+OxRTVtemt2esw4P7IyGWXOonUN5ZuscjvzqkYvZbM=";
+  };
+  lodepng = fetchFromGitHub {
+    owner = "lvandeve";
+    repo = "lodepng";
+    rev = "b4ed2cd7ecf61d29076169b49199371456d4f90b";
+    hash = "sha256-5cCkdj/izP4e99BKfs/Mnwu9aatYXjlyxzzYiMD/y1M=";
+  };
+  qhull = fetchFromGitHub {
+    owner = "qhull";
+    repo = "qhull";
+    rev = "3df027b91202cf179f3fba3c46eebe65bbac3790";
+    hash = "sha256-aHO5n9Y35C7/zb3surfMyjyMjo109DoZnkozhiAKpYQ=";
+  };
+  tinyobjloader = fetchFromGitHub {
+    owner = "tinyobjloader";
+    repo = "tinyobjloader";
+    rev = "1421a10d6ed9742f5b2c1766d22faa6cfbc56248";
+    hash = "sha256-9z2Ne/WPCiXkQpT8Cun/pSGUwgClYH+kQ6Dx1JvW6w0=";
+  };
+  tinyxml2 = fetchFromGitHub {
+    owner = "leethomason";
+    repo = "tinyxml2";
+    rev = "1dee28e51f9175a31955b9791c74c430fe13dc82";
+    hash = "sha256-AQQOctXi7sWIH/VOeSUClX6hlm1raEQUOp+VoPjLM14=";
+  };
+
+  # See https://github.com/deepmind/mujoco/blob/573d331b69845c5d651b70f5d1b0f3a0d2a3a233/simulate/cmake/SimulateDependencies.cmake#L32-L35
+  glfw = fetchFromGitHub {
+    owner = "glfw";
+    repo = "glfw";
+    rev = "7482de6071d21db77a7236155da44c172a7f6c9e";
+    hash = "sha256-4+H0IXjAwbL5mAWfsIVhW0BSJhcWjkQx4j2TrzZ3aIo=";
+  };
+in
+stdenv.mkDerivation rec {
+  pname = "mujoco";
+  version = "2.3.0";
+
+  src = fetchFromGitHub {
+    owner = "deepmind";
+    repo = pname;
+    rev = version;
+    hash = "sha256-FxMaXl7yfUAyY6LE1sxaw226dBtp1DOCWNnROp0WX2I=";
+  };
+
+  patches = [ ./dependencies.patch ];
+
+  nativeBuildInputs = [ cmake git ];
+
+  buildInputs = [
+    libGL
+    xorg.libX11
+    xorg.libXcursor
+    xorg.libXext
+    xorg.libXi
+    xorg.libXinerama
+    xorg.libXrandr
+  ];
+
+  # Move things into place so that cmake doesn't try downloading dependencies.
+  preConfigure = ''
+    mkdir -p build/_deps
+    ln -s ${abseil-cpp} build/_deps/abseil-cpp-src
+    ln -s ${benchmark} build/_deps/benchmark-src
+    ln -s ${ccd} build/_deps/ccd-src
+    ln -s ${eigen3} build/_deps/eigen3-src
+    ln -s ${glfw} build/_deps/glfw-src
+    ln -s ${googletest} build/_deps/googletest-src
+    ln -s ${lodepng} build/_deps/lodepng-src
+    ln -s ${qhull} build/_deps/qhull-src
+    ln -s ${tinyobjloader} build/_deps/tinyobjloader-src
+    ln -s ${tinyxml2} build/_deps/tinyxml2-src
+  '';
+
+  meta = with lib; {
+    description = "Multi-Joint dynamics with Contact. A general purpose physics simulator.";
+    homepage = "https://mujoco.org/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ samuela ];
+  };
+}
diff --git a/pkgs/applications/science/robotics/mujoco/dependencies.patch b/pkgs/applications/science/robotics/mujoco/dependencies.patch
new file mode 100644
index 0000000000000..5ddbaaab53297
--- /dev/null
+++ b/pkgs/applications/science/robotics/mujoco/dependencies.patch
@@ -0,0 +1,114 @@
+diff --git a/cmake/MujocoDependencies.cmake b/cmake/MujocoDependencies.cmake
+index 99e4a7a..cf9a901 100644
+--- a/cmake/MujocoDependencies.cmake
++++ b/cmake/MujocoDependencies.cmake
+@@ -82,8 +82,6 @@ set(BUILD_SHARED_LIBS
+ if(NOT TARGET lodepng)
+   FetchContent_Declare(
+     lodepng
+-    GIT_REPOSITORY https://github.com/lvandeve/lodepng.git
+-    GIT_TAG ${MUJOCO_DEP_VERSION_lodepng}
+   )
+ 
+   FetchContent_GetProperties(lodepng)
+@@ -111,10 +109,6 @@ findorfetch(
+   qhull
+   LIBRARY_NAME
+   qhull
+-  GIT_REPO
+-  https://github.com/qhull/qhull.git
+-  GIT_TAG
+-  ${MUJOCO_DEP_VERSION_qhull}
+   TARGETS
+   qhull
+   # TODO(fraromano) Remove when https://github.com/qhull/qhull/pull/112 is merged.
+@@ -146,10 +140,6 @@ findorfetch(
+   tinyxml2
+   LIBRARY_NAME
+   tinyxml2
+-  GIT_REPO
+-  https://github.com/leethomason/tinyxml2.git
+-  GIT_TAG
+-  ${MUJOCO_DEP_VERSION_tinyxml2}
+   TARGETS
+   tinyxml2
+   EXCLUDE_FROM_ALL
+@@ -164,10 +154,6 @@ findorfetch(
+   tinyobjloader
+   LIBRARY_NAME
+   tinyobjloader
+-  GIT_REPO
+-  https://github.com/tinyobjloader/tinyobjloader.git
+-  GIT_TAG
+-  ${MUJOCO_DEP_VERSION_tinyobjloader}
+   TARGETS
+   tinyobjloader
+   EXCLUDE_FROM_ALL
+@@ -182,10 +168,6 @@ findorfetch(
+   ccd
+   LIBRARY_NAME
+   ccd
+-  GIT_REPO
+-  https://github.com/danfis/libccd.git
+-  GIT_TAG
+-  ${MUJOCO_DEP_VERSION_ccd}
+   TARGETS
+   ccd
+   EXCLUDE_FROM_ALL
+@@ -222,10 +204,6 @@ if(MUJOCO_BUILD_TESTS)
+     absl
+     LIBRARY_NAME
+     abseil-cpp
+-    GIT_REPO
+-    https://github.com/abseil/abseil-cpp.git
+-    GIT_TAG
+-    ${MUJOCO_DEP_VERSION_abseil}
+     TARGETS
+     absl::core_headers
+     EXCLUDE_FROM_ALL
+@@ -249,10 +227,6 @@ if(MUJOCO_BUILD_TESTS)
+     GTest
+     LIBRARY_NAME
+     googletest
+-    GIT_REPO
+-    https://github.com/google/googletest.git
+-    GIT_TAG
+-    ${MUJOCO_DEP_VERSION_gtest}
+     TARGETS
+     gtest
+     gmock
+@@ -283,10 +257,6 @@ if(MUJOCO_BUILD_TESTS)
+     benchmark
+     LIBRARY_NAME
+     benchmark
+-    GIT_REPO
+-    https://github.com/google/benchmark.git
+-    GIT_TAG
+-    ${MUJOCO_DEP_VERSION_benchmark}
+     TARGETS
+     benchmark::benchmark
+     benchmark::benchmark_main
+@@ -303,8 +273,6 @@ if(MUJOCO_TEST_PYTHON_UTIL)
+ 
+     FetchContent_Declare(
+       Eigen3
+-      GIT_REPOSITORY https://gitlab.com/libeigen/eigen.git
+-      GIT_TAG ${MUJOCO_DEP_VERSION_Eigen3}
+     )
+ 
+     FetchContent_GetProperties(Eigen3)
+diff --git a/simulate/cmake/SimulateDependencies.cmake b/simulate/cmake/SimulateDependencies.cmake
+index 6616d6f..5d5a889 100644
+--- a/simulate/cmake/SimulateDependencies.cmake
++++ b/simulate/cmake/SimulateDependencies.cmake
+@@ -81,10 +81,6 @@ findorfetch(
+   glfw
+   LIBRARY_NAME
+   glfw
+-  GIT_REPO
+-  https://github.com/glfw/glfw.git
+-  GIT_TAG
+-  ${MUJOCO_DEP_VERSION_glfw}
+   TARGETS
+   glfw
+   EXCLUDE_FROM_ALL
diff --git a/pkgs/applications/search/recoll/default.nix b/pkgs/applications/search/recoll/default.nix
index 8d33a910546cd..4117c8ac78a98 100644
--- a/pkgs/applications/search/recoll/default.nix
+++ b/pkgs/applications/search/recoll/default.nix
@@ -46,6 +46,13 @@ mkDerivation rec {
     ++ lib.optionals (!withGui) [ "--disable-qtgui" "--disable-x11mon" ]
     ++ (if stdenv.isLinux then [ "--with-inotify" ] else [ "--without-inotify" ]);
 
+  NIX_CFLAGS_COMPILE = [ "-DNIXPKGS" ];
+
+  patches = [
+    # fix "No/bad main configuration file" error
+    ./fix-datadir.patch
+  ];
+
   nativeBuildInputs = [
     file pkg-config python3Packages.setuptools which
   ];
diff --git a/pkgs/applications/search/recoll/fix-datadir.patch b/pkgs/applications/search/recoll/fix-datadir.patch
new file mode 100644
index 0000000000000..3b316f4d90c6e
--- /dev/null
+++ b/pkgs/applications/search/recoll/fix-datadir.patch
@@ -0,0 +1,13 @@
+diff --git a/utils/rclutil.cpp b/utils/rclutil.cpp
+index 60ff5fb..4a59ccc 100644
+--- a/utils/rclutil.cpp
++++ b/utils/rclutil.cpp
+@@ -279,7 +279,7 @@ const string& path_pkgdatadir()
+         "a subfolder of the installation directory. \n"
+         "Please set the RECOLL_DATADIR environment variable to point to it\n"
+         "(e.g. setx RECOLL_DATADIR \"C:/Program Files (X86)/Recoll/Share)\"\n";
+-#elif defined(__APPLE__) && !defined(MACPORTS) && !defined(HOMEBREW)
++#elif defined(__APPLE__) && !defined(MACPORTS) && !defined(HOMEBREW) && !defined(NIXPKGS)
+     uint32_t size = 0;
+     _NSGetExecutablePath(nullptr, &size);
+     char *path= (char*)malloc(size+1);
diff --git a/pkgs/applications/terminal-emulators/blackbox-terminal/default.nix b/pkgs/applications/terminal-emulators/blackbox-terminal/default.nix
index 67a719d011701..9d2d1751ad79f 100644
--- a/pkgs/applications/terminal-emulators/blackbox-terminal/default.nix
+++ b/pkgs/applications/terminal-emulators/blackbox-terminal/default.nix
@@ -26,14 +26,14 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "blackbox";
-  version = "0.12.0";
+  version = "0.12.1";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "raggesilver";
     repo = "blackbox";
     rev = "v${version}";
-    sha256 = "sha256-8u4qHC8+3rKDFNdg5kI48dBgAm3d6ESXN5H9aT/nIBY=";
+    sha256 = "sha256-BJtRzjNmJzabI30mySTjWXfN81xj+AWpKhIberXf6Io=";
   };
 
   postPatch = ''
@@ -65,6 +65,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Beautiful GTK 4 terminal";
     homepage = "https://gitlab.gnome.org/raggesilver/blackbox";
+    changelog = "https://gitlab.gnome.org/raggesilver/blackbox/-/raw/v${version}/CHANGELOG.md";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ chuangzhu ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/terminal-emulators/iterm2/default.nix b/pkgs/applications/terminal-emulators/iterm2/default.nix
index bc42b6102c6a9..bce0f731add56 100644
--- a/pkgs/applications/terminal-emulators/iterm2/default.nix
+++ b/pkgs/applications/terminal-emulators/iterm2/default.nix
@@ -11,11 +11,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "iterm2";
-  version = "3.4.15";
+  version = "3.4.17";
 
   src = fetchzip {
     url = "https://iterm2.com/downloads/stable/iTerm2-${lib.replaceStrings ["."] ["_"] version}.zip";
-    sha256 = "sha256-ZE/uYBKB2popdIdZWA8AvyJiwMzt32u6u/H/AyNcoVo=";
+    sha256 = "sha256-t7DWK1KqHChKR+ru0wYvdDOuJDBQBaOgyol1lMjMeTU=";
   };
 
   dontFixup = true;
diff --git a/pkgs/applications/terminal-emulators/st/default.nix b/pkgs/applications/terminal-emulators/st/default.nix
index efbdc040589fa..da48550877c7d 100644
--- a/pkgs/applications/terminal-emulators/st/default.nix
+++ b/pkgs/applications/terminal-emulators/st/default.nix
@@ -14,13 +14,13 @@
 , nixosTests
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "st";
-  version = "0.8.5";
+  version = "0.9";
 
   src = fetchurl {
-    url = "https://dl.suckless.org/st/${pname}-${version}.tar.gz";
-    hash = "sha256-6mgyID7QL/dBgry4raqexFTI+YnnkjLLhZZl4vVEqzc=";
+    url = "https://dl.suckless.org/st/st-${finalAttrs.version}.tar.gz";
+    hash = "sha256-82NZeZc06ueFvss3QGPwvoM88i+ItPFpzSUbmTJOCOc=";
   };
 
   inherit patches;
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   configFile = lib.optionalString (conf != null)
     (writeText "config.def.h" conf);
 
-  postPatch = lib.optionalString (conf != null) "cp ${configFile} config.def.h"
+  postPatch = lib.optionalString (conf != null) "cp ${finalAttrs.configFile} config.def.h"
     + lib.optionalString stdenv.isDarwin ''
     substituteInPlace config.mk --replace "-lrt" ""
   '';
@@ -65,4 +65,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ andsild ];
     platforms = platforms.unix;
   };
-}
+})
diff --git a/pkgs/applications/terminal-emulators/xterm/default.nix b/pkgs/applications/terminal-emulators/xterm/default.nix
index c277e241ca303..ff0856734628b 100644
--- a/pkgs/applications/terminal-emulators/xterm/default.nix
+++ b/pkgs/applications/terminal-emulators/xterm/default.nix
@@ -4,14 +4,14 @@
 
 stdenv.mkDerivation rec {
   pname = "xterm";
-  version = "374";
+  version = "375";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.invisible-island.net/xterm/${pname}-${version}.tgz"
       "https://invisible-mirror.net/archives/xterm/${pname}-${version}.tgz"
     ];
-    sha256 = "sha256-EdTWJmcNTW17aft0Z+nsIxgX5a0iUC+RZ3aP2IrBvfU=";
+    sha256 = "sha256-MCxZor+B55xqcBUl13gWGiGNEjnyFWjYnivdMcAVIX8=";
   };
 
   strictDeps = true;
diff --git a/pkgs/applications/version-management/bcompare/default.nix b/pkgs/applications/version-management/bcompare/default.nix
index fab2780d96440..409652888caf2 100644
--- a/pkgs/applications/version-management/bcompare/default.nix
+++ b/pkgs/applications/version-management/bcompare/default.nix
@@ -4,19 +4,19 @@
 
 let
   pname = "bcompare";
-  version = "4.4.2.26348";
+  version = "4.4.4.27058";
 
   throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
 
   srcs = {
     x86_64-linux = fetchurl {
       url = "https://www.scootersoftware.com/${pname}-${version}_amd64.deb";
-      sha256 = "sha256-GotORErgPs7IPXATbBfIisDCNwp8csl7pDSwV77FylA=";
+      sha256 = "sha256-8wJzCCfekr/mrDJCDgoIqMRz21wWjfp5c5sPavZma3g=";
     };
 
     x86_64-darwin = fetchurl {
       url = "https://www.scootersoftware.com/BCompareOSX-${version}.zip";
-      sha256 = "sha256-XqmtW2EGyFmOzCooXczP3mtMN5UVQCCx7DJnVDlzAko=";
+      sha256 = "sha256-UopkyKHvbIZb9rNAJ+l3dEmOX33lQwakNypWCgYDT04=";
     };
 
     aarch64-darwin = srcs.x86_64-darwin;
diff --git a/pkgs/applications/version-management/commitizen/default.nix b/pkgs/applications/version-management/commitizen/default.nix
index bd5e22dc3c6f0..274eb3a0070f6 100644
--- a/pkgs/applications/version-management/commitizen/default.nix
+++ b/pkgs/applications/version-management/commitizen/default.nix
@@ -17,17 +17,18 @@
 , tomlkit
 , typing-extensions
 , argcomplete
+, nix-update-script
 }:
 
 buildPythonApplication rec {
   pname = "commitizen";
-  version = "2.35.0";
+  version = "2.37.0";
 
   src = fetchFromGitHub {
     owner = "commitizen-tools";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-9ek6m5k01sGVHwqWXjWYDsPmIeAgK+H23D9sF5hjrf0=";
+    hash = "sha256-wo1I6QDWLxByHISmkPdass+BcKh0oxR5hD31UN/5+WQ=";
     deepClone = true;
   };
 
@@ -80,9 +81,14 @@ buildPythonApplication rec {
     "test_get_commits_with_signature"
   ];
 
+  passthru.updateScript = nix-update-script {
+    attrPath = pname;
+  };
+
   meta = with lib; {
     description = "Tool to create committing rules for projects, auto bump versions, and generate changelogs";
     homepage = "https://github.com/commitizen-tools/commitizen";
+    changelog = "https://github.com/commitizen-tools/commitizen/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ lovesegfault anthonyroussel ];
   };
diff --git a/pkgs/applications/version-management/fossil/default.nix b/pkgs/applications/version-management/fossil/default.nix
index ab610624f3714..ea06107ed7ca8 100644
--- a/pkgs/applications/version-management/fossil/default.nix
+++ b/pkgs/applications/version-management/fossil/default.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "fossil";
-  version = "2.19";
+  version = "2.20";
 
   src = fetchurl {
     url = "https://www.fossil-scm.org/home/tarball/version-${version}/fossil-${version}.tar.gz";
-    sha256 = "sha256-RZ9/7b4lRJqFVyfXwzutO8C/Pa6XPyxtvpp7gmEGoj4=";
+    sha256 = "1knff50rr8f39myxj50fprb9ya87cslmwz7zzfya56l33r7i7jh3";
   };
 
   nativeBuildInputs = [ installShellFiles tcl tcllib ];
diff --git a/pkgs/applications/version-management/git-and-tools/gh/default.nix b/pkgs/applications/version-management/git-and-tools/gh/default.nix
index 15b164284bfb6..7d5a9cc6d6089 100644
--- a/pkgs/applications/version-management/git-and-tools/gh/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gh/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gh";
-  version = "2.18.1";
+  version = "2.20.2";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-igtbMrm4cgaBWxjvv8UjqvPNFSi1UxNgplWYArqRRi0=";
+    sha256 = "sha256-atUC6vb/tOO2GapMjTqFi4qjDAdSf2F8v3gZuzyt+9Q=";
   };
 
-  vendorSha256 = "sha256-XWquL/+47t467kOYpDgMmT7t3hbdCiPQnatRW+VtaYc=";
+  vendorSha256 = "sha256-FSniCYr3emV9W/BuEkWe0a4aZ5RCoZJc7+K+f2q49ys=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/version-management/git-and-tools/ghorg/default.nix b/pkgs/applications/version-management/git-and-tools/ghorg/default.nix
index a9bf9229e0247..2c8d36a4df6b5 100644
--- a/pkgs/applications/version-management/git-and-tools/ghorg/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/ghorg/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ghorg";
-  version = "1.8.8";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner = "gabrie30";
     repo = "ghorg";
     rev = "v${version}";
-    sha256 = "sha256-xB/TdeXC0V8dZs6N6Uq1+gzG84j9uhSrwkSbIMwUWSk=";
+    sha256 = "sha256-P9LwgEUz8QgUVQYISIx3Sa8ibFxNTGNNO5Vn014UB88=";
   };
 
   doCheck = false;
diff --git a/pkgs/applications/version-management/git-and-tools/git-absorb/default.nix b/pkgs/applications/version-management/git-and-tools/git-absorb/default.nix
index ca312188987e3..d80e481bd5bfb 100644
--- a/pkgs/applications/version-management/git-and-tools/git-absorb/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-absorb/default.nix
@@ -2,20 +2,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "git-absorb";
-  version = "0.6.7";
+  version = "0.6.9";
 
   src = fetchFromGitHub {
     owner = "tummychow";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-qhUw1wjXn1tyiH175+BadcoKoZ0wHxpMTKDIKOcJjQ0=";
+    sha256 = "sha256-z02bMJ+KQaLHqIzsdB3BCVzTQ0NRG0ylAfTHYgOxZYk=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
-  cargoSha256 = "sha256-Wh2kA12CggbgdofWJwPAy+587qfMUPSy9nQmO11+keY=";
+  cargoSha256 = "sha256-lP0fU2Cirta4WWha7Pgje537u6TbD5oiHLfamfzJtpU=";
 
   postInstall = ''
     installManPage Documentation/git-absorb.1
diff --git a/pkgs/applications/version-management/git-and-tools/git-branchless/default.nix b/pkgs/applications/version-management/git-and-tools/git-branchless/default.nix
index 640be8547c02a..1a961b422b249 100644
--- a/pkgs/applications/version-management/git-and-tools/git-branchless/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-branchless/default.nix
@@ -14,16 +14,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "git-branchless";
-  version = "0.5.1";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "arxanas";
     repo = "git-branchless";
     rev = "v${version}";
-    sha256 = "sha256-xh+G9bKEL2ho1YrNVTLbCTxSWZtjEuEWutvYEFr2G/g=";
+    sha256 = "sha256-Rf7ai+s2Fp/RFA4on9YBoTjFpvzSZtAHf0rytfZf0rc=";
   };
 
-  cargoSha256 = "sha256-Zz1RQ/mhdIbPiw2StGtTiORXiJ2nVLyZakt1072ha6U=";
+  cargoSha256 = "sha256-GVo0t2dJ6R+1UJf/NlKd5QLIQfDdFEHa+FSeW/Hk/4c=";
 
   nativeBuildInputs = [ pkg-config ];
 
@@ -43,8 +43,9 @@ rustPlatform.buildRustPackage rec {
   '';
   # FIXME: these tests deadlock when run in the Nix sandbox
   checkFlags = [
-    "--skip=test_checkout_pty"
+    "--skip=test_switch_pty"
     "--skip=test_next_ambiguous_interactive"
+    "--skip=test_switch_auto_switch_interactive"
   ];
 
   meta = with lib; {
diff --git a/pkgs/applications/version-management/git-and-tools/git-cinnabar/default.nix b/pkgs/applications/version-management/git-and-tools/git-cinnabar/default.nix
index 4141c6c1b6a46..a48fd5f20c372 100644
--- a/pkgs/applications/version-management/git-and-tools/git-cinnabar/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-cinnabar/default.nix
@@ -9,13 +9,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "git-cinnabar";
-  version = "0.5.10";
+  version = "0.5.11";
 
   src = fetchFromGitHub {
     owner = "glandium";
     repo = "git-cinnabar";
     rev = version;
-    sha256 = "sha256-vHHugCZ7ikB4lIv/TcNuOMSQsm0zCkGqu2hAFrqygu0=";
+    sha256 = "sha256-64ofKGeHwCqiZHOA6MrYrN2eV/qqClcjerDuSqsjKDg=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/version-management/git-and-tools/git-cola/default.nix b/pkgs/applications/version-management/git-and-tools/git-cola/default.nix
index 19171c5804612..fdfd722e8fb04 100644
--- a/pkgs/applications/version-management/git-and-tools/git-cola/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-cola/default.nix
@@ -5,13 +5,13 @@ let
 
 in buildPythonApplication rec {
   pname = "git-cola";
-  version = "4.0.2";
+  version = "4.0.3";
 
   src = fetchFromGitHub {
     owner = "git-cola";
     repo = "git-cola";
     rev = "refs/tags/v${version}";
-    hash = "sha256-5PE2Ey9IwNzxl4mk7tzaSWXiTmRFlxDO5MhoIYAwEag=";
+    hash = "sha256-w3SbuquHuWTYg1N3kcix4S5vrsmclVSrHf6uv8CYU6w=";
   };
 
   buildInputs = [ git gettext ];
diff --git a/pkgs/applications/version-management/git-and-tools/git-credential-keepassxc/default.nix b/pkgs/applications/version-management/git-and-tools/git-credential-keepassxc/default.nix
new file mode 100644
index 0000000000000..0e5ba28eebaac
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git-credential-keepassxc/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, stdenv
+, rustPlatform
+, fetchFromGitHub
+, DiskArbitration
+, Foundation
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "git-credential-keepassxc";
+  version = "0.10.1";
+
+  src = fetchFromGitHub {
+    owner = "Frederick888";
+    repo = "git-credential-keepassxc";
+    rev = "v${version}";
+    hash = "sha256-zVE3RQlh0SEV4iavz40YhR+MP31oLCvG54H8gqXwL/k=";
+  };
+
+  cargoHash = "sha256-H75SGbT//02I+umttnPM5BwtFkDVNxEYLf84oULEuEk=";
+
+  buildInputs = lib.optionals stdenv.isDarwin [ DiskArbitration Foundation ];
+
+  meta = with lib; {
+    description = "Helper that allows Git (and shell scripts) to use KeePassXC as credential store";
+    longDescription = ''
+      git-credential-keepassxc is a Git credential helper that allows Git
+      (and shell scripts) to get/store logins from/to KeePassXC.
+      It communicates with KeePassXC using keepassxc-protocol which is
+      originally designed for browser extensions.
+    '';
+    homepage = "https://github.com/Frederick888/git-credential-keepassxc";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ fgaz ];
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/git-machete/default.nix b/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
index 3eb432840f867..a41380380bcc7 100644
--- a/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonApplication rec {
   pname = "git-machete";
-  version = "3.12.5";
+  version = "3.13.0";
 
   src = fetchFromGitHub {
     owner = "virtuslab";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-EC4uI9q/iwX9U/xvyCZ3HAmfGEbKoADLKMx5f30Q9Ys=";
+    sha256 = "sha256-Ku142NjiDTxiZ50Sm6vZs5ZHJ25oALnLQw8ThWqQ2rE=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix b/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix
index 7fe9883c556da..23b8fd95cfd67 100644
--- a/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix
@@ -1,19 +1,20 @@
-{ lib, stdenv, fetchFromGitHub, git, makeWrapper, which }:
+{ lib, stdenv, fetchFromGitHub, git, makeWrapper, which, installShellFiles }:
 
 stdenv.mkDerivation rec {
   pname = "git-subrepo";
-  version = "0.4.1";
+  version = "0.4.5";
 
   src = fetchFromGitHub {
     owner = "ingydotnet";
     repo = "git-subrepo";
     rev = version;
-    sha256 = "0n10qnc8kyms6cv65k1n5xa9nnwpwbjn9h2cq47llxplawzqgrvp";
+    sha256 = "sha256-ZU5yYaiear5AjlBqtzabmMJNUa2ypeJKW3sQPIcyskM=";
   };
 
   nativeBuildInputs = [
     makeWrapper
     which
+    installShellFiles
   ];
 
   buildInputs = [
@@ -26,21 +27,9 @@ stdenv.mkDerivation rec {
     "INSTALL_MAN=${placeholder "out"}/share/man/man1"
   ];
 
-  patches = [
-    # Allow zsh completion to work even though we aren't installing from a git
-    # clone.  Also submitted upstream as
-    # https://github.com/ingydotnet/git-subrepo/pull/420
-    ./zsh-completion.patch
-  ];
-
   postInstall = ''
-    ZSH_COMP_DIR="$out/share/zsh/vendor-completions"
-    mkdir -p "$ZSH_COMP_DIR"
-    cp share/zsh-completion/_git-subrepo "$ZSH_COMP_DIR/"
-
-    BASH_COMP_DIR="$out/share/bash-completion/completions"
-    mkdir -p "$BASH_COMP_DIR"
-    cp share/completion.bash "$BASH_COMP_DIR/git-subrepo"
+    installShellCompletion --bash --name git-subrepo.bash share/completion.bash
+    installShellCompletion --zsh share/zsh-completion/_git-subrepo
   '';
 
   postFixup = ''
@@ -52,7 +41,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/ingydotnet/git-subrepo";
     description = "Git submodule alternative";
     license = licenses.mit;
-    platforms = platforms.unix ++ platforms.darwin;
-    maintainers = [ maintainers.ryantrinkle ];
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ ryantrinkle ];
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/git-subrepo/zsh-completion.patch b/pkgs/applications/version-management/git-and-tools/git-subrepo/zsh-completion.patch
deleted file mode 100644
index dcba5ba6eea12..0000000000000
--- a/pkgs/applications/version-management/git-and-tools/git-subrepo/zsh-completion.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff --git a/pkg/bin/generate-completion.pl b/pkg/bin/generate-completion.pl
-index 85ae3b8..d3e423c 100644
---- a/pkg/bin/generate-completion.pl
-+++ b/pkg/bin/generate-completion.pl
-@@ -82,11 +82,6 @@ sub generate_zsh {
- 
- # DO NOT EDIT. This file generated by pkg/bin/generate-completion.pl.
- 
--if [[ -z $GIT_SUBREPO_ROOT ]]; then
--	echo 'GIT_SUBREPO_ROOT is null; has `/path/to/git-subrepo/.rc` been sourced?'
--	return 3
--fi
--
- _git-subrepo() {
-     typeset -A opt_args
-     local curcontext="$curcontext" state line context
-diff --git a/share/zsh-completion/_git-subrepo b/share/zsh-completion/_git-subrepo
-index fc82be2..a8069d9 100644
---- a/share/zsh-completion/_git-subrepo
-+++ b/share/zsh-completion/_git-subrepo
-@@ -3,11 +3,6 @@
- 
- # DO NOT EDIT. This file generated by pkg/bin/generate-completion.pl.
- 
--if [[ -z $GIT_SUBREPO_ROOT ]]; then
--	echo 'GIT_SUBREPO_ROOT is null; has `/path/to/git-subrepo/.rc` been sourced?'
--	return 3
--fi
--
- _git-subrepo() {
-     typeset -A opt_args
-     local curcontext="$curcontext" state line context
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index dd244b3687c15..2d63ae403791c 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -28,7 +28,7 @@ assert sendEmailSupport -> perlSupport;
 assert svnSupport -> perlSupport;
 
 let
-  version = "2.38.0";
+  version = "2.38.1";
   svn = subversionClient.override { perlBindings = perlSupport; };
   gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
 in
@@ -41,7 +41,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
-    sha256 = "sha256-kj6t4msYFN540GvajgqfXai3xLMEs/kFD/tGTwMQMgo=";
+    sha256 = "sha256-l9346liiueD7wlCOJFAoynWRG9ONFVFhaxSMGqV0Ctk=";
   };
 
   outputs = [ "out" ] ++ lib.optional withManual "doc";
@@ -207,6 +207,7 @@ stdenv.mkDerivation (finalAttrs: {
       # Also put git-http-backend into $PATH, so that we can use smart
       # HTTP(s) transports for pushing
       ln -s $out/libexec/git-core/git-http-backend $out/bin/git-http-backend
+      ln -s $out/share/git/contrib/git-jump/git-jump $out/bin/git-jump
     '' + lib.optionalString perlSupport ''
       # wrap perl commands
       makeWrapper "$out/share/git/contrib/credential/netrc/git-credential-netrc.perl" $out/bin/git-credential-netrc \
diff --git a/pkgs/applications/version-management/git-and-tools/gitnuro/default.nix b/pkgs/applications/version-management/git-and-tools/gitnuro/default.nix
new file mode 100644
index 0000000000000..db79637ef9ff9
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/gitnuro/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, stdenv
+, fetchurl
+, makeWrapper
+, copyDesktopItems
+, makeDesktopItem
+, jre
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gitnuro";
+  version = "1.1.1";
+
+  src = fetchurl {
+    url = "https://github.com/JetpackDuba/Gitnuro/releases/download/v${version}/Gitnuro-linux-${version}.jar";
+    hash = "sha256-ugZBk/aQ2pjL9xY66g20MorAQ02GHIdJTv8ejadaBgY=";
+  };
+
+  icon = fetchurl {
+    url = "https://raw.githubusercontent.com/JetpackDuba/Gitnuro/4cfc45069c176f807d9bfb1a7cba410257078d3c/icons/logo.svg";
+    hash = "sha256-QGJcWTSJesIpDArOWiS3Kn1iznzeMFzvqS+CuNXh3as=";
+  };
+
+  dontUnpack = true;
+
+  nativeBuildInputs = [
+    makeWrapper
+    copyDesktopItems
+  ];
+
+  installPhase = ''
+    runHook preInstall
+    makeWrapper ${jre}/bin/java $out/bin/gitnuro --add-flags "-jar $src"
+    install -Dm444 $icon $out/share/icons/hicolor/scalable/apps/com.jetpackduba.Gitnuro.svg
+    runHook postInstall
+  '';
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "Gitnuro";
+      exec = "gitnuro";
+      icon = "com.jetpackduba.Gitnuro";
+      desktopName = "Gitnuro";
+      categories = [ "Development" ];
+      comment = meta.description;
+    })
+  ];
+
+  meta = with lib; {
+    description = "A FOSS Git multiplatform client based on Compose and JGit";
+    homepage = "https://gitnuro.jetpackduba.com";
+    license = licenses.gpl3Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ zendo ];
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/gitui/default.nix b/pkgs/applications/version-management/git-and-tools/gitui/default.nix
index ccbe593178321..3b383647c2c9d 100644
--- a/pkgs/applications/version-management/git-and-tools/gitui/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gitui/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gitui";
-  version = "0.21.0";
+  version = "0.22.0";
 
   src = fetchFromGitHub {
     owner = "extrawurst";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-B/RKPYq1U40NV3AM/cQi2eQaK5vxynP3JA0DReSBuCo=";
+    sha256 = "sha256-ZLGA0LHdGPqIoNG2k4nunVWYlOnwRT8nqTSwUWGkfCU=";
   };
 
-  cargoSha256 = "sha256-r4kritS3v8GgFZfWeeyrsy6v3IlH3DByTU8Ir4FDngs=";
+  cargoSha256 = "sha256-ArJerq3gLzPm66RWDCvkpPFyh7ZyaoqLO/3zSjFTL04=";
 
   nativeBuildInputs = [ pkg-config ];
 
@@ -32,6 +32,11 @@ rustPlatform.buildRustPackage rec {
   # Needed to get openssl-sys to use pkg-config.
   OPENSSL_NO_VENDOR = 1;
 
+  # The cargo config overrides linkers for some targets, breaking the build
+  # on e.g. `aarch64-linux`. These overrides are not required in the Nix
+  # environment: delete them.
+  postPatch = "rm .cargo/config";
+
   meta = with lib; {
     description = "Blazing fast terminal-ui for Git written in Rust";
     homepage = "https://github.com/extrawurst/gitui";
diff --git a/pkgs/applications/version-management/git-and-tools/lefthook/default.nix b/pkgs/applications/version-management/git-and-tools/lefthook/default.nix
index 7e84a9815d166..def387980d63f 100644
--- a/pkgs/applications/version-management/git-and-tools/lefthook/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/lefthook/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "lefthook";
-  version = "1.1.3";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "evilmartians";
     repo = "lefthook";
-    sha256 = "sha256-TV7ogO7mfRMpLekRAedJsdRJUBbPyxPO9MCoGg6uCno=";
+    sha256 = "sha256-ZMqqiPSNNJw9t3p5h/GUHa9cvl9LcJ4u0HMf1ag8qCc=";
   };
 
   vendorSha256 = "sha256-NTZz0EDIjGdh8dD9jxbNVdWb7NFJsdtnMp7H6Ni0EbQ=";
diff --git a/pkgs/applications/version-management/git-repo/default.nix b/pkgs/applications/version-management/git-repo/default.nix
index 809ca5eaae51c..e47ea6b12dbef 100644
--- a/pkgs/applications/version-management/git-repo/default.nix
+++ b/pkgs/applications/version-management/git-repo/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "git-repo";
-  version = "2.29.5";
+  version = "2.30";
 
   src = fetchFromGitHub {
     owner = "android";
     repo = "tools_repo";
     rev = "v${version}";
-    sha256 = "sha256-eMuQ0cVVbLvpDsGCob8s7D1Q+52Q2gOHTg7anP5KVAc=";
+    sha256 = "sha256-Ck+Q7sHhMqUWu6WeA3DhY+svMxH2sU0WvmyvZ5qsW+E=";
   };
 
   # Fix 'NameError: name 'ssl' is not defined'
diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
index a5eb46d834af7..693b7adf46b85 100644
--- a/pkgs/applications/version-management/gitlab/data.json
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -1,15 +1,15 @@
 {
-  "version": "15.4.2",
-  "repo_hash": "sha256-KGVZrfrzfIn2ZQJ42FisLvjIGg0+QOnzfjCR6mQHjlM=",
+  "version": "15.4.4",
+  "repo_hash": "sha256-iIgN1j02Lr/RtNeopqs6ndFqw8YIU2F6c49RGWvpmgc=",
   "yarn_hash": "1r33qrvwf2wmq5c1d2awk9qhk9nzvafqn3drdvnczfv43sda4lg8",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v15.4.2-ee",
+  "rev": "v15.4.4-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "15.4.2",
+    "GITALY_SERVER_VERSION": "15.4.4",
     "GITLAB_PAGES_VERSION": "1.62.0",
     "GITLAB_SHELL_VERSION": "14.10.0",
-    "GITLAB_WORKHORSE_VERSION": "15.4.2"
+    "GITLAB_WORKHORSE_VERSION": "15.4.4"
   },
   "vendored_gems": [
     "bundler-checksum",
diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix
index 32786117c2132..44a8218e1fbc8 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -11,7 +11,7 @@ let
     gemdir = ./.;
   };
 
-  version = "15.4.2";
+  version = "15.4.4";
   package_version = "v${lib.versions.major version}";
   gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}";
 
@@ -22,7 +22,7 @@ let
       owner = "gitlab-org";
       repo = "gitaly";
       rev = "v${version}";
-      sha256 = "sha256-DBAQ1dJLQ+Xno4e/n1jvgKiHAol/uTMjx6RtZIBwM3w=";
+      sha256 = "sha256-b8ChQYaj+7snlrLP4P9FIUSIq/SNMh9hFlFajOPcBEU=";
     };
 
     vendorSha256 = "sha256-CUFYHjmOfosM3mfw0qEY+AQcR8U3J/1lU2Ml6wSZ/QM=";
diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index 5b6617e0ab70f..2042b6c2bcefa 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
@@ -5,7 +5,7 @@ in
 buildGoModule rec {
   pname = "gitlab-workhorse";
 
-  version = "15.4.2";
+  version = "15.4.4";
 
   src = fetchFromGitLab {
     owner = data.owner;
diff --git a/pkgs/applications/version-management/gitoxide/default.nix b/pkgs/applications/version-management/gitoxide/default.nix
index b4182927b7d82..2f207e8ee4746 100644
--- a/pkgs/applications/version-management/gitoxide/default.nix
+++ b/pkgs/applications/version-management/gitoxide/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gitoxide";
-  version = "0.16.0";
+  version = "0.18.0";
 
   src = fetchFromGitHub {
     owner = "Byron";
     repo = "gitoxide";
     rev = "v${version}";
-    sha256 = "sha256-4Yk3WXkm8jdabEisGKqVQlzjFrrf3pskRmuPa5K4vw4=";
+    sha256 = "sha256-VB7v51YW4aA5WHVD5ZWFzv9hQskjQeqMzm+pQ9glODg=";
   };
 
-  cargoSha256 = "sha256-mX58cb1Ywr7npmxgynDQ1x1PmO/62Bd+bONdv/Y1I2Q=";
+  cargoSha256 = "sha256-uII6o/cJktpUFxROuu11dNSXx0p6phVVqszmbYK9Rd0=";
 
   nativeBuildInputs = [ cmake pkg-config ];
   buildInputs = if stdenv.isDarwin
diff --git a/pkgs/applications/version-management/got/default.nix b/pkgs/applications/version-management/got/default.nix
index b70fe634cb1ee..00b49f2957ad1 100644
--- a/pkgs/applications/version-management/got/default.nix
+++ b/pkgs/applications/version-management/got/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "got";
-  version = "0.77";
+  version = "0.79";
 
   src = fetchurl {
     url = "https://gameoftrees.org/releases/portable/got-portable-${version}.tar.gz";
-    sha256 = "sha256-/O9u7Ei6f0rGr7LRWcG9FUQd7Z+qpq2/6H01jNR1C7o=";
+    sha256 = "sha256-eL4cCpBRhO0ctQZGg1n6+H5O6GhRKRsWcEOcRr+z2Hw=";
   };
 
   nativeBuildInputs = [ pkg-config bison ];
diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix
index feb1063503ff3..b3af90c2a38e2 100644
--- a/pkgs/applications/version-management/mercurial/default.nix
+++ b/pkgs/applications/version-management/mercurial/default.nix
@@ -21,11 +21,11 @@ let
 
   self = python3Packages.buildPythonApplication rec {
     pname = "mercurial${lib.optionalString fullBuild "-full"}";
-    version = "6.2.3";
+    version = "6.3.0";
 
     src = fetchurl {
       url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
-      sha256 = "sha256-mNGuAC9orfU9ZcWUf+i3o3n5jPBdm46h9Ad9LKXc6ds=";
+      sha256 = "sha256-iAOZtVSh3mQQFs5fNbiEDXXxjWh7mrHDWNrAWK1m5pg=";
     };
 
     format = "other";
@@ -35,7 +35,7 @@ let
     cargoDeps = if rustSupport then rustPlatform.fetchCargoTarball {
       inherit src;
       name = "mercurial-${version}";
-      sha256 = "sha256-UWYXVPdEMITLNdBjnoo8IuLOGZiwUJL+dqSl26nf5qs=";
+      sha256 = "sha256-VfIZ1bV8bhjjBL4KNjToPuu8gg9TkChziH2rRKhdRXE=";
       sourceRoot = "mercurial-${version}/rust";
     } else null;
     cargoRoot = if rustSupport then "rust" else null;
@@ -149,9 +149,6 @@ let
     # doesn't like the extra setlocale warnings emitted by our bash wrappers
     test-locale.t
 
-    # Python 3.10 error message change https://bz.mercurial-scm.org/show_bug.cgi?id=6643
-    test-http-bad-server.t
-
     # Python 3.10-3.12 deprecation warning: distutils
     # https://bz.mercurial-scm.org/show_bug.cgi?id=6729
     test-hghave.t
@@ -159,6 +156,10 @@ let
     # Python 3.10-3.12 deprecation warning: asyncore
     # https://bz.mercurial-scm.org/show_bug.cgi?id=6727
     test-patchbomb-tls.t
+
+    # Test broken with recent versions of git due to default policy change
+    # https://foss.heptapod.net/mercurial/mercurial-devel/-/merge_requests/302
+    test-convert-git.t
     EOF
 
     export HGTEST_REAL_HG="${mercurial}/bin/hg"
diff --git a/pkgs/applications/version-management/sourcehut/builds.nix b/pkgs/applications/version-management/sourcehut/builds.nix
index 1655ad28aaf9a..20d4d463a0938 100644
--- a/pkgs/applications/version-management/sourcehut/builds.nix
+++ b/pkgs/applications/version-management/sourcehut/builds.nix
@@ -1,6 +1,5 @@
 { lib
 , fetchFromSourcehut
-, fetchpatch
 , buildGoModule
 , buildPythonPackage
 , srht
@@ -13,36 +12,27 @@
 , unzip
 }:
 let
-  version = "0.82.8";
+  version = "0.83.0";
 
   src = fetchFromSourcehut {
     owner = "~sircmpwn";
     repo = "builds.sr.ht";
     rev = version;
-    hash = "sha256-M94zkEUJU8EwksN34sd5IkASDCQ0hHb98G5wzZsCrpg=";
+    hash = "sha256-u/y+sYu/09LypWI/ngghbge5SvkuLQpray10j0SjlOo=";
   };
 
   buildsrht-api = buildGoModule ({
     inherit src version;
     pname = "buildsrht-api";
     modRoot = "api";
-    vendorHash = "sha256-8z5m4bMwLeYg4i91MMjLMqbciWvqS0icCHFUJTUHBgk=";
-  } // import ./fix-gqlgen-trimpath.nix { inherit unzip; });
+    vendorHash = "sha256-DfVWr/4J4ZrhHpy9CXPaAQcbag/9FmDgiexcNo0lEsk=";
+  } // import ./fix-gqlgen-trimpath.nix { inherit unzip; gqlgenVersion= "0.17.20"; });
 
   buildsrht-worker = buildGoModule {
     inherit src version;
     sourceRoot = "source/worker";
     pname = "buildsrht-worker";
     vendorHash = "sha256-y5RFPbtaGmgPpiV2Q3njeWORGZF1TJRjAbY6VgC1hek=";
-
-    patches = [
-      (fetchpatch {
-        name = "update-x-sys-for-go-1.18-on-aarch64-darwin.patch";
-        url = "https://git.sr.ht/~sircmpwn/builds.sr.ht/commit/f58bbde6bfed7d2321a3b17e991c91fc83d4c230.patch";
-        stripLen = 1;
-        hash = "sha256-vQR/T5G5Gz5tY+SEZZabsbnFKW44b+Bs+GDdydyeCDs=";
-      })
-    ];
   };
 in
 buildPythonPackage rec {
@@ -54,8 +44,6 @@ buildPythonPackage rec {
       --replace "all: api worker" ""
   '';
 
-  nativeBuildInputs = srht.nativeBuildInputs;
-
   propagatedBuildInputs = [
     srht
     redis
diff --git a/pkgs/applications/version-management/sourcehut/core.nix b/pkgs/applications/version-management/sourcehut/core.nix
index ff56c62c62e99..e31bc13c82ae1 100644
--- a/pkgs/applications/version-management/sourcehut/core.nix
+++ b/pkgs/applications/version-management/sourcehut/core.nix
@@ -52,7 +52,7 @@ buildPythonPackage rec {
     patches/redis-socket/core/0001-Fix-Unix-socket-support-in-RedisQueueCollector.patch
   ];
 
-  nativeBuildInputs = [
+  propagatedNativeBuildInputs = [
     sassc
     nodejs
   ];
diff --git a/pkgs/applications/version-management/sourcehut/default.nix b/pkgs/applications/version-management/sourcehut/default.nix
index d5c8a97a5f898..2189e54ce3ca5 100644
--- a/pkgs/applications/version-management/sourcehut/default.nix
+++ b/pkgs/applications/version-management/sourcehut/default.nix
@@ -22,7 +22,6 @@ let
       listssrht = self.callPackage ./lists.nix { };
       mansrht = self.callPackage ./man.nix { };
       metasrht = self.callPackage ./meta.nix { };
-      pagessrht = self.callPackage ./pages.nix { };
       pastesrht = self.callPackage ./paste.nix { };
       todosrht = self.callPackage ./todo.nix { };
 
@@ -41,7 +40,7 @@ with python.pkgs; recurseIntoAttrs {
   listssrht = toPythonApplication listssrht;
   mansrht = toPythonApplication mansrht;
   metasrht = toPythonApplication metasrht;
-  pagessrht = pagessrht;
+  pagessrht = callPackage ./pages.nix { };
   pastesrht = toPythonApplication pastesrht;
   todosrht = toPythonApplication todosrht;
   passthru.tests = {
diff --git a/pkgs/applications/version-management/sourcehut/dispatch.nix b/pkgs/applications/version-management/sourcehut/dispatch.nix
index a2da28404ac92..05ed0450e0002 100644
--- a/pkgs/applications/version-management/sourcehut/dispatch.nix
+++ b/pkgs/applications/version-management/sourcehut/dispatch.nix
@@ -18,8 +18,6 @@ buildPythonPackage rec {
     sha256 = "sha256-bZ4ZKohMozZIyP0TUgxETOECib4XGUv29+Mg8ZsoMf8=";
   };
 
-  nativeBuildInputs = srht.nativeBuildInputs;
-
   propagatedBuildInputs = [
     srht
     pyyaml
diff --git a/pkgs/applications/version-management/sourcehut/git.nix b/pkgs/applications/version-management/sourcehut/git.nix
index 1f76e5cb65f8f..5d7478b9440b4 100644
--- a/pkgs/applications/version-management/sourcehut/git.nix
+++ b/pkgs/applications/version-management/sourcehut/git.nix
@@ -63,8 +63,6 @@ buildPythonPackage rec {
       --replace "all: api gitsrht-dispatch gitsrht-keys gitsrht-shell gitsrht-update-hook" ""
   '';
 
-  nativeBuildInputs = srht.nativeBuildInputs;
-
   propagatedBuildInputs = [
     srht
     pygit2
diff --git a/pkgs/applications/version-management/sourcehut/hg.nix b/pkgs/applications/version-management/sourcehut/hg.nix
index c1470c3fc5c6d..eb8fa966242a6 100644
--- a/pkgs/applications/version-management/sourcehut/hg.nix
+++ b/pkgs/applications/version-management/sourcehut/hg.nix
@@ -41,8 +41,6 @@ buildPythonPackage rec {
     vendorSha256 = "sha256-7ti8xCjSrxsslF7/1X/GY4FDl+69hPL4UwCDfjxmJLU=";
   };
 
-  nativeBuildInputs = srht.nativeBuildInputs;
-
   propagatedBuildInputs = [
     srht
     hglib
diff --git a/pkgs/applications/version-management/sourcehut/hub.nix b/pkgs/applications/version-management/sourcehut/hub.nix
index 75d9efe5bd93d..c3a9c509f8934 100644
--- a/pkgs/applications/version-management/sourcehut/hub.nix
+++ b/pkgs/applications/version-management/sourcehut/hub.nix
@@ -2,6 +2,7 @@
 , fetchFromSourcehut
 , buildPythonPackage
 , srht
+, pyyaml
 }:
 
 buildPythonPackage rec {
@@ -15,10 +16,9 @@ buildPythonPackage rec {
     sha256 = "sha256-4n6oQ+AAvdJY/5KflxAp62chjyrlSUkmt319DKZk33w=";
   };
 
-  nativeBuildInputs = srht.nativeBuildInputs;
-
   propagatedBuildInputs = [
     srht
+    pyyaml
   ];
 
   preBuild = ''
diff --git a/pkgs/applications/version-management/sourcehut/lists.nix b/pkgs/applications/version-management/sourcehut/lists.nix
index d981598a7b19a..e4b366b01ed69 100644
--- a/pkgs/applications/version-management/sourcehut/lists.nix
+++ b/pkgs/applications/version-management/sourcehut/lists.nix
@@ -28,15 +28,13 @@ buildPythonPackage rec {
     pname = "listssrht-api";
     modRoot = "api";
     vendorSha256 = "sha256-xnmMkRSokbhWD+kz0XQ9AinYdm6/50FRBISURPvlzD0=";
-  } // import ./fix-gqlgen-trimpath.nix { inherit unzip;});
+  } // import ./fix-gqlgen-trimpath.nix { inherit unzip; });
 
   postPatch = ''
     substituteInPlace Makefile \
       --replace "all: api" ""
   '';
 
-  nativeBuildInputs = srht.nativeBuildInputs;
-
   propagatedBuildInputs = [
     srht
     pygit2
diff --git a/pkgs/applications/version-management/sourcehut/man.nix b/pkgs/applications/version-management/sourcehut/man.nix
index 530101d573520..dadc508edd869 100644
--- a/pkgs/applications/version-management/sourcehut/man.nix
+++ b/pkgs/applications/version-management/sourcehut/man.nix
@@ -17,8 +17,6 @@ buildPythonPackage rec {
     sha256 = "sha256-5xZH6DrTXMdWd26OGICp7lZ/QDjACIa7zNUJHB7jzGo=";
   };
 
-  nativeBuildInputs = srht.nativeBuildInputs;
-
   propagatedBuildInputs = [
     srht
     pygit2
diff --git a/pkgs/applications/version-management/sourcehut/meta.nix b/pkgs/applications/version-management/sourcehut/meta.nix
index 4572fc81b2889..205409bb4d945 100644
--- a/pkgs/applications/version-management/sourcehut/meta.nix
+++ b/pkgs/applications/version-management/sourcehut/meta.nix
@@ -19,21 +19,21 @@
 , unzip
 }:
 let
-  version = "0.58.18";
+  version = "0.61.3";
 
   src = fetchFromSourcehut {
     owner = "~sircmpwn";
     repo = "meta.sr.ht";
     rev = version;
-    sha256 = "sha256-OjbQHAzG2nZwpJUIvhKaCJWZbhZDC2R6C+SkbKUpk8o=";
+    hash = "sha256-wMcpdRSRvxYEV163mdTGOemk62gljua89SOtwe6qGXU=";
   };
 
   metasrht-api = buildGoModule ({
     inherit src version;
     pname = "metasrht-api";
     modRoot = "api";
-    vendorSha256 = "sha256-kiEuEYZFbwJ6SbKFtxH4SiRaZmqYriRHPoHdTX28+d0=";
-  } // import ./fix-gqlgen-trimpath.nix { inherit unzip; });
+    vendorHash = "sha256-ZoDRGmGe9o5pn89gJ60wjSp5Cc0yxRfvdhNnbwAhmSI=";
+  } // import ./fix-gqlgen-trimpath.nix { inherit unzip; gqlgenVersion = "0.17.20"; });
 
 in
 buildPythonPackage rec {
@@ -45,8 +45,6 @@ buildPythonPackage rec {
       --replace "all: api" ""
   '';
 
-  nativeBuildInputs = srht.nativeBuildInputs;
-
   propagatedBuildInputs = [
     pgpy
     srht
diff --git a/pkgs/applications/version-management/sourcehut/paste.nix b/pkgs/applications/version-management/sourcehut/paste.nix
index e31473bd34361..253ea8c0b9d67 100644
--- a/pkgs/applications/version-management/sourcehut/paste.nix
+++ b/pkgs/applications/version-management/sourcehut/paste.nix
@@ -22,8 +22,6 @@ buildPythonPackage rec {
       --replace "all: api" ""
   '';
 
-  nativeBuildInputs = srht.nativeBuildInputs;
-
   propagatedBuildInputs = [
     srht
     pyyaml
diff --git a/pkgs/applications/version-management/sourcehut/scm.nix b/pkgs/applications/version-management/sourcehut/scm.nix
index 49eea05a7a7a2..1edc951cbed8b 100644
--- a/pkgs/applications/version-management/sourcehut/scm.nix
+++ b/pkgs/applications/version-management/sourcehut/scm.nix
@@ -18,8 +18,6 @@ buildPythonPackage rec {
     sha256 = "sha256-iSzzyI8HZOpOb4dyt520MV/wds14fNag2+UOF09KS7w=";
   };
 
-  nativeBuildInputs = srht.nativeBuildInputs;
-
   propagatedBuildInputs = [
     srht
     redis
diff --git a/pkgs/applications/version-management/sourcehut/todo.nix b/pkgs/applications/version-management/sourcehut/todo.nix
index 0278fb6bd1738..b6e4f8c33110f 100644
--- a/pkgs/applications/version-management/sourcehut/todo.nix
+++ b/pkgs/applications/version-management/sourcehut/todo.nix
@@ -33,9 +33,7 @@ buildPythonPackage rec {
     pname = "todosrht-api";
     modRoot = "api";
     vendorSha256 = "sha256-LB1H4jwnvoEyaaYJ09NI/M6IkgZwRet/fkso6b9EPV0=";
-  } // import ./fix-gqlgen-trimpath.nix {inherit unzip;});
-
-  nativeBuildInputs = srht.nativeBuildInputs;
+  } // import ./fix-gqlgen-trimpath.nix { inherit unzip; });
 
   propagatedBuildInputs = [
     srht
diff --git a/pkgs/applications/version-management/srvc/default.nix b/pkgs/applications/version-management/srvc/default.nix
index 8e32b42912c0d..7547d6d4051e5 100644
--- a/pkgs/applications/version-management/srvc/default.nix
+++ b/pkgs/applications/version-management/srvc/default.nix
@@ -1,22 +1,30 @@
-{ lib, fetchFromGitHub, rustPlatform }:
+{ lib, rustPlatform, fetchFromGitHub, stdenv, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "srvc";
-  version = "0.6.0";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "insilica";
     repo = "rs-srvc";
     rev = "v${version}";
-    sha256 = "sha256-PBs86cvEacvCt/2JnURL4qKvXGXRZHWaGYrPUSsnt0I=";
+    sha256 = "sha256-2eEuKAMxxTwjDInpYcOlFJha5DTe0IrxT5rI6ymN0hc=";
   };
 
-  cargoSha256 = "sha256-5CUbfI67gsINdHcxN8KbIN10Mu90rAU53DbmQ5QotWg=";
+  cargoSha256 = "sha256-nJM7/w4awbCZQysUOSTO6bfsBXO3agJRdp1RyRZhtUY=";
+
+  # remove timeouts in tests to make them less flaky
+  patches = [ ./tests-no-timeout.patch ];
+
+  buildInputs = lib.optionals stdenv.isDarwin [
+    Security
+  ];
 
   meta = with lib; {
     description = "Sysrev version control";
     homepage = "https://github.com/insilica/rs-srvc";
     license = licenses.asl20;
     maintainers = with maintainers; [ john-shaffer ];
+    mainProgram = "sr";
   };
 }
diff --git a/pkgs/applications/version-management/srvc/tests-no-timeout.patch b/pkgs/applications/version-management/srvc/tests-no-timeout.patch
new file mode 100644
index 0000000000000..d353b9e5f44b1
--- /dev/null
+++ b/pkgs/applications/version-management/srvc/tests-no-timeout.patch
@@ -0,0 +1,36 @@
+--- a/tests/common/mod.rs
++++ b/tests/common/mod.rs
+@@ -1,15 +1,13 @@
+ #![allow(dead_code)]
+ 
+ use std::path::PathBuf;
+-use std::time::Duration;
+ 
+ use assert_cmd::Command;
+ #[cfg(unix)]
+ use rexpect::session::PtySession;
+ 
+-pub fn cmd(timeout_millis: u64) -> Command {
++pub fn cmd(_: u64) -> Command {
+     let mut cmd = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap();
+-    cmd.timeout(Duration::from_millis(timeout_millis));
+     cmd.env_remove("RUST_BACKTRACE");
+     cmd
+ }
+@@ -19,14 +17,14 @@ pub fn spawn(
+     dir: &str,
+     args: Vec<&str>,
+     timestamp_override: u64,
+-    timeout_millis: u64,
++    _: u64,
+ ) -> Result<PtySession, rexpect::errors::Error> {
+     let mut cmd = std::process::Command::new(env!("CARGO_BIN_EXE_sr"));
+     cmd.args(args);
+     cmd.current_dir(dir);
+     cmd.env("SR_TIMESTAMP_OVERRIDE", timestamp_override.to_string());
+     cmd.env_remove("RUST_BACKTRACE");
+-    Ok(rexpect::session::spawn_command(cmd, Some(timeout_millis))?)
++    rexpect::session::spawn_command(cmd, None)
+ }
+ 
+ pub fn remove_sink(dir: &str) -> Result<(), std::io::Error> {
diff --git a/pkgs/applications/version-management/sublime-merge/default.nix b/pkgs/applications/version-management/sublime-merge/default.nix
index 5cbb4fe1ba9f3..87ad6a287667e 100644
--- a/pkgs/applications/version-management/sublime-merge/default.nix
+++ b/pkgs/applications/version-management/sublime-merge/default.nix
@@ -4,13 +4,13 @@ let
   common = opts: callPackage (import ./common.nix opts);
 in {
   sublime-merge = common {
-    buildVersion = "2077";
-    x64sha256 = "6xgh/oSatTYHCnQEXiZAoHs3yI1iimLMtzCosBKBVp8=";
+    buildVersion = "2079";
+    x64sha256 = "y4ocLXxxEkGaw9O/vhX9MJnc56QgK37YPJkUwK2YS0U=";
   } {};
 
   sublime-merge-dev = common {
-    buildVersion = "2076";
-    x64sha256 = "k43D+TqS1DImpJKzYuf3LqmsxF3XF9Fwqn2txL13xAA=";
+    buildVersion = "2078";
+    x64sha256 = "33oJOnsOUr9W+OGMetafaGtXUa+CHxxLjmtDoZliw0k=";
     dev = true;
   } {};
 }
diff --git a/pkgs/applications/version-management/vcsh/default.nix b/pkgs/applications/version-management/vcsh/default.nix
index 3f33edc95387c..1fa100591832d 100644
--- a/pkgs/applications/version-management/vcsh/default.nix
+++ b/pkgs/applications/version-management/vcsh/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "vcsh";
-  version = "2.0.4";
+  version = "2.0.5";
 
   src = fetchurl {
     url = "https://github.com/RichiH/vcsh/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-W/Ql2J9HTDQPu0el34mHVzqe85KGWLPph2sHyuEzPPI=";
+    sha256 = "0bf3gacbyxw75ksd8y6528kgk7mqx6grz40gfiffxa2ghsz1xl01";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/video/ffmpeg-normalize/default.nix b/pkgs/applications/video/ffmpeg-normalize/default.nix
index 61c1e025afe7d..7ca99c066ea1e 100644
--- a/pkgs/applications/video/ffmpeg-normalize/default.nix
+++ b/pkgs/applications/video/ffmpeg-normalize/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonApplication rec {
   pname = "ffmpeg-normalize";
-  version = "1.25.2";
+  version = "1.25.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-a/p4lljxf+9vpd0LlBVXY4y4rfxH5vaoIj0EKaRa2zQ=";
+    sha256 = "sha256-sEA6faoxuFA355ftI5xL3AXZD+6UYSDxRdQXA9nH5wY=";
   };
 
   propagatedBuildInputs = [ ffmpeg ffmpeg-progress-yield ];
diff --git a/pkgs/applications/video/freetube/default.nix b/pkgs/applications/video/freetube/default.nix
index b507c0d31947a..dd35fc7847314 100644
--- a/pkgs/applications/video/freetube/default.nix
+++ b/pkgs/applications/video/freetube/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "freetube";
-  version = "0.17.1";
+  version = "0.18.0";
 
   src = fetchurl {
     url = "https://github.com/FreeTubeApp/FreeTube/releases/download/v${version}-beta/freetube_${version}_amd64.AppImage";
-    sha256 = "1n5r1h2khjwdsckiviv8f2pflxibk8rs68fs08jak0kbm0kkyj18";
+    sha256 = "sha256-7IxmlkExM8Q1yyq44ajZ6on4EMPyGt23QmzmBZmofts=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/video/go-chromecast/default.nix b/pkgs/applications/video/go-chromecast/default.nix
index 99ddd7b24b694..94e698289297b 100644
--- a/pkgs/applications/video/go-chromecast/default.nix
+++ b/pkgs/applications/video/go-chromecast/default.nix
@@ -20,5 +20,6 @@ buildGoModule rec {
     description = "CLI for Google Chromecast, Home devices and Cast Groups";
     license = licenses.asl20;
     maintainers = with maintainers; [ marsam ];
+    broken = true; # build fails with go > 1.17
   };
 }
diff --git a/pkgs/applications/video/go2tv/default.nix b/pkgs/applications/video/go2tv/default.nix
new file mode 100644
index 0000000000000..1137193ef41cf
--- /dev/null
+++ b/pkgs/applications/video/go2tv/default.nix
@@ -0,0 +1,57 @@
+{ lib
+, stdenv
+, buildGoModule
+, fetchFromGitHub
+, Carbon
+, Cocoa
+, Kernel
+, UserNotifications
+, xorg
+, libglvnd
+, pkg-config
+, withGui ? true
+}:
+
+buildGoModule rec {
+  pname = "go2tv" + lib.optionalString (!withGui) "-lite";
+  version = "1.13.0";
+
+  src = fetchFromGitHub {
+    owner = "alexballas";
+    repo = "go2tv";
+    rev = "v${version}";
+    sha256 = "sha256-ZHKfBKOX3/kVR6Nc+jSmLgfmpihc6QMb6NvTFlsBr5E=";
+  };
+
+  vendorSha256 = "sha256-msXfXFWXyZeT6zrRPZkBV7PEyPqYkx+JlpTWUwgFavI=";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [
+    xorg.libX11
+    xorg.libXcursor
+    xorg.libXrandr
+    xorg.libXinerama
+    xorg.libXi
+    xorg.libXext
+    xorg.libXxf86vm
+    libglvnd
+  ] ++ lib.optionals stdenv.isDarwin [ Carbon Cocoa Kernel UserNotifications ];
+
+  ldflags = [
+    "-s" "-w"
+    "-linkmode=external"
+  ];
+
+  # conditionally build with GUI or not (go2tv or go2tv-lite sub-packages)
+  subPackages = [ "cmd/${pname}" ];
+
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Cast media files to UPnP/DLNA Media Renderers and Smart TVs";
+    homepage = "https://github.com/alexballas/go2tv";
+    license = licenses.mit;
+    maintainers = with maintainers; [ gdamjan ];
+  };
+}
diff --git a/pkgs/applications/video/handbrake/default.nix b/pkgs/applications/video/handbrake/default.nix
index ee146127a38f1..7c06f6ddb8598 100644
--- a/pkgs/applications/video/handbrake/default.nix
+++ b/pkgs/applications/video/handbrake/default.nix
@@ -93,6 +93,51 @@ let
     sha256 = "1kk11zl1mk37d4cvbc75gfndmma7vy3vkp4gmkyl92kiz6zadhyy";
   };
 
+  # Handbrake maintains a set of ffmpeg patches. In particular, these
+  # patches are required for subtitle timing to work correctly. See:
+  # https://github.com/HandBrake/HandBrake/issues/4029
+  ffmpeg-version = "4.4.1";
+  ffmpeg-hb = ffmpeg-full.overrideAttrs (old: {
+    version = ffmpeg-version;
+    src = fetchurl {
+      url = "https://www.ffmpeg.org/releases/ffmpeg-${ffmpeg-version}.tar.bz2";
+      hash = "sha256-j8nyCsXtlRFanihWR63Q7t1cwamKA5raFMEyRS+YrEI=";
+    };
+    patches = old.patches or [] ++ [
+      "${src}/contrib/ffmpeg/A01-qsv-scale-fix-green-stripes.patch"
+      "${src}/contrib/ffmpeg/A02-qsv-interpolation.patch"
+      "${src}/contrib/ffmpeg/A03-qsv-dx11-ffmpeg44.patch"
+      "${src}/contrib/ffmpeg/A04-configure-ensure-the-right-libmfx-version-is-used-wh.patch"
+      "${src}/contrib/ffmpeg/A05-qsv-add-includedir-mfx-to-the-search-path-for-old-ve.patch"
+      "${src}/contrib/ffmpeg/A06-qsv-load-user-plugin-for-MFX_VERSION-2.0.patch"
+      "${src}/contrib/ffmpeg/A07-qsv-build-audio-related-code-when-MFX_VERSION-2.0.patch"
+      "${src}/contrib/ffmpeg/A08-qsvenc-don-t-support-multi-frame-encode-when-MFX_VER.patch"
+      "${src}/contrib/ffmpeg/A09-qsvenc-don-t-support-MFX_RATECONTROL_LA_EXT-when-MFX.patch"
+      "${src}/contrib/ffmpeg/A10-qsv-don-t-support-OPAQUE-memory-when-MFX_VERSION-2.0.patch"
+      "${src}/contrib/ffmpeg/A11-qsv-opaque-deinterlace.patch"
+      "${src}/contrib/ffmpeg/A12-qsv-opaque-vpp.patch"
+      "${src}/contrib/ffmpeg/A13-qsv-opaque-hwcontext_qsv.patch"
+      "${src}/contrib/ffmpeg/A14-configure-check-mfxdefs.h-instead-of-mfxvp9.h-for-MF.patch"
+      "${src}/contrib/ffmpeg/A15-configure-allow-user-to-build-FFmpeg-against-oneVPL.patch"
+      "${src}/contrib/ffmpeg/A16-qsv-add-macro-QSV_ONEVPL-for-the-oneVPL-SDK.patch"
+      "${src}/contrib/ffmpeg/A17-qsv-use-a-new-method-to-create-mfx-session-when-usin.patch"
+      "${src}/contrib/ffmpeg/A18-qsv-new-method-hwcontext_qsv.patch"
+      "${src}/contrib/ffmpeg/A19-qsv-fix-session-for-d3d11-device.patch"
+      "${src}/contrib/ffmpeg/A20-mov-read-name-track-tag-written-by-movenc.patch"
+      "${src}/contrib/ffmpeg/A21-movenc-write-3gpp-track-titl-tag.patch"
+      "${src}/contrib/ffmpeg/A22-mov-read-3gpp-udta-tags.patch"
+      "${src}/contrib/ffmpeg/A23-movenc-write-3gpp-track-names-tags-for-all-available.patch"
+      "${src}/contrib/ffmpeg/A24-FFmpeg-devel-amfenc-Add-support-for-pict_type-field.patch"
+      "${src}/contrib/ffmpeg/A25-dvdsubdec-fix-processing-of-partial-packets.patch"
+      "${src}/contrib/ffmpeg/A26-ccaption_dec-return-number-of-bytes-used.patch"
+      "${src}/contrib/ffmpeg/A27-dvdsubdec-return-number-of-bytes-used.patch"
+      "${src}/contrib/ffmpeg/A28-dvdsubdec-use-pts-of-initial-packet.patch"
+      "${src}/contrib/ffmpeg/A29-matroskaenc-aac-extradata-updated.patch"
+      "${src}/contrib/ffmpeg/A30-ccaption_dec-fix-pts-in-real_time-mode.patch"
+      "${src}/contrib/ffmpeg/A32-qsv-fix-decode-10bit-hdr.patch"
+    ];
+  });
+
   versionFile = writeText "version.txt" ''
     BRANCH=${versions.majorMinor version}.x
     DATE=1970-01-01 00:00:01 +0000
@@ -152,7 +197,7 @@ let self = stdenv.mkDerivation rec {
   buildInputs = [
     a52dec
     dav1d
-    ffmpeg-full
+    ffmpeg-hb
     fontconfig
     freetype
     fribidi
diff --git a/pkgs/applications/video/hypnotix/default.nix b/pkgs/applications/video/hypnotix/default.nix
index a2da839347f3a..3d5f8d4957abf 100644
--- a/pkgs/applications/video/hypnotix/default.nix
+++ b/pkgs/applications/video/hypnotix/default.nix
@@ -81,7 +81,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/linuxmint/hypnotix";
     changelog = "https://github.com/linuxmint/hypnotix/blob/${src.rev}/debian/changelog";
     license = lib.licenses.gpl3Plus;
-    maintainers = with lib.maintainers; [ dotlambda ];
+    maintainers = with lib.maintainers; [ dotlambda bobby285271 ];
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/video/iina/default.nix b/pkgs/applications/video/iina/default.nix
index bb3fd9cd5e5bb..6377b953d5ef0 100644
--- a/pkgs/applications/video/iina/default.nix
+++ b/pkgs/applications/video/iina/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "iina";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchurl {
     url = "https://github.com/iina/iina/releases/download/v${version}/IINA.v${version}.dmg";
-    sha256 = "sha256-tQxBaCgAXh7sDcgGbJYe/MOJ5r4aWllVQepi1I0xo5E=";
+    sha256 = "sha256-xkZkKiiEywUWkiFw4PbUmQsStB1iRLCNU/MY27lRjC8=";
   };
 
   nativeBuildInputs = [ undmg ];
diff --git a/pkgs/applications/video/kmplayer/default.nix b/pkgs/applications/video/kmplayer/default.nix
index 274ff7cdeab79..a3c5b181725a5 100644
--- a/pkgs/applications/video/kmplayer/default.nix
+++ b/pkgs/applications/video/kmplayer/default.nix
@@ -27,6 +27,9 @@ mkDerivation rec {
       -e "s,^Exec.*,Exec=$out/bin/kmplayer -qwindowtitle %c %i %U,"
   '';
 
+  # required for kf5auth to work correctly
+  cmakeFlags = ["-DCMAKE_POLICY_DEFAULT_CMP0012=NEW"];
+
   nativeBuildInputs = [ extra-cmake-modules makeWrapper ];
 
   buildInputs = [
@@ -41,7 +44,7 @@ mkDerivation rec {
 
   meta = with lib; {
     description = "MPlayer front-end for KDE";
-    license = with licenses; [ gpl2 lgpl2 fdl12 ];
+    license = with licenses; [ gpl2Plus lgpl2Plus fdl12Plus ];
     homepage = "https://kmplayer.kde.org/";
     maintainers = with maintainers; [ sander zraexy ];
   };
diff --git a/pkgs/applications/video/kooha/default.nix b/pkgs/applications/video/kooha/default.nix
index 37644b10252bd..ba959ec5717e1 100644
--- a/pkgs/applications/video/kooha/default.nix
+++ b/pkgs/applications/video/kooha/default.nix
@@ -50,6 +50,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     glib
     gst_all_1.gstreamer
+    gst_all_1.gst-plugins-good
     gst_all_1.gst-plugins-base
     gst_all_1.gst-plugins-ugly
     gtk4
diff --git a/pkgs/applications/video/lbry/default.nix b/pkgs/applications/video/lbry/default.nix
index ea69ea547df87..fa74f138608fe 100644
--- a/pkgs/applications/video/lbry/default.nix
+++ b/pkgs/applications/video/lbry/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "lbry-desktop";
-  version = "0.52.5";
+  version = "0.53.8";
 in appimageTools.wrapAppImage rec {
   name = "${pname}-${version}";
 
@@ -12,7 +12,7 @@ in appimageTools.wrapAppImage rec {
     src = fetchurl {
       url = "https://github.com/lbryio/lbry-desktop/releases/download/v${version}/LBRY_${version}.AppImage";
       # Gotten from latest-linux.yml
-      sha512 = "i0t1Ygf3el7Brh6TA804V6n5r5UczvOPxAdhyJ7Gvvg9VqN1+QXB6hsqF4jYTW3jcKxvorVALwrFDVezBTPv5g==";
+      sha512 = "WZB2pMzSuWGPj6uad+rIECOhuWEOxi0hVUQifOrhUrKj4SnBDws+oy7V2+NpDGkzbG+Kf3IO8rcWBD4wfFoo2Q==";
     };
   };
 
diff --git a/pkgs/applications/video/manim/default.nix b/pkgs/applications/video/manim/default.nix
index 62a17d9c1dc84..3f1d5ecb81b92 100644
--- a/pkgs/applications/video/manim/default.nix
+++ b/pkgs/applications/video/manim/default.nix
@@ -64,6 +64,7 @@ in python3.pkgs.buildPythonApplication rec {
       --replace "--no-cov-on-fail --cov=manim --cov-report xml --cov-report term" "" \
       --replace 'cloup = "^0.13.0"' 'cloup = "*"' \
       --replace 'mapbox-earcut = "^0.12.10"' 'mapbox-earcut = "*"' \
+      --replace 'click = ">=7.2<=9.0"' 'click = ">=7.2,<=9.0"' # https://github.com/ManimCommunity/manim/pull/2954
   '';
 
   buildInputs = [ cairo ];
diff --git a/pkgs/applications/video/media-downloader/default.nix b/pkgs/applications/video/media-downloader/default.nix
index 3d76b524e4421..76e26ba017661 100644
--- a/pkgs/applications/video/media-downloader/default.nix
+++ b/pkgs/applications/video/media-downloader/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "media-downloader";
-  version = "2.6.0";
+  version = "2.7.0";
 
   src = fetchFromGitHub {
     owner = "mhogomchungu";
     repo = pname;
     rev = "${version}";
-    sha256 = "sha256-pDldAg4q6qGvRHuffKU49akDwwSTNCZPJ6AgauxgotI=";
+    sha256 = "sha256-uu/4S7cVWHOhBq52NF0AargE0nbPwjF0txSWL0DquQo=";
   };
 
   nativeBuildInputs = [ cmake qt5.wrapQtAppsHook ];
diff --git a/pkgs/applications/video/motion/default.nix b/pkgs/applications/video/motion/default.nix
index c9ea2a51d3d48..1f0f8ace21ba6 100644
--- a/pkgs/applications/video/motion/default.nix
+++ b/pkgs/applications/video/motion/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "motion";
-  version = "4.4.0";
+  version = "4.5.0";
 
   src = fetchFromGitHub {
     owner  = "Motion-Project";
     repo   = "motion";
     rev    = "release-${version}";
-    sha256 = "sha256-srL9F99HHq5cw82rnQpywkTuY4s6hqIO64Pw5CnaG5Q=";
+    sha256 = "sha256-uKEgTQhpslOCfNj8z95/DK4M1Gx4SMRjl1/KPh5KHuc=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix
index 01a2d973bf3d9..05ec95d006bdf 100644
--- a/pkgs/applications/video/mpv/default.nix
+++ b/pkgs/applications/video/mpv/default.nix
@@ -40,7 +40,7 @@
 
 , vulkanSupport ? stdenv.isLinux
   , libplacebo
-  , shaderc
+  , shaderc # instead of spirv-cross
   , vulkan-headers
   , vulkan-loader
 
@@ -55,11 +55,13 @@
 , cacaSupport        ? true,           libcaca
 , cmsSupport         ? true,           lcms2
 , dvdnavSupport      ? stdenv.isLinux, libdvdnav
+, dvbinSupport       ? stdenv.isLinux
 , jackaudioSupport   ? false,          libjack2
 , javascriptSupport  ? true,           mujs
 , libpngSupport      ? true,           libpng
 , openalSupport      ? true,           openalSoft
 , pulseSupport       ? config.pulseaudio or stdenv.isLinux, libpulseaudio
+, pipewireSupport    ? stdenv.isLinux, pipewire
 , rubberbandSupport  ? true,           rubberband
 , screenSaverSupport ? true,           libXScrnSaver
 , sdl2Support        ? true,           SDL2
@@ -75,14 +77,12 @@
 , zimgSupport        ? true,           zimg
 }:
 
-with lib;
-
 let
   luaEnv = lua.withPackages (ps: with ps; [ luasocket ]);
 
 in stdenv.mkDerivation rec {
   pname = "mpv";
-  version = "0.34.1";
+  version = "0.35.0";
 
   outputs = [ "out" "dev" "man" ];
 
@@ -90,11 +90,11 @@ in stdenv.mkDerivation rec {
     owner = "mpv-player";
     repo = "mpv";
     rev = "v${version}";
-    sha256 = "12qxwm1ww5vhjddl8yvj1xa0n1fi9z3lmzwhaiday2v59ca0qgsk";
+    sha256 = "sha256-U3NDSxlX4/WkoHFkOvpcwPMwfwTnSpCw0QI5yLMK08o=";
   };
 
   postPatch = ''
-    patchShebangs ./TOOLS/
+    patchShebangs version.* ./TOOLS/
   '';
 
   NIX_LDFLAGS = lib.optionalString x11Support "-lX11 -lXext "
@@ -119,13 +119,13 @@ in stdenv.mkDerivation rec {
     (lib.enableFeature sixelSupport    "sixel")
     (lib.enableFeature vaapiSupport    "vaapi")
     (lib.enableFeature waylandSupport  "wayland")
-    (lib.enableFeature stdenv.isLinux  "dvbin")
+    (lib.enableFeature dvbinSupport  "dvbin")
   ] # Disable whilst Swift isn't supported
     ++ lib.optional (!swiftSupport) "--disable-macos-cocoa-cb";
 
   nativeBuildInputs = [
     addOpenGLRunpath
-    docutils
+    docutils # for rst2man
     perl
     pkg-config
     python3
@@ -154,6 +154,7 @@ in stdenv.mkDerivation rec {
     ++ lib.optionals javascriptSupport  [ mujs ]
     ++ lib.optionals libpngSupport      [ libpng ]
     ++ lib.optionals openalSupport      [ openalSoft ]
+    ++ lib.optionals pipewireSupport    [ pipewire ]
     ++ lib.optionals pulseSupport       [ libpulseaudio ]
     ++ lib.optionals rubberbandSupport  [ rubberband ]
     ++ lib.optionals screenSaverSupport [ libXScrnSaver ]
diff --git a/pkgs/applications/video/mpv/scripts/sponsorblock.nix b/pkgs/applications/video/mpv/scripts/sponsorblock.nix
index 9a4060e59330a..2db4cf53d0044 100644
--- a/pkgs/applications/video/mpv/scripts/sponsorblock.nix
+++ b/pkgs/applications/video/mpv/scripts/sponsorblock.nix
@@ -3,13 +3,13 @@
 # Usage: `pkgs.mpv.override { scripts = [ pkgs.mpvScripts.sponsorblock ]; }`
 stdenvNoCC.mkDerivation {
   pname = "mpv_sponsorblock";
-  version = "unstable-2021-12-23";
+  version = "unstable-2022-09-24";
 
   src = fetchFromGitHub {
     owner = "po5";
     repo = "mpv_sponsorblock";
-    rev = "6743bd47d4cfce3ae3d5dd4f587f3193bd4fb9b2";
-    sha256 = "06c37f33cdpz1w1jacjf1wnbh4f9b1xpipxzkg5ixf46cbwssmsj";
+    rev = "248d108c1280e05de551c42867aebb72cf0c83b9";
+    sha256 = "1aacchyci34xyx7rcyd2r02i4rlqq8q61l6dcci8yd4g4hjiqqld";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/video/mpv/scripts/thumbnail.nix b/pkgs/applications/video/mpv/scripts/thumbnail.nix
index 5de9f5b0c6b26..a08bce6699fa3 100644
--- a/pkgs/applications/video/mpv/scripts/thumbnail.nix
+++ b/pkgs/applications/video/mpv/scripts/thumbnail.nix
@@ -1,14 +1,14 @@
 { lib, stdenvNoCC, fetchFromGitHub, python3 }:
 
 stdenvNoCC.mkDerivation rec {
-  pname = "mpv_thumbnail_script";
-  version = "0.4.9";
+  pname = "mpv-thumbnail-script";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "marzzzello";
-    repo = pname;
+    repo = "mpv_thumbnail_script";
     rev = version;
-    sha256 = "0dgfrb8ypc5vlq35kzn423fm6l6348ivl85vb6j3ccc9a51xprw3";
+    sha256 = "sha256-0nqV8vY3cBOJkLRoQ33Cc+4+vSK45i9yWbhKiQIuVSw=";
   };
 
   nativeBuildInputs = [ python3 ];
diff --git a/pkgs/applications/video/obs-studio/Provide-runtime-plugin-destination-as-relative-path.patch b/pkgs/applications/video/obs-studio/Provide-runtime-plugin-destination-as-relative-path.patch
new file mode 100644
index 0000000000000..b39cb04a899c9
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/Provide-runtime-plugin-destination-as-relative-path.patch
@@ -0,0 +1,26 @@
+diff --git a/libobs/CMakeLists.txt b/libobs/CMakeLists.txt
+index 790583cd5..763cf3548 100644
+--- a/libobs/CMakeLists.txt
++++ b/libobs/CMakeLists.txt
+@@ -455,6 +455,8 @@ elseif(OS_POSIX)
+     libobs PROPERTIES BUILD_RPATH "$<TARGET_FILE_DIR:OBS::libobs-opengl>")
+ endif()
+ 
++string(REGEX REPLACE "^${OBS_INSTALL_PREFIX}" "" OBS_PLUGIN_DESTINATION_RELATIVE ${OBS_PLUGIN_DESTINATION})
++
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/obsconfig.h.in
+                ${CMAKE_BINARY_DIR}/config/obsconfig.h)
+ 
+diff --git a/libobs/obsconfig.h.in b/libobs/obsconfig.h.in
+index 4a664285a..5cff2ca53 100644
+--- a/libobs/obsconfig.h.in
++++ b/libobs/obsconfig.h.in
+@@ -13,7 +13,7 @@
+ #define OBS_VERSION_CANONICAL "@OBS_VERSION_CANONICAL@"
+ #define OBS_DATA_PATH "@OBS_DATA_PATH@"
+ #define OBS_INSTALL_PREFIX "@OBS_INSTALL_PREFIX@"
+-#define OBS_PLUGIN_DESTINATION "@OBS_PLUGIN_DESTINATION@"
++#define OBS_PLUGIN_DESTINATION "@OBS_PLUGIN_DESTINATION_RELATIVE@"
+ #define OBS_QT_VERSION @_QT_VERSION@
+ 
+ #cmakedefine LINUX_PORTABLE
diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix
index 044967b2e526b..fb4ffe93a9e84 100644
--- a/pkgs/applications/video/obs-studio/default.nix
+++ b/pkgs/applications/video/obs-studio/default.nix
@@ -1,7 +1,6 @@
 { config
 , lib
 , stdenv
-, mkDerivation
 , fetchFromGitHub
 , addOpenGLRunpath
 , cmake
@@ -13,7 +12,6 @@
 , libpthreadstubs
 , libXdmcp
 , qtbase
-, qtx11extras
 , qtsvg
 , speex
 , libv4l
@@ -38,27 +36,34 @@
 , pipewireSupport ? stdenv.isLinux
 , pipewire
 , libdrm
+, libajantv2
+, librist
+, srt
+, qtwayland
+, wrapQtAppsHook
+, ...
 }:
 
 let
   inherit (lib) optional optionals;
 
 in
-mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "obs-studio";
-  version = "27.2.4";
+  version = "28.1.2";
 
   src = fetchFromGitHub {
     owner = "obsproject";
     repo = "obs-studio";
     rev = version;
-    sha256 = "sha256-OiSejQovSmhItrnrQlcVp9PCDRgAhuxTinSpXbH8bo0=";
+    sha256 = "sha256-M5UEOtdzXBVY0UGfwWx3MsM28bJ1EcVPl8acWXWV0lg=";
     fetchSubmodules = true;
   };
 
   patches = [
     # Lets obs-browser build against CEF 90.1.0+
     ./Enable-file-access-and-universal-access-for-file-URL.patch
+    ./Provide-runtime-plugin-destination-as-relative-path.patch
   ];
 
   nativeBuildInputs = [
@@ -66,6 +71,7 @@ mkDerivation rec {
     cmake
     pkg-config
     wrapGAppsHook
+    wrapQtAppsHook
   ]
   ++ optional scriptingSupport swig;
 
@@ -81,7 +87,6 @@ mkDerivation rec {
     libpthreadstubs
     libXdmcp
     qtbase
-    qtx11extras
     qtsvg
     speex
     wayland
@@ -89,6 +94,10 @@ mkDerivation rec {
     libvlc
     mbedtls
     pciutils
+    libajantv2
+    librist
+    srt
+    qtwayland
   ]
   ++ optionals scriptingSupport [ luajit python3 ]
   ++ optional alsaSupport alsa-lib
@@ -117,6 +126,7 @@ mkDerivation rec {
     # Add support for browser source
     "-DBUILD_BROWSER=ON"
     "-DCEF_ROOT_DIR=../../cef"
+    "-DENABLE_JACK=ON"
   ];
 
   dontWrapGApps = true;
diff --git a/pkgs/applications/video/obs-studio/plugins/default.nix b/pkgs/applications/video/obs-studio/plugins/default.nix
index b9be0a2b6eb1e..d1a3cc988a50e 100644
--- a/pkgs/applications/video/obs-studio/plugins/default.nix
+++ b/pkgs/applications/video/obs-studio/plugins/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, libsForQt5, pkgsi686Linux }:
+{ callPackage, qt6Packages, pkgsi686Linux }:
 
 # When adding new plugins:
 # - Respect alphabetical order. On diversion, file a PR.
@@ -6,29 +6,33 @@
 # - Add plugin to it's own directory (because of future patches).
 
 {
+  input-overlay = qt6Packages.callPackage ./input-overlay.nix { };
+
   looking-glass-obs = callPackage ./looking-glass-obs.nix { };
 
-  obs-backgroundremoval = callPackage ./obs-backgroundremoval.nix { };
+  obs-backgroundremoval = callPackage ./obs-backgroundremoval { };
 
   obs-gstreamer = callPackage ./obs-gstreamer.nix { };
 
-  obs-hyperion = callPackage ./obs-hyperion/default.nix { };
+  obs-hyperion = qt6Packages.callPackage ./obs-hyperion/default.nix { };
 
   obs-move-transition = callPackage ./obs-move-transition.nix { };
 
-  obs-multi-rtmp = libsForQt5.callPackage ./obs-multi-rtmp.nix { };
+  obs-multi-rtmp = qt6Packages.callPackage ./obs-multi-rtmp { };
 
-  obs-ndi = libsForQt5.callPackage ./obs-ndi.nix { };
+  obs-ndi = qt6Packages.callPackage ./obs-ndi.nix { };
 
   obs-nvfbc = callPackage ./obs-nvfbc.nix { };
 
   obs-pipewire-audio-capture = callPackage ./obs-pipewire-audio-capture.nix { };
 
+  obs-source-record = callPackage ./obs-source-record.nix { };
+
   obs-vkcapture = callPackage ./obs-vkcapture.nix {
     obs-vkcapture32 = pkgsi686Linux.obs-studio-plugins.obs-vkcapture;
   };
 
-  obs-websocket = libsForQt5.callPackage ./obs-websocket.nix { };
+  obs-websocket = throw "obs-websocket has been removed: Functionality has been integrated into obs-studio itself.";
 
   wlrobs = callPackage ./wlrobs.nix { };
 }
diff --git a/pkgs/applications/video/obs-studio/plugins/fix-search-path.patch b/pkgs/applications/video/obs-studio/plugins/fix-search-path.patch
deleted file mode 100644
index 4503447ff5dc7..0000000000000
--- a/pkgs/applications/video/obs-studio/plugins/fix-search-path.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/external/FindLibObs.cmake b/external/FindLibObs.cmake
-index ab0a3de..19c63ee 100644
---- a/external/FindLibObs.cmake
-+++ b/external/FindLibObs.cmake
-@@ -95,7 +95,7 @@ if(LIBOBS_FOUND)
- 
- 	set(LIBOBS_INCLUDE_DIRS ${LIBOBS_INCLUDE_DIR} ${W32_PTHREADS_INCLUDE_DIR})
- 	set(LIBOBS_LIBRARIES ${LIBOBS_LIB} ${W32_PTHREADS_LIB})
--	include(${LIBOBS_INCLUDE_DIR}/../cmake/external/ObsPluginHelpers.cmake)
-+	include(external/ObsPluginHelpers.cmake)
- 
- 	# allows external plugins to easily use/share common dependencies that are often included with libobs (such as FFmpeg)
- 	if(NOT DEFINED INCLUDED_LIBOBS_CMAKE_MODULES)
diff --git a/pkgs/applications/video/obs-studio/plugins/hardcode-ndi-path.patch b/pkgs/applications/video/obs-studio/plugins/hardcode-ndi-path.patch
index caef96c381f27..03b54473bb8ba 100644
--- a/pkgs/applications/video/obs-studio/plugins/hardcode-ndi-path.patch
+++ b/pkgs/applications/video/obs-studio/plugins/hardcode-ndi-path.patch
@@ -1,17 +1,19 @@
 diff --git a/src/obs-ndi.cpp b/src/obs-ndi.cpp
-index 493831c..7b0f8db 100644
+index 1a8aeb3..9a36ea9 100644
 --- a/src/obs-ndi.cpp
 +++ b/src/obs-ndi.cpp
-@@ -197,11 +197,7 @@ const char* obs_module_description()
- const NDIlib_v4* load_ndilib()
- {
- 	QStringList locations;
--	locations << QString(qgetenv(NDILIB_REDIST_FOLDER));
+@@ -132,13 +132,7 @@ const NDIlib_v5 *load_ndilib()
+ 	const char *redistFolder = std::getenv(NDILIB_REDIST_FOLDER);
+ 	if (redistFolder)
+ 		libraryLocations.push_back(redistFolder);
 -#if defined(__linux__) || defined(__APPLE__)
--	locations << "/usr/lib";
--	locations << "/usr/local/lib";
+-	libraryLocations.push_back("/usr/lib");
+-	libraryLocations.push_back("/usr/lib64");
+-	libraryLocations.push_back("/usr/lib/x86_64-linux-gnu");
+-	libraryLocations.push_back("/usr/local/lib");
+-	libraryLocations.push_back("/usr/local/lib64");
 -#endif
-+	locations << "@NDI@/lib";
++	libraryLocations.push_back("@NDI@/lib");
  
- 	for (QString path : locations) {
- 		blog(LOG_INFO, "Trying '%s'", path.toUtf8().constData());
+ 	for (std::string path : libraryLocations) {
+ 		blog(LOG_DEBUG, "[load_ndilib] Trying library path: '%s'", path.c_str());
diff --git a/pkgs/applications/video/obs-studio/plugins/input-overlay.nix b/pkgs/applications/video/obs-studio/plugins/input-overlay.nix
new file mode 100644
index 0000000000000..a1c77349a8556
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/plugins/input-overlay.nix
@@ -0,0 +1,47 @@
+{ stdenv, lib
+, fetchFromGitHub
+, cmake
+, pkg-config
+, obs-studio
+, libuiohook
+, qtbase
+, xorg
+, libxkbcommon
+, libxkbfile
+}:
+
+stdenv.mkDerivation rec {
+  pname = "obs-input-overlay";
+  version = "5.0.0";
+  src = fetchFromGitHub {
+    owner = "univrsal";
+    repo = "input-overlay";
+    rev = "v${version}";
+    sha256 = "sha256-kpVAvQpBU8TxHAFcx/ok67++4MHh5saoRHJc5XpY4YQ=";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+  buildInputs = [
+    obs-studio libuiohook qtbase
+    xorg.libX11 xorg.libXau xorg.libXdmcp xorg.libXtst xorg.libXext
+    xorg.libXi xorg.libXt xorg.libXinerama libxkbcommon libxkbfile
+  ];
+
+  postInstall = ''
+    mkdir $out/lib $out/share
+    mv $out/obs-plugins/64bit $out/lib/obs-plugins
+    rm -rf $out/obs-plugins
+    mv $out/data $out/share/obs
+  '';
+
+  dontWrapQtApps = true;
+
+  meta = with lib; {
+    description = "Show keyboard, gamepad and mouse input on stream ";
+    homepage = "https://github.com/univrsal/input-overlay";
+    maintainers = with maintainers; [ glittershark ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval.nix b/pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval/default.nix
index 6175a48a1b96d..79a3f82fec87d 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , cmake
 , obs-studio
 , onnxruntime
@@ -10,15 +9,23 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-backgroundremoval";
-  version = "0.4.0";
+  version = "unstable-2022-05-02";
 
   src = fetchFromGitHub {
     owner = "royshil";
     repo = "obs-backgroundremoval";
-    rev = "v${version}";
-    sha256 = "sha256-TI1FlhE0+JL50gAZCSsI+g8savX8GRQkH3jYli/66hQ=";
+    rev = "cc9d4a5711f9388ed110230f9f793bb071577a23";
+    hash = "sha256-xkVZ4cB642p4DvZAPwI2EVhkfVl5lJhgOQobjNMqpec=";
   };
 
+  patches = [
+    # Fix c++ include directives
+    ./includes.patch
+
+    # Use CPU backend instead of CUDA/DirectML
+    ./use-cpu-backend.patch
+  ];
+
   nativeBuildInputs = [ cmake ];
   buildInputs = [ obs-studio onnxruntime opencv ];
 
@@ -29,10 +36,9 @@ stdenv.mkDerivation rec {
     "-DOnnxruntime_INCLUDE_DIRS=${onnxruntime.dev}/include/onnxruntime/core/session"
   ];
 
-  patches = [ ./obs-backgroundremoval-includes.patch ];
 
   prePatch = ''
-    sed -i 's/version_from_git()/set(VERSION "${version}")/' CMakeLists.txt
+    sed -i 's/version_from_git()/set(VERSION "0.4.0")/' CMakeLists.txt
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval-includes.patch b/pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval/includes.patch
index 2a1b59a6b128e..b99fc11818811 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval-includes.patch
+++ b/pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval/includes.patch
@@ -1,5 +1,5 @@
 diff --git a/src/Model.h b/src/Model.h
-index 5c21eae..74b8078 100644
+index 6a73745..6bb8a7d 100644
 --- a/src/Model.h
 +++ b/src/Model.h
 @@ -1,13 +1,8 @@
@@ -13,11 +13,11 @@ index 5c21eae..74b8078 100644
 -#include <onnxruntime_cxx_api.h>
 -#include <cpu_provider_factory.h>
 -#endif
- #ifdef _WIN32
+ 
  #ifdef WITH_CUDA
  #include <cuda_provider_factory.h>
 diff --git a/src/background-filter.cpp b/src/background-filter.cpp
-index 9fa5794..5d66aee 100644
+index 0853818..32c6483 100644
 --- a/src/background-filter.cpp
 +++ b/src/background-filter.cpp
 @@ -1,13 +1,8 @@
@@ -31,6 +31,6 @@ index 9fa5794..5d66aee 100644
 -#include <onnxruntime_cxx_api.h>
 -#include <cpu_provider_factory.h>
 -#endif
- #ifdef _WIN32
  #ifdef WITH_CUDA
  #include <cuda_provider_factory.h>
+ #endif
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval/use-cpu-backend.patch b/pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval/use-cpu-backend.patch
new file mode 100644
index 0000000000000..0db5592e5cdb7
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval/use-cpu-backend.patch
@@ -0,0 +1,32 @@
+From d04e167f9081a3ec8c49f0967b5b0cec79e40e4d Mon Sep 17 00:00:00 2001
+From: Raphael Robatsch <raphael-git@tapesoftware.net>
+Date: Fri, 14 Oct 2022 16:55:36 +0200
+Subject: [PATCH] unix: use CPU backend instead of DirectML
+
+---
+ src/background-filter.cpp | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/src/background-filter.cpp b/src/background-filter.cpp
+index 32c6483..55e838f 100644
+--- a/src/background-filter.cpp
++++ b/src/background-filter.cpp
+@@ -205,10 +205,14 @@ static void createOrtSession(struct background_removal_filter *tf) {
+         if (tf->useGPU == USEGPU_CUDA) {
+             Ort::ThrowOnError(OrtSessionOptionsAppendExecutionProvider_CUDA(sessionOptions, 0));
+         }
+-#else
++#elseif _WIN32
+         if (tf->useGPU == USEGPU_DML) {
+             Ort::ThrowOnError(OrtSessionOptionsAppendExecutionProvider_DML(sessionOptions, 0));
+         }
++#else
++        if (tf->useGPU == USEGPU_CPU) {
++            Ort::ThrowOnError(OrtSessionOptionsAppendExecutionProvider_CPU(sessionOptions, 0));
++        }
+ #endif
+ 		tf->session.reset(new Ort::Session(*tf->env, tf->modelFilepath, sessionOptions));
+ 	} catch (const std::exception& e) {
+-- 
+2.37.3
+
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-hyperion/default.nix b/pkgs/applications/video/obs-studio/plugins/obs-hyperion/default.nix
index a358249080709..8a3af27c90753 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-hyperion/default.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-hyperion/default.nix
@@ -1,24 +1,45 @@
-{ stdenv, lib, fetchFromGitLab, meson, ninja, pkg-config, obs-studio, libGL
-, qtbase }:
+{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, obs-studio, libGL
+, qtbase, flatbuffers }:
 
 stdenv.mkDerivation rec {
   pname = "obs-hyperion";
   version = "1.0.1";
 
-  src = fetchFromGitLab {
+  src = fetchFromGitHub {
     owner = "hyperion-project";
     repo = "hyperion-obs-plugin";
-    rev = "v${version}";
-    sha256 = "sha256-Si+TGYWpNPtUUFT+M571lCYslPyeYX92MdYV2EGgcyQ=";
+    rev = version;
+    sha256 = "sha256-pfWfJWuIoa+74u5J76/GE+OuHkksbwOAPfsR9OGX3L4=";
   };
 
-  nativeBuildInputs = [ meson pkg-config ninja ];
+  nativeBuildInputs = [ cmake pkg-config ];
   buildInputs = [ obs-studio libGL qtbase ];
 
+  dontWrapQtApps = true;
+
+  cmakeFlags = [
+    "-DOBS_SOURCE=${obs-studio.src}"
+    "-DGLOBAL_INSTALLATION=ON"
+  ];
+
+  preConfigure = ''
+    # https://github.com/hyperion-project/hyperion-obs-plugin/issues/7
+    rm -rf external/flatbuffers
+    cp -r ${flatbuffers.src} external/flatbuffers
+    chmod -R a+w external
+  '';
+
+  postInstall = ''
+    # Remove flatbuffers install
+    rm -rf $out/bin $out/lib/{libflatbuffers.a,cmake,pkgconfig} $out/include
+  '';
+
   meta = with lib; {
     description = "OBS Studio plugin to connect to a Hyperion.ng server";
+    homepage = "https://github.com/hyperion-project/hyperion-obs-plugin";
     license = licenses.mit;
     maintainers = with maintainers; [ algram ];
     platforms = [ "x86_64-linux" ];
+    broken = true; # Not compatible with qt6 yet but required by OBS28
   };
 }
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-move-transition-use-FindLibobs.cmake.patch b/pkgs/applications/video/obs-studio/plugins/obs-move-transition-use-FindLibobs.cmake.patch
deleted file mode 100644
index bc082de0bd5e3..0000000000000
--- a/pkgs/applications/video/obs-studio/plugins/obs-move-transition-use-FindLibobs.cmake.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index f6d8fa3..5f0657d 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1,6 +1,17 @@
-+if (POLICY CMP0048)
-+	cmake_policy(SET CMP0048 NEW)
-+endif (POLICY CMP0048)
-+
- project(move-transition VERSION 2.4.3)
- set(PROJECT_FULL_NAME "Move Transition")
- 
-+include(FindLibobs.cmake)
-+find_package(LibObs REQUIRED)
-+
-+include_directories(
-+	"${LIBOBS_INCLUDE_DIR}/../plugins/obs-transitions"
-+	"${LIBOBS_INCLUDE_DIR}/../UI/obs-frontend-api")
-+
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/version.h.in ${CMAKE_CURRENT_SOURCE_DIR}/version.h)
-
- set(move-transition_HEADERS
-@@ -38,4 +49,10 @@ target_link_libraries(move-transition
- 	libobs)
- 
- set_target_properties(move-transition PROPERTIES FOLDER "plugins/exeldro")
--install_obs_plugin_with_data(move-transition data)
-+set_target_properties(move-transition PROPERTIES PREFIX "")
-+
-+install(TARGETS move-transition
-+	LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/obs-plugins)
-+
-+install(DIRECTORY data/locale/
-+	DESTINATION "${CMAKE_INSTALL_PREFIX}/share/obs/obs-plugins/move-transition/locale")
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix b/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix
index 80bcb6d41b9de..7af053e5c18fd 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix
@@ -7,34 +7,20 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-move-transition";
-  version = "2.4.3";
+  version = "2.7.1";
 
   src = fetchFromGitHub {
     owner = "exeldro";
     repo = "obs-move-transition";
     rev = version;
-    sha256 = "sha256-/6PcNLOnBBqLZHVKMg1tdX9OktcllEEqnL93nXpuXL0=";
+    sha256 = "sha256-zWHQ01iNTlqSAKcmsDCUZPXmmBIpqY/ZDftD5J6kp80=";
   };
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ obs-studio ];
 
-  cmakeFlags = with lib; [
-    "-DLIBOBS_INCLUDE_DIR=${obs-studio.src}/libobs"
-    "-Wno-dev"
-  ];
-
-  preConfigure = ''
-    cp ${obs-studio.src}/cmake/external/FindLibobs.cmake FindLibobs.cmake
-  '';
-
-  patches = [ ./obs-move-transition-use-FindLibobs.cmake.patch ];
-
-  postPatch = ''
-    substituteInPlace move-source-filter.c --replace '<../UI/obs-frontend-api/obs-frontend-api.h>' '<obs-frontend-api.h>'
-    substituteInPlace move-value-filter.c --replace '<../UI/obs-frontend-api/obs-frontend-api.h>' '<obs-frontend-api.h>'
-    substituteInPlace move-transition.c --replace '<../UI/obs-frontend-api/obs-frontend-api.h>' '<obs-frontend-api.h>'
-    substituteInPlace audio-move.c --replace '<../UI/obs-frontend-api/obs-frontend-api.h>' '<obs-frontend-api.h>'
+  postInstall = ''
+    rm -rf $out/obs-plugins $out/data
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix b/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp/default.nix
index a6c84cbbbef0b..e7c0d144b41d4 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp/default.nix
@@ -2,20 +2,21 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-multi-rtmp";
-  version = "0.2.8.1";
+  version = "0.2.8.1-OBS28";
 
   src = fetchFromGitHub {
     owner = "sorayuki";
     repo = "obs-multi-rtmp";
     rev = version;
-    sha256 = "sha256-OhatuSlDJ2VDNorM4QfoKPYKyv5YpN8EnIelLdBTlZ0=";
+    sha256 = "sha256-1W+c8Y0AmtKQmCIg8IDAaYYStQzDpZRuqw3vZEY5ncU=";
   };
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ obs-studio qtbase ];
 
-  cmakeFlags = [
-    "-DLIBOBS_INCLUDE_DIR=${obs-studio}/include/obs"
+  patches = [
+    # Patch cmake file to link against the obs build output, instead of its sources
+    ./fix-build.patch
   ];
 
   dontWrapQtApps = true;
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp/fix-build.patch b/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp/fix-build.patch
new file mode 100644
index 0000000000000..dd40fc7e95951
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp/fix-build.patch
@@ -0,0 +1,54 @@
+From 72aeddb52c2b656bfec918097ad07a0ff092008b Mon Sep 17 00:00:00 2001
+From: Raphael Robatsch <raphael-git@tapesoftware.net>
+Date: Thu, 13 Oct 2022 21:34:21 +0200
+Subject: [PATCH] Link against OBS public interface instead of sources
+
+---
+ CMakeLists.txt | 22 ++++------------------
+ 1 file changed, 4 insertions(+), 18 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 27e20f8..8725c5b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -65,15 +65,9 @@ if (WIN32)
+         "/def:${CMAKE_CURRENT_BINARY_DIR}/obs-frontend-api.def"
+         "/out:${CMAKE_CURRENT_BINARY_DIR}/obs-frontend-api.lib"
+     )
+-elseif (APPLE)
+-    # macOS
+-    find_library(_LIB_OBS "${LIB_OBS}.0.dylib" PATHS ${OBS_BIN_DIR} REQUIRED)
+-    set(LIB_OBS "${_LIB_OBS}")
+-elseif (UNIX)
+-    # Linux
+-    find_package(LibObs REQUIRED)
+ else ()
+-    message(FATAL_ERROR "Unsupported OS!")
++    find_package(libobs REQUIRED)
++    find_package(obs-frontend-api REQUIRED)
+ endif ()
+
+
+@@ -96,18 +90,10 @@ if (WIN32)
+         "${CMAKE_CURRENT_BINARY_DIR}/version.rc"
+     )
+ endif ()
+-target_include_directories(obs-multi-rtmp PRIVATE
+-    "${OBS_SRC_DIR}/libobs"
+-    "${OBS_SRC_DIR}/UI/obs-frontend-api"
+-)
+-target_link_directories(obs-multi-rtmp PRIVATE
+-    "${CMAKE_CURRENT_BINARY_DIR}"
+-    ${OBS_BIN_DIR}
+-)
+ target_link_libraries(obs-multi-rtmp PRIVATE
+     Qt6::Widgets
+-    ${LIB_OBS}
+-    obs-frontend-api
++    OBS::libobs
++    OBS::obs-frontend-api
+ )
+
+ if (WIN32)
+-- 
+2.37.3
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-ndi.nix b/pkgs/applications/video/obs-studio/plugins/obs-ndi.nix
index b581ea91da223..a16c8924adceb 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-ndi.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-ndi.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-ndi";
-  version = "4.9.1";
+  version = "4.10.0";
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ obs-studio qtbase ndi ];
@@ -10,11 +10,13 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "Palakis";
     repo = "obs-ndi";
-    rev = version;
-    sha256 = "1y3xdqp55jayhg4sinwiwpk194zc4f4jf0abz647x2fprsk9jz7s";
+    rev = "dummy-tag-${version}";
+    sha256 = "sha256-eQ/hQ2AnwyBNOotqlUZq07m4FXoeir2f7cTVq594obc=";
   };
 
-  patches = [ ./fix-search-path.patch ./hardcode-ndi-path.patch ];
+  patches = [
+    ./hardcode-ndi-path.patch
+  ];
 
   postPatch = ''
     # Add path (variable added in hardcode-ndi-path.patch)
@@ -26,11 +28,12 @@ stdenv.mkDerivation rec {
     ln -s ${ndi}/include lib/ndi
   '';
 
-  cmakeFlags = [
-    "-DLIBOBS_INCLUDE_DIR=${obs-studio}/include/obs"
-    "-DLIBOBS_LIB=${obs-studio}/lib"
-    "-DCMAKE_CXX_FLAGS=-I${obs-studio.src}/UI/obs-frontend-api"
-  ];
+  postInstall = ''
+    mkdir $out/lib $out/share
+    mv $out/obs-plugins/64bit $out/lib/obs-plugins
+    rm -rf $out/obs-plugins
+    mv $out/data $out/share/obs
+  '';
 
   dontWrapQtApps = true;
 
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-nvfbc.nix b/pkgs/applications/video/obs-studio/plugins/obs-nvfbc.nix
index 4d8ffb831a674..ab113065629d9 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-nvfbc.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-nvfbc.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-nvfbc";
-  version = "0.0.6";
+  version = "0.0.7";
 
   src = fetchFromGitLab {
     owner = "fzwoch";
     repo = "obs-nvfbc";
     rev = "v${version}";
-    sha256 = "sha256-WoqtppgIcjE0n9atsvAZrXvBVi2rWCIIFDXTgblQK9I=";
+    sha256 = "sha256-AJ3K0O1vrixskn+/Tpg7LsgRO8N4sgDo1Y6gg3CwGVo=";
   };
 
   nativeBuildInputs = [ meson pkg-config ninja ];
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-pipewire-audio-capture.nix b/pkgs/applications/video/obs-studio/plugins/obs-pipewire-audio-capture.nix
index 170b179732965..d3fc0e15bda00 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-pipewire-audio-capture.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-pipewire-audio-capture.nix
@@ -22,6 +22,15 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ninja pkg-config ];
   buildInputs = [ obs-studio pipewire ];
 
+  cmakeFlags = [
+    "-DLIBOBS_INCLUDE_DIR=${obs-studio.src}/libobs"
+    "-Wno-dev"
+  ];
+
+  preConfigure = ''
+    cp ${obs-studio.src}/cmake/external/ObsPluginHelpers.cmake cmake/FindLibObs.cmake
+  '';
+
   meta = with lib; {
     description = " Audio device and application capture for OBS Studio using PipeWire ";
     homepage = "https://github.com/dimtpap/obs-pipewire-audio-capture";
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-source-record.nix b/pkgs/applications/video/obs-studio/plugins/obs-source-record.nix
new file mode 100644
index 0000000000000..29dcb533915c4
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/plugins/obs-source-record.nix
@@ -0,0 +1,34 @@
+{ lib, stdenv, fetchFromGitHub, cmake, obs-studio }:
+
+stdenv.mkDerivation rec {
+  pname = "obs-source-record";
+  version = "unstable-2022-11-10";
+
+  src = fetchFromGitHub {
+    owner = "exeldro";
+    repo = "obs-source-record";
+    rev = "4a543d3577d56a27f5f2b9aa541a466b37dafde0";
+    sha256 = "sha256-LoMgrWZ7r6lu2fisNvqrAiFvxWQQDE6lSxUHkMB/ZPY=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [
+    obs-studio
+  ];
+
+  cmakeFlags = [
+    "-DBUILD_OUT_OF_TREE=On"
+  ];
+
+  postInstall = ''
+    rm -rf $out/{data,obs-plugins}
+  '';
+
+  meta = with lib; {
+    description = "OBS Studio plugin to make sources available to record via a filter";
+    homepage = "https://github.com/exeldro/obs-source-record";
+    maintainers = with maintainers; [ robbins ];
+    license = licenses.gpl2Only;
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix b/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix
index 0e61f4aaeca7f..a1abc952fc738 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-vkcapture";
-  version = "1.2.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "nowrep";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-yaN0am24p9gC+s64Rop+jQ3952UOtZund/KttnVxP48=";
+    hash = "sha256-FOyUgsHQlsjVGCct+ky189alVImoG+paqDKmGvnHoXo=";
   };
 
   cmakeFlags = lib.optionals stdenv.isi686 [
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-websocket.nix b/pkgs/applications/video/obs-studio/plugins/obs-websocket.nix
deleted file mode 100644
index d747268cc5567..0000000000000
--- a/pkgs/applications/video/obs-studio/plugins/obs-websocket.nix
+++ /dev/null
@@ -1,63 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, fetchpatch
-, cmake
-, qtbase
-, qtsvg
-, obs-studio
-, asio_1_10
-, websocketpp
-, nlohmann_json
-}:
-
-stdenv.mkDerivation rec {
-  pname = "obs-websocket";
-
-  # We have updated to the alpha version when OBS Studio 27.2 was
-  # released, because this is the only version of obs-websocket that
-  # builds against the new OBS Studio.
-  version = "5.0.0-alpha3";
-
-  src = fetchFromGitHub {
-    owner = "Palakis";
-    repo = "obs-websocket";
-    rev = version;
-    sha256 = "Lr6SBj5rRTAWmn9Tnlu4Sl7SAkOCRCTP6sFWSp4xB+I=";
-    fetchSubmodules = true;
-  };
-
-  patches = [
-    # This patch can be dropped when obs-websocket is updated to the
-    # next version.
-    (fetchpatch {
-      url = "https://github.com/obsproject/obs-websocket/commit/13c7b83c34eb67b2ee80af05071d81f10d0d2997.patch";
-      sha256 = "TNap/T8+058vhfWzRRr4vmlblFk9tHMUNyG6Ob5PwiM=";
-      name = "obs-addref-werror-fix.patch";
-    })
-  ];
-
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [
-    qtbase
-    qtsvg
-    obs-studio
-    asio_1_10
-    websocketpp
-    nlohmann_json
-  ];
-
-  dontWrapQtApps = true;
-
-  cmakeFlags = [
-    "-DLIBOBS_INCLUDE_DIR=${obs-studio.src}/libobs"
-  ];
-
-  meta = with lib; {
-    description = "Remote-control OBS Studio through WebSockets";
-    homepage = "https://github.com/Palakis/obs-websocket";
-    maintainers = with maintainers; [ erdnaxe ];
-    license = licenses.gpl2Plus;
-    platforms = [ "x86_64-linux" "i686-linux" ];
-  };
-}
diff --git a/pkgs/applications/video/obs-studio/plugins/wlrobs.nix b/pkgs/applications/video/obs-studio/plugins/wlrobs.nix
index adae03036f81c..5ee226c24827d 100644
--- a/pkgs/applications/video/obs-studio/plugins/wlrobs.nix
+++ b/pkgs/applications/video/obs-studio/plugins/wlrobs.nix
@@ -1,16 +1,18 @@
-{ lib, stdenv, fetchhg
+{ lib, stdenv, fetchFromSourcehut
 , meson, pkg-config, ninja
 , wayland, obs-studio, libX11
 }:
 
 stdenv.mkDerivation {
   pname = "wlrobs";
-  version = "unstable-2021-05-13";
+  version = "unstable-2022-10-06";
 
-  src = fetchhg {
-    url = "https://hg.sr.ht/~scoopta/wlrobs";
-    rev = "4184a4a8ea7dc054c993efa16007f3a75b2c6f51";
-    sha256 = "146xirzd3nw1sd216y406v1riky9k08b6a0j4kwxrif5zyqa3adc";
+  src = fetchFromSourcehut {
+    vc = "hg";
+    owner = "~scoopta";
+    repo = "wlrobs";
+    rev = "78be323b25e1365f5c8f9dcba6938063ca10f71f";
+    sha256 = "sha256-/VemJkk695BdSDsODmYIPdhPwggzIhBi/0m6P+AYfx0=";
   };
 
   nativeBuildInputs = [ meson pkg-config ninja ];
diff --git a/pkgs/applications/video/openshot-qt/default.nix b/pkgs/applications/video/openshot-qt/default.nix
index bb6bfa637cece..5d8b68200ded6 100644
--- a/pkgs/applications/video/openshot-qt/default.nix
+++ b/pkgs/applications/video/openshot-qt/default.nix
@@ -2,15 +2,16 @@
 , stdenv
 , mkDerivationWith
 , fetchFromGitHub
+, fetchpatch
 , doxygen
 , gtk3
 , libopenshot
-, python3Packages
+, python3
 , qtsvg
 , wrapGAppsHook
 }:
 
-mkDerivationWith python3Packages.buildPythonApplication rec {
+mkDerivationWith python3.pkgs.buildPythonApplication rec {
   pname = "openshot-qt";
   version = "2.6.1";
 
@@ -18,7 +19,7 @@ mkDerivationWith python3Packages.buildPythonApplication rec {
     owner = "OpenShot";
     repo = "openshot-qt";
     rev = "v${version}";
-    sha256 = "0pa8iwl217503bjlqg2zlrw5lxyq5hvxrf5apxrh3843hj1w1myv";
+    hash = "sha256-29fAg4SDoAFzv6q43Dcs2HdaeKZfPEzlGqCcICiPSF0=";
   };
 
   nativeBuildInputs = [
@@ -30,36 +31,56 @@ mkDerivationWith python3Packages.buildPythonApplication rec {
     gtk3
   ];
 
-  propagatedBuildInputs = with python3Packages; [
+  propagatedBuildInputs = with python3.pkgs; [
     httplib2
     libopenshot
-    pyqt5_with_qtwebkit
+    pyqtwebengine
     pyzmq
     requests
     sip_4
   ];
 
-  dontWrapGApps = true;
-  dontWrapQtApps = true;
-
   preConfigure = ''
     # tries to create caching directories during install
     export HOME=$(mktemp -d)
   '';
 
+  # Following Arch PKGBUILD for Python 3.10 compatibility
+  # https://github.com/OpenShot/openshot-qt/issues/4608
+  # https://github.com/archlinux/svntogit-community/commits/packages/openshot/trunk
+  patches = [
+    (fetchpatch {
+      name = "video-widget.patch";
+      url = "https://github.com/OpenShot/openshot-qt/commit/9748a13268d66a5949aebc970637b5903756d018.patch";
+      hash = "sha256-QwLtcooDJeYWDp80a1dUFo2so/zEWqqsq5IgkXWX324=";
+    })
+    (fetchpatch {
+      name = "python-3.10-int.patch";
+      url = "https://github.com/OpenShot/openshot-qt/commit/fff785eb1e3e0c30ed6ca57e2d1933aaa807ae22.patch";
+      hash = "sha256-ee/s7rhF71ot5oPkGK+j59mL1B3e72xoH27KFoDL8s8=";
+    })
+  ];
+
+  doCheck = false;
+
+  dontWrapGApps = true;
+  dontWrapQtApps = true;
+
   postFixup = ''
     wrapProgram $out/bin/openshot-qt \
   ''
   # Fix toolbar icons on Darwin
   + lib.optionalString stdenv.isDarwin ''
-      --suffix QT_PLUGIN_PATH : "${lib.getBin qtsvg}/lib/qt-5.12.7/plugins" \
-  ''
-  + ''
-      "''${gappsWrapperArgs[@]}" \
-      "''${qtWrapperArgs[@]}"
+    --suffix QT_PLUGIN_PATH : "${lib.getBin qtsvg}/lib/qt-5.12.7/plugins" \
+  '' + ''
+    "''${gappsWrapperArgs[@]}" \
+    "''${qtWrapperArgs[@]}"
   '';
 
-  doCheck = false;
+  passthru = {
+    inherit libopenshot;
+    inherit (libopenshot) libopenshot-audio;
+  };
 
   meta = with lib; {
     homepage = "http://openshot.org/";
@@ -75,9 +96,4 @@ mkDerivationWith python3Packages.buildPythonApplication rec {
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = with platforms; unix;
   };
-
-  passthru = {
-    inherit libopenshot;
-    inherit (libopenshot) libopenshot-audio;
-  };
 }
diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix
index f3d3bf38b634e..41c14d6e439aa 100644
--- a/pkgs/applications/video/vlc/default.nix
+++ b/pkgs/applications/video/vlc/default.nix
@@ -64,7 +64,6 @@
 , systemd
 , taglib
 , unzip
-, xlibsWrapper
 , xorg
 , zlib
 , chromecastSupport ? true, libmicrodns, protobuf
@@ -150,10 +149,10 @@ stdenv.mkDerivation rec {
     srt
     systemd
     taglib
-    xlibsWrapper
     zlib
   ]
   ++ (with xorg; [
+    libSM
     libXpm
     libXv
     libXvMC
diff --git a/pkgs/applications/video/xplayer/default.nix b/pkgs/applications/video/xplayer/default.nix
index c75635b44b311..56ba7957a5a2b 100644
--- a/pkgs/applications/video/xplayer/default.nix
+++ b/pkgs/applications/video/xplayer/default.nix
@@ -97,7 +97,7 @@ stdenv.mkDerivation rec {
     description = "A generic media player from Linux Mint";
     license = with licenses; [ gpl2Plus lgpl21Plus ];
     homepage = "https://github.com/linuxmint/xplayer";
-    maintainers = with maintainers; [ tu-maurice ];
+    maintainers = with maintainers; [ tu-maurice bobby285271 ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/video/xplayer/plparser.nix b/pkgs/applications/video/xplayer/plparser.nix
index c26bd06802f4d..67e394968da54 100644
--- a/pkgs/applications/video/xplayer/plparser.nix
+++ b/pkgs/applications/video/xplayer/plparser.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Playlist parsing library for xplayer";
     homepage = "https://github.com/linuxmint/xplayer-plparser";
-    maintainers = with maintainers; [ tu-maurice ];
+    maintainers = with maintainers; [ tu-maurice bobby285271 ];
     license = licenses.lgpl2Plus;
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/video/xvidcap/default.nix b/pkgs/applications/video/xvidcap/default.nix
deleted file mode 100644
index 06dc6bb465cc2..0000000000000
--- a/pkgs/applications/video/xvidcap/default.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, perlPackages
-, pkg-config
-, gtk2
-, scrollkeeper
-, libglade
-, libXmu
-, libX11
-, libXext
-, gettext
-, lame
-, libXfixes
-, libXdamage
-}:
-
-stdenv.mkDerivation rec {
-  pname = "xvidcap";
-  version = "1.1.7";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/xvidcap/xvidcap-${version}.tar.gz";
-    sha256 = "0p8rhpyhxgy37crf1xk1046z4p663jg7ww776jw92pld3s024ihm";
-  };
-
-  patches = [ ./xlib.patch ];
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [
-    gtk2
-    scrollkeeper
-    libglade
-    libXmu
-    gettext
-    lame
-    libXdamage
-    libXfixes
-    libXext
-    libX11
-  ] ++ (with perlPackages; [ perl XMLParser ]);
-
-  # !!! don't know why this is necessary
-  NIX_LDFLAGS = "-lXext -lX11 -lz -lgcc_s";
-
-  meta = with lib; {
-    description = "Screencast video catpuring tool";
-    homepage = "http://xvidcap.sourceforge.net/";
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/video/xvidcap/xlib.patch b/pkgs/applications/video/xvidcap/xlib.patch
deleted file mode 100644
index eb97854386b25..0000000000000
--- a/pkgs/applications/video/xvidcap/xlib.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/src/app_data.c b/src/app_data.c
-index 5a44363..482b115 100644
---- a/src/app_data.c
-+++ b/src/app_data.c
-@@ -52,9 +52,9 @@
- #include <pthread.h>
- #include <signal.h>
- 
-+#include <X11/Xlib.h>
- #ifdef HAVE_LIBXFIXES
- #include <X11/X.h>
--#include <X11/Xlib.h>
- #include <X11/Xlibint.h>
- #include <X11/Xproto.h>
- #include <X11/Xutil.h>
diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix
index 9a4276997b8ee..1e2e8c764a9ec 100644
--- a/pkgs/applications/virtualization/OVMF/default.nix
+++ b/pkgs/applications/virtualization/OVMF/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, nixosTests, lib, edk2, util-linux, nasm, acpica-tools
+{ stdenv, nixosTests, lib, edk2, util-linux, nasm, acpica-tools, llvmPackages
 , csmSupport ? false, seabios ? null
 , secureBoot ? false
 , httpSupport ? false
@@ -33,7 +33,8 @@ edk2.mkDerivation projectDscPath (finalAttrs: {
 
   outputs = [ "out" "fd" ];
 
-  nativeBuildInputs = [ util-linux nasm acpica-tools ];
+  nativeBuildInputs = [ util-linux nasm acpica-tools ]
+    ++ lib.optionals stdenv.cc.isClang [ llvmPackages.bintools llvmPackages.llvm ];
   strictDeps = true;
 
   hardeningDisable = [ "format" "stackprotector" "pic" "fortify" ];
@@ -44,6 +45,8 @@ edk2.mkDerivation projectDscPath (finalAttrs: {
     ++ lib.optionals httpSupport [ "-D NETWORK_HTTP_ENABLE=TRUE" "-D NETWORK_HTTP_BOOT_ENABLE=TRUE" ]
     ++ lib.optionals tpmSupport [ "-D TPM_ENABLE" "-D TPM2_ENABLE" "-D TPM2_CONFIG_ENABLE"];
 
+  NIX_CFLAGS_COMPILE = lib.optional stdenv.cc.isClang "-Qunused-arguments";
+
   postPatch = lib.optionalString csmSupport ''
     cp ${seabios}/Csm16.bin OvmfPkg/Csm/Csm16/Csm16.bin
   '';
diff --git a/pkgs/applications/virtualization/cloud-hypervisor/default.nix b/pkgs/applications/virtualization/cloud-hypervisor/default.nix
index ee840598930ea..b14ae35f5fa5c 100644
--- a/pkgs/applications/virtualization/cloud-hypervisor/default.nix
+++ b/pkgs/applications/virtualization/cloud-hypervisor/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cloud-hypervisor";
-  version = "26.0";
+  version = "28.0";
 
   src = fetchFromGitHub {
     owner = "cloud-hypervisor";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-choTT20TVp42nN/vS6xCDA7Mbf1ZuAE1tFQZn49g9ak=";
+    sha256 = "sha256-gl8LgR2Sz0DxPAYeyfTvLJg4Esotg/eBfCjbdgEUfRI=";
   };
 
   separateDebugInfo = true;
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ] ++ lib.optional stdenv.isAarch64 dtc;
 
-  cargoSha256 = "sha256-mmyaT24he33wLI3zLOOKhVtzrPRyWzKgXUvc37suy5E=";
+  cargoSha256 = "sha256-qPlk8MHuXnfmtQSqIiFBYQK7TgHun1CxLqVOz/DDvrs=";
 
   OPENSSL_NO_VENDOR = true;
 
diff --git a/pkgs/applications/virtualization/conmon-rs/default.nix b/pkgs/applications/virtualization/conmon-rs/default.nix
new file mode 100644
index 0000000000000..59a2de96e9dd6
--- /dev/null
+++ b/pkgs/applications/virtualization/conmon-rs/default.nix
@@ -0,0 +1,31 @@
+{ capnproto
+, lib
+, fetchFromGitHub
+, protobuf
+, rustPlatform
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "conmon-rs";
+  version = "0.4.0";
+
+  src = fetchFromGitHub {
+    owner = "containers";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-VwVJWf9tKZ5rVF8tXDf35zsS2PipqC8FPbXUpOzsw/Y=";
+  };
+
+  nativeBuildInputs = [ capnproto protobuf ];
+  doCheck = false;
+
+  cargoSha256 = "sha256-zY9fsZK1C3HnCxeNA5dCbQQHYx3IVDMHCHYwFh5ev2k=";
+
+  meta = with lib; {
+    description = "An OCI container runtime monitor written in Rust";
+    homepage = "https://github.com/containers/conmon-rs";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ] ++ teams.podman.members;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/virtualization/conmon/default.nix b/pkgs/applications/virtualization/conmon/default.nix
index 4f16053c1a402..25b89889b5288 100644
--- a/pkgs/applications/virtualization/conmon/default.nix
+++ b/pkgs/applications/virtualization/conmon/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "conmon";
-  version = "2.1.4";
+  version = "2.1.5";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-d7fXbzbrqhP6zLVZo3gO+FyvZg7Z3AGlNSNLy0PD6EE=";
+    sha256 = "sha256-zpZ3hVgnh8gkrSghSvhSZnG9uaN+GTKFGHv+MMcs73Q=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/virtualization/containerd/default.nix b/pkgs/applications/virtualization/containerd/default.nix
index 8a5b2300774a7..7a99bfd0ecc5c 100644
--- a/pkgs/applications/virtualization/containerd/default.nix
+++ b/pkgs/applications/virtualization/containerd/default.nix
@@ -10,13 +10,13 @@
 
 buildGoModule rec {
   pname = "containerd";
-  version = "1.6.9";
+  version = "1.6.10";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = "containerd";
     rev = "v${version}";
-    sha256 = "sha256-KvQdYQLzgt/MKPsA/mO5un6nE3/xcvVYwIveNn/uDnU=";
+    sha256 = "sha256-kz2UuWzVK5lu/d6K0LHauu2yhBF6Hl83P/a/HCCSObc=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/virtualization/cri-o/wrapper.nix b/pkgs/applications/virtualization/cri-o/wrapper.nix
index a984db037d461..b220c8e29cbf0 100644
--- a/pkgs/applications/virtualization/cri-o/wrapper.nix
+++ b/pkgs/applications/virtualization/cri-o/wrapper.nix
@@ -3,7 +3,6 @@
 , makeWrapper
 , lib
 , extraPackages ? []
-, cri-o
 , runc # Default container runtime
 , crun # Container runtime (default with cgroups v2 for podman/buildah)
 , conmon # Container runtime monitor
@@ -12,8 +11,6 @@
 }:
 
 let
-  cri-o = cri-o-unwrapped;
-
   binPath = lib.makeBinPath ([
     runc
     crun
@@ -22,13 +19,13 @@ let
     iptables
   ] ++ extraPackages);
 
-in runCommand cri-o.name {
-  name = "${cri-o.pname}-wrapper-${cri-o.version}";
-  inherit (cri-o) pname version passthru;
+in runCommand cri-o-unwrapped.name {
+  name = "${cri-o-unwrapped.pname}-wrapper-${cri-o-unwrapped.version}";
+  inherit (cri-o-unwrapped) pname version passthru;
 
   preferLocalBuild = true;
 
-  meta = builtins.removeAttrs cri-o.meta [ "outputsToInstall" ];
+  meta = builtins.removeAttrs cri-o-unwrapped.meta [ "outputsToInstall" ];
 
   outputs = [
     "out"
@@ -40,7 +37,7 @@ in runCommand cri-o.name {
   ];
 
 } ''
-  ln -s ${cri-o.man} $man
+  ln -s ${cri-o-unwrapped.man} $man
 
   mkdir -p $out/bin
   ln -s ${cri-o-unwrapped}/share $out/share
diff --git a/pkgs/applications/virtualization/crosvm/default-seccomp-policy-dir.diff b/pkgs/applications/virtualization/crosvm/default-seccomp-policy-dir.diff
deleted file mode 100644
index 0af27df9a1926..0000000000000
--- a/pkgs/applications/virtualization/crosvm/default-seccomp-policy-dir.diff
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git i/src/crosvm.rs w/src/crosvm.rs
-index ab7c466b..636dc140 100644
---- i/src/crosvm.rs
-+++ w/src/crosvm.rs
-@@ -345,7 +345,9 @@ impl Default for JailConfig {
-     fn default() -> Self {
-         JailConfig {
-             pivot_root: PathBuf::from(option_env!("DEFAULT_PIVOT_ROOT").unwrap_or("/var/empty")),
--            seccomp_policy_dir: PathBuf::from(SECCOMP_POLICY_DIR),
-+            seccomp_policy_dir: PathBuf::from(
-+                option_env!("DEFAULT_SECCOMP_POLICY_DIR").unwrap_or(SECCOMP_POLICY_DIR),
-+            ),
-             seccomp_log_failures: false,
-         }
-     }
diff --git a/pkgs/applications/virtualization/crosvm/default.nix b/pkgs/applications/virtualization/crosvm/default.nix
index a4de1433ae735..11d8f2223656f 100644
--- a/pkgs/applications/virtualization/crosvm/default.nix
+++ b/pkgs/applications/virtualization/crosvm/default.nix
@@ -1,60 +1,56 @@
-{ stdenv, lib, rustPlatform, fetchgit
-, minijail-tools, pkg-config, protobuf, wayland-scanner
+{ stdenv, lib, rust, rustPlatform, fetchgit, fetchpatch
+, clang, pkg-config, protobuf, python3, wayland-scanner
 , libcap, libdrm, libepoxy, minijail, virglrenderer, wayland, wayland-protocols
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "crosvm";
-  version = "104.0";
+  version = "107.1";
 
   src = fetchgit {
-    url = "https://chromium.googlesource.com/crosvm/crosvm";
-    rev = "265aab613b1eb31598ea0826f04810d9f010a2c6";
-    sha256 = "OzbtPHs6BWK83RZ/6eCQHA61X6SY8FoBkaN70a37pvc=";
+    url = "https://chromium.googlesource.com/chromiumos/platform/crosvm";
+    rev = "5a49a836e63aa6e9ae38b80daa09a013a57bfb7f";
+    sha256 = "F+5i3R7Tbd9xF63Olnyavzg/hD+8HId1duWm8bvAmLA=";
     fetchSubmodules = true;
   };
 
   separateDebugInfo = true;
 
   patches = [
-    ./default-seccomp-policy-dir.diff
+    # Backport seccomp sandbox update for recent Glibc.
+    # fetchpatch is not currently gerrit/gitiles-compatible, so we
+    # have to use the mirror.
+    # https://github.com/NixOS/nixpkgs/pull/133604
+    (fetchpatch {
+      url = "https://github.com/google/crosvm/commit/aae01416807e7c15270b3d44162610bcd73952ff.patch";
+      sha256 = "nQuOMOwBu8QvfwDSuTz64SQhr2dF9qXt2NarbIU55tU=";
+    })
   ];
 
-  cargoLock.lockFile = ./Cargo.lock;
+  cargoSha256 = "1jg9x5adz1lbqdwnzld4xg4igzmh90nd9xm287cgkvh5fbmsjfjv";
 
-  nativeBuildInputs = [ minijail-tools pkg-config protobuf wayland-scanner ];
+  nativeBuildInputs = [ clang pkg-config protobuf python3 wayland-scanner ];
 
   buildInputs = [
     libcap libdrm libepoxy minijail virglrenderer wayland wayland-protocols
   ];
 
-  arch = stdenv.hostPlatform.parsed.cpu.name;
-
-  postPatch = ''
-    cp ${cargoLock.lockFile} Cargo.lock
-    sed -i "s|/usr/share/policy/crosvm/|$PWD/seccomp/$arch/|g" \
-        seccomp/$arch/*.policy
+  preConfigure = ''
+    patchShebangs third_party/minijail/tools/*.py
+    substituteInPlace build.rs --replace '"clang"' '"${stdenv.cc.targetPrefix}clang"'
   '';
 
-  preBuild = ''
-    export DEFAULT_SECCOMP_POLICY_DIR=$out/share/policy
-
-    for policy in seccomp/$arch/*.policy; do
-        compile_seccomp_policy \
-            --default-action trap $policy ''${policy%.policy}.bpf
-    done
+  "CARGO_TARGET_${lib.toUpper (builtins.replaceStrings ["-"] ["_"] (rust.toRustTarget stdenv.hostPlatform))}_LINKER" =
+    "${stdenv.cc.targetPrefix}cc";
 
-    substituteInPlace seccomp/$arch/*.policy \
-      --replace "@include $(pwd)/seccomp/$arch/" "@include $out/share/policy/"
-  '';
+  # crosvm mistakenly expects the stable protocols to be in the root
+  # of the pkgdatadir path, rather than under the "stable"
+  # subdirectory.
+  PKG_CONFIG_WAYLAND_PROTOCOLS_PKGDATADIR =
+    "${wayland-protocols}/share/wayland-protocols/stable";
 
   buildFeatures = [ "default" "virgl_renderer" "virgl_renderer_next" ];
 
-  postInstall = ''
-    mkdir -p $out/share/policy/
-    cp -v seccomp/$arch/*.{policy,bpf} $out/share/policy/
-  '';
-
   passthru.updateScript = ./update.py;
 
   meta = with lib; {
diff --git a/pkgs/applications/virtualization/crosvm/generate-cargo.sh b/pkgs/applications/virtualization/crosvm/generate-cargo.sh
deleted file mode 100644
index 216cafe367ca1..0000000000000
--- a/pkgs/applications/virtualization/crosvm/generate-cargo.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-dir="$(mktemp -d)" &&
-    cd "$dir" &&
-    unpackPhase &&
-    cd "${sourceRoot:-}" &&
-    cargo generate-lockfile &&
-    mv Cargo.lock "$1"
-rm -rf "$dir"
diff --git a/pkgs/applications/virtualization/crosvm/update.py b/pkgs/applications/virtualization/crosvm/update.py
index d912c49078c68..7a94aedefdb67 100755
--- a/pkgs/applications/virtualization/crosvm/update.py
+++ b/pkgs/applications/virtualization/crosvm/update.py
@@ -34,7 +34,7 @@ with urlopen('https://chromiumdash.appspot.com/cros/download_serving_builds_csv?
 
 chrome_major_version = chrome_version[0]
 chromeos_tip_build = platform_version[0]
-release_branch = f'release-R{chrome_major_version}-{chromeos_tip_build}.B-chromeos'
+release_branch = f'release-R{chrome_major_version}-{chromeos_tip_build}.B'
 
 # Determine the git revision.
 with urlopen(f'https://chromium.googlesource.com/chromiumos/platform/crosvm/+/refs/heads/{release_branch}?format=JSON') as resp:
@@ -50,16 +50,3 @@ with urlopen(f'https://chromium.googlesource.com/chromiumos/platform/crosvm/+log
 
 # Update the version, git revision, and hash in crosvm's default.nix.
 subprocess.run(['update-source-version', 'crosvm', f'--rev={rev}', version])
-
-# Find the path to crosvm's default.nix, so Cargo.lock can be written
-# into the same directory.
-argv = ['nix-instantiate', '--eval', '--json', '-A', 'crosvm.meta.position']
-position = json.loads(subprocess.check_output(argv).decode('utf-8'))
-filename = re.match(r'[^:]*', position)[0]
-
-# Generate a Cargo.lock
-run = ['.',
-       dirname(abspath(__file__)) + '/generate-cargo.sh',
-       dirname(filename) + '/Cargo.lock']
-expr = '(import ./. {}).crosvm.overrideAttrs (_: { dontCargoSetupPostUnpack = true; })'
-subprocess.run(['nix-shell', '-E', expr, '--run', shlex.join(run)])
diff --git a/pkgs/applications/virtualization/crun/default.nix b/pkgs/applications/virtualization/crun/default.nix
index 3bd766e7ae948..810fefa2863f8 100644
--- a/pkgs/applications/virtualization/crun/default.nix
+++ b/pkgs/applications/virtualization/crun/default.nix
@@ -38,13 +38,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "crun";
-  version = "1.6";
+  version = "1.7";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = version;
-    sha256 = "sha256-JO07bF2Xucz8lSvj7om17a/NT0I7Vru1vayZhPDFLIw=";
+    sha256 = "sha256-Ly6GBR7nF7J5Dwe1jrQxR4XYsao7KxBAxGn8fsJwmMs=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/virtualization/ecs-agent/default.nix b/pkgs/applications/virtualization/ecs-agent/default.nix
index 0f4f84d0fb60c..88c5f3779df64 100644
--- a/pkgs/applications/virtualization/ecs-agent/default.nix
+++ b/pkgs/applications/virtualization/ecs-agent/default.nix
@@ -1,24 +1,30 @@
-{ lib, fetchFromGitHub, buildGoPackage }:
+{ lib, fetchFromGitHub, buildGoModule }:
 
-buildGoPackage rec {
-  pname   = "amazon-ecs-agent";
-  version = "1.65.0";
-
-  goPackagePath = "github.com/aws/${pname}";
-  subPackages   = [ "agent" ];
+buildGoModule rec {
+  pname = "amazon-ecs-agent";
+  version = "1.66.2";
 
   src = fetchFromGitHub {
-    rev    = "v${version}";
-    owner  = "aws";
-    repo   = pname;
-    sha256 = "sha256-vnq76WifMax2GAUSoeYtjmAQc2T8cyer18+PaG87n7A=";
+    rev = "v${version}";
+    owner = "aws";
+    repo = pname;
+    hash = "sha256-mZzDvD+40YiC8cBpLlYd7K1p5UBYpso9OMCDijopuik=";
   };
 
+  vendorHash = null;
+
+  modRoot = "./agent";
+
+  excludedPackages = [ "./version/gen" ];
+
+  ldflags = [ "-s" "-w" ];
+
   meta = with lib; {
     description = "The agent that runs on AWS EC2 container instances and starts containers on behalf of Amazon ECS";
-    homepage    = "https://github.com/aws/amazon-ecs-agent";
-    license     = licenses.asl20;
-    platforms   = platforms.unix;
+    homepage = "https://github.com/aws/amazon-ecs-agent";
+    changelog = "https://github.com/aws/amazon-ecs-agent/raw/v${version}/CHANGELOG.md";
+    license = licenses.asl20;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ copumpkin ];
     mainProgram = "agent";
   };
diff --git a/pkgs/applications/virtualization/gvisor/default.nix b/pkgs/applications/virtualization/gvisor/default.nix
index 08e1b97355d31..0abfe944ee273 100644
--- a/pkgs/applications/virtualization/gvisor/default.nix
+++ b/pkgs/applications/virtualization/gvisor/default.nix
@@ -9,7 +9,7 @@
 
 buildGoModule rec {
   pname = "gvisor";
-  version = "20220919.0";
+  version = "20221102.1";
 
   # gvisor provides a synthetic go branch (https://github.com/google/gvisor/tree/go)
   # that can be used to build gvisor without bazel.
@@ -18,8 +18,8 @@ buildGoModule rec {
   src = fetchFromGitHub {
     owner = "google";
     repo = "gvisor";
-    rev = "4e7fd140e8d0056f8f031950fcace8ff4d48a526";
-    sha256 = "sha256-II0lnthabkyCgPum7EBdyOYwB0rWjA2Jd9DVGLJQy6Q=";
+    rev = "bf8eeee3a9eb966bc72c773da060a3c8bb73b8ff";
+    sha256 = "sha256-rADQsJ+AnBVlfQURGJl1xR6Ad5NyRWSrBSpOFMRld+o=";
   };
 
   vendorSha256 = "sha256-iGLWxx/Kn1QaJTNOZcc+mwoF3ecEDOkaqmA0DH4pdgU=";
diff --git a/pkgs/applications/virtualization/libgovirt/default.nix b/pkgs/applications/virtualization/libgovirt/default.nix
index 9c9da54c3632d..0815781c21f7d 100644
--- a/pkgs/applications/virtualization/libgovirt/default.nix
+++ b/pkgs/applications/virtualization/libgovirt/default.nix
@@ -20,6 +20,11 @@ stdenv.mkDerivation rec {
     sha256 = "HckYYikXa9+p8l/Y+oLAoFi2pgwcyAfHUH7IqTwPHfg=";
   };
 
+  patches = lib.optionals stdenv.isDarwin [
+    # The flag breaks the build on darwin and doesn't seem necessary
+    ./no-version-script-ld-flag.patch
+  ];
+
   nativeBuildInputs = [
     pkg-config
     gobject-introspection
@@ -46,8 +51,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://gitlab.gnome.org/GNOME/libgovirt";
     description = "GObject wrapper for the oVirt REST API";
-    maintainers = [ maintainers.amarshall ];
-    platforms = platforms.linux;
+    maintainers = with maintainers; [ amarshall atemu ];
+    platforms = with platforms; linux ++ darwin;
     license = licenses.lgpl21Plus;
   };
 }
diff --git a/pkgs/applications/virtualization/libgovirt/no-version-script-ld-flag.patch b/pkgs/applications/virtualization/libgovirt/no-version-script-ld-flag.patch
new file mode 100644
index 0000000000000..a837c3bf06421
--- /dev/null
+++ b/pkgs/applications/virtualization/libgovirt/no-version-script-ld-flag.patch
@@ -0,0 +1,14 @@
+--- a/govirt/Makefile.in
++++ b/govirt/Makefile.in
+@@ -511,8 +511,7 @@
+ libgovirt_la_LDFLAGS = \
+ 	-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)	\
+ 	-export-dynamic						\
+-	-no-undefined						\
+-	-Wl,--version-script=$(srcdir)/govirt.sym
++	-no-undefined
+ 
+ libgovirt_la_CFLAGS = \
+ 	$(WARNINGFLAGS_C)
+
+Diff finished.  Fri Oct 28 10:36:38 2022
diff --git a/pkgs/applications/virtualization/lima/default.nix b/pkgs/applications/virtualization/lima/default.nix
index 8da73d834aa8b..03d049477b5db 100644
--- a/pkgs/applications/virtualization/lima/default.nix
+++ b/pkgs/applications/virtualization/lima/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "lima";
-  version = "0.12.0";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "lima-vm";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-v2zvcUDbzjisJVxEic6VDZewaE0kp1rcB2NK8y3utnQ=";
+    sha256 = "sha256-alE7fUVxJRkLMtdia5ruHxh9nlWIubM0J6iIrmpreRM=";
   };
 
-  vendorSha256 = "sha256-MlfDvdzkegtS8sW/GjkOMLQTK30G6RipHaYzNcwIkEE=";
+  vendorSha256 = "sha256-Kb2R8USWOWRFMjQO3tjdl5UHOzzb2B3ld+5vO2gF3KY=";
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
diff --git a/pkgs/applications/virtualization/nixpacks/default.nix b/pkgs/applications/virtualization/nixpacks/default.nix
index 51733a08f4de8..198a2a0b71a53 100644
--- a/pkgs/applications/virtualization/nixpacks/default.nix
+++ b/pkgs/applications/virtualization/nixpacks/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nixpacks";
-  version = "0.11.5";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "railwayapp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-QLF49k8f8YYwPl26pyz9/bbO4IO0KqSlgTFNjbvPf7k=";
+    sha256 = "sha256-az4DllTkGP80Jf0NeaKrBI0zz56chPizJGu97cqXrJ4=";
   };
 
-  cargoSha256 = "sha256-u0L3NJ4ku5ETBx6PKgVStrcSCX4I7E6GNtW+iv3yy2g=";
+  cargoSha256 = "sha256-ghbJBhoU41yJ3qZBaKzEybNuCLdSqoL30+1h9d56b4A=";
 
   # skip test due FHS dependency
   doCheck = false;
diff --git a/pkgs/applications/virtualization/open-vm-tools/default.nix b/pkgs/applications/virtualization/open-vm-tools/default.nix
index 7755795306a67..66c6086aed03a 100644
--- a/pkgs/applications/virtualization/open-vm-tools/default.nix
+++ b/pkgs/applications/virtualization/open-vm-tools/default.nix
@@ -1,8 +1,41 @@
-{ stdenv, lib, fetchFromGitHub, makeWrapper, autoreconfHook
-, bash, fuse3, libmspack, openssl, pam, xercesc, icu, libdnet, procps, libtirpc, rpcsvc-proto
-, libX11, libXext, libXinerama, libXi, libXrender, libXrandr, libXtst, libxcrypt
-, pkg-config, glib, gdk-pixbuf-xlib, gtk3, gtkmm3, iproute2, dbus, systemd, which
-, libdrm, udev, util-linux
+{ stdenv
+, lib
+, fetchFromGitHub
+, makeWrapper
+, autoreconfHook
+, bash
+, fuse3
+, libmspack
+, openssl
+, pam
+, xercesc
+, icu
+, libdnet
+, procps
+, libtirpc
+, rpcsvc-proto
+, libX11
+, libXext
+, libXinerama
+, libXi
+, libXrender
+, libXrandr
+, libXtst
+, libxcrypt
+, libxml2
+, pkg-config
+, glib
+, gdk-pixbuf-xlib
+, gtk3
+, gtkmm3
+, iproute2
+, dbus
+, systemd
+, which
+, libdrm
+, udev
+, util-linux
+, xmlsec
 , withX ? true
 }:
 
@@ -11,9 +44,9 @@ stdenv.mkDerivation rec {
   version = "12.1.0";
 
   src = fetchFromGitHub {
-    owner  = "vmware";
-    repo   = "open-vm-tools";
-    rev    = "stable-${version}";
+    owner = "vmware";
+    repo = "open-vm-tools";
+    rev = "stable-${version}";
     hash = "sha256-PgrLu0Bm9Vom5WNl43312QFWKojdXDAGn3Nvj4hzPrQ=";
   };
 
@@ -21,46 +54,77 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ autoreconfHook makeWrapper pkg-config ];
-  buildInputs = [ fuse3 glib icu libdnet libdrm libmspack libtirpc libxcrypt openssl pam procps rpcsvc-proto udev xercesc ]
-      ++ lib.optionals withX [ gdk-pixbuf-xlib gtk3 gtkmm3 libX11 libXext libXinerama libXi libXrender libXrandr libXtst ];
-
-  postPatch = ''
-     sed -i 's,etc/vmware-tools,''${prefix}/etc/vmware-tools,' Makefile.am
-     sed -i 's,^confdir = ,confdir = ''${prefix},' scripts/Makefile.am
-     sed -i 's,usr/bin,''${prefix}/usr/bin,' scripts/Makefile.am
-     sed -i 's,etc/vmware-tools,''${prefix}/etc/vmware-tools,' services/vmtoolsd/Makefile.am
-     sed -i 's,$(PAM_PREFIX),''${prefix}/$(PAM_PREFIX),' services/vmtoolsd/Makefile.am
-
-     # Avoid a glibc >= 2.25 deprecation warning that gets fatal via -Werror.
-     sed 1i'#include <sys/sysmacros.h>' -i lib/wiper/wiperPosix.c
-
-     # Make reboot work, shutdown is not in /sbin on NixOS
-     sed -i 's,/sbin/shutdown,shutdown,' lib/system/systemLinux.c
+  nativeBuildInputs = [
+    autoreconfHook
+    makeWrapper
+    pkg-config
+  ];
 
-     # Fix paths to fuse3 (we do not use fuse2 so that is not modified)
-     sed -i 's,/bin/fusermount3,${fuse3}/bin/fusermount3,' vmhgfs-fuse/config.c
+  buildInputs = [
+    fuse3
+    glib
+    icu
+    libdnet
+    libdrm
+    libmspack
+    libtirpc
+    libxcrypt
+    libxml2
+    openssl
+    pam
+    procps
+    rpcsvc-proto
+    udev
+    xercesc
+    xmlsec
+  ] ++ lib.optionals withX [
+    gdk-pixbuf-xlib
+    gtk3
+    gtkmm3
+    libX11
+    libXext
+    libXinerama
+    libXi
+    libXrender
+    libXrandr
+    libXtst
+  ];
 
-     substituteInPlace services/plugins/vix/foundryToolsDaemon.c \
-      --replace "/usr/bin/vmhgfs-fuse" "${placeholder "out"}/bin/vmhgfs-fuse" \
-      --replace "/bin/mount" "${util-linux}/bin/mount"
+  postPatch = ''
+    sed -i Makefile.am \
+      -e 's,etc/vmware-tools,''${prefix}/etc/vmware-tools,'
+    sed -i scripts/Makefile.am \
+      -e 's,^confdir = ,confdir = ''${prefix},' \
+      -e 's,usr/bin,''${prefix}/usr/bin,'
+    sed -i services/vmtoolsd/Makefile.am \
+      -e 's,etc/vmware-tools,''${prefix}/etc/vmware-tools,' \
+      -e 's,$(PAM_PREFIX),''${prefix}/$(PAM_PREFIX),'
+    sed -i vgauth/service/Makefile.am \
+      -e 's,/etc/vmware-tools/vgauth/schemas,''${prefix}/etc/vmware-tools/vgauth/schemas,' \
+      -e 's,$(DESTDIR)/etc/vmware-tools/vgauth.conf,''${prefix}/etc/vmware-tools/vgauth.conf,'
+
+    # don't abort on any warning
+    sed -i 's,CFLAGS="$CFLAGS -Werror",,' configure.ac
+
+    # Make reboot work, shutdown is not in /sbin on NixOS
+    sed -i 's,/sbin/shutdown,shutdown,' lib/system/systemLinux.c
+
+    # Fix paths to fuse3 (we do not use fuse2 so that is not modified)
+    sed -i 's,/bin/fusermount3,${fuse3}/bin/fusermount3,' vmhgfs-fuse/config.c
+
+    substituteInPlace services/plugins/vix/foundryToolsDaemon.c \
+     --replace "/usr/bin/vmhgfs-fuse" "${placeholder "out"}/bin/vmhgfs-fuse" \
+     --replace "/bin/mount" "${util-linux}/bin/mount"
   '';
 
   configureFlags = [
     "--without-kernel-modules"
-    "--without-xmlsecurity"
     "--with-udev-rules-dir=${placeholder "out"}/lib/udev/rules.d"
     "--with-fuse=fuse3"
   ] ++ lib.optional (!withX) "--without-x";
 
   enableParallelBuilding = true;
 
-  NIX_CFLAGS_COMPILE = builtins.toString [
-    # fix build with gcc9
-    "-Wno-error=address-of-packed-member"
-    "-Wno-error=format-overflow"
-  ];
-
   preConfigure = ''
     mkdir -p ${placeholder "out"}/lib/udev/rules.d
   '';
@@ -79,7 +143,7 @@ stdenv.mkDerivation rec {
       better management of, and seamless user interactions with, guests.
     '';
     license = licenses.gpl2;
-    platforms =  [ "x86_64-linux" "i686-linux" "aarch64-linux" ];
+    platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ];
     maintainers = with maintainers; [ joamaki ];
   };
 }
diff --git a/pkgs/applications/virtualization/podman-tui/default.nix b/pkgs/applications/virtualization/podman-tui/default.nix
index 88ae7318c5067..b13908495a536 100644
--- a/pkgs/applications/virtualization/podman-tui/default.nix
+++ b/pkgs/applications/virtualization/podman-tui/default.nix
@@ -1,41 +1,35 @@
-{ lib
-, stdenv
-, pkg-config
-, fetchFromGitHub
-, buildGoModule
-, btrfs-progs
-, gpgme
-, libassuan
-, lvm2
-, testers
-, podman-tui
-}:
+{ lib, stdenv, fetchFromGitHub, buildGoModule, testers, podman-tui }:
+
 buildGoModule rec {
   pname = "podman-tui";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "podman-tui";
     rev = "v${version}";
-    sha256 = "sha256-9ZFyrRf4yMik4+TQYN+75fWuKHuI8hkaKJ6o5qWYb7E=";
+    hash = "sha256-UhlhNmVPTOXVWpL4pxF5c6ZQj//pXrzZWlRUaKGSTSA=";
   };
 
-  vendorSha256 = null;
+  vendorHash = null;
 
-  nativeBuildInputs = [ pkg-config ];
+  CGO_ENABLED = 0;
 
-  buildInputs = [ gpgme libassuan ]
-    ++ lib.optionals stdenv.isLinux [ btrfs-progs lvm2 ];
+  tags = [ "containers_image_openpgp" "remote" ]
+    ++ lib.optional stdenv.isDarwin "darwin";
 
   ldflags = [ "-s" "-w" ];
 
   preCheck =
-    let skippedTests = [
-      "TestNetdialogs"
-    ]; in
+    let
+      skippedTests = [
+        "TestDialogs"
+        "TestNetdialogs"
+      ];
+    in
     ''
-      export HOME=/home/$(whoami)
+      export USER=$(whoami)
+      export HOME=/home/$USER
 
       # Disable flaky tests
       buildFlagsArray+=("-run" "[^(${builtins.concatStringsSep "|" skippedTests})]")
diff --git a/pkgs/applications/virtualization/podman/default.nix b/pkgs/applications/virtualization/podman/default.nix
index 85a59c56b2ca8..dabf52ca88af0 100644
--- a/pkgs/applications/virtualization/podman/default.nix
+++ b/pkgs/applications/virtualization/podman/default.nix
@@ -18,13 +18,13 @@
 
 buildGoModule rec {
   pname = "podman";
-  version = "4.3.0";
+  version = "4.3.1";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "podman";
     rev = "v${version}";
-    sha256 = "sha256-wp3Dd5bhLd/eq926C+MpzMWoxieJRAslt1beZU/WbeU=";
+    sha256 = "sha256-UOAQtGDoZe+Av4+9RQCJiV3//B/pdF0pEsca4FonGxY=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/virtualization/podman/wrapper.nix b/pkgs/applications/virtualization/podman/wrapper.nix
index b0b3c4abd9165..d0131eacdd37e 100644
--- a/pkgs/applications/virtualization/podman/wrapper.nix
+++ b/pkgs/applications/virtualization/podman/wrapper.nix
@@ -5,7 +5,6 @@
 , lib
 , stdenv
 , extraPackages ? []
-, podman # Docker compat
 , runc # Default container runtime
 , crun # Container runtime (default with cgroups v2 for podman/buildah)
 , conmon # Container runtime monitor
@@ -23,8 +22,6 @@
 # adding aardvark-dns/netavark to `helpersBin` requires changes to the modules and tests
 
 let
-  podman = podman-unwrapped;
-
   binPath = lib.makeBinPath ([
   ] ++ lib.optionals stdenv.isLinux [
     runc
@@ -38,24 +35,24 @@ let
   ] ++ extraPackages);
 
   helpersBin = symlinkJoin {
-    name = "${podman.pname}-helper-binary-wrapper-${podman.version}";
+    name = "${podman-unwrapped.pname}-helper-binary-wrapper-${podman-unwrapped.version}";
 
     # this only works for some binaries, others may need to be be added to `binPath` or in the modules
     paths = [
       gvproxy
     ] ++ lib.optionals stdenv.isLinux [
       catatonit # added here for the pause image and also set in `containersConf` for `init_path`
-      podman.rootlessport
+      podman-unwrapped.rootlessport
     ];
   };
 
-in runCommand podman.name {
-  name = "${podman.pname}-wrapper-${podman.version}";
-  inherit (podman) pname version passthru;
+in runCommand podman-unwrapped.name {
+  name = "${podman-unwrapped.pname}-wrapper-${podman-unwrapped.version}";
+  inherit (podman-unwrapped) pname version passthru;
 
   preferLocalBuild = true;
 
-  meta = builtins.removeAttrs podman.meta [ "outputsToInstall" ];
+  meta = builtins.removeAttrs podman-unwrapped.meta [ "outputsToInstall" ];
 
   outputs = [
     "out"
@@ -67,7 +64,7 @@ in runCommand podman.name {
   ];
 
 } ''
-  ln -s ${podman.man} $man
+  ln -s ${podman-unwrapped.man} $man
 
   mkdir -p $out/bin
   ln -s ${podman-unwrapped}/etc $out/etc
diff --git a/pkgs/applications/virtualization/pods/default.nix b/pkgs/applications/virtualization/pods/default.nix
index b02bb74b17338..eba18a76b1494 100644
--- a/pkgs/applications/virtualization/pods/default.nix
+++ b/pkgs/applications/virtualization/pods/default.nix
@@ -15,19 +15,19 @@
 
 stdenv.mkDerivation rec {
   pname = "pods";
-  version = "1.0.0-beta.6";
+  version = "1.0.0-beta.7";
 
   src = fetchFromGitHub {
     owner = "marhkb";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ndsxa4d4lB1kZtRoLmAs/3e93qoKlS1YjB1GK9xby/A=";
+    sha256 = "sha256-b44x+VyoiDafsPqfCTPm70zZJfNYQ31/UXsrXP6K29E=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    sha256 = "sha256-qgR7wVXGJyAYCh9B9uJ63njXjiZa4BswfFMBhBpvKoM=";
+    sha256 = "sha256-kgXt5enZ0VJr6hmEVcCREna4Y53q1jEFzUMsGtV2zvY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index 42a556a451fb4..46bbc3b914b93 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -14,7 +14,7 @@
 , gtkSupport ? !stdenv.isDarwin && !xenSupport && !nixosTestRunner, gtk3, gettext, vte, wrapGAppsHook
 , vncSupport ? !nixosTestRunner, libjpeg, libpng
 , smartcardSupport ? !nixosTestRunner, libcacard
-, spiceSupport ? !stdenv.isDarwin && !nixosTestRunner, spice, spice-protocol
+, spiceSupport ? true && !nixosTestRunner, spice, spice-protocol
 , ncursesSupport ? !nixosTestRunner, ncurses
 , usbredirSupport ? spiceSupport, usbredir
 , xenSupport ? false, xen
diff --git a/pkgs/applications/virtualization/virt-viewer/default.nix b/pkgs/applications/virtualization/virt-viewer/default.nix
index ed882709aa143..2e8aa34286a6f 100644
--- a/pkgs/applications/virtualization/virt-viewer/default.nix
+++ b/pkgs/applications/virtualization/virt-viewer/default.nix
@@ -29,7 +29,7 @@
 
 assert spiceSupport -> (
   gdbm != null
-  && libcap != null
+  && (stdenv.isLinux -> libcap != null)
   && spice-gtk_libsoup2 != null
   && spice-protocol != null
 );
@@ -76,12 +76,13 @@ stdenv.mkDerivation rec {
     libvirt-glib
     libxml2
     vte
-  ] ++ optionals spiceSupport [
+  ] ++ optionals spiceSupport ([
     gdbm
-    libcap
     spice-gtk_libsoup2
     spice-protocol
-  ];
+  ] ++ optionals stdenv.isLinux [
+    libcap
+  ]);
 
   # Required for USB redirection PolicyKit rules file
   propagatedUserEnvPkgs = optional spiceSupport spice-gtk_libsoup2;
@@ -94,8 +95,8 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A viewer for remote virtual machines";
-    maintainers = [ maintainers.raskin ];
-    platforms = platforms.linux;
+    maintainers = with maintainers; [ raskin atemu ];
+    platforms = with platforms; linux ++ darwin;
     license = licenses.gpl2;
   };
   passthru = {
diff --git a/pkgs/applications/window-managers/eww/default.nix b/pkgs/applications/window-managers/eww/default.nix
index 6420b79072f08..4e74fcd26e771 100644
--- a/pkgs/applications/window-managers/eww/default.nix
+++ b/pkgs/applications/window-managers/eww/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , pkg-config
 , gtk3
+, gdk-pixbuf
 , withWayland ? false
 , gtk-layer-shell
 , stdenv
@@ -25,7 +26,7 @@ rustPlatform.buildRustPackage rec {
 
   nativeBuildInputs = [ pkg-config ];
 
-  buildInputs = [ gtk3 ] ++ lib.optional withWayland gtk-layer-shell;
+  buildInputs = [ gtk3 gdk-pixbuf ] ++ lib.optional withWayland gtk-layer-shell;
 
   buildNoDefaultFeatures = withWayland;
   buildFeatures = lib.optional withWayland "wayland";
diff --git a/pkgs/applications/window-managers/gamescope/default.nix b/pkgs/applications/window-managers/gamescope/default.nix
index f6660b3c0c8fa..7fdffc27f6526 100644
--- a/pkgs/applications/window-managers/gamescope/default.nix
+++ b/pkgs/applications/window-managers/gamescope/default.nix
@@ -26,7 +26,7 @@
 }:
 let
   pname = "gamescope";
-  version = "3.11.47";
+  version = "3.11.49";
 in
 stdenv.mkDerivation {
   inherit pname version;
@@ -35,7 +35,7 @@ stdenv.mkDerivation {
     owner = "Plagman";
     repo = "gamescope";
     rev = "refs/tags/${version}";
-    hash = "sha256-GkvujrYc7dBbsGqeG0THqtEAox+VZ3DoWQK4gkHo+ds=";
+    hash = "sha256-GRq/b013wFRHzFz2YCulJRtcwzX/dhJKd8dkATSLug0=";
   };
 
   patches = [ ./use-pkgconfig.patch ];
@@ -85,7 +85,7 @@ stdenv.mkDerivation {
     description = "SteamOS session compositing window manager";
     homepage = "https://github.com/Plagman/gamescope";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ nrdxp ];
+    maintainers = with maintainers; [ nrdxp zhaofengli ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix
index 9a6fc59595489..4ffa04d73bf5f 100644
--- a/pkgs/applications/window-managers/i3/default.nix
+++ b/pkgs/applications/window-managers/i3/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "i3";
-  version = "4.21";
+  version = "4.21.1";
 
   src = fetchurl {
     url = "https://i3wm.org/downloads/${pname}-${version}.tar.xz";
-    sha256 = "sha256-jcUgXg80Q9WGYeMHg1If2cbUJtHn82Z6sS8qwbLTIHg=";
+    sha256 = "sha256-7f14EoXGVKBdxtsnLOAwDEQo5vvYddmZZOV94ltBvB4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/window-managers/i3/gaps.nix b/pkgs/applications/window-managers/i3/gaps.nix
index 64d863e8047f1..35a58bd25f00e 100644
--- a/pkgs/applications/window-managers/i3/gaps.nix
+++ b/pkgs/applications/window-managers/i3/gaps.nix
@@ -2,13 +2,13 @@
 
 i3.overrideAttrs (oldAttrs : rec {
   pname = "i3-gaps";
-  version = "4.21";
+  version = "4.21.1";
 
   src = fetchFromGitHub {
     owner = "Airblader";
     repo = "i3";
     rev = version;
-    sha256 = "sha256-douSRvnyDbi2gDJfu9VZmmTyYfy+FrFWHgyAyPyBWdM=";
+    sha256 = "sha256-+JxJjvzEuAA4CH+gufzAzIqd5BSvHtPvLm2zTfXc/xk=";
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/window-managers/i3/i3ipc-glib.nix b/pkgs/applications/window-managers/i3/i3ipc-glib.nix
index 572b12d986c10..a6a77600ee5f1 100644
--- a/pkgs/applications/window-managers/i3/i3ipc-glib.nix
+++ b/pkgs/applications/window-managers/i3/i3ipc-glib.nix
@@ -4,7 +4,6 @@
 }:
 
 stdenv.mkDerivation rec {
-
   pname = "i3ipc-glib";
   version = "1.0.1";
 
@@ -15,10 +14,10 @@ stdenv.mkDerivation rec {
     sha256 = "01fzvrbnzcwx0vxw29igfpza9zwzp2s7msmzb92v01z0rz0y5m0p";
   };
 
-  nativeBuildInputs = [ autoreconfHook which pkg-config ];
-
-  buildInputs = [ libxcb json-glib gtk-doc xorgproto gobject-introspection ];
+  strictDeps = true;
+  nativeBuildInputs = [ autoreconfHook which pkg-config gtk-doc gobject-introspection ];
 
+  buildInputs = [ libxcb json-glib xorgproto ];
 
   preAutoreconf = ''
     gtkdocize
diff --git a/pkgs/applications/window-managers/icewm/default.nix b/pkgs/applications/window-managers/icewm/default.nix
index 4bcdf1643f1b7..07c45bbcc6934 100644
--- a/pkgs/applications/window-managers/icewm/default.nix
+++ b/pkgs/applications/window-managers/icewm/default.nix
@@ -41,13 +41,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "icewm";
-  version = "3.1.0";
+  version = "3.2.2";
 
   src = fetchFromGitHub {
     owner = "ice-wm";
     repo = "icewm";
     rev = finalAttrs.version;
-    hash = "sha256-0mnhH/7Y4VXpNUU++ln2//9/vuTxq9sa2D933Cf7Ifw=";
+    hash = "sha256-tVbBV3eaZ9MUXlzriiOeEuzojI3GHNaXRBjdsQjXrzw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/window-managers/notion/default.nix b/pkgs/applications/window-managers/notion/default.nix
index e59103d7d6d04..4e546c0671556 100644
--- a/pkgs/applications/window-managers/notion/default.nix
+++ b/pkgs/applications/window-managers/notion/default.nix
@@ -2,7 +2,7 @@
 , lua, gettext, which, groff, xmessage, xterm
 , readline, fontconfig, libX11, libXext, libSM
 , libXinerama, libXrandr, libXft
-, xlibsWrapper, makeWrapper
+, makeWrapper
 }:
 
 stdenv.mkDerivation rec {
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config makeWrapper groff ];
   buildInputs = [ lua gettext which readline fontconfig libX11 libXext libSM
-                  libXinerama libXrandr libXft xlibsWrapper ];
+                  libXinerama libXrandr libXft ];
 
   buildFlags = [ "LUA_DIR=${lua}" "X11_PREFIX=/no-such-path" ];
 
diff --git a/pkgs/applications/window-managers/phosh/default.nix b/pkgs/applications/window-managers/phosh/default.nix
index 332fd509e421d..d71ff01362d25 100644
--- a/pkgs/applications/window-managers/phosh/default.nix
+++ b/pkgs/applications/window-managers/phosh/default.nix
@@ -28,6 +28,7 @@
 , polkit
 , libsecret
 , evolution-data-server
+, nixosTests
 }:
 
 stdenv.mkDerivation rec {
@@ -122,6 +123,8 @@ stdenv.mkDerivation rec {
     providedSessions = [
       "sm.puri.Phosh"
     ];
+
+    tests.phosh = nixosTests.phosh;
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/window-managers/picom/default.nix b/pkgs/applications/window-managers/picom/default.nix
index b5a524a38b49e..86329782255d9 100644
--- a/pkgs/applications/window-managers/picom/default.nix
+++ b/pkgs/applications/window-managers/picom/default.nix
@@ -32,13 +32,13 @@
 
 stdenv.mkDerivation rec {
   pname = "picom";
-  version = "9.1";
+  version = "10";
 
   src = fetchFromGitHub {
     owner = "yshui";
     repo = "picom";
     rev = "v${version}";
-    sha256 = "sha256-Fqk6bPAOg4muxmSP+ezpGUNw6xrMWchZACKemeA08mA=";
+    sha256 = "sha256-ACQBgAYtJ4OOQIismNYJB3z426GmlyUtXXbH06eRsgg=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/window-managers/tabbed/default.nix b/pkgs/applications/window-managers/tabbed/default.nix
index 67097ca151a0f..ef0fd7efdc395 100644
--- a/pkgs/applications/window-managers/tabbed/default.nix
+++ b/pkgs/applications/window-managers/tabbed/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchgit, xorgproto, libX11, libXft, customConfig ? null, patches ? [ ] }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation (finalAttrs: {
   pname = "tabbed";
-  version = "unstable-2018-03-10";
+  version = "0.7";
 
   src = fetchgit {
     url = "https://git.suckless.org/tabbed";
-    rev = "b5f9ec647aae2d9a1d3bd586eb7523a4e0a329a3";
-    sha256 = "0frj2yjaf0mfjwgyfappksfir52mx2xxd3cdg5533m5d88vbmxss";
+    rev = finalAttrs.version;
+    hash = "sha256-Y1MgPwqMUoa2Rr4HmqjtPaQegUmQJWYkcbyFcJHAOBI=";
   };
 
   inherit patches;
@@ -29,4 +29,4 @@ stdenv.mkDerivation {
     maintainers = with maintainers; [ vrthra ];
     platforms = platforms.linux;
   };
-}
+})