;ELC   
;;; Compiled
;;; in Emacs version 29.4
;;; with all optimizations.



(byte-code "\300\301!\210\302\303\304\305\306\301%\210\307\310\311\312\313DD\314\315\316%\210\307\317\311\312\320DD\321\315\322%\210\307\323\311\312\324DD\325\315\326%\210\307\327\311\312\330DD\331\315\332%\207" [require pgg custom-declare-group pgg-gpg nil "GnuPG interface." :group custom-declare-variable pgg-gpg-program funcall function #[0 "\300\207" ["gpg"] 1 #1=""] "The GnuPG executable." :type string pgg-gpg-extra-args #[0 "\300\207" [nil] 1 #1#] "Extra arguments for every GnuPG invocation." (repeat (string :tag "Argument")) pgg-gpg-recipient-argument #[0 "\300\207" ["--recipient"] 1 #1#] "GnuPG option to specify recipient." (choice (const :tag "New `--recipient' option" "--recipient") (const :tag "Old `--remote-user' option" "--remote-user")) pgg-gpg-use-agent #[0 "\300\207" [t] 1 #1#] "Whether to use gnupg agent for key caching." boolean] 6)#@36 GnuPG ID of your default identity.
(defvar pgg-gpg-user-id nil (#$ . 945))#@42 

(fn START END PASSPHRASE PROGRAM ARGS)
(defalias 'pgg-gpg-process-region #[1285 "?\205 \306 \307\310!\311\312\313\203 \314\202 \205 \315\316\317E$BB	\n\320 \321\322\321C\321\211\211C\321Cr\323!q\210\324 \210\325 )\210\326\327\n&\216\330\331!\210\332\333\334\335\n%\240)\210\336\242\337\"\210\203\240 \340P\240\2106\203\220 \211\341\242\3426\343\"\"\240\210\344\242!\210\202\231 \211\242\240\210\321\240\210\345\242\242\"\210\346\242#\210\347\242!\210\350\242!\351=\203\300 \352\242\353\"\210\202\256 \352\242\353\"\210\350\242!\262\354\242!\262\355\242!\210r\323!q\210\324 \210\325 \210\356\n!\203\375 7\203\364 \357\202\365 \3328\360\n!)\210q\210\361>\203\362\363#\210\364U\205\362\365\",\207" [pgg-gpg-extra-args pgg-output-buffer pgg-errors-buffer process-connection-type inhibit-redisplay coding-system-for-write pgg-gpg-use-agent-p pgg-make-temp-file "pgg-output" "--status-fd" "2" append ("--use-agent") ("--passphrase-fd" "0") "--yes" "--output" default-file-modes nil t get-buffer-create buffer-disable-undo erase-buffer make-closure #[0 "\301\242\203\n \305\301\242!\210\300\242\203 \305\300\242!\210\302\242\203' \306\302\242!\307=\203' \310\302\242!\210\311\304!\2031 \312\304!\210\313\303!\207" [V0 V1 V2 V3 V4 clear-string process-status run interrupt-process file-exists-p delete-file set-default-file-modes] 2] set-default-file-modes 448 binary apply start-process "*GnuPG*" set-process-sentinel ignore "\n" encode-coding-string coding-system-change-eol-conversion unix clear-string process-send-string process-send-region process-send-eof process-status run accept-process-output 5 process-exit-status delete-process file-exists-p raw-text insert-file-contents (stop signal) error "%s exited abnormally: `%s'" 127 "%s could not be found" pgg-passphrase-coding-system pgg-text-mode coding-system-for-read] 23 (#$ . 1025)])#@44 

(fn PASSPHRASE &optional KEY NOTRUNCATE)
(defalias 'pgg-gpg-possibly-cache-passphrase #[769 "\205, \205, eb\210\301\302\303\304#\205, \305\206) eb\210\301\306\303\304#\205) \307\310!\311\303O#\207" [pgg-cache-passphrase re-search-forward "^\\[GNUPG:] \\(GOOD_PASSPHRASE\\>\\)\\|\\(SIG_CREATED\\)" nil t pgg-add-passphrase-to-cache "^\\[GNUPG:] NEED_PASSPHRASE\\(_PIN\\)? \\w+ ?\\w*" match-string 0 -8] 8 (#$ . 2950)])
(defvar pgg-gpg-all-secret-keys 'unknown)#@52 Return all secret keys present in secret key ring.
(defalias 'pgg-gpg-lookup-all-secret-keys #[0 "\302=\203? \303\304\305\306\307F\310\311\312\"r\211q\210\313\314\"\216\315\316	\303\312\303&\210eb\210\317\320\303\312#\203< \321\322!\323\303OB\202( *\266\207" [pgg-gpg-all-secret-keys pgg-gpg-program unknown nil "--with-colons" "--no-greeting" "--batch" "--list-secret-keys" generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] apply call-process re-search-forward "^\\(sec\\|pub\\):[^:]*:[^:]*:[^:]*:\\([^:]*\\)" match-string 2 8] 9 (#$ . 3422)])#@65 Search keys associated with STRING.

(fn STRING &optional TYPE)
(defalias 'pgg-gpg-lookup-key #[513 "\301\302\303\203 \304\202\f \305\257\306\307\310\"r\211q\210\311\312\"\216\313\314\315\310\315&\210eb\210\316\317\315\310#\2058 \320\321!\322\315O*\207" [pgg-gpg-program "--with-colons" "--no-greeting" "--batch" "--list-secret-keys" "--list-keys" generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] apply call-process nil re-search-forward "^\\(sec\\|pub\\):[^:]*:[^:]*:[^:]*:\\([^:]*\\)" match-string 2 8] 11 (#$ . 4044)])#@343 Search keys associated with STRING and return owner of identified key.

The value may be just the bare key id, or it may be a combination of the
user name associated with the key and the key id, with the key id enclosed
in "<...>" angle brackets.

Optional ALL non-nil means search all keys, including secret keys.

(fn STRING &optional ALL)
(defalias 'pgg-gpg-lookup-key-owner #[513 "\301\302\303\203 \304\202\f \305\257\306\307\310\"r\211q\210\311\312\"\216\313\314\315\310\315&\210eb\210\316\317\315\310#\2055 \320\321!*\207" [pgg-gpg-program "--with-colons" "--no-greeting" "--batch" "--list-secret-keys" "--list-keys" generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] apply call-process nil re-search-forward "^\\(sec\\|pub\\|uid\\):[^:]*:[^:]*:[^:]*:\\([^:]*\\):[^:]*:[^:]*:[^:]*:[^:]*:\\([^:]+\\):" match-string 3] 11 (#$ . 4644)])#@18 

(fn KEY-OWNER)
(defalias 'pgg-gpg-key-id-from-key-owner #[257 "\211\204 \300\207\301\302\"\203 \211\303\224\303\225O\207\207" [nil string-match "[^<]*<\\(.+\\)>[^>]*" 1] 4 (#$ . 5559)])#@272 Encrypt the current region between START and END.

If optional argument SIGN is non-nil, do a combined sign and encrypt.

If optional PASSPHRASE is not specified, it will be obtained from the
passphrase cache or user.

(fn START END RECIPIENTS &optional SIGN PASSPHRASE)
(defalias 'pgg-gpg-encrypt-region #[1283 "\206 	\211\206 \205 \306 ?\205 \307\310\311\"\"\312\313\n\205# \314C\205+ \315\316E\2044 \205D \317\320\321\322\312\f\205A C\"\"\"$\323\f%\210\203a rq\210\324\"\210\324!)\210rq\210\325 \326U*?\207" [pgg-gpg-user-id pgg-default-user-id pgg-text-mode pgg-encrypt-for-me pgg-gpg-program pgg-errors-buffer pgg-gpg-use-agent-p pgg-read-passphrase format "GnuPG passphrase for %s: " append ("--batch" "--armor" "--always-trust" "--encrypt") "--textmode" "--sign" "--local-user" apply nconc mapcar #[257 "D\207" [pgg-gpg-recipient-argument] 3 "\n\n(fn RCPT)"] pgg-gpg-process-region pgg-gpg-possibly-cache-passphrase buffer-size 0 pgg-output-buffer] 17 (#$ . 5756)])#@207 Encrypt the current region between START and END with symmetric cipher.

If optional PASSPHRASE is not specified, it will be obtained from the
passphrase cache or user.

(fn START END &optional PASSPHRASE)
(defalias 'pgg-gpg-encrypt-symmetric-region #[770 "\211\206 \303 ?\205 \304\305!\306\307\205 \310C\"\311	%\210r\nq\210\312 \313U)?\207" [pgg-text-mode pgg-gpg-program pgg-output-buffer pgg-gpg-use-agent-p pgg-read-passphrase "GnuPG passphrase for symmetric encryption: " append ("--batch" "--armor" "--symmetric") "--textmode" pgg-gpg-process-region buffer-size 0] 11 (#$ . 6767)])#@185 Decrypt the current region between START and END.

If optional PASSPHRASE is not specified, it will be obtained from the
passphrase cache or user.

(fn START END &optional PASSPHRASE)
(defalias 'pgg-gpg-decrypt-region #[770 "p\304\305\306\"r\211q\210\307\310\"\216\311!\210\312ed\"*\262\313 \314\"\211\205' \315\306\"\316!\211\2067 \2067 \2067 	\206Y \317 ?\205Y \320\321\322!\203P \323\202Q \324\206V \325\"\"\326\327\n%\210rq\210\330\"\210eb\210\331\332\333\306#*\207" [pgg-gpg-user-id pgg-default-user-id pgg-gpg-program pgg-errors-buffer generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] insert-buffer-substring pgg-decode-armor-region pgg-gpg-lookup-all-secret-keys pgg-gpg-select-matching-key pgg-gpg-lookup-key-owner pgg-gpg-key-id-from-key-owner pgg-gpg-use-agent-p pgg-read-passphrase format pgg-gpg-symmetric-key-p "Passphrase for symmetric decryption: " "GnuPG passphrase for %s: " "??" ("--batch" "--decrypt") pgg-gpg-process-region pgg-gpg-possibly-cache-passphrase re-search-forward "^\\[GNUPG:] DECRYPTION_OKAY\\>" nil] 17 (#$ . 7369)])#@91 True if decoded armor MESSAGE-KEYS has symmetric encryption indicator.

(fn MESSAGE-KEYS)
(defalias 'pgg-gpg-symmetric-key-p #[257 "\300\211\203 \211@\211@\301=\203 \302\235\203 \211\262A\266\202\202 \207" [nil 3 (symmetric-key-algorithm)] 6 (#$ . 8513)])#@108 Choose a key from MESSAGE-KEYS that matches one of the keys in SECRET-KEYS.

(fn MESSAGE-KEYS SECRET-KEYS)
(defalias 'pgg-gpg-select-matching-key #[514 "\300\211\211\211\211\211:\203O @\262@\301=\205 \302A\236A\262\205) \303\304\"\262\203@ \235\203@ \262\300\211\262\202A \305\203O A\262\300\262\202 \207" [nil 1 key-identifier pgg-lookup-key encrypt t] 12 (#$ . 8784)])#@105 Make detached signature from text between START and END.

(fn START END &optional CLEARTEXT PASSPHRASE)
(defalias 'pgg-gpg-sign-region #[1026 "\206 	\211\206 \306 ?\205 \307\310\311\"\"\312\203  \313\202! \314\315\316\317\320\257\n\205. \321C\"\322\323\324%\210rq\210\325\"\210\325!)\210rq\210\326 \327U,?\207" [pgg-gpg-user-id pgg-default-user-id pgg-text-mode inhibit-read-only buffer-read-only pgg-gpg-program pgg-gpg-use-agent-p pgg-read-passphrase format "GnuPG passphrase for %s: " append "--clearsign" "--detach-sign" "--armor" "--batch" "--verbose" "--local-user" "--textmode" t nil pgg-gpg-process-region pgg-gpg-possibly-cache-passphrase buffer-size 0 pgg-errors-buffer pgg-output-buffer] 12 (#$ . 9187)])#@110 Verify region between START and END as the detached signature SIGNATURE.

(fn START END &optional SIGNATURE)
(defalias 'pgg-gpg-verify-region #[770 "\303;\203 \304C\"\262\304\305\"\262\306\307%\210r	q\210eb\210\310\311\307\312#\203@ r\nq\210\313	\314\224\315\225#)\210\315\224\315\225|\210\202\" eb\210\310\316\307\312#)\207" [pgg-gpg-program pgg-errors-buffer pgg-output-buffer ("--batch" "--verify") append ("-") pgg-gpg-process-region nil re-search-forward "^gpg: \\(.*\\)\n" t insert-buffer-substring 1 0 "^\\[GNUPG:] GOODSIG\\>"] 10 (#$ . 9935)])#@29 Insert public key at point.
(defalias 'pgg-gpg-insert-key #[0 "\206 	\304\305\306F\307``\310\n%\210\311!)\207" [pgg-gpg-user-id pgg-default-user-id pgg-gpg-program pgg-output-buffer "--batch" "--export" "--armor" pgg-gpg-process-region nil insert-buffer-substring] 7 (#$ . 10503)])#@85 Add all public keys in region between START and END to the keyring.

(fn START END)
(defalias 'pgg-gpg-snarf-keys-region #[514 "\303\304\305\304%\210	q\210eb\210\306\307\304\310#\203W \311\225\304\210`{\262\312\313\314\315!\"!\262\316 \210\317\320\321H\322H\\\311H\323H\324H\325H\\%\326H\311U\203S \327\202T \330\261\210\331\ned#\210r\nq\210\332 \311U)?\207" [pgg-gpg-program pgg-errors-buffer pgg-output-buffer ("--import" "--batch" "-") nil pgg-gpg-process-region re-search-forward "^\\[GNUPG:] IMPORT_RES\\>" t 0 vconcat mapcar string-to-number split-string erase-buffer format "Imported %d key(s).\n	Armor contains %d key(s) [%d bad, %d old].\n" 2 10 1 4 11 9 "" "	Secret keys are imported.\n" append-to-buffer buffer-size] 12 (#$ . 10796)])#@56 Try to connect to gpg-agent and send UPDATESTARTUPTTY.
(defalias 'pgg-gpg-update-agent #[0 "\300\301!\203? \302\303!\211\205 \304\305\"\205 \306\307\"\211\205( \301\310\311\312\313\314\313\315&\211\205> \316!\317=\205> \320\321\"\210\322!\210\323\207\323\207" [fboundp make-network-process getenv "GPG_AGENT_INFO" string-match "^\\([^:]*\\)" match-string 1 :name "gpg-agent-process" :host local :family :service process-status open process-send-string "UPDATESTARTUPTTY\n" delete-process t] 11 (#$ . 11565)])#@66 Return t if `pgg-gpg-use-agent' is t and gpg-agent is available.
(defalias 'pgg-gpg-use-agent-p #[0 "\205 \301 \207" [pgg-gpg-use-agent pgg-gpg-update-agent] 1 (#$ . 12089)])
(provide 'pgg-gpg)
