# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:et:sw=4:ts=4:sts=4

PortSystem          1.0
PortGroup           active_variants 1.1
PortGroup           github 1.0
PortGroup           cargo 1.0

github.setup        rust-av Av1an 0.6.0 v
github.tarball_from archive
name                [string tolower ${github.project}]
revision            0
categories          multimedia
maintainers         {i0ntempest @i0ntempest} openmaintainer
license             GPL-3

description         command-line AV1 / VP9 / HEVC / H264 encoding framework
long_description    ${name} is a command-line AV1 / VP9 / HEVC / H264 encoding framework\
                    with per scene quality encoding. It can increase your encoding speed and\
                    improve cpu utilization by running multiple encoder processes in parallel.\
                    Target quality, VMAF plotting, and more, available to take advantage for video\
                    encoding.

checksums           ${distname}${extract.suffix} \
                    rmd160  1c99982d909c048da70bcdea2adf00a85a8e90e7 \
                    sha256  f58096a084456acf66f2be273b6c70e05cb53831b2a8a5006569f08a5a7b575a \
                    size    10540230

set ffmpeg_ver      8
set ffmpeg_bin_prefix \
                    ${prefix}/libexec/ffmpeg${ffmpeg_ver}/bin
set ffmpeg_bin_suffix \
                    ${ffmpeg_ver}

depends_build-append \
                    port:nasm \
                    port:pkgconfig
depends_lib-append  port:libiconv \
                    port:vapoursynth
depends_run-append  port:ffmpeg${ffmpeg_ver}
# Note: currently not compatible with vapoursynth 73, check for each update

archivefetch {
    # Don't use binary archive if ffmpeg has +no_symlink
    if {[active_variants port:ffmpeg${ffmpeg_ver} "" no_symlink]} {
        portarchivefetch::archivefetch_main
    }
}

post-patch {
    # Make sure it uses the right encoders
    if {[active_variants ffmpeg${ffmpeg_ver} no_symlink]} {
        set ffmpeg_bin_suffix \
                        ""
    }
    # ffmpeg
    reinplace "s|Command\:\:new(\"ffmpeg\")|Command\:\:new(\"${ffmpeg_bin_prefix}/ffmpeg${ffmpeg_bin_suffix}\")|g" \
        {*}[glob -type f ${worksrcpath}/av1an-core/src/*.rs] {*}[glob -type f ${worksrcpath}/av1an-core/src/*/*.rs]
    reinplace "s|Command\:\:new(\"ffprobe\")|Command\:\:new(\"${ffmpeg_bin_prefix}/ffprobe${ffmpeg_bin_suffix}\")|g" \
        {*}[glob -type f ${worksrcpath}/av1an-core/src/*.rs] {*}[glob -type f ${worksrcpath}/av1an-core/src/*/*.rs]
    # trivial cases
    foreach binary {SvtAv1EncApp aomenc rav1e vpxenc x264 x265 mkvmerge} {
        reinplace "s|Command\:\:new(\"${binary}\")|Command\:\:new(\"${prefix}/bin/${binary}\")|g" \
            {*}[glob -type f ${worksrcpath}/av1an-core/src/*.rs] {*}[glob -type f ${worksrcpath}/av1an-core/src/*/*.rs]
    }
}

