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



(require 'erc-compat)#@68 compiler-macro for inlining `erc-input-p'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc-input-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc-input-p (and (memq (type-of cl-x) cl-struct-erc-input-tags) t)) nil] 9 (#$ . 105)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc-input-p compiler-macro erc-input-p--cmacro] 4)#@13 

(fn CL-X)
(defalias 'erc-input-p #[257 "\301!>\205	 \302\207" [cl-struct-erc-input-tags type-of t] 3 (#$ . 485)])
(byte-code "\300\301\302\303#\300\301\304\305#\306\307\310\301#\300\207" [function-put erc-input-p side-effect-free error-free pure t define-symbol-prop erc-input cl-deftype-satisfies] 6)#@73 compiler-macro for inlining `erc-input-string'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc-input-string--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc-input-string (progn (or (erc-input-p cl-x) (signal 'wrong-type-argument (list 'erc-input cl-x))) (aref cl-x 1))) nil] 9 (#$ . 796)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc-input-string compiler-macro erc-input-string--cmacro] 4)#@61 Access slot "string" of `erc-input' struct CL-X.

(fn CL-X)
(defalias 'erc-input-string #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc-input-tags type-of signal wrong-type-argument erc-input 1] 5 (#$ . 1245)])
(byte-code "\300\301\302\303#\300\207" [function-put erc-input-string side-effect-free t] 4)#@74 compiler-macro for inlining `erc-input-insertp'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc-input-insertp--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc-input-insertp (progn (or (erc-input-p cl-x) (signal 'wrong-type-argument (list 'erc-input cl-x))) (aref cl-x 2))) nil] 9 (#$ . 1577)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc-input-insertp compiler-macro erc-input-insertp--cmacro] 4)#@62 Access slot "insertp" of `erc-input' struct CL-X.

(fn CL-X)
(defalias 'erc-input-insertp #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc-input-tags type-of signal wrong-type-argument erc-input 2] 5 (#$ . 2032)])
(byte-code "\300\301\302\303#\300\207" [function-put erc-input-insertp side-effect-free t] 4)#@72 compiler-macro for inlining `erc-input-sendp'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc-input-sendp--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc-input-sendp (progn (or (erc-input-p cl-x) (signal 'wrong-type-argument (list 'erc-input cl-x))) (aref cl-x 3))) nil] 9 (#$ . 2367)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc-input-sendp compiler-macro erc-input-sendp--cmacro] 4)#@60 Access slot "sendp" of `erc-input' struct CL-X.

(fn CL-X)
(defalias 'erc-input-sendp #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc-input-tags type-of signal wrong-type-argument erc-input 3] 5 (#$ . 2812)])
(byte-code "\300\301\302\303#\304\305\306\"\207" [function-put erc-input-sendp side-effect-free t defalias copy-erc-input copy-sequence] 4)#@98 compiler-macro for inlining `make-erc-input'.

(fn CL-WHOLE &cl-quote &key STRING INSERTP SENDP)
(defalias 'make-erc-input--cmacro #[385 "\300\301\"A@\300\302\"A@\300\303\"A@\211\203H \211@\304>\2031 \211A\204) \305\306@\"\210\211AA\262\202 \307>A@\203? \310\262\202 \305\311@\"\210\202 \210\312\313\314\310\310&\207" [plist-member :string :insertp :sendp (:string :insertp :sendp :allow-other-keys) error "Missing argument for %s" :allow-other-keys nil "Keyword argument %s not one of (:string :insertp :sendp)" cl--defsubst-expand (string insertp sendp) (cl-block make-erc-input (record 'erc-input string insertp sendp))] 14 (#$ . 3189)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop make-erc-input compiler-macro make-erc-input--cmacro] 4)#@78 Constructor for objects of type `erc-input'.

(fn &key STRING INSERTP SENDP)
(defalias 'make-erc-input #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\211\203H \211@\304>\2031 \211A\204) \305\306@\"\210\211AA\262\202 \307>A@\203? \310\262\202 \305\311@\"\210\202 \210\312\313$\207" [plist-member :string :insertp :sendp (:string :insertp :sendp :allow-other-keys) error "Missing argument for %s" :allow-other-keys nil "Keyword argument %s not one of (:string :insertp :sendp)" record erc-input] 9 (#$ . 3972)])
(byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303&	\207" [function-put make-erc-input side-effect-free t cl-struct-define erc-input nil cl-structure-object record ((cl-tag-slot) (string) (insertp) (sendp)) cl-struct-erc-input-tags] 11)#@75 compiler-macro for inlining `erc--input-split-p'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc--input-split-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc--input-split-p (and (memq (type-of cl-x) cl-struct-erc--input-split-tags) t)) nil] 9 (#$ . 4755)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc--input-split-p compiler-macro erc--input-split-p--cmacro] 4)#@13 

(fn CL-X)
(defalias 'erc--input-split-p #[257 "\301!>\205	 \302\207" [cl-struct-erc--input-split-tags type-of t] 3 (#$ . 5178)])
(byte-code "\300\301\302\303#\300\301\304\305#\306\307\310\301#\300\207" [function-put erc--input-split-p side-effect-free error-free pure t define-symbol-prop erc--input-split cl-deftype-satisfies] 6)#@80 compiler-macro for inlining `erc--input-split-string'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc--input-split-string--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc--input-split-string (progn (or (erc--input-split-p cl-x) (signal 'wrong-type-argument (list 'erc--input-split cl-x))) (aref cl-x 1))) nil] 9 (#$ . 5518)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc--input-split-string compiler-macro erc--input-split-string--cmacro] 4)#@68 Access slot "string" of `erc--input-split' struct CL-X.

(fn CL-X)
(defalias 'erc--input-split-string #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc--input-split-tags type-of signal wrong-type-argument erc--input-split 1] 5 (#$ . 6017)])
(byte-code "\300\301\302\303#\300\207" [function-put erc--input-split-string side-effect-free t] 4)#@81 compiler-macro for inlining `erc--input-split-insertp'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc--input-split-insertp--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc--input-split-insertp (progn (or (erc--input-split-p cl-x) (signal 'wrong-type-argument (list 'erc--input-split cl-x))) (aref cl-x 2))) nil] 9 (#$ . 6384)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc--input-split-insertp compiler-macro erc--input-split-insertp--cmacro] 4)#@69 Access slot "insertp" of `erc--input-split' struct CL-X.

(fn CL-X)
(defalias 'erc--input-split-insertp #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc--input-split-tags type-of signal wrong-type-argument erc--input-split 2] 5 (#$ . 6888)])
(byte-code "\300\301\302\303#\300\207" [function-put erc--input-split-insertp side-effect-free t] 4)#@79 compiler-macro for inlining `erc--input-split-sendp'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc--input-split-sendp--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc--input-split-sendp (progn (or (erc--input-split-p cl-x) (signal 'wrong-type-argument (list 'erc--input-split cl-x))) (aref cl-x 3))) nil] 9 (#$ . 7258)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc--input-split-sendp compiler-macro erc--input-split-sendp--cmacro] 4)#@67 Access slot "sendp" of `erc--input-split' struct CL-X.

(fn CL-X)
(defalias 'erc--input-split-sendp #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc--input-split-tags type-of signal wrong-type-argument erc--input-split 3] 5 (#$ . 7752)])
(byte-code "\300\301\302\303#\300\207" [function-put erc--input-split-sendp side-effect-free t] 4)#@79 compiler-macro for inlining `erc--input-split-lines'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc--input-split-lines--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc--input-split-lines (progn (or (erc--input-split-p cl-x) (signal 'wrong-type-argument (list 'erc--input-split cl-x))) (aref cl-x 4))) nil] 9 (#$ . 8116)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc--input-split-lines compiler-macro erc--input-split-lines--cmacro] 4)#@67 Access slot "lines" of `erc--input-split' struct CL-X.

(fn CL-X)
(defalias 'erc--input-split-lines #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc--input-split-tags type-of signal wrong-type-argument erc--input-split 4] 5 (#$ . 8610)])
(byte-code "\300\301\302\303#\300\207" [function-put erc--input-split-lines side-effect-free t] 4)#@78 compiler-macro for inlining `erc--input-split-cmdp'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc--input-split-cmdp--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc--input-split-cmdp (progn (or (erc--input-split-p cl-x) (signal 'wrong-type-argument (list 'erc--input-split cl-x))) (aref cl-x 5))) nil] 9 (#$ . 8974)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc--input-split-cmdp compiler-macro erc--input-split-cmdp--cmacro] 4)#@66 Access slot "cmdp" of `erc--input-split' struct CL-X.

(fn CL-X)
(defalias 'erc--input-split-cmdp #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc--input-split-tags type-of signal wrong-type-argument erc--input-split 5] 5 (#$ . 9463)])
(byte-code "\300\301\302\303#\304\305\306\"\207" [function-put erc--input-split-cmdp side-effect-free t defalias copy-erc--input-split copy-sequence] 4)#@116 compiler-macro for inlining `make-erc--input-split'.

(fn CL-WHOLE &cl-quote &key STRING INSERTP SENDP LINES CMDP)
(defalias 'make-erc--input-split--cmacro #[385 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\211\203U \211@\306>\203= \211A\2045 \307\310@\"\210\211AA\262\202 \311>A@\203L \312\262\202 \307\313@\"\210\202 \210\314\315\316\312\n\312\n\n\n\n\n&\n\207" [plist-member :string :insertp :sendp :lines :cmdp (:string :insertp :sendp :lines :cmdp :allow-other-keys) error "Missing argument for %s" :allow-other-keys nil "Keyword argument %s not one of (:string :insertp :sendp :lines :cmdp)" cl--defsubst-expand (string insertp sendp lines cmdp) (cl-block make-erc--input-split (record 'erc--input-split string insertp sendp lines cmdp))] 18 (#$ . 9880)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop make-erc--input-split compiler-macro make-erc--input-split--cmacro] 4)#@96 Constructor for objects of type `erc--input-split'.

(fn &key STRING INSERTP SENDP LINES CMDP)
(defalias 'make-erc--input-split #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\211\203U \211@\306>\203= \211A\2045 \307\310@\"\210\211AA\262\202 \311>A@\203L \312\262\202 \307\313@\"\210\202 \210\314\315&\207" [plist-member :string :insertp :sendp :lines :cmdp (:string :insertp :sendp :lines :cmdp :allow-other-keys) error "Missing argument for %s" :allow-other-keys nil "Keyword argument %s not one of (:string :insertp :sendp :lines :cmdp)" record erc--input-split] 13 (#$ . 10815)])
(byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303&	\207" [function-put make-erc--input-split side-effect-free t cl-struct-define erc--input-split nil erc-input record ((cl-tag-slot) (string nil) (insertp nil) (sendp nil) (lines) (cmdp)) cl-struct-erc--input-split-tags] 11)#@74 compiler-macro for inlining `erc-server-user-p'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc-server-user-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc-server-user-p (and (vectorp cl-x) (>= (length cl-x) 7) (memq (aref cl-x 0) cl-struct-erc-server-user-tags) t)) nil] 9 (#$ . 11744)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc-server-user-p compiler-macro erc-server-user-p--cmacro] 4)#@13 

(fn CL-X)
(defalias 'erc-server-user-p #[257 "\301!\205 \211G\302Y\205 \211\303H>\205 \304\207" [cl-struct-erc-server-user-tags vectorp 7 0 t] 3 (#$ . 12197)])
(byte-code "\300\301\302\303#\300\301\304\305#\306\307\310\301#\300\207" [function-put erc-server-user-p side-effect-free error-free pure t define-symbol-prop erc-server-user cl-deftype-satisfies] 6)#@81 compiler-macro for inlining `erc-server-user-nickname'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc-server-user-nickname--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc-server-user-nickname (progn (or (and (memq (aref cl-x 0) cl-struct-erc-server-user-tags)) (signal 'wrong-type-argument (list 'erc-server-user cl-x))) (aref cl-x 1))) nil] 9 (#$ . 12569)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc-server-user-nickname compiler-macro erc-server-user-nickname--cmacro] 4)#@69 Access slot "nickname" of `erc-server-user' struct CL-X.

(fn CL-X)
(defalias 'erc-server-user-nickname #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc-server-user-tags 0 signal wrong-type-argument erc-server-user 1] 5 (#$ . 13105)])
(byte-code "\300\301\302\303#\300\207" [function-put erc-server-user-nickname side-effect-free t] 4)#@77 compiler-macro for inlining `erc-server-user-host'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc-server-user-host--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc-server-user-host (progn (or (and (memq (aref cl-x 0) cl-struct-erc-server-user-tags)) (signal 'wrong-type-argument (list 'erc-server-user cl-x))) (aref cl-x 2))) nil] 9 (#$ . 13471)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc-server-user-host compiler-macro erc-server-user-host--cmacro] 4)#@65 Access slot "host" of `erc-server-user' struct CL-X.

(fn CL-X)
(defalias 'erc-server-user-host #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc-server-user-tags 0 signal wrong-type-argument erc-server-user 2] 5 (#$ . 13987)])
(byte-code "\300\301\302\303#\300\207" [function-put erc-server-user-host side-effect-free t] 4)#@78 compiler-macro for inlining `erc-server-user-login'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc-server-user-login--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc-server-user-login (progn (or (and (memq (aref cl-x 0) cl-struct-erc-server-user-tags)) (signal 'wrong-type-argument (list 'erc-server-user cl-x))) (aref cl-x 3))) nil] 9 (#$ . 14341)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc-server-user-login compiler-macro erc-server-user-login--cmacro] 4)#@66 Access slot "login" of `erc-server-user' struct CL-X.

(fn CL-X)
(defalias 'erc-server-user-login #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc-server-user-tags 0 signal wrong-type-argument erc-server-user 3] 5 (#$ . 14862)])
(byte-code "\300\301\302\303#\300\207" [function-put erc-server-user-login side-effect-free t] 4)#@82 compiler-macro for inlining `erc-server-user-full-name'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc-server-user-full-name--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc-server-user-full-name (progn (or (and (memq (aref cl-x 0) cl-struct-erc-server-user-tags)) (signal 'wrong-type-argument (list 'erc-server-user cl-x))) (aref cl-x 4))) nil] 9 (#$ . 15219)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc-server-user-full-name compiler-macro erc-server-user-full-name--cmacro] 4)#@70 Access slot "full-name" of `erc-server-user' struct CL-X.

(fn CL-X)
(defalias 'erc-server-user-full-name #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc-server-user-tags 0 signal wrong-type-argument erc-server-user 4] 5 (#$ . 15760)])
(byte-code "\300\301\302\303#\300\207" [function-put erc-server-user-full-name side-effect-free t] 4)#@77 compiler-macro for inlining `erc-server-user-info'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc-server-user-info--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc-server-user-info (progn (or (and (memq (aref cl-x 0) cl-struct-erc-server-user-tags)) (signal 'wrong-type-argument (list 'erc-server-user cl-x))) (aref cl-x 5))) nil] 9 (#$ . 16129)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc-server-user-info compiler-macro erc-server-user-info--cmacro] 4)#@65 Access slot "info" of `erc-server-user' struct CL-X.

(fn CL-X)
(defalias 'erc-server-user-info #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc-server-user-tags 0 signal wrong-type-argument erc-server-user 5] 5 (#$ . 16645)])
(byte-code "\300\301\302\303#\300\207" [function-put erc-server-user-info side-effect-free t] 4)#@80 compiler-macro for inlining `erc-server-user-buffers'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc-server-user-buffers--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc-server-user-buffers (progn (or (and (memq (aref cl-x 0) cl-struct-erc-server-user-tags)) (signal 'wrong-type-argument (list 'erc-server-user cl-x))) (aref cl-x 6))) nil] 9 (#$ . 16999)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc-server-user-buffers compiler-macro erc-server-user-buffers--cmacro] 4)#@68 Access slot "buffers" of `erc-server-user' struct CL-X.

(fn CL-X)
(defalias 'erc-server-user-buffers #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc-server-user-tags 0 signal wrong-type-argument erc-server-user 6] 5 (#$ . 17530)])
(byte-code "\300\301\302\303#\304\305\306\"\207" [function-put erc-server-user-buffers side-effect-free t defalias copy-erc-server-user copy-sequence] 4)#@126 compiler-macro for inlining `make-erc-server-user'.

(fn CL-WHOLE &cl-quote &key NICKNAME HOST LOGIN FULL-NAME INFO BUFFERS)
(defalias 'make-erc-server-user--cmacro #[385 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"A@\211\203] \211@\307>\203E \211A\204= \310\311@\"\210\211AA\262\202' \312>A@\203T \313\262\202' \310\314@\"\210\202' \210\315\316\317\313\313&\207" [plist-member :nickname :host :login :full-name :info :buffers (:nickname :host :login :full-name :info :buffers :allow-other-keys) error "Missing argument for %s" :allow-other-keys nil "Keyword argument %s not one of (:nickname :host :login :full-name :info :buffers)" cl--defsubst-expand (nickname host login full-name info buffers) (cl-block make-erc-server-user (vector 'erc-server-user nickname host login full-name info buffers))] 20 (#$ . 17948)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop make-erc-server-user compiler-macro make-erc-server-user--cmacro] 4)#@106 Constructor for objects of type `erc-server-user'.

(fn &key NICKNAME HOST LOGIN FULL-NAME INFO BUFFERS)
(defalias 'make-erc-server-user #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"A@\211\203] \211@\307>\203E \211A\204= \310\311@\"\210\211AA\262\202' \312>A@\203T \313\262\202' \310\314@\"\210\202' \210\315\316&\207" [plist-member :nickname :host :login :full-name :info :buffers (:nickname :host :login :full-name :info :buffers :allow-other-keys) error "Missing argument for %s" :allow-other-keys nil "Keyword argument %s not one of (:nickname :host :login :full-name :info :buffers)" vector erc-server-user] 15 (#$ . 18958)])
(byte-code "\300\301\302\303#\304\305\306\211\307\303\310\311\305\306&	\207" [function-put make-erc-server-user side-effect-free t cl-struct-define erc-server-user nil vector ((cl-tag-slot) (nickname) (host) (login) (full-name) (info) (buffers nil)) cl-struct-erc-server-user-tags] 11)#@75 compiler-macro for inlining `erc-channel-user-p'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc-channel-user-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc-channel-user-p (and (vectorp cl-x) (>= (length cl-x) 7) (memq (aref cl-x 0) cl-struct-erc-channel-user-tags) t)) nil] 9 (#$ . 19940)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc-channel-user-p compiler-macro erc-channel-user-p--cmacro] 4)#@13 

(fn CL-X)
(defalias 'erc-channel-user-p #[257 "\301!\205 \211G\302Y\205 \211\303H>\205 \304\207" [cl-struct-erc-channel-user-tags vectorp 7 0 t] 3 (#$ . 20399)])
(byte-code "\300\301\302\303#\300\301\304\305#\306\307\310\301#\300\207" [function-put erc-channel-user-p side-effect-free error-free pure t define-symbol-prop erc-channel-user cl-deftype-satisfies] 6)#@79 compiler-macro for inlining `erc-channel-user-voice'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc-channel-user-voice--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc-channel-user-voice (progn (or (and (memq (aref cl-x 0) cl-struct-erc-channel-user-tags)) (signal 'wrong-type-argument (list 'erc-channel-user cl-x))) (aref cl-x 1))) nil] 9 (#$ . 20775)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc-channel-user-voice compiler-macro erc-channel-user-voice--cmacro] 4)#@67 Access slot "voice" of `erc-channel-user' struct CL-X.

(fn CL-X)
(defalias 'erc-channel-user-voice #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc-channel-user-tags 0 signal wrong-type-argument erc-channel-user 1] 5 (#$ . 21303)])
(byte-code "\300\301\302\303#\300\207" [function-put erc-channel-user-voice side-effect-free t] 4)#@80 compiler-macro for inlining `erc-channel-user-halfop'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc-channel-user-halfop--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc-channel-user-halfop (progn (or (and (memq (aref cl-x 0) cl-struct-erc-channel-user-tags)) (signal 'wrong-type-argument (list 'erc-channel-user cl-x))) (aref cl-x 2))) nil] 9 (#$ . 21665)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc-channel-user-halfop compiler-macro erc-channel-user-halfop--cmacro] 4)#@68 Access slot "halfop" of `erc-channel-user' struct CL-X.

(fn CL-X)
(defalias 'erc-channel-user-halfop #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc-channel-user-tags 0 signal wrong-type-argument erc-channel-user 2] 5 (#$ . 22198)])
(byte-code "\300\301\302\303#\300\207" [function-put erc-channel-user-halfop side-effect-free t] 4)#@76 compiler-macro for inlining `erc-channel-user-op'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc-channel-user-op--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc-channel-user-op (progn (or (and (memq (aref cl-x 0) cl-struct-erc-channel-user-tags)) (signal 'wrong-type-argument (list 'erc-channel-user cl-x))) (aref cl-x 3))) nil] 9 (#$ . 22563)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc-channel-user-op compiler-macro erc-channel-user-op--cmacro] 4)#@64 Access slot "op" of `erc-channel-user' struct CL-X.

(fn CL-X)
(defalias 'erc-channel-user-op #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc-channel-user-tags 0 signal wrong-type-argument erc-channel-user 3] 5 (#$ . 23076)])
(byte-code "\300\301\302\303#\300\207" [function-put erc-channel-user-op side-effect-free t] 4)#@79 compiler-macro for inlining `erc-channel-user-admin'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc-channel-user-admin--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc-channel-user-admin (progn (or (and (memq (aref cl-x 0) cl-struct-erc-channel-user-tags)) (signal 'wrong-type-argument (list 'erc-channel-user cl-x))) (aref cl-x 4))) nil] 9 (#$ . 23429)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc-channel-user-admin compiler-macro erc-channel-user-admin--cmacro] 4)#@67 Access slot "admin" of `erc-channel-user' struct CL-X.

(fn CL-X)
(defalias 'erc-channel-user-admin #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc-channel-user-tags 0 signal wrong-type-argument erc-channel-user 4] 5 (#$ . 23957)])
(byte-code "\300\301\302\303#\300\207" [function-put erc-channel-user-admin side-effect-free t] 4)#@79 compiler-macro for inlining `erc-channel-user-owner'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc-channel-user-owner--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc-channel-user-owner (progn (or (and (memq (aref cl-x 0) cl-struct-erc-channel-user-tags)) (signal 'wrong-type-argument (list 'erc-channel-user cl-x))) (aref cl-x 5))) nil] 9 (#$ . 24319)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc-channel-user-owner compiler-macro erc-channel-user-owner--cmacro] 4)#@67 Access slot "owner" of `erc-channel-user' struct CL-X.

(fn CL-X)
(defalias 'erc-channel-user-owner #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc-channel-user-tags 0 signal wrong-type-argument erc-channel-user 5] 5 (#$ . 24847)])
(byte-code "\300\301\302\303#\300\207" [function-put erc-channel-user-owner side-effect-free t] 4)#@91 compiler-macro for inlining `erc-channel-user-last-message-time'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc-channel-user-last-message-time--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc-channel-user-last-message-time (progn (or (and (memq (aref cl-x 0) cl-struct-erc-channel-user-tags)) (signal 'wrong-type-argument (list 'erc-channel-user cl-x))) (aref cl-x 6))) nil] 9 (#$ . 25209)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc-channel-user-last-message-time compiler-macro erc-channel-user-last-message-time--cmacro] 4)#@79 Access slot "last-message-time" of `erc-channel-user' struct CL-X.

(fn CL-X)
(defalias 'erc-channel-user-last-message-time #[257 "\211\301H>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc-channel-user-tags 0 signal wrong-type-argument erc-channel-user 6] 5 (#$ . 25797)])
(byte-code "\300\301\302\303#\304\305\306\"\207" [function-put erc-channel-user-last-message-time side-effect-free t defalias copy-erc-channel-user copy-sequence] 4)#@130 compiler-macro for inlining `make-erc-channel-user'.

(fn CL-WHOLE &cl-quote &key VOICE HALFOP OP ADMIN OWNER LAST-MESSAGE-TIME)
(defalias 'make-erc-channel-user--cmacro #[385 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"A@\211\203] \211@\307>\203E \211A\204= \310\311@\"\210\211AA\262\202' \312>A@\203T \313\262\202' \310\314@\"\210\202' \210\315\316\317\313\313&\207" [plist-member :voice :halfop :op :admin :owner :last-message-time (:voice :halfop :op :admin :owner :last-message-time :allow-other-keys) error "Missing argument for %s" :allow-other-keys nil "Keyword argument %s not one of (:voice :halfop :op :admin :owner :last-message-time)" cl--defsubst-expand (voice halfop op admin owner last-message-time) (cl-block make-erc-channel-user (vector 'erc-channel-user voice halfop op admin owner last-message-time))] 20 (#$ . 26251)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop make-erc-channel-user compiler-macro make-erc-channel-user--cmacro] 4)#@110 Constructor for objects of type `erc-channel-user'.

(fn &key VOICE HALFOP OP ADMIN OWNER LAST-MESSAGE-TIME)
(defalias 'make-erc-channel-user #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"A@\211\203] \211@\307>\203E \211A\204= \310\311@\"\210\211AA\262\202' \312>A@\203T \313\262\202' \310\314@\"\210\202' \210\315\316&\207" [plist-member :voice :halfop :op :admin :owner :last-message-time (:voice :halfop :op :admin :owner :last-message-time :allow-other-keys) error "Missing argument for %s" :allow-other-keys nil "Keyword argument %s not one of (:voice :halfop :op :admin :owner :last-message-time)" vector erc-channel-user] 15 (#$ . 27285)])
(byte-code "\300\301\302\303#\304\305\306\211\307\303\310\311\305\306&	\207" [function-put make-erc-channel-user side-effect-free t cl-struct-define erc-channel-user nil vector ((cl-tag-slot) (voice) (halfop) (op) (admin) (owner) (last-message-time nil)) cl-struct-erc-channel-user-tags] 11)#@70 compiler-macro for inlining `erc--target-p'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc--target-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc--target-p (and (memq (type-of cl-x) cl-struct-erc--target-tags) t)) nil] 9 (#$ . 28288)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc--target-p compiler-macro erc--target-p--cmacro] 4)#@13 

(fn CL-X)
(defalias 'erc--target-p #[257 "\301!>\205	 \302\207" [cl-struct-erc--target-tags type-of t] 3 (#$ . 28682)])
(byte-code "\300\301\302\303#\300\301\304\305#\306\307\310\301#\300\207" [function-put erc--target-p side-effect-free error-free pure t define-symbol-prop erc--target cl-deftype-satisfies] 6)#@75 compiler-macro for inlining `erc--target-string'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc--target-string--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc--target-string (progn (or (erc--target-p cl-x) (signal 'wrong-type-argument (list 'erc--target cl-x))) (aref cl-x 1))) nil] 9 (#$ . 29003)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc--target-string compiler-macro erc--target-string--cmacro] 4)#@88 Access slot "string" of `erc--target' struct CL-X.
Received name of target.

(fn CL-X)
(defalias 'erc--target-string #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc--target-tags type-of signal wrong-type-argument erc--target 1] 5 (#$ . 29468)])
(byte-code "\300\301\302\303#\300\207" [function-put erc--target-string side-effect-free t] 4)#@75 compiler-macro for inlining `erc--target-symbol'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc--target-symbol--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc--target-symbol (progn (or (erc--target-p cl-x) (signal 'wrong-type-argument (list 'erc--target cl-x))) (aref cl-x 2))) nil] 9 (#$ . 29836)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc--target-symbol compiler-macro erc--target-symbol--cmacro] 4)#@91 Access slot "symbol" of `erc--target' struct CL-X.
Case-mapped name as symbol.

(fn CL-X)
(defalias 'erc--target-symbol #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc--target-tags type-of signal wrong-type-argument erc--target 2] 5 (#$ . 30301)])
(byte-code "\300\301\302\303#\304\305\306\"\207" [function-put erc--target-symbol side-effect-free t defalias copy-erc--target copy-sequence] 4)#@93 compiler-macro for inlining `make-erc--target'.

(fn CL-WHOLE &cl-quote &key STRING SYMBOL)
(defalias 'make-erc--target--cmacro #[385 "\300\301\"\206 \302A@\300\303\"A@\211\203F \211@\304>\203/ \211A\204' \305\306@\"\210\211AA\262\202 \307>A@\203= \310\262\202 \305\311@\"\210\202 \210\312\313\314\310\310&\207" [plist-member :string (nil "") :symbol (:string :symbol :allow-other-keys) error "Missing argument for %s" :allow-other-keys nil "Keyword argument %s not one of (:string :symbol)" cl--defsubst-expand (string symbol) (cl-block make-erc--target (record 'erc--target string symbol))] 12 (#$ . 30722)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop make-erc--target compiler-macro make-erc--target--cmacro] 4)#@73 Constructor for objects of type `erc--target'.

(fn &key STRING SYMBOL)
(defalias 'make-erc--target #[128 "\300\301\"\206 \302A@\300\303\"A@\211\203F \211@\304>\203/ \211A\204' \305\306@\"\210\211AA\262\202 \307>A@\203= \310\262\202 \305\311@\"\210\202 \210\312\313#\207" [plist-member :string (nil "") :symbol (:string :symbol :allow-other-keys) error "Missing argument for %s" :allow-other-keys nil "Keyword argument %s not one of (:string :symbol)" record erc--target] 7 (#$ . 31477)])
(byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303&	\207" [function-put make-erc--target side-effect-free t cl-struct-define erc--target nil cl-structure-object record ((cl-tag-slot) (string "" :type string :documentation "Received name of target.") (symbol nil :type symbol :documentation "Case-mapped name as symbol.")) cl-struct-erc--target-tags] 11)#@78 compiler-macro for inlining `erc--target-channel-p'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc--target-channel-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc--target-channel-p (and (memq (type-of cl-x) cl-struct-erc--target-channel-tags) t)) nil] 9 (#$ . 32358)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc--target-channel-p compiler-macro erc--target-channel-p--cmacro] 4)#@13 

(fn CL-X)
(defalias 'erc--target-channel-p #[257 "\301!>\205	 \302\207" [cl-struct-erc--target-channel-tags type-of t] 3 (#$ . 32800)])
(byte-code "\300\301\302\303#\300\301\304\305#\306\307\310\301#\300\207" [function-put erc--target-channel-p side-effect-free error-free pure t define-symbol-prop erc--target-channel cl-deftype-satisfies] 6)#@83 compiler-macro for inlining `erc--target-channel-string'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc--target-channel-string--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc--target-channel-string (progn (or (erc--target-channel-p cl-x) (signal 'wrong-type-argument (list 'erc--target-channel cl-x))) (aref cl-x 1))) nil] 9 (#$ . 33153)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc--target-channel-string compiler-macro erc--target-channel-string--cmacro] 4)#@96 Access slot "string" of `erc--target-channel' struct CL-X.
Received name of target.

(fn CL-X)
(defalias 'erc--target-channel-string #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc--target-channel-tags type-of signal wrong-type-argument erc--target-channel 1] 5 (#$ . 33674)])
(byte-code "\300\301\302\303#\300\207" [function-put erc--target-channel-string side-effect-free t] 4)#@83 compiler-macro for inlining `erc--target-channel-symbol'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc--target-channel-symbol--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc--target-channel-symbol (progn (or (erc--target-channel-p cl-x) (signal 'wrong-type-argument (list 'erc--target-channel cl-x))) (aref cl-x 2))) nil] 9 (#$ . 34082)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc--target-channel-symbol compiler-macro erc--target-channel-symbol--cmacro] 4)#@99 Access slot "symbol" of `erc--target-channel' struct CL-X.
Case-mapped name as symbol.

(fn CL-X)
(defalias 'erc--target-channel-symbol #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc--target-channel-tags type-of signal wrong-type-argument erc--target-channel 2] 5 (#$ . 34603)])
(byte-code "\300\301\302\303#\304\305\306\"\207" [function-put erc--target-channel-symbol side-effect-free t defalias copy-erc--target-channel copy-sequence] 4)#@101 compiler-macro for inlining `make-erc--target-channel'.

(fn CL-WHOLE &cl-quote &key STRING SYMBOL)
(defalias 'make-erc--target-channel--cmacro #[385 "\300\301\"\206 \302A@\300\303\"A@\211\203F \211@\304>\203/ \211A\204' \305\306@\"\210\211AA\262\202 \307>A@\203= \310\262\202 \305\311@\"\210\202 \210\312\313\314\310\310&\207" [plist-member :string (nil "") :symbol (:string :symbol :allow-other-keys) error "Missing argument for %s" :allow-other-keys nil "Keyword argument %s not one of (:string :symbol)" cl--defsubst-expand (string symbol) (cl-block make-erc--target-channel (record 'erc--target-channel string symbol))] 12 (#$ . 35073)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop make-erc--target-channel compiler-macro make-erc--target-channel--cmacro] 4)#@81 Constructor for objects of type `erc--target-channel'.

(fn &key STRING SYMBOL)
(defalias 'make-erc--target-channel #[128 "\300\301\"\206 \302A@\300\303\"A@\211\203F \211@\304>\203/ \211A\204' \305\306@\"\210\211AA\262\202 \307>A@\203= \310\262\202 \305\311@\"\210\202 \210\312\313#\207" [plist-member :string (nil "") :symbol (:string :symbol :allow-other-keys) error "Missing argument for %s" :allow-other-keys nil "Keyword argument %s not one of (:string :symbol)" record erc--target-channel] 7 (#$ . 35876)])
(byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303&	\207" [function-put make-erc--target-channel side-effect-free t cl-struct-define erc--target-channel nil erc--target record ((cl-tag-slot) (string "" :type string :documentation "Received name of target.") (symbol nil :type symbol :documentation "Case-mapped name as symbol.")) cl-struct-erc--target-channel-tags] 11)#@84 compiler-macro for inlining `erc--target-channel-local-p'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc--target-channel-local-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc--target-channel-local-p (and (memq (type-of cl-x) cl-struct-erc--target-channel-local-tags) t)) nil] 9 (#$ . 36797)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc--target-channel-local-p compiler-macro erc--target-channel-local-p--cmacro] 4)#@13 

(fn CL-X)
(defalias 'erc--target-channel-local-p #[257 "\301!>\205	 \302\207" [cl-struct-erc--target-channel-local-tags type-of t] 3 (#$ . 37275)])
(byte-code "\300\301\302\303#\300\301\304\305#\306\307\310\301#\300\207" [function-put erc--target-channel-local-p side-effect-free error-free pure t define-symbol-prop erc--target-channel-local cl-deftype-satisfies] 6)#@89 compiler-macro for inlining `erc--target-channel-local-string'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc--target-channel-local-string--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc--target-channel-local-string (progn (or (erc--target-channel-local-p cl-x) (signal 'wrong-type-argument (list 'erc--target-channel-local cl-x))) (aref cl-x 1))) nil] 9 (#$ . 37652)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc--target-channel-local-string compiler-macro erc--target-channel-local-string--cmacro] 4)#@102 Access slot "string" of `erc--target-channel-local' struct CL-X.
Received name of target.

(fn CL-X)
(defalias 'erc--target-channel-local-string #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc--target-channel-local-tags type-of signal wrong-type-argument erc--target-channel-local 1] 5 (#$ . 38216)])
(byte-code "\300\301\302\303#\300\207" [function-put erc--target-channel-local-string side-effect-free t] 4)#@89 compiler-macro for inlining `erc--target-channel-local-symbol'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc--target-channel-local-symbol--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc--target-channel-local-symbol (progn (or (erc--target-channel-local-p cl-x) (signal 'wrong-type-argument (list 'erc--target-channel-local cl-x))) (aref cl-x 2))) nil] 9 (#$ . 38654)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc--target-channel-local-symbol compiler-macro erc--target-channel-local-symbol--cmacro] 4)#@105 Access slot "symbol" of `erc--target-channel-local' struct CL-X.
Case-mapped name as symbol.

(fn CL-X)
(defalias 'erc--target-channel-local-symbol #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc--target-channel-local-tags type-of signal wrong-type-argument erc--target-channel-local 2] 5 (#$ . 39218)])
(byte-code "\300\301\302\303#\304\305\306\"\207" [function-put erc--target-channel-local-symbol side-effect-free t defalias copy-erc--target-channel-local copy-sequence] 4)#@107 compiler-macro for inlining `make-erc--target-channel-local'.

(fn CL-WHOLE &cl-quote &key STRING SYMBOL)
(defalias 'make-erc--target-channel-local--cmacro #[385 "\300\301\"\206 \302A@\300\303\"A@\211\203F \211@\304>\203/ \211A\204' \305\306@\"\210\211AA\262\202 \307>A@\203= \310\262\202 \305\311@\"\210\202 \210\312\313\314\310\310&\207" [plist-member :string (nil "") :symbol (:string :symbol :allow-other-keys) error "Missing argument for %s" :allow-other-keys nil "Keyword argument %s not one of (:string :symbol)" cl--defsubst-expand (string symbol) (cl-block make-erc--target-channel-local (record 'erc--target-channel-local string symbol))] 12 (#$ . 39724)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop make-erc--target-channel-local compiler-macro make-erc--target-channel-local--cmacro] 4)#@87 Constructor for objects of type `erc--target-channel-local'.

(fn &key STRING SYMBOL)
(defalias 'make-erc--target-channel-local #[128 "\300\301\"\206 \302A@\300\303\"A@\211\203F \211@\304>\203/ \211A\204' \305\306@\"\210\211AA\262\202 \307>A@\203= \310\262\202 \305\311@\"\210\202 \210\312\313#\207" [plist-member :string (nil "") :symbol (:string :symbol :allow-other-keys) error "Missing argument for %s" :allow-other-keys nil "Keyword argument %s not one of (:string :symbol)" record erc--target-channel-local] 7 (#$ . 40563)])
(byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303&	\207" [function-put make-erc--target-channel-local side-effect-free t cl-struct-define erc--target-channel-local nil erc--target-channel record ((cl-tag-slot) (string "" :type string :documentation "Received name of target.") (symbol nil :type symbol :documentation "Case-mapped name as symbol.")) cl-struct-erc--target-channel-local-tags] 11)#@71 compiler-macro for inlining `erc-response-p'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc-response-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc-response-p (and (memq (type-of cl-x) cl-struct-erc-response-tags) t)) nil] 9 (#$ . 41528)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc-response-p compiler-macro erc-response-p--cmacro] 4)#@13 

(fn CL-X)
(defalias 'erc-response-p #[257 "\301!>\205	 \302\207" [cl-struct-erc-response-tags type-of t] 3 (#$ . 41928)])
(byte-code "\300\301\302\303#\300\301\304\305#\306\307\310\301#\300\207" [function-put erc-response-p side-effect-free error-free pure t define-symbol-prop erc-response cl-deftype-satisfies] 6)#@78 compiler-macro for inlining `erc-response.unparsed'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc-response.unparsed--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc-response.unparsed (progn (or (erc-response-p cl-x) (signal 'wrong-type-argument (list 'erc-response cl-x))) (aref cl-x 1))) nil] 9 (#$ . 42253)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc-response.unparsed compiler-macro erc-response.unparsed--cmacro] 4)#@66 Access slot "unparsed" of `erc-response' struct CL-X.

(fn CL-X)
(defalias 'erc-response.unparsed #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc-response-tags type-of signal wrong-type-argument erc-response 1] 5 (#$ . 42735)])
(byte-code "\300\301\302\303#\300\207" [function-put erc-response.unparsed side-effect-free t] 4)#@76 compiler-macro for inlining `erc-response.sender'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc-response.sender--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc-response.sender (progn (or (erc-response-p cl-x) (signal 'wrong-type-argument (list 'erc-response cl-x))) (aref cl-x 2))) nil] 9 (#$ . 43089)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc-response.sender compiler-macro erc-response.sender--cmacro] 4)#@64 Access slot "sender" of `erc-response' struct CL-X.

(fn CL-X)
(defalias 'erc-response.sender #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc-response-tags type-of signal wrong-type-argument erc-response 2] 5 (#$ . 43561)])
(byte-code "\300\301\302\303#\300\207" [function-put erc-response.sender side-effect-free t] 4)#@77 compiler-macro for inlining `erc-response.command'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc-response.command--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc-response.command (progn (or (erc-response-p cl-x) (signal 'wrong-type-argument (list 'erc-response cl-x))) (aref cl-x 3))) nil] 9 (#$ . 43909)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc-response.command compiler-macro erc-response.command--cmacro] 4)#@65 Access slot "command" of `erc-response' struct CL-X.

(fn CL-X)
(defalias 'erc-response.command #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc-response-tags type-of signal wrong-type-argument erc-response 3] 5 (#$ . 44386)])
(byte-code "\300\301\302\303#\300\207" [function-put erc-response.command side-effect-free t] 4)#@82 compiler-macro for inlining `erc-response.command-args'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc-response.command-args--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc-response.command-args (progn (or (erc-response-p cl-x) (signal 'wrong-type-argument (list 'erc-response cl-x))) (aref cl-x 4))) nil] 9 (#$ . 44737)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc-response.command-args compiler-macro erc-response.command-args--cmacro] 4)#@70 Access slot "command-args" of `erc-response' struct CL-X.

(fn CL-X)
(defalias 'erc-response.command-args #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc-response-tags type-of signal wrong-type-argument erc-response 4] 5 (#$ . 45239)])
(byte-code "\300\301\302\303#\300\207" [function-put erc-response.command-args side-effect-free t] 4)#@78 compiler-macro for inlining `erc-response.contents'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc-response.contents--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc-response.contents (progn (or (erc-response-p cl-x) (signal 'wrong-type-argument (list 'erc-response cl-x))) (aref cl-x 5))) nil] 9 (#$ . 45605)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc-response.contents compiler-macro erc-response.contents--cmacro] 4)#@66 Access slot "contents" of `erc-response' struct CL-X.

(fn CL-X)
(defalias 'erc-response.contents #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc-response-tags type-of signal wrong-type-argument erc-response 5] 5 (#$ . 46087)])
(byte-code "\300\301\302\303#\300\207" [function-put erc-response.contents side-effect-free t] 4)#@74 compiler-macro for inlining `erc-response.tags'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'erc-response.tags--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block erc-response.tags (progn (or (erc-response-p cl-x) (signal 'wrong-type-argument (list 'erc-response cl-x))) (aref cl-x 6))) nil] 9 (#$ . 46441)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop erc-response.tags compiler-macro erc-response.tags--cmacro] 4)#@62 Access slot "tags" of `erc-response' struct CL-X.

(fn CL-X)
(defalias 'erc-response.tags #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-erc-response-tags type-of signal wrong-type-argument erc-response 6] 5 (#$ . 46903)])
(byte-code "\300\301\302\303#\304\305\306\"\207" [function-put erc-response.tags side-effect-free t defalias copy-erc-response copy-sequence] 4)#@131 compiler-macro for inlining `make-erc-response'.

(fn CL-WHOLE &cl-quote &key UNPARSED SENDER COMMAND COMMAND-ARGS CONTENTS TAGS)
(defalias 'make-erc-response--cmacro #[385 "\300\301\"\206 \302A@\300\303\"\206 \304A@\300\305\"\206 \306A@\300\307\"\206& \310A@\300\311\"\2060 \312A@\300\313\"\206; \314A@\211\203u \211@\315>\203] \211A\204U \316\317@\"\210\211AA\262\202? \320>A@\203l \321\262\202? \316\322@\"\210\202? \210\323\324\325\321\321&\207" [plist-member :unparsed (nil #1="") :sender (nil #1#) :command (nil #1#) :command-args (nil 'nil) :contents (nil #1#) :tags (nil 'nil) (:unparsed :sender :command :command-args :contents :tags :allow-other-keys) error "Missing argument for %s" :allow-other-keys nil "Keyword argument %s not one of (:unparsed :sender :command :command-args :contents :tags)" cl--defsubst-expand (unparsed sender command command-args contents tags) (cl-block make-erc-response (record 'erc-response unparsed sender command command-args contents tags))] 20 (#$ . 47297)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop make-erc-response compiler-macro make-erc-response--cmacro] 4)#@111 Constructor for objects of type `erc-response'.

(fn &key UNPARSED SENDER COMMAND COMMAND-ARGS CONTENTS TAGS)
(defalias 'make-erc-response #[128 "\300\301\"\206 \302A@\300\303\"\206 \304A@\300\305\"\206 \306A@\300\307\"\206& \310A@\300\311\"\2060 \312A@\300\313\"\206; \314A@\211\203u \211@\315>\203] \211A\204U \316\317@\"\210\211AA\262\202? \320>A@\203l \321\262\202? \316\322@\"\210\202? \210\323\324&\207" [plist-member :unparsed (nil #1="") :sender (nil #1#) :command (nil #1#) :command-args (nil nil) :contents (nil #1#) :tags (nil nil) (:unparsed :sender :command :command-args :contents :tags :allow-other-keys) error "Missing argument for %s" :allow-other-keys nil "Keyword argument %s not one of (:unparsed :sender :command :command-args :contents :tags)" record erc-response] 15 (#$ . 48461)])
(byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303&	\207" [function-put make-erc-response side-effect-free t cl-struct-define erc-response nil cl-structure-object record ((cl-tag-slot) (unparsed #1="" :type string) (sender #1# :type string) (command #1# :type string) (command-args 'nil :type list) (contents #1# :type string) (tags 'nil :type list)) cl-struct-erc-response-tags] 11)#@194 Migration alist mapping a library feature to module names.
Keys need not be unique: a library may define more than one
module.  Sometimes a module's downcased alias will be its
canonical name.
(defconst erc--features-to-modules '((erc-pcomplete completion pcomplete) (erc-capab capab-identify) (erc-join autojoin) (erc-page page ctcp-page) (erc-sound sound ctcp-sound) (erc-stamp stamp timestamp) (erc-services services nickserv)) (#$ . 49706))#@70 Migration alist mapping a module's name to its home library feature.
(defconst erc--modules-to-features (byte-code "\301\211\203+ \211@\211\242\243\211\211\203\" \211@\211BB\262A\266\202\202 \266A\266\202\202 \210\211\237\207" [erc--features-to-modules nil] 9) (#$ . 50156))#@63 Association list of obsolete module names to canonical names.
(defconst erc--module-name-migrations (byte-code "\301\211\203- \211@\211\243\211\242\243\211\211\203$ \211@\211BB\262A\266\202\202 \266A\266\202\202 \210\207" [erc--features-to-modules nil] 10) (#$ . 50447))#@57 Return preferred SYMBOL for `erc-modules'.

(fn SYMBOL)
(defalias 'erc--normalize-module-symbol #[257 "\301\302!\227!\262\211\236A\206 \211\207" [erc--module-name-migrations intern symbol-name] 4 (#$ . 50734)])#@41 

(fn LOCALP NAME ABLSYM MODE VAL BODY)
(defalias 'erc--assemble-toggle #[1542 "\300\301!\302\205 \303D\203 \304\202 \305\306\307!\310\205\" \311\260\312\205+ \313B\203N \314\315\316\317\320\321CF\322E\fBBBBEC\202w \203` \323\324\325!D\326BB\202m \322\327\330\324\325!D\331BBE\322\n\nEBBBBBBB\207" [make-symbol "arg" defun &optional "Enable" "Disable" " ERC " symbol-name " mode." "\nWhen called interactively, do so in all buffers for the current connection." interactive ("p") when (derived-mode-p 'erc-mode) if erc-with-all-buffers-of-server erc-server-process nil setq cl-pushnew quote erc--normalize-module-symbol (erc-modules) erc-modules delq (erc-modules)] 20 (#$ . 50954)])#@1311 Define a new minor mode using ERC conventions.
Symbol NAME is the name of the module.
Symbol ALIAS is the alias to use, or nil.
DOC is the documentation string to use for the minor mode.
ENABLE-BODY is a list of expressions used to enable the mode.
DISABLE-BODY is a list of expressions used to disable the mode.
If LOCAL-P is non-nil, the mode will be created as a buffer-local
mode, rather than a global one.

This will define a minor mode called erc-NAME-mode, possibly
an alias erc-ALIAS-mode, as well as the helper functions
erc-NAME-enable, and erc-NAME-disable.

With LOCAL-P, these helpers take on an optional argument that,
when non-nil, causes them to act on all buffers of a connection.
This feature is mainly intended for interactive use and does not
carry over to their respective minor-mode toggles.  Beware that
for global modules, these helpers and toggles all mutate
`erc-modules'.

Example:

  ;;;###autoload(autoload \='erc-replace-mode "erc-replace")
  (define-erc-module replace nil
    "This mode replaces incoming text according to `erc-replace-alist'."
    ((add-hook \='erc-insert-modify-hook
               #\='erc-replace-insert))
    ((remove-hook \='erc-insert-modify-hook
                  #\='erc-replace-insert)))

(fn NAME ALIAS DOC ENABLE-BODY DISABLE-BODY &optional LOCAL-P)
(defalias 'define-erc-module '(macro . #[1541 "\300!\301\302\303\227\"!\301\302\304\227\"!\301\302\305\227\"!\301\302\306\227\"!\307\310\302\311\211$\312\n?\313\314\nD\315\fCCF\257\316	\317&\316	\n\320&\321\205i =?\211\205w \301\302\303\300!\227\"!\211\205\221 \322\314D\323DE\324\314D\325\314\326!DFD\266\202\324\314D\327\314\326!DF\324\314\fD\330\314DF\324\314D\331\314DF\324\314D\332\314DFF\"BBBB\207" [symbol-name intern format "erc-%s-mode" "erc-%s" "erc-%s-enable" "erc-%s-disable" progn define-minor-mode "Toggle ERC %S mode.\nWith a prefix argument ARG, enable %s if ARG is positive,\nand disable it otherwise.  If called from Lisp, enable the mode\nif ARG is omitted or nil.\n%s" :global :group quote if erc--assemble-toggle t nil append defalias function put 'erc-module erc--normalize-module-symbol 'erc-module 'definition-name 'definition-name 'definition-name] 25 (#$ . 51680)]))
(byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put define-erc-module doc-string-elt 3 lisp-indent-function defun] 5)#@368 Execute BODY in the buffer associated with SPEC.

SPEC should have the form

 (TARGET [PROCESS])

If TARGET is a buffer, use it.  Otherwise, use the buffer
matching TARGET in the process specified by PROCESS.

If PROCESS is nil, use the current `erc-server-process'.
See `erc-get-buffer' for details.

See also `with-current-buffer'.

(fn (TARGET [PROCESS]) BODY...)
(defalias 'erc-with-buffer '(macro . #[385 "\300\301!\300\302!\300\303!\300\304!\305@DA@D\306\307D\310\n\311\n\312BBDC\306\313\fE\314EEEFDE\315\316D\317\nBBEE\207" [make-symbol "buf" "proc" "target" "process" let* if bufferp let or ((and (processp erc-server-process) erc-server-process)) and erc-get-buffer when buffer-live-p with-current-buffer] 20 (#$ . 54093)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put erc-with-buffer lisp-indent-function 1 put edebug-form-spec ((form &optional form) body)] 5)#@105 Execute BODY in the current ERC server buffer.
If no server buffer exists, return nil.

(fn &rest BODY)
(defalias 'erc-with-server-buffer '(macro . #[128 "\300\301!\302\303BC\304\305D\306BBEE\207" [make-symbol "buffer" let ((erc-server-buffer)) when buffer-live-p with-current-buffer] 9 (#$ . 55018)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put erc-with-server-buffer lisp-indent-function 0 put edebug-form-spec (body)] 5)#@246 Execute FORMS in all buffers which have same process as this server.
FORMS will be evaluated in all buffers having the process PROCESS and
where PRED matches or in all buffers of the server process if PRED is
nil.

(fn PROCESS PRED &rest FORMS)
(defalias 'erc-with-all-buffers-of-server '(macro . #[642 "\300!\203\n \202 \301\302!\303\304\305\306\307\310D\311DEBBEE=\203) \207\312DC\"\207" [macroexp-const-p make-symbol "pred" erc-buffer-filter lambda nil when or not funcall macroexp-let*] 12 (#$ . 55476)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put erc-with-all-buffers-of-server lisp-indent-function 2 put edebug-form-spec (form form body)] 5)#@46 Do the debug logging of STRING.

(fn STRING)
(defalias 'erc-log-aux #[257 "p\302\303\304 \211\203E \211q\210\203 \305!\203 \306!\204# \307\310	\311Q!q\210`\262m\262db\210\312\313Qc\210\203? db\210\202B b\210q\207\314\315\"\207" [erc-dbuf erc-session-server 1 nil erc-server-buffer bufferp buffer-live-p get-buffer-create "*ERC-DEBUG: " "*" "** " "\n" message "ERC: ** %s"] 9 (#$ . 56168)])#@62 Logs STRING if logging is on (see `erc-log-p').

(fn STRING)
(defalias 'erc-log #[257 "\205 \301!\207" [erc-log-p erc-log-aux] 3 (#$ . 56578)])
(byte-code "\300\301\302\303#\300\207" [function-put erc-log compiler-macro erc-log--inliner] 4)#@28 

(fn INLINE--FORM STRING)
(defalias 'erc-log--inliner #[514 "\3002 \301\302\303DE0\207" [inline--just-use when erc-log-p erc-log-aux] 6 (#$ . 56827)])#@128 Return a downcased copy of STRING with properties.
Use the CASEMAPPING ISUPPORT parameter to determine the style.

(fn STRING)
(defalias 'erc-downcase #[257 "\303 p\304\305#\216\306\307\310\311\"\211\312\267\202 \202 	\202 \n\262!\210\227)\207" [ascii-case-table erc--casemapping-rfc1459-strict erc--casemapping-rfc1459 current-case-table make-closure #[0 "r\300q\210\302\301!)\207" [V0 V1 set-case-table] 2] set-case-table erc--get-isupport-entry CASEMAPPING single #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("ascii" 20 "rfc1459-strict" 24))] 7 (#$ . 56987)])#@78 Find NICK in the current buffer's `erc-channel-users' hash table.

(fn NICK)
(defalias 'erc-get-channel-user #[257 "\301\302!\"\207" [erc-channel-users gethash erc-downcase] 4 (#$ . 57607)])
(byte-code "\300\301\302\303#\300\207" [function-put erc-get-channel-user compiler-macro erc-get-channel-user--inliner] 4)#@26 

(fn INLINE--FORM NICK)
(defalias 'erc-get-channel-user--inliner #[514 "\3002 \301\302D\303E0\207" [inline--just-use gethash erc-downcase erc-channel-users] 5 (#$ . 57928)])#@77 Find NICK in the current server's `erc-server-users' hash table.

(fn NICK)
(defalias 'erc-get-server-user #[257 "\301 \302!\205 r\211q\210\303\304!\")\207" [erc-server-users erc-server-buffer buffer-live-p gethash erc-downcase] 5 (#$ . 58110)])
(byte-code "\300\301\302\303#\300\207" [function-put erc-get-server-user compiler-macro erc-get-server-user--inliner] 4)#@26 

(fn INLINE--FORM NICK)
(defalias 'erc-get-server-user--inliner #[514 "\3002/ \301!\203 \211\202 \302\303!\304\305\306D\307ED=\203% \211\266\202\202. \310DC\"\266\2020\207" [inline--just-use macroexp-copyable-p make-symbol "nick" erc-with-server-buffer gethash erc-downcase erc-server-users macroexp-let*] 7 (#$ . 58486)])
(provide 'erc-common)
