#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[@]}" \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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+[Writes to FILE or stdout if omitted]:FILE: ' \
'--output=[Writes to FILE or stdout if omitted]:FILE: ' \
'*--recipient-email=[Encrypts to all certificates that can be authenticated for the specified email address]:EMAIL: ' \
'*--recipient-userid=[Encrypts to all certificates that can be authenticated for the specified User ID]:USERID: ' \
'*--recipient-cert=[Encrypts to the named certificates]:FINGERPRINT|KEYID: ' \
'*--recipient-file=[Encrypts to all certificates in CERT_RING_FILE]:CERT_RING_FILE:_files' \
'--set-metadata-time=[Sets time for encrypted file as metadata]:TIME: ' \
'*--signer-file=[Signs the message using the key in KEY_FILE]:KEY_FILE:_files' \
'--private-key-store=[Provides parameters for private key store]:KEY_STORE: ' \
'--encrypt-for=[Selects 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=[Selects compression scheme to use]:KIND:(none zip zlib bzip2)' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-B[Emits binary data]' \
'--binary[Emits binary data]' \
'--set-metadata-filename[Sets the filename of the encrypted file as metadata]' \
'*-s[Prompts to add a password to encrypt with]' \
'*--symmetric[Prompts to add a password to encrypt with]' \
'--use-expired-subkey[Falls back to expired encryption subkeys]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Reads from FILE or stdin if omitted:' \
&& ret=0
;;
(decrypt)
_arguments "${_arguments_options[@]}" \
'-o+[Writes to FILE or stdout if omitted]:FILE: ' \
'--output=[Writes to FILE or stdout if omitted]:FILE: ' \
'-n+[Sets the threshold of valid signatures to N]:N: ' \
'--signatures=[Sets the threshold of valid signatures to N]:N: ' \
'*--signer-file=[Verifies signatures using the certificates in CERT_FILE]:CERT_FILE:_files' \
'*--recipient-file=[Decrypts the message using the key in KEY_FILE]:KEY_FILE:_files' \
'--private-key-store=[Provides parameters for private key store]:KEY_STORE: ' \
'*--session-key=[Decrypts an encrypted message using SESSION-KEY]:SESSION-KEY: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'--dump-session-key[Prints the session key to stderr]' \
'--dump[Prints a packet dump to stderr]' \
'-x[Prints a hexdump (implies \`--dump\`)]' \
'--hex[Prints a hexdump (implies \`--dump\`)]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Reads from FILE or stdin if omitted:' \
&& ret=0
;;
(sign)
_arguments "${_arguments_options[@]}" \
'-o+[Writes to FILE or stdout if omitted]:FILE: ' \
'--output=[Writes to FILE or stdout if omitted]:FILE: ' \
'--private-key-store=[Provides parameters for private key store]:KEY_STORE: ' \
'(-a --append --detached --cleartext-signature -n --notarize --signer-file)--merge=[Merges signatures from the input and SIGNED-MESSAGE]:SIGNED-MESSAGE:_files' \
'*--signer-file=[Signs the message using the key in KEY_FILE]:KEY_FILE:_files' \
'(--merge)*--notation=[Adds a notation to the certification.]:NAME: :NAME: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-B[Emits binary data]' \
'--binary[Emits binary data]' \
'--detached[Creates a detached signature]' \
'(--detached -a --append -n --notarize -B --binary)--cleartext-signature[Creates a cleartext signature]' \
'(-n --notarize)-a[Appends a signature to existing signature]' \
'(-n --notarize)--append[Appends a signature to existing signature]' \
'(-a --append)-n[Signs a message and all existing signatures]' \
'(-a --append)--notarize[Signs a message and all existing signatures]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Reads from FILE or stdin if omitted:' \
&& ret=0
;;
(verify)
_arguments "${_arguments_options[@]}" \
'-o+[Writes to FILE or stdout if omitted]:FILE: ' \
'--output=[Writes to FILE or stdout if omitted]:FILE: ' \
'--detached=[Verifies a detached signature]:SIG:_files' \
'-n+[Sets the threshold of valid signatures to N]:N: ' \
'--signatures=[Sets the threshold of valid signatures to N]:N: ' \
'*--signer-file=[Verifies signatures using the certificate in CERT_FILE]:CERT_FILE:_files' \
'*--signer-cert=[Verifies signatures using the specified certificate]:FINGERPRINT|KEYID: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Reads from FILE or stdin if omitted:' \
&& ret=0
;;
(inspect)
_arguments "${_arguments_options[@]}" \
'()*--cert=[Reads the specified certificate from the certificate store]:FINGERPRINT|KEYID: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'--certifications[Prints third-party certifications]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Reads from FILE or stdin if omitted:' \
&& ret=0
;;
(cert)
_arguments "${_arguments_options[@]}" \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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[@]}" \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Reads from FILE or stdin if omitted:_files' \
&& ret=0
;;
(export)
_arguments "${_arguments_options[@]}" \
'*--cert=[Returns certificates that have the specified fingerprint or key ID]:FINGERPRINT|KEYID: ' \
'*--key=[Returns certificates where the primary key or a subkey has the specified fingerprint or key ID]:FINGERPRINT|KEYID: ' \
'*--userid=[Returns certificates that have a User ID that matches exactly, including case]:USERID: ' \
'*--grep=[Returns certificates that have a User ID that contains the string, case insensitively]:PATTERN: ' \
'*--email=[Returns certificates that have a User ID with the specified email address, case insensitively]:EMAIL: ' \
'*--domain=[Returns certificates that have a User ID with an email address from the specified domain]:DOMAIN: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-B[Emits binary data]' \
'--binary[Emits binary data]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(key)
_arguments "${_arguments_options[@]}" \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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
            (generate)
_arguments "${_arguments_options[@]}" \
'*-u+[Adds a userid to the key]:EMAIL: ' \
'*--userid=[Adds a userid to the key]:EMAIL: ' \
'-c+[Selects the cryptographic algorithms for the key]:CIPHER-SUITE:(rsa3k rsa4k cv25519)' \
'--cipher-suite=[Selects the cryptographic algorithms for the key]:CIPHER-SUITE:(rsa3k rsa4k cv25519)' \
'--expiry=[Defines EXPIRY for the key as ISO 8601 formatted string or custom duration.]:EXPIRY: ' \
'--can-encrypt=[Adds 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+[Writes to FILE or stdout if omitted]:FILE: ' \
'--output=[Writes to FILE or stdout if omitted]:FILE: ' \
'--rev-cert=[Writes the revocation certificate to FILE]:FILE or -:_files' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'--with-password[Protects the key with a password]' \
'--can-sign[Adds a signing-capable subkey (default)]' \
'--cannot-sign[Adds no signing-capable subkey]' \
'--can-authenticate[Adds an authentication-capable subkey (default)]' \
'--cannot-authenticate[Adds no authentication-capable subkey]' \
'--cannot-encrypt[Adds no encryption-capable subkey]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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[@]}" \
'-o+[Writes to FILE or stdout if omitted]:FILE: ' \
'--output=[Writes to FILE or stdout if omitted]:FILE: ' \
'*--old-password-file=[File containing password to decrypt key]:OLD_PASSWORD_FILE:_files' \
'--new-password-file=[File containing password to encrypt key]:NEW_PASSWORD_FILE:_files' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'--clear[Emit a key with unencrypted secrets]' \
'-B[Emits binary data]' \
'--binary[Emits binary data]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Reads from FILE or stdin if omitted:' \
&& ret=0
;;
(revoke)
_arguments "${_arguments_options[@]}" \
'--certificate-file=[The certificate to revoke]:FILE:_files' \
'--revocation-file=[Signs the revocation certificate using the key in KEY_FILE]:KEY_FILE:_files' \
'--private-key-store=[Provides parameters for private key store]:KEY_STORE: ' \
'*--notation=[Adds a notation to the certification.]:NAME: :NAME: ' \
'-o+[Writes to FILE or stdout if omitted]:FILE: ' \
'--output=[Writes to FILE or stdout if omitted]:FILE: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-B[Emits binary data]' \
'--binary[Emits binary data]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 superseded retired unspecified)' \
':message -- A short, explanatory text:' \
&& ret=0
;;
(userid)
_arguments "${_arguments_options[@]}" \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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[@]}" \
'-o+[Writes to FILE or stdout if omitted]:FILE: ' \
'--output=[Writes to FILE or stdout if omitted]:FILE: ' \
'--private-key-store=[Provides parameters for private key store]:KEY_STORE: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-B[Emits binary data]' \
'--binary[Emits binary data]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Reads from FILE or stdin if FILE is '\''-'\'':' \
'*::userid -- User ID to add:' \
&& ret=0
;;
(revoke)
_arguments "${_arguments_options[@]}" \
'--certificate-file=[The certificate containing the User ID to revoke]:CERT_FILE:_files' \
'--revocation-file=[Signs the revocation certificate using the key in KEY_FILE]:KEY_FILE:_files' \
'--private-key-store=[Provides parameters for private key store]:KEY_STORE: ' \
'*--notation=[Adds a notation to the certification.]:NAME: :NAME: ' \
'-o+[Writes to FILE or stdout if omitted]:FILE: ' \
'--output=[Writes to FILE or stdout if omitted]:FILE: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-B[Emits binary data]' \
'--binary[Emits binary data]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 revoke:' \
':reason -- The reason for the revocation:(retired unspecified)' \
':message -- A short, explanatory text:' \
&& ret=0
;;
(strip)
_arguments "${_arguments_options[@]}" \
'-o+[Writes to FILE or stdout if omitted]:FILE: ' \
'--output=[Writes to FILE or stdout if omitted]:FILE: ' \
'*-u+[User IDs to strip]:USERID: ' \
'*--userid=[User IDs to strip]:USERID: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-B[Emits binary data]' \
'--binary[Emits binary data]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Reads from FILE or stdin if omitted:' \
&& 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[@]}" \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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[@]}" \
'-o+[Writes to FILE or stdout if omitted]:FILE: ' \
'--output=[Writes to FILE or stdout if omitted]:FILE: ' \
'--private-key-store=[Provides parameters for private key store]:KEY_STORE: ' \
'-c+[Selects the cryptographic algorithms for the subkey]:CIPHER-SUITE:(rsa3k rsa4k cv25519)' \
'--cipher-suite=[Selects the cryptographic algorithms for the subkey]:CIPHER-SUITE:(rsa3k rsa4k cv25519)' \
'--expiry=[Defines EXPIRY for the subkey as ISO 8601 formatted string or custom duration.]:EXPIRY: ' \
'--can-encrypt=[Adds an encryption capability to subkey \[default\: universal\]]:PURPOSE:((transport\:"Protects data in transport"
storage\:"Protects data at rest"
universal\:"Protects data in transport and at rest"))' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-B[Emits binary data]' \
'--binary[Emits binary data]' \
'--can-sign[Adds signing capability to subkey]' \
'--can-authenticate[Adds authentication capability to subkey]' \
'--with-password[Protects the subkey with a password]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Reads from FILE or stdin if omitted:' \
&& ret=0
;;
(revoke)
_arguments "${_arguments_options[@]}" \
'--certificate-file=[The certificate containing the subkey to revoke]:FILE:_files' \
'--revocation-file=[Signs the revocation certificate using the key in KEY_FILE]:KEY_FILE:_files' \
'--private-key-store=[Provides parameters for private key store]:KEY_STORE: ' \
'*--notation=[Adds a notation to the certification.]:NAME: :NAME: ' \
'-o+[Writes to FILE or stdout if omitted]:FILE: ' \
'--output=[Writes to FILE or stdout if omitted]:FILE: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-B[Emits binary data]' \
'--binary[Emits binary data]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 superseded retired unspecified)' \
':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
;;
(revoke)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(extract-cert)
_arguments "${_arguments_options[@]}" \
'-o+[Writes to FILE or stdout if omitted]:FILE: ' \
'--output=[Writes to FILE or stdout if omitted]:FILE: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-B[Emits binary data]' \
'--binary[Emits binary data]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Reads from FILE or stdin if omitted:' \
&& ret=0
;;
(attest-certifications)
_arguments "${_arguments_options[@]}" \
'-o+[Writes to FILE or stdout if omitted]:FILE: ' \
'--output=[Writes to FILE or stdout if omitted]:FILE: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'(--all)--none[Removes all prior attestations]' \
'(--none)--all[Attests to all certifications \[default\]]' \
'-B[Emits binary data]' \
'--binary[Emits binary data]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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'\'')]' \
'::key -- Changes attestations on KEY or reads from stdin if omitted:' \
&& ret=0
;;
(adopt)
_arguments "${_arguments_options[@]}" \
'*-k+[Adds the key or subkey KEY to the TARGET-KEY]:KEY: ' \
'*--key=[Adds the key or subkey KEY to the TARGET-KEY]:KEY: ' \
'--expire=[Makes adopted subkeys expire at the given time]:KEY-EXPIRATION-TIME: ' \
'-o+[Writes to FILE or stdout if omitted]:FILE: ' \
'--output=[Writes to FILE or stdout if omitted]:FILE: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'--allow-broken-crypto[Allows adopting keys from certificates using broken cryptography]' \
'-B[Emits binary data]' \
'--binary[Emits binary data]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Adds keys to TARGET-KEY or reads keys from stdin if omitted:' \
&& 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
            (generate)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(password)
_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
;;
(revoke)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(extract-cert)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(attest-certifications)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(adopt)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(keyring)
_arguments "${_arguments_options[@]}" \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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__keyring_commands" \
"*::: :->keyring" \
&& ret=0

    case $state in
    (keyring)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-keyring-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'--all-userids[Lists all user ids]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Reads from FILE or stdin if omitted:' \
&& ret=0
;;
(split)
_arguments "${_arguments_options[@]}" \
'-p+[Writes to files with PREFIX \[defaults\: \`FILE-\` if FILE is set, or \`output-\` if read from stdin\]]:PREFIX: ' \
'--prefix=[Writes to files with PREFIX \[defaults\: \`FILE-\` if FILE is set, or \`output-\` if read from stdin\]]:PREFIX: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-B[Emits binary data]' \
'--binary[Emits binary data]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Reads from FILE or stdin if omitted:' \
&& ret=0
;;
(merge)
_arguments "${_arguments_options[@]}" \
'-o+[Writes to FILE or stdout if omitted]:FILE: ' \
'--output=[Writes to FILE or stdout if omitted]:FILE: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-B[Emits binary data]' \
'--binary[Emits binary data]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Reads from FILE or stdin if omitted:_files' \
&& ret=0
;;
(filter)
_arguments "${_arguments_options[@]}" \
'-o+[Writes to FILE or stdout if omitted]:FILE: ' \
'--output=[Writes to FILE or stdout if omitted]:FILE: ' \
'*--userid=[Matches on USERID]:USERID: ' \
'*--name=[Matches on NAME]:NAME: ' \
'*--email=[Matches on email ADDRESS]:ADDRESS: ' \
'*--domain=[Matches on email domain FQDN]:FQDN: ' \
'*--handle=[Matches on (sub)key fingerprints and key ids]:FINGERPRINT|KEYID: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-P[Removes certificate components not matching the filter]' \
'--prune-certs[Removes certificate components not matching the filter]' \
'-B[Emits binary data]' \
'--binary[Emits binary data]' \
'--to-cert[Converts 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[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Reads from FILE or stdin if omitted:_files' \
&& ret=0
;;
(lint)
_arguments "${_arguments_options[@]}" \
'*-p+[A key'\''s password.  Normally this is not needed\: if stdin is connected to a tty, the linter will ask for a password when needed]:PASSWORD: ' \
'*--password=[A key'\''s password.  Normally this is not needed\: if stdin is connected to a tty, the linter will ask for a password when needed]:PASSWORD: ' \
'-o+[Writes to FILE or stdout if omitted]:FILE: ' \
'--output=[Writes to FILE or stdout if omitted]:FILE: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-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[Emits binary data]' \
'--binary[Emits binary data]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- A list of OpenPGP keyrings to process.  If none are specified, a keyring is read from stdin:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_sq__keyring__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-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
;;
(lint)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(pki)
_arguments "${_arguments_options[@]}" \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'--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[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'--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[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'--gossip[Treats all certificates as unreliable trust roots]' \
'--certification-network[Treats the network as a certification network]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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+[Writes to FILE or stdout if omitted]:FILE: ' \
'--output=[Writes to FILE or stdout if omitted]:FILE: ' \
'-d+[Sets the trust depth]:TRUST_DEPTH: ' \
'--depth=[Sets the trust depth]:TRUST_DEPTH: ' \
'-a+[Sets the amount of trust]:AMOUNT: ' \
'--amount=[Sets the amount of trust]:AMOUNT: ' \
'*-r+[Adds a regular expression to constrain what a trusted introducer can certify]:REGEX: ' \
'*--regex=[Adds a regular expression to constrain what a trusted introducer can certify]:REGEX: ' \
'*--notation=[Adds a notation to the certification.]:NAME: :NAME: ' \
'--expiry=[Defines EXPIRY for the certification as ISO 8601 formatted string or custom duration.]:EXPIRY: ' \
'--private-key-store=[Provides parameters for private key store]:KEY_STORE: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-B[Emits binary data]' \
'--binary[Emits binary data]' \
'-l[Makes the certification a local certification]' \
'--local[Makes the certification a local certification]' \
'--non-revocable[Marks 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[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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'\'')]' \
':certifier -- Creates the certification using CERTIFIER-KEY.:_files' \
':certificate -- Certifies CERTIFICATE.:' \
':userid -- Certifies USERID for CERTIFICATE.:' \
&& ret=0
;;
(link)
_arguments "${_arguments_options[@]}" \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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+[Sets the trust depth]:TRUST_DEPTH: ' \
'--depth=[Sets the trust depth]:TRUST_DEPTH: ' \
'*--ca=[Marks the certificate as a certification authority for a domain]:*|DOMAIN: ' \
'-a+[Sets the amount of trust]:AMOUNT: ' \
'--amount=[Sets the amount of trust]:AMOUNT: ' \
'*-r+[Adds a regular expression to constrain what a trusted introducer can certify]:REGEX: ' \
'*--regex=[Adds a regular expression to constrain what a trusted introducer can certify]:REGEX: ' \
'*--notation=[Adds a notation to the certification.]:NAME: :NAME: ' \
'--expiry=[Defines EXPIRY for the acceptance as ISO 8601 formatted string or custom duration.]:EXPIRY: ' \
'*--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: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'(-a --amount)--temporary[Temporarily accepts the binding]' \
'(--userid --email --petname)--all[Links all valid self-signed User ID to the certificate.]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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=[Adds 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: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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[@]}" \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'--ca[Only lists bindings linked as CAs.]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'--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[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'--gossip[Treats all certificates as unreliable trust roots]' \
'--certification-network[Treats the network as a certification network]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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[@]}" \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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[@]}" \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Reads from FILE or stdin if omitted:' \
&& ret=0
;;
(decode)
_arguments "${_arguments_options[@]}" \
'-o+[Writes to FILE or stdout if omitted]:FILE: ' \
'--output=[Writes to FILE or stdout if omitted]:FILE: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-B[Emits binary data]' \
'--binary[Emits binary data]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Reads from FILE or stdin if omitted:' \
&& ret=0
;;
(encode-sender)
_arguments "${_arguments_options[@]}" \
'-o+[Writes to FILE or stdout if omitted]:FILE: ' \
'--output=[Writes to FILE or stdout if omitted]:FILE: ' \
'--email=[Sets the address \[default\: primary userid\]]:ADDRESS: ' \
'--prefer-encrypt=[Sets the prefer-encrypt attribute]:PREFER-ENCRYPT:(nopreference mutual)' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Reads from FILE or stdin if omitted:' \
&& 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[@]}" \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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+[Sets the key server to use.  Can be given multiple times.]:URI: ' \
'*--server=[Sets the key server to use.  Can be given multiple times.]:URI: ' \
'-o+[Writes to FILE (or stdout when omitted) instead of importing into the certificate store]:FILE: ' \
'--output=[Writes to FILE (or stdout when omitted) instead of importing into the certificate store]:FILE: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-B[Emits binary data]' \
'--binary[Emits binary data]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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
;;
(keyserver)
_arguments "${_arguments_options[@]}" \
'*-s+[Sets the key server to use.  Can be given multiple times.]:URI: ' \
'*--server=[Sets the key server to use.  Can be given multiple times.]:URI: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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+[Writes to FILE (or stdout when omitted) instead of importing into the certificate store]:FILE: ' \
'--output=[Writes to FILE (or stdout when omitted) instead of importing into the certificate store]:FILE: ' \
'*-s+[Sets the key server to use.  Can be given multiple times.]:URI: ' \
'*--server=[Sets the key server to use.  Can be given multiple times.]:URI: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-B[Emits binary data]' \
'--binary[Emits binary data]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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+[Sets the key server to use.  Can be given multiple times.]:URI: ' \
'*--server=[Sets the key server to use.  Can be given multiple times.]:URI: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'--require-all[Requires that all publish operations succeed and return an error otherwise.  By default we only require that one publish operation succeeds.]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Reads from FILE or stdin if omitted:' \
&& 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[@]}" \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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[@]}" \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-d[Uses the direct method \[default\: advanced method\]]' \
'--direct-method[Uses the direct method \[default\: advanced method\]]' \
'-s[Skips certificates that do not have User IDs for given domain.]' \
'--skip[Skips certificates that do not have User IDs for given domain.]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Writes the WKD to WEB-ROOT:_files' \
':domain -- Generates a WKD for a fully qualified domain name for email:' \
'::input -- Adds certificates from CERT-RING (or stdin if omitted) to the WKD:' \
&& ret=0
;;
(fetch)
_arguments "${_arguments_options[@]}" \
'-o+[Writes to FILE (or stdout when omitted) instead of importing into the certificate store]:FILE: ' \
'--output=[Writes to FILE (or stdout when omitted) instead of importing into the certificate store]:FILE: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-B[Emits binary data]' \
'--binary[Emits binary data]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Queries a cert for ADDRESS:' \
&& ret=0
;;
(direct-url)
_arguments "${_arguments_options[@]}" \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Queries for ADDRESS:' \
&& ret=0
;;
(url)
_arguments "${_arguments_options[@]}" \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Queries 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[@]}" \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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=[Sets the TTL (maximum cache duration) of the resource records]:DURATION: ' \
'--size-limit=[Try to shrink the certificates to this size]:BYTES: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'--generic[Emits generic resource records \[default\: OPENPGPKEY records\]]' \
'-s[Skips expired certificates and those that do not have User IDs for given domain.]' \
'--skip[Skips expired certificates and those that do not have User IDs for given domain.]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Generates DANE records for this domain name:' \
'::input -- Emits records for certificates from CERT-RING (or stdin if omitted):' \
&& ret=0
;;
(fetch)
_arguments "${_arguments_options[@]}" \
'-o+[Writes to FILE (or stdout when omitted) instead of importing into the certificate store]:FILE: ' \
'--output=[Writes to FILE (or stdout when omitted) instead of importing into the certificate store]:FILE: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-B[Emits binary data]' \
'--binary[Emits binary data]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Queries a cert 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[@]}" \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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
            (packet)
_arguments "${_arguments_options[@]}" \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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+[Writes to FILE or stdout if omitted]:FILE: ' \
'--output=[Writes to FILE or stdout if omitted]:FILE: ' \
'--session-key=[Decrypts an encrypted message using SESSION-KEY]:SESSION-KEY: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'--mpis[Prints cryptographic artifacts]' \
'-x[Prints a hexdump]' \
'--hex[Prints a hexdump]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Reads from FILE or stdin if omitted:' \
&& ret=0
;;
(decrypt)
_arguments "${_arguments_options[@]}" \
'-o+[Writes to FILE or stdout if omitted]:FILE: ' \
'--output=[Writes to FILE or stdout if omitted]:FILE: ' \
'*--recipient-file=[Decrypts the message using the key in KEY_FILE]:KEY_FILE:_files' \
'--private-key-store=[Provides parameters for private key store]:KEY_STORE: ' \
'*--session-key=[Decrypts an encrypted message using SESSION-KEY]:SESSION-KEY: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-B[Emits binary data]' \
'--binary[Emits binary data]' \
'--dump-session-key[Prints the session key to stderr]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Reads from FILE or stdin if omitted:' \
&& ret=0
;;
(split)
_arguments "${_arguments_options[@]}" \
'-p+[Writes to files with PREFIX \[defaults\: \`FILE-\` if FILE is set, or \`output-\` if read from stdin\]]:PREFIX:_files' \
'--prefix=[Writes to files with PREFIX \[defaults\: \`FILE-\` if FILE is set, or \`output-\` if read from stdin\]]:PREFIX:_files' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Reads from FILE or stdin if omitted:' \
&& ret=0
;;
(join)
_arguments "${_arguments_options[@]}" \
'-o+[Writes to FILE or stdout if omitted]:FILE: ' \
'--output=[Writes to FILE or stdout if omitted]:FILE: ' \
'(-B --binary)--label=[Selects the kind of armor header]:LABEL:(auto message cert key sig file)' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-B[Emits binary data]' \
'--binary[Emits binary data]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Reads 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+[Writes to FILE or stdout if omitted]:FILE: ' \
'--output=[Writes to FILE or stdout if omitted]:FILE: ' \
'--label=[Selects the kind of armor header]:LABEL:(auto message cert key sig file)' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Reads from FILE or stdin if omitted:' \
&& ret=0
;;
(dearmor)
_arguments "${_arguments_options[@]}" \
'-o+[Writes to FILE or stdout if omitted]:FILE: ' \
'--output=[Writes to FILE or stdout if omitted]:FILE: ' \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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 -- Reads from FILE or stdin if omitted:' \
&& 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
            (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[@]}" \
'(--no-cert-store)--cert-store=[Specifies the location of the certificate store]:PATH:_files' \
'--pep-cert-store=[Specifies the location of a pEp certificate store]:PATH:_files' \
'*--keyring=[Specifies the location of a keyring to use]:PATH:_files' \
'--output-format=[Produces 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=[Produces output variant VERSION.]:VERSION: ' \
'*--known-notation=[Adds NOTATION to the list of known notations]:NOTATION: ' \
'--time=[Sets the reference time as ISO 8601 formatted timestamp]:TIME: ' \
'*--trust-root=[Considers the specified certificate to be a trust root]:FINGERPRINT|KEYID: ' \
'(--output-versions)--default-output-version[List the default output version]' \
'(--default-output-version)--output-versions[List all the supported output versions]' \
'-f[Overwrites existing files]' \
'--force[Overwrites existing files]' \
'--no-cert-store[Disables 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
;;
        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
            (generate)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(password)
_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
;;
(revoke)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(extract-cert)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(attest-certifications)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(adopt)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(keyring)
_arguments "${_arguments_options[@]}" \
":: :_sq__help__keyring_commands" \
"*::: :->keyring" \
&& ret=0

    case $state in
    (keyring)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sq-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
;;
(lint)
_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
            (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:Encrypts a message' \
'decrypt:Decrypts a message' \
'sign:Signs messages or data files' \
'verify:Verifies signed messages or detached signatures' \
'inspect:Inspects data, like file(1)' \
'cert:Manages certificates' \
'key:Manages keys' \
'keyring:Manages collections of keys or certs' \
'pki:Authenticate certs using the Web of Trust' \
'autocrypt:Communicates certificates using Autocrypt' \
'network:Retrieves and publishes 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:Imports Autocrypt-encoded certificates' \
'decode:Reads Autocrypt-encoded certificates' \
'encode-sender:Encodes 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:Imports Autocrypt-encoded certificates' \
'decode:Reads Autocrypt-encoded certificates' \
'encode-sender:Encodes 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:Imports certificates into the local certificate store' \
'export:Exports certificates from the local certificate store' \
'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:Imports certificates into the local certificate store' \
'export:Exports certificates from the local certificate store' \
    )
    _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:Generates DANE records for the given domain and certs' \
'fetch:Retrieves 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:Generates DANE records for the given domain and certs' \
'fetch:Retrieves 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:Generates DANE records for the given domain and certs' \
'fetch:Retrieves 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__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__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__extract-cert_commands] )) ||
_sq__help__key__extract-cert_commands() {
    local commands; commands=()
    _describe -t commands 'sq help key extract-cert commands' commands "$@"
}
(( $+functions[_sq__key__extract-cert_commands] )) ||
_sq__key__extract-cert_commands() {
    local commands; commands=()
    _describe -t commands 'sq key extract-cert commands' commands "$@"
}
(( $+functions[_sq__key__help__extract-cert_commands] )) ||
_sq__key__help__extract-cert_commands() {
    local commands; commands=()
    _describe -t commands 'sq key 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__keyring__filter_commands] )) ||
_sq__help__keyring__filter_commands() {
    local commands; commands=()
    _describe -t commands 'sq help keyring filter commands' commands "$@"
}
(( $+functions[_sq__keyring__filter_commands] )) ||
_sq__keyring__filter_commands() {
    local commands; commands=()
    _describe -t commands 'sq keyring filter commands' commands "$@"
}
(( $+functions[_sq__keyring__help__filter_commands] )) ||
_sq__keyring__help__filter_commands() {
    local commands; commands=()
    _describe -t commands 'sq 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:Imports Autocrypt-encoded certificates' \
'decode:Reads Autocrypt-encoded certificates' \
'encode-sender:Encodes 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:Imports certificates into the local certificate store' \
'export:Exports certificates from the local certificate store' \
'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:Encrypts a message' \
'decrypt:Decrypts a message' \
'sign:Signs messages or data files' \
'verify:Verifies signed messages or detached signatures' \
'inspect:Inspects data, like file(1)' \
'cert:Manages certificates' \
'key:Manages keys' \
'keyring:Manages collections of keys or certs' \
'pki:Authenticate certs using the Web of Trust' \
'autocrypt:Communicates certificates using Autocrypt' \
'network:Retrieves and publishes 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=(
'generate:Generates a new key' \
'password:Changes password protecting secrets' \
'revoke:Revoke a certificate' \
'userid:Manages User IDs' \
'subkey:Manages Subkeys' \
'extract-cert:Converts a key to a cert' \
'attest-certifications:Attests to third-party certifications' \
'adopt:Binds 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:Adds a newly generated Subkey' \
'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:Adds a User ID' \
'revoke:Revoke a User ID' \
'strip:Strips 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__keyring__help_commands] )) ||
_sq__keyring__help_commands() {
    local commands; commands=(
'list:Lists keys in a keyring' \
'split:Splits a keyring into individual keys' \
'merge:Merges keys or keyrings into a single keyring' \
'filter:Joins keys into a keyring applying a filter' \
'lint:Checks certificates for issues' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq keyring help commands' commands "$@"
}
(( $+functions[_sq__keyring__help__help_commands] )) ||
_sq__keyring__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'sq keyring help help commands' commands "$@"
}
(( $+functions[_sq__network__dane__help_commands] )) ||
_sq__network__dane__help_commands() {
    local commands; commands=(
'generate:Generates DANE records for the given domain and certs' \
'fetch:Retrieves 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:Retrieves certificates using all supported network services' \
'keyserver:Retrieves and publishes certificates via key servers' \
'wkd:Retrieves and publishes certificates via Web Key Directories' \
'dane:Retrieves 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:Retrieves certificates from key servers' \
'publish:Publishes 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:Generates a Web Key Directory for the given domain and certs' \
'fetch:Retrieves certificates from a Web Key Directory' \
'direct-url:Prints the direct Web Key Directory URL of an email address' \
'url:Prints 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:Certifies a User ID for a Certificate' \
'link:Manages 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:Retracts links' \
'list:Lists 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=(
'packet:Low-level packet manipulation' \
'armor:Converts binary to ASCII' \
'dearmor:Converts 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__packet__help_commands] )) ||
_sq__toolbox__packet__help_commands() {
    local commands; commands=(
'dump:Lists packets' \
'decrypt:Unwraps an encryption container' \
'split:Splits a message into packets' \
'join:Joins 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__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=(
'generate:Generates a new key' \
'password:Changes password protecting secrets' \
'revoke:Revoke a certificate' \
'userid:Manages User IDs' \
'subkey:Manages Subkeys' \
'extract-cert:Converts a key to a cert' \
'attest-certifications:Attests to third-party certifications' \
'adopt:Binds keys from one certificate to another' \
    )
    _describe -t commands 'sq help key commands' commands "$@"
}
(( $+functions[_sq__key_commands] )) ||
_sq__key_commands() {
    local commands; commands=(
'generate:Generates a new key' \
'password:Changes password protecting secrets' \
'revoke:Revoke a certificate' \
'userid:Manages User IDs' \
'subkey:Manages Subkeys' \
'extract-cert:Converts a key to a cert' \
'attest-certifications:Attests to third-party certifications' \
'adopt:Binds 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__keyring_commands] )) ||
_sq__help__keyring_commands() {
    local commands; commands=(
'list:Lists keys in a keyring' \
'split:Splits a keyring into individual keys' \
'merge:Merges keys or keyrings into a single keyring' \
'filter:Joins keys into a keyring applying a filter' \
'lint:Checks certificates for issues' \
    )
    _describe -t commands 'sq help keyring commands' commands "$@"
}
(( $+functions[_sq__keyring_commands] )) ||
_sq__keyring_commands() {
    local commands; commands=(
'list:Lists keys in a keyring' \
'split:Splits a keyring into individual keys' \
'merge:Merges keys or keyrings into a single keyring' \
'filter:Joins keys into a keyring applying a filter' \
'lint:Checks certificates for issues' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq keyring commands' commands "$@"
}
(( $+functions[_sq__help__network__keyserver_commands] )) ||
_sq__help__network__keyserver_commands() {
    local commands; commands=(
'fetch:Retrieves certificates from key servers' \
'publish:Publishes 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:Retrieves certificates from key servers' \
'publish:Publishes 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:Retrieves certificates from key servers' \
'publish:Publishes 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:Retracts links' \
'list:Lists 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:Retracts links' \
'list:Lists 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:Retracts links' \
'list:Lists links' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sq pki link commands' commands "$@"
}
(( $+functions[_sq__help__keyring__lint_commands] )) ||
_sq__help__keyring__lint_commands() {
    local commands; commands=()
    _describe -t commands 'sq help keyring lint commands' commands "$@"
}
(( $+functions[_sq__keyring__help__lint_commands] )) ||
_sq__keyring__help__lint_commands() {
    local commands; commands=()
    _describe -t commands 'sq keyring help lint commands' commands "$@"
}
(( $+functions[_sq__keyring__lint_commands] )) ||
_sq__keyring__lint_commands() {
    local commands; commands=()
    _describe -t commands 'sq keyring lint commands' commands "$@"
}
(( $+functions[_sq__help__keyring__list_commands] )) ||
_sq__help__keyring__list_commands() {
    local commands; commands=()
    _describe -t commands 'sq help keyring 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__keyring__help__list_commands] )) ||
_sq__keyring__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'sq keyring help list commands' commands "$@"
}
(( $+functions[_sq__keyring__list_commands] )) ||
_sq__keyring__list_commands() {
    local commands; commands=()
    _describe -t commands 'sq keyring 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__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__keyring__merge_commands] )) ||
_sq__help__keyring__merge_commands() {
    local commands; commands=()
    _describe -t commands 'sq help keyring merge commands' commands "$@"
}
(( $+functions[_sq__keyring__help__merge_commands] )) ||
_sq__keyring__help__merge_commands() {
    local commands; commands=()
    _describe -t commands 'sq keyring help merge commands' commands "$@"
}
(( $+functions[_sq__keyring__merge_commands] )) ||
_sq__keyring__merge_commands() {
    local commands; commands=()
    _describe -t commands 'sq keyring merge commands' commands "$@"
}
(( $+functions[_sq__help__network_commands] )) ||
_sq__help__network_commands() {
    local commands; commands=(
'fetch:Retrieves certificates using all supported network services' \
'keyserver:Retrieves and publishes certificates via key servers' \
'wkd:Retrieves and publishes certificates via Web Key Directories' \
'dane:Retrieves and publishes certificates via DANE' \
    )
    _describe -t commands 'sq help network commands' commands "$@"
}
(( $+functions[_sq__network_commands] )) ||
_sq__network_commands() {
    local commands; commands=(
'fetch:Retrieves certificates using all supported network services' \
'keyserver:Retrieves and publishes certificates via key servers' \
'wkd:Retrieves and publishes certificates via Web Key Directories' \
'dane:Retrieves 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:Lists packets' \
'decrypt:Unwraps an encryption container' \
'split:Splits a message into packets' \
'join:Joins 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:Lists packets' \
'decrypt:Unwraps an encryption container' \
'split:Splits a message into packets' \
'join:Joins 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:Lists packets' \
'decrypt:Unwraps an encryption container' \
'split:Splits a message into packets' \
'join:Joins 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:Certifies a User ID for a Certificate' \
'link:Manages 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:Certifies a User ID for a Certificate' \
'link:Manages 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__keyring__split_commands] )) ||
_sq__help__keyring__split_commands() {
    local commands; commands=()
    _describe -t commands 'sq help 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__keyring__help__split_commands] )) ||
_sq__keyring__help__split_commands() {
    local commands; commands=()
    _describe -t commands 'sq keyring help split commands' commands "$@"
}
(( $+functions[_sq__keyring__split_commands] )) ||
_sq__keyring__split_commands() {
    local commands; commands=()
    _describe -t commands 'sq 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__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:Adds a newly generated Subkey' \
'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:Adds a newly generated Subkey' \
'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:Adds a newly generated Subkey' \
'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=(
'packet:Low-level packet manipulation' \
'armor:Converts binary to ASCII' \
'dearmor:Converts ASCII to binary' \
    )
    _describe -t commands 'sq help toolbox commands' commands "$@"
}
(( $+functions[_sq__toolbox_commands] )) ||
_sq__toolbox_commands() {
    local commands; commands=(
'packet:Low-level packet manipulation' \
'armor:Converts binary to ASCII' \
'dearmor:Converts 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:Adds a User ID' \
'revoke:Revoke a User ID' \
'strip:Strips 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:Adds a User ID' \
'revoke:Revoke a User ID' \
'strip:Strips 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:Adds a User ID' \
'revoke:Revoke a User ID' \
'strip:Strips 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:Generates a Web Key Directory for the given domain and certs' \
'fetch:Retrieves certificates from a Web Key Directory' \
'direct-url:Prints the direct Web Key Directory URL of an email address' \
'url:Prints 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:Generates a Web Key Directory for the given domain and certs' \
'fetch:Retrieves certificates from a Web Key Directory' \
'direct-url:Prints the direct Web Key Directory URL of an email address' \
'url:Prints 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:Generates a Web Key Directory for the given domain and certs' \
'fetch:Retrieves certificates from a Web Key Directory' \
'direct-url:Prints the direct Web Key Directory URL of an email address' \
'url:Prints 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