destroot {
        xinstall -m 0755 \
            ${worksrcpath}/target/[cargo.rust_platform]/release/${name} \
            ${destroot}${prefix}/bin/
        set docdir ${prefix}/share/doc/${subport}
        xinstall -d ${destroot}${docdir}/docs/Encoders ${destroot}${docdir}/docs/Cli ${destroot}${docdir}/docs/Features
        xinstall -m 0644 {*}[glob ${worksrcpath}/*.md] ${destroot}${docdir}
        xinstall -m 0644 {*}[glob ${worksrcpath}/site/src/*.md] ${destroot}${docdir}/docs
        xinstall -m 0644 {*}[glob ${worksrcpath}/site/src/Encoders/*.md] ${destroot}${docdir}/docs/Encoders
        xinstall -m 0644 {*}[glob ${worksrcpath}/site/src/Cli/*.md] ${destroot}${docdir}/docs/Cli
        xinstall -m 0644 {*}[glob ${worksrcpath}/site/src/Features/*.md] ${destroot}${docdir}/docs/Features
}

variant h264 description {Enable H.264 encoding support} {
    depends_run-append \
                    port:x264
}

variant h265 description {Enable H.265/HEVC encoding support} {
    depends_run-append \
                    port:x265
}

variant av1 description {Enable av1 encoding support} {
    depends_run-append \
                    port:aom \
                    port:rav1e \
                    port:svt-av1
}

variant vpx description {Enable vp8/vp9 encoding support} {
    depends_run-append \
                    port:libvpx
}


variant ffms2 description {Enable chunking using ffms2} {
    depends_run-append \
                    port:ffms2
}

variant mkvmerge description {Enable concatenation using mkvmerge from MKVToolNix} {
    depends_run-append \
                    path:bin/mkvmerge:mkvtoolnix
}

variant vmaf description {Enable VMAF options and target quality control} {
    depends_run-append \
                    port:libvmaf
    require_active_variants \
                    port:ffmpeg${ffmpeg_ver} vmaf
}

default_variants    +h264 +h265 +av1

cargo.crates \
    affinity                         0.1.2  763e484feceb7dd021b21c5c6f81aee06b1594a743455ec7efbf72e6355e447b \
    aho-corasick                     1.1.5  c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba \
    aligned                          0.4.3  ee4508988c62edf04abd8d92897fca0c2995d907ce1dfeaf369dac3716a40685 \
    anstream                         1.0.0  824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d \
    anstyle                         1.0.14  940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000 \
    anstyle-parse                    1.0.0  52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e \
    anstyle-query                    1.1.5  40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc \
    anstyle-wincon                  3.0.11  291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d \
    anyhow                         1.0.104  330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470 \
    arrayvec                         0.7.8  d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56 \
    as-slice                         0.2.1  516b6b4f0e40d50dcda9365d53964ec74560ad4284da2e7fc97122cd83174516 \
    assert_cmd                       2.2.2  2aa3a22042e45de04255c7bf3626e239f450200fd0493c1e382263544b20aea6 \
    autocfg                          1.5.1  f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53 \
    av-bitstream                     0.2.1  e539d00bcd8aac3be7f171b32cd0f10de8a279d2824dda582b3fa54d708c8028 \
    av-data                          0.4.4  fca67ba5d317924c02180c576157afd54babe48a76ebc66ce6d34bb8ba08308e \
    av-decoders                     0.11.1  d94db08860aa0ccd8a95d1aa50b0f3055d23be14827cb3e3fa365fc633fc99f1 \
    av-format                        0.7.1  26a8c6178b9cc038bde9f21d239dba7b02dfe446fca3244e30bc271da3c7a375 \
    av-ivf                           0.5.0  f503297c9c08d8a0d2827c817b70644d28f2111ed25ba8a6029170ccb5f90fd6 \
    av-scenechange                  0.24.1  6c150630b8bee138a9e7cf75a92b487d2bbbcd1e11cf55a7a5f86e47e3df78fc \
    av1-grain                        0.5.0  27004e6fc625e7a1a3bfbed4997a3372f59f66a895313c23d50af2c5ea6bab89 \
    bitflags                        2.13.2  3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06 \
    block2                           0.6.2  cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5 \
    bstr                            1.13.1  6bb31b46c14244e20ee9984b11bf5c992b91fb6939fea616e3512c8baecdbe5f \
    bumpalo                         3.20.3  72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649 \
    byte-slice-cast                  1.2.3  7575182f7272186991736b70173b0ea045398f984bf5ebbb3804736ce1330c9d \
    bytes                           1.12.1  fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04 \
    camino                           1.2.6  bbbad30e4b4c14a39e3cc8aed085a12a327257c316619c93581e017bc52be591 \
    cargo-platform                   0.3.3  dd0061da739915fae12ea00e16397555ed4371a6bb285431aab930f61b0aa4ba \
    cargo_metadata                  0.23.1  ef987d17b0a113becdd19d3d0022d04d7ef41f9efe4f3fb63ac44ba61df3ade9 \
    cc                               1.6.0  f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630 \
    cfg-if                           1.0.5  4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600 \
    cfg_aliases                      0.2.2  f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527 \
    chacha20                        0.10.2  65c35e4b699c7e15ccbe7ee35c005e4fc0a278d22238a2857e6ce2dadeda1b06 \
    clap                             4.6.7  aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946 \
    clap_builder                     4.6.7  ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d \
    clap_complete                   4.6.11  037e2a1a92236d0aff7e845093f64661d6df4c02c9fcc61a60e9e1d736fa392f \
    clap_derive                      4.6.7  f9c751b79415d4e559e3d1fcf128e09e720eb673a06d26cf6f392d37d75b66e0 \
    clap_lex                         1.1.1  1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486 \
    colorchoice                      1.0.5  1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570 \
    colored                          3.1.1  faf9468729b8cbcea668e36183cb69d317348c2e08e994829fb56ebfdfbaac34 \
    console                         0.16.6  e96a4956774c13c126a8b5af4daa79384f4d826534c95a02d76afb39e2ab64e3 \
    cpufeatures                      0.3.1  5ca28b0ae3115b884660db4118d803791fd6756b6e88f39c0f3f7859060d7566 \
    crossbeam-channel               0.5.17  98b0cc327b5bc766e7fda9c9260cc0fa81b43a8e240440422dff70788e3f9ef1 \
    crossbeam-utils                 0.8.23  a31eee39dddec8330830986fcd7625edb5a24ec90ea038215273bbc3adb08ac6 \
    ctrlc                            3.5.2  e0b1fab2ae45819af2d0731d60f2afe17227ebb1a1538a236da84c93e9a60162 \
    darling                        0.20.11  fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee \
    darling_core                   0.20.11  0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e \
    darling_macro                  0.20.11  fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead \
    dashmap                          6.2.1  e6361d5c062261c78a176addb82d4c821ae42bed6089de0e12603cd25de2059c \
    deranged                         0.5.8  7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c \
    derive_builder                  0.20.2  507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947 \
    derive_builder_core             0.20.2  2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8 \
    derive_builder_macro            0.20.2  ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c \
    difflib                          0.4.0  6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8 \
    dispatch2                        0.3.1  1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38 \
    displaydoc                       0.2.7  c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8 \
    dunce                            1.0.5  92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813 \
    either                          1.19.0  0e9c71c2167ca323c882b99918929403426e2373ea17242ff5653e0d5e1058be \
    embed-resource                  3.0.12  6168487b5e7eb2673e6efe1200b1848016e436a6ca0b8031bf04bd9d493a249f \
    encode_unicode                   1.0.0  34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0 \
    equivalent                       1.0.2  877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f \
    errno                           0.3.14  39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb \
    fastrand                         2.5.0  da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223 \
    find-msvc-tools                 0.1.14  aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484 \
    fnv                              1.0.7  3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1 \
    form_urlencoded                  1.2.2  cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf \
    futures-core                    0.3.34  92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e \
    futures-executor                0.3.34  031b47cf1a3c6cc8bc2fc76cd437f521619387907d469316e7c0bc278f1f5432 \
    futures-task                    0.3.34  cd417de3d1d015fc3bfd2b1ea46dfc7bab72ef86f1cc7cc9c78e728b34a6d1fd \
    futures-util                    0.3.34  0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc \
    getrandom                        0.4.3  300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099 \
    git2                            0.20.4  7b88256088d75a56f8ecfa070513a775dd9107f6530ef14919dac831af9cfe2b \
    hashbrown                       0.14.5  e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1 \
    hashbrown                       0.17.1  ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a \
    heck                             0.5.0  2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea \
    hermit-abi                       0.5.3  e17592d60ebacc7d5e169f4663c5f84f9161cc90328abcfe8456f41e4dfcb284 \
    icu_collections                  2.3.0  fa68d21081c4a05d5a901a1c62add574c77048b6a1c67be3b50ce0b60d4ca513 \
    icu_locale_core                  2.3.0  d56e28588da92eee5c3201a6eff33fabdd49b62269c8938d4ff050ce4d900deb \
    icu_locale_fallback              2.3.0  251af8e57c9400e3eb58242fe5b8b1152b2a64fdf4cf632f923c38ccee6f2fa9 \
    icu_locale_fallback_data         2.3.0  decf2a22ec8fa68f1a0c1129a3f8583f8f8bc24e8b9ccbe98ead99f62a4dc3a8 \
    icu_normalizer                   2.3.0  12f9cf5f235641ed274641dd81c3f28d870e276763d0797aeeab72317b1c646f \
    icu_normalizer_data              2.3.0  1563da1ed3e0b3bf3d74c9b85917ac9c56464d2f57242270c09c9e752f8021a0 \
    icu_properties                   2.3.0  7e7ca276ad3145661a65914e6daf131ca5120cd3dcee8f8f3214b8875184a148 \
    icu_properties_data              2.3.0  e590f038c1464a96894fd6d10127e90a8be4509f56ff7ecef851b15cee0b7caa \
    icu_provider                     2.3.1  d27bbb9d3abbefac45d55f647c9de1d44aafcd1186eb91879afef17c396c3e73 \
    icu_segmenter                    2.3.0  82d07aafccd67af15d02512a6adf5896fbc5ed00f2e99b471d2efa14016db3db \
    icu_segmenter_data               2.3.0  ae293c039020f9ec10710af98d29ce6aa2051486638b49c9a6409f3b4a9e98ad \
    ident_case                       1.0.1  b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39 \
    idna                             1.1.0  3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de \
    idna_adapter                     1.2.2  cb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714 \
    indexmap                        2.14.2  cc4e190f5d26ca7051642629da2c52fc03bde85a03197c99408dcd291734c855 \
    indicatif                       0.18.6  9433806cd6b4ec1aba79c021c7e4c58fb4c3b9977c085062e611ac929998fb0c \
    is_terminal_polyfill            1.70.2  a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695 \
    itertools                       0.15.0  8b4baf93f58d4425749ca49a51c50ebab072c5df6994d08fed93541c331481dc \
    itoa                            1.0.18  8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682 \
    jobserver                       0.1.35  1c00acbd29eabad4a2392fa0e921c874934dbbf4194312ad20f04a0ed67a3cb3 \
    js-sys                         0.3.106  7883d941dae510fb2d978fc3fe018c71c9e2892fd38854de3e8b92c2e5ad9cc5 \
    lazy_static                      1.5.1  20870f649af7073d53e38067b2a84312175d56ea15217e1b15bc83506ec50afb \
    libc                           0.2.190  ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78 \
    libgit2-sys                   0.18.8+1.9.7  7f7c568b25d7489bc3fb2988ed69ab111d2944d2f5fec3d5c987fe545ea97b50 \
    libloading                       0.9.0  754ca22de805bb5744484a5b151a9e1a8e837d5dc232c2d7d8c2e3492edc8b60 \
    libz-sys                        1.1.29  85bc9657773828b90eeb625adff10eeac83cc21bbfd8e23a03eaa8a33c9e28d9 \
    linux-raw-sys                   0.12.1  32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53 \
    litemap                          0.8.3  47d9d19d1d6efa0109d2f65ff4c85cddd50bd572e5a00127ab10987290bcefae \
    lock_api                        0.4.14  224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965 \
    log                             0.4.34  f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6 \
    matchers                         0.2.0  d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9 \
    maybe-rayon                      0.1.1  8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519 \
    memchr                           2.8.3  cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98 \
    minimal-lexical                  0.2.1  68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a \
    nasm-rs                          0.3.2  706bf8a5e8c8ddb99128c3291d31bd21f4bcde17f0f4c20ec678d85c74faa149 \
    nix                             0.31.3  cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d \
    nom                              7.1.3  d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a \
    nom                              8.0.0  df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405 \
    ntapi                            0.4.3  c3b335231dfd352ffb0f8017f3b6027a4917f7df785ea2143d8af2adc66980ae \
    nu-ansi-term                    0.50.3  7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5 \
    num-bigint                       0.4.8  c89e69e7e0f03bea5ef08013795c25018e101932225a656383bd384495ecc367 \
    num-conv                         0.2.2  521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441 \
    num-derive                       0.4.2  ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202 \
    num-integer                     0.1.47  7ce2d95d4b3734dc35aa2f45e1aa22cd416814592a4f9d9205e11affd5b8e10b \
    num-rational                     0.4.2  f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824 \
    num-traits                      0.2.19  071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841 \
    num_cpus                        1.17.0  91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b \
    num_threads                      0.1.7  5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9 \
    objc2                            0.6.5  08849bbd4767dfae9457696856ae1c84fe4e0281bbe4a7abff2d0e06fb7981f8 \
    objc2-core-foundation            0.3.2  2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536 \
    objc2-encode                     4.1.0  ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33 \
    objc2-foundation                 0.3.2  e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272 \
    objc2-io-kit                     0.3.2  33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15 \
    objc2-open-directory             0.3.2  bb82bed227edf5201dfedf072bba4015a33d3d4a98519837295a90f0a23f676d \
    once_cell                       1.21.4  9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50 \
    once_cell_polyfill              1.70.2  384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe \
    parking_lot                     0.12.5  93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a \
    parking_lot_core                0.9.12  2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1 \
    pastey                           0.2.3  2ee67f1008b1ba2321834326597b8e186293b049a023cdef258527550b9935b4 \
    path_abs                         0.5.1  05ef02f6342ac01d8a93b65f96db53fe68a92a15f41144f97fb00a9e669633c3 \
    percent-encoding                 2.3.2  9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220 \
    pin-project-lite                0.2.17  a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd \
    pkg-config                      0.3.34  f6b464fbc74e149a392436b17d523f769e057cb6877f6a5c4618bc6f11800548 \
    plotters                         0.3.7  5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747 \
    plotters-backend                 0.3.7  df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a \
    plotters-svg                     0.3.7  51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670 \
    portable-atomic                 1.15.0  05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85 \
    potential_utf                    0.1.6  d83eb9bc6d8e5cf568e7a1101d60ee05e81ed50ea106026f3d18deeb046d7661 \
    powerfmt                         0.2.1  4a6394b9e965e73d0a289ee54f589087e2c676aedf60885baf52c76b771e4958 \
    predicates                       3.1.4  ada8f2932f28a27ee7b70dd6c1c39ea0675c55a36879ab92f3a715eaa1e63cfe \
    predicates-core                 1.0.10  cad38746f3166b4031b1a0d39ad9f954dd291e7854fcc0eed52ee41a0b50d144 \
    predicates-tree                 1.0.13  d0de1b847b39c8131db0467e9df1ff60e6d0562ab8e9a16e568ad0fdb372e2f2 \
    proc-macro2                    1.0.107  985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9 \
    quote                           1.0.47  1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001 \
    r-efi                            6.0.0  f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf \
    rand                            0.10.3  65c9fb96cbc91e3478eaae79a69fcd3f1ae4ad052e471fe6732fff548984b4af \
    rand_core                       0.10.1  63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69 \
    redox_syscall                   0.5.18  ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d \
    regex                           1.13.1  f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d \
    regex-automata                  0.4.18  ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2 \
    regex-syntax                    0.8.11  d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4 \
    rustc_version                    0.4.1  cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92 \
    rustix                           1.1.5  891efababe418670775f199f0d233d84843c227a0949a883ce15b37c78d6629d \
    rustversion                     1.0.23  cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f \
    scopeguard                       1.2.0  94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49 \
    semver                          1.0.28  8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd \
    serde                          1.0.229  4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba \
    serde_core                     1.0.229  67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48 \
    serde_derive                   1.0.229  e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348 \
    serde_json                     1.0.151  c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14 \
    serde_spanned                    1.1.2  4e7523beb55eece201a2356bee0bbca0d1ab466c14c07703b2e0ee6d42cb0c2c \
    serial_test                      3.5.0  699f4197115b8a7e7ff19c9a315a4bd6fffec26cc4626ef45ecaea389e081c6d \
    serial_test_derive               3.5.0  94e153fc76e1c6a068703d6d29c508a0b15c061c4b7e43da59cc097bc342673c \
    sharded-slab                     0.1.7  f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6 \
    shlex                            2.0.1  f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba \
    simdutf8                         0.1.5  e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e \
    slab                            0.4.12  0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5 \
    smallvec                        1.16.2  f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e \
    smawk                            0.3.3  e8e2fb0f499abb4d162f2bedad68f5ef91a1682b5a03596ddb67efd37768d100 \
    stable_deref_trait               1.2.1  6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596 \
    std_prelude                     0.2.12  8207e78455ffdf55661170876f88daf85356e4edd54e0a3dbc79586ca1e50cbe \
    stfu8                            0.2.7  e51f1e89f093f99e7432c491c382b88a6860a5adbe6bf02574bf0a08efff1978 \
    strsim                          0.11.1  7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f \
    strum                           0.28.0  9628de9b8791db39ceda2b119bbe13134770b56c138ec1d3af810d045c04f9bd \
    strum_macros                    0.28.0  ab85eea0270ee17587ed4156089e10b9e6880ee688791d45a905f5b1ca36f664 \
    symlink                          0.1.0  a7973cce6668464ea31f176d85b13c7ab3bba2cb3b77a2ed26abd7801688010a \
    syn                            2.0.119  872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297 \
    syn                              3.0.6  8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee \
    synstructure                    0.14.0  901704edd0dfe137f1987838ee4f259e4e063c31371bdb423f7ae38ec6f77f02 \
    sysinfo                         0.39.6  d2071df9448915b71c4fe6d25deaf1c22f12bd234f01540b77312bb8e41361e6 \
    tempfile                        3.27.0  32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd \
    termtree                         0.5.1  8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683 \
    textwrap                        0.16.4  6ecfad6c3abc80a577f2b91c1e412ee57e7a060d430b553c1b0c940974ebcd49 \
    thiserror                       2.0.21  09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e \
    thiserror-impl                  2.0.21  fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524 \
    thread_local                    1.1.10  1ad99c4c6d32803332c548b1af0540b357b3f5fc0be8f6c6bfe8b2e6ae784070 \
    time                            0.3.55  cdb87b95ec50ddfa440816d227a17b2ccbdda963a316a727fda0fc4334f7d134 \
    time-core                        0.1.9  9e1c906769ad99c88eaa54e728060edef082f8e358ff32030cb7c7d315e81109 \
    time-macros                     0.2.32  7e689342a48d2ea927c87ea50cabf8594854bf940e9310208848d680d668ed85 \
    tinystr                          0.8.4  b1e27c91459209c2986af3dcf603a5a74a4368754ce37414f59acc971167f643 \
    toml                          1.1.8+spec-1.1.0  20489e00e4d8741d6be680764cc12e270655e375a20d1011e844a9c3379e678d \
    toml_datetime                 1.1.2+spec-1.1.0  2b86d767906c6c42421dcba507eb9d203e779497710a47782a224bb871653053 \
    toml_parser                   1.1.5+spec-1.1.0  baa693a8032d7e1cada7d0041e96126df243179ff061456783ac7f12bda4744c \
    toml_writer                   1.1.3+spec-1.1.0  06bdbd8cfc056b8d2e2e85f29b56a3bdbecb527cef81eb39e3e7b98af4652770 \
    tracing                         0.1.44  63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100 \
    tracing-appender                 0.2.5  050686193eb999b4bb3bc2acfa891a13da00f79734704c4b8b4ef1a10b368a3c \
    tracing-attributes              0.1.31  7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da \
    tracing-core                    0.1.36  db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a \
    tracing-log                      0.2.0  ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3 \
    tracing-subscriber              0.3.23  cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319 \
    unicode-ident                   1.0.26  d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954 \
    unicode-width                    0.2.2  b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254 \
    unit-prefix                      0.5.2  81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3 \
    url                              2.5.8  ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed \
    utf8_iter                        1.0.4  b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be \
    utf8parse                        0.2.2  06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821 \
    v_frame                          0.7.0  06b99be99e91ea12170d453a6547324ef2df3fcd79aaf336f5b1fff88ac89d84 \
    valuable                         0.1.1  ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65 \
    vapoursynth                      0.5.6  413b994d9955202f99298ef502dec6d84f1be7603483d19158a365f9fdb8f128 \
    vapoursynth-sys                  0.6.0  4ef47dc5817613dbe0251eadbe2cea0443edebbb3a551be7b6728314ff44e12e \
    vcpkg                           0.2.15  accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426 \
    vergen                           9.1.0  b849a1f6d8639e8de261e81ee0fc881e3e3620db1af9f2e0da015d4382ceaf75 \
    vergen-git2                      9.1.0  d51ab55ddf1188c8d679f349775362b0fa9e90bd7a4ac69838b2a087623f0d57 \
    vergen-lib                       9.1.0  b34a29ba7e9c59e62f229ae1932fb1b8fb8a6fdcc99215a641913f5f5a59a569 \
    vswhom                           0.1.0  be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b \
    vswhom-sys                       0.1.3  fb067e4cbd1ff067d1df46c9194b5de0e98efd2810bbc95c5d5e5f25a3231150 \
    wait-timeout                     0.2.1  09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11 \
    wasm-bindgen                   0.2.129  9bb54f33acc68fd454578d9820b0bde1a1a3d17aa17bb7b6595806d02886d409 \
    wasm-bindgen-macro             0.2.129  2e29d0c35b16e224a7eeb5cd2d25e3e1968fbd65604117b44d3b789d00ee8535 \
    wasm-bindgen-macro-support     0.2.129  6f501a8bc3719dba86ef8ae4728879c08001bea749eb1333ac5b91e040e2a6b7 \
    wasm-bindgen-shared            0.2.129  23f0c9c52aa7cd7d77769a4cfe2a9adb1b331f489a41d912ce14513d5ab995c6 \
    web-sys                        0.3.106  88261b9deccee56594c11a3460c462c41f58d148598fe70ad77070126a68aba4 \
    web-time                         1.1.0  5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb \
    which                            8.0.6  bae2f2b2b816647a1cab1acc91f5bd20812d53cb344382635ec2181940c8034f \
    winapi                           0.3.9  5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419 \
    winapi-i686-pc-windows-gnu       0.4.0  ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6 \
    winapi-x86_64-pc-windows-gnu     0.4.0  712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f \
    windows                         0.62.2  527fadee13e0c05939a6a05d5bd6eec6cd2e3dbd648b9f8e447c6518133d8580 \
    windows-collections              0.3.2  23b2d95af1a8a14a3c7367e1ed4fc9c20e0a26e79551b1454d72583c97cc6610 \
    windows-core                    0.62.2  b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb \
    windows-future                   0.3.2  e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb \
    windows-implement               0.60.2  053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf \
    windows-interface               0.59.3  3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358 \
    windows-link                     0.2.1  f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5 \
    windows-numerics                 0.3.1  6e2e40844ac143cdb44aead537bbf727de9b044e107a0f1220392177d15b0f26 \
    windows-result                   0.4.1  7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5 \
    windows-strings                  0.5.1  7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091 \
    windows-sys                     0.61.2  ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc \
    windows-threading                0.2.1  3949bd5b99cafdf1c7ca86b43ca564028dfe27d66958f2470940f73d86d75b37 \
    winnow                           1.0.4  23b97319f7b8343df12cc98938e5c3eb436064524c8d2b4e30a1d3a36eecdf81 \
    winreg                          0.56.0  7d6f32a0ff4a9f6f01231eb2059cc85479330739333e0e58cadf03b6af2cca10 \
    writeable                        0.6.4  3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc \
    y4m                              0.8.0  7a5a4b21e1a62b67a2970e6831bc091d7b87e119e7f9791aef9702e3bef04448 \
    yoke                             0.8.3  709fe23a0424b6a435d82152b1bd3fdfb0833487d5fa90d05d42762a9891fef5 \
    yoke-derive                      0.8.4  ec8ebde2db3681e8c9980cc27822030e68752690ddfa9473e739aeb4dbde6d71 \
    zerofrom                         0.1.8  0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272 \
    zerofrom-derive                  0.1.8  f75b4683f6c7f45248d4d64056a24298c6281e0993356d7d1b4a1a962ef10d4a \
    zerotrie                         0.2.5  4ea269c3bd32f0a32c321907a2ae912ba6f4649bb0fc764a15627e99a7095a3f \
    zerovec                         0.11.8  bb0464e17806c1d976d5cba29399c7f08e516e279e2ba493f63123b5fca67dd8 \
    zerovec-derive                  0.11.6  34df6fc39dbd26ddc9c10e6a2984476e13acce22e64e4487636ef494369225da \
    zmij                            1.0.23  29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b
