git: c1bbadf1de99 - main - multimedia/av1an: add new port

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Mon, 08 Nov 2021 17:39:38 UTC
The branch main has been updated by jbeich:

URL: https://cgit.FreeBSD.org/ports/commit/?id=c1bbadf1de99e7573c713cb4f42febe9ef7fb9bc

commit c1bbadf1de99e7573c713cb4f42febe9ef7fb9bc
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2021-10-31 20:56:47 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2021-11-08 17:33:42 +0000

    multimedia/av1an: add new port
    
    Av1an is a cross-platform framework to streamline encoding, providing
    an easy way to start using AV1 / HEVC / H264 / VP9 / VP8 encoding.
    AOM, RAV1E, SVT-AV1, VPX, x265, x264 are supported.
    
     ## Main Features
    
    Splitting video by scenes for parallel encoding because AV1 encoders
    are currently not very good at multithreading and encoding is limited
    to a very limited number of threads.
    
    - Vapoursynth script input support.
    - Speed up video encoding.
    - Target Quality mode. Targeting end result reference visual quality.
      VMAF used as a substructure
    - Resuming encoding without loss of encoded progress.
    - Simple and clean console look.
    - Automatic detection of the number of workers the host can handle.
    - Both video and audio transcoding.
    
    https://github.com/master-of-zen/Av1an
---
 multimedia/Makefile                 |   1 +
 multimedia/av1an/Makefile           | 225 ++++++++++++++++++++
 multimedia/av1an/distinfo           | 395 ++++++++++++++++++++++++++++++++++++
 multimedia/av1an/files/patch-ffmpeg |  41 ++++
 multimedia/av1an/pkg-descr          |  20 ++
 multimedia/av1an/pkg-message        |  10 +
 6 files changed, 692 insertions(+)

diff --git a/multimedia/Makefile b/multimedia/Makefile
index 1c0ab02b08db..4dc1fa6afa69 100644
--- a/multimedia/Makefile
+++ b/multimedia/Makefile
@@ -12,6 +12,7 @@
     SUBDIR += atomicparsley
     SUBDIR += audacious
     SUBDIR += audacious-plugins
+    SUBDIR += av1an
     SUBDIR += avidemux
     SUBDIR += avidemux-cli
     SUBDIR += avidemux-plugins
