;ELC   
;;; Compiled by amu@daemon on Thu Jan 11 15:04:07 2001
;;; from file /afs/sipb.mit.edu/contrib/emacs/packages/gnus-5.8.8/lisp/nnultimate.el
;;; in Emacs version 20.7.2
;;; with bytecomp version 2.56
;;; with all optimizations.

;;; This file contains multibyte non-ASCII characters
;;; and therefore cannot be loaded into Emacs 19.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "20")))
    (error "`nnultimate.el' was compiled for Emacs 20 or later"))

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


(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\207" [require nnoo message gnus-util gnus nnmail mm-util] 2)
(require 'nnweb)
(byte-code "\302\303\304\305\"\305\211FB\302\306D	B\305\207" [nnoo-definition-alist nnoo-state-alist nnultimate mapcar #[(p) "C\207" [p] 1] nil "*internal-non-initialized-backend*"] 4)
#@39 Where nnultimate will save its files.
(defvar nnultimate-directory (nnheader-concat gnus-directory "ultimate/") (#$ . 984))
(nnoo-define 'nnultimate-directory nil)
#@45 The address of the Ultimate bulletin board.
(defvar nnultimate-address "" (#$ . 1154))
(byte-code "\306\307\310\"\210\311\300!\204 \310\300	B\311\302!\204 \310\302	B\306\302\310\"\210\311\303!\204* \310\303	B\306\303\310\"\210\311\304!\204; \310\304	B\306\304\310\"\210\311\305!\204L \312\305	B\313\314!\207" [nnultimate-groups-alist current-load-list nnultimate-groups nnultimate-headers nnultimate-articles nnultimate-table-regexp nnoo-define nnultimate-address nil boundp "postings.*editpost\\|forumdisplay\\|Forum[0-9]+/HTML\\|getbio" nnoo-define-basics-1 nnultimate] 3)
(defalias 'nnultimate-retrieve-headers #[(articles &optional group server fetch-old) "\306	\"\210\n?\205\fA:\203 \f\211A\210\202\f \f)@\307@\310A\311B\"C\312C8D\313C8E\314C8F\315C8\206E \310G\316HI\317HD\"PCJ\320K\307L\307M\307N\307O\307P\307Q\307R\307S\307T\307U\307V\307W\307X\307Y\307Z\307[\307\\\307]\307^\307_\307`\307a\307b\307c\307d\307e\307f\307g\307h\307i\307j\307kFX@\211M\203VX\203VX\203\360 MX@@V\204\346 X@A@X@@W\203\360 X\211AX\210\202\312 X@\211j\203\275 \321kM\203\275 MjA@X\203\275 \312j8W\236\211Y\203.YM\322j8kT\211k\\BC\244\210\202F\312j8M\322j8kT\211k\\BDWBW\211A\210@\211M\204\202\275 W\204g\212lq\210\323 \210)\202\307m\307n\324\325\326!!o\327\216roq\210W\307Y\211p\203jp@Y\310e\310c\307dceX\203+\323 \210\312Y@E\2368N\322Y@E\2368[c\310U\203\302\330[!\210\202\334\331\332[\"\210\330[\333\211\224O\334\335c!\336\333[\"R!\210eb\210\337\340\341\217U\342U!a\343\344\345a!\346#b\331\347b\"\203\350\336\310b\"!ea\307\241\210\342U!a\312\211a8@8AUdU\244dcT\211c\202\226YA\307q\211r\203`r@\211qASd8\203Wq@qASd8NEmBmrA\211r\2047*pA\211p\204\206.\351m\352\"\211m\307s\211t\203\214t@\211s@MsA@U\312s8N\343\344\345\312U8@!\353#P\345\312\211U8A@8!``\203\317\331\354`@\"\203\305`@\333\225\307OQ\307``\211A`\210\202\253\355\346\356Q\357\"\"Q\360Q\235\204\347\361Q\235\203\317\362\363\350Q@!u\"@QA@\312Q8\322Q8%Q\202 \317\362\363\350QA@!u\"@Q@\312Q8\322Q8%QM\211NPQ\206-\346\364\335D!\365\335M!\366\260\346\333\343\344\345\312\211U8A@8A!\346#G\367\245\307\211vwRxyzQPN{\370{NPQzyxRwv&\n.\nBLBLtA\211t\204}*\351L\352\"|\212lq\210\371\372!\204\344\373\374!\203\344<\203\344\375\376!\203\344p}\377\216\307n\376\307!\210\323 \210|\307~\211\203\340@~\201\201 ~A!\210A\211\204\312-\202\f\307n\323 \210|\307~\211\200\203\200@~\201\201 ~A!\210\200A\211\200\204\365+).+\201\202 \207" [group server gnus-nov-is-evil articles x last nnultimate-possibly-change-server nil 1 assoc 2 4 5 6 "forumdisplay.cgi?action=topics&number=%d&DaysPrune=1000" format "postings.*editpost\\|forumdisplay\\|getbio" -1 3 erase-buffer 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)) nnweb-insert string-match "\\.html$" 0 "-" number-to-string match-string #2=#:G89015 (byte-code "\300p!\207" [w3-parse-buffer] 2) ((error)) nnultimate-find-forum-table mapconcat identity nnweb-text "" "topic is \\([0-9]\\) pages" string-to-number sort car-less-than-car " " "Posted" delete split-string "[- \n	 \201� \201� \201� ]" "AM" "PM" "%s %s %s %s" rassq "<" "%" "@ultimate>" 70 vector featurep xemacs boundp enable-multibyte-characters fboundp set-buffer-multibyte ((byte-code "q\210\301\302!\207" [#3=#:buffer set-buffer-multibyte t] 2)) did start nnultimate-groups entry sid topics mapping old-total furl nnultimate-address furls nnultimate-table-regexp headers article subject score from date lines parent point contents tinfo fetchers map elem a href garticles topic old-max inc datel table string current-page total-contents pages farticles forum-contents parse furl-fetched mmap farticle nntp-server-buffer nnultimate-articles default-enable-multibyte-characters #1# #4=#:--dolist-temp--89011 art #5=#:--dolist-temp--89016 articlef #6=#:--dolist-temp--89012 parse-time-months extra xref chars references id number nnultimate-headers #3# header #7=#:--dolist-temp--89013 #8=#:--dolist-temp--89014 nnheader-insert-nov nov] 16])
(nnoo-register-function 'nnultimate-retrieve-headers)
(defalias 'nnultimate-request-group #[(group &optional server dont-check) "\305\306\"\210	\204\f \307 \210\n\204 \310!\210\311	\"\211\204$ \312\313\314\"\2027 \312\313\315#\210\316\317\fA@\320\fA@\321!%)\207" [server nnultimate-groups dont-check group elem nnultimate-possibly-change-server nil nnultimate-request-list nnultimate-create-mapping assoc nnheader-report nnultimate "Group does not exist" "Opened group %s" nnheader-insert "211 %d %d %d %s\n" 1 prin1-to-string] 8])
(nnoo-register-function 'nnultimate-request-group)
(defalias 'nnultimate-request-close #[nil "\302\302\211\207" [nnultimate-groups-alist nnultimate-groups nil] 2])
(nnoo-register-function 'nnultimate-request-close)
(defalias 'nnultimate-request-article #[(article &optional group server buffer) "\306	\"\210\n\236A\307\211\f@8A@8AA\211\205{ \212\206  q\210\310 \210\311\312\313\fCBB!\210eb\210\314c\210\n\236A\315\316!\204g \317\320!\203g \203g \321\322!\203g p\323\216\313\322\313!\210\324!\210+\202p \313\324!\210))\325\326\327\n#\210\n)B)\207" [group server article nnultimate-articles contents buffer nnultimate-possibly-change-server 2 erase-buffer nnweb-insert-html p nil "Content-Type: text/html\nMIME-Version: 1.0\n" featurep xemacs boundp enable-multibyte-characters fboundp set-buffer-multibyte ((byte-code "q\210\301\302!\207" [#1=#:buffer set-buffer-multibyte t] 2)) nnheader-insert-header nnheader-report nnultimate "Fetched article %s" nntp-server-buffer nnultimate-headers header #1# default-enable-multibyte-characters] 5])
(nnoo-register-function 'nnultimate-request-article)
(defalias 'nnultimate-request-list #[(&optional server) "\306\307\"\210\307\310\311\312!!\313\216r\nq\210\314\315\316\"\203! \317P\202\" !\210\320\211\321\322p!!8@8\307\211\211\211\211\211\211\211\211\211!\"#$%&\211'\307(\211)\203R)@(\320(8(\323\324(\"\211\203I\325!**A:\203\203 *\211A*\210\202r *)@\"\326A@\236A\325(A@!**A:\203\253 *\211A*\210\202\232 *)@$\325\320(8!**A:\203\312 *\211A*\210\202\271 *)@\325\327(8!**A:\203\350 *\211A*\210\202\327 *)@\315\330\"\203\371 \331!#\f\203\f\315\330\f\"\203\f#\331\f!]#\203I\315\332\"\210\331\333\334\"!!\335\"+\"\211%\2036%A#\240\210\202I\"#!$\307\211\211\211\257+B+)A\211)\204V .\336 \210\337 \210,\340\207" [server default-enable-multibyte-characters #1=#:temp-buffer nnultimate-address a2 a1 nnultimate-possibly-change-server nil get-buffer-create generate-new-buffer-name " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) nnweb-insert string-match "/$" "Ultimate.cgi" 2 nnultimate-find-forum-table w3-parse-buffer nnweb-parse-find a nnweb-text href 3 "^[0-9]+$" string-to-number "number=\\([0-9]+\\)" match-string 1 assoc nnultimate-write-groups nnultimate-generate-active t forum group articles description elem sid contents row #2=#:--dolist-temp--89017 x nnultimate-groups] 12])
(nnoo-register-function 'nnultimate-request-list)
(defalias 'nnultimate-request-newgroups #[(date &optional server) "\301\302\"\210\303 \210\304\207" [server nnultimate-possibly-change-server nil nnultimate-generate-active t] 3])
(byte-code "\300\301!\210\302\303!\207" [nnoo-register-function nnultimate-request-newgroups nnoo-define-skeleton-1 nnultimate] 2)
#@47 Compute the number of days to fetch info for.
(defalias 'nnultimate-prune-days #[(group time) "\304\305	\"8\211\204 \306\202 \307!\307\n!Z)\207" [group nnultimate-groups old-time time 7 assoc 1000 time-to-days] 5 (#$ . 8827)])
(defalias 'nnultimate-create-mapping #[(group) "\306	\"\307\n8\310\n8\311\n8\312\n8\206 \313)\314 \f\315\316\317\f\"!P*+\320*\"PC,\321-\321.\321/\321\3210\321\3211\3212\3213\3214\3215\3216\3217\322\323\324!!8\325\216r8q\210,\203\340 \326 \210\327,\211A,@!\210eb\210\330p!6\307\211\3316!8@8A\211-.\244./\204i \332/\333\3346\"\321\2119\203\326 9@\335A@\236A\211\203\314 \336\337\"\203\314 ,B,)9A\2119\204\253 *,\237\211,\204n .\237\321:\211;\203\336;@:\307:8:\340\334:\"\211\203\325\341!<<A:\203<\211A<\210\202<)@0\335A@\236A\341:!\237\321=>=\204W>\203W\336\342>@\"\203M\343>@!T=>\211A>\210\2022=1*1\203\325\336\344\"\210\343\345\313\"!\2112\f\236\2113\203\2113A@43A1\240\210\202\236\3464210F\fB\310\n\233\f\240\21041U\204\32514Z5)\2115\\\211)S24TFC\24445\\4\311\n\233\240\210\312\n\233)\240\210;A\211;\204\354 .\347\n\233\f\240\210\nA)S\240\210\350 \210.\207" [group nnultimate-groups entry sid topics mapping assoc 2 4 5 6 1 current-time "forumdisplay.cgi?action=topics&number=%d&DaysPrune=" number-to-string nnultimate-prune-days format nil 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)) erase-buffer nnweb-insert w3-parse-buffer nnultimate-find-forum-table t nnweb-parse-find-all a href string-match "forumdisplay.*startpoint" nnweb-parse-find nnweb-text "^[0-9]+$" string-to-number "/\\([0-9]+\\).html" match-string 0 7 nnultimate-write-groups old-total furl nnultimate-address furls contents forum-contents furl-fetched subject garticles topic tinfo old-max inc parse default-enable-multibyte-characters #1# #2=#:--dolist-temp--89018 row #3=#:--dolist-temp--89019 x art artlist] 7])
(defalias 'nnultimate-possibly-change-server #[(&optional group server) "\304!\210\203 \305!\204 \306!\210	?\205! \307 \210\310\n	\"A\211\207" [server nnultimate-groups-alist nnultimate-address nnultimate-groups nnultimate-init nnultimate-server-opened nnultimate-open-server nnultimate-read-groups assoc] 3])
(defalias 'nnultimate-open-server #[(server &optional defs connectionless) "\302 \210\303!\203 \304\207\305	\236\204 \306	\305DC\"\307\310	#\207" [server defs nnheader-init-server-buffer nnultimate-server-opened t nnultimate-address append nnoo-change-server nnultimate] 4])
(nnoo-register-function 'nnultimate-open-server)
(defalias 'nnultimate-read-groups #[nil "\305\306\307	\"\310\n!\205( \305\311\312\313!!\314\216r\fq\210\315\n!\210eb\210\316p!\211,)\207" [nnultimate-groups-alist nnultimate-directory file default-enable-multibyte-characters #1=#:temp-buffer nil expand-file-name "groups" file-exists-p get-buffer-create generate-new-buffer-name " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) insert-file-contents read] 3])
(defalias 'nnultimate-write-groups #[nil "\306\307	\"	\"\nB	B\310\311\"\312\313\314!!\315\216r\fq\210\316	p\")r\fq\210~\210\317ed\320\321%\210,\207" [nnultimate-address nnultimate-groups-alist nnultimate-groups nnultimate-directory #1=#:temp-buffer #2=#:temp-file delq assoc expand-file-name "groups" get-buffer-create generate-new-buffer-name " *temp file*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) prin1 write-region nil 0] 7])
#@30 Initialize buffers and such.
(defalias 'nnultimate-init #[(server) "\301!?\205\n \302!\207" [nnultimate-directory file-exists-p gnus-make-directory] 2 (#$ . 12483)])
(defalias 'nnultimate-generate-active #[nil "\212q\210\304 \210	\305\211\203' @\306\n@!\307\310\nA@!\311\261\210A\211\204 +\305\207" [nntp-server-buffer nnultimate-groups elem #1=#:--dolist-temp--89020 erase-buffer nil prin1-to-string " " number-to-string " 1 y\n"] 5])
(defalias 'nnultimate-find-forum-table #[(contents) "\300\301\215\207" [found (nnultimate-find-forum-table-1 contents)] 2])
(defalias 'nnultimate-find-forum-table-1 #[(contents) "\303\211\2035 \n@\211;\204. 	@\304=\203\" \305	!\203\" \306\307	\"\210\310	8\203. \311\310	8!\210\nA\211\204 *\303\207" [contents element #1=#:--dolist-temp--89021 nil table nnultimate-forum-table-p throw found 2 nnultimate-find-forum-table-1] 4])
(defalias 'nnultimate-forum-table-p #[(parse) "\304\305\306\307\3108\"\"?\205' \302\311\312\313#A@\236A\314\211\205& \315\n\"\205& \316*\207" [parse case-fold-search href nnultimate-table-regexp apply gnus-or mapcar #[(p) "\301\302\"\207" [p nnweb-parse-find table] 3] 2 nnweb-parse-find a 20 nil string-match t] 7])
(provide 'nnultimate)
