#compdef sq

autoload -U is-at-least

_sq() {
    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[@]}" \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_sq_commands" \
"*::: :->sq" \
&& ret=0
    case $state in
    (sq)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-command-$line[1]:"
        case $line[1] in
            (encrypt)
_arguments "${_arguments_options[@]}" \
'-o+[Write to FILE or stdout if omitted]:FILE: ' \
'--output=[Write to FILE or stdout if omitted]:FILE: ' \
'*--recipient-email=[Encrypt to all certificates that can be authenticated for the specified email address]:EMAIL: ' \
'*--recipient-userid=[Encrypt to all certificates that can be authenticated for the specified User ID]:USERID: ' \
'*--recipient-cert=[Encrypt to the named certificates]:FINGERPRINT|KEYID: ' \
'*--recipient-file=[Encrypt to all certificates in CERT_RING_FILE]:CERT_RING_FILE:_files' \
'--set-metadata-time=[Set time for encrypted file as metadata]:TIME: ' \
'*--signer-file=[Sign the message using the key in KEY_FILE]:KEY_FILE:_files' \
'*--signer-key=[Sign the message using the specified key on the key store]:KEYID|FINGERPRINT: ' \
'--encrypt-for=[Select what kind of keys are considered for encryption.]:PURPOSE:((transport\:"Protects data in transport"
storage\:"Protects data at rest"
universal\:"Protects data in transport and at rest"))' \
'--compression=[Select compression scheme to use]:KIND:(none zip zlib bzip2)' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-B[Emit binary data]' \
'--binary[Emit binary data]' \
'--set-metadata-filename[Set the filename of the encrypted file as metadata]' \
'*-s[Prompt to add a password to encrypt with]' \
'*--symmetric[Prompt to add a password to encrypt with]' \
'--use-expired-subkey[Fall back to expired encryption subkeys]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::input -- Read from FILE or stdin if FILE is '\''-'\'':' \
&& ret=0
;;
(decrypt)
_arguments "${_arguments_options[@]}" \
'-o+[Write to FILE or stdout if omitted]:FILE: ' \
'--output=[Write to FILE or stdout if omitted]:FILE: ' \
'-n+[Set the threshold of valid signatures to N]:N: ' \
'--signatures=[Set the threshold of valid signatures to N]:N: ' \
'*--signer-file=[Verify signatures using the certificates in CERT_FILE]:CERT_FILE:_files' \
'*--recipient-file=[Decrypt the message using the key in KEY_FILE]:KEY_FILE:_files' \
'*--session-key=[Decrypt an encrypted message using SESSION-KEY]:SESSION-KEY: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'--dump-session-key[Print the session key to stderr]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::input -- Read from FILE or stdin if FILE is '\''-'\'':' \
&& ret=0
;;
(sign)
_arguments "${_arguments_options[@]}" \
'-o+[Write to FILE or stdout if omitted]:FILE: ' \
'--output=[Write to FILE or stdout if omitted]:FILE: ' \
'(-a --append --detached --cleartext-signature -n --notarize --signer-file)--merge=[Merge signatures from the input and SIGNED-MESSAGE]:SIGNED-MESSAGE:_files' \
'*--signer-file=[Sign the message using the key in KEY_FILE]:KEY_FILE:_files' \
'*--signer-key=[Sign the message using the specified key on the key store]:KEYID|FINGERPRINT: ' \
'(--merge)*--notation=[Add a notation to the certification.]:NAME: :NAME: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-B[Emit binary data]' \
'--binary[Emit binary data]' \
'--detached[Create a detached signature]' \
'(--detached -a --append -n --notarize -B --binary)--cleartext-signature[Create a cleartext signature]' \
'(-n --notarize)-a[Append a signature to existing signature]' \
'(-n --notarize)--append[Append a signature to existing signature]' \
'(-a --append)-n[Sign a message and all existing signatures]' \
'(-a --append)--notarize[Sign a message and all existing signatures]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::input -- Read from FILE or stdin if FILE is '\''-'\'':' \
&& ret=0
;;
(verify)
_arguments "${_arguments_options[@]}" \
'-o+[Write to FILE or stdout if omitted]:FILE: ' \
'--output=[Write to FILE or stdout if omitted]:FILE: ' \
'--detached=[Verify a detached signature]:SIG:_files' \
'-n+[Set the threshold of valid signatures to N]:N: ' \
'--signatures=[Set the threshold of valid signatures to N]:N: ' \
'*--signer-file=[Verify signatures using the certificate in CERT_FILE]:CERT_FILE:_files' \
'*--signer-cert=[Verify signatures using the specified certificate]:FINGERPRINT|KEYID: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::input -- Read from FILE or stdin if FILE is '\''-'\'':' \
&& ret=0
;;
(inspect)
_arguments "${_arguments_options[@]}" \
'()*--cert=[Read the specified certificate from the certificate store]:FINGERPRINT|KEYID: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'--certifications[Print third-party certifications]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::input -- Read from FILE or stdin if FILE is '\''-'\'':' \
&& ret=0
;;
(cert)
_arguments "${_arguments_options[@]}" \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_sq__cert_commands" \
"*::: :->cert" \
&& ret=0

    case $state in
    (cert)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-cert-command-$line[1]:"
        case $line[1] in
            (import)
_arguments "${_arguments_options[@]}" \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::input -- Read from FILE or stdin if omitted:_files' \
&& ret=0
;;
(export)
_arguments "${_arguments_options[@]}" \
'*--cert=[Return certificates that have the specified fingerprint or key ID]:FINGERPRINT|KEYID: ' \
'*--key=[Return certificates where the primary key or a subkey has the specified fingerprint or key ID]:FINGERPRINT|KEYID: ' \
'*--userid=[Return certificates that have a User ID that matches exactly, including case]:USERID: ' \
'*--grep=[Return certificates that have a User ID that contains the string, case insensitively]:PATTERN: ' \
'*--email=[Return certificates that have a User ID with the specified email address, case insensitively]:EMAIL: ' \
'*--domain=[Return certificates that have a User ID with an email address from the specified domain]:DOMAIN: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-B[Emit binary data]' \
'--binary[Emit binary data]' \
'(--cert --key --userid --grep --email --domain)--all[Export all certificates]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::query -- Return certificates matching QUERY. This may be a subkey fingerprint or key ID, an email address, or an User ID fragment.:' \
&& ret=0
;;
(lint)
_arguments "${_arguments_options[@]}" \
'*--cert-file=[Lint the certificates in the specified file]:CERT_FILE: ' \
'(--cert-file)*--cert=[Lint the specified certificate]:FINGERPRINT|KEYID: ' \
'-o+[Write to the specified FILE.  If not specified, and the certificate was read from the certificate store, imports the modified certificate into the cert store.  If not specified, and the certificate was read from a file, writes the modified certificate to stdout.]:FILE: ' \
'--output=[Write to the specified FILE.  If not specified, and the certificate was read from the certificate store, imports the modified certificate into the cert store.  If not specified, and the certificate was read from a file, writes the modified certificate to stdout.]:FILE: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-q[Quiet; does not output any diagnostics]' \
'--quiet[Quiet; does not output any diagnostics]' \
'-F[Attempts to fix certificates, when possible]' \
'--fix[Attempts to fix certificates, when possible]' \
'-e[When fixing a certificate, the fixed certificate is exported without any secret key material.  Using this switch causes any secret key material to also be exported]' \
'--export-secret-keys[When fixing a certificate, the fixed certificate is exported without any secret key material.  Using this switch causes any secret key material to also be exported]' \
'-k[If set, outputs a list of fingerprints, one per line, of certificates that have issues.  This output is intended for use by scripts]' \
'--list-keys[If set, outputs a list of fingerprints, one per line, of certificates that have issues.  This output is intended for use by scripts]' \
'-B[Emit binary data]' \
'--binary[Emit binary data]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_sq__cert__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-cert-help-command-$line[1]:"
        case $line[1] in
            (import)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(export)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(lint)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(key)
_arguments "${_arguments_options[@]}" \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_sq__key_commands" \
"*::: :->key" \
&& ret=0

    case $state in
    (key)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-key-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(generate)
