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



(byte-code "\300\301!\210\300\302!\207" [require pgg-def pgg-parse] 2)#@31 

(fn FUNC SCHEME &rest ARGS)
(defalias 'pgg-invoke #[642 "\300\301\302\303\"!!\210\304\305\301\302\306#!#\207" [require intern format "pgg-%s" apply funcall "pgg-%s-%s"] 10 (#$ . 154)])#@29 

(fn START END &rest BODY)
(defalias 'pgg-save-coding-system '(macro . #[642 "\300\301\302\303\304\302\305\306\307F\310\311\312B\313BB\257DE\314\315EBBF\207" [if (called-interactively-p 'interactive) let ((buffer (current-buffer))) with-temp-buffer (buffer-undo-list) insert-buffer-substring buffer (encode-coding-region (point-min) (point-max) buffer-file-coding-system) prog1 save-excursion ((push nil buffer-undo-list) (ignore-errors (undo))) save-restriction narrow-to-region] 15 (#$ . 352)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put pgg-save-coding-system lisp-indent-function 2 put edebug-form-spec t] 5)#@15 

(fn BUFFER)
(defalias 'pgg-temp-buffer-show-function #[257 "\300\301\"\206	 \302 \303\"\210\304!\207" [get-buffer-window visible split-window-vertically set-window-buffer shrink-window-if-larger-than-buffer] 5 (#$ . 1007)])#@205 Situate en/decryption results or pop up an error buffer.

Text from START to END is replaced by contents of output buffer if STATUS
is true, or else the output buffer is displayed.

(fn START END STATUS)
(defalias 'pgg-display-output-buffer #[771 "\211\203	 \300\"\207\301 \207" [pgg-situate-output pgg-display-error-buffer] 6 (#$ . 1243)])#@88 Place en/decryption result in place of current text from START to END.

(fn START END)
(defalias 'pgg-situate-output #[514 "|\210\302!\210\303`	#\207" [pgg-output-buffer buffer-file-coding-system insert-buffer-substring decode-coding-region] 6 (#$ . 1591)])#@76 Pop up an error buffer indicating the reason for an en/decryption failure.
(defalias 'pgg-display-error-buffer #[0 "\306	r\307\n!q\210p\310 \210\311\211\312\211\312\313 \210\314\315!+\210\211\211q\210\316!\317!)\210\266\202)\207" [temp-buffer-show-function default-directory pgg-echo-buffer buffer-read-only buffer-file-name buffer-undo-list pgg-temp-buffer-show-function get-buffer-create kill-all-local-variables nil t erase-buffer run-hooks temp-buffer-setup-hook insert-buffer-substring internal-temp-output-buffer-show inhibit-modification-hooks inhibit-read-only standard-output pgg-errors-buffer] 6 (#$ . 1858)])
(defvar pgg-passphrase-cache (make-vector 7 0))#@193 Hash table for managing scheduled pgg cache management timers.

We associate key and timer, so the timer can be canceled if a new
timeout for the key is set while an old one is still pending.
(defvar pgg-pending-timers (make-vector 7 0) (#$ . 2547))#@285 Using PROMPT, obtain passphrase for KEY from cache or user.

Truncate the key to 8 trailing characters unless NOTRUNCATE is true
(default false).

Custom variables `pgg-cache-passphrase' and `pgg-passphrase-cache-expiry'
regulate cache behavior.

(fn PROMPT &optional KEY NOTRUNCATE)
(defalias 'pgg-read-passphrase #[769 "\300\"\206\n \301!\207" [pgg-read-passphrase-from-cache read-passwd] 6 (#$ . 2803)])#@280 Obtain passphrase for KEY from time-limited passphrase cache.

Truncate the key to 8 trailing characters unless NOTRUNCATE is true
(default false).

Custom variables `pgg-cache-passphrase' and `pgg-passphrase-cache-expiry'
regulate cache behavior.

(fn KEY &optional NOTRUNCATE)
(defalias 'pgg-read-passphrase-from-cache #[513 "\205& \205& \211\204! G\302V\203 \303\304O\202 \211\262\205& \305	\"J\207" [pgg-cache-passphrase pgg-passphrase-cache 8 -8 nil intern-soft] 5 (#$ . 3219)])#@293 Associate KEY with PASSPHRASE in time-limited passphrase cache.

Truncate the key to 8 trailing characters unless NOTRUNCATE is true
(default false).

Custom variables `pgg-cache-passphrase' and `pgg-passphrase-cache-expiry'
regulate cache behavior.

(fn KEY PASSPHRASE &optional NOTRUNCATE)
(defalias 'pgg-add-passphrase-to-cache #[770 "\211\203 \202 G\303V\203 \304\305O\202 \306\"\211J\211\203* \307!\210\310\"\210\311	\"L\210\311\"\312\n\305\313	%L\207" [pgg-pending-timers pgg-passphrase-cache pgg-passphrase-cache-expiry 8 -8 nil intern-soft cancel-timer unintern intern run-at-time pgg-remove-passphrase-from-cache] 13 (#$ . 3718)])#@451 Omit passphrase associated with KEY in time-limited passphrase cache.

Truncate the key to 8 trailing characters unless NOTRUNCATE is true
(default false).

This is a no-op if there is not entry for KEY (eg, it's already expired.

The memory for the passphrase is filled with underscores to clear any
references to it.

Custom variables `pgg-cache-passphrase' and `pgg-passphrase-cache-expiry'
regulate cache behavior.

(fn KEY &optional NOTRUNCATE)
(defalias 'pgg-remove-passphrase-from-cache #[513 "\302\"\203\f \202 G\303V\203 \304\305O\202 \306\"\211J\203. \307!\210\310	\"\210\211\205: \311!\210\310\"\207" [pgg-pending-timers pgg-passphrase-cache pgg-read-passphrase-from-cache 8 -8 nil intern-soft clear-string unintern cancel-timer] 9 (#$ . 4384)])#@22 

(fn START END LBT)
(defalias 'pgg-convert-lbt-region '(macro . #[771 "\300\301\302\303EDC\304D\305\306BBF\207" [let pgg-conversion-end set-marker (make-marker) goto-char cl-case ((CRLF (while (progn (end-of-line) (> (marker-position pgg-conversion-end) (point))) (insert "") (forward-line 1))) (LF (while (re-search-forward "$" pgg-conversion-end t) (replace-match ""))))] 9 (#$ . 5164)]))#@33 

(fn START END LBT &rest BODY)
(defalias 'pgg-as-lbt '(macro . #[899 "\300\301\302F\300\303BCBB\304BBBB\207" [let ((inhibit-read-only t) buffer-read-only buffer-undo-list) pgg-convert-lbt-region ((point)) ((push nil buffer-undo-list) (ignore-errors (undo)))] 10 (#$ . 5566)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put pgg-as-lbt lisp-indent-function 3 put edebug-form-spec t] 5)#@19 

(fn &rest BODY)
(defalias 'pgg-process-when-success '(macro . #[128 "\300\301\302\303\304\305\306\"BBBE\207" [with-current-buffer pgg-output-buffer if (zerop (buffer-size)) nil append (t)] 9 (#$ . 5985)]))
(byte-code "\300\301\302\303#\304\301\305\306#\210\307\310\311\312!\203 \312\202 \313\"\207" [function-put pgg-process-when-success lisp-indent-function 0 put edebug-form-spec t defalias pgg-make-temp-file fboundp make-temp-file #[513 "\301\302!\303\304!\203 \304 \202 \"\203 \305!\210\207" [temporary-file-directory expand-file-name make-temp-name fboundp temp-directory make-directory] 6 "\n\n(fn PREFIX &optional DIR-FLAG)"]] 5)#@277 Encrypt the current region between START and END for RCPTS.

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 RCPTS &optional SIGN PASSPHRASE)
(defalias 'pgg-encrypt-region #[1283 "\304\305!\203O p\306\307\310\"r\211q\210\311\312\"\216\313\314#\210\315ed	#\210\212\316\317\n\206, ed			&)\313B\3201F \321 0\210\202G \210+\262\262\202f \214}\210\316\317\n\206[ ed&)\304\305!\203t \322#\210\207" [buffer-undo-list buffer-file-coding-system pgg-scheme pgg-default-scheme called-interactively-p interactive generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] nil insert-buffer-substring encode-coding-region pgg-invoke "encrypt-region" (error) undo pgg-display-output-buffer] 15 (#$ . 6642) (byte-code "\300 \301 \302\303\304!\305\"E\207" [region-beginning region-end split-string read-string "Recipients: " "[ 	,]+"] 5)])#@200 Encrypt the current region between START and END symmetric with passphrase.

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

(fn START END &optional PASSPHRASE)
(defalias 'pgg-encrypt-symmetric-region #[770 "\304\305!\203J p\306\307\310\"r\211q\210\311\312\"\216\313\314#\210\315ed	#\210\212\316\317\n\206, ed%)\313B\3201A \321 0\210\202B \210+\262\262\202[ \214}\210\316\317\n\206V ed%)\304\305!\203g \322#\210\207" [buffer-undo-list buffer-file-coding-system pgg-scheme pgg-default-scheme called-interactively-p interactive generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] nil insert-buffer-substring encode-coding-region pgg-invoke "encrypt-symmetric-region" (error) undo pgg-display-output-buffer] 11 (#$ . 7690) "r"])#@295 Encrypt the current buffer using a symmetric, rather than key-pair, cipher.

If optional arguments START and END are specified, only encrypt within
the region.

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

(fn &optional START END PASSPHRASE)
(defalias 'pgg-encrypt-symmetric #[768 "\206 e\206\n d\300#\301\302!\203 \303#\210\207" [pgg-encrypt-symmetric-region called-interactively-p interactive pgg-display-output-buffer] 10 (#$ . 8541) nil])#@339 Encrypt the current buffer for RCPTS.

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

If optional arguments START and END are specified, only encrypt within
the region.

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

(fn RCPTS &optional SIGN START END PASSPHRASE)
(defalias 'pgg-encrypt #[1281 "\206 e\206\n d\300		%\301\302!\203  \303#\210\207" [pgg-encrypt-region called-interactively-p interactive pgg-display-output-buffer] 13 (#$ . 9052) (byte-code "\300\301\302!\303\"C\207" [split-string read-string "Recipients: " "[ 	,]+"] 3)])#@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-decrypt-region #[770 "\304\305!\203J p\306\307\310\"r\211q\210\311\312\"\216\313\314#\210\315ed	#\210\212\316\317\n\206, ed%)\313B\3201A \321 0\210\202B \210+\262\262\202[ \214}\210\316\317\n\206V ed%)\304\305!\203g \322#\210\207" [buffer-undo-list buffer-file-coding-system pgg-scheme pgg-default-scheme called-interactively-p interactive generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] nil insert-buffer-substring encode-coding-region pgg-invoke "decrypt-region" (error) undo pgg-display-output-buffer] 11 (#$ . 9681) "r"])#@247 Decrypt the current buffer.

If optional arguments START and END are specified, only decrypt within
the region.

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

(fn &optional START END PASSPHRASE)
(defalias 'pgg-decrypt #[768 "\206 e\206\n d\300#\301\302!\203 \303#\210\207" [pgg-decrypt-region called-interactively-p interactive pgg-display-output-buffer] 10 (#$ . 10497) ""])#@383 Make the signature from text between START and END.

If the optional 3rd argument CLEARTEXT is non-nil, it does not create
a detached signature.

If this function is called interactively, CLEARTEXT is enabled
and the output is displayed.

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

(fn START END &optional CLEARTEXT PASSPHRASE)
(defalias 'pgg-sign-region #[1026 "\304\305!\203S p\306\307\310\"r\211q\210\311\312\"\216\313\314#\210\315ed	#\210\212\316\317\n\206, ed\304\305!\2066 &)\313B\3201J \321 0\210\202K \210+\262\262\202n \214}\210\316\317\n\206_ ed\304\305!\206i &)\304\305!\203z \322#\210\207" [buffer-undo-list buffer-file-coding-system pgg-scheme pgg-default-scheme called-interactively-p interactive generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] nil insert-buffer-substring encode-coding-region pgg-invoke "sign-region" (error) undo pgg-display-output-buffer] 13 (#$ . 10940) "r"])#@438 Sign the current buffer.

If the optional argument CLEARTEXT is non-nil, it does not create a
detached signature.

If optional arguments START and END are specified, only sign data
within the region.

If this function is called interactively, CLEARTEXT is enabled
and the output is displayed.

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

(fn &optional CLEARTEXT START END PASSPHRASE)
(defalias 'pgg-sign #[1024 "\206 e\206\n d\300\301\302!\206 $\301\302!\203$ \303#\210\207" [pgg-sign-region called-interactively-p interactive pgg-display-output-buffer] 11 (#$ . 11987) ""])#@336 Verify the current region between START and END.
If the optional 3rd argument SIGNATURE is non-nil, it is treated as
the detached signature of the current region.

If the optional 4th argument FETCH is non-nil, we attempt to fetch the
signer's public key from `pgg-default-keyserver-address'.

(fn START END &optional SIGNATURE FETCH)
(defalias 'pgg-verify-region #[1026 "\205& \306\307\310\"r\211q\210\311\312\"\216\313 \210\314\315!\210\316!\210\317\320ed\"\236A*\262\321\236A\315\211;\203t \203t \322G\323V\203D \324\315O\202E P\262\325!\204t \204X \326\327!\203t \330\331\332\"!\203t \333\236A\206i 	\211\262\203t \334\"\210\326\327!\203\276 p\306\307\310\"r\211q\210\311\335\"\216\315\336#\210\337ed#\210\212\340\341\f\206\240 ed\f%)\315\nB\3421\265 \343 0\210\202\266 \210+\262\262\202\322 \214}\210\340\341\f\206\314 ed\n%)\262\326\327!\203\344+,r\345-!q\210p\346 \210,\315\211./\310\211\31001\347 \210\350\351!+\210\2112\211q\210\336\2033\2024!\210\352!*\266\207" [pgg-query-keyserver pgg-default-keyserver-address buffer-undo-list buffer-file-coding-system pgg-scheme pgg-default-scheme generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] buffer-disable-undo set-buffer-multibyte nil insert-file-contents 2 pgg-decode-armor-region key-identifier "0x" 8 -8 pgg-lookup-key called-interactively-p interactive y-or-n-p format "Key %s not found; attempt to fetch? " preferred-key-server pgg-fetch-key #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] insert-buffer-substring encode-coding-region pgg-invoke "verify-region" (error) undo pgg-temp-buffer-show-function get-buffer-create kill-all-local-variables erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show temp-buffer-show-function default-directory pgg-echo-buffer buffer-read-only buffer-file-name inhibit-modification-hooks inhibit-read-only standard-output pgg-output-buffer pgg-errors-buffer] 17 (#$ . 12634) "r"])#@392 Verify the current buffer.
If the optional argument SIGNATURE is non-nil, it is treated as
the detached signature of the current region.
If the optional argument FETCH is non-nil, we attempt to fetch the
signer's public key from `pgg-default-keyserver-address'.
If optional arguments START and END are specified, only verify data
within the region.

(fn &optional SIGNATURE FETCH START END)
(defalias 'pgg-verify #[1024 "\206 e\206\n d\306$\307\310!\203U \311	r\312\n!q\210p\313 \210\314\211\315\211\315\316 \210\317\320!+\210\211\211q\210\321\203K \202M !\210\322!*\266\207" [temp-buffer-show-function default-directory pgg-echo-buffer buffer-read-only buffer-file-name buffer-undo-list pgg-verify-region called-interactively-p interactive pgg-temp-buffer-show-function get-buffer-create kill-all-local-variables nil t erase-buffer run-hooks temp-buffer-setup-hook insert-buffer-substring internal-temp-output-buffer-show inhibit-modification-hooks inhibit-read-only standard-output pgg-output-buffer pgg-errors-buffer] 12 (#$ . 14684) ""])#@38 Insert the ASCII armored public key.
(defalias 'pgg-insert-key #[0 "\302\303\206 	\"\207" [pgg-scheme pgg-default-scheme pgg-invoke "insert-key"] 3 (#$ . 15759) nil])#@81 Import public keys in the current region between START and END.

(fn START END)
(defalias 'pgg-snarf-keys-region #[514 "\304\305!\203B p\306\307\310\"r\211q\210\311\312\"\216\313\314#\210\315ed	#\210\212\316\317\n\206* $)\313B\3201? \321 0\210\202@ \210+\207\214}\210\316\317\n\206N $)\207" [buffer-undo-list buffer-file-coding-system pgg-scheme pgg-default-scheme called-interactively-p interactive generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] nil insert-buffer-substring encode-coding-region pgg-invoke "snarf-keys-region" (error) undo] 9 (#$ . 15933) "r"])#@43 Import public keys in the current buffer.
(defalias 'pgg-snarf-keys #[0 "\300ed\"\207" [pgg-snarf-keys-region] 3 (#$ . 16582) ""])#@30 

(fn STRING &optional TYPE)
(defalias 'pgg-lookup-key #[513 "\302\303\206 	$\207" [pgg-scheme pgg-default-scheme pgg-invoke "lookup-key"] 7 (#$ . 16718)])
(defvar pgg-insert-url-function 'pgg-insert-url-with-w3)#@12 

(fn URL)
(defalias 'pgg-insert-url-with-w3 #[257 "\3011 \302\303!\210\304\305!)0\207\210\304\207" [buffer-file-name (error) require url nil url-insert-file-contents] 3 (#$ . 16940)])
(defvar pgg-insert-url-extra-arguments nil)
(defvar pgg-insert-url-program nil)#@12 

(fn URL)
(defalias 'pgg-insert-url-with-program #[257 "\302!\303\304\305\306\"r\211q\210\307\310\"\216\311\312\313p		C\244%\262\314\315\"\210\316!\317=\2034 \320\321\"\210\202$ \322!\210\203H \316!\317=\203H \323!\210\324 *\262c\207" [pgg-insert-url-extra-arguments pgg-insert-url-program copy-sequence nil generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] apply start-process " *PGG url*" set-process-sentinel ignore process-status run accept-process-output 5 delete-process interrupt-process buffer-string] 11 (#$ . 17213)])#@97 Attempt to fetch a KEY from KEYSERVER for addition to PGP or GnuPG keyring.

(fn KEYSERVER KEY)
(defalias 'pgg-fetch-key #[514 "r\302!q\210\303 \210\304 \210\305\306\"\205 \307\211\225SO\212	\203# \202( \310\311#!)\210\312\313\314\315#\205b e\307\224|\210\312\316\314\317#\203G \314\210`d|\210\320c\210\321\322\317\"r\211q\210\323\324\"\216\325!\210\326ed\"*\262)\207" [pgg-output-buffer pgg-insert-url-function get-buffer-create buffer-disable-undo erase-buffer string-match "^[a-zA-Z\\+.-]+:" 0 format "http://%s:11371/pks/lookup?op=get&search=%s" re-search-forward "^-+BEGIN" nil last "^-+END" t "\n" generate-new-buffer " *temp*" make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] insert-buffer-substring pgg-snarf-keys-region] 8 (#$ . 17823)])
(provide 'pgg)
