
(/VERSIONCHECK 2) 

(PUT '|IARRAY1;#;$Nni;1| '|SPADreplace| 'QVSIZE) 

(DEFUN |IARRAY1;#;$Nni;1| (|x| $) (QVSIZE |x|)) 

(DEFUN |IARRAY1;fill!;$S$;2| (|x| |s| $)
  (PROG (|i| #0=#:G1830)
    (RETURN
      (SEQ (SEQ (LETT |i| 0 . #1=(|IARRAY1;fill!;$S$;2|))
                (LETT #0# (QVMAXINDEX |x|) . #1#) G190
                (COND ((QSGREATERP |i| #0#) (GO G191)))
                (SEQ (EXIT (SETELT |x| |i| |s|)))
                (LETT |i| (QSADD1 |i|) . #1#) (GO G190) G191
                (EXIT NIL))
           (EXIT |x|))))) 

(DEFUN |IARRAY1;minIndex;$I;3| (|x| $) (QREFELT $ 7)) 

(PUT '|IARRAY1;empty;$;4| '|SPADreplace| '(XLAM NIL (GETREFV 0))) 

(DEFUN |IARRAY1;empty;$;4| ($) (GETREFV 0)) 

(DEFUN |IARRAY1;new;NniS$;5| (|n| |s| $)
  (SPADCALL (GETREFV |n|) |s| (QREFELT $ 10))) 

(DEFUN |IARRAY1;map!;M2$;6| (|f| |s1| $)
  (PROG (|n| |i|)
    (RETURN
      (SEQ (LETT |n| (QVMAXINDEX |s1|) . #0=(|IARRAY1;map!;M2$;6|))
           (EXIT (COND
                   ((< |n| 0) |s1|)
                   ('T
                    (SEQ (SEQ (LETT |i| 0 . #0#) G190
                              (COND ((QSGREATERP |i| |n|) (GO G191)))
                              (SEQ (EXIT
                                    (SETELT |s1| |i|
                                     (SPADCALL (ELT |s1| |i|) |f|))))
                              (LETT |i| (QSADD1 |i|) . #0#) (GO G190)
                              G191 (EXIT NIL))
                         (EXIT |s1|))))))))) 

(DEFUN |IARRAY1;map;M2$;7| (|f| |s1| $)
  (PROG (|n| |ss2| |i|)
    (RETURN
      (SEQ (LETT |n| (QVMAXINDEX |s1|) . #0=(|IARRAY1;map;M2$;7|))
           (EXIT (COND
                   ((< |n| 0) |s1|)
                   ('T
                    (SEQ (LETT |ss2| (GETREFV (+ |n| 1)) . #0#)
                         (SEQ (LETT |i| 0 . #0#) G190
                              (COND ((QSGREATERP |i| |n|) (GO G191)))
                              (SEQ (EXIT
                                    (SETELT |ss2| |i|
                                     (SPADCALL (ELT |s1| |i|) |f|))))
                              (LETT |i| (QSADD1 |i|) . #0#) (GO G190)
                              G191 (EXIT NIL))
                         (EXIT |ss2|))))))))) 

(DEFUN |IARRAY1;map;M3$;8| (|f| |a| |b| $)
  (PROG (|maxind| |c| |i|)
    (RETURN
      (SEQ (LETT |maxind| (MIN (QVMAXINDEX |a|) (QVMAXINDEX |b|))
                 . #0=(|IARRAY1;map;M3$;8|))
           (EXIT (COND
                   ((< |maxind| 0) (SPADCALL (QREFELT $ 13)))
                   ('T
                    (SEQ (LETT |c| (GETREFV (+ |maxind| 1)) . #0#)
                         (SEQ (LETT |i| 0 . #0#) G190
                              (COND
                                ((QSGREATERP |i| |maxind|) (GO G191)))
                              (SEQ (EXIT
                                    (SETELT |c| |i|
                                     (SPADCALL (ELT |a| |i|)
                                      (ELT |b| |i|) |f|))))
                              (LETT |i| (QSADD1 |i|) . #0#) (GO G190)
                              G191 (EXIT NIL))
                         (EXIT |c|))))))))) 

(PUT '|IARRAY1;qelt;$IS;9| '|SPADreplace| 'ELT) 

(DEFUN |IARRAY1;qelt;$IS;9| (|x| |i| $) (ELT |x| |i|)) 

(PUT '|IARRAY1;qsetelt!;$I2S;10| '|SPADreplace| 'SETELT) 

(DEFUN |IARRAY1;qsetelt!;$I2S;10| (|x| |i| |s| $)
  (SETELT |x| |i| |s|)) 

(DEFUN |IARRAY1;elt;$IS;11| (|x| |i| $)
  (COND
    ((OR (MINUSP |i|) (< (SPADCALL |x| (QREFELT $ 23)) |i|))
     (|error| "index out of range"))
    ('T (SPADCALL |x| |i| (QREFELT $ 21))))) 

(DEFUN |IARRAY1;setelt;$I2S;12| (|x| |i| |s| $)
  (COND
    ((OR (MINUSP |i|) (< (SPADCALL |x| (QREFELT $ 23)) |i|))
     (|error| "index out of range"))
    ('T (SPADCALL |x| |i| |s| (QREFELT $ 22))))) 

(PUT '|IARRAY1;maxIndex;$I;13| '|SPADreplace| 'QVSIZE) 

(DEFUN |IARRAY1;maxIndex;$I;13| (|x| $) (QVSIZE |x|)) 

(DEFUN |IARRAY1;qelt;$IS;14| (|x| |i| $) (ELT |x| (- |i| 1))) 

(DEFUN |IARRAY1;qsetelt!;$I2S;15| (|x| |i| |s| $)
  (SETELT |x| (- |i| 1) |s|)) 

(DEFUN |IARRAY1;elt;$IS;16| (|x| |i| $)
  (COND
    ((OR (QSLESSP |i| 1) (QSLESSP (QVSIZE |x|) |i|))
     (|error| "index out of range"))
    ('T (ELT |x| (- |i| 1))))) 

(DEFUN |IARRAY1;setelt;$I2S;17| (|x| |i| |s| $)
  (COND
    ((OR (QSLESSP |i| 1) (QSLESSP (QVSIZE |x|) |i|))
     (|error| "index out of range"))
    ('T (SETELT |x| (- |i| 1) |s|)))) 

(DEFUN |IARRAY1;qelt;$IS;18| (|x| |i| $)
  (ELT |x| (- |i| (QREFELT $ 7)))) 

(DEFUN |IARRAY1;qsetelt!;$I2S;19| (|x| |i| |s| $)
  (SETELT |x| (- |i| (QREFELT $ 7)) |s|)) 

(DEFUN |IARRAY1;elt;$IS;20| (|x| |i| $)
  (COND
    ((OR (< |i| (QREFELT $ 7)) (< (SPADCALL |x| (QREFELT $ 23)) |i|))
     (|error| "index out of range"))
    ('T (SPADCALL |x| |i| (QREFELT $ 21))))) 

(DEFUN |IARRAY1;setelt;$I2S;21| (|x| |i| |s| $)
  (COND
    ((OR (< |i| (QREFELT $ 7)) (< (SPADCALL |x| (QREFELT $ 23)) |i|))
     (|error| "index out of range"))
    ('T (SPADCALL |x| |i| |s| (QREFELT $ 22))))) 

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

(DEFUN |IndexedOneDimensionalArray;| (|#1| |#2|)
  (PROG (DV$1 DV$2 |dv$| $ #0=#:G1883 |pv$| #1=#:G1884)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|)
              . #2=(|IndexedOneDimensionalArray|))
        (LETT DV$2 (|devaluate| |#2|) . #2#)
        (LETT |dv$|
              (LIST '|IndexedOneDimensionalArray| DV$1 DV$2) . #2#)
        (LETT $ (GETREFV 41) . #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| '|IndexedOneDimensionalArray|
            (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 $ 20 (ZEROP |#2|))
        (COND
          ((QREFELT $ 20)
           (PROGN
             (QSETREFV $ 21
                 (CONS (|dispatchFunction| |IARRAY1;qelt;$IS;9|) $))
             (QSETREFV $ 22
                 (CONS (|dispatchFunction| |IARRAY1;qsetelt!;$I2S;10|)
                       $))
             (QSETREFV $ 24
                 (CONS (|dispatchFunction| |IARRAY1;elt;$IS;11|) $))
             (QSETREFV $ 25
                 (CONS (|dispatchFunction| |IARRAY1;setelt;$I2S;12|) $))))
          ((EQL |#2| 1)
           (PROGN
             (QSETREFV $ 23
                 (CONS (|dispatchFunction| |IARRAY1;maxIndex;$I;13|) $))
             (QSETREFV $ 21
                 (CONS (|dispatchFunction| |IARRAY1;qelt;$IS;14|) $))
             (QSETREFV $ 22
                 (CONS (|dispatchFunction| |IARRAY1;qsetelt!;$I2S;15|)
                       $))
             (QSETREFV $ 24
                 (CONS (|dispatchFunction| |IARRAY1;elt;$IS;16|) $))
             (QSETREFV $ 25
                 (CONS (|dispatchFunction| |IARRAY1;setelt;$I2S;17|) $))))
          ('T
           (PROGN
             (QSETREFV $ 21
                 (CONS (|dispatchFunction| |IARRAY1;qelt;$IS;18|) $))
             (QSETREFV $ 22
                 (CONS (|dispatchFunction| |IARRAY1;qsetelt!;$I2S;19|)
                       $))
             (QSETREFV $ 24
                 (CONS (|dispatchFunction| |IARRAY1;elt;$IS;20|) $))
             (QSETREFV $ 25
                 (CONS (|dispatchFunction| |IARRAY1;setelt;$I2S;21|) $)))))
        $)))) 

(MAKEPROP '|IndexedOneDimensionalArray| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
             (|NonNegativeInteger|) |IARRAY1;#;$Nni;1|
             |IARRAY1;fill!;$S$;2| (|Integer|) |IARRAY1;minIndex;$I;3|
             |IARRAY1;empty;$;4| |IARRAY1;new;NniS$;5| (|Mapping| 6 6)
             |IARRAY1;map!;M2$;6| |IARRAY1;map;M2$;7| (|Mapping| 6 6 6)
             |IARRAY1;map;M3$;8| '#:G1825 (0 . |qelt|) (6 . |qsetelt!|)
             (13 . |maxIndex|) (18 . |elt|) (24 . |setelt|) (|Boolean|)
             (|List| 6) (|Equation| 6) (|List| 28) (|Mapping| 26 6)
             (|Mapping| 26 6 6) (|UniversalSegment| 11) (|Void|)
             (|InputForm|) (|OutputForm|) (|String|) (|SingleInteger|)
             (|List| $) (|Union| 6 '"failed") (|List| 11))
          '#(~= 31 |swap!| 37 |sorted?| 44 |sort!| 55 |sort| 66 |size?|
             77 |setelt| 83 |select| 97 |sample| 103 |reverse!| 107
             |reverse| 112 |removeDuplicates| 117 |remove| 122 |reduce|
             134 |qsetelt!| 155 |qelt| 162 |position| 168 |parts| 187
             |new| 192 |more?| 198 |minIndex| 204 |min| 209 |merge| 215
             |members| 228 |member?| 233 |maxIndex| 239 |max| 244
             |map!| 250 |map| 256 |less?| 269 |latex| 275 |insert| 280
             |indices| 294 |index?| 299 |hash| 305 |first| 310 |find|
             315 |fill!| 321 |every?| 327 |eval| 333 |eq?| 359 |entry?|
             365 |entries| 371 |empty?| 376 |empty| 381 |elt| 385
             |delete| 404 |count| 416 |copyInto!| 428 |copy| 435
             |convert| 440 |construct| 445 |concat| 450 |coerce| 473
             |any?| 478 >= 484 > 490 = 496 <= 502 < 508 |#| 514)
          'NIL
          (CONS (|makeByteWordVec2| 7
                    '(0 0 0 0 0 0 3 0 0 7 4 0 0 0 0 7 1 2 4))
                (CONS '#(|OneDimensionalArrayAggregate&|
                         |FiniteLinearAggregate&| |LinearAggregate&|
                         |IndexedAggregate&| |Collection&|
                         |HomogeneousAggregate&| |OrderedSet&|
                         |Aggregate&| |EltableAggregate&| |Evalable&|
                         |SetCategory&| NIL NIL NIL NIL
                         |InnerEvalable&| NIL NIL |BasicType&|)
                      (CONS '#((|OneDimensionalArrayAggregate| 6)
                               (|FiniteLinearAggregate| 6)
                               (|LinearAggregate| 6)
                               (|IndexedAggregate| 11 6)
                               (|Collection| 6)
                               (|HomogeneousAggregate| 6)
                               (|OrderedSet|) (|Aggregate|)
                               (|EltableAggregate| 11 6) (|Evalable| 6)
                               (|SetCategory|) (|shallowlyMutable|)
                               (|finiteAggregate|) (|Type|)
                               (|Eltable| 11 6) (|InnerEvalable| 6 6)
                               (|CoercibleTo| 35) (|ConvertibleTo| 34)
                               (|BasicType|))
                            (|makeByteWordVec2| 40
                                '(2 0 6 0 11 21 3 0 6 0 11 6 22 1 0 11
                                  0 23 2 0 6 0 11 24 3 0 6 0 11 6 25 2
                                  1 26 0 0 1 3 10 33 0 11 11 1 1 3 26 0
                                  1 2 0 26 31 0 1 1 11 0 0 1 2 10 0 31
                                  0 1 1 3 0 0 1 2 0 0 31 0 1 2 0 26 0 8
                                  1 3 10 6 0 32 6 1 3 10 6 0 11 6 25 2
                                  8 0 30 0 1 0 0 0 1 1 10 0 0 1 1 0 0 0
                                  1 1 9 0 0 1 2 9 0 6 0 1 2 8 0 30 0 1
                                  4 9 6 18 0 6 6 1 3 8 6 18 0 6 1 2 8 6
                                  18 0 1 3 10 6 0 11 6 22 2 0 6 0 11 21
                                  2 1 11 6 0 1 3 1 11 6 0 11 1 2 0 11
                                  30 0 1 1 8 27 0 1 2 0 0 8 6 14 2 0 26
                                  0 8 1 1 5 11 0 12 2 3 0 0 0 1 2 3 0 0
                                  0 1 3 0 0 31 0 0 1 1 8 27 0 1 2 9 26
                                  6 0 1 1 5 11 0 23 2 3 0 0 0 1 2 10 0
                                  15 0 16 3 0 0 18 0 0 19 2 0 0 15 0 17
                                  2 0 26 0 8 1 1 1 36 0 1 3 0 0 0 0 11
                                  1 3 0 0 6 0 11 1 1 0 40 0 1 2 0 26 11
                                  0 1 1 1 37 0 1 1 5 6 0 1 2 0 39 30 0
                                  1 2 10 0 0 6 10 2 8 26 30 0 1 3 6 0 0
                                  27 27 1 2 6 0 0 28 1 3 6 0 0 6 6 1 2
                                  6 0 0 29 1 2 0 26 0 0 1 2 9 26 6 0 1
                                  1 0 27 0 1 1 0 26 0 1 0 0 0 13 2 0 0
                                  0 32 1 2 0 6 0 11 24 3 0 6 0 11 6 1 2
                                  0 0 0 11 1 2 0 0 0 32 1 2 9 8 6 0 1 2
                                  8 8 30 0 1 3 10 0 0 0 11 1 1 0 0 0 1
                                  1 2 34 0 1 1 0 0 27 1 1 0 0 38 1 2 0
                                  0 6 0 1 2 0 0 0 0 1 2 0 0 0 6 1 1 1
                                  35 0 1 2 8 26 30 0 1 2 3 26 0 0 1 2 3
                                  26 0 0 1 2 1 26 0 0 1 2 3 26 0 0 1 2
                                  3 26 0 0 1 1 8 8 0 9)))))
          '|lookupComplete|)) 