_arguments "${_arguments_options[@]}" \
'*-u+[Add a user ID to the key]:USERID: ' \
'*--userid=[Add a user ID to the key]:USERID: ' \
'-c+[Select the cryptographic algorithms for the key]:CIPHER-SUITE:(rsa3k rsa4k cv25519)' \
'--cipher-suite=[Select the cryptographic algorithms for the key]:CIPHER-SUITE:(rsa3k rsa4k cv25519)' \
'--expiration=[Sets the certificate'\''s expiration time]:EXPIRATION: ' \
'--can-encrypt=[Add an encryption-capable subkey \[default\: universal\]]:PURPOSE:((transport\:"Protects data in transport"
storage\:"Protects data at rest"
universal\:"Protects data in transport and at rest"))' \
'-o+[Write the key to the specified file]:FILE: ' \
'--output=[Write the key to the specified file]:FILE: ' \
'--rev-cert=[Write the emergency revocation certificate to FILE]:FILE:_files' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'--allow-non-canonical-userids[Don'\''t reject user IDs that are not in canonical form]' \
'(-u --userid)--no-userids[Create a key without any user IDs]' \
'--with-password[Protect the secret key material with a password]' \
'--can-sign[Add a signing-capable subkey (default)]' \
'--cannot-sign[Don'\''t add a signing-capable subkey]' \
'--can-authenticate[Add an authentication-capable subkey (default)]' \
'--cannot-authenticate[Don'\''t add an authentication-capable subkey]' \
'--cannot-encrypt[Don'\''t add an encryption-capable subkey]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(import)
_arguments "${_arguments_options[@]}" \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::file -- Import the keys in KEY_FILE:_files' \
&& ret=0
;;
(export)
_arguments "${_arguments_options[@]}" \
'*--cert=[Export the specified certificate with its secret key material]:FINGERPRINT|KEYID: ' \
'*--key=[Export the secret key material for the specified key, and its certificate]:FINGERPRINT|KEYID: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" \
'--cert=[Delete the secret key material from the specified certificate]:FILE: ' \
'--cert-file=[Delete the secret key material from the specified certificate]:CERT_FILE: ' \
'(--cert)-o+[Write the stripped certificate to the specified file]:FILE: ' \
'(--cert)--output=[Write the stripped certificate to the specified file]:FILE: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-B[Emit binary data]' \
'--binary[Emit binary data]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(password)
_arguments "${_arguments_options[@]}" \
'--cert=[Change the password of the specified certificate'\''s keys]:FILE: ' \
'--cert-file=[Change the password of the specified certificate'\''s keys]:CERT_FILE: ' \
'--new-password-file=[File containing password to encrypt the secret key material]:PASSWORD_FILE:_files' \
'(--cert)-o+[Write to FILE or stdout if omitted]:FILE: ' \
'(--cert)--output=[Write to FILE or stdout if omitted]:FILE: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'--clear-password[Clear the password protecting the secret key material]' \
'-B[Emit binary data]' \
'--binary[Emit binary data]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(expire)
_arguments "${_arguments_options[@]}" \
'-o+[Write to FILE or stdout if omitted]:FILE: ' \
'--output=[Write to FILE or stdout if omitted]:FILE: ' \
'--cert=[Change the certificate'\''s expiration time]:FINGERPRINT|KEYID: ' \
'--cert-file=[Change the certificate'\''s expiration time]:CERT_FILE: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-B[Emit binary data]' \
'--binary[Emit binary data]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':expiration -- Define EXPIRATION for the key as ISO 8601 formatted string or custom duration.:' \
&& ret=0
;;
(revoke)
_arguments "${_arguments_options[@]}" \
'--cert=[The certificate to revoke]:FINGERPRINT|KEYID: ' \
'(--cert)--cert-file=[The certificate to revoke]:CERT_FILE: ' \
'--revoker=[The certificate that issues the revocation]:FINGERPRINT|KEYID: ' \
'(--revoker)--revoker-file=[The certificate that issues the revocation]:KEY_FILE: ' \
'*--notation=[Add a notation to the certification]:NAME: :NAME: ' \
'-o+[Write to the specified FILE]:FILE: ' \
'--output=[Write to the specified FILE]:FILE: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-B[Emit binary data]' \
'--binary[Emit binary data]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':reason -- The reason for the revocation:((compromised\:"The secret key material may have been compromised.  Prefer this value if you suspect that the secret key has been leaked"
superseded\:"The owner of the certificate has a new certificate.  Prefer \`compromised\` if the secret key material has been compromised even if the certificate is also being replaced!  You should include the fingerprint of the new certificate in the message"
retired\:"The certificate should not be used anymore, and there is no replacement.  This is appropriate when someone leaves an organisation.  Prefer \`compromised\` if the secret key material has been compromised even if the certificate is also being retired!  You should include how to contact the owner, or who to contact instead in the message"
unspecified\:"None of the other reasons apply.  OpenPGP implementations conservatively treat this type of revocation similar to a compromised key"))' \
':message -- A short, explanatory text:' \
&& ret=0
;;
(userid)
_arguments "${_arguments_options[@]}" \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_sq__key__userid_commands" \
"*::: :->userid" \
&& ret=0

    case $state in
    (userid)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-key-userid-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" \
'--cert=[Add the user ID to the specified certificate]:FINGERPRINT|KEYID: ' \
'(--cert)--cert-file=[Add the user ID to the specified certificate]:CERT_FILE: ' \
'*--userid=[User ID to add]:USERID: ' \
'-o+[Write to the specified FILE]:FILE: ' \
'--output=[Write to the specified FILE]:FILE: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'--allow-non-canonical-userids[Don'\''t reject user IDs that are not in canonical form]' \
'-B[Emit binary data]' \
'--binary[Emit binary data]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(revoke)
_arguments "${_arguments_options[@]}" \
'--cert=[Revoke the user ID on the specified certificate]:FINGERPRINT|KEYID: ' \
'(--cert)--cert-file=[Revoke the user ID on the specified certificate]:CERT_FILE: ' \
'--revoker=[The certificate that issues the revocation]:FINGERPRINT|KEYID: ' \
'(--revoker)--revoker-file=[The certificate that issues the revocation]:KEY_FILE: ' \
'--userid=[The user ID to revoke]:USERID: ' \
'*--notation=[Add a notation to the certification.]:NAME: :NAME: ' \
'-o+[Write to the specified FILE]:FILE: ' \
'--output=[Write to the specified FILE]:FILE: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-B[Emit binary data]' \
'--binary[Emit binary data]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':reason -- The reason for the revocation:((retired\:"The user ID is no longer valid.  This is appropriate when someone leaves an organisation, and the organisation does not have their secret key material.  For instance, if someone was part of Debian and retires, they would use this to indicate that a Debian-specific User ID is no longer valid"
unspecified\:"None of the other reasons apply.  OpenPGP implementations conservatively treat this type of revocation similar to a compromised key"))' \
':message -- A short, explanatory text:' \
&& ret=0
;;
(strip)
_arguments "${_arguments_options[@]}" \
'-o+[Write to FILE or stdout if omitted]:FILE: ' \
'--output=[Write to FILE or stdout if omitted]:FILE: ' \
'*-u+[User IDs to strip]:USERID: ' \
'*--userid=[User IDs to strip]:USERID: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-B[Emit binary data]' \
'--binary[Emit binary data]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::input -- Read from FILE or stdin if FILE is '\''-'\'':' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_sq__key__userid__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-key-userid-help-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(revoke)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(strip)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(subkey)
_arguments "${_arguments_options[@]}" \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_sq__key__subkey_commands" \
"*::: :->subkey" \
&& ret=0

    case $state in
    (subkey)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-key-subkey-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" \
'--cert=[Add a subkey to the specified certificate]:FINGERPRINT|KEYID: ' \
'(--cert)--cert-file=[Add a subkey to the specified certificate]:CERT_FILE: ' \
'-c+[Select the cryptographic algorithms for the subkey]:CIPHER-SUITE:(rsa3k rsa4k cv25519)' \
'--cipher-suite=[Select the cryptographic algorithms for the subkey]:CIPHER-SUITE:(rsa3k rsa4k cv25519)' \
'--expiration=[Sets the key'\''s expiration time]:EXPIRATION: ' \
'--can-encrypt=[Add an encryption-capable subkey \[default\: universal\]]:PURPOSE:((transport\:"Protects data in transport"
storage\:"Protects data at rest"
universal\:"Protects data in transport and at rest"))' \
'-o+[Write to the specified FILE]:FILE: ' \
'--output=[Write to the specified FILE]:FILE: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'--can-sign[Add a signing-capable subkey]' \
'--can-authenticate[Add an authentication-capable subkey]' \
'--with-password[Protect the subkey'\''s secret key material with a password]' \
'-B[Emit binary data]' \
'--binary[Emit binary data]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(expire)
_arguments "${_arguments_options[@]}" \
'--cert=[Change the expiration time of keys on the specified certificate]:FINGERPRINT|KEYID: ' \
'--cert-file=[Change the expiration time of keys on the specified certificate]:CERT_FILE: ' \
'*--key=[Change the expiration of this subkey]:KEY: ' \
'-o+[Write to the specified FILE]:FILE: ' \
'--output=[Write to the specified FILE]:FILE: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-B[Emit binary data]' \
'--binary[Emit binary data]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':expiration -- Sets the key'\''s expiration time:' \
&& ret=0
;;
(revoke)
_arguments "${_arguments_options[@]}" \
'--cert=[Revoke the subkey on the specified certificate]:FINGERPRINT|KEYID: ' \
'(--cert)--cert-file=[Revoke the subkey on the specified certificate]:CERT_FILE: ' \
'--revoker=[The certificate that issues the revocation]:FINGERPRINT|KEYID: ' \
'(--revoker)--revoker-file=[The certificate that issues the revocation]:KEY_FILE: ' \
'*--notation=[Add a notation to the certification.]:NAME: :NAME: ' \
'-o+[Write to the specified FILE]:FILE: ' \
'--output=[Write to the specified FILE]:FILE: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-B[Emit binary data]' \
'--binary[Emit binary data]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':subkey -- The subkey to revoke:' \
':reason -- The reason for the revocation:((compromised\:"The secret key material may have been compromised.  Prefer this value if you suspect that the secret key has been leaked"
superseded\:"The owner of the certificate has a new certificate.  Prefer \`compromised\` if the secret key material has been compromised even if the certificate is also being replaced!  You should include the fingerprint of the new certificate in the message"
retired\:"The certificate should not be used anymore, and there is no replacement.  This is appropriate when someone leaves an organisation.  Prefer \`compromised\` if the secret key material has been compromised even if the certificate is also being retired!  You should include how to contact the owner, or who to contact instead in the message"
unspecified\:"None of the other reasons apply.  OpenPGP implementations conservatively treat this type of revocation similar to a compromised key"))' \
':message -- A short, explanatory text:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_sq__key__subkey__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-key-subkey-help-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(expire)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(revoke)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(attest-certifications)
_arguments "${_arguments_options[@]}" \
'--cert=[Change attestations on the specified certificate]:CERT: ' \
'--cert-file=[Change attestations on the specified certificate]:CERT_FILE: ' \
'-o+[Write to the specified FILE]:FILE: ' \
'--output=[Write to the specified FILE]:FILE: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'(--all)--none[Remove all prior attestations]' \
'(--none)--all[Attest to all certifications]' \
'-B[Emit binary data]' \
'--binary[Emit binary data]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(adopt)
_arguments "${_arguments_options[@]}" \
'*-k+[Add the key or subkey KEY to the certificate]:KEY: ' \
'*--key=[Add the key or subkey KEY to the certificate]:KEY: ' \
'--expiration=[Make adopted subkeys expire at the given time]:EXPIRATION: ' \
'--cert=[Add keys to the specified certificate]:CERT_FILE: ' \
'--cert-file=[Add keys to the specified certificate]:CERT_FILE: ' \
'-o+[Write to the specified FILE]:FILE: ' \
'--output=[Write to the specified FILE]:FILE: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'--allow-broken-crypto[Allow adopting keys from certificates using broken cryptography]' \
'-B[Emit binary data]' \
'--binary[Emit binary data]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_sq__key__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-key-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(generate)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(import)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(export)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(password)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(expire)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(revoke)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(userid)
_arguments "${_arguments_options[@]}" \
":: :_sq__key__help__userid_commands" \
"*::: :->userid" \
&& ret=0

    case $state in
    (userid)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-key-help-userid-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(revoke)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(strip)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(subkey)
_arguments "${_arguments_options[@]}" \
":: :_sq__key__help__subkey_commands" \
"*::: :->subkey" \
&& ret=0

    case $state in
    (subkey)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-key-help-subkey-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(expire)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(revoke)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(attest-certifications)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(adopt)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(pki)
_arguments "${_arguments_options[@]}" \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_sq__pki_commands" \
"*::: :->pki" \
&& ret=0

    case $state in
    (pki)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-pki-command-$line[1]:"
        case $line[1] in
            (authenticate)
_arguments "${_arguments_options[@]}" \
'-a+[The required amount of trust]:AMOUNT: ' \
'--amount=[The required amount of trust]:AMOUNT: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'--show-paths[Show why a binding is authenticated]' \
'--email[Changes the USERID parameter to match User IDs with the specified email address]' \
'--gossip[Treats all certificates as unreliable trust roots]' \
'--certification-network[Treats the network as a certification network]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':cert -- The fingerprint or Key ID of the certificate to authenticate:' \
':userid -- The User ID to authenticate:' \
&& ret=0
;;
(lookup)
_arguments "${_arguments_options[@]}" \
'-a+[The required amount of trust]:AMOUNT: ' \
'--amount=[The required amount of trust]:AMOUNT: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'--show-paths[Show why a binding is authenticated]' \
'--email[Changes the USERID parameter to match User IDs with the specified email address]' \
'--gossip[Treats all certificates as unreliable trust roots]' \
'--certification-network[Treats the network as a certification network]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':userid -- The User ID to authenticate:' \
&& ret=0
;;
(identify)
_arguments "${_arguments_options[@]}" \
'-a+[The required amount of trust]:AMOUNT: ' \
'--amount=[The required amount of trust]:AMOUNT: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'--show-paths[Show why a binding is authenticated]' \
'--gossip[Treats all certificates as unreliable trust roots]' \
'--certification-network[Treats the network as a certification network]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':cert -- The fingerprint or Key ID of the certificate to authenticate:' \
&& ret=0
;;
(certify)
_arguments "${_arguments_options[@]}" \
'-o+[Write to FILE or stdout if omitted]:FILE: ' \
'--output=[Write to FILE or stdout if omitted]:FILE: ' \
'-d+[Set the trust depth]:TRUST_DEPTH: ' \
'--depth=[Set the trust depth]:TRUST_DEPTH: ' \
'-a+[Set the amount of trust]:AMOUNT: ' \
'--amount=[Set the amount of trust]:AMOUNT: ' \
'*-r+[Add a regular expression to constrain what a trusted introducer can certify]:REGEX: ' \
'*--regex=[Add a regular expression to constrain what a trusted introducer can certify]:REGEX: ' \
'*--notation=[Add a notation to the certification.]:NAME: :NAME: ' \
'--expiration=[Define EXPIRATION for the certification as ISO 8601 formatted string or custom duration.]:EXPIRATION: ' \
'--certifier=[Create the certification using CERTIFIER-KEY.]:FILE: ' \
'--certifier-file=[Create the certification using CERTIFIER-KEY.]:CERTIFIER-FILE: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-B[Emit binary data]' \
'--binary[Emit binary data]' \
'-l[Make the certification a local certification]' \
'--local[Make the certification a local certification]' \
'--non-revocable[Mark the certification as being non-revocable]' \
'--email[Treat the given user ID as an email address.]' \
'--add-userid[Add the given user ID if it doesn'\''t exist.]' \
'--allow-not-alive-certifier[Don'\''t fail if the certificate making the certification is not alive.]' \
'--allow-revoked-certifier[Don'\''t fail if the certificate making the certification is revoked.]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':certificate -- Certify CERTIFICATE.:' \
':userid -- Certify USERID for CERTIFICATE.:' \
&& ret=0
;;
(link)
_arguments "${_arguments_options[@]}" \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_sq__pki__link_commands" \
"*::: :->link" \
&& ret=0

    case $state in
    (link)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-pki-link-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" \
'-d+[Set the trust depth]:TRUST_DEPTH: ' \
'--depth=[Set the trust depth]:TRUST_DEPTH: ' \
'*--ca=[Mark the certificate as a certification authority for a domain]:*|DOMAIN: ' \
'-a+[Set the amount of trust]:AMOUNT: ' \
'--amount=[Set the amount of trust]:AMOUNT: ' \
'*-r+[Add a regular expression to constrain what a trusted introducer can certify]:REGEX: ' \
'*--regex=[Add a regular expression to constrain what a trusted introducer can certify]:REGEX: ' \
'*--notation=[Add a notation to the certification.]:NAME: :NAME: ' \
'--expiration=[Define EXPIRATION for the acceptance as ISO 8601 formatted string or custom duration.]:EXPIRATION: ' \
'*--userid=[A User ID to link to the certificate.]:USERID: ' \
'*--email=[An email address to link to the certificate.]:EMAIL: ' \
'*--petname=[A User ID to link to the certificate.]:PETNAME: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'(-a --amount)--temporary[Temporarily accepts the binding]' \
'(--userid --email --petname)--all[Link all valid self-signed User ID to the certificate.]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':certificate -- The certificate to accept.:' \
'*::pattern -- A User ID or email address to accept.:' \
&& ret=0
;;
(retract)
_arguments "${_arguments_options[@]}" \
'*--notation=[Add a notation to the certification.]:NAME: :NAME: ' \
'*--userid=[A User ID to unlink from the certificate.]:USERID: ' \
'*--email=[An email address to unlink from the certificate.]:email: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':certificate -- The certificate whose acceptance is being retracted.:' \
'*::pattern -- A User ID or email address to unlink from the certificate.:' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'--ca[Only lists bindings linked as CAs.]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_sq__pki__link__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-pki-link-help-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(retract)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(list)
_arguments "${_arguments_options[@]}" \
'-a+[The required amount of trust]:AMOUNT: ' \
'--amount=[The required amount of trust]:AMOUNT: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'--show-paths[Show why a binding is authenticated]' \
'--email[Changes the USERID parameter to match User IDs with the specified email address]' \
'--gossip[Treats all certificates as unreliable trust roots]' \
'--certification-network[Treats the network as a certification network]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::pattern -- A pattern to select the bindings to authenticate:' \
&& ret=0
;;
(path)
_arguments "${_arguments_options[@]}" \
'-a+[The required amount of trust]:AMOUNT: ' \
'--amount=[The required amount of trust]:AMOUNT: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'--gossip[Treats all certificates as unreliable trust roots]' \
'--certification-network[Treats the network as a certification network]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::elements -- A path consists of one or more certificates (designated by their fingerprint or Key ID) and ending in the User ID that is being authenticated:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_sq__pki__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-pki-help-command-$line[1]:"
        case $line[1] in
            (authenticate)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(lookup)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(identify)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(certify)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(link)
