#compdef hydra

autoload -U is-at-least

_hydra() {
    typeset -A opt_args
    typeset -a _arguments_options
    local ret=1

    if is-at-least 5.2; then
        _arguments_options=(-s -S -C)
    else
        _arguments_options=(-s -C)
    fi

    local context curcontext="$curcontext" state line
    _arguments "${_arguments_options[@]}" : \
'(--no-plugins)--plugin=[Use only this installed plugin]:PLUGIN:_default' \
'--audio=[Audio selection\: best, none, or a track ID]:AUDIO:_default' \
'--audio-format=[Convert extracted audio through ffmpeg]:AUDIO_FORMAT:(mp3 m4a opus flac wav)' \
'*--subs=[Subtitle languages to download as sidecars]:SUBS:_default' \
'*--track=[Explicit plugin track IDs]:TRACKS:_default' \
'--quality=[Preferred rendition height for an HLS/DASH stream, e.g. \`--quality 720\`]:HEIGHT:_default' \
'--container=[Container for a downloaded stream\: \`mp4\` (default) or \`ts\`]:FMT:((mkv\:""
webm\:""
mp4\:"MP4, remuxed through ffmpeg when the segments are MPEG-TS"
ts\:"The assembled MPEG transport stream, no ffmpeg needed"))' \
'--record-seconds=[Record a LIVE stream for this many seconds, then finish the file]:SECONDS:_default' \
'-O+[Write output to this file (\`-O\`)]:FILE:_files' \
'--output=[Write output to this file (\`-O\`)]:FILE:_files' \
'-x+[Connections per source (\`-x\`). Omit to open the politeness budget]:N:_default' \
'--max-connection-per-server=[Connections per source (\`-x\`). Omit to open the politeness budget]:N:_default' \
'-s+[Alias for -x]:N:_default' \
'--split=[Alias for -x]:N:_default' \
'--limit-rate=[Cap the aggregate transfer rate, e.g. 500k, 2M (\`--limit-rate\`)]:RATE:_default' \
'--max-total-connections=[Total connections across all hosts]:N:_default' \
'*-H+[Send a request header (\`-H '\''Name\: value'\''\`), or read one off the response (\`-H Name\` or \`-H Name\:\`, which print the value and exit)]:LINE:_default' \
'*--header=[Send a request header (\`-H '\''Name\: value'\''\`), or read one off the response (\`-H Name\` or \`-H Name\:\`, which print the value and exit)]:LINE:_default' \
'-b+[Send these cookies\: a literal \`name=value; name2=value2\`, or the path of a Netscape \`cookies.txt\` file (\`-b\`, curl'\''s \`--cookie\`)]:DATA|FILE:_default' \
'--cookie=[Send these cookies\: a literal \`name=value; name2=value2\`, or the path of a Netscape \`cookies.txt\` file (\`-b\`, curl'\''s \`--cookie\`)]:DATA|FILE:_default' \
'--cookie-jar=[Read cookies from FILE before the first request and write the jar back to it at the end (curl'\''s \`--cookie-jar\`)]:FILE:_files' \
'--load-cookies=[Read cookies from FILE and do not write it back (wget'\''s \`--load-cookies\`)]:FILE:_files' \
'--save-cookies=[Write the jar to FILE when the transfer finishes (wget'\''s \`--save-cookies\`). Created with owner-only permissions]:FILE:_files' \
'--cookies-from-browser=[Take cookies for the host being downloaded from out of a browser'\''s own store, e.g. \`firefox\`, \`chrome\:Profile 2\`, \`safari\`]:BROWSER[:PROFILE]:_default' \
'-U+[User-Agent to send (\`-U\`)]:STRING:_default' \
'-A+[User-Agent to send (\`-U\`)]:STRING:_default' \
'--user-agent=[User-Agent to send (\`-U\`)]:STRING:_default' \
'-t+[Attempts per range request before a source is given up on (\`-t\`)]:N:_default' \
'--tries=[Attempts per range request before a source is given up on (\`-t\`)]:N:_default' \
'-T+[Seconds a single request may take to connect and answer (\`-T\`)]:SECS:_default' \
'--timeout=[Seconds a single request may take to connect and answer (\`-T\`)]:SECS:_default' \
'--emit-manifest=[Write a per-chunk digest manifest for what arrived]:FILE:_files' \
'--chunk-digests=[Verify each chunk against a manifest as it arrives, refetching mismatches]:FILE:_files' \
'--chunk-size=[Chunk grid for --emit-manifest, in bytes (default 4 MiB)]:BYTES:_default' \
'--checksum=[Verify the finished file, e.g. --checksum sha256\:abc...]:HASH:_default' \
'--mode=[How to treat several URLs on one command line]:MODE:((same\:"Each URL is a separate file; fetch them concurrently. Default"
queue\:"Each URL is a separate file; fetch them one after another"))' \
'--compat=[Command-line dialect\: native, wget, or curl. Also inferred from the name the binary is invoked as]:DIALECT:_default' \
'-P+[Directory to save into (\`-P\`). Created when it does not exist]:DIR:_files' \
'--output-dir=[Directory to save into (\`-P\`). Created when it does not exist]:DIR:_files' \
'-r+[Retrieve only this byte range, e.g. 0-1023, 1024-, or -512 (\`-r\`)]:RANGE:_default' \
'--range=[Retrieve only this byte range, e.g. 0-1023, 1024-, or -512 (\`-r\`)]:RANGE:_default' \
'--start-pos=[Start at this byte offset (\`--start-pos\`)]:OFFSET:_default' \
'-o+[Log to this file instead of the terminal (\`-o\`)]:FILE:_files' \
'--logfile=[Log to this file instead of the terminal (\`-o\`)]:FILE:_files' \
'--logfile-append=[Append to this log file instead of truncating it (wget'\''s \`-a\`)]:FILE:_files' \
'--max-redirs=[Maximum redirects to follow (\`--max-redirs\`)]:N:_default' \
'--max-filesize=[Refuse an object larger than this, e.g. 500k, 10M (\`--max-filesize\`)]:BYTES:_default' \
'--proxy=[Proxy to use. Defaults to \$http_proxy, \$https_proxy or \$all_proxy, with \$no_proxy exempting hosts]:URL:_default' \
'--wait=[Seconds to pause between separate URLs (wget'\''s \`--wait\`)]:SECS:_default' \
'--connect-timeout=[Seconds the probe (connect, HEAD, redirects) may take. Defaults to \`--timeout\`]:SECS:_default' \
'-u+[HTTP Basic credentials, \`USER\:PASSWORD\` or just \`USER\` with \`--password\` (curl'\''s \`-u\`, wget'\''s \`--user\`)]:USER[:PASSWORD]:_default' \
'--user=[HTTP Basic credentials, \`USER\:PASSWORD\` or just \`USER\` with \`--password\` (curl'\''s \`-u\`, wget'\''s \`--user\`)]:USER[:PASSWORD]:_default' \
'--password=[Password for \`--user\` (wget'\''s \`--password\`)]:PASSWORD:_default' \
'--input-file=[Read URLs from a file, one per line (\`--input-file\`)]:FILE:_files' \
'--etag-compare=[Compare against an ETag stored in this file (\`--etag-compare\`)]:FILE:_files' \
'--etag-save=[Save the object'\''s ETag to this file (\`--etag-save\`)]:FILE:_files' \
'--parallel-max=[Most URLs transferring at once under \`--mode same\`]:N:_default' \
'--metalink=[Read sources from a Metalink document (\`--metalink FILE|URL\`)]:FILE|URL:_default' \
'--metalink-file=[Fetch only this entry from the document]:NAME:_default' \
'*--metalink-location=[Preferred mirror locations, best first (\`--metalink-location de,nl,fr\`)]:LOC[,LOC...]:_default' \
'--metalink-language=[Fetch only entries for this language]:LANG:_default' \
'--metalink-os=[Fetch only entries for this operating system]:OS:_default' \
'--metalink-version=[Fetch only entries with this version]:VERSION:_default' \
'--metalink-preferred-protocol=[Prefer mirrors on this protocol\: http, https, ftp, or none]:PROTO:_default' \
'--queue-file=[Queue file for interactive mode. Defaults to a per-user state directory]:FILE:_files' \
'--no-plugins[Bypass installed resolver plugins]' \
'--list-tracks[Print the resolved track list without downloading]' \
'--extract-audio[Download audio only from plugin media plans]' \
'--no-input[Use flags and defaults without interactive plugin track selection]' \
'--inspect[Report what the server says about a URL, then exit]' \
'--list-streams[List the renditions a stream manifest offers, then exit]' \
'--preview[List the files inside a ZIP archive, then exit. Nothing is downloaded]' \
'-c[Continue a partially-downloaded file (\`-c\`)]' \
'--continue[Continue a partially-downloaded file (\`-c\`)]' \
'--polite[One connection per host, for volunteer mirrors]' \
'--keep-session-cookies[Write session cookies to the jar file too (wget'\''s \`--keep-session-cookies\`)]' \
'--junk-session-cookies[Discard session cookies read from a jar file (wget'\''s \`--junk-session-cookies\`)]' \
'-q[Suppress all output except errors (\`-q\`)]' \
'--quiet[Suppress all output except errors (\`-q\`)]' \
'*-v[Verbose; repeat for scheduler-level detail (-vv)]' \
'*--verbose[Verbose; repeat for scheduler-level detail (-vv)]' \
'(--mode)--mirrors[Treat every URL as a mirror of ONE object and assemble byte ranges across them]' \
'--no-save[Fetch without writing a file]' \
'--discard[Fetch without writing a file]' \
'--print-checksum[Report the SHA-256 of the finished object]' \
'--show-checksum[Report the SHA-256 of the finished object]' \
'(--stdout)--json[Emit the result as JSON on stdout, and nothing else]' \
'--no-progress[Suppress the live progress display but keep summaries]' \
'--no-probe[Use a single connection when no \`-x\` is given]' \
'--single[Use a single connection when no \`-x\` is given]' \
'(--no-probe)--adaptive[Measure the useful connection count even when -x is given, treating -x as a ceiling rather than a target]' \
'--stdout[Write to stdout instead of a file (\`--stdout\`)]' \
'--remote-name[Name the output from the URL'\''s last path component (curl'\''s \`-O\`)]' \
'--no-clobber[Skip the download if the output file already exists (wget'\''s \`-nc\`)]' \
'--create-dirs[Create the output directory if it does not exist (\`--create-dirs\`)]' \
'--spider[Probe headers and report, without retrieving the body (\`--spider\`)]' \
'-S[Print the server'\''s response headers (\`-S\` / \`-i\`). Show the request and response headers]' \
'-i[Print the server'\''s response headers (\`-S\` / \`-i\`). Show the request and response headers]' \
'--server-response[Print the server'\''s response headers (\`-S\` / \`-i\`). Show the request and response headers]' \
'--include[Print the server'\''s response headers (\`-S\` / \`-i\`). Show the request and response headers]' \
'-f[Overwrite an existing file without asking]' \
'--force[Overwrite an existing file without asking]' \
'--fail[Exit non-zero on an HTTP error without writing a file (curl'\''s \`-f\`)]' \
'--show-error[Show errors even when quiet (\`--show-error\`)]' \
'--show-progress[Draw the progress display even when stdout is not a terminal]' \
'--no-verbose[Drop the progress display but keep the summary line (wget'\''s \`-nv\`)]' \
'-N[Set the local file'\''s mtime from the server (\`-N\`)]' \
'--remote-time[Set the local file'\''s mtime from the server (\`-N\`)]' \
'--content-disposition[Name the output from the server'\''s Content-Disposition header (curl'\''s \`-J\`)]' \
'-L[Follow redirects (curl'\''s \`-L\`). Always on; \`--max-redirs\` bounds it. Accepted so curl scripts run unchanged]' \
'--location[Follow redirects (curl'\''s \`-L\`). Always on; \`--max-redirs\` bounds it. Accepted so curl scripts run unchanged]' \
'--no-proxy[Ignore any proxy in the environment (\`--no-proxy\`)]' \
'--insecure[Allow certificates that do not verify (\`--insecure\`)]' \
'-4[Resolve names to IPv4 only]' \
'--ipv4[Resolve names to IPv4 only]' \
'(-4 --ipv4)-6[Resolve names to IPv6 only]' \
'(-4 --ipv4)--ipv6[Resolve names to IPv6 only]' \
'-Z[Retrieve several URLs concurrently (curl'\''s \`-Z\`). Already the default (\`--mode same\`); accepted so curl scripts run unchanged]' \
'--parallel[Retrieve several URLs concurrently (curl'\''s \`-Z\`). Already the default (\`--mode same\`); accepted so curl scripts run unchanged]' \
'-y[Sort the finished file into a per-category subdirectory (Video, Music, Compressed, Documents, Programs, ...)]' \
'--sort-by-type[Sort the finished file into a per-category subdirectory (Video, Music, Compressed, Documents, Programs, ...)]' \
'--metalink-enable-unique-protocol[Use only one protocol for a file, dropping mirrors on the others]' \
'--no-follow-metalink[Save a URL that serves a Metalink document instead of following it]' \
'--demo-multi[Render a representative multi-file frame and exit (documentation aid)]' \
'--demo-frame[Render a representative progress frame and exit (documentation aid)]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
'::urls -- URLs to download:_default' \
":: :_hydra_commands" \
"*::: :->hydra" \
&& ret=0
    case $state in
    (hydra)
        words=($line[2] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hydra-command-$line[2]:"
        case $line[2] in
            (plugin)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_hydra__subcmd__plugin_commands" \
"*::: :->plugin" \
&& ret=0

    case $state in
    (plugin)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hydra-plugin-command-$line[1]:"
        case $line[1] in
            (sync-official)
_arguments "${_arguments_options[@]}" : \
'--require-bundled[Fail if this binary was built without official plugin packages]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
'--json[Print the complete installed metadata as JSON]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(index)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_hydra__subcmd__plugin__subcmd__index_commands" \
"*::: :->index" \
&& ret=0

    case $state in
    (index)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hydra-plugin-index-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
'--key=[]:KEY:_default' \
'-h[Print help]' \
'--help[Print help]' \
':url:_default' \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':url:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_hydra__subcmd__plugin__subcmd__index__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hydra-plugin-index-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(update)
_arguments "${_arguments_options[@]}" : \
'--accept-permissions[Install the listed updates and grant their displayed permissions]' \
'--accept-publisher-change[Accept a publisher change while applying updates]' \
'-h[Print help]' \
'--help[Print help]' \
'::id:_default' \
&& ret=0
;;
(test)
_arguments "${_arguments_options[@]}" : \
'--url=[]:URL:_default' \
'-h[Print help]' \
'--help[Print help]' \
':path:_files' \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" : \
'--json[Emit complete installed metadata as JSON]' \
'-h[Print help]' \
'--help[Print help]' \
':id:_default' \
&& ret=0
;;
(check)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':id:_default' \
&& ret=0
;;
(logs)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':id:_default' \
&& ret=0
;;
(config)
_arguments "${_arguments_options[@]}" : \
'--secret=[Prompt for a secret without putting its value in shell history]:SECRET:_default' \
'-h[Print help]' \
'--help[Print help]' \
':id:_default' \
&& ret=0
;;
(rollback)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':id:_default' \
&& ret=0
;;
(grant)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':id:_default' \
':capability:_default' \
&& ret=0
;;
(revoke)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':id:_default' \
':capability:_default' \
&& ret=0
;;
(clear-session)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':id:_default' \
&& ret=0
;;
(pack)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':path:_files' \
':output:_files' \
&& ret=0
;;
(inspect)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':path:_files' \
&& ret=0
;;
(install)
_arguments "${_arguments_options[@]}" : \
'--sha256=[]:SHA256:_default' \
'--accept-permissions[]' \
'--accept-publisher-change[Accept the publisher change shown by a refused upgrade]' \
'-h[Print help]' \
'--help[Print help]' \
':path:_default' \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':id:_default' \
&& ret=0
;;
(enable)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':id:_default' \
&& ret=0
;;
(disable)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':id:_default' \
&& ret=0
;;
(order)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
'*::ids:_default' \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':id:_default' \
':key:_default' \
':value:_default' \
&& ret=0
;;
(resolve)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':url:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_hydra__subcmd__plugin__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hydra-plugin-help-command-$line[1]:"
        case $line[1] in
            (sync-official)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(index)
_arguments "${_arguments_options[@]}" : \
":: :_hydra__subcmd__plugin__subcmd__help__subcmd__index_commands" \
"*::: :->index" \
&& ret=0

    case $state in
    (index)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hydra-plugin-help-index-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(update)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(test)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(check)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(logs)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(config)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rollback)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(grant)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(revoke)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(clear-session)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(pack)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(inspect)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(install)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(enable)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(disable)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(order)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(resolve)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(interactive)
_arguments "${_arguments_options[@]}" : \
'--queue-file=[Queue file. Defaults to a per-user state directory]:FILE:_files' \
'-n+[How many transfers run at once]:N:_default' \
'--max-active=[How many transfers run at once]:N:_default' \
'--headless[Work the queue with no screen, one log line per event]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::urls -- URLs to enqueue on startup:_default' \
&& ret=0
;;
(parity)
_arguments "${_arguments_options[@]}" : \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_hydra__subcmd__parity_commands" \
"*::: :->parity" \
&& ret=0

    case $state in
    (parity)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hydra-parity-command-$line[1]:"
        case $line[1] in
            (make)
_arguments "${_arguments_options[@]}" : \
'--manifest=[Manifest describing the file'\''s chunk grid (from --emit-manifest)]:FILE:_files' \
'--parity=[Number of parity shards. Repair succeeds iff damaged shards <= this]:N:_default' \
'--out=[Where to write the parity. Defaults to FILE.parity]:FILE:_files' \
'--window=[Repair window in bytes. Memory is O(n*window), not O(file)]:BYTES:_default' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':file -- The file to protect:_files' \
&& ret=0
;;
(repair)
_arguments "${_arguments_options[@]}" : \
'--manifest=[]:FILE:_files' \
'--parity-file=[]:FILE:_files' \
'--dry-run[Report what would be repaired without writing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':file:_files' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_hydra__subcmd__parity__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hydra-parity-help-command-$line[1]:"
        case $line[1] in
            (make)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(repair)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(checksum)
_arguments "${_arguments_options[@]}" : \
'--verify=[Compare this local file against the advertised digest]:FILE:_files' \
'--json[Machine-readable output]' \
'--no-sidecars[Read only the response headers; skip the \`.sha256\`-style sidecar and \`SHA256SUMS\` lookups that otherwise cost one request each]' \
'--download-if-needed[Compute the digest by streaming the body when nothing is advertised]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::urls -- Object to inspect:_default' \
&& ret=0
;;
(metalink)
_arguments "${_arguments_options[@]}" : \
'--json[Machine-readable output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':source -- The document\: a local `.meta4`/`.metalink` file, or a URL:_default' \
&& ret=0
;;
(formats)
_arguments "${_arguments_options[@]}" : \
'--category=[Show only one category (video, audio, image, archive, document, application, "disk image", font, data, markup)]:NAME:_default' \
'--what=[Describe one format or extension and exit, e.g. \`hydra formats --what tar.gz\`]:NAME:_default' \
'--json[Machine-readable output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(bench)
_arguments "${_arguments_options[@]}" : \
'--reps=[Repetitions]:REPS:_default' \
'--which=[Which harness\: memprofile | xval | ticksweep | sizesweep | detectab]:WHICH:_default' \
'--real[Download real objects over the network]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(completions)
_arguments "${_arguments_options[@]}" : \
'--bin-name=[Command the script completes. Defaults to \`hydra\`; pass \`hya\` for the short name the installers link next to it, which needs its own script because a completion script names the command it serves]:NAME:_default' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':shell -- bash | zsh | fish | elvish | powershell:(bash elvish fish powershell zsh)' \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" : \
'--json[Machine-readable output]' \
'--beta[Include release candidates\: report the newest \`-rc\` pre-release while it is ahead of the latest stable release. Once stable catches up, this reports stable again]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(compat-link)
_arguments "${_arguments_options[@]}" : \
'--dir=[Where to put the links. Defaults to the directory this binary is in]:DIR:_files' \
'*--name=[Names to install. Repeatable; defaults to \`wget\` and \`curl\`]:NAME:_default' \
'--force[Replace an existing file of that name]' \
'--dry-run[Report what would be done, touching nothing]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(install-completions)
_arguments "${_arguments_options[@]}" : \
'--bin-name=[Command the script completes. Defaults to \`hydra\`; pass \`hya\` for the short name the installers link next to it, which needs its own script because a completion script names the command it serves]:NAME:_default' \
'--system[Install for all users (e.g. \`/etc/bash_completion.d\`, \`/usr/share/zsh/site-functions\`) instead of the current user'\''s home directory. Usually needs to be run with elevated privileges; this flag only picks the path, it does not escalate]' \
'--dry-run[Print the destination path and script without writing anything]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::shell -- bash | zsh | fish | elvish | powershell. Detected from `$SHELL` when omitted:(bash elvish fish powershell zsh)' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_hydra__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hydra-help-command-$line[1]:"
        case $line[1] in
            (plugin)
_arguments "${_arguments_options[@]}" : \
":: :_hydra__subcmd__help__subcmd__plugin_commands" \
"*::: :->plugin" \
&& ret=0

    case $state in
    (plugin)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hydra-help-plugin-command-$line[1]:"
        case $line[1] in
            (sync-official)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(index)
_arguments "${_arguments_options[@]}" : \
":: :_hydra__subcmd__help__subcmd__plugin__subcmd__index_commands" \
"*::: :->index" \
&& ret=0

    case $state in
    (index)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hydra-help-plugin-index-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(update)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(test)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(check)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(logs)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(config)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rollback)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(grant)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(revoke)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(clear-session)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(pack)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(inspect)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(install)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(enable)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(disable)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(order)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(resolve)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(interactive)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(parity)
_arguments "${_arguments_options[@]}" : \
":: :_hydra__subcmd__help__subcmd__parity_commands" \
"*::: :->parity" \
&& ret=0

    case $state in
    (parity)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hydra-help-parity-command-$line[1]:"
        case $line[1] in
            (make)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(repair)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(checksum)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(metalink)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(formats)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(bench)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(completions)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(compat-link)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(install-completions)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
}

(( $+functions[_hydra_commands] )) ||
_hydra_commands() {
    local commands; commands=(
'plugin:Manage resolver plugins' \
'interactive:Full-screen download manager with a queue' \
'parity:Generate or apply local Reed-Solomon parity for a verified file' \
'checksum:Report the checksums a server advertises, without downloading the object' \
'metalink:Read a Metalink document and report what it offers, without fetching' \
'formats:List the file formats this build recognises, with descriptions' \
'bench:Measurement harnesses' \
'completions:Print a shell completion script to stdout' \
'update:Check whether a newer hydra release is available' \
'compat-link:Install the \`wget\` / \`curl\` dialect entry points as links to this binary' \
'install-completions:Generate a completion script AND install it into the shell'\''s standard completion directory' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'hydra commands' commands "$@"
}
(( $+functions[_hydra__subcmd__bench_commands] )) ||
_hydra__subcmd__bench_commands() {
    local commands; commands=()
    _describe -t commands 'hydra bench commands' commands "$@"
}
(( $+functions[_hydra__subcmd__checksum_commands] )) ||
_hydra__subcmd__checksum_commands() {
    local commands; commands=()
    _describe -t commands 'hydra checksum commands' commands "$@"
}
(( $+functions[_hydra__subcmd__compat-link_commands] )) ||
_hydra__subcmd__compat-link_commands() {
    local commands; commands=()
    _describe -t commands 'hydra compat-link commands' commands "$@"
}
(( $+functions[_hydra__subcmd__completions_commands] )) ||
_hydra__subcmd__completions_commands() {
    local commands; commands=()
    _describe -t commands 'hydra completions commands' commands "$@"
}
(( $+functions[_hydra__subcmd__formats_commands] )) ||
_hydra__subcmd__formats_commands() {
    local commands; commands=()
    _describe -t commands 'hydra formats commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help_commands] )) ||
_hydra__subcmd__help_commands() {
    local commands; commands=(
'plugin:Manage resolver plugins' \
'interactive:Full-screen download manager with a queue' \
'parity:Generate or apply local Reed-Solomon parity for a verified file' \
'checksum:Report the checksums a server advertises, without downloading the object' \
'metalink:Read a Metalink document and report what it offers, without fetching' \
'formats:List the file formats this build recognises, with descriptions' \
'bench:Measurement harnesses' \
'completions:Print a shell completion script to stdout' \
'update:Check whether a newer hydra release is available' \
'compat-link:Install the \`wget\` / \`curl\` dialect entry points as links to this binary' \
'install-completions:Generate a completion script AND install it into the shell'\''s standard completion directory' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'hydra help commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__bench_commands] )) ||
_hydra__subcmd__help__subcmd__bench_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help bench commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__checksum_commands] )) ||
_hydra__subcmd__help__subcmd__checksum_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help checksum commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__compat-link_commands] )) ||
_hydra__subcmd__help__subcmd__compat-link_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help compat-link commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__completions_commands] )) ||
_hydra__subcmd__help__subcmd__completions_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help completions commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__formats_commands] )) ||
_hydra__subcmd__help__subcmd__formats_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help formats commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__help_commands] )) ||
_hydra__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help help commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__install-completions_commands] )) ||
_hydra__subcmd__help__subcmd__install-completions_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help install-completions commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__interactive_commands] )) ||
_hydra__subcmd__help__subcmd__interactive_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help interactive commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__metalink_commands] )) ||
_hydra__subcmd__help__subcmd__metalink_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help metalink commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__parity_commands] )) ||
_hydra__subcmd__help__subcmd__parity_commands() {
    local commands; commands=(
'make:Generate parity for a file, alongside its manifest' \
'repair:Repair a damaged file using its manifest and parity' \
    )
    _describe -t commands 'hydra help parity commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__parity__subcmd__make_commands] )) ||
_hydra__subcmd__help__subcmd__parity__subcmd__make_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help parity make commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__parity__subcmd__repair_commands] )) ||
_hydra__subcmd__help__subcmd__parity__subcmd__repair_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help parity repair commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__plugin_commands] )) ||
_hydra__subcmd__help__subcmd__plugin_commands() {
    local commands; commands=(
'sync-official:Install or update the signed official plugins bundled with Hydra' \
'list:' \
'index:' \
'update:List catalog updates, or install them after explicit permission consent' \
'test:Execute a development package with its declared capabilities, including exec' \
'info:' \
'check:' \
'logs:' \
'config:' \
'rollback:' \
'grant:' \
'revoke:' \
'clear-session:' \
'pack:' \
'inspect:' \
'install:' \
'remove:' \
'enable:' \
'disable:' \
'order:' \
'set:' \
'resolve:' \
    )
    _describe -t commands 'hydra help plugin commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__plugin__subcmd__check_commands] )) ||
_hydra__subcmd__help__subcmd__plugin__subcmd__check_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help plugin check commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__plugin__subcmd__clear-session_commands] )) ||
_hydra__subcmd__help__subcmd__plugin__subcmd__clear-session_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help plugin clear-session commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__plugin__subcmd__config_commands] )) ||
_hydra__subcmd__help__subcmd__plugin__subcmd__config_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help plugin config commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__plugin__subcmd__disable_commands] )) ||
_hydra__subcmd__help__subcmd__plugin__subcmd__disable_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help plugin disable commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__plugin__subcmd__enable_commands] )) ||
_hydra__subcmd__help__subcmd__plugin__subcmd__enable_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help plugin enable commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__plugin__subcmd__grant_commands] )) ||
_hydra__subcmd__help__subcmd__plugin__subcmd__grant_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help plugin grant commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__plugin__subcmd__index_commands] )) ||
_hydra__subcmd__help__subcmd__plugin__subcmd__index_commands() {
    local commands; commands=(
'list:' \
'add:' \
'rm:' \
    )
    _describe -t commands 'hydra help plugin index commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__plugin__subcmd__index__subcmd__add_commands] )) ||
_hydra__subcmd__help__subcmd__plugin__subcmd__index__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help plugin index add commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__plugin__subcmd__index__subcmd__list_commands] )) ||
_hydra__subcmd__help__subcmd__plugin__subcmd__index__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help plugin index list commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__plugin__subcmd__index__subcmd__rm_commands] )) ||
_hydra__subcmd__help__subcmd__plugin__subcmd__index__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help plugin index rm commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__plugin__subcmd__info_commands] )) ||
_hydra__subcmd__help__subcmd__plugin__subcmd__info_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help plugin info commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__plugin__subcmd__inspect_commands] )) ||
_hydra__subcmd__help__subcmd__plugin__subcmd__inspect_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help plugin inspect commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__plugin__subcmd__install_commands] )) ||
_hydra__subcmd__help__subcmd__plugin__subcmd__install_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help plugin install commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__plugin__subcmd__list_commands] )) ||
_hydra__subcmd__help__subcmd__plugin__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help plugin list commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__plugin__subcmd__logs_commands] )) ||
_hydra__subcmd__help__subcmd__plugin__subcmd__logs_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help plugin logs commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__plugin__subcmd__order_commands] )) ||
_hydra__subcmd__help__subcmd__plugin__subcmd__order_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help plugin order commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__plugin__subcmd__pack_commands] )) ||
_hydra__subcmd__help__subcmd__plugin__subcmd__pack_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help plugin pack commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__plugin__subcmd__remove_commands] )) ||
_hydra__subcmd__help__subcmd__plugin__subcmd__remove_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help plugin remove commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__plugin__subcmd__resolve_commands] )) ||
_hydra__subcmd__help__subcmd__plugin__subcmd__resolve_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help plugin resolve commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__plugin__subcmd__revoke_commands] )) ||
_hydra__subcmd__help__subcmd__plugin__subcmd__revoke_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help plugin revoke commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__plugin__subcmd__rollback_commands] )) ||
_hydra__subcmd__help__subcmd__plugin__subcmd__rollback_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help plugin rollback commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__plugin__subcmd__set_commands] )) ||
_hydra__subcmd__help__subcmd__plugin__subcmd__set_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help plugin set commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__plugin__subcmd__sync-official_commands] )) ||
_hydra__subcmd__help__subcmd__plugin__subcmd__sync-official_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help plugin sync-official commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__plugin__subcmd__test_commands] )) ||
_hydra__subcmd__help__subcmd__plugin__subcmd__test_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help plugin test commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__plugin__subcmd__update_commands] )) ||
_hydra__subcmd__help__subcmd__plugin__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help plugin update commands' commands "$@"
}
(( $+functions[_hydra__subcmd__help__subcmd__update_commands] )) ||
_hydra__subcmd__help__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'hydra help update commands' commands "$@"
}
(( $+functions[_hydra__subcmd__install-completions_commands] )) ||
_hydra__subcmd__install-completions_commands() {
    local commands; commands=()
    _describe -t commands 'hydra install-completions commands' commands "$@"
}
(( $+functions[_hydra__subcmd__interactive_commands] )) ||
_hydra__subcmd__interactive_commands() {
    local commands; commands=()
    _describe -t commands 'hydra interactive commands' commands "$@"
}
(( $+functions[_hydra__subcmd__metalink_commands] )) ||
_hydra__subcmd__metalink_commands() {
    local commands; commands=()
    _describe -t commands 'hydra metalink commands' commands "$@"
}
(( $+functions[_hydra__subcmd__parity_commands] )) ||
_hydra__subcmd__parity_commands() {
    local commands; commands=(
'make:Generate parity for a file, alongside its manifest' \
'repair:Repair a damaged file using its manifest and parity' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'hydra parity commands' commands "$@"
}
(( $+functions[_hydra__subcmd__parity__subcmd__help_commands] )) ||
_hydra__subcmd__parity__subcmd__help_commands() {
    local commands; commands=(
'make:Generate parity for a file, alongside its manifest' \
'repair:Repair a damaged file using its manifest and parity' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'hydra parity help commands' commands "$@"
}
(( $+functions[_hydra__subcmd__parity__subcmd__help__subcmd__help_commands] )) ||
_hydra__subcmd__parity__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'hydra parity help help commands' commands "$@"
}
(( $+functions[_hydra__subcmd__parity__subcmd__help__subcmd__make_commands] )) ||
_hydra__subcmd__parity__subcmd__help__subcmd__make_commands() {
    local commands; commands=()
    _describe -t commands 'hydra parity help make commands' commands "$@"
}
(( $+functions[_hydra__subcmd__parity__subcmd__help__subcmd__repair_commands] )) ||
_hydra__subcmd__parity__subcmd__help__subcmd__repair_commands() {
    local commands; commands=()
    _describe -t commands 'hydra parity help repair commands' commands "$@"
}
(( $+functions[_hydra__subcmd__parity__subcmd__make_commands] )) ||
_hydra__subcmd__parity__subcmd__make_commands() {
    local commands; commands=()
    _describe -t commands 'hydra parity make commands' commands "$@"
}
(( $+functions[_hydra__subcmd__parity__subcmd__repair_commands] )) ||
_hydra__subcmd__parity__subcmd__repair_commands() {
    local commands; commands=()
    _describe -t commands 'hydra parity repair commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin_commands] )) ||
_hydra__subcmd__plugin_commands() {
    local commands; commands=(
'sync-official:Install or update the signed official plugins bundled with Hydra' \
'list:' \
'index:' \
'update:List catalog updates, or install them after explicit permission consent' \
'test:Execute a development package with its declared capabilities, including exec' \
'info:' \
'check:' \
'logs:' \
'config:' \
'rollback:' \
'grant:' \
'revoke:' \
'clear-session:' \
'pack:' \
'inspect:' \
'install:' \
'remove:' \
'enable:' \
'disable:' \
'order:' \
'set:' \
'resolve:' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'hydra plugin commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__check_commands] )) ||
_hydra__subcmd__plugin__subcmd__check_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin check commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__clear-session_commands] )) ||
_hydra__subcmd__plugin__subcmd__clear-session_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin clear-session commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__config_commands] )) ||
_hydra__subcmd__plugin__subcmd__config_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin config commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__disable_commands] )) ||
_hydra__subcmd__plugin__subcmd__disable_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin disable commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__enable_commands] )) ||
_hydra__subcmd__plugin__subcmd__enable_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin enable commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__grant_commands] )) ||
_hydra__subcmd__plugin__subcmd__grant_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin grant commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__help_commands] )) ||
_hydra__subcmd__plugin__subcmd__help_commands() {
    local commands; commands=(
'sync-official:Install or update the signed official plugins bundled with Hydra' \
'list:' \
'index:' \
'update:List catalog updates, or install them after explicit permission consent' \
'test:Execute a development package with its declared capabilities, including exec' \
'info:' \
'check:' \
'logs:' \
'config:' \
'rollback:' \
'grant:' \
'revoke:' \
'clear-session:' \
'pack:' \
'inspect:' \
'install:' \
'remove:' \
'enable:' \
'disable:' \
'order:' \
'set:' \
'resolve:' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'hydra plugin help commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__help__subcmd__check_commands] )) ||
_hydra__subcmd__plugin__subcmd__help__subcmd__check_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin help check commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__help__subcmd__clear-session_commands] )) ||
_hydra__subcmd__plugin__subcmd__help__subcmd__clear-session_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin help clear-session commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__help__subcmd__config_commands] )) ||
_hydra__subcmd__plugin__subcmd__help__subcmd__config_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin help config commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__help__subcmd__disable_commands] )) ||
_hydra__subcmd__plugin__subcmd__help__subcmd__disable_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin help disable commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__help__subcmd__enable_commands] )) ||
_hydra__subcmd__plugin__subcmd__help__subcmd__enable_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin help enable commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__help__subcmd__grant_commands] )) ||
_hydra__subcmd__plugin__subcmd__help__subcmd__grant_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin help grant commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__help__subcmd__help_commands] )) ||
_hydra__subcmd__plugin__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin help help commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__help__subcmd__index_commands] )) ||
_hydra__subcmd__plugin__subcmd__help__subcmd__index_commands() {
    local commands; commands=(
'list:' \
'add:' \
'rm:' \
    )
    _describe -t commands 'hydra plugin help index commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__help__subcmd__index__subcmd__add_commands] )) ||
_hydra__subcmd__plugin__subcmd__help__subcmd__index__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin help index add commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__help__subcmd__index__subcmd__list_commands] )) ||
_hydra__subcmd__plugin__subcmd__help__subcmd__index__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin help index list commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__help__subcmd__index__subcmd__rm_commands] )) ||
_hydra__subcmd__plugin__subcmd__help__subcmd__index__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin help index rm commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__help__subcmd__info_commands] )) ||
_hydra__subcmd__plugin__subcmd__help__subcmd__info_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin help info commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__help__subcmd__inspect_commands] )) ||
_hydra__subcmd__plugin__subcmd__help__subcmd__inspect_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin help inspect commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__help__subcmd__install_commands] )) ||
_hydra__subcmd__plugin__subcmd__help__subcmd__install_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin help install commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__help__subcmd__list_commands] )) ||
_hydra__subcmd__plugin__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin help list commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__help__subcmd__logs_commands] )) ||
_hydra__subcmd__plugin__subcmd__help__subcmd__logs_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin help logs commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__help__subcmd__order_commands] )) ||
_hydra__subcmd__plugin__subcmd__help__subcmd__order_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin help order commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__help__subcmd__pack_commands] )) ||
_hydra__subcmd__plugin__subcmd__help__subcmd__pack_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin help pack commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__help__subcmd__remove_commands] )) ||
_hydra__subcmd__plugin__subcmd__help__subcmd__remove_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin help remove commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__help__subcmd__resolve_commands] )) ||
_hydra__subcmd__plugin__subcmd__help__subcmd__resolve_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin help resolve commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__help__subcmd__revoke_commands] )) ||
_hydra__subcmd__plugin__subcmd__help__subcmd__revoke_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin help revoke commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__help__subcmd__rollback_commands] )) ||
_hydra__subcmd__plugin__subcmd__help__subcmd__rollback_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin help rollback commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__help__subcmd__set_commands] )) ||
_hydra__subcmd__plugin__subcmd__help__subcmd__set_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin help set commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__help__subcmd__sync-official_commands] )) ||
_hydra__subcmd__plugin__subcmd__help__subcmd__sync-official_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin help sync-official commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__help__subcmd__test_commands] )) ||
_hydra__subcmd__plugin__subcmd__help__subcmd__test_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin help test commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__help__subcmd__update_commands] )) ||
_hydra__subcmd__plugin__subcmd__help__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin help update commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__index_commands] )) ||
_hydra__subcmd__plugin__subcmd__index_commands() {
    local commands; commands=(
'list:' \
'add:' \
'rm:' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'hydra plugin index commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__index__subcmd__add_commands] )) ||
_hydra__subcmd__plugin__subcmd__index__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin index add commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__index__subcmd__help_commands] )) ||
_hydra__subcmd__plugin__subcmd__index__subcmd__help_commands() {
    local commands; commands=(
'list:' \
'add:' \
'rm:' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'hydra plugin index help commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__index__subcmd__help__subcmd__add_commands] )) ||
_hydra__subcmd__plugin__subcmd__index__subcmd__help__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin index help add commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__index__subcmd__help__subcmd__help_commands] )) ||
_hydra__subcmd__plugin__subcmd__index__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin index help help commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__index__subcmd__help__subcmd__list_commands] )) ||
_hydra__subcmd__plugin__subcmd__index__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin index help list commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__index__subcmd__help__subcmd__rm_commands] )) ||
_hydra__subcmd__plugin__subcmd__index__subcmd__help__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin index help rm commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__index__subcmd__list_commands] )) ||
_hydra__subcmd__plugin__subcmd__index__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin index list commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__index__subcmd__rm_commands] )) ||
_hydra__subcmd__plugin__subcmd__index__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin index rm commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__info_commands] )) ||
_hydra__subcmd__plugin__subcmd__info_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin info commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__inspect_commands] )) ||
_hydra__subcmd__plugin__subcmd__inspect_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin inspect commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__install_commands] )) ||
_hydra__subcmd__plugin__subcmd__install_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin install commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__list_commands] )) ||
_hydra__subcmd__plugin__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin list commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__logs_commands] )) ||
_hydra__subcmd__plugin__subcmd__logs_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin logs commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__order_commands] )) ||
_hydra__subcmd__plugin__subcmd__order_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin order commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__pack_commands] )) ||
_hydra__subcmd__plugin__subcmd__pack_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin pack commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__remove_commands] )) ||
_hydra__subcmd__plugin__subcmd__remove_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin remove commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__resolve_commands] )) ||
_hydra__subcmd__plugin__subcmd__resolve_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin resolve commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__revoke_commands] )) ||
_hydra__subcmd__plugin__subcmd__revoke_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin revoke commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__rollback_commands] )) ||
_hydra__subcmd__plugin__subcmd__rollback_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin rollback commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__set_commands] )) ||
_hydra__subcmd__plugin__subcmd__set_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin set commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__sync-official_commands] )) ||
_hydra__subcmd__plugin__subcmd__sync-official_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin sync-official commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__test_commands] )) ||
_hydra__subcmd__plugin__subcmd__test_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin test commands' commands "$@"
}
(( $+functions[_hydra__subcmd__plugin__subcmd__update_commands] )) ||
_hydra__subcmd__plugin__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'hydra plugin update commands' commands "$@"
}
(( $+functions[_hydra__subcmd__update_commands] )) ||
_hydra__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'hydra update commands' commands "$@"
}

if [ "$funcstack[1]" = "_hydra" ]; then
    _hydra "$@"
else
    compdef _hydra hydra
fi