diff --git a/multimedia/av1an/Makefile b/multimedia/av1an/Makefile
new file mode 100644
index 000000000000..46a24abc1c2f
--- /dev/null
+++ b/multimedia/av1an/Makefile
@@ -0,0 +1,225 @@
+PORTNAME=	av1an
+DISTVERSION=	0.2.0
+CATEGORIES=	multimedia
+
+MAINTAINER=	jbeich@FreeBSD.org
+COMMENT=	Command-line encoding framework with per scene quality
+
+LICENSE=	GPLv3
+LICENSE_FILE=	${WRKSRC}/LICENSE.md
+
+BUILD_DEPENDS=	llvm${LLVM_DEFAULT}>0:devel/llvm${LLVM_DEFAULT} \
+		${BUILD_DEPENDS_${ARCH}}
+BUILD_DEPENDS_amd64=	nasm:devel/nasm
+LIB_DEPENDS=	libavformat.so:multimedia/ffmpeg \
+		libvapoursynth-script.so:multimedia/vapoursynth
+
+USES=		cargo
+USE_GITHUB=	yes
+GH_ACCOUNT=	master-of-zen
+GH_PROJECT=	Av1an
+PLIST_FILES=	bin/${PORTNAME}
+
+CARGO_CRATES=	addr2line-0.16.0 \
+		adler-1.0.2 \
+		aho-corasick-0.7.18 \
+		ansi_term-0.11.0 \
+		ansi_term-0.12.1 \
+		anyhow-1.0.44 \
+		arbitrary-0.4.7 \
+		arg_enum_proc_macro-0.3.1 \
+		arrayvec-0.5.2 \
+		arrayvec-0.7.2 \
+		atty-0.2.14 \
+		autocfg-1.0.1 \
+		av-bitstream-0.1.2 \
+		av-data-0.3.0 \
+		av-format-0.3.1 \
+		av-ivf-0.2.2 \
+		av-scenechange-0.7.2 \
+		backtrace-0.3.62 \
+		bindgen-0.54.0 \
+		bitflags-1.3.2 \
+		bitstream-io-1.2.0 \
+		bitvec-0.19.5 \
+		bumpalo-3.8.0 \
+		byte-slice-cast-1.2.0 \
+		bytes-1.1.0 \
+		cc-1.0.71 \
+		cexpr-0.4.0 \
+		cfg-expr-0.7.4 \
+		cfg-if-0.1.10 \
+		cfg-if-1.0.0 \
+		chrono-0.4.19 \
+		clang-sys-0.29.3 \
+		clap-2.33.3 \
+		console-0.15.0 \
+		core-foundation-sys-0.8.3 \
+		crossbeam-channel-0.5.1 \
+		crossbeam-deque-0.8.1 \
+		crossbeam-epoch-0.9.5 \
+		crossbeam-utils-0.8.5 \
+		ctrlc-3.2.1 \
+		dashmap-4.0.2 \
+		either-1.6.1 \
+		encode_unicode-0.3.6 \
+		enum-iterator-0.7.0 \
+		enum-iterator-derive-0.7.0 \
+		err-derive-0.2.4 \
+		failure-0.1.8 \
+		failure_derive-0.1.8 \
+		ffmpeg-next-4.4.0 \
+		ffmpeg-sys-next-4.4.0 \
+		flexi_logger-0.19.5 \
+		form_urlencoded-1.0.1 \
+		funty-1.1.0 \
+		getrandom-0.2.3 \
+		getset-0.1.1 \
+		gimli-0.25.0 \
+		git2-0.13.23 \
+		glob-0.3.0 \
+		heck-0.3.3 \
+		hermit-abi-0.1.19 \
+		idna-0.2.3 \
+		indicatif-0.17.0-beta.1 \
+		interpolate_name-0.2.3 \
+		itertools-0.10.1 \
+		itoa-0.4.8 \
+		jobserver-0.1.24 \
+		js-sys-0.3.55 \
+		lazy_static-1.4.0 \
+		lazycell-1.3.0 \
+		lexical-core-0.7.6 \
+		libc-0.2.106 \
+		libfuzzer-sys-0.3.5 \
+		libgit2-sys-0.12.24+1.3.0 \
+		libloading-0.5.2 \
+		libz-sys-1.1.3 \
+		log-0.4.14 \
+		matches-0.1.9 \
+		memchr-2.4.1 \
+		memoffset-0.6.4 \
+		miniz_oxide-0.4.4 \
+		mio-0.7.14 \
+		miow-0.3.7 \
+		nasm-rs-0.2.1 \
+		nix-0.23.0 \
+		nom-5.1.2 \
+		nom-6.1.2 \
+		noop_proc_macro-0.3.0 \
+		ntapi-0.3.6 \
+		num-bigint-0.3.3 \
+		num-derive-0.3.3 \
+		num-integer-0.1.44 \
+		num-rational-0.3.2 \
+		num-traits-0.2.14 \
+		num_cpus-1.13.0 \
+		number_prefix-0.4.0 \
+		object-0.27.1 \
+		once_cell-1.8.0 \
+		paste-1.0.5 \
+		path_abs-0.5.1 \
+		peeking_take_while-0.1.2 \
+		percent-encoding-2.1.0 \
+		pin-project-lite-0.2.7 \
+		pkg-config-0.3.22 \
+		plotters-0.3.1 \
+		plotters-backend-0.3.2 \
+		plotters-svg-0.3.1 \
+		ppv-lite86-0.2.15 \
+		proc-macro-error-1.0.4 \
+		proc-macro-error-attr-1.0.4 \
+		proc-macro2-1.0.32 \
+		quote-1.0.10 \
+		radium-0.5.3 \
+		rand-0.8.4 \
+		rand_chacha-0.3.1 \
+		rand_core-0.6.3 \
+		rand_hc-0.3.1 \
+		rav1e-0.5.0 \
+		rayon-1.5.1 \
+		rayon-core-1.9.1 \
+		regex-1.5.4 \
+		regex-syntax-0.6.25 \
+		rust_hawktracer-0.7.0 \
+		rust_hawktracer_normal_macro-0.4.1 \
+		rust_hawktracer_proc_macro-0.4.1 \
+		rustc-demangle-0.1.21 \
+		rustc-hash-1.1.0 \
+		rustc_version-0.4.0 \
+		rustversion-1.0.5 \
+		ryu-1.0.5 \
+		scopeguard-1.1.0 \
+		semver-1.0.4 \
+		serde-1.0.130 \
+		serde_derive-1.0.130 \
+		serde_json-1.0.68 \
+		shlex-0.1.1 \
+		shlex-1.1.0 \
+		signal-hook-registry-1.4.0 \
+		simd_helpers-0.1.0 \
+		smallvec-1.7.0 \
+		smawk-0.3.1 \
+		splines-4.0.3 \
+		static_assertions-1.1.0 \
+		std_prelude-0.2.12 \
+		stfu8-0.2.4 \
+		strsim-0.8.0 \
+		strsim-0.10.0 \
+		structopt-0.3.25 \
+		structopt-derive-0.4.18 \
+		strum-0.21.0 \
+		strum-0.22.0 \
+		strum_macros-0.21.1 \
+		strum_macros-0.22.0 \
+		syn-1.0.81 \
+		synstructure-0.12.6 \
+		sysinfo-0.20.5 \
+		system-deps-3.1.2 \
+		tap-1.0.1 \
+		terminal_size-0.1.17 \
+		textwrap-0.11.0 \
+		textwrap-0.14.2 \
+		thiserror-1.0.30 \
+		thiserror-impl-1.0.30 \
+		time-0.1.44 \
+		tinyvec-1.5.0 \
+		tinyvec_macros-0.1.0 \
+		tokio-1.13.0 \
+		toml-0.5.8 \
+		unicode-bidi-0.3.7 \
+		unicode-linebreak-0.1.2 \
+		unicode-normalization-0.1.19 \
+		unicode-segmentation-1.8.0 \
+		unicode-width-0.1.9 \
+		unicode-xid-0.2.2 \
+		url-2.2.2 \
+		v_frame-0.2.5 \
+		vapoursynth-0.3.0 \
+		vapoursynth-sys-0.3.0 \
+		vcpkg-0.2.15 \
+		vec_map-0.8.2 \
+		vergen-3.2.0 \
+		vergen-5.1.16 \
+		version-compare-0.0.11 \
+		version_check-0.9.3 \
+		wasi-0.10.0+wasi-snapshot-preview1 \
+		wasm-bindgen-0.2.78 \
+		wasm-bindgen-backend-0.2.78 \
+		wasm-bindgen-macro-0.2.78 \
+		wasm-bindgen-macro-support-0.2.78 \
+		wasm-bindgen-shared-0.2.78 \
+		web-sys-0.3.55 \
+		which-4.2.2 \
+		winapi-0.3.9 \
+		winapi-i686-pc-windows-gnu-0.4.0 \
+		winapi-x86_64-pc-windows-gnu-0.4.0 \
+		wyz-0.2.0 \
+		y4m-0.7.0
+
+post-patch:
+	@${REINPLACE_CMD} -e 's,"llvm-config,&${LLVM_DEFAULT},' \
+		${WRKSRC}/cargo-crates/clang-sys-*/build/common.rs \
+		${WRKSRC}/cargo-crates/clang-sys-*/src/support.rs
+
+.include <bsd.port.mk>
diff --git a/multimedia/av1an/distinfo b/multimedia/av1an/distinfo
new file mode 100644
index 000000000000..2e577b784a38
--- /dev/null
+++ b/multimedia/av1an/distinfo
@@ -0,0 +1,395 @@
+TIMESTAMP = 1635713807
+SHA256 (rust/crates/addr2line-0.16.0.crate) = 3e61f2b7f93d2c7d2b08263acaa4a363b3e276806c68af6134c44f523bf1aacd
+SIZE (rust/crates/addr2line-0.16.0.crate) = 33440
+SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
+SIZE (rust/crates/adler-1.0.2.crate) = 12778
+SHA256 (rust/crates/aho-corasick-0.7.18.crate) = 1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f
+SIZE (rust/crates/aho-corasick-0.7.18.crate) = 112923
+SHA256 (rust/crates/ansi_term-0.11.0.crate) = ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b
+SIZE (rust/crates/ansi_term-0.11.0.crate) = 17087
+SHA256 (rust/crates/ansi_term-0.12.1.crate) = d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2
+SIZE (rust/crates/ansi_term-0.12.1.crate) = 24838
+SHA256 (rust/crates/anyhow-1.0.44.crate) = 61604a8f862e1d5c3229fdd78f8b02c68dcf73a4c4b05fd636d12240aaa242c1
+SIZE (rust/crates/anyhow-1.0.44.crate) = 35067
+SHA256 (rust/crates/arbitrary-0.4.7.crate) = db55d72333851e17d572bec876e390cd3b11eb1ef53ae821dd9f3b653d2b4569
+SIZE (rust/crates/arbitrary-0.4.7.crate) = 26282
+SHA256 (rust/crates/arg_enum_proc_macro-0.3.1.crate) = 7c8e0146624e9b300cfeb394a758bd23e2fe494579c6363413354f04e8b49261
+SIZE (rust/crates/arg_enum_proc_macro-0.3.1.crate) = 4687
+SHA256 (rust/crates/arrayvec-0.5.2.crate) = 23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b
+SIZE (rust/crates/arrayvec-0.5.2.crate) = 27838
+SHA256 (rust/crates/arrayvec-0.7.2.crate) = 8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6
+SIZE (rust/crates/arrayvec-0.7.2.crate) = 29341
+SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
+SIZE (rust/crates/atty-0.2.14.crate) = 5470
+SHA256 (rust/crates/autocfg-1.0.1.crate) = cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a
+SIZE (rust/crates/autocfg-1.0.1.crate) = 12908
+SHA256 (rust/crates/av-bitstream-0.1.2.crate) = 2bd66eb513f71b16101d911bf64a1b6b1480e20e86d70613e679dd763a51e30f
+SIZE (rust/crates/av-bitstream-0.1.2.crate) = 7179
+SHA256 (rust/crates/av-data-0.3.0.crate) = 26384d37601a2b72f98908c206dfe8633eeacd5c045e109cec53881a7c48d117
+SIZE (rust/crates/av-data-0.3.0.crate) = 13479
+SHA256 (rust/crates/av-format-0.3.1.crate) = 53b355bfc070e384ea796ad66b9f2aaf1bf3bd3307c1582bd244f2062d016676
+SIZE (rust/crates/av-format-0.3.1.crate) = 7271
+SHA256 (rust/crates/av-ivf-0.2.2.crate) = e84acaf9cd22cfb33cfb3a2488d1fbb72d8f9b93524913fc44f498875865c62c
+SIZE (rust/crates/av-ivf-0.2.2.crate) = 10443
+SHA256 (rust/crates/av-scenechange-0.7.2.crate) = c5f1ee878fc434a52b8fc258418a9b1c08273c48599da652cdd79c43d6ad9f10
+SIZE (rust/crates/av-scenechange-0.7.2.crate) = 15308
+SHA256 (rust/crates/backtrace-0.3.62.crate) = 091bcdf2da9950f96aa522681ce805e6857f6ca8df73833d35736ab2dc78e152
+SIZE (rust/crates/backtrace-0.3.62.crate) = 74306
+SHA256 (rust/crates/bindgen-0.54.0.crate) = 66c0bb6167449588ff70803f4127f0684f9063097eca5016f37eb52b92c2cf36
+SIZE (rust/crates/bindgen-0.54.0.crate) = 192585
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/bitstream-io-1.2.0.crate) = 521f9cfb75191e53bc98586398c3104a2b10812475930f09eeccb5144fc3e68b
+SIZE (rust/crates/bitstream-io-1.2.0.crate) = 27108
+SHA256 (rust/crates/bitvec-0.19.5.crate) = 8942c8d352ae1838c9dda0b0ca2ab657696ef2232a20147cf1b30ae1a9cb4321
+SIZE (rust/crates/bitvec-0.19.5.crate) = 148200
+SHA256 (rust/crates/bumpalo-3.8.0.crate) = 8f1e260c3a9040a7c19a12468758f4c16f31a81a1fe087482be9570ec864bb6c
+SIZE (rust/crates/bumpalo-3.8.0.crate) = 79835
+SHA256 (rust/crates/byte-slice-cast-1.2.0.crate) = 1d30c751592b77c499e7bce34d99d67c2c11bdc0574e9a488ddade14150a4698
+SIZE (rust/crates/byte-slice-cast-1.2.0.crate) = 7239
+SHA256 (rust/crates/bytes-1.1.0.crate) = c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8
+SIZE (rust/crates/bytes-1.1.0.crate) = 49640
+SHA256 (rust/crates/cc-1.0.71.crate) = 79c2681d6594606957bbb8631c4b90a7fcaaa72cdb714743a437b156d6a7eedd
+SIZE (rust/crates/cc-1.0.71.crate) = 57452
+SHA256 (rust/crates/cexpr-0.4.0.crate) = f4aedb84272dbe89af497cf81375129abda4fc0a9e7c5d317498c15cc30c0d27
+SIZE (rust/crates/cexpr-0.4.0.crate) = 18023
+SHA256 (rust/crates/cfg-expr-0.7.4.crate) = 30aa9e2ffbb838c6b451db14f3cd8e63ed622bf859f9956bc93845a10fafc26a
+SIZE (rust/crates/cfg-expr-0.7.4.crate) = 34162
+SHA256 (rust/crates/cfg-if-0.1.10.crate) = 4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822
+SIZE (rust/crates/cfg-if-0.1.10.crate) = 7933
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/chrono-0.4.19.crate) = 670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73
+SIZE (rust/crates/chrono-0.4.19.crate) = 155663
+SHA256 (rust/crates/clang-sys-0.29.3.crate) = fe6837df1d5cba2397b835c8530f51723267e16abbf83892e9e5af4f0e5dd10a
+SIZE (rust/crates/clang-sys-0.29.3.crate) = 36660
+SHA256 (rust/crates/clap-2.33.3.crate) = 37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002
+SIZE (rust/crates/clap-2.33.3.crate) = 201925
+SHA256 (rust/crates/console-0.15.0.crate) = a28b32d32ca44b70c3e4acd7db1babf555fa026e385fb95f18028f88848b3c31
+SIZE (rust/crates/console-0.15.0.crate) = 23507
+SHA256 (rust/crates/core-foundation-sys-0.8.3.crate) = 5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc
+SIZE (rust/crates/core-foundation-sys-0.8.3.crate) = 17519
+SHA256 (rust/crates/crossbeam-channel-0.5.1.crate) = 06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4
+SIZE (rust/crates/crossbeam-channel-0.5.1.crate) = 86919
+SHA256 (rust/crates/crossbeam-deque-0.8.1.crate) = 6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e
+SIZE (rust/crates/crossbeam-deque-0.8.1.crate) = 20852
+SHA256 (rust/crates/crossbeam-epoch-0.9.5.crate) = 4ec02e091aa634e2c3ada4a392989e7c3116673ef0ac5b72232439094d73b7fd
+SIZE (rust/crates/crossbeam-epoch-0.9.5.crate) = 43883
+SHA256 (rust/crates/crossbeam-utils-0.8.5.crate) = d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db
+SIZE (rust/crates/crossbeam-utils-0.8.5.crate) = 38414
+SHA256 (rust/crates/ctrlc-3.2.1.crate) = a19c6cedffdc8c03a3346d723eb20bd85a13362bb96dc2ac000842c6381ec7bf
+SIZE (rust/crates/ctrlc-3.2.1.crate) = 12893
+SHA256 (rust/crates/dashmap-4.0.2.crate) = e77a43b28d0668df09411cb0bc9a8c2adc40f9a048afe863e05fd43251e8e39c
+SIZE (rust/crates/dashmap-4.0.2.crate) = 21066
+SHA256 (rust/crates/either-1.6.1.crate) = e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457
+SIZE (rust/crates/either-1.6.1.crate) = 13641
+SHA256 (rust/crates/encode_unicode-0.3.6.crate) = a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f
+SIZE (rust/crates/encode_unicode-0.3.6.crate) = 45741
+SHA256 (rust/crates/enum-iterator-0.7.0.crate) = 4eeac5c5edb79e4e39fe8439ef35207780a11f69c52cbe424ce3dfad4cb78de6
+SIZE (rust/crates/enum-iterator-0.7.0.crate) = 1783
+SHA256 (rust/crates/enum-iterator-derive-0.7.0.crate) = c134c37760b27a871ba422106eedbb8247da973a09e82558bf26d619c882b159
+SIZE (rust/crates/enum-iterator-derive-0.7.0.crate) = 2431
+SHA256 (rust/crates/err-derive-0.2.4.crate) = 22deed3a8124cff5fa835713fa105621e43bbdc46690c3a6b68328a012d350d4
+SIZE (rust/crates/err-derive-0.2.4.crate) = 14934
+SHA256 (rust/crates/failure-0.1.8.crate) = d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86
+SIZE (rust/crates/failure-0.1.8.crate) = 37582
+SHA256 (rust/crates/failure_derive-0.1.8.crate) = aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4
+SIZE (rust/crates/failure_derive-0.1.8.crate) = 4950
+SHA256 (rust/crates/ffmpeg-next-4.4.0.crate) = 4676cda947a87a1e8a42e154059c567e75de64860252cce52c684acd8c074fa0
+SIZE (rust/crates/ffmpeg-next-4.4.0.crate) = 86104
+SHA256 (rust/crates/ffmpeg-sys-next-4.4.0.crate) = de57234f2c49c6e093fe67bbbaa9142c228f6e2d5533ef27980993d5b6adef2a
+SIZE (rust/crates/ffmpeg-sys-next-4.4.0.crate) = 14123
+SHA256 (rust/crates/flexi_logger-0.19.5.crate) = eb300b5c59fc4894ea567328a30a3ee3c5a63fb59e17c34b2327ac230455eb79
+SIZE (rust/crates/flexi_logger-0.19.5.crate) = 195250
+SHA256 (rust/crates/form_urlencoded-1.0.1.crate) = 5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191
+SIZE (rust/crates/form_urlencoded-1.0.1.crate) = 8773
+SHA256 (rust/crates/funty-1.1.0.crate) = fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7
+SIZE (rust/crates/funty-1.1.0.crate) = 11631
+SHA256 (rust/crates/getrandom-0.2.3.crate) = 7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753
+SIZE (rust/crates/getrandom-0.2.3.crate) = 26261
+SHA256 (rust/crates/getset-0.1.1.crate) = 24b328c01a4d71d2d8173daa93562a73ab0fe85616876f02500f53d82948c504
+SIZE (rust/crates/getset-0.1.1.crate) = 8040
+SHA256 (rust/crates/gimli-0.25.0.crate) = f0a01e0497841a3b2db4f8afa483cce65f7e96a3498bd6c541734792aeac8fe7
+SIZE (rust/crates/gimli-0.25.0.crate) = 705238
+SHA256 (rust/crates/git2-0.13.23.crate) = 2a8057932925d3a9d9e4434ea016570d37420ddb1ceed45a174d577f24ed6700
+SIZE (rust/crates/git2-0.13.23.crate) = 192186
+SHA256 (rust/crates/glob-0.3.0.crate) = 9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574
+SIZE (rust/crates/glob-0.3.0.crate) = 18724
+SHA256 (rust/crates/heck-0.3.3.crate) = 6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c
+SIZE (rust/crates/heck-0.3.3.crate) = 10260
+SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
+SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979
+SHA256 (rust/crates/idna-0.2.3.crate) = 418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8
+SIZE (rust/crates/idna-0.2.3.crate) = 271023
+SHA256 (rust/crates/indicatif-0.17.0-beta.1.crate) = 500f7e5a63596852b9bf7583fe86f9ad08e0df9b4eb58d12e9729071cb4952ca
+SIZE (rust/crates/indicatif-0.17.0-beta.1.crate) = 38170
+SHA256 (rust/crates/interpolate_name-0.2.3.crate) = b4b35f4a811037cfdcd44c5db40678464b2d5d248fc1abeeaaa125b370d47f17
+SIZE (rust/crates/interpolate_name-0.2.3.crate) = 4165
+SHA256 (rust/crates/itertools-0.10.1.crate) = 69ddb889f9d0d08a67338271fa9b62996bc788c7796a5c18cf057420aaed5eaf
+SIZE (rust/crates/itertools-0.10.1.crate) = 116219
+SHA256 (rust/crates/itoa-0.4.8.crate) = b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4
+SIZE (rust/crates/itoa-0.4.8.crate) = 11926
+SHA256 (rust/crates/jobserver-0.1.24.crate) = af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa
+SIZE (rust/crates/jobserver-0.1.24.crate) = 21303
+SHA256 (rust/crates/js-sys-0.3.55.crate) = 7cc9ffccd38c451a86bf13657df244e9c3f37493cce8e5e21e940963777acc84
+SIZE (rust/crates/js-sys-0.3.55.crate) = 70499
+SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
+SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
+SHA256 (rust/crates/lazycell-1.3.0.crate) = 830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55
+SIZE (rust/crates/lazycell-1.3.0.crate) = 12502
+SHA256 (rust/crates/lexical-core-0.7.6.crate) = 6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe
+SIZE (rust/crates/lexical-core-0.7.6.crate) = 494385
+SHA256 (rust/crates/libc-0.2.106.crate) = a60553f9a9e039a333b4e9b20573b9e9b9c0bb3a11e201ccc48ef4283456d673
+SIZE (rust/crates/libc-0.2.106.crate) = 554765
+SHA256 (rust/crates/libfuzzer-sys-0.3.5.crate) = fcf184a4b6b274f82a5df6b357da6055d3e82272327bba281c28bbba6f1664ef
+SIZE (rust/crates/libfuzzer-sys-0.3.5.crate) = 112480
+SHA256 (rust/crates/libgit2-sys-0.12.24+1.3.0.crate) = ddbd6021eef06fb289a8f54b3c2acfdd85ff2a585dfbb24b8576325373d2152c
+SIZE (rust/crates/libgit2-sys-0.12.24+1.3.0.crate) = 1476766
+SHA256 (rust/crates/libloading-0.5.2.crate) = f2b111a074963af1d37a139918ac6d49ad1d0d5e47f72fd55388619691a7d753
+SIZE (rust/crates/libloading-0.5.2.crate) = 16420
+SHA256 (rust/crates/libz-sys-1.1.3.crate) = de5435b8549c16d423ed0c03dbaafe57cf6c3344744f1242520d59c9d8ecec66
+SIZE (rust/crates/libz-sys-1.1.3.crate) = 1341394
+SHA256 (rust/crates/log-0.4.14.crate) = 51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710
+SIZE (rust/crates/log-0.4.14.crate) = 34582
+SHA256 (rust/crates/matches-0.1.9.crate) = a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f
+SIZE (rust/crates/matches-0.1.9.crate) = 2246
+SHA256 (rust/crates/memchr-2.4.1.crate) = 308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a
+SIZE (rust/crates/memchr-2.4.1.crate) = 64977
+SHA256 (rust/crates/memoffset-0.6.4.crate) = 59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9
+SIZE (rust/crates/memoffset-0.6.4.crate) = 7664
+SHA256 (rust/crates/miniz_oxide-0.4.4.crate) = a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b
+SIZE (rust/crates/miniz_oxide-0.4.4.crate) = 49938
+SHA256 (rust/crates/mio-0.7.14.crate) = 8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc
+SIZE (rust/crates/mio-0.7.14.crate) = 87429
+SHA256 (rust/crates/miow-0.3.7.crate) = b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21
+SIZE (rust/crates/miow-0.3.7.crate) = 24563
+SHA256 (rust/crates/nasm-rs-0.2.1.crate) = 9dbff86bd2ee8cb407e8608e2c3504412a967c06286ef7e5cf7c1b9db756f0a9
+SIZE (rust/crates/nasm-rs-0.2.1.crate) = 9490
+SHA256 (rust/crates/nix-0.23.0.crate) = f305c2c2e4c39a82f7bf0bf65fb557f9070ce06781d4f2454295cc34b1c43188
+SIZE (rust/crates/nix-0.23.0.crate) = 185348
+SHA256 (rust/crates/nom-5.1.2.crate) = ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af
+SIZE (rust/crates/nom-5.1.2.crate) = 136174
+SHA256 (rust/crates/nom-6.1.2.crate) = e7413f999671bd4745a7b624bd370a569fb6bc574b23c83a3c5ed2e453f3d5e2
+SIZE (rust/crates/nom-6.1.2.crate) = 147539
+SHA256 (rust/crates/noop_proc_macro-0.3.0.crate) = 0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8
+SIZE (rust/crates/noop_proc_macro-0.3.0.crate) = 2157
+SHA256 (rust/crates/ntapi-0.3.6.crate) = 3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44
+SIZE (rust/crates/ntapi-0.3.6.crate) = 127221
+SHA256 (rust/crates/num-bigint-0.3.3.crate) = 5f6f7833f2cbf2360a6cfd58cd41a53aa7a90bd4c202f5b1c7dd2ed73c57b2c3
+SIZE (rust/crates/num-bigint-0.3.3.crate) = 89493
+SHA256 (rust/crates/num-derive-0.3.3.crate) = 876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d
+SIZE (rust/crates/num-derive-0.3.3.crate) = 14545
+SHA256 (rust/crates/num-integer-0.1.44.crate) = d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db
+SIZE (rust/crates/num-integer-0.1.44.crate) = 22216
+SHA256 (rust/crates/num-rational-0.3.2.crate) = 12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07
+SIZE (rust/crates/num-rational-0.3.2.crate) = 26359
+SHA256 (rust/crates/num-traits-0.2.14.crate) = 9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290
+SIZE (rust/crates/num-traits-0.2.14.crate) = 45476
+SHA256 (rust/crates/num_cpus-1.13.0.crate) = 05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3
+SIZE (rust/crates/num_cpus-1.13.0.crate) = 14704
+SHA256 (rust/crates/number_prefix-0.4.0.crate) = 830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3
+SIZE (rust/crates/number_prefix-0.4.0.crate) = 6922
+SHA256 (rust/crates/object-0.27.1.crate) = 67ac1d3f9a1d3616fd9a60c8d74296f22406a238b6a72f5cc1e6f314df4ffbf9
+SIZE (rust/crates/object-0.27.1.crate) = 228030
+SHA256 (rust/crates/once_cell-1.8.0.crate) = 692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56
+SIZE (rust/crates/once_cell-1.8.0.crate) = 28925
+SHA256 (rust/crates/paste-1.0.5.crate) = acbf547ad0c65e31259204bd90935776d1c693cec2f4ff7abb7a1bbbd40dfe58
+SIZE (rust/crates/paste-1.0.5.crate) = 17669
+SHA256 (rust/crates/path_abs-0.5.1.crate) = 05ef02f6342ac01d8a93b65f96db53fe68a92a15f41144f97fb00a9e669633c3
+SIZE (rust/crates/path_abs-0.5.1.crate) = 31072
+SHA256 (rust/crates/peeking_take_while-0.1.2.crate) = 19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099
+SIZE (rust/crates/peeking_take_while-0.1.2.crate) = 6697
+SHA256 (rust/crates/percent-encoding-2.1.0.crate) = d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e
+SIZE (rust/crates/percent-encoding-2.1.0.crate) = 9748
+SHA256 (rust/crates/pin-project-lite-0.2.7.crate) = 8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443
+SIZE (rust/crates/pin-project-lite-0.2.7.crate) = 27212
+SHA256 (rust/crates/pkg-config-0.3.22.crate) = 12295df4f294471248581bc09bef3c38a5e46f1e36d6a37353621a0c6c357e1f
+SIZE (rust/crates/pkg-config-0.3.22.crate) = 16145
+SHA256 (rust/crates/plotters-0.3.1.crate) = 32a3fd9ec30b9749ce28cd91f255d569591cdf937fe280c312143e3c4bad6f2a
+SIZE (rust/crates/plotters-0.3.1.crate) = 8595577
+SHA256 (rust/crates/plotters-backend-0.3.2.crate) = d88417318da0eaf0fdcdb51a0ee6c3bed624333bff8f946733049380be67ac1c
+SIZE (rust/crates/plotters-backend-0.3.2.crate) = 13524
+SHA256 (rust/crates/plotters-svg-0.3.1.crate) = 521fa9638fa597e1dc53e9412a4f9cefb01187ee1f7413076f9e6749e2885ba9
+SIZE (rust/crates/plotters-svg-0.3.1.crate) = 7596
+SHA256 (rust/crates/ppv-lite86-0.2.15.crate) = ed0cfbc8191465bed66e1718596ee0b0b35d5ee1f41c5df2189d0fe8bde535ba
+SIZE (rust/crates/ppv-lite86-0.2.15.crate) = 22002
+SHA256 (rust/crates/proc-macro-error-1.0.4.crate) = da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c
+SIZE (rust/crates/proc-macro-error-1.0.4.crate) = 25293
+SHA256 (rust/crates/proc-macro-error-attr-1.0.4.crate) = a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869
+SIZE (rust/crates/proc-macro-error-attr-1.0.4.crate) = 7971
+SHA256 (rust/crates/proc-macro2-1.0.32.crate) = ba508cc11742c0dc5c1659771673afbab7a0efab23aa17e854cbab0837ed0b43
+SIZE (rust/crates/proc-macro2-1.0.32.crate) = 41003
+SHA256 (rust/crates/quote-1.0.10.crate) = 38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05
+SIZE (rust/crates/quote-1.0.10.crate) = 29960
+SHA256 (rust/crates/radium-0.5.3.crate) = 941ba9d78d8e2f7ce474c015eea4d9c6d25b6a3327f9832ee29a4de27f91bbb8
+SIZE (rust/crates/radium-0.5.3.crate) = 7588
+SHA256 (rust/crates/rand-0.8.4.crate) = 2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8
+SIZE (rust/crates/rand-0.8.4.crate) = 87406
+SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
+SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251
+SHA256 (rust/crates/rand_core-0.6.3.crate) = d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7
+SIZE (rust/crates/rand_core-0.6.3.crate) = 21938
+SHA256 (rust/crates/rand_hc-0.3.1.crate) = d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7
+SIZE (rust/crates/rand_hc-0.3.1.crate) = 11891
+SHA256 (rust/crates/rav1e-0.5.0.crate) = be4a454413889806ea42227bf43208bdb617fa218da02c4bb35ab02c35b02f71
+SIZE (rust/crates/rav1e-0.5.0.crate) = 1125708
+SHA256 (rust/crates/rayon-1.5.1.crate) = c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90
+SIZE (rust/crates/rayon-1.5.1.crate) = 160424
+SHA256 (rust/crates/rayon-core-1.9.1.crate) = d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e
+SIZE (rust/crates/rayon-core-1.9.1.crate) = 64961
+SHA256 (rust/crates/regex-1.5.4.crate) = d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461
+SIZE (rust/crates/regex-1.5.4.crate) = 236581
+SHA256 (rust/crates/regex-syntax-0.6.25.crate) = f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b
+SIZE (rust/crates/regex-syntax-0.6.25.crate) = 293293
+SHA256 (rust/crates/rust_hawktracer-0.7.0.crate) = e3480a29b927f66c6e06527be7f49ef4d291a01d694ec1fe85b0de71d6b02ac1
+SIZE (rust/crates/rust_hawktracer-0.7.0.crate) = 4718
+SHA256 (rust/crates/rust_hawktracer_normal_macro-0.4.1.crate) = 8a570059949e1dcdc6f35228fa389f54c2c84dfe0c94c05022baacd56eacd2e9
+SIZE (rust/crates/rust_hawktracer_normal_macro-0.4.1.crate) = 3000
+SHA256 (rust/crates/rust_hawktracer_proc_macro-0.4.1.crate) = cb626abdbed5e93f031baae60d72032f56bc964e11ac2ff65f2ba3ed98d6d3e1
+SIZE (rust/crates/rust_hawktracer_proc_macro-0.4.1.crate) = 3028
+SHA256 (rust/crates/rustc-demangle-0.1.21.crate) = 7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342
+SIZE (rust/crates/rustc-demangle-0.1.21.crate) = 27920
+SHA256 (rust/crates/rustc-hash-1.1.0.crate) = 08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2
+SIZE (rust/crates/rustc-hash-1.1.0.crate) = 9331
+SHA256 (rust/crates/rustc_version-0.4.0.crate) = bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366
+SIZE (rust/crates/rustc_version-0.4.0.crate) = 12175
+SHA256 (rust/crates/rustversion-1.0.5.crate) = 61b3909d758bb75c79f23d4736fac9433868679d3ad2ea7a61e3c25cfda9a088
+SIZE (rust/crates/rustversion-1.0.5.crate) = 16984
+SHA256 (rust/crates/ryu-1.0.5.crate) = 71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e
+SIZE (rust/crates/ryu-1.0.5.crate) = 49570
+SHA256 (rust/crates/scopeguard-1.1.0.crate) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd
+SIZE (rust/crates/scopeguard-1.1.0.crate) = 11470
+SHA256 (rust/crates/semver-1.0.4.crate) = 568a8e6258aa33c13358f81fd834adb854c6f7c9468520910a9b1e8fac068012
+SIZE (rust/crates/semver-1.0.4.crate) = 29375
+SHA256 (rust/crates/serde-1.0.130.crate) = f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913
+SIZE (rust/crates/serde-1.0.130.crate) = 75305
+SHA256 (rust/crates/serde_derive-1.0.130.crate) = d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b
+SIZE (rust/crates/serde_derive-1.0.130.crate) = 54703
+SHA256 (rust/crates/serde_json-1.0.68.crate) = 0f690853975602e1bfe1ccbf50504d67174e3bcf340f23b5ea9992e0587a52d8
+SIZE (rust/crates/serde_json-1.0.68.crate) = 114986
+SHA256 (rust/crates/shlex-0.1.1.crate) = 7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2
+SIZE (rust/crates/shlex-0.1.1.crate) = 5687
+SHA256 (rust/crates/shlex-1.1.0.crate) = 43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3
+SIZE (rust/crates/shlex-1.1.0.crate) = 5199
+SHA256 (rust/crates/signal-hook-registry-1.4.0.crate) = e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0
+SIZE (rust/crates/signal-hook-registry-1.4.0.crate) = 17912
+SHA256 (rust/crates/simd_helpers-0.1.0.crate) = 95890f873bec569a0362c235787f3aca6e1e887302ba4840839bcc6459c42da6
+SIZE (rust/crates/simd_helpers-0.1.0.crate) = 1527
+SHA256 (rust/crates/smallvec-1.7.0.crate) = 1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309
+SIZE (rust/crates/smallvec-1.7.0.crate) = 27459
+SHA256 (rust/crates/smawk-0.3.1.crate) = f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043
+SIZE (rust/crates/smawk-0.3.1.crate) = 12840
+SHA256 (rust/crates/splines-4.0.3.crate) = c94307351d02448532cdf65ea95bfdd529183d360a60fb8c8bdca6c90af55542
+SIZE (rust/crates/splines-4.0.3.crate) = 17124
+SHA256 (rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f
+SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480
+SHA256 (rust/crates/std_prelude-0.2.12.crate) = 8207e78455ffdf55661170876f88daf85356e4edd54e0a3dbc79586ca1e50cbe
+SIZE (rust/crates/std_prelude-0.2.12.crate) = 5066
+SHA256 (rust/crates/stfu8-0.2.4.crate) = 4bf70433e3300a3c395d06606a700cdf4205f4f14dbae2c6833127c6bb22db77
+SIZE (rust/crates/stfu8-0.2.4.crate) = 44860
+SHA256 (rust/crates/strsim-0.8.0.crate) = 8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a
+SIZE (rust/crates/strsim-0.8.0.crate) = 9309
+SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623
+SIZE (rust/crates/strsim-0.10.0.crate) = 11355
+SHA256 (rust/crates/structopt-0.3.25.crate) = 40b9788f4202aa75c240ecc9c15c65185e6a39ccdeb0fd5d008b98825464c87c
+SIZE (rust/crates/structopt-0.3.25.crate) = 52296
+SHA256 (rust/crates/structopt-derive-0.4.18.crate) = dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0
+SIZE (rust/crates/structopt-derive-0.4.18.crate) = 20996
+SHA256 (rust/crates/strum-0.21.0.crate) = aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2
+SIZE (rust/crates/strum-0.21.0.crate) = 5296
+SHA256 (rust/crates/strum-0.22.0.crate) = f7ac893c7d471c8a21f31cfe213ec4f6d9afeed25537c772e08ef3f005f8729e
+SIZE (rust/crates/strum-0.22.0.crate) = 5413
+SHA256 (rust/crates/strum_macros-0.21.1.crate) = d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec
+SIZE (rust/crates/strum_macros-0.21.1.crate) = 16280
+SHA256 (rust/crates/strum_macros-0.22.0.crate) = 339f799d8b549e3744c7ac7feb216383e4005d94bdb22561b3ab8f3b808ae9fb
+SIZE (rust/crates/strum_macros-0.22.0.crate) = 16501
+SHA256 (rust/crates/syn-1.0.81.crate) = f2afee18b8beb5a596ecb4a2dce128c719b4ba399d34126b9e4396e3f9860966
+SIZE (rust/crates/syn-1.0.81.crate) = 234144
+SHA256 (rust/crates/synstructure-0.12.6.crate) = f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f
+SIZE (rust/crates/synstructure-0.12.6.crate) = 18429
+SHA256 (rust/crates/sysinfo-0.20.5.crate) = e223c65cd36b485a34c2ce6e38efa40777d31c4166d9076030c74cdcf971679f
+SIZE (rust/crates/sysinfo-0.20.5.crate) = 97837
+SHA256 (rust/crates/system-deps-3.1.2.crate) = 7ab7dbd121ce66af2176147a48c7e01aaf1f001837a18a7cf4317858606bbdf8
+SIZE (rust/crates/system-deps-3.1.2.crate) = 20920
+SHA256 (rust/crates/tap-1.0.1.crate) = 55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369
+SIZE (rust/crates/tap-1.0.1.crate) = 11316
+SHA256 (rust/crates/terminal_size-0.1.17.crate) = 633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df
+SIZE (rust/crates/terminal_size-0.1.17.crate) = 9141
+SHA256 (rust/crates/textwrap-0.11.0.crate) = d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060
+SIZE (rust/crates/textwrap-0.11.0.crate) = 17322
+SHA256 (rust/crates/textwrap-0.14.2.crate) = 0066c8d12af8b5acd21e00547c3797fde4e8677254a7ee429176ccebbe93dd80
+SIZE (rust/crates/textwrap-0.14.2.crate) = 52016
+SHA256 (rust/crates/thiserror-1.0.30.crate) = 854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417
+SIZE (rust/crates/thiserror-1.0.30.crate) = 17748
+SHA256 (rust/crates/thiserror-impl-1.0.30.crate) = aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b
+SIZE (rust/crates/thiserror-impl-1.0.30.crate) = 15230
+SHA256 (rust/crates/time-0.1.44.crate) = 6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255
+SIZE (rust/crates/time-0.1.44.crate) = 28885
+SHA256 (rust/crates/tinyvec-1.5.0.crate) = f83b2a3d4d9091d0abd7eba4dc2710b1718583bd4d8992e2190720ea38f391f7
+SIZE (rust/crates/tinyvec-1.5.0.crate) = 42745
+SHA256 (rust/crates/tinyvec_macros-0.1.0.crate) = cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c
+SIZE (rust/crates/tinyvec_macros-0.1.0.crate) = 1817
+SHA256 (rust/crates/tokio-1.13.0.crate) = 588b2d10a336da58d877567cd8fb8a14b463e2104910f8132cd054b4b96e29ee
+SIZE (rust/crates/tokio-1.13.0.crate) = 529942
+SHA256 (rust/crates/toml-0.5.8.crate) = a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa
+SIZE (rust/crates/toml-0.5.8.crate) = 54219
+SHA256 (rust/crates/unicode-bidi-0.3.7.crate) = 1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f
+SIZE (rust/crates/unicode-bidi-0.3.7.crate) = 33759
+SHA256 (rust/crates/unicode-linebreak-0.1.2.crate) = 3a52dcaab0c48d931f7cc8ef826fa51690a08e1ea55117ef26f89864f532383f
+SIZE (rust/crates/unicode-linebreak-0.1.2.crate) = 69293
+SHA256 (rust/crates/unicode-normalization-0.1.19.crate) = d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9
+SIZE (rust/crates/unicode-normalization-0.1.19.crate) = 107353
+SHA256 (rust/crates/unicode-segmentation-1.8.0.crate) = 8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b
+SIZE (rust/crates/unicode-segmentation-1.8.0.crate) = 94011
+SHA256 (rust/crates/unicode-width-0.1.9.crate) = 3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973
+SIZE (rust/crates/unicode-width-0.1.9.crate) = 16745
+SHA256 (rust/crates/unicode-xid-0.2.2.crate) = 8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3
+SIZE (rust/crates/unicode-xid-0.2.2.crate) = 14955
+SHA256 (rust/crates/url-2.2.2.crate) = a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c
+SIZE (rust/crates/url-2.2.2.crate) = 68555
+SHA256 (rust/crates/v_frame-0.2.5.crate) = c70a928a3fbba9cbb0f86ffb4aabed536e7acf692a46b3bfb70c3d9c15b8c6ab
+SIZE (rust/crates/v_frame-0.2.5.crate) = 10654
+SHA256 (rust/crates/vapoursynth-0.3.0.crate) = e378bb0210b411e41b16083e2cf274d3fcb3c92071dbcc332cbac713ab6c33a0
+SIZE (rust/crates/vapoursynth-0.3.0.crate) = 59149
+SHA256 (rust/crates/vapoursynth-sys-0.3.0.crate) = c5ad7879f2893d1574b128d26e65aedf38c3c01ac3af1c7d09cc6bc4c5148b87
+SIZE (rust/crates/vapoursynth-sys-0.3.0.crate) = 588299
+SHA256 (rust/crates/vcpkg-0.2.15.crate) = accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426
+SIZE (rust/crates/vcpkg-0.2.15.crate) = 228735
+SHA256 (rust/crates/vec_map-0.8.2.crate) = f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191
+SIZE (rust/crates/vec_map-0.8.2.crate) = 14466
+SHA256 (rust/crates/vergen-3.2.0.crate) = e7141e445af09c8919f1d5f8a20dae0b20c3b57a45dee0d5823c6ed5d237f15a
+SIZE (rust/crates/vergen-3.2.0.crate) = 16897
+SHA256 (rust/crates/vergen-5.1.16.crate) = 7b62d4fc8fc9c81d139c8106b9f4e583e7c1eb36e320dc28d5c03aab86729495
+SIZE (rust/crates/vergen-5.1.16.crate) = 28095
+SHA256 (rust/crates/version-compare-0.0.11.crate) = 1c18c859eead79d8b95d09e4678566e8d70105c4e7b251f707a03df32442661b
+SIZE (rust/crates/version-compare-0.0.11.crate) = 15208
+SHA256 (rust/crates/version_check-0.9.3.crate) = 5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe
+SIZE (rust/crates/version_check-0.9.3.crate) = 12547
+SHA256 (rust/crates/wasi-0.10.0+wasi-snapshot-preview1.crate) = 1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f
+SIZE (rust/crates/wasi-0.10.0+wasi-snapshot-preview1.crate) = 26964
+SHA256 (rust/crates/wasm-bindgen-0.2.78.crate) = 632f73e236b219150ea279196e54e610f5dbafa5d61786303d4da54f84e47fce
+SIZE (rust/crates/wasm-bindgen-0.2.78.crate) = 162111
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.78.crate) = a317bf8f9fba2476b4b2c85ef4c4af8ff39c3c7f0cdfeed4f82c34a880aa837b
+SIZE (rust/crates/wasm-bindgen-backend-0.2.78.crate) = 25576
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.78.crate) = d56146e7c495528bf6587663bea13a8eb588d39b36b679d83972e1a2dbbdacf9
+SIZE (rust/crates/wasm-bindgen-macro-0.2.78.crate) = 11700
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.78.crate) = 7803e0eea25835f8abdc585cd3021b3deb11543c6fe226dcd30b228857c5c5ab
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.78.crate) = 17858
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.78.crate) = 0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc
+SIZE (rust/crates/wasm-bindgen-shared-0.2.78.crate) = 7206
+SHA256 (rust/crates/web-sys-0.3.55.crate) = 38eb105f1c59d9eaa6b5cdc92b859d85b926e82cb2e0945cd0c9259faa6fe9fb
+SIZE (rust/crates/web-sys-0.3.55.crate) = 664827
+SHA256 (rust/crates/which-4.2.2.crate) = ea187a8ef279bc014ec368c27a920da2024d2a711109bfbe3440585d5cf27ad9
+SIZE (rust/crates/which-4.2.2.crate) = 8589
+SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
+SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
+SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
+SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
+SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
+SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
+SHA256 (rust/crates/wyz-0.2.0.crate) = 85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214
+SIZE (rust/crates/wyz-0.2.0.crate) = 12926
+SHA256 (rust/crates/y4m-0.7.0.crate) = a72a9921af8237fe25097a1ae31c92a05c1d39b2454653ad48f2f407cf7a0dae
+SIZE (rust/crates/y4m-0.7.0.crate) = 12045
+SHA256 (master-of-zen-Av1an-0.2.0_GH0.tar.gz) = 68169f0c8760cb7d42ab484a969ca5f092551352998d89c602ac3527542e6538
+SIZE (master-of-zen-Av1an-0.2.0_GH0.tar.gz) = 69564
diff --git a/multimedia/av1an/files/patch-ffmpeg b/multimedia/av1an/files/patch-ffmpeg
new file mode 100644
index 000000000000..ab252a6607ca
--- /dev/null
+++ b/multimedia/av1an/files/patch-ffmpeg
@@ -0,0 +1,41 @@
+https://github.com/zmwangx/rust-ffmpeg/issues/63
+
+error[E0432]: unresolved imports `libc::ENODATA`, `libc::ENOSR`, `libc::ENOSTR`, `libc::ETIME`
+  --> cargo-crates/ffmpeg-next-4.4.0/src/util/error.rs:20:22
+   |
+20 |     ENFILE, ENOBUFS, ENODATA, ENODEV, ENOENT, ENOEXEC, ENOLCK, ENOLINK, ENOMEM, ENOMSG,
+   |                      ^^^^^^^ no `ENODATA` in the root
+21 |     ENOPROTOOPT, ENOSPC, ENOSR, ENOSTR, ENOSYS, ENOTCONN, ENOTDIR, ENOTEMPTY, ENOTRECOVERABLE,
+   |                          ^^^^^  ^^^^^^ no `ENOSTR` in the root
+   |                          |
+   |                          no `ENOSR` in the root
+22 |     ENOTSOCK, ENOTSUP, ENOTTY, ENXIO, EOPNOTSUPP, EOVERFLOW, EOWNERDEAD, EPERM, EPIPE, EPROTO,
+23 |     EPROTONOSUPPORT, EPROTOTYPE, ERANGE, EROFS, ESPIPE, ESRCH, ETIME, ETIMEDOUT, ETXTBSY,
+   |                                                                ^^^^^ no `ETIME` in the root
+   |
+help: a similar name exists in the module
+   |
+21 |     ENOPROTOOPT, ENOSPC, ENOSR, NOSTR, ENOSYS, ENOTCONN, ENOTDIR, ENOTEMPTY, ENOTRECOVERABLE,
+   |                                 ~~~~~
+help: a similar name exists in the module
+   |
+23 |     EPROTONOSUPPORT, EPROTOTYPE, ERANGE, EROFS, ESPIPE, ESRCH, VTIME, ETIMEDOUT, ETXTBSY,
+   |                                                                ~~~~~
+
+
+--- cargo-crates/ffmpeg-next-4.4.0/src/util/error.rs.orig	1970-01-01 00:00:00 UTC
++++ cargo-crates/ffmpeg-next-4.4.0/src/util/error.rs
+@@ -17,10 +17,10 @@ pub use libc::{
+     EBUSY, ECANCELED, ECHILD, ECONNABORTED, ECONNREFUSED, ECONNRESET, EDEADLK, EDESTADDRREQ, EDOM,
+     EEXIST, EFAULT, EFBIG, EHOSTUNREACH, EIDRM, EILSEQ, EINPROGRESS, EINTR, EINVAL, EIO, EISCONN,
+     EISDIR, ELOOP, EMFILE, EMLINK, EMSGSIZE, ENAMETOOLONG, ENETDOWN, ENETRESET, ENETUNREACH,
+-    ENFILE, ENOBUFS, ENODATA, ENODEV, ENOENT, ENOEXEC, ENOLCK, ENOLINK, ENOMEM, ENOMSG,
+-    ENOPROTOOPT, ENOSPC, ENOSR, ENOSTR, ENOSYS, ENOTCONN, ENOTDIR, ENOTEMPTY, ENOTRECOVERABLE,
++    ENFILE, ENOBUFS, ENODEV, ENOENT, ENOEXEC, ENOLCK, ENOLINK, ENOMEM, ENOMSG,
++    ENOPROTOOPT, ENOSPC, ENOSYS, ENOTCONN, ENOTDIR, ENOTEMPTY, ENOTRECOVERABLE,
+     ENOTSOCK, ENOTSUP, ENOTTY, ENXIO, EOPNOTSUPP, EOVERFLOW, EOWNERDEAD, EPERM, EPIPE, EPROTO,
+-    EPROTONOSUPPORT, EPROTOTYPE, ERANGE, EROFS, ESPIPE, ESRCH, ETIME, ETIMEDOUT, ETXTBSY,
++    EPROTONOSUPPORT, EPROTOTYPE, ERANGE, EROFS, ESPIPE, ESRCH, ETIMEDOUT, ETXTBSY,
+     EWOULDBLOCK, EXDEV,
+ };
+ 
diff --git a/multimedia/av1an/pkg-descr b/multimedia/av1an/pkg-descr
new file mode 100644
index 000000000000..b539e50d1aaf
--- /dev/null
+++ b/multimedia/av1an/pkg-descr
@@ -0,0 +1,20 @@
+Av1an is a cross-platform framework to streamline encoding, providing
+an easy way to start using AV1 / HEVC / H264 / VP9 / VP8 encoding.
+AOM, RAV1E, SVT-AV1, VPX, x265, x264 are supported.
+
+## Main Features
+
+Splitting video by scenes for parallel encoding because AV1 encoders
+are currently not very good at multithreading and encoding is limited
+to a very limited number of threads.
+
+- Vapoursynth script input support.
+- Speed up video encoding.
+- Target Quality mode. Targeting end result reference visual quality.
+  VMAF used as a substructure
+- Resuming encoding without loss of encoded progress.
+- Simple and clean console look.
+- Automatic detection of the number of workers the host can handle.
+- Both video and audio transcoding.
+
+WWW: https://github.com/master-of-zen/Av1an
diff --git a/multimedia/av1an/pkg-message b/multimedia/av1an/pkg-message
new file mode 100644
index 000000000000..a6b30900b7d5
--- /dev/null
+++ b/multimedia/av1an/pkg-message
@@ -0,0 +1,10 @@
+[
+{ type: install
+  message: <<EOM
+Additional packages recommended for new users:
+- svt-av1, rav1e, x264 (--encoder)
+- vapoursynth-l-smash-works, ffms2 (--chunk-method)
+- mkvtoolnix (--concat)
+EOM
+}
+]