_arguments "${_arguments_options[@]}" \
":: :_sq__pki__help__link_commands" \
"*::: :->link" \
&& ret=0

    case $state in
    (link)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-pki-help-link-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(retract)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(path)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(autocrypt)
_arguments "${_arguments_options[@]}" \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_sq__autocrypt_commands" \
"*::: :->autocrypt" \
&& ret=0

    case $state in
    (autocrypt)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-autocrypt-command-$line[1]:"
        case $line[1] in
            (import)
_arguments "${_arguments_options[@]}" \
'*--recipient-file=[Decrypt the message using the key in KEY_FILE]:KEY_FILE:_files' \
'*--session-key=[Decrypt an encrypted message using SESSION-KEY]:SESSION-KEY: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::input -- Read from FILE or stdin if FILE is '\''-'\'':' \
&& ret=0
;;
(decode)
_arguments "${_arguments_options[@]}" \
'-o+[Write to FILE or stdout if omitted]:FILE: ' \
'--output=[Write to FILE or stdout if omitted]:FILE: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-B[Emit binary data]' \
'--binary[Emit binary data]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::input -- Read from FILE or stdin if FILE is '\''-'\'':' \
&& ret=0
;;
(encode-sender)
_arguments "${_arguments_options[@]}" \
'-o+[Write to FILE or stdout if omitted]:FILE: ' \
'--output=[Write to FILE or stdout if omitted]:FILE: ' \
'--email=[Set the address \[default\: primary userid\]]:ADDRESS: ' \
'--prefer-encrypt=[Set the prefer-encrypt attribute]:PREFER-ENCRYPT:(nopreference mutual)' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::input -- Read from FILE or stdin if FILE is '\''-'\'':' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_sq__autocrypt__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-autocrypt-help-command-$line[1]:"
        case $line[1] in
            (import)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(decode)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(encode-sender)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(network)
_arguments "${_arguments_options[@]}" \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_sq__network_commands" \
"*::: :->network" \
&& ret=0

    case $state in
    (network)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-network-command-$line[1]:"
        case $line[1] in
            (fetch)
_arguments "${_arguments_options[@]}" \
'*-s+[Set the key server to use.  Can be given multiple times.]:URI: ' \
'*--server=[Set the key server to use.  Can be given multiple times.]:URI: ' \
'-o+[Write to FILE (or stdout when omitted) instead of importing into the certificate store]:FILE: ' \
'--output=[Write to FILE (or stdout when omitted) instead of importing into the certificate store]:FILE: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-B[Emit binary data]' \
'--binary[Emit binary data]' \
'()--all[Fetch updates for all known certificates]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::query -- Retrieve certificate(s) using QUERY. This may be a fingerprint, a KeyID, an email address, or a https URL.:' \
&& ret=0
;;
(keyserver)
_arguments "${_arguments_options[@]}" \
'*-s+[Set the key server to use.  Can be given multiple times.]:URI: ' \
'*--server=[Set the key server to use.  Can be given multiple times.]:URI: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_sq__network__keyserver_commands" \
"*::: :->keyserver" \
&& ret=0

    case $state in
    (keyserver)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-network-keyserver-command-$line[1]:"
        case $line[1] in
            (fetch)
_arguments "${_arguments_options[@]}" \
'-o+[Write to FILE (or stdout when omitted) instead of importing into the certificate store]:FILE: ' \
'--output=[Write to FILE (or stdout when omitted) instead of importing into the certificate store]:FILE: ' \
'*-s+[Set the key server to use.  Can be given multiple times.]:URI: ' \
'*--server=[Set the key server to use.  Can be given multiple times.]:URI: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-B[Emit binary data]' \
'--binary[Emit binary data]' \
'()--all[Fetch updates for all known certificates]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::query -- Retrieve certificate(s) using QUERY. This may be a fingerprint, a KeyID, or an email address.:' \
&& ret=0
;;
(publish)
_arguments "${_arguments_options[@]}" \
'*-s+[Set the key server to use.  Can be given multiple times.]:URI: ' \
'*--server=[Set the key server to use.  Can be given multiple times.]:URI: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'--require-all[Require that all publish operations succeed and return an error otherwise.  By default we only require that one publish operation succeeds.]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::input -- Read from FILE or stdin if FILE is '\''-'\'':' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_sq__network__keyserver__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-network-keyserver-help-command-$line[1]:"
        case $line[1] in
            (fetch)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(publish)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(wkd)
_arguments "${_arguments_options[@]}" \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_sq__network__wkd_commands" \
"*::: :->wkd" \
&& ret=0

    case $state in
    (wkd)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-network-wkd-command-$line[1]:"
        case $line[1] in
            (generate)
_arguments "${_arguments_options[@]}" \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-d[Use the direct method \[default\: advanced method\]]' \
'--direct-method[Use the direct method \[default\: advanced method\]]' \
'-s[Skip certificates that do not have User IDs for given domain.]' \
'--skip[Skip certificates that do not have User IDs for given domain.]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':base_directory -- Write the WKD to WEB-ROOT:_files' \
':domain -- Generate a WKD for a fully qualified domain name for email:' \
'::input -- Add certificates from CERT-RING (or stdin if omitted) to the WKD:' \
&& ret=0
;;
(fetch)
_arguments "${_arguments_options[@]}" \
'-o+[Write to FILE (or stdout when omitted) instead of importing into the certificate store]:FILE: ' \
'--output=[Write to FILE (or stdout when omitted) instead of importing into the certificate store]:FILE: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'()--all[Fetch updates for all known certificates]' \
'-B[Emit binary data]' \
'--binary[Emit binary data]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::addresses -- Retrieve certificate(s) for ADDRESS:' \
&& ret=0
;;
(direct-url)
_arguments "${_arguments_options[@]}" \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':email_address -- Query for ADDRESS:' \
&& ret=0
;;
(url)
_arguments "${_arguments_options[@]}" \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':email_address -- Query for ADDRESS:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_sq__network__wkd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-network-wkd-help-command-$line[1]:"
        case $line[1] in
            (generate)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(fetch)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(direct-url)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(url)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(dane)
_arguments "${_arguments_options[@]}" \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_sq__network__dane_commands" \
"*::: :->dane" \
&& ret=0

    case $state in
    (dane)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-network-dane-command-$line[1]:"
        case $line[1] in
            (generate)
_arguments "${_arguments_options[@]}" \
'--ttl=[Set the TTL (maximum cache duration) of the resource records]:DURATION: ' \
'--size-limit=[Try to shrink the certificates to this size]:BYTES: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'--generic[Emit generic resource records \[default\: OPENPGPKEY records\]]' \
'-s[Skip expired certificates and those that do not have User IDs for given domain.]' \
'--skip[Skip expired certificates and those that do not have User IDs for given domain.]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':domain -- Generate DANE records for this domain name:' \
'::input -- Emit records for certificates from CERT-RING (or stdin if omitted):' \
&& ret=0
;;
(fetch)
_arguments "${_arguments_options[@]}" \
'-o+[Write to FILE (or stdout when omitted) instead of importing into the certificate store]:FILE: ' \
'--output=[Write to FILE (or stdout when omitted) instead of importing into the certificate store]:FILE: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'()--all[Fetch updates for all known certificates]' \
'-B[Emit binary data]' \
'--binary[Emit binary data]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::addresses -- Retrieve certificate(s) for ADDRESS:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_sq__network__dane__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-network-dane-help-command-$line[1]:"
        case $line[1] in
            (generate)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(fetch)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_sq__network__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-network-help-command-$line[1]:"
        case $line[1] in
            (fetch)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(keyserver)
_arguments "${_arguments_options[@]}" \
":: :_sq__network__help__keyserver_commands" \
"*::: :->keyserver" \
&& ret=0

    case $state in
    (keyserver)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-network-help-keyserver-command-$line[1]:"
        case $line[1] in
            (fetch)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(publish)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(wkd)
_arguments "${_arguments_options[@]}" \
":: :_sq__network__help__wkd_commands" \
"*::: :->wkd" \
&& ret=0

    case $state in
    (wkd)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-network-help-wkd-command-$line[1]:"
        case $line[1] in
            (generate)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(fetch)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(direct-url)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(url)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(dane)
_arguments "${_arguments_options[@]}" \
":: :_sq__network__help__dane_commands" \
"*::: :->dane" \
&& ret=0

    case $state in
    (dane)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-network-help-dane-command-$line[1]:"
        case $line[1] in
            (generate)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(fetch)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(toolbox)
_arguments "${_arguments_options[@]}" \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_sq__toolbox_commands" \
"*::: :->toolbox" \
&& ret=0

    case $state in
    (toolbox)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-toolbox-command-$line[1]:"
        case $line[1] in
            (keyring)
_arguments "${_arguments_options[@]}" \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_sq__toolbox__keyring_commands" \
"*::: :->keyring" \
&& ret=0

    case $state in
    (keyring)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-toolbox-keyring-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'--all-userids[List all user ids]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::input -- Read from FILE or stdin if FILE is '\''-'\'':' \
&& ret=0
;;
(split)
_arguments "${_arguments_options[@]}" \
'-p+[Write to files with PREFIX \[defaults\: \`FILE-\` if FILE is set, or \`output-\` if read from stdin\]]:PREFIX: ' \
'--prefix=[Write to files with PREFIX \[defaults\: \`FILE-\` if FILE is set, or \`output-\` if read from stdin\]]:PREFIX: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-B[Emit binary data]' \
'--binary[Emit binary data]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::input -- Read from FILE or stdin if FILE is '\''-'\'':' \
&& ret=0
;;
(merge)
_arguments "${_arguments_options[@]}" \
'-o+[Write to FILE or stdout if omitted]:FILE: ' \
'--output=[Write to FILE or stdout if omitted]:FILE: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-B[Emit binary data]' \
'--binary[Emit binary data]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::input -- Read from FILE or stdin if omitted:_files' \
&& ret=0
;;
(filter)
_arguments "${_arguments_options[@]}" \
'-o+[Write to FILE or stdout if omitted]:FILE: ' \
'--output=[Write to FILE or stdout if omitted]:FILE: ' \
'*--userid=[Match on USERID]:USERID: ' \
'*--name=[Match on NAME]:NAME: ' \
'*--email=[Match on email ADDRESS]:ADDRESS: ' \
'*--domain=[Match on email domain FQDN]:FQDN: ' \
'*--handle=[Match on (sub)key fingerprints and key ids]:FINGERPRINT|KEYID: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-P[Remove certificate components not matching the filter]' \
'--prune-certs[Remove certificate components not matching the filter]' \
'-B[Emit binary data]' \
'--binary[Emit binary data]' \
'--to-cert[Convert any keys in the input to certificates.  Converting a key to a certificate removes secret key material from the key thereby turning it into a certificate.]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::input -- Read from FILE or stdin if omitted:_files' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_sq__toolbox__keyring__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-toolbox-keyring-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(split)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(merge)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(filter)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(extract-cert)
_arguments "${_arguments_options[@]}" \
'-o+[Write to FILE or stdout if omitted]:FILE: ' \
'--output=[Write to FILE or stdout if omitted]:FILE: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-B[Emit binary data]' \
'--binary[Emit binary data]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::input -- Read from FILE or stdin if FILE is '\''-'\'':' \
&& ret=0
;;
(packet)
_arguments "${_arguments_options[@]}" \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_sq__toolbox__packet_commands" \
"*::: :->packet" \
&& ret=0

    case $state in
    (packet)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-toolbox-packet-command-$line[1]:"
        case $line[1] in
            (dump)
_arguments "${_arguments_options[@]}" \
'-o+[Write to FILE or stdout if omitted]:FILE: ' \
'--output=[Write to FILE or stdout if omitted]:FILE: ' \
'*--session-key=[Decrypt an encrypted message using SESSION-KEY]:SESSION-KEY: ' \
'*--recipient-file=[Decrypt the message using the key in KEY_FILE]:KEY_FILE:_files' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'--mpis[Print cryptographic artifacts]' \
'-x[Print a hexdump]' \
'--hex[Print a hexdump]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::input -- Read from FILE or stdin if FILE is '\''-'\'':' \
&& ret=0
;;
(decrypt)
_arguments "${_arguments_options[@]}" \
'-o+[Write to FILE or stdout if omitted]:FILE: ' \
'--output=[Write to FILE or stdout if omitted]:FILE: ' \
'*--recipient-file=[Decrypt the message using the key in KEY_FILE]:KEY_FILE:_files' \
'*--session-key=[Decrypt an encrypted message using SESSION-KEY]:SESSION-KEY: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-B[Emit binary data]' \
'--binary[Emit binary data]' \
'--dump-session-key[Print the session key to stderr]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::input -- Read from FILE or stdin if FILE is '\''-'\'':' \
&& ret=0
;;
(split)
_arguments "${_arguments_options[@]}" \
'-p+[Write to files with PREFIX \[defaults\: \`FILE-\` if FILE is set, or \`output-\` if read from stdin\]]:PREFIX: ' \
'--prefix=[Write to files with PREFIX \[defaults\: \`FILE-\` if FILE is set, or \`output-\` if read from stdin\]]:PREFIX: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-B[Emit binary data]' \
'--binary[Emit binary data]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::input -- Read from FILE or stdin if FILE is '\''-'\'':' \
&& ret=0
;;
(join)
_arguments "${_arguments_options[@]}" \
'-o+[Write to FILE or stdout if omitted]:FILE: ' \
'--output=[Write to FILE or stdout if omitted]:FILE: ' \
'(-B --binary)--label=[Select the kind of armor header]:LABEL:(auto message cert key sig file)' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-B[Emit binary data]' \
'--binary[Emit binary data]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::input -- Read from FILE or stdin if omitted:_files' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_sq__toolbox__packet__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-toolbox-packet-help-command-$line[1]:"
        case $line[1] in
            (dump)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(decrypt)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(split)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(join)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(armor)
