MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 18.117.158.174
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/gnus/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/gnus/mml.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:10:17 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/gnus/mml.el
;;; in Emacs version 24.3.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

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


(byte-code "\301\302!\204
\303\302\304\305B\"\210\306\307!\210\306\310!\210\306\311!\210\306\312!\210\306\313!\210\314\315\316\"\210\314\317\320\"\210\314\321\320\"\210\314\322\316\"\210\314\323\316\"\210\314\324\316\"\210\314\325\326\"\210\314\327\316\"\210\314\330\331\"\210\314\332\316\"\210\314\333\316\"\210\314\334\316\"\210\314\335\316\"\210\336\337\340\341\342\343\344\345\346\347&	\210\336\350\351\352\342\343\344\353\346\347&	\210\336\354\355\356\342\357\344\360\361\362\363\364\365\366\367\370\371\372\373\374\257\367\370\375\376\363\377\361\365\201@\362\363\372\373\367\365\201A\372\201B\201C\257\257\257\367\370\201D\372\373\201E\257\257F)\346\347&	\210\336\201F\201G\201H\342\201I\344\201J\346\347&	\210\336\201K\201G\201L\342\201I\344\201J\346\347&	\207" [dispositions fboundp declare-function defalias macro #[(&rest r) "\300\207" [nil] 1] require mm-util mm-bodies mm-encode mm-decode mml-sec autoload message-make-message-id "message" gnus-make-local-hook "gnus-util" gnus-completing-read message-fetch-field message-mark-active-p message-info fill-flowed-encode "flow-fill" message-posting-charset dnd-get-local-file-name "dnd" message-options-set message-narrow-to-head message-in-body-p message-mail-p custom-declare-variable mml-content-type-parameters '(name access-type expiration size permission format) "*A list of acceptable parameters in MML tag.\nThese parameters are generated in Content-Type header if exists." :version "22.1" :type (repeat (symbol :tag "Parameter")) :group message mml-content-disposition-parameters '(filename creation-date modification-date read-date) "*A list of acceptable parameters in MML tag.\nThese parameters are generated in Content-Disposition header if exists." (repeat (symbol :tag "Parameter")) mml-content-disposition-alist '((text (rtf . "attachment") (t . "inline")) (t . "attachment")) "Alist of MIME types or regexps matching file names and default dispositions.\nEach element should be one of the following three forms:\n\n  (REGEXP . DISPOSITION)\n  (SUPERTYPE (SUBTYPE . DISPOSITION) (SUBTYPE . DISPOSITION)...)\n  (TYPE . DISPOSITION)\n\nWhere REGEXP is a string which matches the file name (if any) of an\nattachment, SUPERTYPE, SUBTYPE and TYPE should be symbols which are a\nMIME supertype (e.g., text), a MIME subtype (e.g., plain) and a MIME\ntype (e.g., text/plain) respectively, and DISPOSITION should be either\nthe string \"attachment\" or the string \"inline\".  The value t for\nSUPERTYPE, SUBTYPE or TYPE matches any of those types.  The first\nmatch found will be used." "23.1" (radio :format "DISPOSITION: %v" :value "attachment" (const :format "%v " "attachment") (const :format "%v\n" "inline")) repeat :offset 0 choice :format "%[Value Menu%]%v" cons :tag "(REGEXP . DISPOSITION)" :extra-offset 4 (regexp :tag "REGEXP" :value ".*") "(SUPERTYPE (SUBTYPE . DISPOSITION)...)" :indent (symbol :tag "    SUPERTYPE" :value text) "%v%i\n" "%v" 5 (symbol :tag "SUBTYPE" :value t) "(TYPE . DISPOSITION)" (symbol :tag "TYPE" :value t) mml-insert-mime-headers-always t "If non-nil, always put Content-Type: text/plain at top of empty parts.\nIt is necessary to work against a bug in certain clients." "24.1" boolean mml-enable-flowed "If non-nil, enable format=flowed usage when encoding a message.\nThis is only performed when filling on text/plain with hard\nnewlines in the text."] 34)
#@276 A list of (TYPE . FUNCTION) for tweaking MML parts.
TYPE is a string containing a regexp to match the MIME type.  FUNCTION
is a Lisp function which is called with the MML handle to tweak the
part.  This variable is used only when no TWEAK parameter exists in
the MML handle.
(defvar mml-tweak-type-alist nil (#$ . 3946))
#@216 A list of (NAME . FUNCTION) for tweaking MML parts.
NAME is a string containing the name of the TWEAK parameter in the MML
handle.  FUNCTION is a Lisp function which is called with the MML
handle to tweak the part.
(defvar mml-tweak-function-alist nil (#$ . 4274))
#@221 A list of (SEXP . FUNCTION) for tweaking MML parts.
SEXP is an s-expression.  If the evaluation of SEXP is non-nil, FUNCTION
is called.  FUNCTION is a Lisp function which is called with the MML
handle to tweak the part.
(defvar mml-tweak-sexp-alist '((mml-externalize-attachments . mml-tweak-externalize-attachments)) (#$ . 4546))
#@70 *If non-nil, local-file attachments are generated as external parts.
(defvar mml-externalize-attachments nil (#$ . -4883))
#@337 *Alist of multipart generation functions.
Each entry has the form (NAME . FUNCTION), where
NAME is a string containing the name of the part (without the
leading "/multipart/"),
FUNCTION is a Lisp function which is called to generate the part.

The Lisp function has to supply the appropriate MIME headers and the
contents of this part.
(defvar mml-generate-multipart-alist nil (#$ . -5013))
(defvar mml-syntax-table (byte-code "\302!\303\304\305	#\210\303\306\307	#\210\303\310\311	#\210\303\312\313	#\210\303\314\313	#\210\303\315\316	#\210\303\317\316	#\210\303\320\316	#\210\303\321\316	#\210	)\207" [emacs-lisp-mode-syntax-table table copy-syntax-table modify-syntax-entry 92 "/" 60 "(" 62 ")" 64 "w" 47 61 " " 42 59 39] 4))
#@269 A function called to suggest a boundary.
The function may be called several times, and should try to make a new
suggestion each time.  The function is called with one parameter,
which is a number that says how many times the function has been
called for this message.
(defvar mml-boundary-function 'mml-make-boundary (#$ . 5751))
#@277 A list of symbols, each of which disables some warning.
`unknown-encoding': always send messages contain characters with
unknown encoding; `use-ascii': always use ASCII for those characters
with unknown encoding; `multipart': always send messages with more than
one charsets.
(defvar mml-confirmation-set nil (#$ . 6088))
#@416 Content type by which the Content-Type header can be omitted.
The Content-Type header will not be put in the MIME part if the type
equals the value and there's no parameter (e.g. charset, format, etc.)
and `mml-insert-mime-headers-always' is nil.  The value will be bound
to "message/rfc822" when encoding an article to be forwarded as a MIME
part.  This is for the internal use, you should never modify the value.
(defvar mml-generate-default-type "text/plain" (#$ . 6417))
(defvar mml-buffer-list nil)
(defalias 'mml-generate-new-buffer #[(name) "\303!\211\nB	)\207" [name buf mml-buffer-list generate-new-buffer] 3])
(defalias 'mml-destroy-buffers #[nil "\302\303\304	\"\210\302\211)\207" [kill-buffer-hook mml-buffer-list nil mapc kill-buffer] 3])
#@46 Parse the current buffer as an MML document.
(defalias 'mml-parse #[nil "\212eb\210\303 p\304\216\305\n!\210\306 ,\207" [#1=#:buffer #2=#:table mml-syntax-table syntax-table ((byte-code "rq\210\302	!\210)\302\207" [#1# #2# set-syntax-table] 2)) set-syntax-table mml-parse-1] 2 (#$ . 7180)])
#@46 Parse the current buffer as an MML document.
(defalias 'mml-parse-1 #[nil "\306\211\211\211\211\211\211\211\211@ABm\204(\307\310!\204(\307\311!\203\355\306C\312 D\313D\236A\314\306\315\316D\"\"E\317D\236A\320D\236A\321D\236AF\322D\236A\323D\236A\306G\212\324\325\306\326#\203r\327C\202u\330C)\212Fb\210\324\331!\210)\332\224\332\225|\210\333\230\203\226\333DG\202\266\334\230\203\246\334DG\202\266\335\230\203\266\333\334FG\336\337C\340G\205\303\341D\342\340\315\343E\"\"\205\324\344\205\334\345F$BB!\210Fb\210.\n\202\307\346!\203\312 \347 \244BBB\202\307\350!\203\312 \305\351 BC\244BBB\202\307\352!\204\"\307\353!\203-\312 A\306\211\2026\354\355DA\326\211\300A\236A`@\351A@\356=!\203O\306\202i\357A\236\203b\360\357A\236A\227!C\202i\361@`H#\204\273\306\f>\203\273\362I>\204\216\363\362!\204\216\364\365!\203\267\366\362\326\"\203\267\302I>\206\245\363\302!\206\245\364\367!\205\245\366\302\326\"\211\203\262\314\306\f\"\202\273\306\202\273\370\371!\210\204\316A@\356=\204\316\fG\372W\203\350	\203\331\373\374
\"\203A\305
BC\244BBB\202\375A@`\n$J\203\376I>\204\363\376!\204\364\377\201KJG\"!\203\366\376\326\"\204\370\201L!\210JB\244B)\202m\2041\201My\210B\237.	\207" [raw no-markup-p use-ascii warn charsets contents nil looking-at "<#/multipart" "<#secure" mml-read-tag keyfile delq mapcar #[(tag) "\242\301=\205	A\207" [tag certfile] 2] recipients sender tag-location mode method re-search-forward "<#/?\\(multipart\\|part\\|external\\|mml\\)." t "multipart" "part" "<#secure[^\n]*>\n" 0 "sign" "encrypt" "signencrypt" eval mml-insert-tag append "keyfile" apply #[(certfile) "\301D\207" [certfile "certfile"] 2] "recipients" "sender" "<#multipart" mml-parse-1 "<#external" mml-read-part "<#part" "<#mml" part (type . "text/plain") mml charset intern mm-find-mime-charset-region unknown-encoding message-options-get y-or-n-p "Message contains characters with unknown encoding.  Really send? " message-options-set "Use ASCII as charset? " error "Edit your message to remove those characters" 2 string-match "[^ 	
\n]" mml-parse-singlepart-with-multiple-charsets multipart format point tag struct secure-mode taginfo certfiles location tags mm-hack-charsets mml-confirmation-set nstruct "A message part needs to be split into %d charset parts.  Really send? " "Edit your message to use only one charset" 1] 12 (#$ . 7480)])
(defalias 'mml-parse-singlepart-with-multiple-charsets #[(orig-tag beg end &optional use-ascii) "\212\214	}\210eb\210\306\307 !\206\n\205\310\311\211\211\211\211m\204\307\306\307 !\211\310=\204\225\n\203<\203D=\203M\311\211\311\202\225\310=\203a\311\211\311\202\225\312\313\314\206t\f\206t
\206t`\"BC\"B\206\212\f\206\212
\206\212`\311\211\311g\315>\203\241`T\202\301g\316=\203\270o\204\270`Sf\316=\203\270`\202\301g\316=\203\301`T\317u\210\202#`U\204\335\312\313\314`\"BC\"B.\207" [beg end use-ascii paragraph newline space mm-mime-charset mm-charset-after us-ascii nil append contents buffer-substring-no-properties (32 9) 10 1 struct charset current orig-tag] 7])
#@37 Read a tag and return the contents.
(defalias 'mml-read-tag #[nil "`\305\211\211\211\306u\210\307`\310\311!\210`\"\312\305w\210\313\314!\204P\307`\310\311!\210`\"\315\305w\210\307`\310\311!\210`\"\316\317\"\203A\320!\321	!BB\312\305w\210\202\322\225b\210\323\324\fBC\"\321\n!\237-B\207" [val elem name contents orig-point nil 2 buffer-substring-no-properties forward-sexp 1 " 	\n" looking-at ">[ 	]*\n?" "= 	\n" string-match "\\`\"" read intern 0 append tag-location] 5 (#$ . 10745)])
(defalias 'mml-buffer-substring-no-properties-except-hard-newlines #[(start end) "\305	\"\306\307	\310\311$\211\203'\312\nZ\313\n\314#\315\f$\210\nT\202	\f+\207" [start end tmp bufstart str buffer-substring-no-properties nil text-property-any hard t set-text-properties - -1 (hard t)] 6])
#@154 Return the buffer up till the next part, multipart or closing part or multipart.
If MML is non-nil, return the buffer up till the correspondent mml tag.
(defalias 'mml-read-part #[(&optional mml) "`\303\304\305!\203
\303y\210\n\203L\306V\203:m\204:\307\310\311\312#\2034\303\224\203-\313\202.\303\\\211\202db\210\202\314	\306V\203F`\202H\306\224\"\202~\307\315\311\312#\203y\314	\306\224\"\303\224\203f\316\317!\320\232\203m\306\224b\210\202~\304\305!\203~\303y\210\202~\314	db\"*\207" [count beg mml 1 looking-at "[ 	]*\n" 0 re-search-forward "<#\\(/\\)?mml." nil t -1 mml-buffer-substring-no-properties-except-hard-newlines "<#\\(/\\)?\\(multipart\\|part\\|external\\|mml\\)." match-string 2 "multipart"] 5 (#$ . 11559)])
(defvar mml-boundary nil)
(defvar mml-base-boundary "-=-=")
(defvar mml-multipart-number 0)
(defvar mml-inhibit-compute-boundary nil)
#@138 Generate a MIME message based on the current MML document.
MULTIPART-TYPE defaults to "mixed", but can also
be "related" or "alternate".
(defalias 'mml-generate-mime #[(&optional multipart-type) "\306 	\211\205D\307\310!r\fq\210\311\216\312 \210\n@:\203/G\313U\203/\314@!\210\202=\314\315\316
\2067\317BD\244!\210	\320 +\n+\207" [mml-multipart-number message-options options cont #1=#:temp-buffer multipart-type mml-parse generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) mm-enable-multibyte 1 mml-generate-mime-1 multipart type "mixed" buffer-string] 5 (#$ . 12450)])
(defalias 'mml-generate-mime-1 #[(cont) "\206\306	\236\214``}\210\307	!\210	@\310=\204	@\311=\203P\302	\236A\303	\236A\304	\236A\206?\203>\312!\206?\313\202?\314\305	\236A\315
!@\316\2115A\316B@\317=\203b\316\211@\202r
\203r\320@!\206q\321
\227!\n\204\251\322\f\323\"@\324\235\203\251\325\326!CrCq\210\327\216\330	\236A\203\235\331\330	\236A!\210\202\352\203\266\332	\236A\333\232\204\266@D\334!\210)\202\352	@\311=\203\306\335	\236Ac\210\202\352\214``}\210\335	\236Ac\210eb\210\336\337\316\340#\203\351\341\224\342\\\341\224\343\\|\210\202\324)	@\311=\203\344	!\314EF\345 \210G\204	\346\335	\"\347 \241\210*H\350PH\351 5)\202\220\322\f\323\"@\352\230\2030H\350PH\351 5)\202\220\316IJ\203k\f\314\230\203k\306	\236A\353\230\204k\354	\236\203V\354	\236A\355\230\203k\356ed\357\340$\211I\203k\360 \210\354	\236?A)
\204v\f\361\230\204}\362
!\202\207\363KBK\362 )\364
\365	\236A\"5\347 B+\366	\f
5A%\210\367c\210Bc\210\202K\325\326!LrLq\210\370\216\371 \210\330	\236A\203\320\372r\330	\236Aq\210\347 )!c\210\202\203\371\332	\236A\333\232\204\371MD\334\316\211\211\211\340&\210)
\204\320\373!!\202\335	\236A\374!\203\375 \210c\210\n\204\362
!\202c\210)\365	\236A\2115\203.\3215\227!5\376\f5\"5\377\347 !B+\366	\f
5\316%\210\367B\261\210.\202	@\201Z=\203]\201[c\210\201\\	\201]\"\201O	\236A\201N	\236ANOPO\203\350\201^O!\211O;\203\236\201_\201`\201aO\"\201b\"\210\202\350\201_\201`\201a\201c\342O8!\"\201`\201dOA@\"\201`\201e\201f\342O8!\"#\210\201_\201gO@\201h\235\203\342\201i\202\345\201jP!\210N\203\376\201_\201`\201kN\"\201l\"\210P\203\f\201m	\201n\"\210\201oc\210\201p\304	\236A\206,O\203+\312O!\206,\313\202,\314\367\261\210\201q\201r \367\261\210\201s\365	\236A\206H\201t\261\210\201oc\210\335	\236Ac\210\367c\210+\202	@\201u=\203\304	\236A\206p\201v\211\201w\232\203\201x\202\200\314E\346\fQ\"\211R\203\226RA	!\210\202\376\344	!F\354\201y\fF#\201z	\236A\203\272\354\201{\201z	\236A\"\202\273\367\261\210	\316	\211A@\211\203\361:\203\303A:\203\303\201|F\367\261\210\201}!\210db\210\202\303*\201|F\201~\261\210)+\202\201\201\200	\"\210\346\306	\236AS\"\346\201\201	\236AT\"\316\211UVW\211X\2040W\205\263\201V	\236A\211V\203P\201\202\201\203V\"\210\201\202\201\204V\"\210\201U	\236A\211U\203f\201\202\201\205U\"\210\201\206X\206pW@!YX\203\233W\203\233X@W@\232\203\233Y\201\207\232\203\233WA@	\340\"\202\262X\203\247XA@	!\210W\205\262WA@	!).\207" [mm-use-ultra-safe-encoding cont raw filename type charset sign mml-tweak-part part mml mm-default-file-encoding "application/octet-stream" "text/plain" mm-charset-to-coding-system nil ascii mm-coding-system-to-mime-charset intern split-string "/" ("text" "message") generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1=#:temp-buffer buffer-name kill-buffer] 2)) buffer insert-buffer-substring nofile "yes" mm-insert-file-contents contents re-search-forward "<#!+/?\\(part\\|multipart\\|external\\|mml\\|secure\\)" t 0 2 3 mml-compute-boundary mml-to-mime assoc buffer-string "" mm-body-7-or-8 "message" "pgp" format "flowed" text-property-any hard fill-flowed-encode "text/calendar" mm-encode-body utf-8 mm-body-encoding encoding mml-insert-mime-headers "\n" ((byte-code "\301!\203\n\302!\210\301\207" [#2=#:temp-buffer buffer-name kill-buffer] 2)) mm-disable-multibyte mm-string-as-unibyte mm-find-buffer-file-coding-system mm-multibyte-string-p mm-enable-multibyte mm-encode-buffer mm-string-as-multibyte coding flowed coded #1# coding-system-for-read mml-generate-default-type mml-boundary mml-inhibit-compute-boundary mm-7bit-chars use-hard-newlines mml-enable-flowed mm-coding-system-priorities #2# mm-binary-coding-system url name parameters mml-generate-multipart-alist handler mml-sign-alist mml-encrypt-alist recipients sender encrypt-item sign-item style external "Content-Type: message/external-body" mml-parameter-string (expiration size permission) mml-parse-file-name mml-insert-parameter mail-header-encode-parameter "name" "access-type=local-file" file-name-nondirectory "site" "directory" file-name-directory "access-type=" ("ftp@" "anonymous@") "anon-ftp" "ftp" "url" "access-type=url" mml-insert-parameter-string (expiration size permission) "\n\n" "Content-Type: " "Content-ID: " message-make-message-id "Content-Transfer-Encoding: " "binary" multipart "mixed" "digest" "message/rfc822" "Content-Type: multipart/%s; boundary=\"%s\"" start "; start=\"%s\"\n" "\n--" mml-generate-mime-1 "--\n" error "Invalid element: %S" encrypt message-options-set mml-sender message-sender message-recipients mml-signencrypt-style combined] 9])
#@55 Return a unique boundary that does not exist in CONT.
(defalias 'mml-compute-boundary #[(cont) "	T\211!\204\304\305\215\203\n)\207" [mml-boundary-function mml-multipart-number mml-boundary mml-inhibit-compute-boundary not-unique (mml-compute-boundary-1 cont)] 3 (#$ . 17935)])
(defalias 'mml-compute-boundary-1 #[(cont) "@\306\235\203C\307\310!r	q\210\311\216\312 \210\313\314\315\211\316!\210,eb\210\317\320\321!P\315\313#\203?\fT\211!\322\323\315\"\210+\202U@\324=\203U\325\326\211AA)\"\210\313\207" [cont #1=#:temp-buffer mml-encrypt-alist mml-sign-alist mml-multipart-number mml-inhibit-compute-boundary (part mml) generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) mm-enable-multibyte t 0 nil mml-generate-mime-1 re-search-forward "^--" regexp-quote throw not-unique multipart mapc mml-compute-boundary-1 mml-boundary mml-boundary-function x] 5])
(defalias 'mml-make-boundary #[(number) "\302\303\246\304\"\305V\203\306\307\"\202\310	Q\207" [number mml-base-boundary make-string 60 61 17 format "%x" ""] 4])
#@65 Return a default disposition name suitable to TYPE or FILENAME.
(defalias 'mml-content-disposition #[(type &optional filename) "\306\211\211\204\211\f\203\211\f\211A@\211@;\203/
\203\307\n@
\"\203\nA\211\202	\nA:\203s\310\f\311\"\211@\n@\230\203	\211
A@)\f\nA\204	\203	\211A@\211@\312=\204l\f\n@\230\203O\nA\211\202P\n@\312=\204\202\f\n@\230\203\nA\211\203\f\206\216\313,\207" [mml-content-disposition-alist types def disposition defs filename nil string-match split-string "/" t "attachment" type x] 5 (#$ . 19050)])
(defalias 'mml-insert-mime-headers #[(cont type charset encoding flowed) "\306\211\211\211\307\f
\"\204(\204(\204(\232\203(\203\\:\2032\310\311!\210\312\261\210\203G\313\314\315\316!\"!\210\203P\313\317!\210\203Y\320\f
\"\210\321c\210\302\f\236A\211\203k\322\n\321\261\210\307\f \"\301\f\236A\211\204~\203\233\323	\206\213\324\325\f\236A\"\261\210\203\230\320\f \"\210\321c\210!\326=\204\251\327\330!\"c\210\300\f\236A\211\205\300\331c\210`\321\261\210\332`\",\207" [description disposition id parameters cont mml-content-type-parameters nil mml-parameter-string error "Can't encode a part with several charsets" "Content-Type: " mml-insert-parameter mail-header-encode-parameter "charset" symbol-name "format=flowed" mml-insert-parameter-string "\n" "Content-ID: " "Content-Disposition: " mml-content-disposition filename 7bit format "Content-Transfer-Encoding: %s\n" "Content-Description: " mail-encode-encoded-word-region charset flowed type mml-generate-default-type mml-insert-mime-headers-always mml-content-disposition-parameters encoding] 5])
(defalias 'mml-parameter-string #[(cont types) "\305\306\211\211A@\211\2030\f\236A\211\203\307=\203#\310	!\n\311\312\313!	\"Q\202\314\nG!?\2059\n+\207" [type value string types cont "" nil filename file-name-nondirectory "; " mail-header-encode-parameter symbol-name zerop] 5])
(defalias 'mml-insert-parameter-string #[(cont types) "\304\211\n\211A@\211\205-\236A\211\203\305=\203!\306	!\307\310\311!	\"!\210\202*\207" [type value types cont nil filename file-name-nondirectory mml-insert-parameter mail-header-encode-parameter symbol-name] 4])
(defalias 'mml-parse-file-name #[(path) "\303\300!\203
\304	\"\202\303\302!\203+\304\n@	\"\203+\305\306	\"\305\307	\"	\307\225T\310OE\207	\207" [efs-path-regexp path ange-ftp-name-format boundp string-match match-string 1 2 nil] 5])
#@50 Insert BUFFER at point and quote any MML markup.
(defalias 'mml-insert-buffer #[(buffer) "\214``}\210\301!\210\302ed\"\210db)\207" [buffer insert-buffer-substring mml-quote-region] 3 (#$ . 21551)])
#@128 Translate the current buffer (which should be a message) into MML.
If HANDLES is non-nil, use it instead reparsing the buffer.
(defalias 'mime-to-mml #[(&optional handles) "\214\302 \210\303\304ed\"\210*	\204\305\303!eb\210\306\307\310\303#\210`d|\210	@;\203.\311	!\210\2023\311	\303\"\210\312	!\210\214\302 \210\313\314!\210\313\315!\210\313\316!\210\313\317!)\207" [rfc2047-quote-decoded-words-containing-tspecials handles message-narrow-to-head t mail-decode-encoded-word-region mm-dissect-buffer search-forward "\n\n" nil mml-insert-mime mm-destroy-parts message-remove-header "Content-Type" "MIME-Version" "Content-Disposition" "Content-Transfer-Encoding"] 4 (#$ . 21757)])
(autoload 'message-encode-message-body "message")
#@48 Translate the current buffer from MML to MIME.
(defalias 'mml-to-mime #[nil "\214\302 \210\303\304!\203\305y\210\202\306 \210*\307 \207" [message-default-charset mail-parse-charset message-narrow-to-headers-or-head looking-at "From " 1 mail-encode-encoded-word-buffer message-encode-message-body] 2 (#$ . 22498)])
(defalias 'mml-insert-mime #[(handle &optional no-markup) "\306\211\211@;\204l\307\211@;\203@\202 A@@)\310\"@)\311\232\211\204lr\312\313!\211q\210\314A@\315\"\316=\203J\317 \210\320@!\210\202k\321\322\"\210\211@;\203\\@\202`A@@)\323\232\211\203k\324 \210)\203z\325\306\326\211$\210\202\233\f\203\225\211@;\203\213@\202\217A@@)\327\232\204\233\325	\n#\210\203\253\320	!\210db\210\330c\202\355@;\203\274\331\332A\"\210\333c\202\355\n\203\353\314A@\315\"`\211
\316=\203\327\321!\210\202\340\334\335!
\"c\210\336
`\"\210*db\202\355\337c+\207" [mmlp buffer textp handle no-markup start nil split-string "/" "text" mml-generate-new-buffer " *mml*" mail-content-type-get charset gnus-decoded mm-enable-multibyte insert-buffer-substring mm-insert-part no-cache "message/rfc822" mime-to-mml mml-insert-mml-markup t "text/plain" "<#/mml>\n" mapc mml-insert-mime "<#/multipart>\n" mm-decode-string mm-get-part mml-quote-region "<#/part>\n"] 6])
#@43 Take a MIME handle and insert an MML tag.
(defalias 'mml-insert-mml-markup #[(handle &optional buffer nofile mmlp) "@;\203;\306\307\211@;\203@\202A@@)\310\"\211A@*\261\210\311\312\302@#\211\2037\313\n\314\261\210)\315c\207\203X\316\211@;\203M@\202QA@@)\261\210\202n\317\211@;\203f@\202jA@@)\261\210\320A@A\3218A\"\322\211\203\233
@\211A9\204\224\323\324\f@!\325\fA\314\261\210
A\211\204*\3268\203\252\327\3268\314\261\210\3218\203\270\330\3218@\261\210\203\306\331\332!\314\261\210\203\316\333c\210\3348\203\334\335\3348\314\261\210\315c\207" [handle x start mmlp elem --dolist-tail-- "<#multipart type=" split-string "/" get-text-property 0 " start=\"" "\"" ">\n" "<#mml type=" "<#part type=" append 4 nil " " symbol-name "=\"" 7 " id=\"" " disposition=" " buffer=\"" buffer-name " nofile=yes" 5 " description=\"" buffer nofile] 6 (#$ . 23818)])
#@34 Insert PARAMETERS in a nice way.
(defalias 'mml-insert-parameter #[(&rest parameters) "\305\211\n\305\211\205?\f@\306c\210`\307\261\210`	b\210\305\210i\310V\2034	b\210\311c\210Tb\210\2027b\210\fA\211\204\f\305,\207" [end start parameters param --dolist-tail-- nil ";" " " 76 "\n"] 3 (#$ . 24738)])
(defvar mml-mode-map (byte-code "\306 \306 \306 \306 \306 \306 \307	\310\311#\210\307	\312\313#\210\307	\314\315#\210\307	\316\317#\210\307	\320\321#\210\307
\322\323#\210\307
\324\325#\210\307
\326\327#\210\307\322\330#\210\307\324\331#\210\307\326\332#\210\307\f\322\333#\210\307\f\324\334#\210\307\f\326\335#\210\307\n\322\336#\210\307\n\324\337#\210\307\n\326\340#\210\307	\341\342#\210\307	\343\344#\210\307	\345\346#\210\307	\347\350#\210\307	\351\352#\210\307	\353\354#\210\307	\322\355#\210\307	\356\357#\210\307	\360\361#\210\307	\326
#\210\307	\362#\210\307	\363\f#\210\307	\364\n#\210\307\365	#\210.\207" [main map encryptpart signpart encrypt sign make-sparse-keymap define-key "" mml-secure-message-sign "" mml-secure-message-encrypt "" mml-secure-message-sign-encrypt "" mml-secure-sign "" mml-secure-encrypt "p" mml-secure-message-sign-pgpmime "o" mml-secure-message-sign-pgp "s" mml-secure-message-sign-smime mml-secure-sign-pgpmime mml-secure-sign-pgp mml-secure-sign-smime mml-secure-message-encrypt-pgpmime mml-secure-message-encrypt-pgp mml-secure-message-encrypt-smime mml-secure-encrypt-pgpmime mml-secure-encrypt-pgp mml-secure-encrypt-smime "" mml-unsecure-message "f" mml-attach-file "b" mml-attach-buffer "e" mml-attach-external "q" mml-quote-region "m" mml-insert-multipart mml-insert-part "v" mml-validate "P" mml-preview "S" "c" "C" "
"] 6))
#@2 
(defvar mml-menu nil (#$ . 26451))
(byte-code "\301\302\303\304\305\306\307\310\311BB\"\305\306\312\313\314BB\"\305\306\315\316\317BB\"\305\306\320\321\322\323\324\325#BB\"\326\327\305\306\330\331\322\332\333\"BB\"\305\306\334\335\322\336\337\"BB\"\305\306\340\341\322\342\343\"BB\"F\344\345\346\305\306\347\350\351BB\"\352\353\326\354\355\305\306\356\357\360\361\362BBBB\"\363\364\326\305\306\365\366\367BB\"\305\306\370\371\322\372\373\"BB\"\305\306\374\375\322\376\377\"BB\"\257$\207" [mml-mode-map easy-menu-do-define mml-menu "" "Attachments" apply vector "Attach File..." mml-attach-file (:help "Attach a file at point") "Attach Buffer..." mml-attach-buffer (:help "Attach a buffer to the outgoing message") "Attach External..." mml-attach-external (:help "Attach reference to an external file") "Externalize Attachments" (lambda nil (interactive) (if (not (and (boundp 'gnus-gcc-externalize-attachments) (memq gnus-gcc-externalize-attachments '(all t nil)))) (message "Can't handle this value of `gnus-gcc-externalize-attachments'") (setq gnus-gcc-externalize-attachments (not gnus-gcc-externalize-attachments)) (message "gnus-gcc-externalize-attachments is `%s'." gnus-gcc-externalize-attachments))) append (:visible (and (boundp 'gnus-gcc-externalize-attachments) (memq gnus-gcc-externalize-attachments '(all t nil)))) (:style toggle :selected gnus-gcc-externalize-attachments) (:help "Save attachments as external parts in Gcc copies") "----" "Change Security Method" "PGP/MIME" (lambda nil (interactive) (setq mml-secure-method "pgpmime")) (:help "Set Security Method to PGP/MIME") (:style radio :selected (equal mml-secure-method "pgpmime")) "S/MIME" (lambda nil (interactive) (setq mml-secure-method "smime")) (:help "Set Security Method to S/MIME") (:style radio :selected (equal mml-secure-method "smime")) "Inline PGP" (lambda nil (interactive) (setq mml-secure-method "pgp")) (:help "Set Security Method to inline PGP") (:style radio :selected (equal mml-secure-method "pgp")) ["Sign Message" mml-secure-message-sign t] ["Encrypt Message" mml-secure-message-encrypt t] ["Sign and Encrypt Message" mml-secure-message-sign-encrypt t] "Encrypt/Sign off" mml-unsecure-message (:help "Don't Encrypt/Sign Message") ["Sign Part" mml-secure-sign t] ["Encrypt Part" mml-secure-encrypt t] ["Insert Part..." mml-insert-part :active (message-in-body-p)] ["Insert Multipart..." mml-insert-multipart :active (message-in-body-p)] "Quote MML in region" mml-quote-region :active (message-mark-active-p) (:help "Quote MML tags in region") ["Validate MML" mml-validate t] ["Preview" mml-preview t] "Emacs MIME manual" (lambda nil (interactive) (message-info 4)) (:help "Display the Emacs MIME manual") "PGG manual" (lambda nil (interactive) (message-info mml2015-use)) (:visible (and (boundp 'mml2015-use) (equal mml2015-use 'pgg))) (:help "Display the PGG manual") "EasyPG manual" (lambda nil (interactive) (require 'mml2015) (message-info mml2015-use)) (:visible (and (boundp 'mml2015-use) (equal mml2015-use 'epg))) (:help "Display the EasyPG manual")] 33)
#@85 Non-nil if Mml mode is enabled.
Use the command `mml-mode' to change this variable.
(defvar mml-mode nil (#$ . 29518))
(make-variable-buffer-local 'mml-mode)
#@158 Minor mode for editing MML.
MML is the MIME Meta Language, a minor mode for composing MIME articles.
See Info node `(emacs-mime)Composing'.

\{mml-mode-map}
(defalias 'mml-mode #[(&optional arg) "\306 	\307=\203\n?\202\310	!\311V\211\203.\312\f\"\210\313\314!\203.\315\314!\210\316
\f\"\f\317\320\n\2038\321\2029\322\"\210\323\324!\203Z\306 \203M\306 \232\203Z\325\326\n\203W\327\202X\330\"\210)\331 \210\n\207" [#1=#:last-message arg mml-mode mml-menu mml-mode-map mml-dnd-protocol-alist current-message toggle prefix-numeric-value 0 easy-menu-add boundp dnd-protocol-alist make-local-variable append run-hooks mml-mode-hook mml-mode-on-hook mml-mode-off-hook called-interactively-p any message "Mml mode %sabled" "en" "dis" force-mode-line-update] 4 (#$ . 29683) (list (or current-prefix-arg 'toggle))])
(byte-code "\301\302\303\304\211%\210\305\306\307\310\311\312\313\314\315\316&	\207" [mml-mode-map add-minor-mode mml-mode " MML" nil custom-declare-variable mml-default-directory mm-default-directory "The default directory where mml will find files.\nIf not set, `default-directory' will be used." :type (choice directory (const :tag "Default" nil)) :version "23.1" :group message] 10)
(defalias 'mml-minibuffer-read-file #[(prompt) "\305\306	\n\206	\305\307$\310\f!\203\311\312\f\"\210\313\f!\204#\311\314\f\"\210\315\f!\204.\311\316\f\"\210\f*\207" [completion-ignored-extensions prompt mml-default-directory default-directory file nil read-file-name t file-directory-p error "%s is a directory, cannot attach" file-exists-p "No such file: %s" file-readable-p "Permission denied: %s"] 5])
(defalias 'mml-minibuffer-read-type #[(name &optional default) "\303\304!\210\305 \210\206\306	!\206\307\310\311\312 \313\211\211&\211\314\232\204(\n\202)*\207" [default name string require mailcap mailcap-parse-mimetypes mm-default-file-encoding "application/octet-stream" gnus-completing-read "Content type" mailcap-mime-types nil ""] 8])
(defalias 'mml-minibuffer-read-description #[nil "\301\302!\303\304\"\203
\305)\207" [description read-string "One line description: " string-match "\\`[ 	]*\\'" nil] 3])
(defalias 'mml-minibuffer-read-disposition #[(type &optional default filename) "\204	\304	\n\"\305\306\307\310\311\211&\211\312\232\204\202)\207" [default type filename disposition mml-content-disposition gnus-completing-read "Disposition" ("attachment" "inline") t nil ""] 8])
#@35 Quote the MML tags in the region.
(defalias 'mml-quote-region #[(beg end) "\212\214	}\210eb\210\302\303\304\305#\205\306\224\307\\b\210\310c\210\202	*\207" [beg end re-search-forward "<#!*/?\\(multipart\\|part\\|external\\|mml\\|secure\\)" nil t 0 2 "!"] 4 (#$ . 32134) "r"])
#@48 Insert an MML tag described by NAME and PLIST.
(defalias 'mml-insert-tag #[(name &rest plist) "9\203	\306!\307\261\210	\203M	\211A@	\211A@\n\203I\310\311\n\"\203B\312\313\314!!\315\216\f\316\317\n!\210*r\fq\210\320 +\321\322\n#c\210*\202\323c\207" [name plist value key standard-output print-escape-nonascii symbol-name "<#" string-match "[\"'\\~/*;() 	\n]" get-buffer-create generate-new-buffer-name " *string-output*" ((kill-buffer standard-output)) nil prin1 buffer-string format " %s=%s" ">\n"] 4 (#$ . 32420)])
#@54 Insert an empty MML tag described by NAME and PLIST.
(defalias 'mml-insert-empty-tag #[(name &rest plist) "9\203	\302!\303\304	#\210\305\306\261\207" [name plist symbol-name apply mml-insert-tag "<#/" ">\n"] 4 (#$ . 32962)])
(byte-code "\300\301\302\303\304\305\306\307\310\311&	\210\300\312\313\314\304\315\306\307\310\311&	\207" [custom-declare-variable mml-dnd-protocol-alist '(("^file:///" . mml-dnd-attach-file) ("^file://" . dnd-open-file) ("^file:" . mml-dnd-attach-file)) "The functions to call when a drop in `mml-mode' is made.\nSee `dnd-protocol-alist' for more information.  When nil, behave\nas in other buffers." :type (choice (repeat (cons (regexp) (function))) (const :tag "Behave as in other buffers" nil)) :version "22.1" :group message mml-dnd-attach-options nil "Which options should be queried when attaching a file via drag and drop.\n\nIf it is a list, valid members are `type', `description' and\n`disposition'.  `disposition' implies `type'.  If it is nil,\ndon't ask for options.  If it is t, ask the user whether or not\nto specify options." (choice (const :tag "None" nil) (const :tag "Query" t) (list :value (type description disposition) (set :inline t (const type) (const description) (const disposition))))] 10)
#@594 Attach a file to the outgoing MIME message.
The file is not inserted or encoded until you send the message with
`\[message-send-and-exit]' or `\[message-send]' in Message mode,
or `\[mail-send-and-exit]' or `\[mail-send]' in Mail mode.

FILE is the name of the file to attach.  TYPE is its
content-type, a string of the form "type/subtype".  DESCRIPTION
is a one-line description of the attachment.  The DISPOSITION
specifies how the attachment is intended to be displayed.  It can
be either "inline" (displayed automatically within the message
body) or "attachment" (separate from the body).
(defalias 'mml-attach-file #[(file &optional type description disposition) "\306 ?\205`\211\203db\210\307\310\301	\311\312\n!\303\206\313\304\f&	\210
\314=\204+\315\205=\316 \204;\317\320\321\n!\"\210b)\207" [head type file disposition description mail-user-agent message-in-body-p mml-insert-empty-tag part filename mm-substring-no-properties "attachment" message-user-agent t pos-visible-in-window-p message "The file \"%s\" has been attached at the end of the message" file-name-nondirectory mail-encode-mml] 11 (#$ . 34220) (let* ((file (mml-minibuffer-read-file "Attach file: ")) (type (mml-minibuffer-read-type file)) (description (mml-minibuffer-read-description)) (disposition (mml-minibuffer-read-disposition type nil file))) (list file type description disposition))])
#@111 Attach a drag and drop file.

Ask for type, description or disposition according to
`mml-dnd-attach-options'.
(defalias 'mml-dnd-attach-file #[(uri action) "\306\307\"\211\205R\310	!\205R\n\311\211\211\211\307=\205%\312\313!?\205%\314\305\n>\2042\303\n>\2036\315	!\304\n>\203?\316 \303\n>\203K\317
\311	#\320	
\f$,)\207" [uri file mml-dnd-attach-options disposition description type dnd-get-local-file-name t file-regular-p nil y-or-n-p "Use default type, disposition and description? " (type description disposition) mml-minibuffer-read-type mml-minibuffer-read-description mml-minibuffer-read-disposition mml-attach-file] 6 (#$ . 35614)])
#@140 Attach a buffer to the outgoing MIME message.
BUFFER is the name of the buffer to attach.  See
`mml-attach-file' for details of operation.
(defalias 'mml-attach-buffer #[(buffer &optional type description disposition) "\306 ?\205`\211\203db\210\307\310\301	\302\n\303\304\f&	\210
\311=\204%\312\2055\313 \2043\314\315\n\"\210b)\207" [head type buffer disposition description mail-user-agent message-in-body-p mml-insert-empty-tag part message-user-agent t pos-visible-in-window-p message "The buffer \"%s\" has been attached at the end of the message" mail-encode-mml] 11 (#$ . 36281) (let* ((buffer (read-buffer "Attach buffer: ")) (type (mml-minibuffer-read-type buffer "text/plain")) (description (mml-minibuffer-read-description)) (disposition (mml-minibuffer-read-disposition type nil))) (list buffer type description disposition))])
#@132 Attach an external file into the buffer.
FILE is an ange-ftp/efs specification of the part location.
TYPE is the MIME type to use.
(defalias 'mml-attach-external #[(file &optional type description) "\306 ?\205`\211\203db\210\307\310\301	\311\n\312\313\303&	\210\f\314=\204$\315\2056\316 \2044\317\320\321\n!\"\210b)\207" [head type file description mail-user-agent mail-encode-mml message-in-body-p mml-insert-empty-tag external name disposition "attachment" message-user-agent t pos-visible-in-window-p message "The file \"%s\" has been attached at the end of the message" file-name-nondirectory] 11 (#$ . 37140) (let* ((file (mml-minibuffer-read-file "Attach external file: ")) (type (mml-minibuffer-read-type file)) (description (mml-minibuffer-read-description))) (list file type description))])
(defalias 'mml-insert-multipart #[(&optional type) "\204\303\304\305\300#\210	\306=\204\307\310y\207" [type mail-user-agent mail-encode-mml "mixed" mml-insert-empty-tag "multipart" message-user-agent t -1] 4 nil (byte-code "\300 \203
\301\302\303\304\305$C\207\306\307!\207" [message-in-body-p gnus-completing-read "Multipart type" ("mixed" "alternative" "digest" "parallel" "signed" "encrypted") nil "mixed" error "Use this command in the message body"] 5)])
(defalias 'mml-insert-part #[(&optional type) "\303=\204\304\305\306\302\n\307\310%\207" [mail-user-agent mail-encode-mml type message-user-agent t mml-insert-tag part disposition "inline"] 6 nil (byte-code "\300 \203\n\301\302!C\207\303\304!\207" [message-in-body-p mml-minibuffer-read-type "" error "Use this command in the message body"] 2)])
#@125 Insert a Mail-Followup-To header before previewing an article.
Should be adopted if code in `message-send-mail' is changed.
(defalias 'mml-preview-insert-mail-followup-to #[nil "\300 \205\301 \205\302\303!?\205\304 \205\305\306\307\"\210\304 c\207" [message-mail-p message-subscribed-p mail-fetch-field "mail-followup-to" message-make-mail-followup-to message-position-on-field "Mail-Followup-To" "X-Draft-From"] 3 (#$ . 38779)])
(defvar mml-preview-buffer nil)
(byte-code "\300\301\302\"\210\300\303\304\305\306$\207" [autoload gnus-make-hashtable "gnus-util" widget-button-press "wid-edit" nil t] 5)
#@329 Display current buffer with Gnus, in a new buffer.
If RAW, display a raw encoded MIME message.

The window layout for the preview buffer is controlled by the variables
`special-display-buffer-names', `special-display-regexps', or
`gnus-buffer-configuration' (the first match made will be used),
or the `pop-to-buffer' function.
(defalias 'mml-preview #[(&optional raw) "\306\203	\307\202\n\310\311 P!\312\313!\210\212p\314=
\315 @\316 A\317\214\320 \210\321\322!)!\2063BB\323 \210\324\325!\203D	B\214~\210	q\210\326 \210\327\n!\210)\330 \210\316 ?\205]C\f\203e\331\202gDDC\332\333\316 \203wE\202yF!!\210\f\204\225\334\335\336D!\337Q\340\341#\203\222\342\337!\210\331D\343 \210\344 \210*\203\270\345\346!\203\334\347 G\326 \210\350 \210Gc\210)\202\334B@\340\211\211HIJK\351\352!\210\353L\206\323\354\355!LM\356 \210.\357\340!\210\360\361!\210\362\361\363\340\341$\210\341N\364\365\366\"\210\364\367\370\"\210\364\371\372\"\210\364O\373\"\210eb\210.\374\311	!!\204%\324\375!\203%\376=\236\203%pP\377\376!)\207\201Q	!\207" [raw mml-preview-buffer buf major-mode article-editing message-options generate-new-buffer "*Raw MIME preview of " "*MIME preview of " buffer-name require gnus-msg gnus-article-edit-mode message-mail-p message-news-p gnus-setup-posting-charset message-narrow-to-headers-or-head message-fetch-field "Newsgroups" message-options-set-recipient boundp gnus-buffers erase-buffer insert-buffer-substring mml-preview-insert-mail-followup-to "" message-generate-headers copy-sequence re-search-forward "^" regexp-quote "\n" nil t replace-match message-sort-headers mml-to-mime fboundp set-buffer-multibyte buffer-string mm-disable-multibyte run-hooks gnus-article-decode-hook "dummy" gnus-make-hashtable 5 gnus-article-prepare-display use-local-map gnus-make-local-hook kill-buffer-hook add-hook #[nil "\301!\207" [gnus-article-mime-handles mm-destroy-parts] 2] local-set-key "q" #[nil "\300\301!\207" [kill-buffer nil] 2 nil nil] "=" #[nil "\300 \207" [delete-other-windows] 1 nil nil] "
" #[nil "\300`!\207" [widget-button-press] 2 nil nil] #[(event) "\301\302!\"\207" [event widget-button-press widget-event-point] 3 nil "@e"] mm-special-display-p gnus-buffer-configuration mml-preview gnus-configure-windows message-this-is-mail message-this-is-news message-posting-charset message-deletable-headers mail-header-separator message-required-news-headers message-required-mail-headers s gnus-displaying-mime gnus-original-article-buffer gnus-article-prepare-hook gnus-newsgroup-charset gnus-newsrc-hashtb gnus-newsgroup-name buffer-read-only gnus-mouse-2 gnus-message-buffer pop-to-buffer] 5 (#$ . 39396) "P"])
#@36 Validate the current MML document.
(defalias 'mml-validate #[nil "\300 \207" [mml-parse] 1 (#$ . 42087) nil])
#@19 Tweak a MML part.
(defalias 'mml-tweak-part #[(cont) "\302\236A\306\211\203\307\n\"A\206\310\n!\202V\f\203V\f\305\236A\206'\311\211\f\203U\312\f\211
@@)
\"\203L\f\211
@A)\306\211\f\202+\fA\211\f\204.*	\203a	!\210\202c\210\211\f\203\214\313\f\211
@@)!\203\203\f\211
@A)!\210\fA\211\f\204k+\207" [cont func tweak mml-tweak-function-alist mml-tweak-type-alist type nil assoc intern "text/plain" string-match eval alist x mml-tweak-sexp-alist] 4 (#$ . 42203)])
#@41 Tweak attached files as external parts.
(defalias 'mml-tweak-externalize-attachments #[(cont) "\302	@\303=\205*\304	\236A?\205*\305	\236\211\205*\306	\236A\307\232?\205*	\310\240\210\311\240)\207" [filename-cons cont nil part buffer filename nofile "yes" external name] 2 (#$ . 42711)])
(provide 'mml)

MMCT - 2023