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



(byte-code "\300\301!\210\300\302!\207" [require sasl hmac-md5] 2)
(defvar sasl-digest-md5-nonce-count 1)
(defvar sasl-digest-md5-unique-id-function sasl-unique-id-function)#@57 A syntax table for parsing digest-challenge attributes.
(defvar sasl-digest-md5-syntax-table (byte-code "\300 \301\302\303#\210\301\304\303#\210\207" [make-syntax-table modify-syntax-entry 61 "." 44] 5) (#$ . 257))
(defconst sasl-digest-md5-steps '(ignore sasl-digest-md5-response ignore))#@173 Parse STRING and return a property list.
The value is a cons cell of the form (realm nonce qop-options stale maxbuf
charset algorithm cipher-opts auth-param).

(fn STRING)
(defalias 'sasl-digest-md5-parse-string #[257 "\301\302\303\"r\211q\210\304\305\"\216\306!\210\212c\210eb\210\307c\210\310 \210m\204, \311\312!\210\313c\210\202 \314c\210\315\316 !+\207" [sasl-digest-md5-syntax-table generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] set-syntax-table "(" forward-sexp delete-char 1 " " ")" read point-min-marker] 5 (#$ . 555)])#@43 

(fn SERV-TYPE HOST &optional SERV-NAME)
(defalias 'sasl-digest-md5-digest-uri #[770 "\300\205 \230?\205 \300PR\207" ["/"] 8 (#$ . 1159)])
(defalias 'sasl-digest-md5-cnonce #[0 "\302 )\207" [sasl-digest-md5-unique-id-function sasl-unique-id-function sasl-unique-id] 1])#@71 

(fn USERNAME REALM NONCE CNONCE NONCE-COUNT QOP DIGEST-URI AUTHZID)
(defalias 'sasl-digest-md5-response-value #[2056 "\300\301\302\n\"!\303\304\"\216\305\306\305\306\211\307\307	\260!\307\f\307\n\205+ \307P\260!!\307\n\307\301\310\f\"\307\307\307\305\306\311\312\235\205L \313Q!!\260!!)\207" [sasl-read-passphrase format "DIGEST-MD5 passphrase for %s: " make-closure #[0 "\301\300\302\"\207" [V0 fillarray 0] 3] encode-hex-string md5-binary ":" "%08x" "AUTHENTICATE:" ("auth-int" "auth-conf") ":00000000000000000000000000000000"] 27 (#$ . 1445)])#@20 

(fn CLIENT STEP)
(defalias 'sasl-digest-md5-response #[514 "\301\302!!\303\304\"\206 \305\304\"\303\306\"\206 \303\307\"\206  \310\311\312!\313!\"\303\314\"\2064 \315 \316\306T#\210\310\230\204J \317\320\321\"!\210\322\323	!\324\325\305\326\"\327\330\320\331\"\332\f\333\334\335\323!\305\326\"\305\336\"&\260\207" [sasl-digest-md5-nonce-count sasl-digest-md5-parse-string sasl-step-data sasl-client-property realm plist-get nonce-count qop "auth" sasl-digest-md5-digest-uri sasl-client-service sasl-client-server cnonce sasl-digest-md5-cnonce sasl-client-set-property sasl-error format "Unsupported \"qop-value\": %s" "username=\"" sasl-client-name "\",realm=\"" "\",nonce=\"" nonce "\",cnonce=\"" "\"," "nc=%08x," "digest-uri=\"" "\",qop=" ",response=" sasl-digest-md5-response-value authzid] 34 (#$ . 2025)])
(byte-code "\301\302\303\304\305\"#\210\306\302!\207" [sasl-digest-md5-steps put sasl-digest sasl-mechanism sasl-make-mechanism "DIGEST-MD5" provide] 6)
