;ELC   
;;; Compiled by root@tweety.build.redhat.com on Tue Dec 14 03:50:02 2004
;;; from file /usr/src/build/496412-noarch/BUILD/flim-1.14.7/mel-b-el.el
;;; in Emacs version 21.3.1
;;; with bytecomp version 2.85.4.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`mel-b-el.el' was compiled for Emacs 19.29 or later"))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\302\303\304\305\306\307%\207" [require mime-def custom-declare-group base64 nil "Base64 encoder/decoder" :group mime] 6)
#@57 *list of base64 encoder program name and its arguments.
(custom-declare-variable 'base64-external-encoder ''("mmencode") '(#$ . -785) :group 'base64 :type '(cons (file :tag "Command") (repeat :tag "Arguments" string)))
#@57 *list of base64 decoder program name and its arguments.
(custom-declare-variable 'base64-external-decoder ''("mmencode" "-u") '(#$ . -1010) :group 'base64 :type '(cons (file :tag "Command") (repeat :tag "Arguments" string)))
#@135 *list of options of base64 decoder program to specify file.
If the base64 decoder program does not have such option, set this as nil.
(custom-declare-variable 'base64-external-decoder-option-to-specify-file ''("-o") '(#$ . -1242) :group 'base64 :type '(repeat :tag "Arguments" string))
#@127 *limit size to use internal base64 encoder.
If size of input to encode is larger than this limit,
external encoder is called.
(custom-declare-variable 'base64-internal-encoding-limit '1000 '(#$ . -1535) :group 'base64 :type '(choice (const :tag "Always use internal encoder" nil) (integer :tag "Size")))
#@127 *limit size to use internal base64 decoder.
If size of input to decode is larger than this limit,
external decoder is called.
(custom-declare-variable 'base64-internal-decoding-limit '(if (and (featurep 'xemacs) (featurep 'mule)) 1000 7600) '(#$ . -1846) :group 'base64 :type '(choice (const :tag "Always use internal decoder" nil) (integer :tag "Size")))
#@100 Split sequence SEQ into SIZE elements packs, and return list of packs.
[mel-b-el; tl-seq function]
(defalias 'pack-sequence #[(seq size) "G\306\307\211\fW\203+ \234	BT\310\311\"!\203	 	\237\nB\307\202	 	\2037 	\237\nB\237\2029 \n\237,\207" [seq unit dest p len size 0 nil zerop mod] 4 (#$ . 2209)])
(byte-code "\301B\302\301\207" [current-load-list base64-characters "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"] 2)
(defalias 'base64-num-to-char '(macro . #[(n) "\301\302E\207" [n aref base64-characters] 3]))
(defalias 'base64-encode-1 #[(pack) "\303\304\305\"\211\306	\307\n@\310\"HI\210\nA@\203j \311	\312\307\313\n@\314\"\304\"\307\nA@\315\"\"HI\210\316\n8\203X \316	\312\307\313\nA@\317\"\316\"\307\316\n8\320\"\"HI\210\314	\313\316\n8\321\"HI\210\202x \316	\307\313\nA@\317\"\316\"HI\210\202x \311	\307\313\n@\314\"\304\"HI\210)\207" [buf base64-characters pack make-string 4 61 0 ash -2 1 logior logand 3 -4 2 15 -6 63] 9])
(defalias 'base64-internal-encode-region #[(beg end &optional no-line-break) "\212\214	}\210\303	{\n\"	|\210c*\207" [beg end no-line-break base64-encode-string] 3])
(byte-code "\301B\302\301\207" [current-load-list base64-numbers [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil 62 nil nil nil 63 52 53 54 55 56 57 58 59 60 61 nil nil nil nil nil nil nil 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 nil nil nil nil nil nil 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51]] 2)
(defalias 'base64-char-to-num '(macro . #[(c) "\301\302E\207" [c aref base64-numbers] 3]))
(defalias 'base64-internal-decode #[(string buffer) "G\306\306\307\307\307\n\310\311\215\210\306O.\207" [string len i j v1 v2 0 nil tag (byte-code "	W\203\222 \nHH\211T\203  \nHHT\nHHT\306\307\f\310\"\307\311\"\"I\210T\203\212 \nHHT\306\307\312\313\"\314\"\307\315\"\"I\210T\203\201 \211T\306\307\312\316\"\317\"\"I\210\202\206 \320\321\322\"\210)\202  \320\321\322\"\210\202  \322\207" [i len base64-numbers string v1 v2 logior lsh 2 -4 logand 15 4 -2 3 6 throw tag nil v3 buffer j v4] 7) v3 buffer] 3])
(put 'base64-internal-decode 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'base64-internal-decode-string #[(string) "\306G\307\"\211G\307\307\310\310\310\f\311\312\215\210	\307\fO.\207" [string buffer len i j v1 make-string 0 nil tag (byte-code "	W\203\222 \nHH\211T\203  \nHHT\nHHT\306\307\f\310\"\307\311\"\"I\210T\203\212 \nHHT\306\307\312\313\"\314\"\307\315\"\"I\210T\203\201 \211T\306\307\312\316\"\317\"\"I\210\202\206 \320\321\322\"\210)\202  \320\321\322\"\210\202  \322\207" [i len base64-numbers string v1 v2 logior lsh 2 -4 logand 15 4 -2 3 6 throw tag nil v3 buffer j v4] 7) v2 v3] 5])
(defalias 'base64-internal-decode-region #[(beg end) "\212\306	{!\211\211\211G\307\307\f\310\310\310\311\312\215\210\307\fO.	|\210c*\207" [beg end str buffer string len string-as-unibyte 0 nil tag (byte-code "	W\203\222 \nHH\211T\203  \nHHT\nHHT\306\307\f\310\"\307\311\"\"I\210T\203\212 \nHHT\306\307\312\313\"\314\"\307\315\"\"I\210T\203\201 \211T\306\307\312\316\"\317\"\"I\210\202\206 \320\321\322\"\210)\202  \320\321\322\"\210\202  \322\207" [i len base64-numbers string v1 v2 logior lsh 2 -4 logand 15 4 -2 3 6 throw tag nil v3 buffer j v4] 7) i j v1 v2 v3] 4])
(defalias 'base64-external-encode-region #[(beg end &optional no-line-break) "\212\214	}\210\306\307\211\310\311	@\312\211\306A&\210+eb\210\313\314\306\312#\203- \315\316!\210\202 \205D eb\210\317\320\306\312#\205D \315\316!\210\2025 *\207" [beg end coding-system-for-write coding-system-for-read selective-display base64-external-encoder nil binary apply call-process-region t re-search-forward "$" replace-match "" search-forward "\n" no-line-break] 9])
(defalias 'base64-external-decode-region #[(beg end) "\212\306\307\211\310\311\f@\312\211\306A&,\207" [coding-system-for-write coding-system-for-read selective-display beg end base64-external-decoder nil binary apply call-process-region t] 9])
(defalias 'base64-external-decode-string #[(string) "\306\307\310!!\311\216rq\210	c\210\312\313\211\314\315ed@\316\211\312A&\210+\317 +\207" [#1=#:temp-buffer string coding-system-for-write coding-system-for-read selective-display base64-external-decoder get-buffer-create generate-new-buffer-name " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) nil binary apply call-process-region t buffer-string] 9])
(byte-code "\306\307\310\311\"\210\302	B\312\302!\204 \313\314\315\"\316\317\n\"\320!\204& \321KM\210)\306\307\310\322\"\210\303	B\312\303!\204= \313\314\315\"\316\317\"\320!\204M \323KM\210)\306\307\310\324\"\210\304	B\312\304!\204d \313\314\315\"\316\317\f\"\320!\204t \325KM\210)\306\307\310\326\"\210\305	B\312\305!\204\213 \313\314\315\"\316\317\"\320!\204\233 \327KM\210)\306\307\310\330\"\210\331	B\312\331!\204\263 \313\314\315\"\316\332\"\320!\204\304 \321KM\210)\307\310\333\"\210\334	B\312\334!\204\332 \313\314\315\"\316\332\"\335M\207" [sym current-load-list mime-encode-string-obarray mime-decode-string-obarray mime-encode-region-obarray mime-decode-region-obarray nil add-to-list mel-service-list mime-encode-string boundp make-vector 7 0 intern "base64" fboundp base64-encode-string mime-decode-string base64-decode-string mime-encode-region base64-encode-region mime-decode-region base64-decode-region encoded-text-encode-string encoded-text-encode-string-obarray "B" encoded-text-decode-string encoded-text-decode-string-obarray #[(string) "\301\302\"\203 \303!\207\304\305\"\207" [string string-match "\\`\\(\\([A-Za-z0-9+/][A-Za-z0-9+/][A-Za-z0-9+/][A-Za-z0-9+/]\\)*[A-Za-z0-9+/][A-Za-z0-9+/][A-Za-z0-9+/=][A-Za-z0-9+/=]\\)\\'" base64-decode-string error "Invalid encoded-text %s"] 3]] 3)
#@231 Encode contents of file FILENAME to base64, and insert the result.
It calls external base64 encoder specified by
`base64-external-encoder'.  So you must install the program (maybe
mmencode included in metamail or XEmacs package).
(defalias 'base64-insert-encoded-file #[(filename) "\203 \304\305	!8V\203 \306\307\n@	\310\311\nA&\207\312\313\314\315!!\316\216rq\210\317\311!\210\320	!\210\321 +!c\210n\206; \322c\207" [base64-internal-encoding-limit filename base64-external-encoder #1=#:temp-buffer 7 file-attributes apply call-process t nil base64-encode-string get-buffer-create generate-new-buffer-name " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) set-buffer-multibyte insert-file-contents-as-binary buffer-string 10] 7 (#$ . 8370) "*fInsert encoded file: "])
(byte-code "\303\304\305\306\"\210\302	B\307\302!\204 \310\311\312\"\313\314\n\"\315!\204& \316KM\210)\303\207" [sym current-load-list mime-insert-encoded-file-obarray nil add-to-list mel-service-list mime-insert-encoded-file boundp make-vector 7 0 intern "base64" fboundp base64-insert-encoded-file] 3)
#@102 Decode and write current region encoded by base64 into FILENAME.
START and END are buffer positions.
(defalias 'base64-write-decoded-region #[(start end filename) "\203H 	\nZV\203H \306\307\211\310\311\n	@??\205% p\306D\306\312\306\313A\211\2055 C#\"&\210+?\205h \314ed#\207\n	{\315\316\317!!\320\216rq\210\321!c\210\314ed#,\207" [base64-internal-decoding-limit end start coding-system-for-write coding-system-for-read selective-display nil binary apply call-process-region delq append write-region-as-binary get-buffer-create generate-new-buffer-name " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#1=#:temp-buffer buffer-name kill-buffer] 2)) base64-internal-decode-string base64-external-decoder base64-external-decoder-option-to-specify-file filename str #1#] 14 (#$ . 9503) "*r\nFWrite decoded region to file: "])
(byte-code "\303\304\305\306\"\210\302	B\307\302!\204 \310\311\312\"\313\314\n\"\315!\204& \316KM\210)\317\320!\207" [sym current-load-list mime-write-decoded-region-obarray nil add-to-list mel-service-list mime-write-decoded-region boundp make-vector 7 0 intern "base64" fboundp base64-write-decoded-region provide mel-b-el] 3)
