%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/nxml/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/nxml/rng-match.elc

;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; 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 "\300\301!\210\300\302!\210\300\303!\207" [require rng-pttrn rng-util rng-dt] 2)
(defvar rng-not-allowed-ipattern nil)
(defvar rng-empty-ipattern nil)
(defvar rng-text-ipattern nil)
(defvar rng-compile-table nil)
#@104 Contains a list of ref patterns currently being compiled.
Used to detect invalid recursive references.
(defvar rng-being-compiled nil (#$ . 633))
(defvar rng-ipattern-table nil)
(defvar rng-last-ipattern-index nil)
#@59 An ipattern representing the current state of validation.
(defvar rng-match-state nil (#$ . 854))
#@18 

(fn NEW-STATE)
(defalias 'rng-update-match-state #[257 "\211=\203\n	=\207\211\302\207" [rng-not-allowed-ipattern rng-match-state t] 3 (#$ . 958)])
(put 'rng-update-match-state 'byte-optimizer 'byte-compile-inline-expand)
#@75 compiler-macro for inlining `rng--ipattern-type'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'rng--ipattern-type--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rng--ipattern-type (progn (aref cl-x 0))) nil] 9 (#$ . 1191)])
(put 'rng--ipattern-type 'compiler-macro 'rng--ipattern-type--cmacro)
#@63 Access slot "type" of `rng--ipattern' struct CL-X.

(fn CL-X)
(defalias 'rng--ipattern-type #[257 "\211\300H\207" [0] 3 (#$ . 1521)])
(byte-code "\300\301\302\303#\300\207" [function-put rng--ipattern-type side-effect-free t] 4)
#@76 compiler-macro for inlining `rng--ipattern-index'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'rng--ipattern-index--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rng--ipattern-index (progn (aref cl-x 1))) nil] 9 (#$ . 1756)])
(put 'rng--ipattern-index 'compiler-macro 'rng--ipattern-index--cmacro)
#@64 Access slot "index" of `rng--ipattern' struct CL-X.

(fn CL-X)
(defalias 'rng--ipattern-index #[257 "\211\300H\207" [1] 3 (#$ . 2091)])
(byte-code "\300\301\302\303#\300\207" [function-put rng--ipattern-index side-effect-free t] 4)
#@81 compiler-macro for inlining `rng--ipattern-name-class'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'rng--ipattern-name-class--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rng--ipattern-name-class (progn (aref cl-x 2))) nil] 9 (#$ . 2329)])
(put 'rng--ipattern-name-class 'compiler-macro 'rng--ipattern-name-class--cmacro)
#@69 Access slot "name-class" of `rng--ipattern' struct CL-X.

(fn CL-X)
(defalias 'rng--ipattern-name-class #[257 "\211\300H\207" [2] 3 (#$ . 2689)])
(byte-code "\300\301\302\303#\300\207" [function-put rng--ipattern-name-class side-effect-free t] 4)
#@76 compiler-macro for inlining `rng--ipattern-child'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'rng--ipattern-child--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rng--ipattern-child (progn (aref cl-x 3))) nil] 9 (#$ . 2942)])
(put 'rng--ipattern-child 'compiler-macro 'rng--ipattern-child--cmacro)
#@64 Access slot "child" of `rng--ipattern' struct CL-X.

(fn CL-X)
(defalias 'rng--ipattern-child #[257 "\211\300H\207" [3] 3 (#$ . 3277)])
(byte-code "\300\301\302\303#\300\207" [function-put rng--ipattern-child side-effect-free t] 4)
#@79 compiler-macro for inlining `rng--ipattern-nullable'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'rng--ipattern-nullable--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rng--ipattern-nullable (progn (aref cl-x 4))) nil] 9 (#$ . 3515)])
(put 'rng--ipattern-nullable 'compiler-macro 'rng--ipattern-nullable--cmacro)
#@67 Access slot "nullable" of `rng--ipattern' struct CL-X.

(fn CL-X)
(defalias 'rng--ipattern-nullable #[257 "\211\300H\207" [4] 3 (#$ . 3865)])
(byte-code "\300\301\302\303#\300\207" [function-put rng--ipattern-nullable side-effect-free t] 4)
#@86 compiler-macro for inlining `rng--ipattern-memo-text-typed'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'rng--ipattern-memo-text-typed--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rng--ipattern-memo-text-typed (progn (aref cl-x 5))) nil] 9 (#$ . 4112)])
(put 'rng--ipattern-memo-text-typed 'compiler-macro 'rng--ipattern-memo-text-typed--cmacro)
#@74 Access slot "memo-text-typed" of `rng--ipattern' struct CL-X.

(fn CL-X)
(defalias 'rng--ipattern-memo-text-typed #[257 "\211\300H\207" [5] 3 (#$ . 4497)])
(byte-code "\300\301\302\303#\300\207" [function-put rng--ipattern-memo-text-typed side-effect-free t] 4)
#@100 compiler-macro for inlining `rng--ipattern-memo-map-start-tag-open-deriv'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'rng--ipattern-memo-map-start-tag-open-deriv--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rng--ipattern-memo-map-start-tag-open-deriv (progn (aref cl-x 6))) nil] 9 (#$ . 4766)])
(put 'rng--ipattern-memo-map-start-tag-open-deriv 'compiler-macro 'rng--ipattern-memo-map-start-tag-open-deriv--cmacro)
#@88 Access slot "memo-map-start-tag-open-deriv" of `rng--ipattern' struct CL-X.

(fn CL-X)
(defalias 'rng--ipattern-memo-map-start-tag-open-deriv #[257 "\211\300H\207" [6] 3 (#$ . 5221)])
(byte-code "\300\301\302\303#\300\207" [function-put rng--ipattern-memo-map-start-tag-open-deriv side-effect-free t] 4)
#@101 compiler-macro for inlining `rng--ipattern-memo-map-start-attribute-deriv'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'rng--ipattern-memo-map-start-attribute-deriv--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rng--ipattern-memo-map-start-attribute-deriv (progn (aref cl-x 7))) nil] 9 (#$ . 5532)])
(put 'rng--ipattern-memo-map-start-attribute-deriv 'compiler-macro 'rng--ipattern-memo-map-start-attribute-deriv--cmacro)
#@89 Access slot "memo-map-start-attribute-deriv" of `rng--ipattern' struct CL-X.

(fn CL-X)
(defalias 'rng--ipattern-memo-map-start-attribute-deriv #[257 "\211\300H\207" [7] 3 (#$ . 5992)])
(byte-code "\300\301\302\303#\300\207" [function-put rng--ipattern-memo-map-start-attribute-deriv side-effect-free t] 4)
#@97 compiler-macro for inlining `rng--ipattern-memo-start-tag-close-deriv'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'rng--ipattern-memo-start-tag-close-deriv--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rng--ipattern-memo-start-tag-close-deriv (progn (aref cl-x 8))) nil] 9 (#$ . 6305)])
(put 'rng--ipattern-memo-start-tag-close-deriv 'compiler-macro 'rng--ipattern-memo-start-tag-close-deriv--cmacro)
#@85 Access slot "memo-start-tag-close-deriv" of `rng--ipattern' struct CL-X.

(fn CL-X)
(defalias 'rng--ipattern-memo-start-tag-close-deriv #[257 "\211\300H\207" [8] 3 (#$ . 6745)])
(byte-code "\300\301\302\303#\300\207" [function-put rng--ipattern-memo-start-tag-close-deriv side-effect-free t] 4)
#@91 compiler-macro for inlining `rng--ipattern-memo-text-only-deriv'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'rng--ipattern-memo-text-only-deriv--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rng--ipattern-memo-text-only-deriv (progn (aref cl-x 9))) nil] 9 (#$ . 7046)])
(put 'rng--ipattern-memo-text-only-deriv 'compiler-macro 'rng--ipattern-memo-text-only-deriv--cmacro)
#@79 Access slot "memo-text-only-deriv" of `rng--ipattern' struct CL-X.

(fn CL-X)
(defalias 'rng--ipattern-memo-text-only-deriv #[257 "\211\300H\207" [9] 3 (#$ . 7456)])
(byte-code "\300\301\302\303#\300\207" [function-put rng--ipattern-memo-text-only-deriv side-effect-free t] 4)
#@92 compiler-macro for inlining `rng--ipattern-memo-mixed-text-deriv'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'rng--ipattern-memo-mixed-text-deriv--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rng--ipattern-memo-mixed-text-deriv (progn (aref cl-x 10))) nil] 9 (#$ . 7739)])
(put 'rng--ipattern-memo-mixed-text-deriv 'compiler-macro 'rng--ipattern-memo-mixed-text-deriv--cmacro)
#@80 Access slot "memo-mixed-text-deriv" of `rng--ipattern' struct CL-X.

(fn CL-X)
(defalias 'rng--ipattern-memo-mixed-text-deriv #[257 "\211\300H\207" [10] 3 (#$ . 8155)])
(byte-code "\300\301\302\303#\300\207" [function-put rng--ipattern-memo-mixed-text-deriv side-effect-free t] 4)
#@90 compiler-macro for inlining `rng--ipattern-memo-map-data-deriv'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'rng--ipattern-memo-map-data-deriv--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rng--ipattern-memo-map-data-deriv (progn (aref cl-x 11))) nil] 9 (#$ . 8442)])
(put 'rng--ipattern-memo-map-data-deriv 'compiler-macro 'rng--ipattern-memo-map-data-deriv--cmacro)
#@78 Access slot "memo-map-data-deriv" of `rng--ipattern' struct CL-X.

(fn CL-X)
(defalias 'rng--ipattern-memo-map-data-deriv #[257 "\211\300H\207" [11] 3 (#$ . 8848)])
(byte-code "\300\301\302\303#\300\207" [function-put rng--ipattern-memo-map-data-deriv side-effect-free t] 4)
#@89 compiler-macro for inlining `rng--ipattern-memo-end-tag-deriv'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'rng--ipattern-memo-end-tag-deriv--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rng--ipattern-memo-end-tag-deriv (progn (aref cl-x 12))) nil] 9 (#$ . 9129)])
(put 'rng--ipattern-memo-end-tag-deriv 'compiler-macro 'rng--ipattern-memo-end-tag-deriv--cmacro)
#@77 Access slot "memo-end-tag-deriv" of `rng--ipattern' struct CL-X.

(fn CL-X)
(defalias 'rng--ipattern-memo-end-tag-deriv #[257 "\211\300H\207" [12] 3 (#$ . 9530)])
(byte-code "\300\301\302\303#\300\207" [function-put rng--ipattern-memo-end-tag-deriv side-effect-free t] 4)
#@106 compiler-macro for inlining `rng-make-ipattern'.

(fn CL-WHOLE-ARG TYPE INDEX NAME-CLASS CHILD NULLABLE)
(defalias 'rng-make-ipattern--cmacro #[1542 "\300\301\302\303\211\211\n\n\n\n\n&\n\207" [cl--defsubst-expand (type index name-class child nullable) (cl-block rng-make-ipattern (vector type index name-class child nullable 'unknown nil nil nil nil nil nil nil)) nil] 17 (#$ . 9809)])
(put 'rng-make-ipattern 'compiler-macro 'rng-make-ipattern--cmacro)
#@93 Constructor for objects of type `rng--ipattern'.

(fn TYPE INDEX NAME-CLASS CHILD NULLABLE)
(defalias 'rng-make-ipattern #[1285 "\300\301\302\211\211\211\211\211\211&
\207" [vector unknown nil] 19 (#$ . 10275)])
(byte-code "\300\301\302\303#\304\305\306\211\307\306\310\311\305\306&	\210\312\313\314\"\210\312\315\314\"\210\312\316\317\"\207" [function-put rng-make-ipattern side-effect-free t cl-struct-define rng--ipattern nil vector ((type) (index) (name-class) (child) (nullable) (memo-text-typed 'unknown) (memo-map-start-tag-open-deriv) (memo-map-start-attribute-deriv) (memo-start-tag-close-deriv) (memo-text-only-deriv) (memo-mixed-text-deriv) (memo-map-data-deriv) (memo-end-tag-deriv)) cl-struct-rng--ipattern-tags defalias rng--ipattern-datatype rng--ipattern-name-class rng--ipattern-after rng--ipattern-value-object rng--ipattern-child] 11)
(defconst rng-memo-map-alist-max 10)
#@67 Return the value associated with KEY in memo-map MM.

(fn KEY MM)
(defalias 'rng-memo-map-get #[514 "\300\"\211\203
\211A\202\205@\301!\205\302\"\262\207" [assoc hash-table-p gethash] 7 (#$ . 11177)])
(put 'rng-memo-map-get 'byte-optimizer 'byte-compile-inline-expand)
#@828 Associate KEY with VALUE in memo-map MM and return the new memo-map.
The new memo-map may or may not be a different object from MM.

Alists are better for small maps.  Hash tables are better for large
maps.  A memo-map therefore starts off as an alist and switches to a
hash table for large memo-maps.  A memo-map is always a list.  An empty
memo-map is represented by nil.  A large memo-map is represented by a
list containing just a hash-table.  A small memo map is represented by
a list whose cdr is an alist and whose car is the number of entries in
the alist.  The complete memo-map can be passed to `assoc' without
problems: assoc ignores any members that are not cons cells.  There is
therefore minimal overhead in successful lookups on small lists
(which is the most common case).

(fn KEY VALUE MM &optional WEAKNESS)
(defalias 'rng-memo-map-add #[1027 "\204\n\301BD\207@\302!\203\303#\210\202Y\211Y\203P\304\305\306\307\310\311_&A\262\203H@\262\303@A#\210A\262\2021\211\312B\262\202Y\211TBABB\207" [rng-memo-map-alist-max 1 hash-table-p puthash make-hash-table :test equal :weakness :size 2 nil] 13 (#$ . 11468)])
(defalias 'rng-ipattern-maybe-init #[0 "?\205
\302\303\304\"\305\211\207" [rng-ipattern-table rng-last-ipattern-index make-hash-table :test equal -1] 3])
(defalias 'rng-ipattern-clear #[0 "\203\302!\210\303\211\207" [rng-ipattern-table rng-last-ipattern-index clrhash -1] 2])
(defalias 'rng-gen-ipattern-index #[0 "T\211\207" [rng-last-ipattern-index] 2])
(put 'rng-gen-ipattern-index 'byte-optimizer 'byte-compile-inline-expand)
#@43 

(fn KEY TYPE NAME-CLASS CHILD NULLABLE)
(defalias 'rng-put-ipattern #[1285 "T\211\302\303\304\211\211\211\211\211\211&
\266\205\305	#\210\211\207" [rng-last-ipattern-index rng-ipattern-table vector unknown nil puthash] 24 (#$ . 13074)])
#@12 

(fn KEY)
(defalias 'rng-get-ipattern #[257 "\301\"\207" [rng-ipattern-table gethash] 4 (#$ . 13333)])
(byte-code "\204\303\304\305\306\211\211\307\306\211\211\211\211\211\211&
	\204*\303\310\311\306\211\312\307\306\211\211\211\211\211\211&
\n\204?\303\313\314\306\211\312\307\306\211\211\211\211\211\211&
\306\207" [rng-not-allowed-ipattern rng-empty-ipattern rng-text-ipattern vector not-allowed -3 nil unknown empty -2 t text -1] 14)
(defconst rng-const-ipatterns (list rng-not-allowed-ipattern rng-empty-ipattern rng-text-ipattern))
#@20 

(fn CHILD AFTER)
(defalias 'rng-intern-after #[514 "=\203\207\301\302H\302HE\303!\206\304\301\305%\207" [rng-not-allowed-ipattern after 1 rng-get-ipattern rng-put-ipattern nil] 9 (#$ . 13887)])
#@28 

(fn NAME-CLASS IPATTERN)
(defalias 'rng-intern-attribute #[514 "\211=\203\207\301\302HE\303!\206\304\301\305%\207" [rng-not-allowed-ipattern attribute 1 rng-get-ipattern rng-put-ipattern nil] 9 (#$ . 14103)])
#@28 

(fn DT MATCHES-ANYTHING)
(defalias 'rng-intern-data #[514 "\300D\301!\206\302\300\303%\211\211\304?I\266\211\262\207" [data rng-get-ipattern rng-put-ipattern nil 5] 9 (#$ . 14332)])
#@20 

(fn DT IPATTERN)
(defalias 'rng-intern-data-except #[514 "\300E\301!\206\302\300\303%\207" [data-except rng-get-ipattern rng-put-ipattern nil] 9 (#$ . 14533)])
#@15 

(fn DT OBJ)
(defalias 'rng-intern-value #[514 "\300E\301!\206\302\300\303%\207" [value rng-get-ipattern rng-put-ipattern nil] 9 (#$ . 14709)])
#@17 

(fn IPATTERN)
(defalias 'rng-intern-one-or-more #[257 "\300!\206\301\302HCB\303!\206\304\301\305\211\306H%\262\207" [rng-intern-one-or-more-shortcut one-or-more 1 rng-get-ipattern rng-put-ipattern nil 4] 9 (#$ . 14868)])
#@17 

(fn IPATTERN)
(defalias 'rng-intern-one-or-more-shortcut #[257 "\211=\203\207\211	=\203	\207\211\302H\303=\203\207\304\207" [rng-not-allowed-ipattern rng-empty-ipattern 0 one-or-more nil] 3 (#$ . 15107)])
#@17 

(fn IPATTERN)
(defalias 'rng-intern-list #[257 "\211=\203\207\301\302HCB\303!\206\304\301\305\305%\207" [rng-not-allowed-ipattern list 1 rng-get-ipattern rng-put-ipattern nil] 8 (#$ . 15328)])
#@80 Return an ipattern for the list of group members in IPATTERNS.

(fn IPATTERNS)
(defalias 'rng-intern-group #[257 "\300!\206*\301!\211A\300!\206(\302\303\304\"B\305!\206&\306\302\307@%\262\266\202\207" [rng-intern-group-shortcut rng-normalize-group-list group mapcar rng--ipattern-index rng-get-ipattern rng-put-ipattern nil] 10 (#$ . 15539)])
#@124 Try to shortcut interning a group list.
If successful, return the interned pattern.  Otherwise return nil.

(fn IPATTERNS)
(defalias 'rng-intern-group-shortcut #[257 "\211\203\211@=\203\211A\262\202\211\203U\211@\211	=\203\"	\202TA\262\203S\211\203S@\211	=\203?\211\262\302\262\202O\211=\203LA\262\202O\302\262\210\202&\211\207\207" [rng-empty-ipattern rng-not-allowed-ipattern nil] 5 (#$ . 15902)])
#@228 Normalize a list containing members of a group.
Expands nested groups, removes empty members, handles notAllowed.
Returns a pair whose car says whether the list is nullable and whose
cdr is the normalized list.

(fn IPATTERNS)
(defalias 'rng-normalize-group-list #[257 "\302\303\211\203J@\262A\262\203\211\304H\262\211\305H\306=\203,\307\310H!\244\262\202\211=\203<C\262\303\262\202\211	=\204\211B\262\202\237B\207" [rng-not-allowed-ipattern rng-empty-ipattern t nil 4 0 group reverse 3] 7 (#$ . 16338)])
#@18 

(fn IPATTERNS)
(defalias 'rng-intern-interleave #[257 "\300!\206*\301!\211A\300!\206(\302\303\304\"B\305!\206&\306\302\307@%\262\266\202\207" [rng-intern-group-shortcut rng-normalize-interleave-list interleave mapcar rng--ipattern-index rng-get-ipattern rng-put-ipattern nil] 10 (#$ . 16880)])
#@234 Normalize a list containing members of an interleave.
Expands nested groups, removes empty members, handles notAllowed.
Returns a pair whose car says whether the list is nullable and whose
cdr is the normalized list.

(fn IPATTERNS)
(defalias 'rng-normalize-interleave-list #[257 "\302\303\211\203I@\262A\262\203\211\304H\262\211\305H\306=\203+\307\310H\"\262\202\211=\203;C\262\303\262\202\211	=\204\211B\262\202\311\312\"B\207" [rng-not-allowed-ipattern rng-empty-ipattern t nil 4 0 interleave append 3 sort rng-compare-ipattern] 8 (#$ . 17196)])
#@101 Return a choice ipattern for the list of choices in IPATTERNS.
May alter IPATTERNS.

(fn IPATTERNS)
(defalias 'rng-intern-choice #[257 "\300!\206\301!\211A\300!\206\302@\"\266\202\207" [rng-intern-choice-shortcut rng-normalize-choice-list rng-intern-choice1] 6 (#$ . 17783)])
#@17 

(fn IPATTERN)
(defalias 'rng-intern-optional #[257 "\211\302H\203\207\211=\203	\207\303	\304H\305=\203\306H\202!CB\307\"\207" [rng-not-allowed-ipattern rng-empty-ipattern 4 rng-intern-choice1 0 choice 3 t] 5 (#$ . 18074)])
#@28 

(fn NORMALIZED NULLABLE)
(defalias 'rng-intern-choice1 #[514 "\300\301\302\"B\303!\206\304\300\305%\207" [choice mapcar rng--ipattern-index rng-get-ipattern rng-put-ipattern nil] 9 (#$ . 18316)])
#@125 Try to shortcut interning a choice list.
If successful, return the interned pattern.  Otherwise return nil.

(fn IPATTERNS)
(defalias 'rng-intern-choice-shortcut #[257 "\211\203\211@=\203\211A\262\202\211\203>\211@A\262\203<\211\203<@=\2045@=\2045\301\262A\262\202\211\207\207" [rng-not-allowed-ipattern nil] 4 (#$ . 18530)])
#@235 Normalize a list of choices.
Expands nested choices, removes not-allowed members, sorts by index
and removes duplicates.  Return a pair whose car says whether the
list is nullable and whose cdr is the normalized list.

(fn IPATTERNS)
(defalias 'rng-normalize-choice-list #[257 "\301\302\211B\211\302\303\302\203\205@\262\204\211\304H\262\211\305H\306=\203;\307\310H\"\262A\262\302\262\241\210\202\211=\203LA\262\241\210\202\203{\211\311HY\203gU\206k\302\211\262\n\202k\211\262\302\262\203{A\262\241\210\202\262A\262\202\241\266\211A\262\203\227\202\235\312\313\314\"!B\207" [rng-not-allowed-ipattern t nil -100 4 0 choice append 3 1 rng-uniquify-eq sort rng-compare-ipattern] 12 (#$ . 18889)])
#@14 

(fn P1 P2)
(defalias 'rng-compare-ipattern #[514 "\300H\300HW\207" [1] 5 (#$ . 19655)])
#@14 

(fn NC NM)
(defalias 'rng-name-class-contains #[514 ":\203	\211\232\207\300\"\207" [rng-name-class-contains1] 5 (#$ . 19753)])
(put 'rng-name-class-contains 'byte-optimizer 'byte-compile-inline-expand)
#@14 

(fn NC NM)
(defalias 'rng-name-class-contains1 #[514 "\300H\211\301\267\202\213\302\202\214\303H:\203\211\232\266\202\202$\304\"\266\202?\202\214@\303H=\202\214@\303H=\205\214\305H:\203K\211\232\266\202\202Q\304\"\266\202?\202\214\303H\306\203\206@:\203m\211\232\266\202\202s\304\"\266\202\203\306\262\302\262\202YA\262\202Y\262\202\214\306\207" [0 #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (any-name 9 any-name-except 13 ns-name 40 ns-name-except 49 choice 85)) t 1 rng-name-class-contains1 2 nil] 10 (#$ . 19968)])
#@380 Return a list of possible names that nameclass NC can match.

Each possible name should be returned as a (NAMESPACE . LOCAL-NAME)
pair, where NAMESPACE is a symbol or nil and LOCAL-NAME is a string.
NAMESPACE, if nil, matches the absent namespace.  ACCUM is a list of
names which should be appended to the returned list.  The returned
list may contain duplicates.

(fn NC ACCUM)
(defalias 'rng-name-class-possible-names #[514 ":\203	B\207\300H\301=\2037\302H\303\2035@\262\211:\203(\211B\202,\304\"\262A\262\202\266\207" [0 choice 1 nil rng-name-class-possible-names] 7 (#$ . 20586)])
#@17 

(fn IPATTERN)
(defalias 'rng-ipattern-to-string #[257 "\211\300H\211\301\267\202r\302\303H!\304\302\305!!Q\202u\306\307\310H!\311Q\202u\312\307\310H!\313\302\303H!\314\260\202u\315\202u\316\202u\317\202u\302\303H!\320P\202u\321\322\302\303H\323#\324Q\202u\321\322\302\303H\325#\324Q\202u\321\322\302\303H\326#\324Q\202u\327!\207" [0 #s(hash-table size 10 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (after 9 element 24 attribute 35 empty 53 text 57 not-allowed 61 one-or-more 65 choice 75 group 88 interleave 101)) rng-ipattern-to-string 3 " </> " rng--ipattern-after "element " rng-name-class-to-string 2 " {...}" "attribute " " { " " } " "empty" "text" "notAllowed" "+" "(" mapconcat " | " ")" ", " " & " symbol-name] 8 (#$ . 21199)])
#@11 

(fn NC)
(defalias 'rng-name-class-to-string #[257 "\211:\203\211A\207\211\300H\211\301=\203\302\303\304H\305#\202 \306!\307P\207" [0 choice mapconcat rng-name-class-to-string 1 "|" symbol-name "*"] 6 (#$ . 21986)])
(defalias 'rng-compile-maybe-init #[0 "?\205\301\302\303\"\211\207" [rng-compile-table make-hash-table :test eq] 3])
(defalias 'rng-compile-clear #[0 "\205\301!\207" [rng-compile-table clrhash] 2])
#@16 

(fn PATTERN)
(defalias 'rng-compile #[257 "\301\"\206\302@\303NA\"\304#\210\211\262\207" [rng-compile-table gethash apply rng-compile puthash] 6 (#$ . 22422)])
(byte-code "\300\301\302\303#\210\300\304\302\305#\210\300\306\302\307#\210\300\310\302\311#\210\300\312\302\313#\210\300\314\302\315#\210\300\316\302\317#\210\300\320\302\321#\210\300\322\302\323#\210\300\324\302\325#\210\300\326\302\327#\210\300\330\302\331#\210\300\332\302\333#\210\300\334\302\335#\210\300\336\302\337#\210\300\340\302\341#\210\300\342\302\343#\207" [put empty rng-compile rng-compile-empty text rng-compile-text not-allowed rng-compile-not-allowed element rng-compile-element attribute rng-compile-attribute choice rng-compile-choice optional rng-compile-optional group rng-compile-group interleave rng-compile-interleave ref rng-compile-ref one-or-more rng-compile-one-or-more zero-or-more rng-compile-zero-or-more mixed rng-compile-mixed data rng-compile-data data-except rng-compile-data-except value rng-compile-value list rng-compile-list] 4)
(defalias 'rng-compile-not-allowed #[0 "\207" [rng-not-allowed-ipattern] 1])
(defalias 'rng-compile-empty #[0 "\207" [rng-empty-ipattern] 1])
(defalias 'rng-compile-text #[0 "\207" [rng-text-ipattern] 1])
#@27 

(fn NAME-CLASS PATTERN)
(defalias 'rng-compile-element #[514 "T\211\301!\302\303\304\305\304\211\211\211\211\211\211&
\207" [rng-last-ipattern-index rng-compile-name-class vector element nil unknown] 19 (#$ . 23678)])
#@16 

(fn ELEMENT)
(defalias 'rng-element-get-child #[257 "\211\300H\301!\203
\211\202\211\300\302!I\262\207" [3 vectorp rng-compile] 7 (#$ . 23911)])
#@27 

(fn NAME-CLASS PATTERN)
(defalias 'rng-compile-attribute #[514 "\300\301!\302!\"\207" [rng-intern-attribute rng-compile-name-class rng-compile] 6 (#$ . 24071)])
#@21 

(fn PATTERN NAME)
(defalias 'rng-compile-ref #[514 ">\203\301\302\"\210B\303\216\304!)\207" [rng-being-compiled rng-compile-error "Reference loop on symbol %s" #[0 "A\211\207" [rng-being-compiled] 2] rng-compile] 5 (#$ . 24242)])
#@16 

(fn PATTERN)
(defalias 'rng-compile-one-or-more #[257 "\300\301!!\207" [rng-intern-one-or-more rng-compile] 4 (#$ . 24491)])
#@16 

(fn PATTERN)
(defalias 'rng-compile-zero-or-more #[257 "\300\301\302!!!\207" [rng-intern-optional rng-intern-one-or-more rng-compile] 5 (#$ . 24625)])
#@16 

(fn PATTERN)
(defalias 'rng-compile-optional #[257 "\300\301!!\207" [rng-intern-optional rng-compile] 4 (#$ . 24785)])
#@16 

(fn PATTERN)
(defalias 'rng-compile-mixed #[257 "\301\302!CB!\207" [rng-text-ipattern rng-intern-interleave rng-compile] 5 (#$ . 24913)])
#@16 

(fn PATTERN)
(defalias 'rng-compile-list #[257 "\300\301!!\207" [rng-intern-list rng-compile] 4 (#$ . 25061)])
#@23 

(fn &rest PATTERNS)
(defalias 'rng-compile-choice #[128 "\300\301\302\"!\207" [rng-intern-choice mapcar rng-compile] 5 (#$ . 25181)])
#@23 

(fn &rest PATTERNS)
(defalias 'rng-compile-group #[128 "\300\301\302\"!\207" [rng-intern-group mapcar rng-compile] 5 (#$ . 25324)])
#@23 

(fn &rest PATTERNS)
(defalias 'rng-compile-interleave #[128 "\300\301\302\"!\207" [rng-intern-interleave mapcar rng-compile] 5 (#$ . 25465)])
#@20 

(fn NAME PARAMS)
(defalias 'rng-compile-dt #[514 "\301@\211\302N\206\301\303\"\262A\")\207" [rng-dt-error-reporter rng-compile-error rng-dt-compile "Unknown datatype library %s"] 6 (#$ . 25616)])
#@20 

(fn NAME PARAMS)
(defalias 'rng-compile-data #[514 "\300\"\301A@\"\207" [rng-compile-dt rng-intern-data] 6 (#$ . 25828)])
#@28 

(fn NAME PARAMS PATTERN)
(defalias 'rng-compile-data-except #[771 "\300\301\"A\302!\"\207" [rng-intern-data-except rng-compile-dt rng-compile] 7 (#$ . 25962)])
#@25 

(fn NAME STR CONTEXT)
(defalias 'rng-compile-value #[771 "\301\302\"A\303D\211\304@AB\"\266\202\211\203 \305\"\202&\306\307#)\207" [rng-dt-namespace-context-getter rng-compile-dt nil identity apply rng-intern-value rng-compile-error "Value %s is not a valid instance of the datatype %s"] 10 (#$ . 26133)])
#@11 

(fn NC)
(defalias 'rng-compile-name-class #[257 "\211@\211\300\267\202@A@\202D\301\202D\302\303\304A@!\"\202D\302\305A@\"\202D\302\306A@\304\3078!#\202D\302\310\311\304A\"\"\202D\312\313\"\207" [#s(hash-table size 6 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (name 8 any-name 14 any-name-except 18 ns-name 29 ns-name-except 38 choice 53)) [any-name] vector any-name-except rng-compile-name-class ns-name ns-name-except 2 choice mapcar error "Bad name-class type %s"] 8 (#$ . 26461)])
#@42 

(fn FUNCTION PATTERN ACCUM &rest ARGS)
(defalias 'rng-map-element-attribute #[899 "\300\301\302\"\303\211\211@\262\304\267\202^\305BB\"\262\3068\262\202aA@\262\307\"\203=\303\262\202a\310\311#\210\202aAB\262\303\262\202aA@\262\202a\303\262\204\211\203u\211@\262\211A\262\202\203\214@\262A\262\211@\262\211A\262\202\207" [make-hash-table :test eq nil #s(hash-table size 10 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (element 18 attribute 18 ref 41 choice 72 group 72 interleave 72 one-or-more 85 zero-or-more 85 optional 85 mixed 85)) apply 2 gethash puthash t] 13 (#$ . 26989)])
#@27 

(fn PATTERN ACCUM NAME)
(defalias 'rng-find-element-content-pattern #[771 "@\300=\203\301A@\"\203\302\3038!B\207\207" [element rng-search-name rng-compile 2] 6 (#$ . 27660)])
#@16 

(fn NAME NC)
(defalias 'rng-search-name #[514 "\211@\211\300\267\2025A@\232\2026A\301\2030\211\2040\302@\"\203)\303\262\202A\262\202\262\2026\301\207" [#s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (name 8 choice 16)) nil rng-search-name t] 8 (#$ . 27853)])
#@17 

(fn NC ACCUM)
(defalias 'rng-find-name-class-uris #[514 "@\211\300\267\2024\301A@@\"\2025\301A@\"\2025A\211\203/\302@\"\262\211A\262\202\210\2025\207" [#s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (name 8 ns-name 18 ns-name-except 18 choice 27)) rng-accum-namespace-uri rng-find-name-class-uris] 7 (#$ . 28178)])
#@17 

(fn NS ACCUM)
(defalias 'rng-accum-namespace-uri #[514 "\203>\204B\207\207" [] 4 (#$ . 28558)])
#@17 

(fn IPATTERN)
(defalias 'rng-ipattern-text-typed-p #[257 "\211\300H\211\301=\203\211\300\302!I\262\202\211\207" [5 unknown rng-ipattern-compute-text-typed-p] 7 (#$ . 28671)])
#@17 

(fn IPATTERN)
(defalias 'rng-ipattern-compute-text-typed-p #[257 "\211\300H\211\301\267\202c\302H\303\203)\211\204)\304@!\203\"\305\262\202
A\262\202
\262\202j\302H\303\211\203U\204U@\262\304!\203H\305\262\211\306H\205PA\262\2023\266\203\202j\304\302H!\202j\211\307>\205j\305\207" [0 #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (choice 9 group 46 after 91)) 3 nil rng-ipattern-text-typed-p t 4 (value list data data-except)] 7 (#$ . 28861)])
#@20 

(fn IPATTERN NM)
(defalias 'rng-start-tag-open-deriv #[514 "\211\300H\301\"\211\203\211A\202#\205#@\302!\205!\303\"\262\266\203\2060\304\305\"#\207" [6 assoc hash-table-p gethash rng-ipattern-memo-start-tag-open-deriv rng-compute-start-tag-open-deriv] 9 (#$ . 29385)])
#@26 

(fn IPATTERN NM DERIV)
(defalias 'rng-ipattern-memo-start-tag-open-deriv #[771 ">\204\211\301\302\301H#I\266\207" [rng-const-ipatterns 6 rng-memo-map-add] 11 (#$ . 29681)])
#@20 

(fn IPATTERN NM)
(defalias 'rng-compute-start-tag-open-deriv #[514 "\302H\211\303\267\202\251\304\305\306\307\310\311!\312\"\313\314%\"\202\252\315H:\203-\211\232\266\202\2023\316\"\266\202\203?\317\320!\"\202\252	\202\252\321\305\306\307\310\311!\322\"\313\314%\323#\202\252\324\305\306\307\310\311!\325\"\313\314%\326#\202\252\327!\330\305\306\331\310\311!\332\"\313\314%\333\334H\"\"\262\202\252\335!\330\305\306\307\310\311!\336\"\313\314%\333\334H\"\"\262\202\252	\207" [rng-empty-ipattern rng-not-allowed-ipattern 0 #s(hash-table size 6 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (choice 9 element 28 group 67 interleave 87 one-or-more 107 after 138)) rng-transform-choice make-byte-code 257 "\301\300\"\207" vconcat vector [rng-start-tag-open-deriv] 4 "\n\n(fn P)" 2 rng-name-class-contains1 rng-intern-after rng-element-get-child rng-transform-group-nullable [rng-start-tag-open-deriv] rng-cons-group-after rng-transform-interleave-single [rng-start-tag-open-deriv] rng-subst-interleave-after rng-intern-optional rng-apply-after "\301\300D!\207" [rng-intern-group] rng-start-tag-open-deriv 3 rng--ipattern-after [rng-intern-after]] 11 (#$ . 29872)])
#@20 

(fn IPATTERN NM)
(defalias 'rng-start-attribute-deriv #[514 "\211\300H\301\"\211\203\211A\202#\205#@\302!\205!\303\"\262\266\203\2060\304\305\"#\207" [7 assoc hash-table-p gethash rng-ipattern-memo-start-attribute-deriv rng-compute-start-attribute-deriv] 9 (#$ . 31106)])
#@26 

(fn IPATTERN NM DERIV)
(defalias 'rng-ipattern-memo-start-attribute-deriv #[771 ">\204\211\301\302\301H#I\266\207" [rng-const-ipatterns 7 rng-memo-map-add] 11 (#$ . 31405)])
#@20 

(fn IPATTERN NM)
(defalias 'rng-compute-start-attribute-deriv #[514 "\302H\211\303\267\202\251\304\305\306\307\310\311!\312\"\313\314%\"\202\252\315H:\203-\211\232\266\202\2023\316\"\266\202\203?\317\320H\"\202\252	\202\252\321\305\306\307\310\311!\322\"\313\314%\323#\202\252\321\305\306\307\310\311!\324\"\313\314%\325#\202\252\326!\327\305\306\330\310\311!\331\"\313\314%\332\320H\"\"\262\202\252\333!\327\305\306\307\310\311!\334\"\313\314%\332\320H\"\"\262\202\252	\207" [rng-empty-ipattern rng-not-allowed-ipattern 0 #s(hash-table size 6 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (choice 9 attribute 28 group 67 interleave 87 one-or-more 107 after 138)) rng-transform-choice make-byte-code 257 "\301\300\"\207" vconcat vector [rng-start-attribute-deriv] 4 "\n\n(fn P)" 2 rng-name-class-contains1 rng-intern-after 3 rng-transform-interleave-single [rng-start-attribute-deriv] rng-subst-group-after [rng-start-attribute-deriv] rng-subst-interleave-after rng-intern-optional rng-apply-after "\301\300D!\207" [rng-intern-group] rng-start-attribute-deriv rng--ipattern-after [rng-intern-after]] 11 (#$ . 31597)])
#@12 

(fn X Y)
(defalias 'rng-cons-group-after #[514 "\300\301\302\303\304\305!\306\"\307\310%\"\207" [rng-apply-after make-byte-code 257 "\301\300B!\207" vconcat vector [rng-intern-group] 4 "\n\n(fn P)"] 9 (#$ . 32788)])
#@21 

(fn NEW OLD LIST)
(defalias 'rng-subst-group-after #[771 "\300\301\302\303\304\305\"\306\"\307\310%\"\207" [rng-apply-after make-byte-code 257 "\302\303\300\301#!\207" vconcat vector [rng-intern-group rng-substq] 6 "\n\n(fn P)"] 11 (#$ . 33016)])
#@21 

(fn NEW OLD LIST)
(defalias 'rng-subst-interleave-after #[771 "\300\301\302\303\304\305\"\306\"\307\310%\"\207" [rng-apply-after make-byte-code 257 "\302\303\300\301#!\207" vconcat vector [rng-intern-interleave rng-substq] 6 "\n\n(fn P)"] 11 (#$ . 33277)])
#@19 

(fn F IPATTERN)
(defalias 'rng-apply-after #[514 "\211\301H\211\302\267\202)\303\304H\305!!\"\202*\306\307\310\311\312\313!\314\"\315\316%\"\202*\207" [rng-not-allowed-ipattern 0 #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (after 9 choice 22)) rng-intern-after 3 rng--ipattern-after rng-transform-choice make-byte-code 257 "\301\300\"\207" vconcat vector [rng-apply-after] 4 "\n\n(fn X)"] 10 (#$ . 33548)])
#@17 

(fn IPATTERN)
(defalias 'rng-start-tag-close-deriv #[257 "\211\300H\206\211\211\300\301!I\262\207" [8 rng-compute-start-tag-close-deriv] 6 (#$ . 34015)])
(defconst rng-transform-map '((choice . rng-transform-choice) (group . rng-transform-group) (interleave . rng-transform-interleave) (one-or-more . rng-transform-one-or-more) (after . rng-transform-after-child)))
#@17 

(fn IPATTERN)
(defalias 'rng-compute-start-tag-close-deriv #[257 "\211\302H\211\303=\203
\202\211	\236\211\203\211A\304\"\202\262\207" [rng-not-allowed-ipattern rng-transform-map 0 attribute rng-start-tag-close-deriv] 6 (#$ . 34393)])
#@17 

(fn IPATTERN)
(defalias 'rng-ignore-attributes-deriv #[257 "\211\302H\211\303=\203
\202\211	\236\211\203\211A\304\"\202\262\207" [rng-empty-ipattern rng-transform-map 0 attribute rng-ignore-attributes-deriv] 6 (#$ . 34647)])
#@17 

(fn IPATTERN)
(defalias 'rng-text-only-deriv #[257 "\211\300H\206\211\211\300\301!I\262\207" [9 rng-compute-text-only-deriv] 6 (#$ . 34891)])
#@17 

(fn IPATTERN)
(defalias 'rng-compute-text-only-deriv #[257 "\211\301H\211\302=\203
\202\211\303\236\211\203\211A\304\"\202\262\207" [rng-not-allowed-ipattern 0 element ((choice . rng-transform-choice) (group . rng-transform-group) (interleave . rng-transform-interleave) (one-or-more . rng-transform-one-or-more) (after . rng-transform-after-child)) rng-text-only-deriv] 6 (#$ . 35045)])
#@17 

(fn IPATTERN)
(defalias 'rng-mixed-text-deriv #[257 "\211\300H\206\211\211\300\301!I\262\207" [10 rng-compute-mixed-text-deriv] 6 (#$ . 35452)])
#@17 

(fn IPATTERN)
(defalias 'rng-compute-mixed-text-deriv #[257 "\211\301H\211\302\267\2029\202J\303\304\"\202J\305\304\"\202J\306\304\307H!\310!D!\202J\311\304\312#\202J\313\304\314#\202J\211\315=\203I\316H\204I\202J\207" [rng-not-allowed-ipattern 0 #s(hash-table size 6 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (text 9 after 13 choice 20 one-or-more 27 group 41 interleave 49)) rng-transform-after-child rng-mixed-text-deriv rng-transform-choice rng-intern-group 3 rng-intern-optional rng-transform-group-nullable #[514 "\300B!\207" [rng-intern-group] 5 "\n\n(fn X Y)"] rng-transform-interleave-single #[771 "\300\301#!\207" [rng-intern-interleave rng-substq] 8 "\n\n(fn NEW OLD LIST)"] data 5] 6 (#$ . 35609)])
#@17 

(fn IPATTERN)
(defalias 'rng-end-tag-deriv #[257 "\211\300H\206\211\211\300\301!I\262\207" [12 rng-compute-end-tag-deriv] 6 (#$ . 36375)])
#@17 

(fn IPATTERN)
(defalias 'rng-compute-end-tag-deriv #[257 "\211\301H\211\302\267\202&\303\304\305\306H\"!\202'\306H\307H\203\"\310!\202'\202'\207" [rng-not-allowed-ipattern 0 #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (choice 9 after 20)) rng-intern-choice mapcar rng-end-tag-deriv 3 4 rng--ipattern-after] 7 (#$ . 36526)])
#@23 

(fn IPATTERN VALUE)
(defalias 'rng-data-deriv #[514 "\211\301H\302\"\211\203\211A\202#\205#@\303!\205!\304\"\262\266\203\206\232\211\305 B\301H\302\"\211\203<\211A\202N\205N@\303!\205L\304\"\262\266\203\203\202\211\306@A\"B\301H\302\"\211\203k\211A\202}\205}@\303!\205{\304\"\262\266\203\206\232\307\310!\311BB\312\"\313\314H$)\266\202\207" [rng-dt-namespace-context-getter 11 assoc hash-table-p gethash rng-namespace-context-get-no-trace apply vector nil rng-namespace-context-tracer rng-compute-data-deriv rng-ipattern-memo-data-deriv 0] 9 (#$ . 36909)])
#@31 

(fn USED GETTER &rest ARGS)
(defalias 'rng-namespace-context-tracer #[642 "\300\"\301I\210\211\207" [apply 0] 7 (#$ . 37528)])
(defalias 'rng-namespace-context-get-no-trace #[0 "\211\203\211@\301=\203\211AA\262\202\302@A\"\207" [rng-dt-namespace-context-getter rng-namespace-context-tracer apply] 4])
#@56 Don't memoize data-derivs for values longer than this.
(defconst rng-memo-data-deriv-max-length 80 (#$ . 37851))
#@37 

(fn IPATTERN VALUE CONTEXT DERIV)
(defalias 'rng-ipattern-memo-data-deriv #[1028 ">\204)G	V\204)\211\302\303\203B\202	\302H\304$I\266\207" [rng-const-ipatterns rng-memo-data-deriv-max-length 11 rng-memo-map-add t] 12 (#$ . 37970)])
#@23 

(fn IPATTERN VALUE)
(defalias 'rng-compute-data-deriv #[514 "\302H\211\303\267\202\365\202\366\304\305\306\307\310\311!\312\"\313\314%\"\202\366\315\305\306\307\310\311!\316\"\313\314%\317#\202\366\320\321\322H\"\323!D!\202\366\322H\321\"\211\313H\262\204^\211\313H\203d\324!\203d\325!\202e\262\202\366\326!\327@AB\"\266\202\203	\202\366\202\366\326!\327@AB\"\266\202\203\246\321\322H\"\211\313H\262\204\246	\202\366\202\366\326!\327@AB\"\266\202\330!\232\203\303	\202\366\202\366\331!\322H\203\345\211=\204\345\321@\"\262A\262\202\315\211\313H\203\357	\202\360\266\202\202\366\207" [rng-not-allowed-ipattern rng-empty-ipattern 0 #s(hash-table size 9 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (text 9 choice 13 group 32 one-or-more 52 after 67 data 106 data-except 131 value 170 list 199)) rng-transform-choice make-byte-code 257 "\301\300\"\207" vconcat vector [rng-data-deriv] 4 "\n\n(fn P)" rng-transform-group-nullable [rng-data-deriv] #[514 "\300B!\207" [rng-intern-group] 5 "\n\n(fn X Y)"] rng-intern-group rng-data-deriv 3 rng-intern-optional rng-blank-p rng--ipattern-after rng--ipattern-datatype apply rng--ipattern-value-object split-string] 10 (#$ . 38230)])
#@28 

(fn F IPATTERN INTERNER)
(defalias 'rng-transform-multi #[771 "\300H\301\"\302\"\203\202!\207" [3 mapcar rng-members-eq] 8 (#$ . 39512)])
#@19 

(fn F IPATTERN)
(defalias 'rng-transform-choice #[514 "\300\301#\207" [rng-transform-multi rng-intern-choice] 6 (#$ . 39670)])
#@19 

(fn F IPATTERN)
(defalias 'rng-transform-group #[514 "\300\301#\207" [rng-transform-multi rng-intern-group] 6 (#$ . 39807)])
#@19 

(fn F IPATTERN)
(defalias 'rng-transform-interleave #[514 "\300\301#\207" [rng-transform-multi rng-intern-interleave] 6 (#$ . 39942)])
#@19 

(fn F IPATTERN)
(defalias 'rng-transform-one-or-more #[514 "\211\300H!=\203\202\301!\207" [3 rng-intern-one-or-more] 6 (#$ . 40087)])
#@19 

(fn F IPATTERN)
(defalias 'rng-transform-after-child #[514 "\211\300H!=\203\202\301\302!\"\207" [3 rng-intern-after rng--ipattern-after] 8 (#$ . 40239)])
#@27 

(fn F SUBSTER IPATTERN)
(defalias 'rng-transform-interleave-single #[771 "\211\301H\302\203-\211\204-@!\211=\203A\262\202(\301H#\262\266\202\211\2062\207" [rng-not-allowed-ipattern 3 nil] 12 (#$ . 40412)])
#@257 Given a group x1,...,xn,y1,...,yn where the xs are all
nullable and y1 isn't, return a choice
  (conser f(x1) x2,...,xm,y1,...,yn)
  |(conser f(x2) x3,...,xm,y1,...,yn)
  |...
  |(conser f(xm) y1,...,yn)
  |(conser f(y1) y2,...,yn)

(fn F CONSER IPATTERN)
(defalias 'rng-transform-group-nullable #[771 "\300\301\302H#!\207" [rng-intern-choice rng-transform-group-nullable-gen-choices 3] 9 (#$ . 40650)])
#@25 

(fn F CONSER MEMBERS)
(defalias 'rng-transform-group-nullable-gen-choices #[771 "\211@A\211\203!\"\300H\205\301#B\202#!C\207" [4 rng-transform-group-nullable-gen-choices] 10 (#$ . 41063)])
#@20 

(fn LIST1 LIST2)
(defalias 'rng-members-eq #[514 "\203\211\203@@=\203A\262\211A\262\202?\205\"\211?\207" [] 4 (#$ . 41278)])
#@17 

(fn IPATTERN)
(defalias 'rng-ipattern-after #[257 "\211\300H\211\301\267\202\302\303\"\202\304!\202\202\305\306\"\207" [0 #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (choice 9 after 16 not-allowed 22)) rng-transform-choice rng-ipattern-after rng--ipattern-after error "Internal error in rng-ipattern-after: unexpected type %s"] 5 (#$ . 41427)])
#@17 

(fn IPATTERN)
(defalias 'rng-unknown-start-tag-open-deriv #[257 "\301\302!\"\207" [rng-any-content rng-intern-after rng-compile] 4 (#$ . 41833)])
#@17 

(fn IPATTERN)
(defalias 'rng-ipattern-optionalize-elements #[257 "\211\301H\211\236\211\203\211A\302\"\202\303=\203\304!\202\207" [rng-transform-map 0 rng-ipattern-optionalize-elements element rng-intern-optional] 6 (#$ . 41989)])
#@17 

(fn IPATTERN)
(defalias 'rng-ipattern-empty-before-p #[257 "\211\301H\211\302\267\2023\303H=\2024\303H\304\203.\211\203.\305@!\204'\306\262A\262\202\262\2024\306\207" [rng-empty-ipattern 0 #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (after 9 choice 17)) 3 t rng-ipattern-empty-before-p nil] 6 (#$ . 42241)])
#@23 

(fn IPATTERN ACCUM)
(defalias 'rng-ipattern-possible-start-tags #[514 "\301H\211\302\267\202k\303\304H\"\202l\304H\211\203'\303@\"\262\211A\262\202\210\202l\304H\211\203H\303@\"\262\211@\305H\205C\211A\262\202/\210\202l\306!=\203Y\202l\307\310H\"\202l\303\304H\"\202l\207" [rng-not-allowed-ipattern 0 #s(hash-table size 6 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (after 9 choice 18 interleave 18 group 44 element 77 one-or-more 98)) rng-ipattern-possible-start-tags 3 4 rng-element-get-child rng-name-class-possible-names 2] 7 (#$ . 42615)])
#@17 

(fn IPATTERN)
(defalias 'rng-ipattern-start-tag-possible-p #[257 "\211\301H\211\302\267\202]\303\304H!\202^\304H\305\203*\211\204*\303@!\262A\262\202\262\202^\304H\305\203O\211\204O\303@!\262@\306H\205JA\262\2023\262\202^\307!=?\202^\305\207" [rng-not-allowed-ipattern 0 #s(hash-table size 6 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (after 9 one-or-more 9 choice 17 interleave 17 group 47 element 84)) rng-ipattern-start-tag-possible-p 3 nil 4 rng-element-get-child] 6 (#$ . 43225)])
#@23 

(fn IPATTERN ACCUM)
(defalias 'rng-ipattern-possible-attributes #[514 "\300H\211\301\267\202>\302\303H\"\202?\303H\211\203'\302@\"\262\211A\262\202\210\202?\304\305H\"\202?\302\303H\"\202?\207" [0 #s(hash-table size 6 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (after 9 choice 18 interleave 18 group 18 attribute 44 one-or-more 53)) rng-ipattern-possible-attributes 3 rng-name-class-possible-names 2] 7 (#$ . 43771)])
#@23 

(fn IPATTERN ACCUM)
(defalias 'rng-ipattern-possible-values #[514 "\300H\211\301\267\202@\302\303H\"\202A\303H\211\203'\302@\"\262\211A\262\202\210\202A\304!\211;\203:\211B\202;\262\202A\207" [0 #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (after 9 choice 18 value 44)) rng-ipattern-possible-values 3 rng--ipattern-value-object] 7 (#$ . 44240)])
#@17 

(fn IPATTERN)
(defalias 'rng-ipattern-required-element #[257 "\211\301H\211\302\267\202\262\303\304H!\202\263\304H\303@!\211\2033A\211\262\2033\211\303@!\232\204\305\262\202\262\202\263\304H\305\303@!\211\262\204U@\306H\203UA\211\262\204<\262\202\263\304H\305\203\226\303@!\211\204qA\262\202\222\204\211\262A\262\202\222\232\203\214A\262\202\222\305\262\305\262\210\202^\262\202\263\307H\211:\205\255\310!=?\205\255\211\262\202\263\305\207" [rng-not-allowed-ipattern 0 #s(hash-table size 6 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (after 9 one-or-more 9 choice 17 group 56 interleave 90 element 155)) rng-ipattern-required-element 3 nil 4 2 rng-element-get-child] 7 (#$ . 44657)])
#@23 

(fn IPATTERN ACCUM)
(defalias 'rng-ipattern-required-attributes #[514 "\300H\211\301\267\202\224\302\303H\"\202\225\303H\211\203'\302@\"\262\211A\262\202\210\202\225\303H\304\211\211\302@\304\"\262\203mA\211\262\203m\302@\304\"\262\304\262\203g@\235\203`@B\262A\262\202O\211\262\2029\305\"\266\204\202\225\306H\211:\203\205\211B\202\206\262\202\225\302\303H\"\202\225\207" [0 #s(hash-table size 6 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (after 9 interleave 18 group 18 choice 44 attribute 119 one-or-more 139)) rng-ipattern-required-attributes 3 nil append 2] 10 (#$ . 45430)])
#@19 

(fn &rest ARGS)
(defalias 'rng-compile-error #[128 "\300\301\302\303\"C\"\207" [signal rng-compile-error apply format-message] 6 (#$ . 46094)])
(define-error 'rng-compile-error "Incorrect schema" 'rng-error)
(defalias 'rng-match-state #[0 "\207" [rng-match-state] 1])
(put 'rng-match-state 'byte-optimizer 'byte-compile-inline-expand)
#@14 

(fn STATE)
(defalias 'rng-set-match-state #[257 "\211\211\207" [rng-match-state] 3 (#$ . 46439)])
(put 'rng-set-match-state 'byte-optimizer 'byte-compile-inline-expand)
#@14 

(fn STATE)
(defalias 'rng-match-state-equal #[257 "\211=\207" [rng-match-state] 3 (#$ . 46617)])
(put 'rng-match-state-equal 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'rng-schema-changed #[0 "\300 \210\301 \207" [rng-ipattern-clear rng-compile-clear] 1])
(defalias 'rng-match-init-buffer #[0 "\300\301!\210\300\302!\210\300\303!\207" [make-local-variable rng-compile-table rng-ipattern-table rng-last-ipattern-index] 2])
(defalias 'rng-match-start-document #[0 "\302 \210\303 \210\304\305\306\307\310$\210\311!\211\207" [rng-current-schema rng-match-state rng-ipattern-maybe-init rng-compile-maybe-init add-hook rng-schema-change-hook rng-schema-changed nil t rng-compile] 5])
#@13 

(fn NAME)
(defalias 'rng-match-start-tag-open #[257 "\302\"\211	=\203	=\207\211\303\207" [rng-match-state rng-not-allowed-ipattern rng-start-tag-open-deriv t] 4 (#$ . 47318)])
#@13 

(fn NAME)
(defalias 'rng-match-attribute-name #[257 "\302\"\211	=\203	=\207\211\303\207" [rng-match-state rng-not-allowed-ipattern rng-start-attribute-deriv t] 4 (#$ . 47508)])
#@14 

(fn VALUE)
(defalias 'rng-match-attribute-value #[257 "\302\"\211	=\203	=\207\211\303\207" [rng-match-state rng-not-allowed-ipattern rng-data-deriv t] 4 (#$ . 47699)])
#@14 

(fn VALUE)
(defalias 'rng-match-element-value #[257 "\302!\211	=\203	=\262\202\211\303\262\205,\304\"\211	=\203'	=\207\211\303\262\207" [rng-match-state rng-not-allowed-ipattern rng-text-only-deriv t rng-data-deriv] 4 (#$ . 47881)])
(defalias 'rng-match-start-tag-close #[0 "\302!\211	=\203
	=\207\211\303\207" [rng-match-state rng-not-allowed-ipattern rng-start-tag-close-deriv t] 3])
(defalias 'rng-match-mixed-text #[0 "\302!\211	=\203
	=\207\211\303\207" [rng-match-state rng-not-allowed-ipattern rng-mixed-text-deriv t] 3])
(defalias 'rng-match-end-tag #[0 "\302!\211	=\203
	=\207\211\303\207" [rng-match-state rng-not-allowed-ipattern rng-end-tag-deriv t] 3])
(defalias 'rng-match-after #[0 "\302!\211	=\203
	=\207\211\303\207" [rng-match-state rng-not-allowed-ipattern rng-ipattern-after t] 3])
#@13 

(fn NAME)
(defalias 'rng-match-out-of-context-start-tag-open #[257 "\303\304\305$\211\203\306!\202	\307\n\"\211	=\203#\n	=\262\202(\211\310\262\207" [rng-current-schema rng-not-allowed-ipattern rng-match-state rng-map-element-attribute rng-find-element-content-pattern nil rng-intern-choice rng-intern-after t] 6 (#$ . 48723)])
#@144 Return a list of all the namespace URIs used in the current schema.
The absent URI is not included, so the result is always a list of symbols.
(defalias 'rng-match-possible-namespace-uris #[0 "\301\302\303#\207" [rng-current-schema rng-map-element-attribute #[514 "\300A@\"\207" [rng-find-name-class-uris] 5 "\n\n(fn PATTERN ACCUM)"] nil] 4 (#$ . 49073)])
(defalias 'rng-match-unknown-start-tag-open #[0 "\302!\211	=\203
	=\207\211\303\207" [rng-match-state rng-not-allowed-ipattern rng-unknown-start-tag-open-deriv t] 3])
(defalias 'rng-match-optionalize-elements #[0 "\302!\211	=\203
	=\207\211\303\207" [rng-match-state rng-not-allowed-ipattern rng-ipattern-optionalize-elements t] 3])
(defalias 'rng-match-ignore-attributes #[0 "\302!\211	=\203
	=\207\211\303\207" [rng-match-state rng-not-allowed-ipattern rng-ignore-attributes-deriv t] 3])
(defalias 'rng-match-text-typed-p #[0 "\301!\207" [rng-match-state rng-ipattern-text-typed-p] 2])
(defalias 'rng-match-empty-content #[0 "\300 \203	\301\302!\207\303 \207" [rng-match-text-typed-p rng-match-element-value "" rng-match-end-tag] 2])
#@176 Return non-nil if what can be matched before an end-tag is empty.
In other words, return non-nil if the pattern for what can be matched
for an end-tag is equivalent to empty.
(defalias 'rng-match-empty-before-p #[0 "\301!\207" [rng-match-state rng-ipattern-empty-before-p] 2 (#$ . 50189)])
#@19 

(fn LOCAL-NAME)
(defalias 'rng-match-infer-start-tag-namespace #[257 "\301\302\"\302\211\203H@\262A\232\203A@9\203A\211\204*@\262A\262\202\211@\232\2038A\262\202\302\262\302\262\202A\262\202\207" [rng-match-state rng-ipattern-possible-start-tags nil] 6 (#$ . 50486)])
(defalias 'rng-match-nullable-p #[0 "\301H\207" [rng-match-state 4] 2])
#@274 Return a list of possible names that would be valid for start-tags.

Each possible name is returned as a (NAMESPACE . LOCAL-NAME) pair,
where NAMESPACE is a symbol or nil (meaning the absent namespace) and
LOCAL-NAME is a string.  The returned list may contain duplicates.
(defalias 'rng-match-possible-start-tag-names #[0 "\301\302\"\207" [rng-match-state rng-ipattern-possible-start-tags nil] 3 (#$ . 50867)])
#@44 Return non-nil if a start-tag is possible.
(defalias 'rng-match-start-tag-possible-p #[0 "\301!\207" [rng-match-state rng-ipattern-start-tag-possible-p] 2 (#$ . 51286)])
#@146 Return a list of possible names that would be valid for attributes.

See the function `rng-match-possible-start-tag-names' for
more information.
(defalias 'rng-match-possible-attribute-names #[0 "\301\302\"\207" [rng-match-state rng-ipattern-possible-attributes nil] 3 (#$ . 51464)])
#@136 Return a list of strings that would be valid as content.
The list may contain duplicates.  Typically, the list will not
be exhaustive.
(defalias 'rng-match-possible-value-strings #[0 "\301\302\"\207" [rng-match-state rng-ipattern-possible-values nil] 3 (#$ . 51756)])
#@65 Return the name of an element which must occur, or nil if none.
(defalias 'rng-match-required-element-name #[0 "\301!\207" [rng-match-state rng-ipattern-required-element] 2 (#$ . 52031)])
#@60 Return a list of names of attributes which must all occur.
(defalias 'rng-match-required-attribute-names #[0 "\301\302\"\207" [rng-match-state rng-ipattern-required-attributes nil] 3 (#$ . 52226)])
#@19 

(fn &rest BODY)
(defalias 'rng-match-save '(macro . #[128 "\300\301!\302\303BC\304\305B\306\307EEE\207" [make-symbol "state" let (rng-match-state) unwind-protect progn setq rng-match-state] 9 (#$ . 52431)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put rng-match-save lisp-indent-function 0 put edebug-form-spec t] 5)
#@26 

(fn SCHEMA &rest BODY)
(defalias 'rng-match-with-schema '(macro . #[385 "\300\301D\302B\303\304\305BBBBB\207" [let rng-current-schema (rng-match-state rng-compile-table rng-ipattern-table rng-last-ipattern-index) (rng-ipattern-maybe-init) (rng-compile-maybe-init) (setq rng-match-state (rng-compile rng-current-schema))] 8 (#$ . 52782)]))
(byte-code "\300\301\302\303#\304\301\305\306#\210\307\310!\207" [function-put rng-match-with-schema lisp-indent-function 1 put edebug-form-spec t provide rng-match] 5)

Zerion Mini Shell 1.0