
(/VERSIONCHECK 2) 

(DEFUN |COMBINAT;partition;2I;1| (|n| $)
  (PROG (|s| |t| #1=#:G679 |u| |l| |k| #2=#:G685 |i| #3=#:G675 |m|)
    (RETURN
     (SEQ
      (COND
       ((NULL (EQL (SPADCALL (QREFELT $ 18) (QREFELT $ 20)) 0))
        (|error| "Partition: must have minIndex of 0"))
       ('T
        (SEQ
         (LETT |m| (SPADCALL (QREFELT $ 18) (QREFELT $ 21))
               . #4=(|COMBINAT;partition;2I;1|))
         (EXIT
          (COND
           ((SPADCALL |n| (|spadConstant| $ 7) (QREFELT $ 23))
            (|error| "partition is not defined for negative integers"))
           ((SPADCALL |n| (SPADCALL |m| (QREFELT $ 24)) (QREFELT $ 23))
            (SPADCALL (QREFELT $ 18) (SPADCALL |n| (QREFELT $ 25))
                      (QREFELT $ 26)))
           ('T
            (SEQ
             (SPADCALL (QREFELT $ 18)
                       (SPADCALL
                        (PROG1
                            (LETT #3#
                                  (-
                                   (SPADCALL
                                    (SPADCALL |n| (|spadConstant| $ 8)
                                              (QREFELT $ 27))
                                    (QREFELT $ 25))
                                   |m|)
                                  . #4#)
                          (|check-subtype| (>= #3# 0) '(|NonNegativeInteger|)
                                           #3#))
                        (|spadConstant| $ 7) (QREFELT $ 17))
                       (QREFELT $ 28))
             (SEQ (LETT |i| |m| . #4#)
                  (LETT #2# (SPADCALL |n| (QREFELT $ 25)) . #4#) G190
                  (COND ((> |i| #2#) (GO G191)))
                  (SEQ (LETT |s| (|spadConstant| $ 8) . #4#)
                       (LETT |t| (|spadConstant| $ 7) . #4#)
                       (SEQ
                        (EXIT
                         (SEQ (LETT |k| 1 . #4#) G190 NIL
                              (SEQ
                               (LETT |l|
                                     (QUOTIENT2
                                      (-
                                       (* (SPADCALL 3 |k| (QREFELT $ 30)) |k|)
                                       |k|)
                                      2)
                                     . #4#)
                               (EXIT
                                (COND
                                 ((< |i| |l|)
                                  (PROGN (LETT #1# |$NoValue| . #4#) (GO #1#)))
                                 ('T
                                  (SEQ (LETT |u| (+ |l| |k|) . #4#)
                                       (LETT |t|
                                             (SPADCALL |t|
                                                       (SPADCALL |s|
                                                                 (SPADCALL
                                                                  (QREFELT $
                                                                           18)
                                                                  (- |i| |l|)
                                                                  (QREFELT $
                                                                           26))
                                                                 (QREFELT $
                                                                          31))
                                                       (QREFELT $ 27))
                                             . #4#)
                                       (EXIT
                                        (COND
                                         ((< |i| |u|)
                                          (PROGN
                                           (LETT #1# |$NoValue| . #4#)
                                           (GO #1#)))
                                         ('T
                                          (SEQ
                                           (LETT |t|
                                                 (SPADCALL |t|
                                                           (SPADCALL |s|
                                                                     (SPADCALL
                                                                      (QREFELT
                                                                       $ 18)
                                                                      (- |i|
                                                                         |u|)
                                                                      (QREFELT
                                                                       $ 26))
                                                                     (QREFELT $
                                                                              31))
                                                           (QREFELT $ 27))
                                                 . #4#)
                                           (EXIT
                                            (LETT |s|
                                                  (SPADCALL |s| (QREFELT $ 32))
                                                  . #4#)))))))))))
                              (LETT |k| (QSADD1 |k|) . #4#) #5=(GO G190) G191
                              (EXIT NIL)))
                        #1# (EXIT #1#))
                       (EXIT (SPADCALL (QREFELT $ 18) |i| |t| (QREFELT $ 33))))
                  (LETT |i| (+ |i| 1) . #4#) #5# G191 (EXIT NIL))
             (EXIT
              (SPADCALL (QREFELT $ 18) (SPADCALL |n| (QREFELT $ 25))
                        (QREFELT $ 26)))))))))))))) 

(DEFUN |COMBINAT;factorial;2I;2| (|n| $)
  (PROG (|f| |t| #1=#:G692 |k| |s| |#G7|)
    (RETURN
     (SEQ
      (COND
       ((SPADCALL |n| (|spadConstant| $ 7) (QREFELT $ 23))
        (|error| "factorial not defined for negative integers"))
       (#2='T
        (SEQ
         (COND
          ((SPADCALL (QCAR (QREFELT $ 9)) |n| (QREFELT $ 23))
           (PROGN
            (LETT |#G7| (QREFELT $ 9) . #3=(|COMBINAT;factorial;2I;2|))
            (LETT |s| (QCAR |#G7|) . #3#)
            (LETT |f| (QCDR |#G7|) . #3#)
            |#G7|))
          (#2# (LETT |s| (LETT |f| (|spadConstant| $ 8) . #3#) . #3#)))
         (SEQ
          (LETT |k|
                (SPADCALL (SPADCALL |s| (|spadConstant| $ 8) (QREFELT $ 27))
                          (QREFELT $ 25))
                . #3#)
          (LETT #1# (SPADCALL |n| (QREFELT $ 25)) . #3#) G190
          (COND ((> |k| #1#) (GO G191)))
          (SEQ
           (COND
            ((SPADCALL (SPADCALL |k| (QREFELT $ 24)) |n| (QREFELT $ 35))
             (LETT |t| |n| . #3#))
            ('T
             (LETT |t|
                   (SPADCALL (SPADCALL |k| (QREFELT $ 24))
                             (SPADCALL (+ |k| 1) (QREFELT $ 24))
                             (QREFELT $ 31))
                   . #3#)))
           (EXIT (LETT |f| (SPADCALL |t| |f| (QREFELT $ 31)) . #3#)))
          (LETT |k| (+ |k| 2) . #3#) (GO G190) G191 (EXIT NIL))
         (PROGN (RPLACA (QREFELT $ 9) |n|) (QCAR (QREFELT $ 9)))
         (EXIT (PROGN (RPLACD (QREFELT $ 9) |f|) (QCDR (QREFELT $ 9))))))))))) 

(DEFUN |COMBINAT;binomial;3I;3| (|n| |m| $)
  (PROG (|b| #1=#:G703 |k| |s| |#G17| |#G16| #2=#:G702 |#G15| |#G14|)
    (RETURN
     (SEQ
      (EXIT
       (COND
        ((OR
          (OR (SPADCALL |n| (|spadConstant| $ 7) (QREFELT $ 23))
              (SPADCALL |m| (|spadConstant| $ 7) (QREFELT $ 23)))
          (SPADCALL |n| |m| (QREFELT $ 23)))
         (|spadConstant| $ 7))
        ('T
         (COND
          ((SPADCALL |m| (|spadConstant| $ 7) (QREFELT $ 35))
           (|spadConstant| $ 8))
          ((SPADCALL |n| (SPADCALL 2 |m| (QREFELT $ 37)) (QREFELT $ 23))
           (SPADCALL |n| (SPADCALL |n| |m| (QREFELT $ 38)) (QREFELT $ 39)))
          (#3='T
           (SEQ
            (PROGN
             (LETT |#G14| (|spadConstant| $ 7) . #4=(|COMBINAT;binomial;3I;3|))
             (LETT |#G15| (|spadConstant| $ 8) . #4#)
             (LETT |s| |#G14| . #4#)
             (LETT |b| |#G15| . #4#))
            (COND
             ((SPADCALL (QVELT (QREFELT $ 10) 0) |n| (QREFELT $ 35))
              (COND
               ((SPADCALL (QVELT (QREFELT $ 10) 1)
                          (SPADCALL |m| (|spadConstant| $ 8) (QREFELT $ 27))
                          (QREFELT $ 35))
                (SEQ
                 (LETT |b|
                       (SPADCALL
                        (SPADCALL (QVELT (QREFELT $ 10) 2)
                                  (SPADCALL |m| (|spadConstant| $ 8)
                                            (QREFELT $ 27))
                                  (QREFELT $ 31))
                        (SPADCALL |n| |m| (QREFELT $ 38)) (QREFELT $ 40))
                       . #4#)
                 (QSETVELT (QREFELT $ 10) 0 |n|)
                 (QSETVELT (QREFELT $ 10) 1 |m|)
                 (EXIT
                  (PROGN
                   (LETT #2# (QSETVELT (QREFELT $ 10) 2 |b|) . #4#)
                   (GO #2#)))))
               ((SPADCALL |m| (QVELT (QREFELT $ 10) 1) (QREFELT $ 23))
                (PROGN
                 (LETT |#G16| (|spadConstant| $ 7) . #4#)
                 (LETT |#G17| (|spadConstant| $ 8) . #4#)
                 (LETT |s| |#G16| . #4#)
                 (LETT |b| |#G17| . #4#)))
               (#3#
                (SEQ (LETT |s| (QVELT (QREFELT $ 10) 1) . #4#)
                     (EXIT (LETT |b| (QVELT (QREFELT $ 10) 2) . #4#)))))))
            (SEQ
             (LETT |k|
                   (SPADCALL (SPADCALL |s| (|spadConstant| $ 8) (QREFELT $ 27))
                             (QREFELT $ 25))
                   . #4#)
             (LETT #1# (SPADCALL |m| (QREFELT $ 25)) . #4#) G190
             (COND ((> |k| #1#) (GO G191)))
             (SEQ
              (EXIT
               (LETT |b|
                     (SPADCALL
                      (SPADCALL |b|
                                (SPADCALL
                                 (SPADCALL |n| (SPADCALL |k| (QREFELT $ 24))
                                           (QREFELT $ 38))
                                 (|spadConstant| $ 8) (QREFELT $ 27))
                                (QREFELT $ 31))
                      (SPADCALL |k| (QREFELT $ 24)) (QREFELT $ 40))
                     . #4#)))
             (LETT |k| (+ |k| 1) . #4#) (GO G190) G191 (EXIT NIL))
            (QSETVELT (QREFELT $ 10) 0 |n|) (QSETVELT (QREFELT $ 10) 1 |m|)
            (EXIT (QSETVELT (QREFELT $ 10) 2 |b|))))))))
      #2# (EXIT #2#))))) 

(DEFUN |COMBINAT;multinomial;ILI;4| (|n| |m| $)
  (PROG (|s| #1=#:G714 |t| #2=#:G706 #3=#:G705 #4=#:G707 #5=#:G713 #6=#:G661
         #7=#:G704 #8=#:G711 #9=#:G712)
    (RETURN
     (SEQ
      (EXIT
       (SEQ
        (SEQ
         (EXIT
          (SEQ (LETT |t| NIL . #10=(|COMBINAT;multinomial;ILI;4|))
               (LETT #9# |m| . #10#) G190
               (COND
                ((OR (ATOM #9#) (PROGN (LETT |t| (CAR #9#) . #10#) NIL))
                 #11=(GO G191)))
               (SEQ
                (EXIT
                 (COND
                  ((SPADCALL |t| (|spadConstant| $ 7) (QREFELT $ 23))
                   (PROGN
                    (LETT #7#
                          (PROGN
                           (LETT #8# (|spadConstant| $ 7) . #10#)
                           (GO #8#))
                          . #10#)
                    (GO #7#))))))
               (LETT #9# (CDR #9#) . #10#) #12=(GO G190) G191 (EXIT NIL)))
         #7# (EXIT #7#))
        (EXIT
         (COND
          ((SPADCALL |n|
                     (PROGN
                      (LETT #2# NIL . #10#)
                      (SEQ (LETT #6# NIL . #10#) (LETT #5# |m| . #10#) G190
                           (COND
                            ((OR (ATOM #5#)
                                 (PROGN (LETT #6# (CAR #5#) . #10#) NIL))
                             #11#))
                           (SEQ
                            (EXIT
                             (PROGN
                              (LETT #4# #6# . #10#)
                              (COND
                               (#2#
                                (LETT #3# (SPADCALL #3# #4# (QREFELT $ 27))
                                      . #10#))
                               ('T
                                (PROGN
                                 (LETT #3# #4# . #10#)
                                 (LETT #2# 'T . #10#)))))))
                           (LETT #5# (CDR #5#) . #10#) #12# G191 (EXIT NIL))
                      (COND (#2# #3#) (#13='T (|spadConstant| $ 7))))
                     (QREFELT $ 23))
           (|spadConstant| $ 7))
          (#13#
           (SEQ (LETT |s| (|spadConstant| $ 8) . #10#)
                (SEQ (LETT |t| NIL . #10#) (LETT #1# |m| . #10#) G190
                     (COND
                      ((OR (ATOM #1#) (PROGN (LETT |t| (CAR #1#) . #10#) NIL))
                       #11#))
                     (SEQ
                      (EXIT
                       (LETT |s|
                             (SPADCALL |s| (SPADCALL |t| (QREFELT $ 36))
                                       (QREFELT $ 31))
                             . #10#)))
                     (LETT #1# (CDR #1#) . #10#) #12# G191 (EXIT NIL))
                (EXIT
                 (SPADCALL (SPADCALL |n| (QREFELT $ 36)) |s|
                           (QREFELT $ 40)))))))))
      #8# (EXIT #8#))))) 

(DEFUN |COMBINAT;permutation;3I;5| (|n| |m| $)
  (PROG (|p| |t| #1=#:G719 |k|)
    (RETURN
     (SEQ
      (COND
       ((OR (SPADCALL |m| (|spadConstant| $ 7) (QREFELT $ 23))
            (SPADCALL |n| |m| (QREFELT $ 23)))
        (|spadConstant| $ 7))
       ('T
        (SEQ
         (LETT |m| (SPADCALL |n| |m| (QREFELT $ 38))
               . #2=(|COMBINAT;permutation;3I;5|))
         (LETT |p| (|spadConstant| $ 8) . #2#)
         (SEQ
          (LETT |k|
                (SPADCALL (SPADCALL |m| (|spadConstant| $ 8) (QREFELT $ 27))
                          (QREFELT $ 25))
                . #2#)
          (LETT #1# (SPADCALL |n| (QREFELT $ 25)) . #2#) G190
          (COND ((> |k| #1#) (GO G191)))
          (SEQ
           (COND
            ((SPADCALL (SPADCALL |k| (QREFELT $ 24)) |n| (QREFELT $ 35))
             (LETT |t| |n| . #2#))
            ('T (LETT |t| (SPADCALL (* |k| (+ |k| 1)) (QREFELT $ 24)) . #2#)))
           (EXIT (LETT |p| (SPADCALL |p| |t| (QREFELT $ 31)) . #2#)))
          (LETT |k| (+ |k| 2) . #2#) (GO G190) G191 (EXIT NIL))
         (EXIT |p|)))))))) 

(DEFUN |COMBINAT;stirling1;3I;6| (|n| |m| $)
  (PROG (#1=#:G722 #2=#:G727 |k| |x| #3=#:G720)
    (RETURN
     (SEQ
      (COND
       ((OR
         (OR (SPADCALL |n| (|spadConstant| $ 7) (QREFELT $ 23))
             (SPADCALL |m| (|spadConstant| $ 8) (QREFELT $ 23)))
         (SPADCALL |n| |m| (QREFELT $ 23)))
        (|spadConstant| $ 7))
       ('T
        (COND ((SPADCALL |m| |n| (QREFELT $ 35)) (|spadConstant| $ 8))
              ((SPADCALL (QCAR (QREFELT $ 13)) |n| (QREFELT $ 35))
               (SPADCALL (QCDR (QREFELT $ 13))
                         (PROG1
                             (LETT #3# (SPADCALL |m| (QREFELT $ 25))
                                   . #4=(|COMBINAT;stirling1;3I;6|))
                           (|check-subtype| (>= #3# 0) '(|NonNegativeInteger|)
                                            #3#))
                         (QREFELT $ 44)))
              ('T
               (SEQ
                (LETT |x| (SPADCALL (|spadConstant| $ 8) 1 (QREFELT $ 45))
                      . #4#)
                (PROGN (RPLACA (QREFELT $ 13) |n|) (QCAR (QREFELT $ 13)))
                (PROGN (RPLACD (QREFELT $ 13) |x|) (QCDR (QREFELT $ 13)))
                (SEQ (LETT |k| 1 . #4#)
                     (LETT #2#
                           (SPADCALL
                            (SPADCALL |n| (|spadConstant| $ 8) (QREFELT $ 38))
                            (QREFELT $ 25))
                           . #4#)
                     G190 (COND ((QSGREATERP |k| #2#) (GO G191)))
                     (SEQ
                      (EXIT
                       (PROGN
                        (RPLACD (QREFELT $ 13)
                                (SPADCALL (QCDR (QREFELT $ 13))
                                          (SPADCALL |x|
                                                    (SPADCALL |k|
                                                              (QREFELT $ 46))
                                                    (QREFELT $ 47))
                                          (QREFELT $ 48)))
                        (QCDR (QREFELT $ 13)))))
                     (LETT |k| (QSADD1 |k|) . #4#) (GO G190) G191 (EXIT NIL))
                (EXIT
                 (SPADCALL (QCDR (QREFELT $ 13))
                           (PROG1
                               (LETT #1# (SPADCALL |m| (QREFELT $ 25)) . #4#)
                             (|check-subtype| (>= #1# 0)
                                              '(|NonNegativeInteger|) #1#))
                           (QREFELT $ 44)))))))))))) 

(DEFUN |COMBINAT;stirling2;3I;7| (|n| |m| $)
  (PROG (|t| #1=#:G730 |s| #2=#:G735 |k|)
    (RETURN
     (SEQ
      (COND
       ((OR
         (OR (SPADCALL |n| (|spadConstant| $ 7) (QREFELT $ 23))
             (SPADCALL |m| (|spadConstant| $ 8) (QREFELT $ 23)))
         (SPADCALL |n| |m| (QREFELT $ 23)))
        (|spadConstant| $ 7))
       ((OR (SPADCALL |m| (|spadConstant| $ 8) (QREFELT $ 35))
            (SPADCALL |n| |m| (QREFELT $ 35)))
        (|spadConstant| $ 8))
       ('T
        (SEQ
         (LETT |s|
               (COND
                ((SPADCALL |m| (QREFELT $ 50))
                 (SPADCALL (|spadConstant| $ 8) (QREFELT $ 32)))
                ('T (|spadConstant| $ 8)))
               . #3=(|COMBINAT;stirling2;3I;7|))
         (LETT |t| (|spadConstant| $ 7) . #3#)
         (SEQ (LETT |k| 1 . #3#) (LETT #2# (SPADCALL |m| (QREFELT $ 25)) . #3#)
              G190 (COND ((QSGREATERP |k| #2#) (GO G191)))
              (SEQ (LETT |s| (SPADCALL |s| (QREFELT $ 32)) . #3#)
                   (EXIT
                    (LETT |t|
                          (SPADCALL |t|
                                    (SPADCALL
                                     (SPADCALL |s|
                                               (SPADCALL |m|
                                                         (SPADCALL |k|
                                                                   (QREFELT $
                                                                            24))
                                                         (QREFELT $ 39))
                                               (QREFELT $ 31))
                                     (SPADCALL (SPADCALL |k| (QREFELT $ 24))
                                               (PROG1
                                                   (LETT #1#
                                                         (SPADCALL |n|
                                                                   (QREFELT $
                                                                            25))
                                                         . #3#)
                                                 (|check-subtype| (>= #1# 0)
                                                                  '(|NonNegativeInteger|)
                                                                  #1#))
                                               (QREFELT $ 51))
                                     (QREFELT $ 31))
                                    (QREFELT $ 27))
                          . #3#)))
              (LETT |k| (QSADD1 |k|) . #3#) (GO G190) G191 (EXIT NIL))
         (EXIT
          (SPADCALL |t| (SPADCALL |m| (QREFELT $ 36)) (QREFELT $ 40)))))))))) 

(DEFUN |IntegerCombinatoricFunctions| (#1=#:G736)
  (PROG ()
    (RETURN
     (PROG (#2=#:G737)
       (RETURN
        (COND
         ((LETT #2#
                (|lassocShiftWithFunction| (LIST (|devaluate| #1#))
                                           (HGET |$ConstructorCache|
                                                 '|IntegerCombinatoricFunctions|)
                                           '|domainEqualList|)
                . #3=(|IntegerCombinatoricFunctions|))
          (|CDRwithIncrement| #2#))
         ('T
          (UNWIND-PROTECT
              (PROG1 (|IntegerCombinatoricFunctions;| #1#) (LETT #2# T . #3#))
            (COND
             ((NOT #2#)
              (HREM |$ConstructorCache|
                    '|IntegerCombinatoricFunctions|))))))))))) 

(DEFUN |IntegerCombinatoricFunctions;| (|#1|)
  (PROG (|pv$| $ |dv$| DV$1)
    (RETURN
     (PROGN
      (LETT DV$1 (|devaluate| |#1|) . #1=(|IntegerCombinatoricFunctions|))
      (LETT |dv$| (LIST '|IntegerCombinatoricFunctions| DV$1) . #1#)
      (LETT $ (GETREFV 53) . #1#)
      (QSETREFV $ 0 |dv$|)
      (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #1#))
      (|haddProp| |$ConstructorCache| '|IntegerCombinatoricFunctions|
                  (LIST DV$1) (CONS 1 $))
      (|stuffDomainSlots| $)
      (QSETREFV $ 6 |#1|)
      (QSETREFV $ 9 (CONS (|spadConstant| $ 7) (|spadConstant| $ 8)))
      (QSETREFV $ 10
                (VECTOR (|spadConstant| $ 7) (|spadConstant| $ 7)
                        (|spadConstant| $ 7)))
      (QSETREFV $ 13 (CONS (|spadConstant| $ 7) (|spadConstant| $ 12)))
      (QSETREFV $ 18 (SPADCALL 1 (|spadConstant| $ 8) (QREFELT $ 17)))
      $)))) 

(MAKEPROP '|IntegerCombinatoricFunctions| '|infovec|
          (LIST
           '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (0 . |Zero|) (4 . |One|)
              'F 'B (|SparseUnivariatePolynomial| 6) (8 . |Zero|) 'S
              (12 . |One|) (|NonNegativeInteger|)
              (|IndexedFlexibleArray| 6 (NRTEVAL 0)) (16 . |new|) 'P
              (|Integer|) (22 . |minIndex|) (27 . |#|) (|Boolean|) (32 . <)
              (38 . |coerce|) (43 . |convert|) (48 . |elt|) (54 . +)
              (60 . |concat!|) (|PositiveInteger|) (66 . *) (72 . *) (78 . -)
              (83 . |setelt|) |COMBINAT;partition;2I;1| (90 . =)
              |COMBINAT;factorial;2I;2| (96 . *) (102 . -)
              |COMBINAT;binomial;3I;3| (108 . |quo|) (|List| 6)
              |COMBINAT;multinomial;ILI;4| |COMBINAT;permutation;3I;5|
              (114 . |coefficient|) (120 . |monomial|) (126 . |coerce|)
              (131 . -) (137 . *) |COMBINAT;stirling1;3I;6| (143 . |odd?|)
              (148 . ^) |COMBINAT;stirling2;3I;7|)
           '#(|stirling2| 154 |stirling1| 160 |permutation| 166 |partition| 172
              |multinomial| 177 |factorial| 183 |binomial| 188)
           'NIL
           (CONS (|makeByteWordVec2| 1 'NIL)
                 (CONS '#()
                       (CONS '#()
                             (|makeByteWordVec2| 52
                                                 '(0 6 0 7 0 6 0 8 0 11 0 12 0
                                                   11 0 14 2 16 0 15 6 17 1 16
                                                   19 0 20 1 16 15 0 21 2 6 22
                                                   0 0 23 1 6 0 19 24 1 6 19 0
                                                   25 2 16 6 0 19 26 2 6 0 0 0
                                                   27 2 16 0 0 0 28 2 15 0 29 0
                                                   30 2 6 0 0 0 31 1 6 0 0 32 3
                                                   16 6 0 19 6 33 2 6 22 0 0 35
                                                   2 6 0 29 0 37 2 6 0 0 0 38 2
                                                   6 0 0 0 40 2 11 6 0 15 44 2
                                                   11 0 6 15 45 1 11 0 19 46 2
                                                   11 0 0 0 47 2 11 0 0 0 48 1
                                                   6 22 0 50 2 6 0 0 15 51 2 0
                                                   6 6 6 52 2 0 6 6 6 49 2 0 6
                                                   6 6 43 1 0 6 6 34 2 0 6 6 41
                                                   42 1 0 6 6 36 2 0 6 6 6
                                                   39)))))
           '|lookupComplete|)) 
