
(/VERSIONCHECK 2) 

(PUT '|IFARRAY;physicalLength;$Nni;1| '|SPADreplace|
     '(XLAM (|r|) (QVELT |r| 0))) 

(DEFUN |IFARRAY;physicalLength;$Nni;1| (|r| $) (QVELT |r| 0)) 

(DEFUN |IFARRAY;physicalLength!;$I$;2| (|r| |n| $)
  (COND
    ((EQL (QVELT |r| 0) 0)
     (|error| "flexible array must be non-empty"))
    ('T (|IFARRAY;growWith| |r| |n| (ELT (QVELT |r| 2) 0) $)))) 

(DEFUN |IFARRAY;empty;$;3| ($) (VECTOR 0 0 (GETREFV 0))) 

(DEFUN |IFARRAY;#;$Nni;4| (|r| $)
  (PROG (#0=#:G1843)
    (RETURN
      (PROG1 (LETT #0# (QVELT |r| 1) |IFARRAY;#;$Nni;4|)
        (|check-subtype| (>= #0# 0) '(|NonNegativeInteger|) #0#))))) 

(DEFUN |IFARRAY;fill!;$S$;5| (|r| |x| $)
  (SEQ (SPADCALL (QVELT |r| 2) |x| (QREFELT $ 17)) (EXIT |r|))) 

(DEFUN |IFARRAY;maxIndex;$I;6| (|r| $)
  (+ (- (QVELT |r| 1) 1) (QREFELT $ 7))) 

(DEFUN |IFARRAY;minIndex;$I;7| (|r| $) (QREFELT $ 7)) 

(DEFUN |IFARRAY;new;NniS$;8| (|n| |a| $)
  (VECTOR |n| |n| (SPADCALL |n| |a| (QREFELT $ 21)))) 

(DEFUN |IFARRAY;shrinkable;2B;9| (|b| $)
  (PROG (|oldval|)
    (RETURN
      (SEQ (LETT |oldval| (QREFELT $ 9) |IFARRAY;shrinkable;2B;9|)
           (SETELT $ 9 |b|) (EXIT |oldval|))))) 

(DEFUN |IFARRAY;flexibleArray;L$;10| (|l| $)
  (PROG (|n| |x| |a| |y| #0=#:G1858 |i| #1=#:G1857)
    (RETURN
      (SEQ (LETT |n| (LENGTH |l|) . #2=(|IFARRAY;flexibleArray;L$;10|))
           (EXIT (COND
                   ((EQL |n| 0) (SPADCALL (QREFELT $ 14)))
                   ('T
                    (SEQ (LETT |x|
                               (SPADCALL |l| 1 (QREFELT $ 26)) . #2#)
                         (LETT |a|
                               (SPADCALL |n| |x| (QREFELT $ 22)) . #2#)
                         (SEQ (LETT |y| NIL . #2#)
                              (LETT #0# (CDR |l|) . #2#)
                              (LETT |i| (+ (QREFELT $ 7) 1) . #2#)
                              (LETT #1#
                                    (- (+ (QREFELT $ 7) |n|) 1) . #2#)
                              G190
                              (COND
                                ((OR (> |i| #1#) (ATOM #0#)
                                     (PROGN
                                       (LETT |y| (CAR #0#) . #2#)
                                       NIL))
                                 (GO G191)))
                              (SEQ (EXIT
                                    (SPADCALL |a| |i| |y|
                                     (QREFELT $ 27))))
                              (LETT |i|
                                    (PROG1 (+ |i| 1)
                                      (LETT #0# (CDR #0#) . #2#)) . #2#)
                              (GO G190) G191 (EXIT NIL))
                         (EXIT |a|))))))))) 

(DEFUN |IFARRAY;newa| (|n| |a| $)
  (COND
    ((ZEROP |n|) (GETREFV 0))
    ('T (SPADCALL |n| (ELT |a| 0) (QREFELT $ 21))))) 

(DEFUN |IFARRAY;growAdding| (|r| |b| |s| $)
  (COND
    ((EQL |b| 0) |r|)
    ((< 0 (SPADCALL |r| (QREFELT $ 15)))
     (|IFARRAY;growAndFill| |r| |b| (ELT (QVELT |r| 2) 0) $))
    ((< 0 (SPADCALL |s| (QREFELT $ 15)))
     (|IFARRAY;growAndFill| |r| |b| (ELT (QVELT |s| 2) 0) $))
    ('T (|error| "no default filler element")))) 

(DEFUN |IFARRAY;growAndFill| (|r| |b| |x| $)
  (PROG (|n|)
    (RETURN
      (SEQ (COND
             ((NULL (< (QVELT |r| 0)
                       (QSETVELT |r| 1 (+ (QVELT |r| 1) |b|))))
              |r|)
             ('T
              (SEQ (LETT |n|
                         (+ (+ (QVELT |r| 0)
                               (QUOTIENT2 (QVELT |r| 0) 2))
                            1)
                         . #0=(|IFARRAY;growAndFill|))
                   (COND
                     ((< |n| (QVELT |r| 1))
                      (LETT |n| (QVELT |r| 1) . #0#)))
                   (EXIT (|IFARRAY;growWith| |r| |n| |x| $))))))))) 

(DEFUN |IFARRAY;growWith| (|r| |n| |x| $)
  (PROG (#0=#:G1869 |y| |a| |k| #1=#:G1874)
    (RETURN
      (SEQ (LETT |y|
                 (SPADCALL
                     (PROG1 (LETT #0# |n| . #2=(|IFARRAY;growWith|))
                       (|check-subtype| (>= #0# 0)
                           '(|NonNegativeInteger|) #0#))
                     |x| (QREFELT $ 21)) . #2#)
           (LETT |a| (QVELT |r| 2) . #2#)
           (SEQ (LETT |k| 0 . #2#) (LETT #1# (- (QVELT |r| 0) 1) . #2#)
                G190 (COND ((QSGREATERP |k| #1#) (GO G191)))
                (SEQ (EXIT (SETELT |y| |k| (ELT |a| |k|))))
                (LETT |k| (QSADD1 |k|) . #2#) (GO G190) G191
                (EXIT NIL))
           (QSETVELT |r| 0 |n|) (QSETVELT |r| 2 |y|) (EXIT |r|))))) 

(DEFUN |IFARRAY;shrink| (|r| |i| $)
  (PROG (|n| #0=#:G1876 |a| |y| |k| #1=#:G1884)
    (RETURN
      (SEQ (QSETVELT |r| 1 (- (QVELT |r| 1) |i|))
           (EXIT (COND
                   ((MINUSP (LETT |n| (QVELT |r| 1)
                                  . #2=(|IFARRAY;shrink|)))
                    (|error| "internal bug in flexible array"))
                   ((OR (< (QVELT |r| 0)
                           (+ (SPADCALL 2 |n| (QREFELT $ 30)) 2))
                        (NULL (QREFELT $ 9)))
                    |r|)
                   ('T
                    (SEQ (COND
                           ((< |n| (QVELT |r| 1))
                            (|error| "cannot shrink flexible array to indicated size")))
                         (EXIT (COND
                                 ((EQL |n| 0)
                                  (SPADCALL (QREFELT $ 14)))
                                 ('T
                                  (SEQ (QSETVELT |r| 0 |n|)
                                       (LETT |y|
                                        (|IFARRAY;newa|
                                         (PROG1 (LETT #0# |n| . #2#)
                                           (|check-subtype| (>= #0# 0)
                                            '(|NonNegativeInteger|)
                                            #0#))
                                         (LETT |a| (QVELT |r| 2) . #2#)
                                         $) . #2#)
                                       (SEQ (LETT |k| 0 . #2#)
                                        (LETT #1# (- |n| 1) . #2#) G190
                                        (COND
                                          ((QSGREATERP |k| #1#)
                                           (GO G191)))
                                        (SEQ
                                         (EXIT
                                          (SETELT |y| |k|
                                           (ELT |a| |k|))))
                                        (LETT |k| (QSADD1 |k|) . #2#)
                                        (GO G190) G191 (EXIT NIL))
                                       (QSETVELT |r| 2 |y|) (EXIT |r|))))))))))))) 

(DEFUN |IFARRAY;copy;2$;16| (|r| $)
  (PROG (|n| |a| |v| |k| #0=#:G1889)
    (RETURN
      (SEQ (LETT |n| (SPADCALL |r| (QREFELT $ 15))
                 . #1=(|IFARRAY;copy;2$;16|))
           (LETT |a| (QVELT |r| 2) . #1#)
           (LETT |v|
                 (|IFARRAY;newa| |n| (LETT |a| (QVELT |r| 2) . #1#) $) . #1#)
           (SEQ (LETT |k| 0 . #1#) (LETT #0# (- |n| 1) . #1#) G190
                (COND ((QSGREATERP |k| #0#) (GO G191)))
                (SEQ (EXIT (SETELT |v| |k| (ELT |a| |k|))))
                (LETT |k| (QSADD1 |k|) . #1#) (GO G190) G191
                (EXIT NIL))
           (EXIT (VECTOR |n| |n| |v|)))))) 

(DEFUN |IFARRAY;elt;$IS;17| (|r| |i| $)
  (COND
    ((OR (< |i| (QREFELT $ 7))
         (NULL (< |i| (+ (QVELT |r| 1) (QREFELT $ 7)))))
     (|error| "index out of range"))
    ('T (ELT (QVELT |r| 2) (- |i| (QREFELT $ 7)))))) 

(DEFUN |IFARRAY;setelt;$I2S;18| (|r| |i| |x| $)
  (COND
    ((OR (< |i| (QREFELT $ 7))
         (NULL (< |i| (+ (QVELT |r| 1) (QREFELT $ 7)))))
     (|error| "index out of range"))
    ('T (SETELT (QVELT |r| 2) (- |i| (QREFELT $ 7)) |x|)))) 

(DEFUN |IFARRAY;merge;M3$;19| (|g| |a| |b| $)
  (SPADCALL |g| (SPADCALL |a| (QREFELT $ 31)) |b| (QREFELT $ 34))) 

(DEFUN |IFARRAY;concat;S2$;20| (|x| |r| $)
  (SPADCALL |x| |r| (QREFELT $ 7) (QREFELT $ 36))) 

(DEFUN |IFARRAY;concat!;$S$;21| (|r| |x| $)
  (SEQ (|IFARRAY;growAndFill| |r| 1 |x| $)
       (SETELT (QVELT |r| 2) (- (QVELT |r| 1) 1) |x|) (EXIT |r|))) 

(DEFUN |IFARRAY;concat!;3$;22| (|a| |b| $)
  (PROG (|n|)
    (RETURN
      (SEQ (COND
             ((SPADCALL |a| |b| (QREFELT $ 39))
              (LETT |b| (SPADCALL |b| (QREFELT $ 31))
                    . #0=(|IFARRAY;concat!;3$;22|))))
           (LETT |n| (SPADCALL |a| (QREFELT $ 15)) . #0#)
           (|IFARRAY;growAdding| |a| (SPADCALL |b| (QREFELT $ 15)) |b|
               $)
           (EXIT (SPADCALL |a| |b| (+ |n| (QREFELT $ 7))
                     (QREFELT $ 40))))))) 

(DEFUN |IFARRAY;remove!;M2$;23| (|g| |a| $)
  (PROG (|i| #0=#:G1913 |k|)
    (RETURN
      (SEQ (LETT |k| 0 . #1=(|IFARRAY;remove!;M2$;23|))
           (SEQ (LETT |i| 0 . #1#)
                (LETT #0#
                      (- (SPADCALL |a| (QREFELT $ 19)) (QREFELT $ 7)) . #1#)
                G190 (COND ((QSGREATERP |i| #0#) (GO G191)))
                (SEQ (EXIT (COND
                             ((NULL (SPADCALL
                                     (SPADCALL |a| |i| (QREFELT $ 32))
                                     |g|))
                              (SEQ (SPADCALL |a| |k|
                                    (SPADCALL |a| |i| (QREFELT $ 32))
                                    (QREFELT $ 27))
                                   (EXIT (LETT |k| (+ |k| 1) . #1#)))))))
                (LETT |i| (QSADD1 |i|) . #1#) (GO G190) G191
                (EXIT NIL))
           (EXIT (|IFARRAY;shrink| |a|
                     (- (SPADCALL |a| (QREFELT $ 15)) |k|) $)))))) 

(DEFUN |IFARRAY;delete!;$I$;24| (|r| |i1| $)
  (PROG (|i| |k| #0=#:G1919)
    (RETURN
      (SEQ (LETT |i| (- |i1| (QREFELT $ 7))
                 . #1=(|IFARRAY;delete!;$I$;24|))
           (COND
             ((OR (< |i| 0) (< (QVELT |r| 1) |i|))
              (EXIT (|error| "index out of range"))))
           (SEQ (LETT |k| |i| . #1#)
                (LETT #0# (- (QVELT |r| 1) 2) . #1#) G190
                (COND ((> |k| #0#) (GO G191)))
                (SEQ (EXIT (SETELT (QVELT |r| 2) |k|
                                   (ELT (QVELT |r| 2) (+ |k| 1)))))
                (LETT |k| (+ |k| 1) . #1#) (GO G190) G191 (EXIT NIL))
           (EXIT (|IFARRAY;shrink| |r| 1 $)))))) 

(DEFUN |IFARRAY;delete!;$Us$;25| (|r| |i| $)
  (PROG (|l| |m| |h| |k| |j|)
    (RETURN
      (SEQ (LETT |l| (- (SPADCALL |i| (QREFELT $ 46)) (QREFELT $ 7))
                 . #0=(|IFARRAY;delete!;$Us$;25|))
           (LETT |m|
                 (- (SPADCALL |r| (QREFELT $ 19)) (QREFELT $ 7)) . #0#)
           (LETT |h|
                 (COND
                   ((SPADCALL |i| (QREFELT $ 47))
                    (- (SPADCALL |i| (QREFELT $ 48)) (QREFELT $ 7)))
                   ('T |m|)) . #0#)
           (COND
             ((OR (< |l| 0) (< |m| |h|))
              (EXIT (|error| "index out of range"))))
           (SEQ (LETT |k| (+ |h| 1) . #0#) (LETT |j| |l| . #0#) G190
                (COND ((> |k| |m|) (GO G191)))
                (SEQ (EXIT (SETELT (QVELT |r| 2) |j|
                                   (ELT (QVELT |r| 2) |k|))))
                (LETT |j|
                      (PROG1 (+ |j| 1) (LETT |k| (+ |k| 1) . #0#)) . #0#)
                (GO G190) G191 (EXIT NIL))
           (EXIT (|IFARRAY;shrink| |r| (MAX 0 (+ (- |h| |l|) 1)) $)))))) 

(DEFUN |IFARRAY;insert!;S$I$;26| (|x| |r| |i1| $)
  (PROG (|i| |n| |k|)
    (RETURN
      (SEQ (LETT |i| (- |i1| (QREFELT $ 7))
                 . #0=(|IFARRAY;insert!;S$I$;26|))
           (LETT |n| (QVELT |r| 1) . #0#)
           (COND
             ((OR (< |i| 0) (< |n| |i|))
              (EXIT (|error| "index out of range"))))
           (|IFARRAY;growAndFill| |r| 1 |x| $)
           (SEQ (LETT |k| (- |n| 1) . #0#) G190
                (COND ((< |k| |i|) (GO G191)))
                (SEQ (EXIT (SETELT (QVELT |r| 2) (+ |k| 1)
                                   (ELT (QVELT |r| 2) |k|))))
                (LETT |k| (+ |k| -1) . #0#) (GO G190) G191 (EXIT NIL))
           (SETELT (QVELT |r| 2) |i| |x|) (EXIT |r|))))) 

(DEFUN |IFARRAY;insert!;2$I$;27| (|a| |b| |i1| $)
  (PROG (|i| |m| |n| |k|)
    (RETURN
      (SEQ (LETT |i| (- |i1| (QREFELT $ 7))
                 . #0=(|IFARRAY;insert!;2$I$;27|))
           (COND
             ((SPADCALL |a| |b| (QREFELT $ 39))
              (LETT |b| (SPADCALL |b| (QREFELT $ 31)) . #0#)))
           (LETT |m| (SPADCALL |a| (QREFELT $ 15)) . #0#)
           (LETT |n| (SPADCALL |b| (QREFELT $ 15)) . #0#)
           (COND
             ((OR (< |i| 0) (< |n| |i|))
              (EXIT (|error| "index out of range"))))
           (|IFARRAY;growAdding| |b| |m| |a| $)
           (SEQ (LETT |k| (- |n| 1) . #0#) G190
                (COND ((< |k| |i|) #1=(GO G191)))
                (SEQ (EXIT (SETELT (QVELT |b| 2) (+ |m| |k|)
                                   (ELT (QVELT |b| 2) |k|))))
                (LETT |k| (+ |k| -1) . #0#) #2=(GO G190) G191
                (EXIT NIL))
           (SEQ (LETT |k| (- |m| 1) . #0#) G190 (COND ((< |k| 0) #1#))
                (SEQ (EXIT (SETELT (QVELT |b| 2) (+ |i| |k|)
                                   (ELT (QVELT |a| 2) |k|))))
                (LETT |k| (+ |k| -1) . #0#) #2# G191 (EXIT NIL))
           (EXIT |b|))))) 

(DEFUN |IFARRAY;merge!;M3$;28| (|g| |a| |b| $)
  (PROG (|m| |n| |i| |j| #0=#:G1945 |k|)
    (RETURN
      (SEQ (LETT |m| (SPADCALL |a| (QREFELT $ 15))
                 . #1=(|IFARRAY;merge!;M3$;28|))
           (LETT |n| (SPADCALL |b| (QREFELT $ 15)) . #1#)
           (|IFARRAY;growAdding| |a| |n| |b| $)
           (SEQ (LETT |j| (- (+ |m| |n|) 1) . #1#)
                (LETT |i| (- |m| 1) . #1#) G190
                (COND ((< |i| 0) #2=(GO G191)))
                (SEQ (EXIT (SETELT (QVELT |a| 2) |j|
                                   (ELT (QVELT |a| 2) |i|))))
                (LETT |i|
                      (PROG1 (+ |i| -1) (LETT |j| (+ |j| -1) . #1#)) . #1#)
                #3=(GO G190) G191 (EXIT NIL))
           (LETT |i| |n| . #1#) (LETT |j| 0 . #1#)
           (SEQ (LETT |k| 0 . #1#) G190
                (COND
                  ((NULL (COND
                           ((< |i| (+ |n| |m|)) (< |j| |n|))
                           ('T 'NIL)))
                   #2#))
                (SEQ (EXIT (COND
                             ((SPADCALL (ELT (QVELT |a| 2) |i|)
                                  (ELT (QVELT |b| 2) |j|) |g|)
                              (SEQ (SETELT (QVELT |a| 2) |k|
                                    (ELT (QVELT |a| 2) |i|))
                                   (EXIT (LETT |i| (+ |i| 1) . #1#))))
                             ('T
                              (SEQ (SETELT (QVELT |a| 2) |k|
                                    (ELT (QVELT |b| 2) |j|))
                                   (EXIT (LETT |j| (+ |j| 1) . #1#)))))))
                (LETT |k| (QSADD1 |k|) . #1#) #3# G191 (EXIT NIL))
           (SEQ (LETT |j| |j| . #1#) (LETT #0# (- |n| 1) . #1#)
                (LETT |k| |k| . #1#) G190 (COND ((> |j| #0#) #2#))
                (SEQ (EXIT (SETELT (QVELT |a| 2) |k|
                                   (ELT (QVELT |b| 2) |j|))))
                (LETT |k|
                      (PROG1 (+ |k| 1) (LETT |j| (+ |j| 1) . #1#)) . #1#)
                #3# G191 (EXIT NIL))
           (EXIT |a|))))) 

(DEFUN |IFARRAY;select!;M2$;29| (|g| |a| $)
  (PROG (|i| #0=#:G1952 |k|)
    (RETURN
      (SEQ (LETT |k| 0 . #1=(|IFARRAY;select!;M2$;29|))
           (SEQ (LETT |i| 0 . #1#)
                (LETT #0#
                      (- (SPADCALL |a| (QREFELT $ 19)) (QREFELT $ 7)) . #1#)
                G190 (COND ((QSGREATERP |i| #0#) (GO G191)))
                (SEQ (EXIT (COND
                             ((SPADCALL (ELT (QVELT |a| 2) |i|) |g|)
                              (SEQ (SETELT (QVELT |a| 2) |k|
                                    (ELT (QVELT |a| 2) |i|))
                                   (EXIT (LETT |k| (+ |k| 1) . #1#)))))))
                (LETT |i| (QSADD1 |i|) . #1#) (GO G190) G191
                (EXIT NIL))
           (EXIT (|IFARRAY;shrink| |a|
                     (- (SPADCALL |a| (QREFELT $ 15)) |k|) $)))))) 

(DEFUN |IFARRAY;removeDuplicates!;2$;30| (|a| $)
  (PROG (|ct| |nlim0| |k| #0=#:G1962 |j| |nlim| |i|)
    (RETURN
      (SEQ (LETT |ct| (SPADCALL |a| (QREFELT $ 15))
                 . #1=(|IFARRAY;removeDuplicates!;2$;30|))
           (EXIT (COND
                   ((< |ct| 2) |a|)
                   (#2='T
                    (SEQ (LETT |i| (QREFELT $ 7) . #1#)
                         (LETT |nlim| (+ (QREFELT $ 7) |ct|) . #1#)
                         (LETT |nlim0| |nlim| . #1#)
                         (SEQ G190
                              (COND
                                ((NULL (< |i| |nlim|)) #3=(GO G191)))
                              (SEQ (LETT |j| (+ |i| 1) . #1#)
                                   (SEQ (LETT |k| |j| . #1#)
                                    (LETT #0# (- |nlim| 1) . #1#) G190
                                    (COND ((> |k| #0#) #3#))
                                    (SEQ
                                     (EXIT
                                      (COND
                                        ((COND
                                           ((SPADCALL
                                             (SPADCALL |a| |k|
                                              (QREFELT $ 32))
                                             (SPADCALL |a| |i|
                                              (QREFELT $ 32))
                                             (QREFELT $ 52))
                                            'NIL)
                                           ('T 'T))
                                         (SEQ
                                          (SPADCALL |a| |j|
                                           (SPADCALL |a| |k|
                                            (QREFELT $ 32))
                                           (QREFELT $ 27))
                                          (EXIT
                                           (LETT |j| (+ |j| 1) . #1#)))))))
                                    (LETT |k| (+ |k| 1) . #1#)
                                    #4=(GO G190) G191 (EXIT NIL))
                                   (LETT |nlim| |j| . #1#)
                                   (EXIT (LETT |i| (+ |i| 1) . #1#)))
                              NIL #4# G191 (EXIT NIL))
                         (EXIT (COND
                                 ((EQL |nlim| |nlim0|) |a|)
                                 (#2#
                                  (SPADCALL |a|
                                      (SPADCALL |i| (QREFELT $ 53))
                                      (QREFELT $ 49))))))))))))) 

(DEFUN |IndexedFlexibleArray| (&REST #0=#:G1971)
  (PROG ()
    (RETURN
      (PROG (#1=#:G1972)
        (RETURN
          (COND
            ((LETT #1#
                   (|lassocShiftWithFunction| (|devaluateList| #0#)
                       (HGET |$ConstructorCache|
                             '|IndexedFlexibleArray|)
                       '|domainEqualList|)
                   . #2=(|IndexedFlexibleArray|))
             (|CDRwithIncrement| #1#))
            ('T
             (UNWIND-PROTECT
               (PROG1 (APPLY (|function| |IndexedFlexibleArray;|) #0#)
                 (LETT #1# T . #2#))
               (COND
                 ((NOT #1#)
                  (HREM |$ConstructorCache| '|IndexedFlexibleArray|))))))))))) 

(DEFUN |IndexedFlexibleArray;| (|#1| |#2|)
  (PROG (DV$1 DV$2 |dv$| $ #0=#:G1969 |pv$| #1=#:G1970)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|) . #2=(|IndexedFlexibleArray|))
        (LETT DV$2 (|devaluate| |#2|) . #2#)
        (LETT |dv$| (LIST '|IndexedFlexibleArray| DV$1 DV$2) . #2#)
        (LETT $ (GETREFV 67) . #2#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3
            (LETT |pv$|
                  (|buildPredVector| 0 0
                      (LIST (|HasCategory| |#1| '(|SetCategory|))
                            (|HasCategory| |#1|
                                '(|ConvertibleTo| (|InputForm|)))
                            (LETT #0#
                                  (|HasCategory| |#1| '(|OrderedSet|)) . #2#)
                            (OR #0#
                                (|HasCategory| |#1| '(|SetCategory|)))
                            (|HasCategory| (|Integer|) '(|OrderedSet|))
                            (AND (|HasCategory| |#1| '(|SetCategory|))
                                 (|HasCategory| |#1|
                                     (LIST '|Evalable|
                                      (|devaluate| |#1|))))
                            (OR (AND #0#
                                     (|HasCategory| |#1|
                                      (LIST '|Evalable|
                                       (|devaluate| |#1|))))
                                (AND (|HasCategory| |#1|
                                      '(|SetCategory|))
                                     (|HasCategory| |#1|
                                      (LIST '|Evalable|
                                       (|devaluate| |#1|))))))) . #2#))
        (|haddProp| |$ConstructorCache| '|IndexedFlexibleArray|
            (LIST DV$1 DV$2) (CONS 1 $))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        (QSETREFV $ 7 |#2|)
        (AND (LETT #1# (|HasCategory| $ '(|finiteAggregate|)) . #2#)
             (|augmentPredVector| $ 128))
        (AND #1# (|HasCategory| |#1| '(|SetCategory|))
             (|augmentPredVector| $ 256))
        (AND (|HasCategory| $ '(|shallowlyMutable|))
             (|augmentPredVector| $ 512))
        (AND (|HasCategory| $ '(|shallowlyMutable|)) #0#
             (|augmentPredVector| $ 1024))
        (QSETREFV $ 8
            (|Record| (|:| |physLen| (|Integer|))
                (|:| |logLen| (|Integer|))
                (|:| |f| (|PrimitiveArray| |#1|))))
        (QSETREFV $ 9 'T)
        (COND
          ((|testBitVector| |pv$| 1)
           (QSETREFV $ 54
               (CONS (|dispatchFunction|
                         |IFARRAY;removeDuplicates!;2$;30|)
                     $))))
        $)))) 

(MAKEPROP '|IndexedFlexibleArray| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
             '|Rep| '|shrinkable?| (|NonNegativeInteger|)
             |IFARRAY;physicalLength;$Nni;1| (|Integer|)
             |IFARRAY;physicalLength!;$I$;2| |IFARRAY;empty;$;3|
             |IFARRAY;#;$Nni;4| (|PrimitiveArray| 6) (0 . |fill!|)
             |IFARRAY;fill!;$S$;5| |IFARRAY;maxIndex;$I;6|
             |IFARRAY;minIndex;$I;7| (6 . |new|) |IFARRAY;new;NniS$;8|
             (|Boolean|) |IFARRAY;shrinkable;2B;9| (|List| 6)
             (12 . |elt|) |IFARRAY;setelt;$I2S;18|
             |IFARRAY;flexibleArray;L$;10| (|PositiveInteger|) (18 . *)
             |IFARRAY;copy;2$;16| |IFARRAY;elt;$IS;17|
             (|Mapping| 23 6 6) |IFARRAY;merge!;M3$;28|
             |IFARRAY;merge;M3$;19| |IFARRAY;insert!;S$I$;26|
             |IFARRAY;concat;S2$;20| |IFARRAY;concat!;$S$;21|
             (24 . |eq?|) (30 . |copyInto!|) |IFARRAY;concat!;3$;22|
             (|Mapping| 23 6) |IFARRAY;remove!;M2$;23|
             |IFARRAY;delete!;$I$;24| (|UniversalSegment| 12)
             (37 . |lo|) (42 . |hasHi|) (47 . |hi|)
             |IFARRAY;delete!;$Us$;25| |IFARRAY;insert!;2$I$;27|
             |IFARRAY;select!;M2$;29| (52 . =) (58 . SEGMENT)
             (63 . |removeDuplicates!|) (|Mapping| 6 6 6)
             (|Equation| 6) (|List| 56) (|Void|) (|Mapping| 6 6)
             (|InputForm|) (|OutputForm|) (|SingleInteger|) (|String|)
             (|List| $) (|Union| 6 '"failed") (|List| 12))
          '#(~= 68 |swap!| 74 |sorted?| 81 |sort!| 92 |sort| 103
             |size?| 114 |shrinkable| 120 |setelt| 125 |select!| 139
             |select| 145 |sample| 151 |reverse!| 155 |reverse| 160
             |removeDuplicates!| 165 |removeDuplicates| 170 |remove!|
             175 |remove| 187 |reduce| 199 |qsetelt!| 220 |qelt| 227
             |position| 233 |physicalLength!| 252 |physicalLength| 258
             |parts| 263 |new| 268 |more?| 274 |minIndex| 280 |min| 285
             |merge!| 291 |merge| 304 |members| 317 |member?| 322
             |maxIndex| 328 |max| 333 |map!| 339 |map| 345 |less?| 358
             |latex| 364 |insert!| 369 |insert| 383 |indices| 397
             |index?| 402 |hash| 408 |flexibleArray| 413 |first| 418
             |find| 423 |fill!| 429 |every?| 435 |eval| 441 |eq?| 467
             |entry?| 473 |entries| 479 |empty?| 484 |empty| 489 |elt|
             493 |delete!| 512 |delete| 524 |count| 536 |copyInto!| 548
             |copy| 555 |convert| 560 |construct| 565 |concat!| 570
             |concat| 582 |coerce| 605 |any?| 610 >= 616 > 622 = 628 <=
             634 < 640 |#| 646)
          'NIL
          (CONS (|makeByteWordVec2| 7
                    '(0 0 0 0 0 0 0 3 0 0 7 4 0 0 0 0 7 1 2 4))
                (CONS '#(|OneDimensionalArrayAggregate&|
                         |FiniteLinearAggregate&|
                         |ExtensibleLinearAggregate&|
                         |LinearAggregate&| |IndexedAggregate&|
                         |Collection&| |HomogeneousAggregate&|
                         |OrderedSet&| |Aggregate&| |EltableAggregate&|
                         |Evalable&| |SetCategory&| NIL NIL NIL NIL
                         |InnerEvalable&| NIL NIL |BasicType&|)
                      (CONS '#((|OneDimensionalArrayAggregate| 6)
                               (|FiniteLinearAggregate| 6)
                               (|ExtensibleLinearAggregate| 6)
                               (|LinearAggregate| 6)
                               (|IndexedAggregate| 12 6)
                               (|Collection| 6)
                               (|HomogeneousAggregate| 6)
                               (|OrderedSet|) (|Aggregate|)
                               (|EltableAggregate| 12 6) (|Evalable| 6)
                               (|SetCategory|) (|shallowlyMutable|)
                               (|finiteAggregate|) (|Type|)
                               (|Eltable| 12 6) (|InnerEvalable| 6 6)
                               (|CoercibleTo| 61) (|ConvertibleTo| 60)
                               (|BasicType|))
                            (|makeByteWordVec2| 66
                                '(2 16 0 0 6 17 2 16 0 10 6 21 2 25 6 0
                                  12 26 2 12 0 29 0 30 2 0 23 0 0 39 3
                                  0 0 0 0 12 40 1 45 12 0 46 1 45 23 0
                                  47 1 45 12 0 48 2 6 23 0 0 52 1 45 0
                                  12 53 1 0 0 0 54 2 1 23 0 0 1 3 10 58
                                  0 12 12 1 1 3 23 0 1 2 0 23 33 0 1 1
                                  11 0 0 1 2 10 0 33 0 1 1 3 0 0 1 2 0
                                  0 33 0 1 2 0 23 0 10 1 1 0 23 23 24 3
                                  10 6 0 45 6 1 3 10 6 0 12 6 27 2 0 0
                                  42 0 51 2 8 0 42 0 1 0 0 0 1 1 10 0 0
                                  1 1 0 0 0 1 1 1 0 0 54 1 9 0 0 1 2 1
                                  0 6 0 1 2 0 0 42 0 43 2 9 0 6 0 1 2 8
                                  0 42 0 1 4 9 6 55 0 6 6 1 2 8 6 55 0
                                  1 3 8 6 55 0 6 1 3 10 6 0 12 6 1 2 0
                                  6 0 12 1 2 1 12 6 0 1 3 1 12 6 0 12 1
                                  2 0 12 42 0 1 2 0 0 0 12 13 1 0 10 0
                                  11 1 8 25 0 1 2 0 0 10 6 22 2 0 23 0
                                  10 1 1 5 12 0 20 2 3 0 0 0 1 2 3 0 0
                                  0 1 3 0 0 33 0 0 34 2 3 0 0 0 1 3 0 0
                                  33 0 0 35 1 8 25 0 1 2 9 23 6 0 1 1 5
                                  12 0 19 2 3 0 0 0 1 2 10 0 59 0 1 3 0
                                  0 55 0 0 1 2 0 0 59 0 1 2 0 23 0 10 1
                                  1 1 63 0 1 3 0 0 6 0 12 36 3 0 0 0 0
                                  12 50 3 0 0 0 0 12 1 3 0 0 6 0 12 1 1
                                  0 66 0 1 2 0 23 12 0 1 1 1 62 0 1 1 0
                                  0 25 28 1 5 6 0 1 2 0 65 42 0 1 2 10
                                  0 0 6 18 2 8 23 42 0 1 3 6 0 0 25 25
                                  1 2 6 0 0 56 1 3 6 0 0 6 6 1 2 6 0 0
                                  57 1 2 0 23 0 0 39 2 9 23 6 0 1 1 0
                                  25 0 1 1 0 23 0 1 0 0 0 14 2 0 0 0 45
                                  1 3 0 6 0 12 6 1 2 0 6 0 12 32 2 0 0
                                  0 12 44 2 0 0 0 45 49 2 0 0 0 45 1 2
                                  0 0 0 12 1 2 9 10 6 0 1 2 8 10 42 0 1
                                  3 10 0 0 0 12 40 1 0 0 0 31 1 2 60 0
                                  1 1 0 0 25 1 2 0 0 0 6 38 2 0 0 0 0
                                  41 1 0 0 64 1 2 0 0 0 0 1 2 0 0 0 6 1
                                  2 0 0 6 0 37 1 1 61 0 1 2 8 23 42 0 1
                                  2 3 23 0 0 1 2 3 23 0 0 1 2 1 23 0 0
                                  1 2 3 23 0 0 1 2 3 23 0 0 1 1 8 10 0
                                  15)))))
          '|lookupComplete|)) 