_arguments "${_arguments_options[@]}" \
'-o+[Write to FILE or stdout if omitted]:FILE: ' \
'--output=[Write to FILE or stdout if omitted]:FILE: ' \
'--label=[Select the kind of armor header]:LABEL:(auto message cert key sig file)' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::input -- Read from FILE or stdin if FILE is '\''-'\'':' \
&& ret=0
;;
(dearmor)
_arguments "${_arguments_options[@]}" \
'-o+[Write to FILE or stdout if omitted]:FILE: ' \
'--output=[Write to FILE or stdout if omitted]:FILE: ' \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::input -- Read from FILE or stdin if FILE is '\''-'\'':' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_sq__toolbox__help_commands" \
"*::: :->help" \
&& ret=0

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

    case $state in
    (keyring)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-toolbox-help-keyring-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(split)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(merge)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(filter)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(extract-cert)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(packet)
_arguments "${_arguments_options[@]}" \
":: :_sq__toolbox__help__packet_commands" \
"*::: :->packet" \
&& ret=0

    case $state in
    (packet)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-toolbox-help-packet-command-$line[1]:"
        case $line[1] in
            (dump)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(decrypt)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(split)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(join)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(armor)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(dearmor)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(version)
_arguments "${_arguments_options[@]}" \
'--home=[Set the home directory.]:HOME:_files' \
'(--no-key-store)--key-store=[Override the key store server and its data]:PATH:_files' \
'(--no-cert-store)--cert-store=[Specify the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specify the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specify the location of a keyring to use]:PATH:_files' \
'--output-format=[Produce output in FORMAT, if possible]:FORMAT:((human-readable\:"Output that is meant to be read by humans, instead of programs"
json\:"Output as JSON"
dot\:"Output as DOT"))' \
'--output-version=[Produce output variant VERSION.]:VERSION: ' \
'*--known-notation=[Add NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Set the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Consider the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'*--password-file=[Seed the password cache with the specified password]:FILE:_files' \
'(--output-versions)--default-output-version[List the default output version]' \
'(--default-output-version)--output-versions[List all the supported output versions]' \
'-f[Overwrite existing files]' \
'--force[Overwrite existing files]' \
'--no-key-store[Disable the use of the key store.]' \
'--no-cert-store[Disable the use of a certificate store]' \
'-v[Be more verbose.]' \
'--verbose[Be more verbose.]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_sq__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-help-command-$line[1]:"
        case $line[1] in
            (encrypt)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(decrypt)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(sign)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(verify)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(inspect)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(cert)
_arguments "${_arguments_options[@]}" \
":: :_sq__help__cert_commands" \
"*::: :->cert" \
&& ret=0

    case $state in
    (cert)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-help-cert-command-$line[1]:"
        case $line[1] in
            (import)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(export)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(lint)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(key)
_arguments "${_arguments_options[@]}" \
":: :_sq__help__key_commands" \
"*::: :->key" \
&& ret=0

    case $state in
    (key)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-help-key-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(generate)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(import)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(export)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(password)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(expire)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(revoke)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(userid)
_arguments "${_arguments_options[@]}" \
":: :_sq__help__key__userid_commands" \
"*::: :->userid" \
&& ret=0

    case $state in
    (userid)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-help-key-userid-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(revoke)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(strip)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(subkey)
_arguments "${_arguments_options[@]}" \
":: :_sq__help__key__subkey_commands" \
"*::: :->subkey" \
&& ret=0

    case $state in
    (subkey)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-help-key-subkey-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(expire)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(revoke)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(attest-certifications)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(adopt)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(pki)
_arguments "${_arguments_options[@]}" \
":: :_sq__help__pki_commands" \
"*::: :->pki" \
&& ret=0

    case $state in
    (pki)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-help-pki-command-$line[1]:"
        case $line[1] in
            (authenticate)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(lookup)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(identify)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(certify)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(link)
_arguments "${_arguments_options[@]}" \
":: :_sq__help__pki__link_commands" \
"*::: :->link" \
&& ret=0

    case $state in
    (link)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-help-pki-link-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(retract)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(path)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(autocrypt)
_arguments "${_arguments_options[@]}" \
":: :_sq__help__autocrypt_commands" \
"*::: :->autocrypt" \
&& ret=0

    case $state in
    (autocrypt)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-help-autocrypt-command-$line[1]:"
        case $line[1] in
            (import)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(decode)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(encode-sender)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(network)
_arguments "${_arguments_options[@]}" \
":: :_sq__help__network_commands" \
"*::: :->network" \
&& ret=0

    case $state in
    (network)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-help-network-command-$line[1]:"
        case $line[1] in
            (fetch)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(keyserver)
_arguments "${_arguments_options[@]}" \
":: :_sq__help__network__keyserver_commands" \
"*::: :->keyserver" \
&& ret=0

    case $state in
    (keyserver)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-help-network-keyserver-command-$line[1]:"
        case $line[1] in
            (fetch)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(publish)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(wkd)
_arguments "${_arguments_options[@]}" \
":: :_sq__help__network__wkd_commands" \
"*::: :->wkd" \
&& ret=0

    case $state in
    (wkd)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-help-network-wkd-command-$line[1]:"
        case $line[1] in
            (generate)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(fetch)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(direct-url)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(url)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(dane)
_arguments "${_arguments_options[@]}" \
":: :_sq__help__network__dane_commands" \
"*::: :->dane" \
&& ret=0

    case $state in
    (dane)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-help-network-dane-command-$line[1]:"
        case $line[1] in
            (generate)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(fetch)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(toolbox)
_arguments "${_arguments_options[@]}" \
":: :_sq__help__toolbox_commands" \
"*::: :->toolbox" \
&& ret=0

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

    case $state in
    (keyring)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-help-toolbox-keyring-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(split)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(merge)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(filter)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(extract-cert)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(packet)
_arguments "${_arguments_options[@]}" \
":: :_sq__help__toolbox__packet_commands" \
"*::: :->packet" \
&& ret=0

    case $state in
    (packet)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-help-toolbox-packet-command-$line[1]:"
        case $line[1] in
            (dump)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(decrypt)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(split)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(join)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(armor)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(dearmor)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(version)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
}

(( $+functions[_sq_commands] )) ||
_sq_commands() {
    local commands; commands=(
'encrypt:Encrypt a message' \
'decrypt:Decrypt a message' \
'sign:Sign messages or data files' \
'verify:Verify signed messages or detached signatures' \
'inspect:Inspect data, like file(1)' \
'cert:Manage certificates' \
'key:Manage keys' \
'pki:Authenticate certs using the Web of Trust' \
'autocrypt:Communicate certificates using Autocrypt' \
'network:Retrieve and publish certificates over the network' \
'toolbox:Tools for developers, maintainers, and forensic specialists' \
'version:Detailed version and output version information' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq commands' commands "$@"
}
(( $+functions[_sq__help__key__subkey__add_commands] )) ||
_sq__help__key__subkey__add_commands() {
    local commands; commands=()
    _describe -t commands 'sq help key subkey add commands' commands "$@"
}
(( $+functions[_sq__help__key__userid__add_commands] )) ||
_sq__help__key__userid__add_commands() {
    local commands; commands=()
    _describe -t commands 'sq help key userid add commands' commands "$@"
}
(( $+functions[_sq__help__pki__link__add_commands] )) ||
_sq__help__pki__link__add_commands() {
    local commands; commands=()
    _describe -t commands 'sq help pki link add commands' commands "$@"
}
(( $+functions[_sq__key__help__subkey__add_commands] )) ||
_sq__key__help__subkey__add_commands() {
    local commands; commands=()
    _describe -t commands 'sq key help subkey add commands' commands "$@"
}
(( $+functions[_sq__key__help__userid__add_commands] )) ||
_sq__key__help__userid__add_commands() {
    local commands; commands=()
    _describe -t commands 'sq key help userid add commands' commands "$@"
}
(( $+functions[_sq__key__subkey__add_commands] )) ||
_sq__key__subkey__add_commands() {
    local commands; commands=()
    _describe -t commands 'sq key subkey add commands' commands "$@"
}
(( $+functions[_sq__key__subkey__help__add_commands] )) ||
_sq__key__subkey__help__add_commands() {
    local commands; commands=()
    _describe -t commands 'sq key subkey help add commands' commands "$@"
}
(( $+functions[_sq__key__userid__add_commands] )) ||
_sq__key__userid__add_commands() {
    local commands; commands=()
    _describe -t commands 'sq key userid add commands' commands "$@"
}
(( $+functions[_sq__key__userid__help__add_commands] )) ||
_sq__key__userid__help__add_commands() {
    local commands; commands=()
    _describe -t commands 'sq key userid help add commands' commands "$@"
}
(( $+functions[_sq__pki__help__link__add_commands] )) ||
_sq__pki__help__link__add_commands() {
    local commands; commands=()
    _describe -t commands 'sq pki help link add commands' commands "$@"
}
(( $+functions[_sq__pki__link__add_commands] )) ||
_sq__pki__link__add_commands() {
    local commands; commands=()
    _describe -t commands 'sq pki link add commands' commands "$@"
}
(( $+functions[_sq__pki__link__help__add_commands] )) ||
_sq__pki__link__help__add_commands() {
    local commands; commands=()
    _describe -t commands 'sq pki link help add commands' commands "$@"
}
(( $+functions[_sq__help__key__adopt_commands] )) ||
_sq__help__key__adopt_commands() {
    local commands; commands=()
    _describe -t commands 'sq help key adopt commands' commands "$@"
}
(( $+functions[_sq__key__adopt_commands] )) ||
_sq__key__adopt_commands() {
    local commands; commands=()
    _describe -t commands 'sq key adopt commands' commands "$@"
}
(( $+functions[_sq__key__help__adopt_commands] )) ||
_sq__key__help__adopt_commands() {
    local commands; commands=()
    _describe -t commands 'sq key help adopt commands' commands "$@"
}
(( $+functions[_sq__help__toolbox__armor_commands] )) ||
_sq__help__toolbox__armor_commands() {
    local commands; commands=()
    _describe -t commands 'sq help toolbox armor commands' commands "$@"
}
(( $+functions[_sq__toolbox__armor_commands] )) ||
_sq__toolbox__armor_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox armor commands' commands "$@"
}
(( $+functions[_sq__toolbox__help__armor_commands] )) ||
_sq__toolbox__help__armor_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox help armor commands' commands "$@"
}
(( $+functions[_sq__help__key__attest-certifications_commands] )) ||
_sq__help__key__attest-certifications_commands() {
    local commands; commands=()
    _describe -t commands 'sq help key attest-certifications commands' commands "$@"
}
(( $+functions[_sq__key__attest-certifications_commands] )) ||
_sq__key__attest-certifications_commands() {
    local commands; commands=()
    _describe -t commands 'sq key attest-certifications commands' commands "$@"
}
(( $+functions[_sq__key__help__attest-certifications_commands] )) ||
_sq__key__help__attest-certifications_commands() {
    local commands; commands=()
    _describe -t commands 'sq key help attest-certifications commands' commands "$@"
}
(( $+functions[_sq__help__pki__authenticate_commands] )) ||
_sq__help__pki__authenticate_commands() {
    local commands; commands=()
    _describe -t commands 'sq help pki authenticate commands' commands "$@"
}
(( $+functions[_sq__pki__authenticate_commands] )) ||
_sq__pki__authenticate_commands() {
    local commands; commands=()
    _describe -t commands 'sq pki authenticate commands' commands "$@"
}
(( $+functions[_sq__pki__help__authenticate_commands] )) ||
_sq__pki__help__authenticate_commands() {
    local commands; commands=()
    _describe -t commands 'sq pki help authenticate commands' commands "$@"
}
(( $+functions[_sq__autocrypt_commands] )) ||
_sq__autocrypt_commands() {
    local commands; commands=(
'import:Import Autocrypt-encoded certificates' \
'decode:Read Autocrypt-encoded certificates' \
'encode-sender:Encode a certificate into an Autocrypt header' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq autocrypt commands' commands "$@"
}
(( $+functions[_sq__help__autocrypt_commands] )) ||
_sq__help__autocrypt_commands() {
    local commands; commands=(
'import:Import Autocrypt-encoded certificates' \
'decode:Read Autocrypt-encoded certificates' \
'encode-sender:Encode a certificate into an Autocrypt header' \
    )
    _describe -t commands 'sq help autocrypt commands' commands "$@"
}
(( $+functions[_sq__cert_commands] )) ||
_sq__cert_commands() {
    local commands; commands=(
'import:Import certificates into the local certificate store' \
'export:Export certificates from the local certificate store' \
'lint:Check certificates for issues' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq cert commands' commands "$@"
}
(( $+functions[_sq__help__cert_commands] )) ||
_sq__help__cert_commands() {
    local commands; commands=(
'import:Import certificates into the local certificate store' \
'export:Export certificates from the local certificate store' \
'lint:Check certificates for issues' \
    )
    _describe -t commands 'sq help cert commands' commands "$@"
}
(( $+functions[_sq__help__pki__certify_commands] )) ||
_sq__help__pki__certify_commands() {
    local commands; commands=()
    _describe -t commands 'sq help pki certify commands' commands "$@"
}
(( $+functions[_sq__pki__certify_commands] )) ||
_sq__pki__certify_commands() {
    local commands; commands=()
    _describe -t commands 'sq pki certify commands' commands "$@"
}
(( $+functions[_sq__pki__help__certify_commands] )) ||
_sq__pki__help__certify_commands() {
    local commands; commands=()
    _describe -t commands 'sq pki help certify commands' commands "$@"
}
(( $+functions[_sq__help__network__dane_commands] )) ||
_sq__help__network__dane_commands() {
    local commands; commands=(
'generate:Generate DANE records for the given domain and certs' \
'fetch:Retrieve certificates using DANE' \
    )
    _describe -t commands 'sq help network dane commands' commands "$@"
}
(( $+functions[_sq__network__dane_commands] )) ||
_sq__network__dane_commands() {
    local commands; commands=(
'generate:Generate DANE records for the given domain and certs' \
'fetch:Retrieve certificates using DANE' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq network dane commands' commands "$@"
}
(( $+functions[_sq__network__help__dane_commands] )) ||
_sq__network__help__dane_commands() {
    local commands; commands=(
'generate:Generate DANE records for the given domain and certs' \
'fetch:Retrieve certificates using DANE' \
    )
    _describe -t commands 'sq network help dane commands' commands "$@"
}
(( $+functions[_sq__help__toolbox__dearmor_commands] )) ||
_sq__help__toolbox__dearmor_commands() {
    local commands; commands=()
    _describe -t commands 'sq help toolbox dearmor commands' commands "$@"
}
(( $+functions[_sq__toolbox__dearmor_commands] )) ||
_sq__toolbox__dearmor_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox dearmor commands' commands "$@"
}
(( $+functions[_sq__toolbox__help__dearmor_commands] )) ||
_sq__toolbox__help__dearmor_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox help dearmor commands' commands "$@"
}
(( $+functions[_sq__autocrypt__decode_commands] )) ||
_sq__autocrypt__decode_commands() {
    local commands; commands=()
    _describe -t commands 'sq autocrypt decode commands' commands "$@"
}
(( $+functions[_sq__autocrypt__help__decode_commands] )) ||
_sq__autocrypt__help__decode_commands() {
    local commands; commands=()
    _describe -t commands 'sq autocrypt help decode commands' commands "$@"
}
(( $+functions[_sq__help__autocrypt__decode_commands] )) ||
_sq__help__autocrypt__decode_commands() {
    local commands; commands=()
    _describe -t commands 'sq help autocrypt decode commands' commands "$@"
}
(( $+functions[_sq__decrypt_commands] )) ||
_sq__decrypt_commands() {
    local commands; commands=()
    _describe -t commands 'sq decrypt commands' commands "$@"
}
(( $+functions[_sq__help__decrypt_commands] )) ||
_sq__help__decrypt_commands() {
    local commands; commands=()
    _describe -t commands 'sq help decrypt commands' commands "$@"
}
(( $+functions[_sq__help__toolbox__packet__decrypt_commands] )) ||
_sq__help__toolbox__packet__decrypt_commands() {
    local commands; commands=()
    _describe -t commands 'sq help toolbox packet decrypt commands' commands "$@"
}
(( $+functions[_sq__toolbox__help__packet__decrypt_commands] )) ||
_sq__toolbox__help__packet__decrypt_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox help packet decrypt commands' commands "$@"
}
(( $+functions[_sq__toolbox__packet__decrypt_commands] )) ||
_sq__toolbox__packet__decrypt_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox packet decrypt commands' commands "$@"
}
(( $+functions[_sq__toolbox__packet__help__decrypt_commands] )) ||
_sq__toolbox__packet__help__decrypt_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox packet help decrypt commands' commands "$@"
}
(( $+functions[_sq__help__key__delete_commands] )) ||
_sq__help__key__delete_commands() {
    local commands; commands=()
    _describe -t commands 'sq help key delete commands' commands "$@"
}
(( $+functions[_sq__key__delete_commands] )) ||
_sq__key__delete_commands() {
    local commands; commands=()
    _describe -t commands 'sq key delete commands' commands "$@"
}
(( $+functions[_sq__key__help__delete_commands] )) ||
_sq__key__help__delete_commands() {
    local commands; commands=()
    _describe -t commands 'sq key help delete commands' commands "$@"
}
(( $+functions[_sq__help__network__wkd__direct-url_commands] )) ||
_sq__help__network__wkd__direct-url_commands() {
    local commands; commands=()
    _describe -t commands 'sq help network wkd direct-url commands' commands "$@"
}
(( $+functions[_sq__network__help__wkd__direct-url_commands] )) ||
_sq__network__help__wkd__direct-url_commands() {
    local commands; commands=()
    _describe -t commands 'sq network help wkd direct-url commands' commands "$@"
}
(( $+functions[_sq__network__wkd__direct-url_commands] )) ||
_sq__network__wkd__direct-url_commands() {
    local commands; commands=()
    _describe -t commands 'sq network wkd direct-url commands' commands "$@"
}
(( $+functions[_sq__network__wkd__help__direct-url_commands] )) ||
_sq__network__wkd__help__direct-url_commands() {
    local commands; commands=()
    _describe -t commands 'sq network wkd help direct-url commands' commands "$@"
}
(( $+functions[_sq__help__toolbox__packet__dump_commands] )) ||
_sq__help__toolbox__packet__dump_commands() {
    local commands; commands=()
    _describe -t commands 'sq help toolbox packet dump commands' commands "$@"
}
(( $+functions[_sq__toolbox__help__packet__dump_commands] )) ||
_sq__toolbox__help__packet__dump_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox help packet dump commands' commands "$@"
}
(( $+functions[_sq__toolbox__packet__dump_commands] )) ||
_sq__toolbox__packet__dump_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox packet dump commands' commands "$@"
}
(( $+functions[_sq__toolbox__packet__help__dump_commands] )) ||
_sq__toolbox__packet__help__dump_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox packet help dump commands' commands "$@"
}
(( $+functions[_sq__autocrypt__encode-sender_commands] )) ||
_sq__autocrypt__encode-sender_commands() {
    local commands; commands=()
    _describe -t commands 'sq autocrypt encode-sender commands' commands "$@"
}
(( $+functions[_sq__autocrypt__help__encode-sender_commands] )) ||
_sq__autocrypt__help__encode-sender_commands() {
    local commands; commands=()
    _describe -t commands 'sq autocrypt help encode-sender commands' commands "$@"
}
(( $+functions[_sq__help__autocrypt__encode-sender_commands] )) ||
_sq__help__autocrypt__encode-sender_commands() {
    local commands; commands=()
    _describe -t commands 'sq help autocrypt encode-sender commands' commands "$@"
}
(( $+functions[_sq__encrypt_commands] )) ||
_sq__encrypt_commands() {
    local commands; commands=()
    _describe -t commands 'sq encrypt commands' commands "$@"
}
(( $+functions[_sq__help__encrypt_commands] )) ||
_sq__help__encrypt_commands() {
    local commands; commands=()
    _describe -t commands 'sq help encrypt commands' commands "$@"
}
(( $+functions[_sq__help__key__expire_commands] )) ||
_sq__help__key__expire_commands() {
    local commands; commands=()
    _describe -t commands 'sq help key expire commands' commands "$@"
}
(( $+functions[_sq__help__key__subkey__expire_commands] )) ||
_sq__help__key__subkey__expire_commands() {
    local commands; commands=()
    _describe -t commands 'sq help key subkey expire commands' commands "$@"
}
(( $+functions[_sq__key__expire_commands] )) ||
_sq__key__expire_commands() {
    local commands; commands=()
    _describe -t commands 'sq key expire commands' commands "$@"
}
(( $+functions[_sq__key__help__expire_commands] )) ||
_sq__key__help__expire_commands() {
    local commands; commands=()
    _describe -t commands 'sq key help expire commands' commands "$@"
}
(( $+functions[_sq__key__help__subkey__expire_commands] )) ||
_sq__key__help__subkey__expire_commands() {
    local commands; commands=()
    _describe -t commands 'sq key help subkey expire commands' commands "$@"
}
(( $+functions[_sq__key__subkey__expire_commands] )) ||
_sq__key__subkey__expire_commands() {
    local commands; commands=()
    _describe -t commands 'sq key subkey expire commands' commands "$@"
}
(( $+functions[_sq__key__subkey__help__expire_commands] )) ||
_sq__key__subkey__help__expire_commands() {
    local commands; commands=()
    _describe -t commands 'sq key subkey help expire commands' commands "$@"
}
(( $+functions[_sq__cert__export_commands] )) ||
_sq__cert__export_commands() {
    local commands; commands=()
    _describe -t commands 'sq cert export commands' commands "$@"
}
(( $+functions[_sq__cert__help__export_commands] )) ||
_sq__cert__help__export_commands() {
    local commands; commands=()
    _describe -t commands 'sq cert help export commands' commands "$@"
}
(( $+functions[_sq__help__cert__export_commands] )) ||
_sq__help__cert__export_commands() {
    local commands; commands=()
    _describe -t commands 'sq help cert export commands' commands "$@"
}
(( $+functions[_sq__help__key__export_commands] )) ||
_sq__help__key__export_commands() {
    local commands; commands=()
    _describe -t commands 'sq help key export commands' commands "$@"
}
(( $+functions[_sq__key__export_commands] )) ||
_sq__key__export_commands() {
    local commands; commands=()
    _describe -t commands 'sq key export commands' commands "$@"
}
(( $+functions[_sq__key__help__export_commands] )) ||
_sq__key__help__export_commands() {
    local commands; commands=()
    _describe -t commands 'sq key help export commands' commands "$@"
}
(( $+functions[_sq__help__toolbox__extract-cert_commands] )) ||
_sq__help__toolbox__extract-cert_commands() {
    local commands; commands=()
    _describe -t commands 'sq help toolbox extract-cert commands' commands "$@"
}
(( $+functions[_sq__toolbox__extract-cert_commands] )) ||
_sq__toolbox__extract-cert_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox extract-cert commands' commands "$@"
}
(( $+functions[_sq__toolbox__help__extract-cert_commands] )) ||
_sq__toolbox__help__extract-cert_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox help extract-cert commands' commands "$@"
}
(( $+functions[_sq__help__network__dane__fetch_commands] )) ||
_sq__help__network__dane__fetch_commands() {
    local commands; commands=()
    _describe -t commands 'sq help network dane fetch commands' commands "$@"
}
(( $+functions[_sq__help__network__fetch_commands] )) ||
_sq__help__network__fetch_commands() {
    local commands; commands=()
    _describe -t commands 'sq help network fetch commands' commands "$@"
}
(( $+functions[_sq__help__network__keyserver__fetch_commands] )) ||
_sq__help__network__keyserver__fetch_commands() {
    local commands; commands=()
    _describe -t commands 'sq help network keyserver fetch commands' commands "$@"
}
(( $+functions[_sq__help__network__wkd__fetch_commands] )) ||
_sq__help__network__wkd__fetch_commands() {
    local commands; commands=()
    _describe -t commands 'sq help network wkd fetch commands' commands "$@"
}
(( $+functions[_sq__network__dane__fetch_commands] )) ||
_sq__network__dane__fetch_commands() {
    local commands; commands=()
    _describe -t commands 'sq network dane fetch commands' commands "$@"
}
(( $+functions[_sq__network__dane__help__fetch_commands] )) ||
_sq__network__dane__help__fetch_commands() {
    local commands; commands=()
    _describe -t commands 'sq network dane help fetch commands' commands "$@"
}
(( $+functions[_sq__network__fetch_commands] )) ||
_sq__network__fetch_commands() {
    local commands; commands=()
    _describe -t commands 'sq network fetch commands' commands "$@"
}
(( $+functions[_sq__network__help__dane__fetch_commands] )) ||
_sq__network__help__dane__fetch_commands() {
    local commands; commands=()
    _describe -t commands 'sq network help dane fetch commands' commands "$@"
}
(( $+functions[_sq__network__help__fetch_commands] )) ||
_sq__network__help__fetch_commands() {
    local commands; commands=()
    _describe -t commands 'sq network help fetch commands' commands "$@"
}
(( $+functions[_sq__network__help__keyserver__fetch_commands] )) ||
_sq__network__help__keyserver__fetch_commands() {
    local commands; commands=()
    _describe -t commands 'sq network help keyserver fetch commands' commands "$@"
}
(( $+functions[_sq__network__help__wkd__fetch_commands] )) ||
_sq__network__help__wkd__fetch_commands() {
    local commands; commands=()
    _describe -t commands 'sq network help wkd fetch commands' commands "$@"
}
(( $+functions[_sq__network__keyserver__fetch_commands] )) ||
_sq__network__keyserver__fetch_commands() {
    local commands; commands=()
    _describe -t commands 'sq network keyserver fetch commands' commands "$@"
}
(( $+functions[_sq__network__keyserver__help__fetch_commands] )) ||
_sq__network__keyserver__help__fetch_commands() {
    local commands; commands=()
    _describe -t commands 'sq network keyserver help fetch commands' commands "$@"
}
(( $+functions[_sq__network__wkd__fetch_commands] )) ||
_sq__network__wkd__fetch_commands() {
    local commands; commands=()
    _describe -t commands 'sq network wkd fetch commands' commands "$@"
}
(( $+functions[_sq__network__wkd__help__fetch_commands] )) ||
_sq__network__wkd__help__fetch_commands() {
    local commands; commands=()
    _describe -t commands 'sq network wkd help fetch commands' commands "$@"
}
(( $+functions[_sq__help__toolbox__keyring__filter_commands] )) ||
_sq__help__toolbox__keyring__filter_commands() {
    local commands; commands=()
    _describe -t commands 'sq help toolbox keyring filter commands' commands "$@"
}
(( $+functions[_sq__toolbox__help__keyring__filter_commands] )) ||
_sq__toolbox__help__keyring__filter_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox help keyring filter commands' commands "$@"
}
(( $+functions[_sq__toolbox__keyring__filter_commands] )) ||
_sq__toolbox__keyring__filter_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox keyring filter commands' commands "$@"
}
(( $+functions[_sq__toolbox__keyring__help__filter_commands] )) ||
_sq__toolbox__keyring__help__filter_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox keyring help filter commands' commands "$@"
}
(( $+functions[_sq__help__key__generate_commands] )) ||
_sq__help__key__generate_commands() {
    local commands; commands=()
    _describe -t commands 'sq help key generate commands' commands "$@"
}
(( $+functions[_sq__help__network__dane__generate_commands] )) ||
_sq__help__network__dane__generate_commands() {
    local commands; commands=()
    _describe -t commands 'sq help network dane generate commands' commands "$@"
}
(( $+functions[_sq__help__network__wkd__generate_commands] )) ||
_sq__help__network__wkd__generate_commands() {
    local commands; commands=()
    _describe -t commands 'sq help network wkd generate commands' commands "$@"
}
(( $+functions[_sq__key__generate_commands] )) ||
_sq__key__generate_commands() {
    local commands; commands=()
    _describe -t commands 'sq key generate commands' commands "$@"
}
(( $+functions[_sq__key__help__generate_commands] )) ||
_sq__key__help__generate_commands() {
    local commands; commands=()
    _describe -t commands 'sq key help generate commands' commands "$@"
}
(( $+functions[_sq__network__dane__generate_commands] )) ||
_sq__network__dane__generate_commands() {
    local commands; commands=()
    _describe -t commands 'sq network dane generate commands' commands "$@"
}
(( $+functions[_sq__network__dane__help__generate_commands] )) ||
_sq__network__dane__help__generate_commands() {
    local commands; commands=()
    _describe -t commands 'sq network dane help generate commands' commands "$@"
}
(( $+functions[_sq__network__help__dane__generate_commands] )) ||
_sq__network__help__dane__generate_commands() {
    local commands; commands=()
    _describe -t commands 'sq network help dane generate commands' commands "$@"
}
(( $+functions[_sq__network__help__wkd__generate_commands] )) ||
_sq__network__help__wkd__generate_commands() {
    local commands; commands=()
    _describe -t commands 'sq network help wkd generate commands' commands "$@"
}
(( $+functions[_sq__network__wkd__generate_commands] )) ||
_sq__network__wkd__generate_commands() {
    local commands; commands=()
    _describe -t commands 'sq network wkd generate commands' commands "$@"
}
(( $+functions[_sq__network__wkd__help__generate_commands] )) ||
_sq__network__wkd__help__generate_commands() {
    local commands; commands=()
    _describe -t commands 'sq network wkd help generate commands' commands "$@"
}
(( $+functions[_sq__autocrypt__help_commands] )) ||
_sq__autocrypt__help_commands() {
    local commands; commands=(
'import:Import Autocrypt-encoded certificates' \
'decode:Read Autocrypt-encoded certificates' \
'encode-sender:Encode a certificate into an Autocrypt header' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq autocrypt help commands' commands "$@"
}
(( $+functions[_sq__autocrypt__help__help_commands] )) ||
_sq__autocrypt__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'sq autocrypt help help commands' commands "$@"
}
(( $+functions[_sq__cert__help_commands] )) ||
_sq__cert__help_commands() {
    local commands; commands=(
'import:Import certificates into the local certificate store' \
'export:Export certificates from the local certificate store' \
'lint:Check certificates for issues' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq cert help commands' commands "$@"
}
(( $+functions[_sq__cert__help__help_commands] )) ||
_sq__cert__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'sq cert help help commands' commands "$@"
}
(( $+functions[_sq__help_commands] )) ||
_sq__help_commands() {
    local commands; commands=(
'encrypt:Encrypt a message' \
'decrypt:Decrypt a message' \
'sign:Sign messages or data files' \
'verify:Verify signed messages or detached signatures' \
'inspect:Inspect data, like file(1)' \
'cert:Manage certificates' \
'key:Manage keys' \
'pki:Authenticate certs using the Web of Trust' \
'autocrypt:Communicate certificates using Autocrypt' \
'network:Retrieve and publish certificates over the network' \
'toolbox:Tools for developers, maintainers, and forensic specialists' \
'version:Detailed version and output version information' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq help commands' commands "$@"
}
(( $+functions[_sq__help__help_commands] )) ||
_sq__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'sq help help commands' commands "$@"
}
(( $+functions[_sq__key__help_commands] )) ||
_sq__key__help_commands() {
    local commands; commands=(
'list:List keys managed by the key store' \
'generate:Generate a new key' \
'import:Import keys into the key store' \
'export:Export keys from the key store' \
'delete:Delete a certificate'\''s secret key material' \
'password:Change the password protecting secret key material' \
'expire:Change expiration times' \
'revoke:Revoke a certificate' \
'userid:Manage User IDs' \
'subkey:Manage subkeys' \
'attest-certifications:Attest to third-party certifications' \
'adopt:Bind keys from one certificate to another' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq key help commands' commands "$@"
}
(( $+functions[_sq__key__help__help_commands] )) ||
_sq__key__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'sq key help help commands' commands "$@"
}
(( $+functions[_sq__key__subkey__help_commands] )) ||
_sq__key__subkey__help_commands() {
    local commands; commands=(
'add:Add a new subkey to a certificate' \
'expire:Change a subkey'\''s expiration time' \
'revoke:Revoke a subkey' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq key subkey help commands' commands "$@"
}
(( $+functions[_sq__key__subkey__help__help_commands] )) ||
_sq__key__subkey__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'sq key subkey help help commands' commands "$@"
}
(( $+functions[_sq__key__userid__help_commands] )) ||
_sq__key__userid__help_commands() {
    local commands; commands=(
'add:Add a user ID' \
'revoke:Revoke a user ID' \
'strip:Strip a user ID' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq key userid help commands' commands "$@"
}
(( $+functions[_sq__key__userid__help__help_commands] )) ||
_sq__key__userid__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'sq key userid help help commands' commands "$@"
}
(( $+functions[_sq__network__dane__help_commands] )) ||
_sq__network__dane__help_commands() {
    local commands; commands=(
'generate:Generate DANE records for the given domain and certs' \
'fetch:Retrieve certificates using DANE' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq network dane help commands' commands "$@"
}
(( $+functions[_sq__network__dane__help__help_commands] )) ||
_sq__network__dane__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'sq network dane help help commands' commands "$@"
}
(( $+functions[_sq__network__help_commands] )) ||
_sq__network__help_commands() {
    local commands; commands=(
'fetch:Retrieve certificates using all supported network services' \
'keyserver:Retrieve and publishes certificates via key servers' \
'wkd:Retrieve and publishes certificates via Web Key Directories' \
'dane:Retrieve and publishes certificates via DANE' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq network help commands' commands "$@"
}
(( $+functions[_sq__network__help__help_commands] )) ||
_sq__network__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'sq network help help commands' commands "$@"
}
(( $+functions[_sq__network__keyserver__help_commands] )) ||
_sq__network__keyserver__help_commands() {
    local commands; commands=(
'fetch:Retrieve certificates from key servers' \
'publish:Publish certificates on key servers' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq network keyserver help commands' commands "$@"
}
(( $+functions[_sq__network__keyserver__help__help_commands] )) ||
_sq__network__keyserver__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'sq network keyserver help help commands' commands "$@"
}
(( $+functions[_sq__network__wkd__help_commands] )) ||
_sq__network__wkd__help_commands() {
    local commands; commands=(
'generate:Generate a Web Key Directory for the given domain and certs' \
'fetch:Retrieve certificates from a Web Key Directory' \
'direct-url:Print the direct Web Key Directory URL of an email address' \
'url:Print the advanced Web Key Directory URL of an email address' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq network wkd help commands' commands "$@"
}
(( $+functions[_sq__network__wkd__help__help_commands] )) ||
_sq__network__wkd__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'sq network wkd help help commands' commands "$@"
}
(( $+functions[_sq__pki__help_commands] )) ||
_sq__pki__help_commands() {
    local commands; commands=(
'authenticate:Authenticate a binding' \
'lookup:Lookup the certificates associated with a User ID' \
'identify:Identify a certificate' \
'certify:Certify a User ID for a Certificate' \
'link:Manage authenticated certificate and User ID links' \
'list:List all authenticated bindings (User ID and certificate pairs)' \
'path:Verify the specified path' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq pki help commands' commands "$@"
}
(( $+functions[_sq__pki__help__help_commands] )) ||
_sq__pki__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'sq pki help help commands' commands "$@"
}
(( $+functions[_sq__pki__link__help_commands] )) ||
_sq__pki__link__help_commands() {
    local commands; commands=(
'add:Link a certificate and a User ID' \
'retract:Retract links' \
'list:List links' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq pki link help commands' commands "$@"
}
(( $+functions[_sq__pki__link__help__help_commands] )) ||
_sq__pki__link__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'sq pki link help help commands' commands "$@"
}
(( $+functions[_sq__toolbox__help_commands] )) ||
_sq__toolbox__help_commands() {
    local commands; commands=(
'keyring:Manage collections of keys or certs' \
'extract-cert:Convert a key to a cert' \
'packet:Low-level packet manipulation' \
'armor:Convert binary to ASCII' \
'dearmor:Convert ASCII to binary' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq toolbox help commands' commands "$@"
}
(( $+functions[_sq__toolbox__help__help_commands] )) ||
_sq__toolbox__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox help help commands' commands "$@"
}
(( $+functions[_sq__toolbox__keyring__help_commands] )) ||
_sq__toolbox__keyring__help_commands() {
    local commands; commands=(
'list:List keys in a keyring' \
'split:Split a keyring into individual keys' \
'merge:Merge keys or keyrings into a single keyring' \
'filter:Join keys into a keyring applying a filter' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq toolbox keyring help commands' commands "$@"
}
(( $+functions[_sq__toolbox__keyring__help__help_commands] )) ||
_sq__toolbox__keyring__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox keyring help help commands' commands "$@"
}
(( $+functions[_sq__toolbox__packet__help_commands] )) ||
_sq__toolbox__packet__help_commands() {
    local commands; commands=(
'dump:List packets' \
'decrypt:Unwrap an encryption container' \
'split:Split a message into packets' \
'join:Join packets split across files' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq toolbox packet help commands' commands "$@"
}
(( $+functions[_sq__toolbox__packet__help__help_commands] )) ||
_sq__toolbox__packet__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox packet help help commands' commands "$@"
}
(( $+functions[_sq__help__pki__identify_commands] )) ||
_sq__help__pki__identify_commands() {
    local commands; commands=()
    _describe -t commands 'sq help pki identify commands' commands "$@"
}
(( $+functions[_sq__pki__help__identify_commands] )) ||
_sq__pki__help__identify_commands() {
    local commands; commands=()
    _describe -t commands 'sq pki help identify commands' commands "$@"
}
(( $+functions[_sq__pki__identify_commands] )) ||
_sq__pki__identify_commands() {
    local commands; commands=()
    _describe -t commands 'sq pki identify commands' commands "$@"
}
(( $+functions[_sq__autocrypt__help__import_commands] )) ||
_sq__autocrypt__help__import_commands() {
    local commands; commands=()
    _describe -t commands 'sq autocrypt help import commands' commands "$@"
}
(( $+functions[_sq__autocrypt__import_commands] )) ||
_sq__autocrypt__import_commands() {
    local commands; commands=()
    _describe -t commands 'sq autocrypt import commands' commands "$@"
}
(( $+functions[_sq__cert__help__import_commands] )) ||
_sq__cert__help__import_commands() {
    local commands; commands=()
    _describe -t commands 'sq cert help import commands' commands "$@"
}
(( $+functions[_sq__cert__import_commands] )) ||
_sq__cert__import_commands() {
    local commands; commands=()
    _describe -t commands 'sq cert import commands' commands "$@"
}
(( $+functions[_sq__help__autocrypt__import_commands] )) ||
_sq__help__autocrypt__import_commands() {
    local commands; commands=()
    _describe -t commands 'sq help autocrypt import commands' commands "$@"
}
(( $+functions[_sq__help__cert__import_commands] )) ||
_sq__help__cert__import_commands() {
    local commands; commands=()
    _describe -t commands 'sq help cert import commands' commands "$@"
}
(( $+functions[_sq__help__key__import_commands] )) ||
_sq__help__key__import_commands() {
    local commands; commands=()
    _describe -t commands 'sq help key import commands' commands "$@"
}
(( $+functions[_sq__key__help__import_commands] )) ||
_sq__key__help__import_commands() {
    local commands; commands=()
    _describe -t commands 'sq key help import commands' commands "$@"
}
(( $+functions[_sq__key__import_commands] )) ||
_sq__key__import_commands() {
    local commands; commands=()
    _describe -t commands 'sq key import commands' commands "$@"
}
(( $+functions[_sq__help__inspect_commands] )) ||
_sq__help__inspect_commands() {
    local commands; commands=()
    _describe -t commands 'sq help inspect commands' commands "$@"
}
(( $+functions[_sq__inspect_commands] )) ||
_sq__inspect_commands() {
    local commands; commands=()
    _describe -t commands 'sq inspect commands' commands "$@"
}
(( $+functions[_sq__help__toolbox__packet__join_commands] )) ||
_sq__help__toolbox__packet__join_commands() {
    local commands; commands=()
    _describe -t commands 'sq help toolbox packet join commands' commands "$@"
}
(( $+functions[_sq__toolbox__help__packet__join_commands] )) ||
_sq__toolbox__help__packet__join_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox help packet join commands' commands "$@"
}
(( $+functions[_sq__toolbox__packet__help__join_commands] )) ||
_sq__toolbox__packet__help__join_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox packet help join commands' commands "$@"
}
(( $+functions[_sq__toolbox__packet__join_commands] )) ||
_sq__toolbox__packet__join_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox packet join commands' commands "$@"
}
(( $+functions[_sq__help__key_commands] )) ||
_sq__help__key_commands() {
    local commands; commands=(
'list:List keys managed by the key store' \
'generate:Generate a new key' \
'import:Import keys into the key store' \
'export:Export keys from the key store' \
'delete:Delete a certificate'\''s secret key material' \
'password:Change the password protecting secret key material' \
'expire:Change expiration times' \
'revoke:Revoke a certificate' \
'userid:Manage User IDs' \
'subkey:Manage subkeys' \
'attest-certifications:Attest to third-party certifications' \
'adopt:Bind keys from one certificate to another' \
    )
    _describe -t commands 'sq help key commands' commands "$@"
}
(( $+functions[_sq__key_commands] )) ||
_sq__key_commands() {
    local commands; commands=(
'list:List keys managed by the key store' \
'generate:Generate a new key' \
'import:Import keys into the key store' \
'export:Export keys from the key store' \
'delete:Delete a certificate'\''s secret key material' \
'password:Change the password protecting secret key material' \
'expire:Change expiration times' \
'revoke:Revoke a certificate' \
'userid:Manage User IDs' \
'subkey:Manage subkeys' \
'attest-certifications:Attest to third-party certifications' \
'adopt:Bind keys from one certificate to another' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq key commands' commands "$@"
}
(( $+functions[_sq__help__toolbox__keyring_commands] )) ||
_sq__help__toolbox__keyring_commands() {
    local commands; commands=(
'list:List keys in a keyring' \
'split:Split a keyring into individual keys' \
'merge:Merge keys or keyrings into a single keyring' \
'filter:Join keys into a keyring applying a filter' \
    )
    _describe -t commands 'sq help toolbox keyring commands' commands "$@"
}
(( $+functions[_sq__toolbox__help__keyring_commands] )) ||
_sq__toolbox__help__keyring_commands() {
    local commands; commands=(
'list:List keys in a keyring' \
'split:Split a keyring into individual keys' \
'merge:Merge keys or keyrings into a single keyring' \
'filter:Join keys into a keyring applying a filter' \
    )
    _describe -t commands 'sq toolbox help keyring commands' commands "$@"
}
(( $+functions[_sq__toolbox__keyring_commands] )) ||
_sq__toolbox__keyring_commands() {
    local commands; commands=(
'list:List keys in a keyring' \
'split:Split a keyring into individual keys' \
'merge:Merge keys or keyrings into a single keyring' \
'filter:Join keys into a keyring applying a filter' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq toolbox keyring commands' commands "$@"
}
(( $+functions[_sq__help__network__keyserver_commands] )) ||
_sq__help__network__keyserver_commands() {
    local commands; commands=(
'fetch:Retrieve certificates from key servers' \
'publish:Publish certificates on key servers' \
    )
    _describe -t commands 'sq help network keyserver commands' commands "$@"
}
(( $+functions[_sq__network__help__keyserver_commands] )) ||
_sq__network__help__keyserver_commands() {
    local commands; commands=(
'fetch:Retrieve certificates from key servers' \
'publish:Publish certificates on key servers' \
    )
    _describe -t commands 'sq network help keyserver commands' commands "$@"
}
(( $+functions[_sq__network__keyserver_commands] )) ||
_sq__network__keyserver_commands() {
    local commands; commands=(
'fetch:Retrieve certificates from key servers' \
'publish:Publish certificates on key servers' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq network keyserver commands' commands "$@"
}
(( $+functions[_sq__help__pki__link_commands] )) ||
_sq__help__pki__link_commands() {
    local commands; commands=(
'add:Link a certificate and a User ID' \
'retract:Retract links' \
'list:List links' \
    )
    _describe -t commands 'sq help pki link commands' commands "$@"
}
(( $+functions[_sq__pki__help__link_commands] )) ||
_sq__pki__help__link_commands() {
    local commands; commands=(
'add:Link a certificate and a User ID' \
'retract:Retract links' \
'list:List links' \
    )
    _describe -t commands 'sq pki help link commands' commands "$@"
}
(( $+functions[_sq__pki__link_commands] )) ||
_sq__pki__link_commands() {
    local commands; commands=(
'add:Link a certificate and a User ID' \
'retract:Retract links' \
'list:List links' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq pki link commands' commands "$@"
}
(( $+functions[_sq__cert__help__lint_commands] )) ||
_sq__cert__help__lint_commands() {
    local commands; commands=()
    _describe -t commands 'sq cert help lint commands' commands "$@"
}
(( $+functions[_sq__cert__lint_commands] )) ||
_sq__cert__lint_commands() {
    local commands; commands=()
    _describe -t commands 'sq cert lint commands' commands "$@"
}
(( $+functions[_sq__help__cert__lint_commands] )) ||
_sq__help__cert__lint_commands() {
    local commands; commands=()
    _describe -t commands 'sq help cert lint commands' commands "$@"
}
(( $+functions[_sq__help__key__list_commands] )) ||
_sq__help__key__list_commands() {
    local commands; commands=()
    _describe -t commands 'sq help key list commands' commands "$@"
}
(( $+functions[_sq__help__pki__link__list_commands] )) ||
_sq__help__pki__link__list_commands() {
    local commands; commands=()
    _describe -t commands 'sq help pki link list commands' commands "$@"
}
(( $+functions[_sq__help__pki__list_commands] )) ||
_sq__help__pki__list_commands() {
    local commands; commands=()
    _describe -t commands 'sq help pki list commands' commands "$@"
}
(( $+functions[_sq__help__toolbox__keyring__list_commands] )) ||
_sq__help__toolbox__keyring__list_commands() {
    local commands; commands=()
    _describe -t commands 'sq help toolbox keyring list commands' commands "$@"
}
(( $+functions[_sq__key__help__list_commands] )) ||
_sq__key__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'sq key help list commands' commands "$@"
}
(( $+functions[_sq__key__list_commands] )) ||
_sq__key__list_commands() {
    local commands; commands=()
    _describe -t commands 'sq key list commands' commands "$@"
}
(( $+functions[_sq__pki__help__link__list_commands] )) ||
_sq__pki__help__link__list_commands() {
    local commands; commands=()
    _describe -t commands 'sq pki help link list commands' commands "$@"
}
(( $+functions[_sq__pki__help__list_commands] )) ||
_sq__pki__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'sq pki help list commands' commands "$@"
}
(( $+functions[_sq__pki__link__help__list_commands] )) ||
_sq__pki__link__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'sq pki link help list commands' commands "$@"
}
(( $+functions[_sq__pki__link__list_commands] )) ||
_sq__pki__link__list_commands() {
    local commands; commands=()
    _describe -t commands 'sq pki link list commands' commands "$@"
}
(( $+functions[_sq__pki__list_commands] )) ||
_sq__pki__list_commands() {
    local commands; commands=()
    _describe -t commands 'sq pki list commands' commands "$@"
}
(( $+functions[_sq__toolbox__help__keyring__list_commands] )) ||
_sq__toolbox__help__keyring__list_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox help keyring list commands' commands "$@"
}
(( $+functions[_sq__toolbox__keyring__help__list_commands] )) ||
_sq__toolbox__keyring__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox keyring help list commands' commands "$@"
}
(( $+functions[_sq__toolbox__keyring__list_commands] )) ||
_sq__toolbox__keyring__list_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox keyring list commands' commands "$@"
}
(( $+functions[_sq__help__pki__lookup_commands] )) ||
_sq__help__pki__lookup_commands() {
    local commands; commands=()
    _describe -t commands 'sq help pki lookup commands' commands "$@"
}
(( $+functions[_sq__pki__help__lookup_commands] )) ||
_sq__pki__help__lookup_commands() {
    local commands; commands=()
    _describe -t commands 'sq pki help lookup commands' commands "$@"
}
(( $+functions[_sq__pki__lookup_commands] )) ||
_sq__pki__lookup_commands() {
    local commands; commands=()
    _describe -t commands 'sq pki lookup commands' commands "$@"
}
(( $+functions[_sq__help__toolbox__keyring__merge_commands] )) ||
_sq__help__toolbox__keyring__merge_commands() {
    local commands; commands=()
    _describe -t commands 'sq help toolbox keyring merge commands' commands "$@"
}
(( $+functions[_sq__toolbox__help__keyring__merge_commands] )) ||
_sq__toolbox__help__keyring__merge_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox help keyring merge commands' commands "$@"
}
(( $+functions[_sq__toolbox__keyring__help__merge_commands] )) ||
_sq__toolbox__keyring__help__merge_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox keyring help merge commands' commands "$@"
}
(( $+functions[_sq__toolbox__keyring__merge_commands] )) ||
_sq__toolbox__keyring__merge_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox keyring merge commands' commands "$@"
}
(( $+functions[_sq__help__network_commands] )) ||
_sq__help__network_commands() {
    local commands; commands=(
'fetch:Retrieve certificates using all supported network services' \
'keyserver:Retrieve and publishes certificates via key servers' \
'wkd:Retrieve and publishes certificates via Web Key Directories' \
'dane:Retrieve and publishes certificates via DANE' \
    )
    _describe -t commands 'sq help network commands' commands "$@"
}
(( $+functions[_sq__network_commands] )) ||
_sq__network_commands() {
    local commands; commands=(
'fetch:Retrieve certificates using all supported network services' \
'keyserver:Retrieve and publishes certificates via key servers' \
'wkd:Retrieve and publishes certificates via Web Key Directories' \
'dane:Retrieve and publishes certificates via DANE' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq network commands' commands "$@"
}
(( $+functions[_sq__help__toolbox__packet_commands] )) ||
_sq__help__toolbox__packet_commands() {
    local commands; commands=(
'dump:List packets' \
'decrypt:Unwrap an encryption container' \
'split:Split a message into packets' \
'join:Join packets split across files' \
    )
    _describe -t commands 'sq help toolbox packet commands' commands "$@"
}
(( $+functions[_sq__toolbox__help__packet_commands] )) ||
_sq__toolbox__help__packet_commands() {
    local commands; commands=(
'dump:List packets' \
'decrypt:Unwrap an encryption container' \
'split:Split a message into packets' \
'join:Join packets split across files' \
    )
    _describe -t commands 'sq toolbox help packet commands' commands "$@"
}
(( $+functions[_sq__toolbox__packet_commands] )) ||
_sq__toolbox__packet_commands() {
    local commands; commands=(
'dump:List packets' \
'decrypt:Unwrap an encryption container' \
'split:Split a message into packets' \
'join:Join packets split across files' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq toolbox packet commands' commands "$@"
}
(( $+functions[_sq__help__key__password_commands] )) ||
_sq__help__key__password_commands() {
    local commands; commands=()
    _describe -t commands 'sq help key password commands' commands "$@"
}
(( $+functions[_sq__key__help__password_commands] )) ||
_sq__key__help__password_commands() {
    local commands; commands=()
    _describe -t commands 'sq key help password commands' commands "$@"
}
(( $+functions[_sq__key__password_commands] )) ||
_sq__key__password_commands() {
    local commands; commands=()
    _describe -t commands 'sq key password commands' commands "$@"
}
(( $+functions[_sq__help__pki__path_commands] )) ||
_sq__help__pki__path_commands() {
    local commands; commands=()
    _describe -t commands 'sq help pki path commands' commands "$@"
}
(( $+functions[_sq__pki__help__path_commands] )) ||
_sq__pki__help__path_commands() {
    local commands; commands=()
    _describe -t commands 'sq pki help path commands' commands "$@"
}
(( $+functions[_sq__pki__path_commands] )) ||
_sq__pki__path_commands() {
    local commands; commands=()
    _describe -t commands 'sq pki path commands' commands "$@"
}
(( $+functions[_sq__help__pki_commands] )) ||
_sq__help__pki_commands() {
    local commands; commands=(
'authenticate:Authenticate a binding' \
'lookup:Lookup the certificates associated with a User ID' \
'identify:Identify a certificate' \
'certify:Certify a User ID for a Certificate' \
'link:Manage authenticated certificate and User ID links' \
'list:List all authenticated bindings (User ID and certificate pairs)' \
'path:Verify the specified path' \
    )
    _describe -t commands 'sq help pki commands' commands "$@"
}
(( $+functions[_sq__pki_commands] )) ||
_sq__pki_commands() {
    local commands; commands=(
'authenticate:Authenticate a binding' \
'lookup:Lookup the certificates associated with a User ID' \
'identify:Identify a certificate' \
'certify:Certify a User ID for a Certificate' \
'link:Manage authenticated certificate and User ID links' \
'list:List all authenticated bindings (User ID and certificate pairs)' \
'path:Verify the specified path' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq pki commands' commands "$@"
}
(( $+functions[_sq__help__network__keyserver__publish_commands] )) ||
_sq__help__network__keyserver__publish_commands() {
    local commands; commands=()
    _describe -t commands 'sq help network keyserver publish commands' commands "$@"
}
(( $+functions[_sq__network__help__keyserver__publish_commands] )) ||
_sq__network__help__keyserver__publish_commands() {
    local commands; commands=()
    _describe -t commands 'sq network help keyserver publish commands' commands "$@"
}
(( $+functions[_sq__network__keyserver__help__publish_commands] )) ||
_sq__network__keyserver__help__publish_commands() {
    local commands; commands=()
    _describe -t commands 'sq network keyserver help publish commands' commands "$@"
}
(( $+functions[_sq__network__keyserver__publish_commands] )) ||
_sq__network__keyserver__publish_commands() {
    local commands; commands=()
    _describe -t commands 'sq network keyserver publish commands' commands "$@"
}
(( $+functions[_sq__help__pki__link__retract_commands] )) ||
_sq__help__pki__link__retract_commands() {
    local commands; commands=()
    _describe -t commands 'sq help pki link retract commands' commands "$@"
}
(( $+functions[_sq__pki__help__link__retract_commands] )) ||
_sq__pki__help__link__retract_commands() {
    local commands; commands=()
    _describe -t commands 'sq pki help link retract commands' commands "$@"
}
(( $+functions[_sq__pki__link__help__retract_commands] )) ||
_sq__pki__link__help__retract_commands() {
    local commands; commands=()
    _describe -t commands 'sq pki link help retract commands' commands "$@"
}
(( $+functions[_sq__pki__link__retract_commands] )) ||
_sq__pki__link__retract_commands() {
    local commands; commands=()
    _describe -t commands 'sq pki link retract commands' commands "$@"
}
(( $+functions[_sq__help__key__revoke_commands] )) ||
_sq__help__key__revoke_commands() {
    local commands; commands=()
    _describe -t commands 'sq help key revoke commands' commands "$@"
}
(( $+functions[_sq__help__key__subkey__revoke_commands] )) ||
_sq__help__key__subkey__revoke_commands() {
    local commands; commands=()
    _describe -t commands 'sq help key subkey revoke commands' commands "$@"
}
(( $+functions[_sq__help__key__userid__revoke_commands] )) ||
_sq__help__key__userid__revoke_commands() {
    local commands; commands=()
    _describe -t commands 'sq help key userid revoke commands' commands "$@"
}
(( $+functions[_sq__key__help__revoke_commands] )) ||
_sq__key__help__revoke_commands() {
    local commands; commands=()
    _describe -t commands 'sq key help revoke commands' commands "$@"
}
(( $+functions[_sq__key__help__subkey__revoke_commands] )) ||
_sq__key__help__subkey__revoke_commands() {
    local commands; commands=()
    _describe -t commands 'sq key help subkey revoke commands' commands "$@"
}
(( $+functions[_sq__key__help__userid__revoke_commands] )) ||
_sq__key__help__userid__revoke_commands() {
    local commands; commands=()
    _describe -t commands 'sq key help userid revoke commands' commands "$@"
}
(( $+functions[_sq__key__revoke_commands] )) ||
_sq__key__revoke_commands() {
    local commands; commands=()
    _describe -t commands 'sq key revoke commands' commands "$@"
}
(( $+functions[_sq__key__subkey__help__revoke_commands] )) ||
_sq__key__subkey__help__revoke_commands() {
    local commands; commands=()
    _describe -t commands 'sq key subkey help revoke commands' commands "$@"
}
(( $+functions[_sq__key__subkey__revoke_commands] )) ||
_sq__key__subkey__revoke_commands() {
    local commands; commands=()
    _describe -t commands 'sq key subkey revoke commands' commands "$@"
}
(( $+functions[_sq__key__userid__help__revoke_commands] )) ||
_sq__key__userid__help__revoke_commands() {
    local commands; commands=()
    _describe -t commands 'sq key userid help revoke commands' commands "$@"
}
(( $+functions[_sq__key__userid__revoke_commands] )) ||
_sq__key__userid__revoke_commands() {
    local commands; commands=()
    _describe -t commands 'sq key userid revoke commands' commands "$@"
}
(( $+functions[_sq__help__sign_commands] )) ||
_sq__help__sign_commands() {
    local commands; commands=()
    _describe -t commands 'sq help sign commands' commands "$@"
}
(( $+functions[_sq__sign_commands] )) ||
_sq__sign_commands() {
    local commands; commands=()
    _describe -t commands 'sq sign commands' commands "$@"
}
(( $+functions[_sq__help__toolbox__keyring__split_commands] )) ||
_sq__help__toolbox__keyring__split_commands() {
    local commands; commands=()
    _describe -t commands 'sq help toolbox keyring split commands' commands "$@"
}
(( $+functions[_sq__help__toolbox__packet__split_commands] )) ||
_sq__help__toolbox__packet__split_commands() {
    local commands; commands=()
    _describe -t commands 'sq help toolbox packet split commands' commands "$@"
}
(( $+functions[_sq__toolbox__help__keyring__split_commands] )) ||
_sq__toolbox__help__keyring__split_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox help keyring split commands' commands "$@"
}
(( $+functions[_sq__toolbox__help__packet__split_commands] )) ||
_sq__toolbox__help__packet__split_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox help packet split commands' commands "$@"
}
(( $+functions[_sq__toolbox__keyring__help__split_commands] )) ||
_sq__toolbox__keyring__help__split_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox keyring help split commands' commands "$@"
}
(( $+functions[_sq__toolbox__keyring__split_commands] )) ||
_sq__toolbox__keyring__split_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox keyring split commands' commands "$@"
}
(( $+functions[_sq__toolbox__packet__help__split_commands] )) ||
_sq__toolbox__packet__help__split_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox packet help split commands' commands "$@"
}
(( $+functions[_sq__toolbox__packet__split_commands] )) ||
_sq__toolbox__packet__split_commands() {
    local commands; commands=()
    _describe -t commands 'sq toolbox packet split commands' commands "$@"
}
(( $+functions[_sq__help__key__userid__strip_commands] )) ||
_sq__help__key__userid__strip_commands() {
    local commands; commands=()
    _describe -t commands 'sq help key userid strip commands' commands "$@"
}
(( $+functions[_sq__key__help__userid__strip_commands] )) ||
_sq__key__help__userid__strip_commands() {
    local commands; commands=()
    _describe -t commands 'sq key help userid strip commands' commands "$@"
}
(( $+functions[_sq__key__userid__help__strip_commands] )) ||
_sq__key__userid__help__strip_commands() {
    local commands; commands=()
    _describe -t commands 'sq key userid help strip commands' commands "$@"
}
(( $+functions[_sq__key__userid__strip_commands] )) ||
_sq__key__userid__strip_commands() {
    local commands; commands=()
    _describe -t commands 'sq key userid strip commands' commands "$@"
}
(( $+functions[_sq__help__key__subkey_commands] )) ||
_sq__help__key__subkey_commands() {
    local commands; commands=(
'add:Add a new subkey to a certificate' \
'expire:Change a subkey'\''s expiration time' \
'revoke:Revoke a subkey' \
    )
    _describe -t commands 'sq help key subkey commands' commands "$@"
}
(( $+functions[_sq__key__help__subkey_commands] )) ||
_sq__key__help__subkey_commands() {
    local commands; commands=(
'add:Add a new subkey to a certificate' \
'expire:Change a subkey'\''s expiration time' \
'revoke:Revoke a subkey' \
    )
    _describe -t commands 'sq key help subkey commands' commands "$@"
}
(( $+functions[_sq__key__subkey_commands] )) ||
_sq__key__subkey_commands() {
    local commands; commands=(
'add:Add a new subkey to a certificate' \
'expire:Change a subkey'\''s expiration time' \
'revoke:Revoke a subkey' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq key subkey commands' commands "$@"
}
(( $+functions[_sq__help__toolbox_commands] )) ||
_sq__help__toolbox_commands() {
    local commands; commands=(
'keyring:Manage collections of keys or certs' \
'extract-cert:Convert a key to a cert' \
'packet:Low-level packet manipulation' \
'armor:Convert binary to ASCII' \
'dearmor:Convert ASCII to binary' \
    )
    _describe -t commands 'sq help toolbox commands' commands "$@"
}
(( $+functions[_sq__toolbox_commands] )) ||
_sq__toolbox_commands() {
    local commands; commands=(
'keyring:Manage collections of keys or certs' \
'extract-cert:Convert a key to a cert' \
'packet:Low-level packet manipulation' \
'armor:Convert binary to ASCII' \
'dearmor:Convert ASCII to binary' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq toolbox commands' commands "$@"
}
(( $+functions[_sq__help__network__wkd__url_commands] )) ||
_sq__help__network__wkd__url_commands() {
    local commands; commands=()
    _describe -t commands 'sq help network wkd url commands' commands "$@"
}
(( $+functions[_sq__network__help__wkd__url_commands] )) ||
_sq__network__help__wkd__url_commands() {
    local commands; commands=()
    _describe -t commands 'sq network help wkd url commands' commands "$@"
}
(( $+functions[_sq__network__wkd__help__url_commands] )) ||
_sq__network__wkd__help__url_commands() {
    local commands; commands=()
    _describe -t commands 'sq network wkd help url commands' commands "$@"
}
(( $+functions[_sq__network__wkd__url_commands] )) ||
_sq__network__wkd__url_commands() {
    local commands; commands=()
    _describe -t commands 'sq network wkd url commands' commands "$@"
}
(( $+functions[_sq__help__key__userid_commands] )) ||
_sq__help__key__userid_commands() {
    local commands; commands=(
'add:Add a user ID' \
'revoke:Revoke a user ID' \
'strip:Strip a user ID' \
    )
    _describe -t commands 'sq help key userid commands' commands "$@"
}
(( $+functions[_sq__key__help__userid_commands] )) ||
_sq__key__help__userid_commands() {
    local commands; commands=(
'add:Add a user ID' \
'revoke:Revoke a user ID' \
'strip:Strip a user ID' \
    )
    _describe -t commands 'sq key help userid commands' commands "$@"
}
(( $+functions[_sq__key__userid_commands] )) ||
_sq__key__userid_commands() {
    local commands; commands=(
'add:Add a user ID' \
'revoke:Revoke a user ID' \
'strip:Strip a user ID' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq key userid commands' commands "$@"
}
(( $+functions[_sq__help__verify_commands] )) ||
_sq__help__verify_commands() {
    local commands; commands=()
    _describe -t commands 'sq help verify commands' commands "$@"
}
(( $+functions[_sq__verify_commands] )) ||
_sq__verify_commands() {
    local commands; commands=()
    _describe -t commands 'sq verify commands' commands "$@"
}
(( $+functions[_sq__help__version_commands] )) ||
_sq__help__version_commands() {
    local commands; commands=()
    _describe -t commands 'sq help version commands' commands "$@"
}
(( $+functions[_sq__version_commands] )) ||
_sq__version_commands() {
    local commands; commands=()
    _describe -t commands 'sq version commands' commands "$@"
}
(( $+functions[_sq__help__network__wkd_commands] )) ||
_sq__help__network__wkd_commands() {
    local commands; commands=(
'generate:Generate a Web Key Directory for the given domain and certs' \
'fetch:Retrieve certificates from a Web Key Directory' \
'direct-url:Print the direct Web Key Directory URL of an email address' \
'url:Print the advanced Web Key Directory URL of an email address' \
    )
    _describe -t commands 'sq help network wkd commands' commands "$@"
}
(( $+functions[_sq__network__help__wkd_commands] )) ||
_sq__network__help__wkd_commands() {
    local commands; commands=(
'generate:Generate a Web Key Directory for the given domain and certs' \
'fetch:Retrieve certificates from a Web Key Directory' \
'direct-url:Print the direct Web Key Directory URL of an email address' \
'url:Print the advanced Web Key Directory URL of an email address' \
    )
    _describe -t commands 'sq network help wkd commands' commands "$@"
}
(( $+functions[_sq__network__wkd_commands] )) ||
_sq__network__wkd_commands() {
    local commands; commands=(
'generate:Generate a Web Key Directory for the given domain and certs' \
'fetch:Retrieve certificates from a Web Key Directory' \
'direct-url:Print the direct Web Key Directory URL of an email address' \
'url:Print the advanced Web Key Directory URL of an email address' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq network wkd commands' commands "$@"
}

if [ "$funcstack[1]" = "_sq" ]; then
    _sq "$@"
else
    compdef _sq sq
fi
