diff --git a/collects/compiler/cm.rkt b/collects/compiler/cm.rkt index 3eb84dda56..3d5745072f 100644 --- a/collects/compiler/cm.rkt +++ b/collects/compiler/cm.rkt @@ -31,12 +31,12 @@ (file-stamp-in-paths p (current-library-collection-paths))) (define (file-stamp-in-paths p paths) - (let ([p-eles (explode-path (simplify-path p))]) + (let ([p-eles (explode-path (simple-form-path p))]) (let c-loop ([paths paths]) (cond [(null? paths) #f] [else - (let i-loop ([collects-eles (explode-path (car paths))] + (let i-loop ([collects-eles (explode-path (simple-form-path (car paths)))] [p-eles p-eles]) (cond [(null? collects-eles) @@ -187,7 +187,7 @@ [v (cons (cons (delay v) dep) l)] [must-exist? (error 'cm "cannot find external-dependency file: ~v" p)] [else #f]))] - [(or (hash-ref up-to-date (simplify-path (cleanse-path p)) #f) + [(or (hash-ref up-to-date (simple-form-path p) #f) ;; Use `compiler-root' with `sha1-only?' as #t: (compile-root mode p up-to-date read-src-syntax #t)) => (lambda (sh) @@ -439,7 +439,7 @@ p))) (define (compile-root mode path0 up-to-date read-src-syntax sha1-only?) - (define orig-path (simplify-path (cleanse-path path0))) + (define orig-path (simple-form-path path0)) (define (read-deps path) (with-handlers ([exn:fail:filesystem? (lambda (ex) (list (version) '#f))]) (call-with-input-file diff --git a/collects/launcher/launcher-unit.rkt b/collects/launcher/launcher-unit.rkt index a20319c4aa..2a3ae3e35b 100644 --- a/collects/launcher/launcher-unit.rkt +++ b/collects/launcher/launcher-unit.rkt @@ -221,7 +221,7 @@ #rx"[\"`'$\\]" (if (path? s) (path->string s) s) "\\\\&")) (define (normalize+explode-path p) - (explode-path (normal-case-path (normalize-path p)))) + (explode-path (normal-case-path (simple-form-path p)))) (define (relativize bindir-explode dest-explode) (let loop ([b bindir-explode] [d dest-explode]) diff --git a/collects/planet/private/cmdline-tool.rkt b/collects/planet/private/cmdline-tool.rkt index cbf941447f..c2d7a2757c 100644 --- a/collects/planet/private/cmdline-tool.rkt +++ b/collects/planet/private/cmdline-tool.rkt @@ -8,6 +8,7 @@ PLANNED FEATURES: |# (require mzlib/string mzlib/file + (only racket/path simple-form-path) (only mzlib/list sort) net/url mzlib/match @@ -178,7 +179,7 @@ This command does not unpack or install the named .plt file." (define (install-plt-file filestr owner majstr minstr) (unless (file-exists? filestr) (fail "File does not exist: ~a" filestr)) - (let* ([file (normalize-path filestr)] + (let* ([file (simple-form-path filestr)] [name (let-values ([(base name dir?) (split-path file)]) (path->string name))] [fullspec (params->full-pkg-spec owner name majstr minstr)]) (install-pkg fullspec file (pkg-spec-maj fullspec) (pkg-spec-minor-lo fullspec)))) @@ -186,7 +187,7 @@ This command does not unpack or install the named .plt file." (define (do-archive p) (unless (directory-exists? p) (fail "No such directory: ~a" p)) - (make-planet-archive (normalize-path p))) + (make-planet-archive (simple-form-path p))) (define (remove owner pkg majstr minstr) (let ((maj (string->number majstr)) @@ -273,19 +274,19 @@ This command does not unpack or install the named .plt file." (define (do-unpack plt-file target) (unless (file-exists? plt-file) (fail (format "The specified file (~a) does not exist" plt-file))) - (let ([file (normalize-path plt-file)]) + (let ([file (simple-form-path plt-file)]) (unpack-planet-archive file target))) (define (do-structure plt-file) (unless (file-exists? plt-file) (fail (format "The specified file (~a) does not exist" plt-file))) - (let ([file (normalize-path plt-file)]) + (let ([file (simple-form-path plt-file)]) (display-plt-file-structure file))) (define (do-display plt-file file-to-print) (unless (file-exists? plt-file) (fail (format "The specified file (~a) does not exist" plt-file))) - (let ([file (normalize-path plt-file)]) + (let ([file (simple-form-path plt-file)]) (display-plt-archived-file file file-to-print))) ;; ------------------------------------------------------------ diff --git a/collects/planet/util.rkt b/collects/planet/util.rkt index 4ecd361c69..0951f61b34 100644 --- a/collects/planet/util.rkt +++ b/collects/planet/util.rkt @@ -159,10 +159,10 @@ #:exists 'truncate/replace))))) ;; subpath? : path path -> boolean -;; determines if p1 is a subpath of p2. Both paths must actually exist on the filesystem +;; determines if p1 is a subpath of p2. (define (subpath? p1 p2) - (let ([full-p1 (explode-path (normalize-path p1))] - [full-p2 (explode-path (normalize-path p2))]) + (let ([full-p1 (explode-path (simple-form-path p1))] + [full-p2 (explode-path (simple-form-path p2))]) (sublist? full-p1 full-p2 (o2 bytes=? path->bytes)))) ;; o2 : (X X -> Y) (Z -> X) -> (Z Z -> Y) @@ -353,11 +353,11 @@ (let-values ([(path name must-be-dir?) (split-path dir)]) (make-planet-archive dir - (build-path (normalize-path (current-directory)) + (build-path (current-directory) (string-append (path->string name) ".plt"))))] [(dir archive-name) - (let ([abs-dir (normalize-path dir)]) - (parameterize ((current-directory (normalize-path dir))) + (let ([abs-dir (simple-form-path dir)]) + (parameterize ((current-directory abs-dir)) (let ([announcements '()] [warnings '()] [critical-errors '()]) @@ -429,7 +429,7 @@ (λ (s) (fprintf (current-error-port) "WARNING:\n\t~a\n" s)) (reverse warnings)))) - (normalize-path archive-name))])) + (simple-form-path archive-name))])) (define (unpack-planet-archive plt-file target) (parameterize ([current-directory target]) @@ -816,8 +816,8 @@ ;; contains-dir? : path -> pkg -> boolean (define ((contains-dir? srcdir) alleged-superdir-pkg) - (let* ([nsrcdir (normalize-path srcdir)] - [nsuperdir (normalize-path (car alleged-superdir-pkg))] + (let* ([nsrcdir (simple-form-path srcdir)] + [nsuperdir (simple-form-path (car alleged-superdir-pkg))] [nsrclist (explode-path nsrcdir)] [nsuperlist (explode-path nsuperdir)]) (list-prefix? nsuperlist nsrclist))) diff --git a/collects/racket/sandbox.rkt b/collects/racket/sandbox.rkt index c08eaf7723..914f337d70 100644 --- a/collects/racket/sandbox.rkt +++ b/collects/racket/sandbox.rkt @@ -109,10 +109,10 @@ (define (simplify-path* path) (if (symbol? path) #f - (simplify-path (cleanse-path (path->complete-path - (cond [(bytes? path) (bytes->path path)] - [(string? path) (string->path path)] - [else path])))))) + (simple-form-path + (cond [(bytes? path) (bytes->path path)] + [(string? path) (string->path path)] + [else path])))) ;; 'read-bytecode is special, it's higher than 'read, but not lower than ;; 'delete. diff --git a/collects/scribblings/reference/paths.scrbl b/collects/scribblings/reference/paths.scrbl index 9c81b38e1a..9be542c5ff 100644 --- a/collects/scribblings/reference/paths.scrbl +++ b/collects/scribblings/reference/paths.scrbl @@ -344,8 +344,7 @@ expansion).} @defproc[(cleanse-path [path path-string?]) path]{ @techlink{Cleanse}s @racket[path] (as described at the beginning of -this section). The filesystem might be accessed, but the source or -expanded path might be a non-existent path.} +this chapter) without consulting the filesystem.} @defproc[(expand-user-path [path path-string?]) path]{ @@ -525,21 +524,26 @@ no extension, @racket[#f] is returned.} [path (or/c path-string? path-for-some-system?)]) path-for-some-system?]{ -Finds a relative pathname with respect to @racket[base] that names -the same file or directory as @racket[path]. Both @racket[base] -and @racket[path] must be simplified in the sense of -@racket[simple-form-path]. If @racket[path] is not a proper subpath -of @racket[base] (i.e., a subpath that is strictly longer), -@racket[path] is returned.} +Finds a relative pathname with respect to @racket[base] that names the +same file or directory as @racket[path]. Both @racket[base] and +@racket[path] must be simplified in the sense of @racket[simple-form-path]. If +@racket[path] is not a proper subpath of @racket[base] (i.e., a +subpath that is strictly longer), @racket[path] is returned.} @defproc[(normalize-path [path path-string?] [wrt (and/c path-string? complete-path?) (current-directory)]) path?]{ -Returns a normalized, complete version of @racket[path], expanding the -path and resolving all soft links. If @racket[path] is relative, then -@racket[wrt] is used as the base path. +@margin-note{For most purposes, @racket[simple-form-path] is the + preferred mechanism to normalize a path, because it works for paths + that include non-existent directory components, and it avoids + unnecessarily expanding soft links.} + +Returns a complete version of @racket[path] by making the path +complete, expanding the complete path, and resolving all soft links +(which requires consulting the filesystem). If @racket[path] is +relative, then @racket[wrt] is used as the base path. Letter case is @italic{not} normalized by @racket[normalize-path]. For this and other reasons, such as whether the path is syntactically a diff --git a/collects/setup/private/lib-roots.rkt b/collects/setup/private/lib-roots.rkt index 8a5066ba82..1c92326440 100644 --- a/collects/setup/private/lib-roots.rkt +++ b/collects/setup/private/lib-roots.rkt @@ -31,7 +31,7 @@ (reverse r) (let ([x (and (list? x) (= 7 (length x)) (list-ref x 4))]) (loop (if (bytes? x) - (cons (cons (simplify-path (bytes->path x) #f) 0) r) + (cons (cons (simple-form-path (bytes->path x)) 0) r) r)))))))))))) (define path->library-root @@ -44,7 +44,7 @@ (unless (complete-path? path) (raise-type-error 'path->library-root "complete-path" path)) (unless t (init-table)) - (let loop ([rpath (reverse (explode-path (simplify-path path #f)))] + (let loop ([rpath (reverse (explode-path (simple-form-path path)))] [subdir '()]) (let ([x (hash-ref t rpath #f)]) (cond [(and x ((length subdir) . >= . x)) diff --git a/collects/setup/private/omitted-paths.rkt b/collects/setup/private/omitted-paths.rkt index 10faa21af3..d1286488c0 100644 --- a/collects/setup/private/omitted-paths.rkt +++ b/collects/setup/private/omitted-paths.rkt @@ -49,7 +49,7 @@ (let ([omit (info 'compile-omit-paths (lambda () '()))]) (if (eq? 'all omit) 'all - (map (lambda (e) (explode-path (simplify-path e #f))) + (map (lambda (e) (explode-path (simplify-path e))) ;; for backward compatibility (append omit (info 'compile-omit-files (lambda () '()))))))) (cond @@ -86,7 +86,7 @@ (unless (and (path-string? dir) (complete-path? dir) (directory-exists? dir)) (raise-type-error 'omitted-paths "complete path to an existing directory" dir)) - (let* ([dir* (explode-path (simplify-path dir #f))] + (let* ([dir* (explode-path (simple-form-path dir))] [r (ormap (lambda (root+table) (let ([r (relative-from dir* (car root+table))]) (and r (cons (reverse r) root+table)))) diff --git a/collects/setup/setup-unit.rkt b/collects/setup/setup-unit.rkt index d3b0e871f4..5ebfbf41b5 100644 --- a/collects/setup/setup-unit.rkt +++ b/collects/setup/setup-unit.rkt @@ -404,8 +404,8 @@ (for ([path paths]) (let ([full-path (build-path (cc-path cc) path)]) (when (or (file-exists? full-path) (directory-exists? full-path)) - (let ([path (find-relative-path (simplify-path (cc-path cc) #f) - (simplify-path full-path #f))]) + (let ([path (find-relative-path (simple-form-path (cc-path cc)) + (simple-form-path full-path))]) (let loop ([path path]) (let-values ([(base name dir?) (split-path path)]) (cond @@ -522,7 +522,7 @@ [doing-path (lambda (path) (unless (verbose) (let ([path (normal-case-path (path-only path))]) - (unless (hash-ref dir-table path (lambda () #f)) + (unless (hash-ref dir-table path #f) (hash-set! dir-table path #t) (print-verbose oop path)))))]) (parameterize ([current-output-port (if (verbose) (current-output-port) (open-output-nowhere))] @@ -888,7 +888,7 @@ '()))) (current-library-collection-paths - (map (lambda (p) (simplify-path p #f)) (current-library-collection-paths))) + (map simple-form-path (current-library-collection-paths))) (setup-printf "version" "~a [~a]" (version) (system-type 'gc)) (setup-printf "variants" "~a" (string-join (map symbol->string (available-mzscheme-variants)) ", ")) diff --git a/src/racket/src/cstartup.inc b/src/racket/src/cstartup.inc index 2a9520f0e7..da65d5aa9f 100644 --- a/src/racket/src/cstartup.inc +++ b/src/racket/src/cstartup.inc @@ -1,754 +1,754 @@ { - SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,8,52,46,50,46,53,46,49,54,51,0,0,0,1,0,0,10,0,13, -0,22,0,26,0,33,0,36,0,41,0,48,0,61,0,66,0,71,0,78,0, -82,0,88,0,102,0,116,0,119,0,125,0,129,0,131,0,142,0,144,0,158, -0,165,0,187,0,189,0,203,0,14,1,43,1,54,1,65,1,75,1,111,1, -144,1,177,1,236,1,46,2,124,2,190,2,195,2,215,2,106,3,126,3,177, -3,243,3,128,4,14,5,66,5,89,5,168,5,0,0,109,7,0,0,69,35, -37,109,105,110,45,115,116,120,29,11,11,68,104,101,114,101,45,115,116,120,63, -108,101,116,66,100,101,102,105,110,101,62,111,114,64,108,101,116,42,66,117,110, -108,101,115,115,72,112,97,114,97,109,101,116,101,114,105,122,101,64,99,111,110, -100,64,119,104,101,110,66,108,101,116,114,101,99,63,97,110,100,65,113,117,111, -116,101,29,94,2,14,68,35,37,107,101,114,110,101,108,11,29,94,2,14,68, -35,37,112,97,114,97,109,122,11,62,105,102,65,98,101,103,105,110,63,115,116, -120,61,115,70,108,101,116,45,118,97,108,117,101,115,61,120,73,108,101,116,114, -101,99,45,118,97,108,117,101,115,66,108,97,109,98,100,97,1,20,112,97,114, -97,109,101,116,101,114,105,122,97,116,105,111,110,45,107,101,121,61,118,73,100, -101,102,105,110,101,45,118,97,108,117,101,115,97,36,11,8,240,251,80,0,0, -95,159,2,16,36,36,159,2,15,36,36,159,2,15,36,36,16,20,2,4,2, -2,2,5,2,2,2,12,2,2,2,6,2,2,2,7,2,2,2,8,2,2, -2,9,2,2,2,10,2,2,2,11,2,2,2,13,2,2,97,37,11,8,240, -251,80,0,0,93,159,2,15,36,37,16,2,2,3,161,2,2,37,2,3,2, -2,2,3,96,11,11,8,240,251,80,0,0,16,0,96,38,11,8,240,251,80, -0,0,16,0,13,16,4,36,29,11,11,2,2,11,18,16,2,99,64,104,101, -114,101,8,32,8,31,8,30,8,29,8,28,93,8,224,2,81,0,0,95,9, -8,224,2,81,0,0,2,2,27,248,22,147,4,195,249,22,140,4,80,158,39, -36,251,22,81,2,17,248,22,96,199,12,249,22,71,2,18,248,22,98,201,27, -248,22,147,4,195,249,22,140,4,80,158,39,36,251,22,81,2,17,248,22,96, -199,249,22,71,2,18,248,22,98,201,12,27,248,22,73,248,22,147,4,196,28, -248,22,79,193,20,15,159,37,36,37,28,248,22,79,248,22,73,194,248,22,72, -193,249,22,140,4,80,158,39,36,251,22,81,2,17,248,22,72,199,249,22,71, -2,13,248,22,73,201,11,18,16,2,101,10,8,32,8,31,8,30,8,29,8, -28,16,4,11,11,2,19,3,1,8,101,110,118,49,50,55,53,48,16,4,11, -11,2,20,3,1,8,101,110,118,49,50,55,53,49,93,8,224,3,81,0,0, -95,9,8,224,3,81,0,0,2,2,27,248,22,73,248,22,147,4,196,28,248, + SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,53,46,48,46,48,46,49,51,0,0,0,1,0,0,10,0,13,0, +22,0,26,0,33,0,36,0,41,0,48,0,61,0,66,0,71,0,78,0,82, +0,88,0,102,0,116,0,119,0,125,0,129,0,131,0,142,0,144,0,158,0, +165,0,187,0,189,0,203,0,14,1,43,1,54,1,65,1,75,1,111,1,144, +1,177,1,236,1,46,2,124,2,190,2,195,2,215,2,106,3,126,3,177,3, +243,3,128,4,14,5,66,5,89,5,168,5,0,0,109,7,0,0,69,35,37, +109,105,110,45,115,116,120,29,11,11,68,104,101,114,101,45,115,116,120,63,108, +101,116,66,100,101,102,105,110,101,62,111,114,64,108,101,116,42,66,117,110,108, +101,115,115,72,112,97,114,97,109,101,116,101,114,105,122,101,64,99,111,110,100, +64,119,104,101,110,66,108,101,116,114,101,99,63,97,110,100,65,113,117,111,116, +101,29,94,2,14,68,35,37,107,101,114,110,101,108,11,29,94,2,14,68,35, +37,112,97,114,97,109,122,11,62,105,102,65,98,101,103,105,110,63,115,116,120, +61,115,70,108,101,116,45,118,97,108,117,101,115,61,120,73,108,101,116,114,101, +99,45,118,97,108,117,101,115,66,108,97,109,98,100,97,1,20,112,97,114,97, +109,101,116,101,114,105,122,97,116,105,111,110,45,107,101,121,61,118,73,100,101, +102,105,110,101,45,118,97,108,117,101,115,97,36,11,8,240,128,81,0,0,95, +159,2,16,36,36,159,2,15,36,36,159,2,15,36,36,16,20,2,4,2,2, +2,5,2,2,2,12,2,2,2,6,2,2,2,7,2,2,2,8,2,2,2, +9,2,2,2,10,2,2,2,11,2,2,2,13,2,2,97,37,11,8,240,128, +81,0,0,93,159,2,15,36,37,16,2,2,3,161,2,2,37,2,3,2,2, +2,3,96,38,11,8,240,128,81,0,0,16,0,96,11,11,8,240,128,81,0, +0,16,0,13,16,4,36,29,11,11,2,2,11,18,16,2,99,64,104,101,114, +101,8,32,8,31,8,30,8,29,8,28,93,8,224,135,81,0,0,95,9,8, +224,135,81,0,0,2,2,27,248,22,147,4,195,249,22,140,4,80,158,39,36, +251,22,81,2,17,248,22,96,199,12,249,22,71,2,18,248,22,98,201,27,248, +22,147,4,195,249,22,140,4,80,158,39,36,251,22,81,2,17,248,22,96,199, +249,22,71,2,18,248,22,98,201,12,27,248,22,73,248,22,147,4,196,28,248, 22,79,193,20,15,159,37,36,37,28,248,22,79,248,22,73,194,248,22,72,193, -249,22,140,4,80,158,39,36,250,22,81,2,21,248,22,81,249,22,81,248,22, -81,2,22,248,22,72,201,251,22,81,2,17,2,22,2,22,249,22,71,2,6, -248,22,73,204,18,16,2,101,11,8,32,8,31,8,30,8,29,8,28,16,4, -11,11,2,19,3,1,8,101,110,118,49,50,55,53,51,16,4,11,11,2,20, -3,1,8,101,110,118,49,50,55,53,52,93,8,224,4,81,0,0,95,9,8, -224,4,81,0,0,2,2,248,22,147,4,193,27,248,22,147,4,194,249,22,71, -248,22,81,248,22,72,196,248,22,73,195,27,248,22,73,248,22,147,4,23,197, -1,249,22,140,4,80,158,39,36,28,248,22,56,248,22,141,4,248,22,72,23, -198,2,27,249,22,2,32,0,89,162,8,44,37,43,9,222,33,40,248,22,147, -4,248,22,96,23,200,2,250,22,81,2,23,248,22,81,249,22,81,248,22,81, -248,22,72,23,204,2,250,22,82,2,24,249,22,2,22,72,23,204,2,248,22, -98,23,206,2,249,22,71,248,22,72,23,202,1,249,22,2,22,96,23,200,1, -250,22,82,2,21,249,22,2,32,0,89,162,8,44,37,47,9,222,33,41,248, -22,147,4,248,22,72,201,248,22,73,198,27,248,22,147,4,194,249,22,71,248, +249,22,140,4,80,158,39,36,251,22,81,2,17,248,22,72,199,249,22,71,2, +13,248,22,73,201,11,18,16,2,101,10,8,32,8,31,8,30,8,29,8,28, +16,4,11,11,2,19,3,1,8,101,110,118,49,50,56,50,48,16,4,11,11, +2,20,3,1,8,101,110,118,49,50,56,50,49,93,8,224,136,81,0,0,95, +9,8,224,136,81,0,0,2,2,27,248,22,73,248,22,147,4,196,28,248,22, +79,193,20,15,159,37,36,37,28,248,22,79,248,22,73,194,248,22,72,193,249, +22,140,4,80,158,39,36,250,22,81,2,21,248,22,81,249,22,81,248,22,81, +2,22,248,22,72,201,251,22,81,2,17,2,22,2,22,249,22,71,2,6,248, +22,73,204,18,16,2,101,11,8,32,8,31,8,30,8,29,8,28,16,4,11, +11,2,19,3,1,8,101,110,118,49,50,56,50,51,16,4,11,11,2,20,3, +1,8,101,110,118,49,50,56,50,52,93,8,224,137,81,0,0,95,9,8,224, +137,81,0,0,2,2,248,22,147,4,193,27,248,22,147,4,194,249,22,71,248, 22,81,248,22,72,196,248,22,73,195,27,248,22,73,248,22,147,4,23,197,1, -249,22,140,4,80,158,39,36,250,22,82,2,23,249,22,2,32,0,89,162,8, -44,37,47,9,222,33,43,248,22,147,4,248,22,72,201,248,22,73,198,27,248, -22,73,248,22,147,4,196,27,248,22,147,4,248,22,72,195,249,22,140,4,80, -158,40,36,28,248,22,79,195,250,22,82,2,21,9,248,22,73,199,250,22,81, -2,4,248,22,81,248,22,72,199,250,22,82,2,7,248,22,73,201,248,22,73, -202,27,248,22,73,248,22,147,4,23,197,1,27,249,22,1,22,85,249,22,2, -22,147,4,248,22,147,4,248,22,72,199,249,22,140,4,80,158,40,36,251,22, -81,1,22,119,105,116,104,45,99,111,110,116,105,110,117,97,116,105,111,110,45, -109,97,114,107,2,25,250,22,82,1,23,101,120,116,101,110,100,45,112,97,114, -97,109,101,116,101,114,105,122,97,116,105,111,110,21,95,1,27,99,111,110,116, -105,110,117,97,116,105,111,110,45,109,97,114,107,45,115,101,116,45,102,105,114, -115,116,11,2,25,201,250,22,82,2,21,9,248,22,73,203,27,248,22,73,248, -22,147,4,196,28,248,22,79,193,20,15,159,37,36,37,249,22,140,4,80,158, -39,36,27,248,22,147,4,248,22,72,197,28,249,22,182,8,62,61,62,248,22, -141,4,248,22,96,196,250,22,81,2,21,248,22,81,249,22,81,21,93,2,26, -248,22,72,199,250,22,82,2,10,249,22,81,2,26,249,22,81,248,22,105,203, -2,26,248,22,73,202,251,22,81,2,17,28,249,22,182,8,248,22,141,4,248, -22,72,200,64,101,108,115,101,10,248,22,72,197,250,22,82,2,21,9,248,22, -73,200,249,22,71,2,10,248,22,73,202,100,8,32,8,31,8,30,8,29,8, -28,16,4,11,11,2,19,3,1,8,101,110,118,49,50,55,55,54,16,4,11, -11,2,20,3,1,8,101,110,118,49,50,55,55,55,93,8,224,5,81,0,0, -18,16,2,158,94,10,64,118,111,105,100,8,48,95,9,8,224,5,81,0,0, -2,2,27,248,22,73,248,22,147,4,196,249,22,140,4,80,158,39,36,28,248, -22,56,248,22,141,4,248,22,72,197,250,22,81,2,27,248,22,81,248,22,72, -199,248,22,96,198,27,248,22,141,4,248,22,72,197,250,22,81,2,27,248,22, -81,248,22,72,197,250,22,82,2,24,248,22,73,199,248,22,73,202,159,36,20, -105,159,36,16,1,11,16,0,83,158,42,20,103,145,2,1,2,1,2,2,11, -11,11,10,36,80,158,36,36,20,105,159,36,16,0,16,0,16,1,2,3,37, -16,0,36,16,0,36,11,11,39,36,11,11,11,16,10,2,4,2,5,2,6, -2,7,2,8,2,9,2,10,2,11,2,12,2,13,16,10,11,11,11,11,11, -11,11,11,11,11,16,10,2,4,2,5,2,6,2,7,2,8,2,9,2,10, -2,11,2,12,2,13,36,46,37,11,11,11,16,0,16,0,16,0,36,36,11, -11,11,11,16,0,16,0,16,0,36,36,16,11,16,5,2,3,20,15,159,36, -36,36,36,20,105,159,36,16,0,16,1,33,33,10,16,5,2,8,89,162,8, -44,37,53,9,223,0,33,34,36,20,105,159,36,16,1,2,3,16,0,11,16, -5,2,11,89,162,8,44,37,53,9,223,0,33,35,36,20,105,159,36,16,1, -2,3,16,0,11,16,5,2,13,89,162,8,44,37,53,9,223,0,33,36,36, -20,105,159,36,16,1,2,3,16,1,33,37,11,16,5,2,6,89,162,8,44, -37,56,9,223,0,33,38,36,20,105,159,36,16,1,2,3,16,1,33,39,11, -16,5,2,4,89,162,8,44,37,58,9,223,0,33,42,36,20,105,159,36,16, -1,2,3,16,0,11,16,5,2,12,89,162,8,44,37,53,9,223,0,33,44, -36,20,105,159,36,16,1,2,3,16,0,11,16,5,2,7,89,162,8,44,37, -54,9,223,0,33,45,36,20,105,159,36,16,1,2,3,16,0,11,16,5,2, -9,89,162,8,44,37,55,9,223,0,33,46,36,20,105,159,36,16,1,2,3, -16,0,11,16,5,2,10,89,162,8,44,37,58,9,223,0,33,47,36,20,105, -159,36,16,1,2,3,16,1,33,49,11,16,5,2,5,89,162,8,44,37,54, -9,223,0,33,50,36,20,105,159,36,16,1,2,3,16,0,11,16,0,94,2, -15,2,16,93,2,15,9,9,36,0}; - EVAL_ONE_SIZED_STR((char *)expr, 2025); +249,22,140,4,80,158,39,36,28,248,22,56,248,22,141,4,248,22,72,23,198, +2,27,249,22,2,32,0,89,162,8,44,37,43,9,222,33,40,248,22,147,4, +248,22,96,23,200,2,250,22,81,2,23,248,22,81,249,22,81,248,22,81,248, +22,72,23,204,2,250,22,82,2,24,249,22,2,22,72,23,204,2,248,22,98, +23,206,2,249,22,71,248,22,72,23,202,1,249,22,2,22,96,23,200,1,250, +22,82,2,21,249,22,2,32,0,89,162,8,44,37,47,9,222,33,41,248,22, +147,4,248,22,72,201,248,22,73,198,27,248,22,147,4,194,249,22,71,248,22, +81,248,22,72,196,248,22,73,195,27,248,22,73,248,22,147,4,23,197,1,249, +22,140,4,80,158,39,36,250,22,82,2,23,249,22,2,32,0,89,162,8,44, +37,47,9,222,33,43,248,22,147,4,248,22,72,201,248,22,73,198,27,248,22, +73,248,22,147,4,196,27,248,22,147,4,248,22,72,195,249,22,140,4,80,158, +40,36,28,248,22,79,195,250,22,82,2,21,9,248,22,73,199,250,22,81,2, +4,248,22,81,248,22,72,199,250,22,82,2,7,248,22,73,201,248,22,73,202, +27,248,22,73,248,22,147,4,23,197,1,27,249,22,1,22,85,249,22,2,22, +147,4,248,22,147,4,248,22,72,199,249,22,140,4,80,158,40,36,251,22,81, +1,22,119,105,116,104,45,99,111,110,116,105,110,117,97,116,105,111,110,45,109, +97,114,107,2,25,250,22,82,1,23,101,120,116,101,110,100,45,112,97,114,97, +109,101,116,101,114,105,122,97,116,105,111,110,21,95,1,27,99,111,110,116,105, +110,117,97,116,105,111,110,45,109,97,114,107,45,115,101,116,45,102,105,114,115, +116,11,2,25,201,250,22,82,2,21,9,248,22,73,203,27,248,22,73,248,22, +147,4,196,28,248,22,79,193,20,15,159,37,36,37,249,22,140,4,80,158,39, +36,27,248,22,147,4,248,22,72,197,28,249,22,182,8,62,61,62,248,22,141, +4,248,22,96,196,250,22,81,2,21,248,22,81,249,22,81,21,93,2,26,248, +22,72,199,250,22,82,2,10,249,22,81,2,26,249,22,81,248,22,105,203,2, +26,248,22,73,202,251,22,81,2,17,28,249,22,182,8,248,22,141,4,248,22, +72,200,64,101,108,115,101,10,248,22,72,197,250,22,82,2,21,9,248,22,73, +200,249,22,71,2,10,248,22,73,202,100,8,32,8,31,8,30,8,29,8,28, +16,4,11,11,2,19,3,1,8,101,110,118,49,50,56,52,54,16,4,11,11, +2,20,3,1,8,101,110,118,49,50,56,52,55,93,8,224,138,81,0,0,18, +16,2,158,94,10,64,118,111,105,100,8,48,95,9,8,224,138,81,0,0,2, +2,27,248,22,73,248,22,147,4,196,249,22,140,4,80,158,39,36,28,248,22, +56,248,22,141,4,248,22,72,197,250,22,81,2,27,248,22,81,248,22,72,199, +248,22,96,198,27,248,22,141,4,248,22,72,197,250,22,81,2,27,248,22,81, +248,22,72,197,250,22,82,2,24,248,22,73,199,248,22,73,202,159,36,20,105, +159,36,16,1,11,16,0,83,158,42,20,103,145,2,1,2,1,2,2,11,11, +11,10,36,80,158,36,36,20,105,159,36,16,0,16,0,16,1,2,3,37,16, +0,36,16,0,36,11,11,39,36,11,11,11,16,10,2,4,2,5,2,6,2, +7,2,8,2,9,2,10,2,11,2,12,2,13,16,10,11,11,11,11,11,11, +11,11,11,11,16,10,2,4,2,5,2,6,2,7,2,8,2,9,2,10,2, +11,2,12,2,13,36,46,37,11,11,11,16,0,16,0,16,0,36,36,11,11, +11,11,16,0,16,0,16,0,36,36,16,11,16,5,2,3,20,15,159,36,36, +36,36,20,105,159,36,16,0,16,1,33,33,10,16,5,2,8,89,162,8,44, +37,53,9,223,0,33,34,36,20,105,159,36,16,1,2,3,16,0,11,16,5, +2,11,89,162,8,44,37,53,9,223,0,33,35,36,20,105,159,36,16,1,2, +3,16,0,11,16,5,2,13,89,162,8,44,37,53,9,223,0,33,36,36,20, +105,159,36,16,1,2,3,16,1,33,37,11,16,5,2,6,89,162,8,44,37, +56,9,223,0,33,38,36,20,105,159,36,16,1,2,3,16,1,33,39,11,16, +5,2,4,89,162,8,44,37,58,9,223,0,33,42,36,20,105,159,36,16,1, +2,3,16,0,11,16,5,2,12,89,162,8,44,37,53,9,223,0,33,44,36, +20,105,159,36,16,1,2,3,16,0,11,16,5,2,7,89,162,8,44,37,54, +9,223,0,33,45,36,20,105,159,36,16,1,2,3,16,0,11,16,5,2,9, +89,162,8,44,37,55,9,223,0,33,46,36,20,105,159,36,16,1,2,3,16, +0,11,16,5,2,10,89,162,8,44,37,58,9,223,0,33,47,36,20,105,159, +36,16,1,2,3,16,1,33,49,11,16,5,2,5,89,162,8,44,37,54,9, +223,0,33,50,36,20,105,159,36,16,1,2,3,16,0,11,16,0,94,2,15, +2,16,93,2,15,9,9,36,0}; + EVAL_ONE_SIZED_STR((char *)expr, 2024); } { - SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,8,52,46,50,46,53,46,49,54,65,0,0,0,1,0,0,8,0,21, -0,26,0,43,0,58,0,76,0,92,0,102,0,120,0,140,0,156,0,174,0, -205,0,234,0,0,1,14,1,20,1,34,1,39,1,49,1,57,1,85,1,117, -1,123,1,168,1,213,1,237,1,20,2,22,2,188,2,22,4,63,4,136,5, -222,5,52,6,151,6,235,6,248,6,113,7,215,7,227,7,77,9,91,9,236, -9,221,10,203,11,210,11,218,11,226,11,95,12,109,12,94,14,196,14,218,14, -234,14,182,16,29,17,43,17,125,18,62,20,71,20,80,20,106,20,217,20,0, -0,206,23,0,0,67,35,37,117,116,105,108,115,72,112,97,116,104,45,115,116, -114,105,110,103,63,64,98,115,98,115,76,110,111,114,109,97,108,45,99,97,115, -101,45,112,97,116,104,74,45,99,104,101,99,107,45,114,101,108,112,97,116,104, -77,45,99,104,101,99,107,45,99,111,108,108,101,99,116,105,111,110,75,99,111, -108,108,101,99,116,105,111,110,45,112,97,116,104,69,45,102,105,110,100,45,99, -111,108,77,99,104,101,99,107,45,115,117,102,102,105,120,45,99,97,108,108,79, -112,97,116,104,45,114,101,112,108,97,99,101,45,115,117,102,102,105,120,75,112, -97,116,104,45,97,100,100,45,115,117,102,102,105,120,77,108,111,97,100,47,117, -115,101,45,99,111,109,112,105,108,101,100,1,29,102,105,110,100,45,108,105,98, -114,97,114,121,45,99,111,108,108,101,99,116,105,111,110,45,112,97,116,104,115, -1,27,112,97,116,104,45,108,105,115,116,45,115,116,114,105,110,103,45,62,112, -97,116,104,45,108,105,115,116,1,20,102,105,110,100,45,101,120,101,99,117,116, -97,98,108,101,45,112,97,116,104,73,101,109,98,101,100,100,101,100,45,108,111, -97,100,65,113,117,111,116,101,29,94,2,17,68,35,37,112,97,114,97,109,122, -11,64,108,111,111,112,69,101,120,101,99,45,102,105,108,101,67,119,105,110,100, -111,119,115,6,25,25,112,97,116,104,32,111,114,32,118,97,108,105,100,45,112, -97,116,104,32,115,116,114,105,110,103,6,29,29,126,97,58,32,105,110,118,97, -108,105,100,32,114,101,108,97,116,105,118,101,32,112,97,116,104,58,32,126,115, -65,99,108,111,111,112,6,42,42,126,97,58,32,99,111,108,108,101,99,116,105, -111,110,32,110,111,116,32,102,111,117,110,100,58,32,126,115,32,105,110,32,97, -110,121,32,111,102,58,32,126,115,6,42,42,112,97,116,104,32,40,102,111,114, -32,97,110,121,32,115,121,115,116,101,109,41,32,111,114,32,118,97,108,105,100, -45,112,97,116,104,32,115,116,114,105,110,103,6,21,21,115,116,114,105,110,103, -32,111,114,32,98,121,116,101,32,115,116,114,105,110,103,6,36,36,99,97,110, -110,111,116,32,97,100,100,32,97,32,115,117,102,102,105,120,32,116,111,32,97, -32,114,111,111,116,32,112,97,116,104,58,32,5,0,27,20,14,159,80,159,37, -51,38,250,80,159,40,52,38,249,22,27,11,80,159,42,51,38,22,154,13,10, -248,22,173,5,23,196,2,28,248,22,170,6,23,194,2,12,87,94,248,22,188, -8,23,194,1,27,20,14,159,80,159,38,51,38,250,80,159,41,52,38,249,22, -27,11,80,159,43,51,38,22,154,13,10,248,22,173,5,23,197,2,28,248,22, -170,6,23,194,2,12,87,94,248,22,188,8,23,194,1,27,20,14,159,80,159, -39,51,38,250,80,159,42,52,38,249,22,27,11,80,159,44,51,38,22,154,13, -10,248,22,173,5,23,198,2,28,248,22,170,6,23,194,2,12,87,94,248,22, -188,8,23,194,1,248,80,159,40,54,37,197,28,248,22,79,23,195,2,9,27, -248,22,72,23,196,2,27,28,248,22,138,14,23,195,2,23,194,1,28,248,22, -137,14,23,195,2,249,22,139,14,23,196,1,250,80,158,43,49,248,22,154,14, -2,20,11,10,250,80,158,41,49,248,22,154,14,2,20,23,197,1,10,28,23, -193,2,249,22,71,248,22,141,14,249,22,139,14,23,198,1,247,22,155,14,27, -248,22,73,23,200,1,28,248,22,79,23,194,2,9,27,248,22,72,23,195,2, -27,28,248,22,138,14,23,195,2,23,194,1,28,248,22,137,14,23,195,2,249, -22,139,14,23,196,1,250,80,158,48,49,248,22,154,14,2,20,11,10,250,80, -158,46,49,248,22,154,14,2,20,23,197,1,10,28,23,193,2,249,22,71,248, -22,141,14,249,22,139,14,23,198,1,247,22,155,14,248,80,159,46,53,37,248, -22,73,23,199,1,87,94,23,193,1,248,80,159,44,53,37,248,22,73,23,197, -1,87,94,23,193,1,27,248,22,73,23,198,1,28,248,22,79,23,194,2,9, -27,248,22,72,23,195,2,27,28,248,22,138,14,23,195,2,23,194,1,28,248, -22,137,14,23,195,2,249,22,139,14,23,196,1,250,80,158,46,49,248,22,154, -14,2,20,11,10,250,80,158,44,49,248,22,154,14,2,20,23,197,1,10,28, -23,193,2,249,22,71,248,22,141,14,249,22,139,14,23,198,1,247,22,155,14, -248,80,159,44,53,37,248,22,73,23,199,1,248,80,159,42,53,37,248,22,73, -196,27,248,22,178,13,23,195,2,28,23,193,2,192,87,94,23,193,1,28,248, -22,175,6,23,195,2,27,248,22,136,14,195,28,192,192,248,22,137,14,195,11, -87,94,28,28,248,22,179,13,23,195,2,10,28,248,22,178,13,23,195,2,10, -28,248,22,175,6,23,195,2,28,248,22,136,14,23,195,2,10,248,22,137,14, -23,195,2,11,12,250,22,152,9,76,110,111,114,109,97,108,45,112,97,116,104, -45,99,97,115,101,6,42,42,112,97,116,104,32,40,102,111,114,32,97,110,121, -32,115,121,115,116,101,109,41,32,111,114,32,118,97,108,105,100,45,112,97,116, -104,32,115,116,114,105,110,103,23,197,2,28,28,248,22,179,13,23,195,2,249, -22,182,8,248,22,180,13,23,197,2,2,21,249,22,182,8,247,22,131,8,2, -21,27,28,248,22,175,6,23,196,2,23,195,2,248,22,185,7,248,22,183,13, -23,197,2,28,249,22,169,14,0,21,35,114,120,34,94,91,92,92,93,91,92, -92,93,91,63,93,91,92,92,93,34,23,195,2,28,248,22,175,6,195,248,22, -186,13,195,194,27,248,22,150,7,23,195,1,249,22,187,13,248,22,188,7,250, -22,177,14,0,6,35,114,120,34,47,34,28,249,22,169,14,0,22,35,114,120, -34,91,47,92,92,93,91,46,32,93,43,91,47,92,92,93,42,36,34,23,201, -2,23,199,1,250,22,177,14,0,19,35,114,120,34,91,32,46,93,43,40,91, -47,92,92,93,42,41,36,34,23,202,1,6,2,2,92,49,80,159,44,37,38, -2,21,28,248,22,175,6,194,248,22,186,13,194,193,87,94,28,28,248,22,178, -13,23,195,2,10,28,248,22,175,6,23,195,2,28,248,22,136,14,23,195,2, -10,248,22,137,14,23,195,2,11,12,250,22,152,9,23,196,2,2,22,23,197, -2,28,248,22,136,14,23,195,2,12,248,22,130,12,249,22,136,11,248,22,140, -7,250,22,159,7,2,23,23,200,1,23,201,1,247,22,23,87,94,28,28,248, -22,178,13,23,195,2,10,28,248,22,175,6,23,195,2,28,248,22,136,14,23, -195,2,10,248,22,137,14,23,195,2,11,12,250,22,152,9,23,196,2,2,22, -23,197,2,28,248,22,136,14,23,195,2,12,248,22,130,12,249,22,136,11,248, -22,140,7,250,22,159,7,2,23,23,200,1,23,201,1,247,22,23,87,94,87, -94,28,28,248,22,178,13,23,195,2,10,28,248,22,175,6,23,195,2,28,248, -22,136,14,23,195,2,10,248,22,137,14,23,195,2,11,12,250,22,152,9,195, -2,22,23,197,2,28,248,22,136,14,23,195,2,12,248,22,130,12,249,22,136, -11,248,22,140,7,250,22,159,7,2,23,199,23,201,1,247,22,23,249,22,3, -89,162,8,44,37,50,9,223,2,33,35,196,87,94,28,28,248,22,178,13,23, -194,2,10,28,248,22,175,6,23,194,2,28,248,22,136,14,23,194,2,10,248, -22,137,14,23,194,2,11,12,250,22,152,9,2,7,2,22,23,196,2,28,248, -22,136,14,23,194,2,12,248,22,130,12,249,22,136,11,248,22,140,7,250,22, -159,7,2,23,2,7,23,200,1,247,22,23,32,38,89,162,8,44,40,55,2, -24,222,33,39,28,248,22,79,23,197,2,87,94,23,196,1,248,22,130,12,249, -22,169,11,251,22,159,7,2,25,2,7,28,248,22,79,23,203,2,87,94,23, -202,1,23,201,1,250,22,1,22,132,14,23,204,1,23,205,1,23,200,1,247, -22,23,27,249,22,132,14,248,22,72,23,200,2,23,197,2,28,248,22,191,13, -23,194,2,27,250,22,1,22,132,14,23,197,1,199,28,248,22,191,13,193,192, -251,2,38,198,199,200,248,22,73,202,251,2,38,197,198,199,248,22,73,201,87, -94,87,94,87,94,28,28,248,22,178,13,193,10,28,248,22,175,6,193,28,248, -22,136,14,193,10,248,22,137,14,193,11,12,250,22,152,9,2,7,2,22,195, -28,248,22,136,14,193,12,248,22,130,12,249,22,136,11,248,22,140,7,250,22, -159,7,2,23,2,7,199,247,22,23,249,22,3,32,0,89,162,8,44,37,49, -9,222,33,37,195,27,247,22,156,14,251,2,38,196,197,198,196,32,41,89,162, -44,42,59,2,24,222,33,42,28,248,22,79,23,199,2,87,94,23,198,1,248, -23,196,1,251,22,159,7,2,25,23,199,1,28,248,22,79,23,203,2,87,94, -23,202,1,23,201,1,250,22,1,22,132,14,23,204,1,23,205,1,23,198,1, -27,249,22,132,14,248,22,72,23,202,2,23,199,2,28,248,22,191,13,23,194, -2,27,250,22,1,22,132,14,23,197,1,23,202,2,28,248,22,191,13,23,194, -2,192,87,94,23,193,1,27,248,22,73,23,202,1,28,248,22,79,23,194,2, -87,94,23,193,1,248,23,199,1,251,22,159,7,2,25,23,202,1,28,248,22, -79,23,206,2,87,94,23,205,1,23,204,1,250,22,1,22,132,14,23,207,1, -23,208,1,23,201,1,27,249,22,132,14,248,22,72,23,197,2,23,202,2,28, -248,22,191,13,23,194,2,27,250,22,1,22,132,14,23,197,1,204,28,248,22, -191,13,193,192,253,2,41,203,204,205,206,23,15,248,22,73,201,253,2,41,202, -203,204,205,206,248,22,73,200,87,94,23,193,1,27,248,22,73,23,201,1,28, -248,22,79,23,194,2,87,94,23,193,1,248,23,198,1,251,22,159,7,2,25, -23,201,1,28,248,22,79,23,205,2,87,94,23,204,1,23,203,1,250,22,1, -22,132,14,23,206,1,23,207,1,23,200,1,27,249,22,132,14,248,22,72,23, -197,2,23,201,2,28,248,22,191,13,23,194,2,27,250,22,1,22,132,14,23, -197,1,203,28,248,22,191,13,193,192,253,2,41,202,203,204,205,206,248,22,73, -201,253,2,41,201,202,203,204,205,248,22,73,200,27,247,22,156,14,253,2,41, -198,199,200,201,202,198,87,95,28,28,248,22,179,13,23,194,2,10,28,248,22, -178,13,23,194,2,10,28,248,22,175,6,23,194,2,28,248,22,136,14,23,194, -2,10,248,22,137,14,23,194,2,11,12,252,22,152,9,23,200,2,2,26,36, -23,198,2,23,199,2,28,28,248,22,175,6,23,195,2,10,248,22,164,7,23, -195,2,87,94,23,194,1,12,252,22,152,9,23,200,2,2,27,37,23,198,2, -23,199,1,91,159,39,11,90,161,39,36,11,248,22,135,14,23,197,2,87,94, -23,195,1,87,94,28,192,12,250,22,153,9,23,201,1,2,28,23,199,1,249, -22,7,194,195,91,159,38,11,90,161,38,36,11,87,95,28,28,248,22,179,13, -23,196,2,10,28,248,22,178,13,23,196,2,10,28,248,22,175,6,23,196,2, -28,248,22,136,14,23,196,2,10,248,22,137,14,23,196,2,11,12,252,22,152, -9,2,10,2,26,36,23,200,2,23,201,2,28,28,248,22,175,6,23,197,2, -10,248,22,164,7,23,197,2,12,252,22,152,9,2,10,2,27,37,23,200,2, -23,201,2,91,159,39,11,90,161,39,36,11,248,22,135,14,23,199,2,87,94, -23,195,1,87,94,28,192,12,250,22,153,9,2,10,2,28,23,201,2,249,22, -7,194,195,27,249,22,188,13,250,22,176,14,0,20,35,114,120,35,34,40,63, -58,91,46,93,91,94,46,93,42,124,41,36,34,248,22,184,13,23,201,1,28, -248,22,175,6,23,203,2,249,22,188,7,23,204,1,8,63,23,202,1,28,248, -22,179,13,23,199,2,248,22,180,13,23,199,1,87,94,23,198,1,247,22,181, -13,28,248,22,178,13,194,249,22,132,14,195,194,192,91,159,38,11,90,161,38, -36,11,87,95,28,28,248,22,179,13,23,196,2,10,28,248,22,178,13,23,196, -2,10,28,248,22,175,6,23,196,2,28,248,22,136,14,23,196,2,10,248,22, -137,14,23,196,2,11,12,252,22,152,9,2,11,2,26,36,23,200,2,23,201, -2,28,28,248,22,175,6,23,197,2,10,248,22,164,7,23,197,2,12,252,22, -152,9,2,11,2,27,37,23,200,2,23,201,2,91,159,39,11,90,161,39,36, -11,248,22,135,14,23,199,2,87,94,23,195,1,87,94,28,192,12,250,22,153, -9,2,11,2,28,23,201,2,249,22,7,194,195,27,249,22,188,13,249,22,174, -7,250,22,177,14,0,9,35,114,120,35,34,91,46,93,34,248,22,184,13,23, -203,1,6,1,1,95,28,248,22,175,6,23,202,2,249,22,188,7,23,203,1, -8,63,23,201,1,28,248,22,179,13,23,199,2,248,22,180,13,23,199,1,87, -94,23,198,1,247,22,181,13,28,248,22,178,13,194,249,22,132,14,195,194,192, -249,247,22,142,5,194,11,249,80,159,38,47,37,9,9,249,80,159,38,47,37, -195,9,27,247,22,158,14,249,80,158,39,48,28,23,195,2,27,248,22,129,8, -6,11,11,80,76,84,67,79,76,76,69,67,84,83,28,192,192,6,0,0,6, -0,0,27,28,23,196,1,250,22,132,14,248,22,154,14,69,97,100,100,111,110, -45,100,105,114,247,22,191,7,6,8,8,99,111,108,108,101,99,116,115,11,27, -248,80,159,42,53,37,250,22,85,23,203,1,248,22,81,248,22,154,14,72,99, -111,108,108,101,99,116,115,45,100,105,114,23,204,1,28,193,249,22,71,195,194, -192,32,51,89,162,8,44,39,8,31,2,19,222,33,52,27,249,22,165,14,23, -197,2,23,198,2,28,23,193,2,87,94,23,196,1,27,248,22,96,23,195,2, -27,27,248,22,105,23,197,1,27,249,22,165,14,23,201,2,23,196,2,28,23, -193,2,87,94,23,194,1,27,248,22,96,23,195,2,27,27,248,22,105,23,197, -1,27,249,22,165,14,23,205,2,23,196,2,28,23,193,2,87,94,23,194,1, -27,248,22,96,23,195,2,27,27,248,22,105,23,197,1,27,249,22,165,14,23, -209,2,23,196,2,28,23,193,2,87,94,23,194,1,27,248,22,96,23,195,2, -27,27,248,22,105,23,197,1,27,249,22,165,14,23,213,2,23,196,2,28,23, -193,2,87,94,23,194,1,27,248,22,96,23,195,2,27,250,2,51,23,215,2, -23,216,1,248,22,105,23,199,1,28,249,22,170,7,23,196,2,2,29,249,22, -85,23,214,2,194,249,22,71,248,22,187,13,23,197,1,194,87,95,23,211,1, -23,193,1,28,249,22,170,7,23,196,2,2,29,249,22,85,23,212,2,9,249, -22,71,248,22,187,13,23,197,1,9,28,249,22,170,7,23,196,2,2,29,249, -22,85,23,210,2,194,249,22,71,248,22,187,13,23,197,1,194,87,94,23,193, -1,28,249,22,170,7,23,196,2,2,29,249,22,85,23,208,2,9,249,22,71, -248,22,187,13,23,197,1,9,28,249,22,170,7,23,196,2,2,29,249,22,85, -23,206,2,194,249,22,71,248,22,187,13,23,197,1,194,87,94,23,193,1,28, -249,22,170,7,23,196,2,2,29,249,22,85,23,204,2,9,249,22,71,248,22, -187,13,23,197,1,9,28,249,22,170,7,23,196,2,2,29,249,22,85,23,202, -2,194,249,22,71,248,22,187,13,23,197,1,194,87,94,23,193,1,28,249,22, -170,7,23,196,2,2,29,249,22,85,23,200,2,9,249,22,71,248,22,187,13, -23,197,1,9,28,249,22,170,7,23,196,2,2,29,249,22,85,197,194,87,94, -23,196,1,249,22,71,248,22,187,13,23,197,1,194,87,94,23,193,1,28,249, -22,170,7,23,198,2,2,29,249,22,85,195,9,87,94,23,194,1,249,22,71, -248,22,187,13,23,199,1,9,87,95,28,28,248,22,164,7,194,10,248,22,175, -6,194,12,250,22,152,9,2,14,6,21,21,98,121,116,101,32,115,116,114,105, -110,103,32,111,114,32,115,116,114,105,110,103,196,28,28,248,22,80,195,249,22, -4,22,178,13,196,11,12,250,22,152,9,2,14,6,13,13,108,105,115,116,32, -111,102,32,112,97,116,104,115,197,250,2,51,197,195,28,248,22,175,6,197,248, -22,187,7,197,196,32,54,89,162,8,44,39,53,70,102,111,117,110,100,45,101, -120,101,99,222,33,57,32,55,89,162,8,44,40,58,64,110,101,120,116,222,33, -56,27,248,22,140,14,23,196,2,28,249,22,184,8,23,195,2,23,197,1,11, -28,248,22,136,14,23,194,2,27,249,22,132,14,23,197,1,23,196,1,28,23, -197,2,91,159,39,11,90,161,39,36,11,248,22,135,14,23,197,2,87,95,23, -195,1,23,194,1,27,28,23,202,2,27,248,22,140,14,23,199,2,28,249,22, -184,8,23,195,2,23,200,2,11,28,248,22,136,14,23,194,2,250,2,54,23, -205,2,23,206,2,249,22,132,14,23,200,2,23,198,1,250,2,54,23,205,2, -23,206,2,23,196,1,11,28,23,193,2,192,87,94,23,193,1,27,28,248,22, -178,13,23,196,2,27,249,22,132,14,23,198,2,23,205,2,28,28,248,22,191, -13,193,10,248,22,190,13,193,192,11,11,28,23,193,2,192,87,94,23,193,1, -28,23,203,2,11,27,248,22,140,14,23,200,2,28,249,22,184,8,23,195,2, -23,201,1,11,28,248,22,136,14,23,194,2,250,2,54,23,206,1,23,207,1, -249,22,132,14,23,201,1,23,198,1,250,2,54,205,206,195,192,87,94,23,194, -1,28,23,196,2,91,159,39,11,90,161,39,36,11,248,22,135,14,23,197,2, -87,95,23,195,1,23,194,1,27,28,23,201,2,27,248,22,140,14,23,199,2, -28,249,22,184,8,23,195,2,23,200,2,11,28,248,22,136,14,23,194,2,250, -2,54,23,204,2,23,205,2,249,22,132,14,23,200,2,23,198,1,250,2,54, -23,204,2,23,205,2,23,196,1,11,28,23,193,2,192,87,94,23,193,1,27, -28,248,22,178,13,23,196,2,27,249,22,132,14,23,198,2,23,204,2,28,28, -248,22,191,13,193,10,248,22,190,13,193,192,11,11,28,23,193,2,192,87,94, -23,193,1,28,23,202,2,11,27,248,22,140,14,23,200,2,28,249,22,184,8, -23,195,2,23,201,1,11,28,248,22,136,14,23,194,2,250,2,54,23,205,1, -23,206,1,249,22,132,14,23,201,1,23,198,1,250,2,54,204,205,195,192,28, -23,193,2,91,159,39,11,90,161,39,36,11,248,22,135,14,23,199,2,87,95, -23,195,1,23,194,1,27,28,23,198,2,251,2,55,23,198,2,23,203,2,23, -201,2,23,202,2,11,28,23,193,2,192,87,94,23,193,1,27,28,248,22,178, -13,195,27,249,22,132,14,197,200,28,28,248,22,191,13,193,10,248,22,190,13, -193,192,11,11,28,192,192,28,198,11,251,2,55,198,203,201,202,194,32,58,89, -162,8,44,40,8,31,2,19,222,33,59,28,248,22,79,23,197,2,11,27,248, -22,139,14,248,22,72,23,199,2,27,249,22,132,14,23,196,1,23,197,2,28, -248,22,190,13,23,194,2,250,2,54,198,199,195,87,94,23,193,1,27,248,22, -73,23,200,1,28,248,22,79,23,194,2,11,27,248,22,139,14,248,22,72,23, -196,2,27,249,22,132,14,23,196,1,23,200,2,28,248,22,190,13,23,194,2, -250,2,54,201,202,195,87,94,23,193,1,27,248,22,73,23,197,1,28,248,22, -79,23,194,2,11,27,248,22,139,14,248,22,72,23,196,2,27,249,22,132,14, -23,196,1,23,203,2,28,248,22,190,13,23,194,2,250,2,54,204,205,195,87, -94,23,193,1,27,248,22,73,23,197,1,28,248,22,79,23,194,2,11,27,248, -22,139,14,248,22,72,23,196,2,27,249,22,132,14,23,196,1,23,206,2,28, -248,22,190,13,23,194,2,250,2,54,23,15,23,16,195,87,94,23,193,1,27, -248,22,73,23,197,1,28,248,22,79,23,194,2,11,27,248,22,139,14,248,22, -72,23,196,2,27,249,22,132,14,23,196,1,23,209,2,28,248,22,190,13,23, -194,2,250,2,54,23,18,23,19,195,87,94,23,193,1,27,248,22,73,23,197, -1,28,248,22,79,23,194,2,11,27,248,22,139,14,248,22,72,195,27,249,22, -132,14,23,196,1,23,19,28,248,22,190,13,193,250,2,54,23,21,23,22,195, -251,2,58,23,21,23,22,23,23,248,22,73,199,87,95,28,28,248,22,178,13, + SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,53,46,48,46,48,46,49,65,0,0,0,1,0,0,8,0,21,0, +26,0,43,0,58,0,76,0,92,0,102,0,120,0,140,0,156,0,174,0,205, +0,234,0,0,1,14,1,20,1,34,1,39,1,49,1,57,1,85,1,117,1, +123,1,168,1,213,1,237,1,20,2,22,2,188,2,22,4,63,4,136,5,222, +5,52,6,151,6,235,6,248,6,113,7,215,7,227,7,77,9,91,9,236,9, +221,10,203,11,210,11,218,11,226,11,95,12,109,12,94,14,196,14,218,14,234, +14,182,16,29,17,43,17,125,18,62,20,71,20,80,20,106,20,217,20,0,0, +206,23,0,0,67,35,37,117,116,105,108,115,72,112,97,116,104,45,115,116,114, +105,110,103,63,64,98,115,98,115,76,110,111,114,109,97,108,45,99,97,115,101, +45,112,97,116,104,74,45,99,104,101,99,107,45,114,101,108,112,97,116,104,77, +45,99,104,101,99,107,45,99,111,108,108,101,99,116,105,111,110,75,99,111,108, +108,101,99,116,105,111,110,45,112,97,116,104,69,45,102,105,110,100,45,99,111, +108,77,99,104,101,99,107,45,115,117,102,102,105,120,45,99,97,108,108,79,112, +97,116,104,45,114,101,112,108,97,99,101,45,115,117,102,102,105,120,75,112,97, +116,104,45,97,100,100,45,115,117,102,102,105,120,77,108,111,97,100,47,117,115, +101,45,99,111,109,112,105,108,101,100,1,29,102,105,110,100,45,108,105,98,114, +97,114,121,45,99,111,108,108,101,99,116,105,111,110,45,112,97,116,104,115,1, +27,112,97,116,104,45,108,105,115,116,45,115,116,114,105,110,103,45,62,112,97, +116,104,45,108,105,115,116,1,20,102,105,110,100,45,101,120,101,99,117,116,97, +98,108,101,45,112,97,116,104,73,101,109,98,101,100,100,101,100,45,108,111,97, +100,65,113,117,111,116,101,29,94,2,17,68,35,37,112,97,114,97,109,122,11, +64,108,111,111,112,69,101,120,101,99,45,102,105,108,101,67,119,105,110,100,111, +119,115,6,25,25,112,97,116,104,32,111,114,32,118,97,108,105,100,45,112,97, +116,104,32,115,116,114,105,110,103,6,29,29,126,97,58,32,105,110,118,97,108, +105,100,32,114,101,108,97,116,105,118,101,32,112,97,116,104,58,32,126,115,65, +99,108,111,111,112,6,42,42,126,97,58,32,99,111,108,108,101,99,116,105,111, +110,32,110,111,116,32,102,111,117,110,100,58,32,126,115,32,105,110,32,97,110, +121,32,111,102,58,32,126,115,6,42,42,112,97,116,104,32,40,102,111,114,32, +97,110,121,32,115,121,115,116,101,109,41,32,111,114,32,118,97,108,105,100,45, +112,97,116,104,32,115,116,114,105,110,103,6,21,21,115,116,114,105,110,103,32, +111,114,32,98,121,116,101,32,115,116,114,105,110,103,6,36,36,99,97,110,110, +111,116,32,97,100,100,32,97,32,115,117,102,102,105,120,32,116,111,32,97,32, +114,111,111,116,32,112,97,116,104,58,32,5,0,27,20,14,159,80,159,37,51, +38,250,80,159,40,52,38,249,22,27,11,80,159,42,51,38,22,154,13,10,248, +22,173,5,23,196,2,28,248,22,170,6,23,194,2,12,87,94,248,22,188,8, +23,194,1,27,20,14,159,80,159,38,51,38,250,80,159,41,52,38,249,22,27, +11,80,159,43,51,38,22,154,13,10,248,22,173,5,23,197,2,28,248,22,170, +6,23,194,2,12,87,94,248,22,188,8,23,194,1,27,20,14,159,80,159,39, +51,38,250,80,159,42,52,38,249,22,27,11,80,159,44,51,38,22,154,13,10, +248,22,173,5,23,198,2,28,248,22,170,6,23,194,2,12,87,94,248,22,188, +8,23,194,1,248,80,159,40,54,37,197,28,248,22,79,23,195,2,9,27,248, +22,72,23,196,2,27,28,248,22,138,14,23,195,2,23,194,1,28,248,22,137, +14,23,195,2,249,22,139,14,23,196,1,250,80,158,43,49,248,22,154,14,2, +20,11,10,250,80,158,41,49,248,22,154,14,2,20,23,197,1,10,28,23,193, +2,249,22,71,248,22,141,14,249,22,139,14,23,198,1,247,22,155,14,27,248, +22,73,23,200,1,28,248,22,79,23,194,2,9,27,248,22,72,23,195,2,27, +28,248,22,138,14,23,195,2,23,194,1,28,248,22,137,14,23,195,2,249,22, +139,14,23,196,1,250,80,158,48,49,248,22,154,14,2,20,11,10,250,80,158, +46,49,248,22,154,14,2,20,23,197,1,10,28,23,193,2,249,22,71,248,22, +141,14,249,22,139,14,23,198,1,247,22,155,14,248,80,159,46,53,37,248,22, +73,23,199,1,87,94,23,193,1,248,80,159,44,53,37,248,22,73,23,197,1, +87,94,23,193,1,27,248,22,73,23,198,1,28,248,22,79,23,194,2,9,27, +248,22,72,23,195,2,27,28,248,22,138,14,23,195,2,23,194,1,28,248,22, +137,14,23,195,2,249,22,139,14,23,196,1,250,80,158,46,49,248,22,154,14, +2,20,11,10,250,80,158,44,49,248,22,154,14,2,20,23,197,1,10,28,23, +193,2,249,22,71,248,22,141,14,249,22,139,14,23,198,1,247,22,155,14,248, +80,159,44,53,37,248,22,73,23,199,1,248,80,159,42,53,37,248,22,73,196, +27,248,22,178,13,23,195,2,28,23,193,2,192,87,94,23,193,1,28,248,22, +175,6,23,195,2,27,248,22,136,14,195,28,192,192,248,22,137,14,195,11,87, +94,28,28,248,22,179,13,23,195,2,10,28,248,22,178,13,23,195,2,10,28, +248,22,175,6,23,195,2,28,248,22,136,14,23,195,2,10,248,22,137,14,23, +195,2,11,12,250,22,152,9,76,110,111,114,109,97,108,45,112,97,116,104,45, +99,97,115,101,6,42,42,112,97,116,104,32,40,102,111,114,32,97,110,121,32, +115,121,115,116,101,109,41,32,111,114,32,118,97,108,105,100,45,112,97,116,104, +32,115,116,114,105,110,103,23,197,2,28,28,248,22,179,13,23,195,2,249,22, +182,8,248,22,180,13,23,197,2,2,21,249,22,182,8,247,22,131,8,2,21, +27,28,248,22,175,6,23,196,2,23,195,2,248,22,185,7,248,22,183,13,23, +197,2,28,249,22,169,14,0,21,35,114,120,34,94,91,92,92,93,91,92,92, +93,91,63,93,91,92,92,93,34,23,195,2,28,248,22,175,6,195,248,22,186, +13,195,194,27,248,22,150,7,23,195,1,249,22,187,13,248,22,188,7,250,22, +177,14,0,6,35,114,120,34,47,34,28,249,22,169,14,0,22,35,114,120,34, +91,47,92,92,93,91,46,32,93,43,91,47,92,92,93,42,36,34,23,201,2, +23,199,1,250,22,177,14,0,19,35,114,120,34,91,32,46,93,43,40,91,47, +92,92,93,42,41,36,34,23,202,1,6,2,2,92,49,80,159,44,37,38,2, +21,28,248,22,175,6,194,248,22,186,13,194,193,87,94,28,28,248,22,178,13, 23,195,2,10,28,248,22,175,6,23,195,2,28,248,22,136,14,23,195,2,10, -248,22,137,14,23,195,2,11,12,250,22,152,9,2,15,6,25,25,112,97,116, -104,32,111,114,32,115,116,114,105,110,103,32,40,115,97,110,115,32,110,117,108, -41,23,197,2,28,28,23,195,2,28,28,248,22,178,13,23,196,2,10,28,248, -22,175,6,23,196,2,28,248,22,136,14,23,196,2,10,248,22,137,14,23,196, -2,11,248,22,136,14,23,196,2,11,10,12,250,22,152,9,2,15,6,29,29, -35,102,32,111,114,32,114,101,108,97,116,105,118,101,32,112,97,116,104,32,111, -114,32,115,116,114,105,110,103,23,198,2,28,28,248,22,136,14,23,195,2,91, -159,39,11,90,161,39,36,11,248,22,135,14,23,198,2,249,22,182,8,194,68, -114,101,108,97,116,105,118,101,11,27,248,22,129,8,6,4,4,80,65,84,72, -27,28,23,194,2,27,249,80,159,41,48,38,23,197,1,9,28,249,22,182,8, -247,22,131,8,2,21,249,22,71,248,22,187,13,5,1,46,194,192,87,94,23, -194,1,9,28,248,22,79,23,194,2,11,27,248,22,139,14,248,22,72,23,196, +248,22,137,14,23,195,2,11,12,250,22,152,9,23,196,2,2,22,23,197,2, +28,248,22,136,14,23,195,2,12,248,22,130,12,249,22,136,11,248,22,140,7, +250,22,159,7,2,23,23,200,1,23,201,1,247,22,23,87,94,28,28,248,22, +178,13,23,195,2,10,28,248,22,175,6,23,195,2,28,248,22,136,14,23,195, +2,10,248,22,137,14,23,195,2,11,12,250,22,152,9,23,196,2,2,22,23, +197,2,28,248,22,136,14,23,195,2,12,248,22,130,12,249,22,136,11,248,22, +140,7,250,22,159,7,2,23,23,200,1,23,201,1,247,22,23,87,94,87,94, +28,28,248,22,178,13,23,195,2,10,28,248,22,175,6,23,195,2,28,248,22, +136,14,23,195,2,10,248,22,137,14,23,195,2,11,12,250,22,152,9,195,2, +22,23,197,2,28,248,22,136,14,23,195,2,12,248,22,130,12,249,22,136,11, +248,22,140,7,250,22,159,7,2,23,199,23,201,1,247,22,23,249,22,3,89, +162,8,44,37,50,9,223,2,33,35,196,87,94,28,28,248,22,178,13,23,194, +2,10,28,248,22,175,6,23,194,2,28,248,22,136,14,23,194,2,10,248,22, +137,14,23,194,2,11,12,250,22,152,9,2,7,2,22,23,196,2,28,248,22, +136,14,23,194,2,12,248,22,130,12,249,22,136,11,248,22,140,7,250,22,159, +7,2,23,2,7,23,200,1,247,22,23,32,38,89,162,8,44,40,55,2,24, +222,33,39,28,248,22,79,23,197,2,87,94,23,196,1,248,22,130,12,249,22, +169,11,251,22,159,7,2,25,2,7,28,248,22,79,23,203,2,87,94,23,202, +1,23,201,1,250,22,1,22,132,14,23,204,1,23,205,1,23,200,1,247,22, +23,27,249,22,132,14,248,22,72,23,200,2,23,197,2,28,248,22,191,13,23, +194,2,27,250,22,1,22,132,14,23,197,1,199,28,248,22,191,13,193,192,251, +2,38,198,199,200,248,22,73,202,251,2,38,197,198,199,248,22,73,201,87,94, +87,94,87,94,28,28,248,22,178,13,193,10,28,248,22,175,6,193,28,248,22, +136,14,193,10,248,22,137,14,193,11,12,250,22,152,9,2,7,2,22,195,28, +248,22,136,14,193,12,248,22,130,12,249,22,136,11,248,22,140,7,250,22,159, +7,2,23,2,7,199,247,22,23,249,22,3,32,0,89,162,8,44,37,49,9, +222,33,37,195,27,247,22,156,14,251,2,38,196,197,198,196,32,41,89,162,44, +42,59,2,24,222,33,42,28,248,22,79,23,199,2,87,94,23,198,1,248,23, +196,1,251,22,159,7,2,25,23,199,1,28,248,22,79,23,203,2,87,94,23, +202,1,23,201,1,250,22,1,22,132,14,23,204,1,23,205,1,23,198,1,27, +249,22,132,14,248,22,72,23,202,2,23,199,2,28,248,22,191,13,23,194,2, +27,250,22,1,22,132,14,23,197,1,23,202,2,28,248,22,191,13,23,194,2, +192,87,94,23,193,1,27,248,22,73,23,202,1,28,248,22,79,23,194,2,87, +94,23,193,1,248,23,199,1,251,22,159,7,2,25,23,202,1,28,248,22,79, +23,206,2,87,94,23,205,1,23,204,1,250,22,1,22,132,14,23,207,1,23, +208,1,23,201,1,27,249,22,132,14,248,22,72,23,197,2,23,202,2,28,248, +22,191,13,23,194,2,27,250,22,1,22,132,14,23,197,1,204,28,248,22,191, +13,193,192,253,2,41,203,204,205,206,23,15,248,22,73,201,253,2,41,202,203, +204,205,206,248,22,73,200,87,94,23,193,1,27,248,22,73,23,201,1,28,248, +22,79,23,194,2,87,94,23,193,1,248,23,198,1,251,22,159,7,2,25,23, +201,1,28,248,22,79,23,205,2,87,94,23,204,1,23,203,1,250,22,1,22, +132,14,23,206,1,23,207,1,23,200,1,27,249,22,132,14,248,22,72,23,197, +2,23,201,2,28,248,22,191,13,23,194,2,27,250,22,1,22,132,14,23,197, +1,203,28,248,22,191,13,193,192,253,2,41,202,203,204,205,206,248,22,73,201, +253,2,41,201,202,203,204,205,248,22,73,200,27,247,22,156,14,253,2,41,198, +199,200,201,202,198,87,95,28,28,248,22,179,13,23,194,2,10,28,248,22,178, +13,23,194,2,10,28,248,22,175,6,23,194,2,28,248,22,136,14,23,194,2, +10,248,22,137,14,23,194,2,11,12,252,22,152,9,23,200,2,2,26,36,23, +198,2,23,199,2,28,28,248,22,175,6,23,195,2,10,248,22,164,7,23,195, +2,87,94,23,194,1,12,252,22,152,9,23,200,2,2,27,37,23,198,2,23, +199,1,91,159,39,11,90,161,39,36,11,248,22,135,14,23,197,2,87,94,23, +195,1,87,94,28,192,12,250,22,153,9,23,201,1,2,28,23,199,1,249,22, +7,194,195,91,159,38,11,90,161,38,36,11,87,95,28,28,248,22,179,13,23, +196,2,10,28,248,22,178,13,23,196,2,10,28,248,22,175,6,23,196,2,28, +248,22,136,14,23,196,2,10,248,22,137,14,23,196,2,11,12,252,22,152,9, +2,10,2,26,36,23,200,2,23,201,2,28,28,248,22,175,6,23,197,2,10, +248,22,164,7,23,197,2,12,252,22,152,9,2,10,2,27,37,23,200,2,23, +201,2,91,159,39,11,90,161,39,36,11,248,22,135,14,23,199,2,87,94,23, +195,1,87,94,28,192,12,250,22,153,9,2,10,2,28,23,201,2,249,22,7, +194,195,27,249,22,188,13,250,22,176,14,0,20,35,114,120,35,34,40,63,58, +91,46,93,91,94,46,93,42,124,41,36,34,248,22,184,13,23,201,1,28,248, +22,175,6,23,203,2,249,22,188,7,23,204,1,8,63,23,202,1,28,248,22, +179,13,23,199,2,248,22,180,13,23,199,1,87,94,23,198,1,247,22,181,13, +28,248,22,178,13,194,249,22,132,14,195,194,192,91,159,38,11,90,161,38,36, +11,87,95,28,28,248,22,179,13,23,196,2,10,28,248,22,178,13,23,196,2, +10,28,248,22,175,6,23,196,2,28,248,22,136,14,23,196,2,10,248,22,137, +14,23,196,2,11,12,252,22,152,9,2,11,2,26,36,23,200,2,23,201,2, +28,28,248,22,175,6,23,197,2,10,248,22,164,7,23,197,2,12,252,22,152, +9,2,11,2,27,37,23,200,2,23,201,2,91,159,39,11,90,161,39,36,11, +248,22,135,14,23,199,2,87,94,23,195,1,87,94,28,192,12,250,22,153,9, +2,11,2,28,23,201,2,249,22,7,194,195,27,249,22,188,13,249,22,174,7, +250,22,177,14,0,9,35,114,120,35,34,91,46,93,34,248,22,184,13,23,203, +1,6,1,1,95,28,248,22,175,6,23,202,2,249,22,188,7,23,203,1,8, +63,23,201,1,28,248,22,179,13,23,199,2,248,22,180,13,23,199,1,87,94, +23,198,1,247,22,181,13,28,248,22,178,13,194,249,22,132,14,195,194,192,249, +247,22,142,5,194,11,249,80,159,38,47,37,9,9,249,80,159,38,47,37,195, +9,27,247,22,158,14,249,80,158,39,48,28,23,195,2,27,248,22,129,8,6, +11,11,80,76,84,67,79,76,76,69,67,84,83,28,192,192,6,0,0,6,0, +0,27,28,23,196,1,250,22,132,14,248,22,154,14,69,97,100,100,111,110,45, +100,105,114,247,22,191,7,6,8,8,99,111,108,108,101,99,116,115,11,27,248, +80,159,42,53,37,250,22,85,23,203,1,248,22,81,248,22,154,14,72,99,111, +108,108,101,99,116,115,45,100,105,114,23,204,1,28,193,249,22,71,195,194,192, +32,51,89,162,8,44,39,8,31,2,19,222,33,52,27,249,22,165,14,23,197, +2,23,198,2,28,23,193,2,87,94,23,196,1,27,248,22,96,23,195,2,27, +27,248,22,105,23,197,1,27,249,22,165,14,23,201,2,23,196,2,28,23,193, +2,87,94,23,194,1,27,248,22,96,23,195,2,27,27,248,22,105,23,197,1, +27,249,22,165,14,23,205,2,23,196,2,28,23,193,2,87,94,23,194,1,27, +248,22,96,23,195,2,27,27,248,22,105,23,197,1,27,249,22,165,14,23,209, +2,23,196,2,28,23,193,2,87,94,23,194,1,27,248,22,96,23,195,2,27, +27,248,22,105,23,197,1,27,249,22,165,14,23,213,2,23,196,2,28,23,193, +2,87,94,23,194,1,27,248,22,96,23,195,2,27,250,2,51,23,215,2,23, +216,1,248,22,105,23,199,1,28,249,22,170,7,23,196,2,2,29,249,22,85, +23,214,2,194,249,22,71,248,22,187,13,23,197,1,194,87,95,23,211,1,23, +193,1,28,249,22,170,7,23,196,2,2,29,249,22,85,23,212,2,9,249,22, +71,248,22,187,13,23,197,1,9,28,249,22,170,7,23,196,2,2,29,249,22, +85,23,210,2,194,249,22,71,248,22,187,13,23,197,1,194,87,94,23,193,1, +28,249,22,170,7,23,196,2,2,29,249,22,85,23,208,2,9,249,22,71,248, +22,187,13,23,197,1,9,28,249,22,170,7,23,196,2,2,29,249,22,85,23, +206,2,194,249,22,71,248,22,187,13,23,197,1,194,87,94,23,193,1,28,249, +22,170,7,23,196,2,2,29,249,22,85,23,204,2,9,249,22,71,248,22,187, +13,23,197,1,9,28,249,22,170,7,23,196,2,2,29,249,22,85,23,202,2, +194,249,22,71,248,22,187,13,23,197,1,194,87,94,23,193,1,28,249,22,170, +7,23,196,2,2,29,249,22,85,23,200,2,9,249,22,71,248,22,187,13,23, +197,1,9,28,249,22,170,7,23,196,2,2,29,249,22,85,197,194,87,94,23, +196,1,249,22,71,248,22,187,13,23,197,1,194,87,94,23,193,1,28,249,22, +170,7,23,198,2,2,29,249,22,85,195,9,87,94,23,194,1,249,22,71,248, +22,187,13,23,199,1,9,87,95,28,28,248,22,164,7,194,10,248,22,175,6, +194,12,250,22,152,9,2,14,6,21,21,98,121,116,101,32,115,116,114,105,110, +103,32,111,114,32,115,116,114,105,110,103,196,28,28,248,22,80,195,249,22,4, +22,178,13,196,11,12,250,22,152,9,2,14,6,13,13,108,105,115,116,32,111, +102,32,112,97,116,104,115,197,250,2,51,197,195,28,248,22,175,6,197,248,22, +187,7,197,196,32,54,89,162,8,44,39,53,70,102,111,117,110,100,45,101,120, +101,99,222,33,57,32,55,89,162,8,44,40,58,64,110,101,120,116,222,33,56, +27,248,22,140,14,23,196,2,28,249,22,184,8,23,195,2,23,197,1,11,28, +248,22,136,14,23,194,2,27,249,22,132,14,23,197,1,23,196,1,28,23,197, +2,91,159,39,11,90,161,39,36,11,248,22,135,14,23,197,2,87,95,23,195, +1,23,194,1,27,28,23,202,2,27,248,22,140,14,23,199,2,28,249,22,184, +8,23,195,2,23,200,2,11,28,248,22,136,14,23,194,2,250,2,54,23,205, +2,23,206,2,249,22,132,14,23,200,2,23,198,1,250,2,54,23,205,2,23, +206,2,23,196,1,11,28,23,193,2,192,87,94,23,193,1,27,28,248,22,178, +13,23,196,2,27,249,22,132,14,23,198,2,23,205,2,28,28,248,22,191,13, +193,10,248,22,190,13,193,192,11,11,28,23,193,2,192,87,94,23,193,1,28, +23,203,2,11,27,248,22,140,14,23,200,2,28,249,22,184,8,23,195,2,23, +201,1,11,28,248,22,136,14,23,194,2,250,2,54,23,206,1,23,207,1,249, +22,132,14,23,201,1,23,198,1,250,2,54,205,206,195,192,87,94,23,194,1, +28,23,196,2,91,159,39,11,90,161,39,36,11,248,22,135,14,23,197,2,87, +95,23,195,1,23,194,1,27,28,23,201,2,27,248,22,140,14,23,199,2,28, +249,22,184,8,23,195,2,23,200,2,11,28,248,22,136,14,23,194,2,250,2, +54,23,204,2,23,205,2,249,22,132,14,23,200,2,23,198,1,250,2,54,23, +204,2,23,205,2,23,196,1,11,28,23,193,2,192,87,94,23,193,1,27,28, +248,22,178,13,23,196,2,27,249,22,132,14,23,198,2,23,204,2,28,28,248, +22,191,13,193,10,248,22,190,13,193,192,11,11,28,23,193,2,192,87,94,23, +193,1,28,23,202,2,11,27,248,22,140,14,23,200,2,28,249,22,184,8,23, +195,2,23,201,1,11,28,248,22,136,14,23,194,2,250,2,54,23,205,1,23, +206,1,249,22,132,14,23,201,1,23,198,1,250,2,54,204,205,195,192,28,23, +193,2,91,159,39,11,90,161,39,36,11,248,22,135,14,23,199,2,87,95,23, +195,1,23,194,1,27,28,23,198,2,251,2,55,23,198,2,23,203,2,23,201, +2,23,202,2,11,28,23,193,2,192,87,94,23,193,1,27,28,248,22,178,13, +195,27,249,22,132,14,197,200,28,28,248,22,191,13,193,10,248,22,190,13,193, +192,11,11,28,192,192,28,198,11,251,2,55,198,203,201,202,194,32,58,89,162, +8,44,40,8,31,2,19,222,33,59,28,248,22,79,23,197,2,11,27,248,22, +139,14,248,22,72,23,199,2,27,249,22,132,14,23,196,1,23,197,2,28,248, +22,190,13,23,194,2,250,2,54,198,199,195,87,94,23,193,1,27,248,22,73, +23,200,1,28,248,22,79,23,194,2,11,27,248,22,139,14,248,22,72,23,196, 2,27,249,22,132,14,23,196,1,23,200,2,28,248,22,190,13,23,194,2,250, 2,54,201,202,195,87,94,23,193,1,27,248,22,73,23,197,1,28,248,22,79, 23,194,2,11,27,248,22,139,14,248,22,72,23,196,2,27,249,22,132,14,23, 196,1,23,203,2,28,248,22,190,13,23,194,2,250,2,54,204,205,195,87,94, 23,193,1,27,248,22,73,23,197,1,28,248,22,79,23,194,2,11,27,248,22, -139,14,248,22,72,195,27,249,22,132,14,23,196,1,205,28,248,22,190,13,193, -250,2,54,23,15,23,16,195,251,2,58,23,15,23,16,23,17,248,22,73,199, -27,248,22,139,14,23,196,1,28,248,22,190,13,193,250,2,54,198,199,195,11, -250,80,159,39,49,37,196,197,11,250,80,159,39,49,37,196,11,11,87,94,249, -22,166,6,247,22,138,5,195,248,22,128,6,249,22,184,3,36,249,22,168,3, -197,198,27,28,23,197,2,87,95,23,196,1,23,195,1,23,197,1,87,94,23, -197,1,27,248,22,154,14,2,20,27,249,80,159,41,49,37,23,196,1,11,27, -27,248,22,187,3,23,200,1,28,192,192,36,27,27,248,22,187,3,23,202,1, -28,192,192,36,249,22,169,5,23,197,1,83,158,40,20,100,95,89,162,8,44, -36,48,9,224,3,2,33,63,23,195,1,23,196,1,27,248,22,154,5,23,195, -1,248,80,159,39,54,37,193,159,36,20,105,159,36,16,1,11,16,0,83,158, -42,20,103,145,2,1,2,1,29,11,11,11,11,11,10,43,80,158,36,36,20, -105,159,38,16,17,2,2,2,3,2,4,2,5,2,6,2,7,2,8,2,9, -2,10,2,11,2,12,2,13,2,14,2,15,2,16,30,2,18,1,20,112,97, -114,97,109,101,116,101,114,105,122,97,116,105,111,110,45,107,101,121,4,30,2, -18,1,23,101,120,116,101,110,100,45,112,97,114,97,109,101,116,101,114,105,122, -97,116,105,111,110,3,16,0,16,0,36,16,0,36,16,4,2,6,2,5,2, -3,2,9,40,11,11,39,36,11,11,11,16,11,2,8,2,7,2,16,2,15, -2,13,2,12,2,4,2,11,2,14,2,10,2,2,16,11,11,11,11,11,11, -11,11,11,11,11,11,16,11,2,8,2,7,2,16,2,15,2,13,2,12,2, -4,2,11,2,14,2,10,2,2,47,47,37,11,11,11,16,0,16,0,16,0, -36,36,11,11,11,11,16,0,16,0,16,0,36,36,16,0,16,17,83,158,36, -16,2,89,162,8,44,37,51,2,19,223,0,33,30,80,159,36,54,37,83,158, -36,16,2,89,162,8,44,37,56,2,19,223,0,33,31,80,159,36,53,37,83, -158,36,16,2,32,0,89,162,44,37,45,2,2,222,33,32,80,159,36,36,37, -83,158,36,16,2,249,22,177,6,7,92,7,92,80,159,36,37,37,83,158,36, -16,2,89,162,44,37,54,2,4,223,0,33,33,80,159,36,38,37,83,158,36, -16,2,32,0,89,162,8,44,38,50,2,5,222,33,34,80,159,36,39,37,83, -158,36,16,2,32,0,89,162,8,44,39,51,2,6,222,33,36,80,159,36,40, -37,83,158,36,16,2,32,0,89,162,8,45,38,50,2,7,222,33,40,80,159, -36,41,37,83,158,36,16,2,32,0,89,162,44,40,52,2,8,222,33,43,80, -159,36,42,37,83,158,36,16,2,32,0,89,162,44,39,50,2,9,222,33,44, -80,159,36,43,37,83,158,36,16,2,32,0,89,162,44,38,53,2,10,222,33, -45,80,159,36,44,37,83,158,36,16,2,32,0,89,162,44,38,54,2,11,222, -33,46,80,159,36,45,37,83,158,36,16,2,32,0,89,162,44,37,44,2,12, -222,33,47,80,159,36,46,37,83,158,36,16,2,83,158,39,20,99,96,2,13, -89,162,44,36,44,9,223,0,33,48,89,162,44,37,45,9,223,0,33,49,89, -162,44,38,55,9,223,0,33,50,80,159,36,47,37,83,158,36,16,2,27,248, -22,161,14,248,22,187,7,27,28,249,22,182,8,247,22,131,8,2,21,6,1, -1,59,6,1,1,58,250,22,159,7,6,14,14,40,91,94,126,97,93,42,41, -126,97,40,46,42,41,23,196,2,23,196,1,89,162,8,44,38,48,2,14,223, -0,33,53,80,159,36,48,37,83,158,36,16,2,83,158,39,20,99,96,2,15, -89,162,8,44,39,8,24,9,223,0,33,60,89,162,44,38,47,9,223,0,33, -61,89,162,44,37,46,9,223,0,33,62,80,159,36,49,37,83,158,36,16,2, -89,162,8,44,39,52,2,16,223,0,33,64,80,159,36,50,37,94,29,94,2, -17,68,35,37,107,101,114,110,101,108,11,29,94,2,17,69,35,37,109,105,110, -45,115,116,120,11,9,9,9,36,0}; - EVAL_ONE_SIZED_STR((char *)expr, 6246); +139,14,248,22,72,23,196,2,27,249,22,132,14,23,196,1,23,206,2,28,248, +22,190,13,23,194,2,250,2,54,23,15,23,16,195,87,94,23,193,1,27,248, +22,73,23,197,1,28,248,22,79,23,194,2,11,27,248,22,139,14,248,22,72, +23,196,2,27,249,22,132,14,23,196,1,23,209,2,28,248,22,190,13,23,194, +2,250,2,54,23,18,23,19,195,87,94,23,193,1,27,248,22,73,23,197,1, +28,248,22,79,23,194,2,11,27,248,22,139,14,248,22,72,195,27,249,22,132, +14,23,196,1,23,19,28,248,22,190,13,193,250,2,54,23,21,23,22,195,251, +2,58,23,21,23,22,23,23,248,22,73,199,87,95,28,28,248,22,178,13,23, +195,2,10,28,248,22,175,6,23,195,2,28,248,22,136,14,23,195,2,10,248, +22,137,14,23,195,2,11,12,250,22,152,9,2,15,6,25,25,112,97,116,104, +32,111,114,32,115,116,114,105,110,103,32,40,115,97,110,115,32,110,117,108,41, +23,197,2,28,28,23,195,2,28,28,248,22,178,13,23,196,2,10,28,248,22, +175,6,23,196,2,28,248,22,136,14,23,196,2,10,248,22,137,14,23,196,2, +11,248,22,136,14,23,196,2,11,10,12,250,22,152,9,2,15,6,29,29,35, +102,32,111,114,32,114,101,108,97,116,105,118,101,32,112,97,116,104,32,111,114, +32,115,116,114,105,110,103,23,198,2,28,28,248,22,136,14,23,195,2,91,159, +39,11,90,161,39,36,11,248,22,135,14,23,198,2,249,22,182,8,194,68,114, +101,108,97,116,105,118,101,11,27,248,22,129,8,6,4,4,80,65,84,72,27, +28,23,194,2,27,249,80,159,41,48,38,23,197,1,9,28,249,22,182,8,247, +22,131,8,2,21,249,22,71,248,22,187,13,5,1,46,194,192,87,94,23,194, +1,9,28,248,22,79,23,194,2,11,27,248,22,139,14,248,22,72,23,196,2, +27,249,22,132,14,23,196,1,23,200,2,28,248,22,190,13,23,194,2,250,2, +54,201,202,195,87,94,23,193,1,27,248,22,73,23,197,1,28,248,22,79,23, +194,2,11,27,248,22,139,14,248,22,72,23,196,2,27,249,22,132,14,23,196, +1,23,203,2,28,248,22,190,13,23,194,2,250,2,54,204,205,195,87,94,23, +193,1,27,248,22,73,23,197,1,28,248,22,79,23,194,2,11,27,248,22,139, +14,248,22,72,195,27,249,22,132,14,23,196,1,205,28,248,22,190,13,193,250, +2,54,23,15,23,16,195,251,2,58,23,15,23,16,23,17,248,22,73,199,27, +248,22,139,14,23,196,1,28,248,22,190,13,193,250,2,54,198,199,195,11,250, +80,159,39,49,37,196,197,11,250,80,159,39,49,37,196,11,11,87,94,249,22, +166,6,247,22,138,5,195,248,22,128,6,249,22,184,3,36,249,22,168,3,197, +198,27,28,23,197,2,87,95,23,196,1,23,195,1,23,197,1,87,94,23,197, +1,27,248,22,154,14,2,20,27,249,80,159,41,49,37,23,196,1,11,27,27, +248,22,187,3,23,200,1,28,192,192,36,27,27,248,22,187,3,23,202,1,28, +192,192,36,249,22,169,5,23,197,1,83,158,40,20,100,95,89,162,8,44,36, +48,9,224,3,2,33,63,23,195,1,23,196,1,27,248,22,154,5,23,195,1, +248,80,159,39,54,37,193,159,36,20,105,159,36,16,1,11,16,0,83,158,42, +20,103,145,2,1,2,1,29,11,11,11,11,11,10,43,80,158,36,36,20,105, +159,38,16,17,2,2,2,3,2,4,2,5,2,6,2,7,2,8,2,9,2, +10,2,11,2,12,2,13,2,14,2,15,2,16,30,2,18,1,20,112,97,114, +97,109,101,116,101,114,105,122,97,116,105,111,110,45,107,101,121,4,30,2,18, +1,23,101,120,116,101,110,100,45,112,97,114,97,109,101,116,101,114,105,122,97, +116,105,111,110,3,16,0,16,0,36,16,0,36,16,4,2,6,2,5,2,3, +2,9,40,11,11,39,36,11,11,11,16,11,2,8,2,7,2,16,2,15,2, +13,2,12,2,4,2,11,2,14,2,10,2,2,16,11,11,11,11,11,11,11, +11,11,11,11,11,16,11,2,8,2,7,2,16,2,15,2,13,2,12,2,4, +2,11,2,14,2,10,2,2,47,47,37,11,11,11,16,0,16,0,16,0,36, +36,11,11,11,11,16,0,16,0,16,0,36,36,16,0,16,17,83,158,36,16, +2,89,162,8,44,37,51,2,19,223,0,33,30,80,159,36,54,37,83,158,36, +16,2,89,162,8,44,37,56,2,19,223,0,33,31,80,159,36,53,37,83,158, +36,16,2,32,0,89,162,44,37,45,2,2,222,33,32,80,159,36,36,37,83, +158,36,16,2,249,22,177,6,7,92,7,92,80,159,36,37,37,83,158,36,16, +2,89,162,44,37,54,2,4,223,0,33,33,80,159,36,38,37,83,158,36,16, +2,32,0,89,162,8,44,38,50,2,5,222,33,34,80,159,36,39,37,83,158, +36,16,2,32,0,89,162,8,44,39,51,2,6,222,33,36,80,159,36,40,37, +83,158,36,16,2,32,0,89,162,8,45,38,50,2,7,222,33,40,80,159,36, +41,37,83,158,36,16,2,32,0,89,162,44,40,52,2,8,222,33,43,80,159, +36,42,37,83,158,36,16,2,32,0,89,162,44,39,50,2,9,222,33,44,80, +159,36,43,37,83,158,36,16,2,32,0,89,162,44,38,53,2,10,222,33,45, +80,159,36,44,37,83,158,36,16,2,32,0,89,162,44,38,54,2,11,222,33, +46,80,159,36,45,37,83,158,36,16,2,32,0,89,162,44,37,44,2,12,222, +33,47,80,159,36,46,37,83,158,36,16,2,83,158,39,20,99,96,2,13,89, +162,44,36,44,9,223,0,33,48,89,162,44,37,45,9,223,0,33,49,89,162, +44,38,55,9,223,0,33,50,80,159,36,47,37,83,158,36,16,2,27,248,22, +161,14,248,22,187,7,27,28,249,22,182,8,247,22,131,8,2,21,6,1,1, +59,6,1,1,58,250,22,159,7,6,14,14,40,91,94,126,97,93,42,41,126, +97,40,46,42,41,23,196,2,23,196,1,89,162,8,44,38,48,2,14,223,0, +33,53,80,159,36,48,37,83,158,36,16,2,83,158,39,20,99,96,2,15,89, +162,8,44,39,8,24,9,223,0,33,60,89,162,44,38,47,9,223,0,33,61, +89,162,44,37,46,9,223,0,33,62,80,159,36,49,37,83,158,36,16,2,89, +162,8,44,39,52,2,16,223,0,33,64,80,159,36,50,37,94,29,94,2,17, +68,35,37,107,101,114,110,101,108,11,29,94,2,17,69,35,37,109,105,110,45, +115,116,120,11,9,9,9,36,0}; + EVAL_ONE_SIZED_STR((char *)expr, 6245); } { - SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,8,52,46,50,46,53,46,49,54,9,0,0,0,1,0,0,10,0,16, -0,29,0,44,0,58,0,72,0,86,0,128,0,0,0,57,1,0,0,69,35, -37,98,117,105,108,116,105,110,65,113,117,111,116,101,29,94,2,2,67,35,37, -117,116,105,108,115,11,29,94,2,2,69,35,37,110,101,116,119,111,114,107,11, -29,94,2,2,68,35,37,112,97,114,97,109,122,11,29,94,2,2,68,35,37, -101,120,112,111,98,115,11,29,94,2,2,68,35,37,107,101,114,110,101,108,11, -97,36,11,8,240,129,81,0,0,98,159,2,3,36,36,159,2,4,36,36,159, -2,5,36,36,159,2,6,36,36,159,2,7,36,36,159,2,7,36,36,16,0, -159,36,20,105,159,36,16,1,11,16,0,83,158,42,20,103,145,2,1,2,1, -29,11,11,11,11,11,18,96,11,44,44,44,36,80,158,36,36,20,105,159,36, -16,0,16,0,16,0,36,16,0,36,16,0,36,11,11,39,36,11,11,11,16, -0,16,0,16,0,36,36,37,11,11,11,16,0,16,0,16,0,36,36,11,11, -11,11,16,0,16,0,16,0,36,36,16,0,16,0,102,2,7,2,6,29,94, -2,2,69,35,37,102,111,114,101,105,103,110,11,29,94,2,2,68,35,37,117, -110,115,97,102,101,11,29,94,2,2,69,35,37,102,108,102,120,110,117,109,11, -2,5,2,4,2,3,29,94,2,2,67,35,37,112,108,97,99,101,11,29,94, -2,2,69,35,37,102,117,116,117,114,101,115,11,9,9,9,36,0}; - EVAL_ONE_SIZED_STR((char *)expr, 353); + SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,53,46,48,46,48,46,49,9,0,0,0,1,0,0,10,0,16,0, +29,0,44,0,58,0,72,0,86,0,128,0,0,0,57,1,0,0,69,35,37, +98,117,105,108,116,105,110,65,113,117,111,116,101,29,94,2,2,67,35,37,117, +116,105,108,115,11,29,94,2,2,69,35,37,110,101,116,119,111,114,107,11,29, +94,2,2,68,35,37,112,97,114,97,109,122,11,29,94,2,2,68,35,37,101, +120,112,111,98,115,11,29,94,2,2,68,35,37,107,101,114,110,101,108,11,97, +36,11,8,240,6,82,0,0,98,159,2,3,36,36,159,2,4,36,36,159,2, +5,36,36,159,2,6,36,36,159,2,7,36,36,159,2,7,36,36,16,0,159, +36,20,105,159,36,16,1,11,16,0,83,158,42,20,103,145,2,1,2,1,29, +11,11,11,11,11,18,96,11,44,44,44,36,80,158,36,36,20,105,159,36,16, +0,16,0,16,0,36,16,0,36,16,0,36,11,11,39,36,11,11,11,16,0, +16,0,16,0,36,36,37,11,11,11,16,0,16,0,16,0,36,36,11,11,11, +11,16,0,16,0,16,0,36,36,16,0,16,0,102,2,7,2,6,29,94,2, +2,69,35,37,102,111,114,101,105,103,110,11,29,94,2,2,68,35,37,117,110, +115,97,102,101,11,29,94,2,2,69,35,37,102,108,102,120,110,117,109,11,2, +5,2,4,2,3,29,94,2,2,67,35,37,112,108,97,99,101,11,29,94,2, +2,69,35,37,102,117,116,117,114,101,115,11,9,9,9,36,0}; + EVAL_ONE_SIZED_STR((char *)expr, 352); } { - SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,8,52,46,50,46,53,46,49,54,74,0,0,0,1,0,0,7,0,18, -0,45,0,51,0,64,0,73,0,80,0,102,0,124,0,150,0,162,0,180,0, -200,0,212,0,228,0,251,0,7,1,38,1,45,1,50,1,55,1,60,1,65, -1,70,1,79,1,84,1,88,1,94,1,101,1,107,1,115,1,124,1,145,1, -166,1,196,1,226,1,27,2,84,2,132,2,180,2,97,8,116,8,129,8,31, -9,43,9,177,9,219,10,86,11,92,11,106,11,118,11,208,11,221,11,84,12, -96,12,186,12,199,12,62,13,89,13,102,13,114,13,204,13,217,13,80,14,93, -14,212,14,220,14,49,15,51,15,120,15,114,23,166,23,189,23,0,0,91,26, -0,0,66,35,37,98,111,111,116,70,100,108,108,45,115,117,102,102,105,120,1, -25,100,101,102,97,117,108,116,45,108,111,97,100,47,117,115,101,45,99,111,109, -112,105,108,101,100,65,113,117,111,116,101,29,94,2,4,67,35,37,117,116,105, -108,115,11,68,35,37,112,97,114,97,109,122,29,94,2,4,2,6,11,1,20, -112,97,114,97,109,101,116,101,114,105,122,97,116,105,111,110,45,107,101,121,1, -20,100,101,102,97,117,108,116,45,114,101,97,100,101,114,45,103,117,97,114,100, -1,24,45,109,111,100,117,108,101,45,104,97,115,104,45,116,97,98,108,101,45, -116,97,98,108,101,71,45,112,97,116,104,45,99,97,99,104,101,77,45,108,111, -97,100,105,110,103,45,102,105,108,101,110,97,109,101,79,45,108,111,97,100,105, -110,103,45,112,114,111,109,112,116,45,116,97,103,71,45,112,114,101,118,45,114, -101,108,116,111,75,45,112,114,101,118,45,114,101,108,116,111,45,100,105,114,1, -21,115,112,108,105,116,45,114,101,108,97,116,105,118,101,45,115,116,114,105,110, -103,71,111,114,105,103,45,112,97,114,97,109,122,1,29,115,116,97,110,100,97, -114,100,45,109,111,100,117,108,101,45,110,97,109,101,45,114,101,115,111,108,118, -101,114,29,94,2,4,2,6,11,64,98,111,111,116,64,115,101,97,108,64,115, -97,109,101,5,3,46,122,111,5,3,46,122,111,6,6,6,110,97,116,105,118, -101,64,108,111,111,112,63,108,105,98,6,3,3,46,115,115,6,4,4,46,114, -107,116,5,4,46,114,107,116,67,105,103,110,111,114,101,100,249,22,14,195,80, -159,38,46,38,250,22,132,14,23,197,1,23,199,1,249,80,159,43,39,38,23, -198,1,2,23,250,22,132,14,23,197,1,23,199,1,249,80,159,43,39,38,23, -198,1,2,24,252,22,132,14,23,199,1,23,201,1,2,25,247,22,132,8,249, -80,159,45,39,38,23,200,1,80,159,45,36,38,252,22,132,14,23,199,1,23, -201,1,2,25,247,22,132,8,249,80,159,45,39,38,23,200,1,80,159,45,36, -38,27,252,22,132,14,23,200,1,23,202,1,2,25,247,22,132,8,249,80,159, -46,39,38,23,201,1,80,159,46,36,38,27,250,22,149,14,196,11,32,0,89, -162,8,44,36,41,9,222,11,28,192,249,22,71,195,194,11,27,252,22,132,14, -23,200,1,23,202,1,2,25,247,22,132,8,249,80,159,46,39,38,23,201,1, -80,159,46,36,38,27,250,22,149,14,196,11,32,0,89,162,8,44,36,41,9, -222,11,28,192,249,22,71,195,194,11,27,250,22,132,14,23,198,1,23,200,1, -249,80,159,44,39,38,23,199,1,2,23,27,250,22,149,14,196,11,32,0,89, -162,8,44,36,41,9,222,11,28,192,249,22,71,195,194,11,27,250,22,132,14, -23,198,1,23,200,1,249,80,159,44,39,38,23,199,1,2,24,27,250,22,149, -14,196,11,32,0,89,162,8,44,36,41,9,222,11,28,192,249,22,71,195,194, -11,87,94,28,248,80,159,37,38,38,23,195,2,12,250,22,152,9,77,108,111, -97,100,47,117,115,101,45,99,111,109,112,105,108,101,100,6,25,25,112,97,116, -104,32,111,114,32,118,97,108,105,100,45,112,97,116,104,32,115,116,114,105,110, -103,23,197,2,91,159,46,11,90,161,37,36,11,28,248,22,138,14,23,205,2, -23,204,2,27,247,22,143,5,28,23,193,2,249,22,139,14,23,207,2,23,195, -1,23,205,2,90,161,39,37,11,248,22,135,14,23,205,1,87,94,23,196,1, -90,161,38,40,11,28,23,205,2,27,248,22,183,13,23,197,2,27,248,22,167, -7,23,195,2,28,28,249,22,180,3,23,195,2,40,249,22,170,7,5,4,46, -114,107,116,249,22,173,7,23,198,2,249,22,168,3,23,199,2,40,11,249,22, -7,23,199,2,248,22,187,13,249,22,174,7,250,22,173,7,23,202,1,36,249, -22,168,3,23,203,1,40,5,3,46,115,115,249,22,7,23,199,2,11,249,22, -7,23,197,2,11,90,161,37,42,11,28,249,22,182,8,23,199,2,23,197,2, -23,193,2,249,22,132,14,23,196,2,23,199,2,90,161,37,43,11,28,23,198, -2,28,249,22,182,8,23,200,2,23,197,1,23,193,1,87,94,23,193,1,249, -22,132,14,23,196,2,23,200,2,87,94,23,195,1,11,90,161,37,44,11,28, -249,22,182,8,23,196,2,68,114,101,108,97,116,105,118,101,87,94,23,194,1, -2,22,23,194,1,90,161,37,45,11,247,22,157,14,27,27,250,22,149,14,23, -204,2,11,32,0,89,162,8,44,36,41,9,222,11,28,192,249,22,71,23,203, -2,194,11,27,28,23,202,2,28,23,194,2,11,27,250,22,149,14,23,206,2, -11,32,0,89,162,8,44,36,41,9,222,11,28,192,249,22,71,23,205,2,194, -11,11,27,28,23,195,2,23,195,2,23,194,2,27,89,162,44,37,50,62,122, -111,225,14,12,8,33,33,27,89,162,44,37,50,66,97,108,116,45,122,111,225, -15,13,10,33,34,27,89,162,44,37,52,9,225,16,14,10,33,35,27,89,162, -44,37,52,9,225,17,15,12,33,36,27,28,23,200,2,23,200,2,248,22,180, -8,23,200,2,27,28,23,207,2,28,23,200,2,87,94,23,201,1,23,200,2, -248,22,180,8,23,202,1,11,27,28,23,195,2,28,23,197,1,27,249,22,5, -89,162,8,44,37,53,9,225,23,21,17,33,37,23,215,2,27,28,23,202,2, -11,193,28,192,192,28,193,28,23,202,2,28,249,22,180,3,248,22,73,196,248, -22,73,23,205,2,193,11,11,11,11,87,94,23,197,1,11,28,23,193,2,87, -105,23,212,1,23,210,1,23,209,1,23,208,1,23,207,1,23,201,1,23,200, -1,23,199,1,23,198,1,23,196,1,23,195,1,23,194,1,20,14,159,80,159, -56,40,38,250,80,159,59,41,38,249,22,27,11,80,159,8,25,40,38,22,167, -4,11,20,14,159,80,159,56,40,38,250,80,159,59,41,38,249,22,27,11,80, -159,8,25,40,38,22,143,5,28,248,22,178,13,23,215,2,23,214,1,87,94, -23,214,1,247,22,155,14,249,247,22,160,14,248,22,72,195,23,24,87,94,23, -193,1,27,28,23,195,2,28,23,197,1,27,249,22,5,89,162,8,44,37,53, -9,225,24,22,19,33,38,23,216,2,27,28,23,204,2,11,193,28,192,192,28, -193,28,203,28,249,22,180,3,248,22,73,196,248,22,73,206,193,11,11,11,11, -87,94,23,197,1,11,28,23,193,2,87,102,23,213,1,23,210,1,23,209,1, -23,208,1,23,201,1,23,200,1,23,199,1,23,196,1,23,195,1,20,14,159, -80,159,57,40,38,250,80,159,8,24,41,38,249,22,27,11,80,159,8,26,40, -38,22,167,4,23,214,1,20,14,159,80,159,57,40,38,250,80,159,8,24,41, -38,249,22,27,11,80,159,8,26,40,38,22,143,5,28,248,22,178,13,23,216, -2,23,215,1,87,94,23,215,1,247,22,155,14,249,247,22,160,14,248,22,72, -195,23,25,87,94,23,193,1,27,28,23,197,2,28,23,201,1,27,249,22,5, -83,158,40,20,100,94,89,162,8,44,37,51,9,225,25,23,19,33,39,23,212, -1,23,217,2,27,28,23,204,2,11,193,28,192,192,28,193,28,23,204,2,28, -249,22,180,3,248,22,73,196,248,22,73,23,207,2,193,11,11,11,87,94,23, -209,1,11,87,94,23,201,1,11,28,23,193,2,87,101,23,214,1,23,212,1, -23,211,1,23,210,1,23,202,1,23,200,1,23,197,1,23,196,1,20,14,159, -80,159,58,40,38,250,80,159,8,25,41,38,249,22,27,11,80,159,8,27,40, -38,22,167,4,11,20,14,159,80,159,58,40,38,250,80,159,8,25,41,38,249, -22,27,11,80,159,8,27,40,38,22,143,5,28,248,22,178,13,23,217,2,23, -216,1,87,94,23,216,1,247,22,155,14,249,247,22,141,5,248,22,72,195,23, -26,87,94,23,193,1,27,28,23,197,1,28,23,201,1,27,249,22,5,83,158, -40,20,100,94,89,162,8,44,37,51,9,225,26,24,21,33,40,23,214,1,23, -218,1,27,28,23,205,2,11,193,28,192,192,28,193,28,204,28,249,22,180,3, -248,22,73,196,248,22,73,23,15,193,11,11,11,87,95,23,215,1,23,211,1, -11,87,94,23,201,1,11,28,23,193,2,87,95,23,212,1,23,198,1,20,14, -159,80,159,59,40,38,250,80,159,8,26,41,38,249,22,27,11,80,159,8,28, -40,38,22,167,4,23,216,1,20,14,159,80,159,59,40,38,250,80,159,8,26, -41,38,249,22,27,11,80,159,8,28,40,38,22,143,5,28,248,22,178,13,23, -218,2,23,217,1,87,94,23,217,1,247,22,155,14,249,247,22,141,5,248,22, -72,195,23,27,87,94,23,193,1,27,28,23,199,2,87,94,23,214,1,23,213, -1,87,94,23,213,1,23,214,1,20,14,159,80,159,8,24,40,38,250,80,159, -8,27,41,38,249,22,27,11,80,159,8,29,40,38,22,167,4,28,23,29,28, -23,202,1,11,195,87,94,23,202,1,11,20,14,159,80,159,8,24,40,38,250, -80,159,8,27,41,38,249,22,27,11,80,159,8,29,40,38,22,143,5,28,248, -22,178,13,23,219,2,23,218,1,87,94,23,218,1,247,22,155,14,249,247,22, -141,5,194,23,28,0,17,35,114,120,34,94,40,46,42,63,41,47,40,46,42, -41,36,34,32,43,89,162,8,44,37,59,2,26,222,33,44,27,249,22,165,14, -2,42,23,196,2,28,23,193,2,87,94,23,194,1,249,22,71,248,22,96,23, -196,2,27,248,22,105,23,197,1,27,249,22,165,14,2,42,23,196,2,28,23, -193,2,87,94,23,194,1,249,22,71,248,22,96,23,196,2,27,248,22,105,23, -197,1,27,249,22,165,14,2,42,23,196,2,28,23,193,2,87,94,23,194,1, -249,22,71,248,22,96,23,196,2,27,248,22,105,23,197,1,27,249,22,165,14, -2,42,23,196,2,28,23,193,2,87,94,23,194,1,249,22,71,248,22,96,23, -196,2,248,2,43,248,22,105,23,197,1,248,22,81,194,248,22,81,194,248,22, -81,194,248,22,81,194,32,45,89,162,44,37,55,2,26,222,33,46,28,248,22, -79,248,22,73,23,195,2,249,22,7,9,248,22,72,195,91,159,38,11,90,161, -38,36,11,27,248,22,73,196,28,248,22,79,248,22,73,23,195,2,249,22,7, -9,248,22,72,195,91,159,38,11,90,161,38,36,11,27,248,22,73,196,28,248, -22,79,248,22,73,23,195,2,249,22,7,9,248,22,72,195,91,159,38,11,90, -161,38,36,11,248,2,45,248,22,73,196,249,22,7,249,22,71,248,22,72,199, -196,195,249,22,7,249,22,71,248,22,72,199,196,195,249,22,7,249,22,71,248, -22,72,199,196,195,27,27,249,22,165,14,2,42,23,197,2,28,23,193,2,87, -94,23,195,1,249,22,71,248,22,96,23,196,2,27,248,22,105,23,197,1,27, -249,22,165,14,2,42,23,196,2,28,23,193,2,87,94,23,194,1,249,22,71, -248,22,96,23,196,2,27,248,22,105,23,197,1,27,249,22,165,14,2,42,23, -196,2,28,23,193,2,87,94,23,194,1,249,22,71,248,22,96,23,196,2,27, -248,22,105,23,197,1,27,249,22,165,14,2,42,23,196,2,28,23,193,2,87, -94,23,194,1,249,22,71,248,22,96,23,196,2,248,2,43,248,22,105,23,197, -1,248,22,81,194,248,22,81,194,248,22,81,194,248,22,81,195,28,23,195,1, -192,28,248,22,79,248,22,73,23,195,2,249,22,7,9,248,22,72,195,91,159, -38,11,90,161,38,36,11,27,248,22,73,196,28,248,22,79,248,22,73,23,195, -2,249,22,7,9,248,22,72,195,91,159,38,11,90,161,38,36,11,27,248,22, -73,196,28,248,22,79,248,22,73,23,195,2,249,22,7,9,248,22,72,195,91, -159,38,11,90,161,38,36,11,248,2,45,248,22,73,196,249,22,7,249,22,71, -248,22,72,199,196,195,249,22,7,249,22,71,248,22,72,199,196,195,249,22,7, -249,22,71,248,22,72,199,196,195,87,95,28,248,22,185,4,195,12,250,22,152, -9,2,18,6,20,20,114,101,115,111,108,118,101,100,45,109,111,100,117,108,101, -45,112,97,116,104,197,28,24,193,2,248,24,194,1,195,87,94,23,193,1,12, -27,27,250,22,150,2,80,159,42,43,38,248,22,190,14,247,22,158,12,11,28, -23,193,2,192,87,94,23,193,1,27,247,22,130,2,87,94,250,22,148,2,80, -159,43,43,38,248,22,190,14,247,22,158,12,195,192,250,22,148,2,195,198,66, -97,116,116,97,99,104,251,211,197,198,199,10,28,192,250,22,151,9,11,196,195, -248,22,149,9,194,32,51,89,162,44,37,52,2,26,222,33,52,28,248,22,79, -248,22,73,23,195,2,249,22,7,9,248,22,72,195,91,159,38,11,90,161,38, -36,11,27,248,22,73,196,28,248,22,79,248,22,73,23,195,2,249,22,7,9, -248,22,72,195,91,159,38,11,90,161,38,36,11,248,2,51,248,22,73,196,249, -22,7,249,22,71,248,22,72,199,196,195,249,22,7,249,22,71,248,22,72,199, -196,195,32,53,89,162,8,44,37,55,2,26,222,33,54,27,249,22,165,14,2, + SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,53,46,48,46,48,46,49,74,0,0,0,1,0,0,7,0,18,0, +45,0,51,0,64,0,73,0,80,0,102,0,124,0,150,0,162,0,180,0,200, +0,212,0,228,0,251,0,7,1,38,1,45,1,50,1,55,1,60,1,65,1, +70,1,79,1,84,1,88,1,94,1,101,1,107,1,115,1,124,1,145,1,166, +1,196,1,226,1,27,2,84,2,132,2,180,2,97,8,116,8,129,8,31,9, +43,9,177,9,219,10,86,11,92,11,106,11,118,11,208,11,221,11,84,12,96, +12,186,12,199,12,62,13,89,13,102,13,114,13,204,13,217,13,80,14,93,14, +212,14,220,14,49,15,51,15,120,15,124,23,176,23,199,23,0,0,101,26,0, +0,66,35,37,98,111,111,116,70,100,108,108,45,115,117,102,102,105,120,1,25, +100,101,102,97,117,108,116,45,108,111,97,100,47,117,115,101,45,99,111,109,112, +105,108,101,100,65,113,117,111,116,101,29,94,2,4,67,35,37,117,116,105,108, +115,11,68,35,37,112,97,114,97,109,122,29,94,2,4,2,6,11,1,20,112, +97,114,97,109,101,116,101,114,105,122,97,116,105,111,110,45,107,101,121,1,20, +100,101,102,97,117,108,116,45,114,101,97,100,101,114,45,103,117,97,114,100,1, +24,45,109,111,100,117,108,101,45,104,97,115,104,45,116,97,98,108,101,45,116, +97,98,108,101,71,45,112,97,116,104,45,99,97,99,104,101,77,45,108,111,97, +100,105,110,103,45,102,105,108,101,110,97,109,101,79,45,108,111,97,100,105,110, +103,45,112,114,111,109,112,116,45,116,97,103,71,45,112,114,101,118,45,114,101, +108,116,111,75,45,112,114,101,118,45,114,101,108,116,111,45,100,105,114,1,21, +115,112,108,105,116,45,114,101,108,97,116,105,118,101,45,115,116,114,105,110,103, +71,111,114,105,103,45,112,97,114,97,109,122,1,29,115,116,97,110,100,97,114, +100,45,109,111,100,117,108,101,45,110,97,109,101,45,114,101,115,111,108,118,101, +114,29,94,2,4,2,6,11,64,98,111,111,116,64,115,101,97,108,64,115,97, +109,101,5,3,46,122,111,5,3,46,122,111,6,6,6,110,97,116,105,118,101, +64,108,111,111,112,63,108,105,98,6,3,3,46,115,115,6,4,4,46,114,107, +116,5,4,46,114,107,116,67,105,103,110,111,114,101,100,249,22,14,195,80,159, +38,46,38,250,22,132,14,23,197,1,23,199,1,249,80,159,43,39,38,23,198, +1,2,23,250,22,132,14,23,197,1,23,199,1,249,80,159,43,39,38,23,198, +1,2,24,252,22,132,14,23,199,1,23,201,1,2,25,247,22,132,8,249,80, +159,45,39,38,23,200,1,80,159,45,36,38,252,22,132,14,23,199,1,23,201, +1,2,25,247,22,132,8,249,80,159,45,39,38,23,200,1,80,159,45,36,38, +27,252,22,132,14,23,200,1,23,202,1,2,25,247,22,132,8,249,80,159,46, +39,38,23,201,1,80,159,46,36,38,27,250,22,149,14,196,11,32,0,89,162, +8,44,36,41,9,222,11,28,192,249,22,71,195,194,11,27,252,22,132,14,23, +200,1,23,202,1,2,25,247,22,132,8,249,80,159,46,39,38,23,201,1,80, +159,46,36,38,27,250,22,149,14,196,11,32,0,89,162,8,44,36,41,9,222, +11,28,192,249,22,71,195,194,11,27,250,22,132,14,23,198,1,23,200,1,249, +80,159,44,39,38,23,199,1,2,23,27,250,22,149,14,196,11,32,0,89,162, +8,44,36,41,9,222,11,28,192,249,22,71,195,194,11,27,250,22,132,14,23, +198,1,23,200,1,249,80,159,44,39,38,23,199,1,2,24,27,250,22,149,14, +196,11,32,0,89,162,8,44,36,41,9,222,11,28,192,249,22,71,195,194,11, +87,94,28,248,80,159,37,38,38,23,195,2,12,250,22,152,9,77,108,111,97, +100,47,117,115,101,45,99,111,109,112,105,108,101,100,6,25,25,112,97,116,104, +32,111,114,32,118,97,108,105,100,45,112,97,116,104,32,115,116,114,105,110,103, +23,197,2,91,159,46,11,90,161,37,36,11,28,248,22,138,14,23,205,2,23, +204,2,27,247,22,143,5,28,23,193,2,249,22,139,14,23,207,2,23,195,1, +23,205,2,90,161,39,37,11,248,22,135,14,23,205,1,87,94,23,196,1,90, +161,38,40,11,28,23,205,2,27,248,22,183,13,23,197,2,27,248,22,167,7, +23,195,2,28,28,249,22,180,3,23,195,2,40,249,22,170,7,5,4,46,114, +107,116,249,22,173,7,23,198,2,249,22,168,3,23,199,2,40,11,249,22,7, +23,199,2,248,22,187,13,249,22,174,7,250,22,173,7,23,202,1,36,249,22, +168,3,23,203,1,40,5,3,46,115,115,249,22,7,23,199,2,11,249,22,7, +23,197,2,11,90,161,37,42,11,28,249,22,182,8,23,199,2,23,197,2,23, +193,2,249,22,132,14,23,196,2,23,199,2,90,161,37,43,11,28,23,198,2, +28,249,22,182,8,23,200,2,23,197,1,23,193,1,87,94,23,193,1,249,22, +132,14,23,196,2,23,200,2,87,94,23,195,1,11,90,161,37,44,11,28,249, +22,182,8,23,196,2,68,114,101,108,97,116,105,118,101,87,94,23,194,1,2, +22,23,194,1,90,161,37,45,11,247,22,157,14,27,27,250,22,149,14,23,204, +2,11,32,0,89,162,8,44,36,41,9,222,11,28,192,249,22,71,23,203,2, +194,11,27,28,23,202,2,28,23,194,2,11,27,250,22,149,14,23,206,2,11, +32,0,89,162,8,44,36,41,9,222,11,28,192,249,22,71,23,205,2,194,11, +11,27,28,23,195,2,23,195,2,23,194,2,27,89,162,44,37,50,62,122,111, +225,14,12,8,33,33,27,89,162,44,37,50,66,97,108,116,45,122,111,225,15, +13,10,33,34,27,89,162,44,37,52,9,225,16,14,10,33,35,27,89,162,44, +37,52,9,225,17,15,12,33,36,27,28,23,200,2,23,200,2,248,22,180,8, +23,200,2,27,28,23,207,2,28,23,200,2,87,94,23,201,1,23,200,2,248, +22,180,8,23,202,1,11,27,28,23,195,2,28,23,197,1,27,249,22,5,89, +162,8,44,37,53,9,225,23,21,17,33,37,23,215,2,27,28,23,202,2,11, +193,28,192,192,28,193,28,23,202,2,28,249,22,180,3,248,22,73,196,248,22, +73,23,205,2,193,11,11,11,11,87,94,23,197,1,11,28,23,193,2,87,105, +23,212,1,23,210,1,23,209,1,23,208,1,23,207,1,23,201,1,23,200,1, +23,199,1,23,198,1,23,196,1,23,195,1,23,194,1,20,14,159,80,159,56, +40,38,250,80,159,59,41,38,249,22,27,11,80,159,8,25,40,38,22,167,4, +11,20,14,159,80,159,56,40,38,250,80,159,59,41,38,249,22,27,11,80,159, +8,25,40,38,22,143,5,28,248,22,178,13,23,215,2,23,214,1,87,94,23, +214,1,247,22,155,14,249,247,22,160,14,248,22,72,195,23,24,87,94,23,193, +1,27,28,23,195,2,28,23,197,1,27,249,22,5,89,162,8,44,37,53,9, +225,24,22,19,33,38,23,216,2,27,28,23,204,2,11,193,28,192,192,28,193, +28,203,28,249,22,180,3,248,22,73,196,248,22,73,206,193,11,11,11,11,87, +94,23,197,1,11,28,23,193,2,87,102,23,213,1,23,210,1,23,209,1,23, +208,1,23,201,1,23,200,1,23,199,1,23,196,1,23,195,1,20,14,159,80, +159,57,40,38,250,80,159,8,24,41,38,249,22,27,11,80,159,8,26,40,38, +22,167,4,23,214,1,20,14,159,80,159,57,40,38,250,80,159,8,24,41,38, +249,22,27,11,80,159,8,26,40,38,22,143,5,28,248,22,178,13,23,216,2, +23,215,1,87,94,23,215,1,247,22,155,14,249,247,22,160,14,248,22,72,195, +23,25,87,94,23,193,1,27,28,23,197,2,28,23,201,1,27,249,22,5,83, +158,40,20,100,94,89,162,8,44,37,51,9,225,25,23,19,33,39,23,212,1, +23,217,2,27,28,23,204,2,11,193,28,192,192,28,193,28,23,204,2,28,249, +22,180,3,248,22,73,196,248,22,73,23,207,2,193,11,11,11,87,94,23,209, +1,11,87,94,23,201,1,11,28,23,193,2,87,101,23,214,1,23,212,1,23, +211,1,23,210,1,23,202,1,23,200,1,23,197,1,23,196,1,20,14,159,80, +159,58,40,38,250,80,159,8,25,41,38,249,22,27,11,80,159,8,27,40,38, +22,167,4,11,20,14,159,80,159,58,40,38,250,80,159,8,25,41,38,249,22, +27,11,80,159,8,27,40,38,22,143,5,28,248,22,178,13,23,217,2,23,216, +1,87,94,23,216,1,247,22,155,14,249,247,22,141,5,248,22,72,195,23,26, +87,94,23,193,1,27,28,23,197,1,28,23,201,1,27,249,22,5,83,158,40, +20,100,94,89,162,8,44,37,51,9,225,26,24,21,33,40,23,214,1,23,218, +1,27,28,23,205,2,11,193,28,192,192,28,193,28,204,28,249,22,180,3,248, +22,73,196,248,22,73,23,15,193,11,11,11,87,95,23,215,1,23,211,1,11, +87,94,23,201,1,11,28,23,193,2,87,95,23,212,1,23,198,1,20,14,159, +80,159,59,40,38,250,80,159,8,26,41,38,249,22,27,11,80,159,8,28,40, +38,22,167,4,23,216,1,20,14,159,80,159,59,40,38,250,80,159,8,26,41, +38,249,22,27,11,80,159,8,28,40,38,22,143,5,28,248,22,178,13,23,218, +2,23,217,1,87,94,23,217,1,247,22,155,14,249,247,22,141,5,248,22,72, +195,23,27,87,94,23,193,1,27,28,23,199,2,87,94,23,214,1,23,213,1, +87,94,23,213,1,23,214,1,20,14,159,80,159,8,24,40,38,250,80,159,8, +27,41,38,249,22,27,11,80,159,8,29,40,38,22,167,4,28,23,29,28,23, +202,1,11,195,87,94,23,202,1,11,20,14,159,80,159,8,24,40,38,250,80, +159,8,27,41,38,249,22,27,11,80,159,8,29,40,38,22,143,5,28,248,22, +178,13,23,219,2,23,218,1,87,94,23,218,1,247,22,155,14,249,247,22,141, +5,194,23,28,0,17,35,114,120,34,94,40,46,42,63,41,47,40,46,42,41, +36,34,32,43,89,162,8,44,37,59,2,26,222,33,44,27,249,22,165,14,2, 42,23,196,2,28,23,193,2,87,94,23,194,1,249,22,71,248,22,96,23,196, 2,27,248,22,105,23,197,1,27,249,22,165,14,2,42,23,196,2,28,23,193, 2,87,94,23,194,1,249,22,71,248,22,96,23,196,2,27,248,22,105,23,197, 1,27,249,22,165,14,2,42,23,196,2,28,23,193,2,87,94,23,194,1,249, -22,71,248,22,96,23,196,2,248,2,53,248,22,105,23,197,1,248,22,81,194, -248,22,81,194,248,22,81,194,32,55,89,162,44,37,52,2,26,222,33,56,28, -248,22,79,248,22,73,23,195,2,249,22,7,9,248,22,72,195,91,159,38,11, -90,161,38,36,11,27,248,22,73,196,28,248,22,79,248,22,73,23,195,2,249, -22,7,9,248,22,72,195,91,159,38,11,90,161,38,36,11,248,2,55,248,22, -73,196,249,22,7,249,22,71,248,22,72,199,196,195,249,22,7,249,22,71,248, -22,72,199,196,195,32,57,89,162,8,44,37,55,2,26,222,33,58,27,249,22, -165,14,2,42,23,196,2,28,23,193,2,87,94,23,194,1,249,22,71,248,22, -96,23,196,2,27,248,22,105,23,197,1,27,249,22,165,14,2,42,23,196,2, -28,23,193,2,87,94,23,194,1,249,22,71,248,22,96,23,196,2,27,248,22, -105,23,197,1,27,249,22,165,14,2,42,23,196,2,28,23,193,2,87,94,23, -194,1,249,22,71,248,22,96,23,196,2,248,2,57,248,22,105,23,197,1,248, -22,81,194,248,22,81,194,248,22,81,194,28,249,22,181,6,194,6,1,1,46, -2,22,28,249,22,181,6,194,6,2,2,46,46,62,117,112,192,0,11,35,114, -120,34,91,46,93,115,115,36,34,32,61,89,162,44,37,52,2,26,222,33,62, -28,248,22,79,248,22,73,23,195,2,249,22,7,9,248,22,72,195,91,159,38, -11,90,161,38,36,11,27,248,22,73,196,28,248,22,79,248,22,73,23,195,2, -249,22,7,9,248,22,72,195,91,159,38,11,90,161,38,36,11,248,2,61,248, -22,73,196,249,22,7,249,22,71,248,22,72,199,196,195,249,22,7,249,22,71, -248,22,72,199,196,195,32,63,89,162,8,44,37,55,2,26,222,33,64,27,249, +22,71,248,22,96,23,196,2,27,248,22,105,23,197,1,27,249,22,165,14,2, +42,23,196,2,28,23,193,2,87,94,23,194,1,249,22,71,248,22,96,23,196, +2,248,2,43,248,22,105,23,197,1,248,22,81,194,248,22,81,194,248,22,81, +194,248,22,81,194,32,45,89,162,44,37,55,2,26,222,33,46,28,248,22,79, +248,22,73,23,195,2,249,22,7,9,248,22,72,195,91,159,38,11,90,161,38, +36,11,27,248,22,73,196,28,248,22,79,248,22,73,23,195,2,249,22,7,9, +248,22,72,195,91,159,38,11,90,161,38,36,11,27,248,22,73,196,28,248,22, +79,248,22,73,23,195,2,249,22,7,9,248,22,72,195,91,159,38,11,90,161, +38,36,11,248,2,45,248,22,73,196,249,22,7,249,22,71,248,22,72,199,196, +195,249,22,7,249,22,71,248,22,72,199,196,195,249,22,7,249,22,71,248,22, +72,199,196,195,27,27,249,22,165,14,2,42,23,197,2,28,23,193,2,87,94, +23,195,1,249,22,71,248,22,96,23,196,2,27,248,22,105,23,197,1,27,249, 22,165,14,2,42,23,196,2,28,23,193,2,87,94,23,194,1,249,22,71,248, 22,96,23,196,2,27,248,22,105,23,197,1,27,249,22,165,14,2,42,23,196, 2,28,23,193,2,87,94,23,194,1,249,22,71,248,22,96,23,196,2,27,248, 22,105,23,197,1,27,249,22,165,14,2,42,23,196,2,28,23,193,2,87,94, -23,194,1,249,22,71,248,22,96,23,196,2,248,2,63,248,22,105,23,197,1, -248,22,81,194,248,22,81,194,248,22,81,194,32,65,89,162,8,44,37,55,2, -26,222,33,66,27,249,22,165,14,2,42,23,196,2,28,23,193,2,87,94,23, -194,1,249,22,71,248,22,96,23,196,2,27,248,22,105,23,197,1,27,249,22, +23,194,1,249,22,71,248,22,96,23,196,2,248,2,43,248,22,105,23,197,1, +248,22,81,194,248,22,81,194,248,22,81,194,248,22,81,195,28,23,195,1,192, +28,248,22,79,248,22,73,23,195,2,249,22,7,9,248,22,72,195,91,159,38, +11,90,161,38,36,11,27,248,22,73,196,28,248,22,79,248,22,73,23,195,2, +249,22,7,9,248,22,72,195,91,159,38,11,90,161,38,36,11,27,248,22,73, +196,28,248,22,79,248,22,73,23,195,2,249,22,7,9,248,22,72,195,91,159, +38,11,90,161,38,36,11,248,2,45,248,22,73,196,249,22,7,249,22,71,248, +22,72,199,196,195,249,22,7,249,22,71,248,22,72,199,196,195,249,22,7,249, +22,71,248,22,72,199,196,195,87,95,28,248,22,185,4,195,12,250,22,152,9, +2,18,6,20,20,114,101,115,111,108,118,101,100,45,109,111,100,117,108,101,45, +112,97,116,104,197,28,24,193,2,248,24,194,1,195,87,94,23,193,1,12,27, +27,250,22,150,2,80,159,42,43,38,248,22,190,14,247,22,158,12,11,28,23, +193,2,192,87,94,23,193,1,27,247,22,130,2,87,94,250,22,148,2,80,159, +43,43,38,248,22,190,14,247,22,158,12,195,192,250,22,148,2,195,198,66,97, +116,116,97,99,104,251,211,197,198,199,10,28,192,250,22,151,9,11,196,195,248, +22,149,9,194,32,51,89,162,44,37,52,2,26,222,33,52,28,248,22,79,248, +22,73,23,195,2,249,22,7,9,248,22,72,195,91,159,38,11,90,161,38,36, +11,27,248,22,73,196,28,248,22,79,248,22,73,23,195,2,249,22,7,9,248, +22,72,195,91,159,38,11,90,161,38,36,11,248,2,51,248,22,73,196,249,22, +7,249,22,71,248,22,72,199,196,195,249,22,7,249,22,71,248,22,72,199,196, +195,32,53,89,162,8,44,37,55,2,26,222,33,54,27,249,22,165,14,2,42, +23,196,2,28,23,193,2,87,94,23,194,1,249,22,71,248,22,96,23,196,2, +27,248,22,105,23,197,1,27,249,22,165,14,2,42,23,196,2,28,23,193,2, +87,94,23,194,1,249,22,71,248,22,96,23,196,2,27,248,22,105,23,197,1, +27,249,22,165,14,2,42,23,196,2,28,23,193,2,87,94,23,194,1,249,22, +71,248,22,96,23,196,2,248,2,53,248,22,105,23,197,1,248,22,81,194,248, +22,81,194,248,22,81,194,32,55,89,162,44,37,52,2,26,222,33,56,28,248, +22,79,248,22,73,23,195,2,249,22,7,9,248,22,72,195,91,159,38,11,90, +161,38,36,11,27,248,22,73,196,28,248,22,79,248,22,73,23,195,2,249,22, +7,9,248,22,72,195,91,159,38,11,90,161,38,36,11,248,2,55,248,22,73, +196,249,22,7,249,22,71,248,22,72,199,196,195,249,22,7,249,22,71,248,22, +72,199,196,195,32,57,89,162,8,44,37,55,2,26,222,33,58,27,249,22,165, +14,2,42,23,196,2,28,23,193,2,87,94,23,194,1,249,22,71,248,22,96, +23,196,2,27,248,22,105,23,197,1,27,249,22,165,14,2,42,23,196,2,28, +23,193,2,87,94,23,194,1,249,22,71,248,22,96,23,196,2,27,248,22,105, +23,197,1,27,249,22,165,14,2,42,23,196,2,28,23,193,2,87,94,23,194, +1,249,22,71,248,22,96,23,196,2,248,2,57,248,22,105,23,197,1,248,22, +81,194,248,22,81,194,248,22,81,194,28,249,22,181,6,194,6,1,1,46,2, +22,28,249,22,181,6,194,6,2,2,46,46,62,117,112,192,0,11,35,114,120, +34,91,46,93,115,115,36,34,32,61,89,162,44,37,52,2,26,222,33,62,28, +248,22,79,248,22,73,23,195,2,249,22,7,9,248,22,72,195,91,159,38,11, +90,161,38,36,11,27,248,22,73,196,28,248,22,79,248,22,73,23,195,2,249, +22,7,9,248,22,72,195,91,159,38,11,90,161,38,36,11,248,2,61,248,22, +73,196,249,22,7,249,22,71,248,22,72,199,196,195,249,22,7,249,22,71,248, +22,72,199,196,195,32,63,89,162,8,44,37,55,2,26,222,33,64,27,249,22, 165,14,2,42,23,196,2,28,23,193,2,87,94,23,194,1,249,22,71,248,22, 96,23,196,2,27,248,22,105,23,197,1,27,249,22,165,14,2,42,23,196,2, -28,23,193,2,87,94,23,194,1,249,22,71,248,22,96,23,196,2,248,2,65, -248,22,105,23,197,1,248,22,81,194,248,22,81,194,248,22,81,194,27,248,2, -65,23,195,1,192,28,249,22,184,8,248,22,73,23,200,2,23,197,1,28,249, -22,182,8,248,22,72,23,200,2,23,196,1,251,22,149,9,2,18,6,26,26, -99,121,99,108,101,32,105,110,32,108,111,97,100,105,110,103,32,97,116,32,126, -101,58,32,126,101,23,200,1,249,22,2,22,73,248,22,86,249,22,71,23,206, -1,23,202,1,12,12,247,192,20,14,159,80,159,40,45,38,249,22,71,248,22, -190,14,247,22,158,12,23,197,1,20,14,159,80,159,40,40,38,250,80,159,43, -41,38,249,22,27,11,80,159,45,40,38,22,166,4,23,196,1,249,247,22,142, -5,23,198,1,248,22,59,248,22,182,13,23,198,1,87,94,28,28,248,22,178, -13,23,196,2,10,248,22,129,5,23,196,2,12,28,23,197,2,250,22,151,9, -11,6,15,15,98,97,100,32,109,111,100,117,108,101,32,112,97,116,104,23,200, -2,250,22,152,9,2,18,6,19,19,109,111,100,117,108,101,45,112,97,116,104, -32,111,114,32,112,97,116,104,23,198,2,28,28,248,22,69,23,196,2,249,22, -182,8,248,22,72,23,198,2,2,4,11,248,22,186,4,248,22,96,196,28,28, -248,22,69,23,196,2,249,22,182,8,248,22,72,23,198,2,66,112,108,97,110, -101,116,11,87,94,28,207,12,20,14,159,80,159,37,52,38,80,158,37,50,90, -161,37,36,10,249,22,168,4,21,94,2,27,6,19,19,112,108,97,110,101,116, -47,114,101,115,111,108,118,101,114,46,114,107,116,1,27,112,108,97,110,101,116, -45,109,111,100,117,108,101,45,110,97,109,101,45,114,101,115,111,108,118,101,114, -12,252,212,199,200,201,202,80,158,42,50,87,94,23,193,1,27,89,162,8,44, -37,46,79,115,104,111,119,45,99,111,108,108,101,99,116,105,111,110,45,101,114, -114,223,5,33,50,27,28,248,22,56,23,198,2,27,250,22,150,2,80,159,43, -44,38,249,22,71,23,203,2,247,22,156,14,11,28,23,193,2,192,87,94,23, -193,1,91,159,38,11,90,161,38,36,11,27,248,22,62,23,202,2,248,2,51, -248,2,53,23,195,1,27,251,80,159,47,54,38,2,18,23,202,1,28,248,22, -79,23,199,2,23,199,2,248,22,72,23,199,2,28,248,22,79,23,199,2,9, -248,22,73,23,199,2,249,22,132,14,23,195,1,28,248,22,79,23,197,1,87, -94,23,197,1,6,8,8,109,97,105,110,46,114,107,116,249,22,134,7,23,199, -1,6,4,4,46,114,107,116,28,248,22,175,6,23,198,2,87,94,23,194,1, -27,27,28,23,200,2,28,249,22,182,8,23,202,2,80,158,43,47,80,158,41, -48,27,248,22,187,4,23,202,2,28,248,22,178,13,23,194,2,91,159,39,11, -90,161,39,36,11,248,22,135,14,23,197,1,87,95,83,160,38,11,80,158,45, -47,23,204,2,83,160,38,11,80,158,45,48,192,192,11,11,28,23,193,2,192, -87,94,23,193,1,27,247,22,143,5,28,23,193,2,192,87,94,23,193,1,247, -22,155,14,27,250,22,150,2,80,159,44,44,38,249,22,71,23,204,2,23,199, -2,11,28,23,193,2,192,87,94,23,193,1,91,159,38,11,90,161,38,36,11, -248,2,55,248,2,57,23,203,2,250,22,1,22,132,14,23,199,1,249,22,85, -249,22,2,32,0,89,162,8,44,37,44,9,222,33,59,23,200,1,248,22,81, -27,248,22,178,6,23,202,2,28,249,22,180,3,194,39,28,249,22,181,6,2, -28,249,22,133,7,204,249,22,168,3,198,39,249,22,134,7,250,22,133,7,205, -36,249,22,168,3,199,39,2,29,200,200,28,248,22,178,13,23,198,2,87,94, -23,194,1,28,248,22,137,14,23,198,2,91,159,39,11,90,161,39,36,11,248, -22,135,14,23,201,2,87,95,23,195,1,23,193,1,28,249,22,165,14,2,60, -248,22,183,13,23,197,1,249,80,159,44,53,38,23,202,2,2,30,23,200,2, -248,22,81,6,26,26,32,40,97,32,112,97,116,104,32,109,117,115,116,32,98, -101,32,97,98,115,111,108,117,116,101,41,28,249,22,182,8,248,22,72,23,200, -2,2,27,27,250,22,150,2,80,159,43,44,38,249,22,71,23,203,2,247,22, -156,14,11,28,23,193,2,192,87,94,23,193,1,91,159,39,11,90,161,38,36, -11,27,248,22,96,23,203,2,248,2,61,248,2,63,23,195,1,90,161,37,38, -11,28,248,22,79,248,22,98,23,203,2,28,248,22,79,23,194,2,249,22,169, -14,0,8,35,114,120,34,91,46,93,34,23,196,2,11,10,27,27,28,23,197, -2,249,22,85,28,248,22,79,248,22,98,23,207,2,21,93,6,5,5,109,122, -108,105,98,249,22,1,22,85,249,22,2,32,0,89,162,8,44,37,44,9,222, -33,67,248,22,98,23,210,2,23,197,2,28,248,22,79,23,196,2,248,22,81, -23,197,2,23,195,2,251,80,159,49,54,38,2,18,23,204,1,248,22,72,23, -198,2,248,22,73,23,198,1,249,22,132,14,23,195,1,28,23,198,1,87,94, -23,196,1,27,248,22,178,6,23,199,2,28,249,22,180,3,194,39,28,249,22, -181,6,2,28,249,22,133,7,201,249,22,168,3,198,39,249,22,134,7,250,22, -133,7,202,36,249,22,168,3,199,39,2,29,197,197,28,248,22,79,23,197,1, -87,94,23,197,1,6,8,8,109,97,105,110,46,114,107,116,28,249,22,169,14, -0,8,35,114,120,34,91,46,93,34,23,199,2,27,248,22,178,6,23,199,2, -28,249,22,180,3,194,39,28,249,22,181,6,2,28,249,22,133,7,201,249,22, -168,3,198,39,249,22,134,7,250,22,133,7,202,36,249,22,168,3,199,39,2, -29,197,197,249,22,134,7,23,199,1,6,4,4,46,114,107,116,28,249,22,182, -8,248,22,72,23,200,2,64,102,105,108,101,27,249,22,139,14,248,22,143,14, -248,22,96,23,202,2,27,28,23,202,2,28,249,22,182,8,23,204,2,80,158, -45,47,80,158,43,48,27,248,22,187,4,23,204,2,28,248,22,178,13,23,194, -2,91,159,39,11,90,161,39,36,11,248,22,135,14,23,197,1,87,95,83,160, -38,11,80,158,47,47,23,206,2,83,160,38,11,80,158,47,48,192,192,11,11, -28,23,193,2,192,87,94,23,193,1,27,247,22,143,5,28,23,193,2,192,87, -94,23,193,1,247,22,155,14,91,159,39,11,90,161,39,36,11,248,22,135,14, -23,197,2,87,95,23,195,1,23,193,1,28,249,22,165,14,2,60,248,22,183, -13,23,197,1,249,80,159,45,53,38,23,198,1,2,30,195,12,87,94,28,28, -248,22,178,13,23,194,2,10,248,22,134,8,23,194,2,87,94,23,199,1,12, -28,23,199,2,250,22,151,9,67,114,101,113,117,105,114,101,249,22,159,7,6, -17,17,98,97,100,32,109,111,100,117,108,101,32,112,97,116,104,126,97,28,23, -198,2,248,22,72,23,199,2,6,0,0,23,202,1,87,94,23,199,1,250,22, -152,9,2,18,249,22,159,7,6,13,13,109,111,100,117,108,101,32,112,97,116, -104,126,97,28,23,198,2,248,22,72,23,199,2,6,0,0,23,200,2,27,28, -248,22,134,8,23,195,2,249,22,139,8,23,196,2,36,249,22,141,14,248,22, -142,14,23,197,2,11,27,28,248,22,134,8,23,196,2,249,22,139,8,23,197, -2,37,248,80,159,42,55,38,23,195,2,91,159,39,11,90,161,39,36,11,28, -248,22,134,8,23,199,2,250,22,7,2,31,249,22,139,8,23,203,2,38,2, -31,248,22,135,14,23,198,2,87,95,23,195,1,23,193,1,27,28,248,22,134, -8,23,200,2,249,22,139,8,23,201,2,39,249,80,159,47,53,38,23,197,2, -5,0,27,28,248,22,134,8,23,201,2,249,22,139,8,23,202,2,40,248,22, -186,4,23,200,2,27,27,250,22,150,2,80,159,51,43,38,248,22,190,14,247, -22,158,12,11,28,23,193,2,192,87,94,23,193,1,27,247,22,130,2,87,94, -250,22,148,2,80,159,52,43,38,248,22,190,14,247,22,158,12,195,192,87,95, -28,23,208,1,27,250,22,150,2,23,197,2,197,11,28,23,193,1,12,87,95, -27,27,28,248,22,17,80,159,51,46,38,80,159,50,46,38,247,22,19,250,22, -25,248,22,23,23,197,2,80,159,53,45,38,23,196,1,27,248,22,190,14,247, -22,158,12,249,22,3,83,158,40,20,100,94,89,162,8,44,37,55,9,226,12, -11,2,3,33,68,23,195,1,23,196,1,248,28,248,22,17,80,159,50,46,38, -32,0,89,162,44,37,42,9,222,33,69,80,159,49,59,37,89,162,44,36,51, -9,227,13,9,8,4,3,33,70,250,22,148,2,23,197,1,197,10,12,28,28, -248,22,134,8,23,202,1,11,28,248,22,175,6,23,206,2,10,28,248,22,56, -23,206,2,10,28,248,22,69,23,206,2,249,22,182,8,248,22,72,23,208,2, -2,27,11,250,22,148,2,80,159,50,44,38,28,248,22,175,6,23,209,2,249, -22,71,23,210,1,27,28,23,212,2,28,249,22,182,8,23,214,2,80,158,55, -47,87,94,23,212,1,80,158,53,48,27,248,22,187,4,23,214,2,28,248,22, -178,13,23,194,2,91,159,39,11,90,161,39,36,11,248,22,135,14,23,197,1, -87,95,83,160,38,11,80,158,57,47,23,23,83,160,38,11,80,158,57,48,192, -192,11,11,28,23,193,2,192,87,94,23,193,1,27,247,22,143,5,28,23,193, -2,192,87,94,23,193,1,247,22,155,14,249,22,71,23,210,1,247,22,156,14, -252,22,136,8,23,208,1,23,207,1,23,205,1,23,203,1,201,12,193,87,96, -83,160,38,11,80,158,36,50,248,80,159,37,58,38,249,22,27,11,80,159,39, -52,38,248,22,165,4,80,159,37,51,38,248,22,142,5,80,159,37,37,37,248, -22,149,13,80,159,37,42,37,83,160,38,11,80,158,36,50,248,80,159,37,58, -38,249,22,27,11,80,159,39,52,38,159,36,20,105,159,36,16,1,11,16,0, -83,158,42,20,103,145,2,1,2,1,29,11,11,11,11,11,10,38,80,158,36, -36,20,105,159,37,16,23,2,2,2,3,30,2,5,72,112,97,116,104,45,115, -116,114,105,110,103,63,10,30,2,5,75,112,97,116,104,45,97,100,100,45,115, -117,102,102,105,120,7,30,2,7,2,8,4,30,2,7,1,23,101,120,116,101, -110,100,45,112,97,114,97,109,101,116,101,114,105,122,97,116,105,111,110,3,2, -9,2,10,2,11,2,12,2,13,2,14,2,15,2,16,2,17,2,18,30,2, -19,2,8,4,30,2,5,79,112,97,116,104,45,114,101,112,108,97,99,101,45, -115,117,102,102,105,120,9,30,2,5,69,45,102,105,110,100,45,99,111,108,0, -30,2,5,76,110,111,114,109,97,108,45,99,97,115,101,45,112,97,116,104,6, -2,20,2,21,30,2,19,74,114,101,112,97,114,97,109,101,116,101,114,105,122, -101,5,16,0,16,0,36,16,0,36,16,12,2,12,2,13,2,10,2,11,2, -14,2,15,2,3,2,9,2,2,2,17,2,16,2,18,48,11,11,39,36,11, -11,11,16,2,2,20,2,21,16,2,11,11,16,2,2,20,2,21,38,38,37, -11,11,11,16,0,16,0,16,0,36,36,11,11,11,11,16,0,16,0,16,0, -36,36,16,0,16,15,83,158,36,16,2,89,162,44,37,45,9,223,0,33,32, -80,159,36,59,37,83,158,36,16,2,248,22,131,8,69,115,111,45,115,117,102, -102,105,120,80,159,36,36,37,83,158,36,16,2,89,162,44,38,8,37,2,3, -223,0,33,41,80,159,36,37,37,83,158,36,16,2,32,0,89,162,8,44,37, -42,2,9,222,192,80,159,36,42,37,83,158,36,16,2,247,22,133,2,80,159, -36,43,37,83,158,36,16,2,247,22,132,2,80,159,36,44,37,83,158,36,16, -2,247,22,67,80,159,36,45,37,83,158,36,16,2,248,22,18,74,109,111,100, -117,108,101,45,108,111,97,100,105,110,103,80,159,36,46,37,83,158,36,16,2, -11,80,158,36,47,83,158,36,16,2,11,80,158,36,48,83,158,36,16,2,32, -0,89,162,44,38,8,25,2,16,222,33,47,80,159,36,49,37,83,158,36,16, -2,11,80,158,36,50,83,158,36,16,2,91,159,38,10,90,161,37,36,10,11, -90,161,37,37,10,83,158,39,20,99,96,2,18,89,162,8,44,37,51,9,224, -2,0,33,48,89,162,44,39,49,9,223,1,33,49,89,162,44,40,8,32,9, -224,2,0,33,71,208,80,159,36,51,37,83,158,36,16,2,89,162,44,36,45, -2,20,223,0,33,72,80,159,36,56,37,83,158,36,16,2,89,162,8,44,36, -45,2,21,223,0,33,73,80,159,36,57,37,96,29,94,2,4,68,35,37,107, -101,114,110,101,108,11,29,94,2,4,69,35,37,109,105,110,45,115,116,120,11, -2,5,2,19,9,9,9,36,0}; - EVAL_ONE_SIZED_STR((char *)expr, 6917); +28,23,193,2,87,94,23,194,1,249,22,71,248,22,96,23,196,2,27,248,22, +105,23,197,1,27,249,22,165,14,2,42,23,196,2,28,23,193,2,87,94,23, +194,1,249,22,71,248,22,96,23,196,2,248,2,63,248,22,105,23,197,1,248, +22,81,194,248,22,81,194,248,22,81,194,32,65,89,162,8,44,37,55,2,26, +222,33,66,27,249,22,165,14,2,42,23,196,2,28,23,193,2,87,94,23,194, +1,249,22,71,248,22,96,23,196,2,27,248,22,105,23,197,1,27,249,22,165, +14,2,42,23,196,2,28,23,193,2,87,94,23,194,1,249,22,71,248,22,96, +23,196,2,27,248,22,105,23,197,1,27,249,22,165,14,2,42,23,196,2,28, +23,193,2,87,94,23,194,1,249,22,71,248,22,96,23,196,2,248,2,65,248, +22,105,23,197,1,248,22,81,194,248,22,81,194,248,22,81,194,27,248,2,65, +23,195,1,192,28,249,22,184,8,248,22,73,23,200,2,23,197,1,28,249,22, +182,8,248,22,72,23,200,2,23,196,1,251,22,149,9,2,18,6,26,26,99, +121,99,108,101,32,105,110,32,108,111,97,100,105,110,103,32,97,116,32,126,101, +58,32,126,101,23,200,1,249,22,2,22,73,248,22,86,249,22,71,23,206,1, +23,202,1,12,12,247,192,20,14,159,80,159,40,45,38,249,22,71,248,22,190, +14,247,22,158,12,23,197,1,20,14,159,80,159,40,40,38,250,80,159,43,41, +38,249,22,27,11,80,159,45,40,38,22,166,4,23,196,1,249,247,22,142,5, +23,198,1,248,22,59,248,22,182,13,23,198,1,87,94,28,28,248,22,178,13, +23,196,2,10,248,22,129,5,23,196,2,12,28,23,197,2,250,22,151,9,11, +6,15,15,98,97,100,32,109,111,100,117,108,101,32,112,97,116,104,23,200,2, +250,22,152,9,2,18,6,19,19,109,111,100,117,108,101,45,112,97,116,104,32, +111,114,32,112,97,116,104,23,198,2,28,28,248,22,69,23,196,2,249,22,182, +8,248,22,72,23,198,2,2,4,11,248,22,186,4,248,22,96,196,28,28,248, +22,69,23,196,2,249,22,182,8,248,22,72,23,198,2,66,112,108,97,110,101, +116,11,87,94,28,207,12,20,14,159,80,159,37,52,38,80,158,37,50,90,161, +37,36,10,249,22,168,4,21,94,2,27,6,19,19,112,108,97,110,101,116,47, +114,101,115,111,108,118,101,114,46,114,107,116,1,27,112,108,97,110,101,116,45, +109,111,100,117,108,101,45,110,97,109,101,45,114,101,115,111,108,118,101,114,12, +252,212,199,200,201,202,80,158,42,50,87,94,23,193,1,27,89,162,8,44,37, +46,79,115,104,111,119,45,99,111,108,108,101,99,116,105,111,110,45,101,114,114, +223,5,33,50,27,28,248,22,56,23,198,2,27,250,22,150,2,80,159,43,44, +38,249,22,71,23,203,2,247,22,156,14,11,28,23,193,2,192,87,94,23,193, +1,91,159,38,11,90,161,38,36,11,27,248,22,62,23,202,2,248,2,51,248, +2,53,23,195,1,27,251,80,159,47,54,38,2,18,23,202,1,28,248,22,79, +23,199,2,23,199,2,248,22,72,23,199,2,28,248,22,79,23,199,2,9,248, +22,73,23,199,2,249,22,132,14,23,195,1,28,248,22,79,23,197,1,87,94, +23,197,1,6,8,8,109,97,105,110,46,114,107,116,249,22,134,7,23,199,1, +6,4,4,46,114,107,116,28,248,22,175,6,23,198,2,87,94,23,194,1,27, +27,28,23,200,2,28,249,22,182,8,23,202,2,80,158,43,47,80,158,41,48, +27,248,22,187,4,23,202,2,28,248,22,178,13,23,194,2,91,159,39,11,90, +161,39,36,11,248,22,135,14,23,197,1,87,95,83,160,38,11,80,158,45,47, +23,204,2,83,160,38,11,80,158,45,48,192,192,11,11,28,23,193,2,192,87, +94,23,193,1,27,247,22,143,5,28,23,193,2,192,87,94,23,193,1,247,22, +155,14,27,250,22,150,2,80,159,44,44,38,249,22,71,23,204,2,23,199,2, +11,28,23,193,2,192,87,94,23,193,1,91,159,38,11,90,161,38,36,11,248, +2,55,248,2,57,23,203,2,250,22,1,22,132,14,23,199,1,249,22,85,249, +22,2,32,0,89,162,8,44,37,44,9,222,33,59,23,200,1,248,22,81,27, +248,22,178,6,23,202,2,28,249,22,180,3,194,39,28,249,22,181,6,2,28, +249,22,133,7,204,249,22,168,3,198,39,249,22,134,7,250,22,133,7,205,36, +249,22,168,3,199,39,2,29,200,200,28,248,22,178,13,23,198,2,87,94,23, +194,1,28,248,22,137,14,23,198,2,27,248,22,141,14,23,199,2,91,159,39, +11,90,161,39,36,11,248,22,135,14,23,197,2,87,95,23,195,1,23,193,1, +28,249,22,165,14,2,60,248,22,183,13,23,197,1,249,80,159,45,53,38,23, +198,1,2,30,195,248,22,81,6,26,26,32,40,97,32,112,97,116,104,32,109, +117,115,116,32,98,101,32,97,98,115,111,108,117,116,101,41,28,249,22,182,8, +248,22,72,23,200,2,2,27,27,250,22,150,2,80,159,43,44,38,249,22,71, +23,203,2,247,22,156,14,11,28,23,193,2,192,87,94,23,193,1,91,159,39, +11,90,161,38,36,11,27,248,22,96,23,203,2,248,2,61,248,2,63,23,195, +1,90,161,37,38,11,28,248,22,79,248,22,98,23,203,2,28,248,22,79,23, +194,2,249,22,169,14,0,8,35,114,120,34,91,46,93,34,23,196,2,11,10, +27,27,28,23,197,2,249,22,85,28,248,22,79,248,22,98,23,207,2,21,93, +6,5,5,109,122,108,105,98,249,22,1,22,85,249,22,2,32,0,89,162,8, +44,37,44,9,222,33,67,248,22,98,23,210,2,23,197,2,28,248,22,79,23, +196,2,248,22,81,23,197,2,23,195,2,251,80,159,49,54,38,2,18,23,204, +1,248,22,72,23,198,2,248,22,73,23,198,1,249,22,132,14,23,195,1,28, +23,198,1,87,94,23,196,1,27,248,22,178,6,23,199,2,28,249,22,180,3, +194,39,28,249,22,181,6,2,28,249,22,133,7,201,249,22,168,3,198,39,249, +22,134,7,250,22,133,7,202,36,249,22,168,3,199,39,2,29,197,197,28,248, +22,79,23,197,1,87,94,23,197,1,6,8,8,109,97,105,110,46,114,107,116, +28,249,22,169,14,0,8,35,114,120,34,91,46,93,34,23,199,2,27,248,22, +178,6,23,199,2,28,249,22,180,3,194,39,28,249,22,181,6,2,28,249,22, +133,7,201,249,22,168,3,198,39,249,22,134,7,250,22,133,7,202,36,249,22, +168,3,199,39,2,29,197,197,249,22,134,7,23,199,1,6,4,4,46,114,107, +116,28,249,22,182,8,248,22,72,23,200,2,64,102,105,108,101,27,248,22,141, +14,249,22,139,14,248,22,143,14,248,22,96,23,203,2,27,28,23,203,2,28, +249,22,182,8,23,205,2,80,158,46,47,80,158,44,48,27,248,22,187,4,23, +205,2,28,248,22,178,13,23,194,2,91,159,39,11,90,161,39,36,11,248,22, +135,14,23,197,1,87,95,83,160,38,11,80,158,48,47,23,207,2,83,160,38, +11,80,158,48,48,192,192,11,11,28,23,193,2,192,87,94,23,193,1,27,247, +22,143,5,28,23,193,2,192,87,94,23,193,1,247,22,155,14,91,159,39,11, +90,161,39,36,11,248,22,135,14,23,197,2,87,95,23,195,1,23,193,1,28, +249,22,165,14,2,60,248,22,183,13,23,197,1,249,80,159,45,53,38,23,198, +1,2,30,195,12,87,94,28,28,248,22,178,13,23,194,2,10,248,22,134,8, +23,194,2,87,94,23,199,1,12,28,23,199,2,250,22,151,9,67,114,101,113, +117,105,114,101,249,22,159,7,6,17,17,98,97,100,32,109,111,100,117,108,101, +32,112,97,116,104,126,97,28,23,198,2,248,22,72,23,199,2,6,0,0,23, +202,1,87,94,23,199,1,250,22,152,9,2,18,249,22,159,7,6,13,13,109, +111,100,117,108,101,32,112,97,116,104,126,97,28,23,198,2,248,22,72,23,199, +2,6,0,0,23,200,2,27,28,248,22,134,8,23,195,2,249,22,139,8,23, +196,2,36,249,22,141,14,248,22,142,14,23,197,2,11,27,28,248,22,134,8, +23,196,2,249,22,139,8,23,197,2,37,248,80,159,42,55,38,23,195,2,91, +159,39,11,90,161,39,36,11,28,248,22,134,8,23,199,2,250,22,7,2,31, +249,22,139,8,23,203,2,38,2,31,248,22,135,14,23,198,2,87,95,23,195, +1,23,193,1,27,28,248,22,134,8,23,200,2,249,22,139,8,23,201,2,39, +249,80,159,47,53,38,23,197,2,5,0,27,28,248,22,134,8,23,201,2,249, +22,139,8,23,202,2,40,248,22,186,4,23,200,2,27,27,250,22,150,2,80, +159,51,43,38,248,22,190,14,247,22,158,12,11,28,23,193,2,192,87,94,23, +193,1,27,247,22,130,2,87,94,250,22,148,2,80,159,52,43,38,248,22,190, +14,247,22,158,12,195,192,87,95,28,23,208,1,27,250,22,150,2,23,197,2, +197,11,28,23,193,1,12,87,95,27,27,28,248,22,17,80,159,51,46,38,80, +159,50,46,38,247,22,19,250,22,25,248,22,23,23,197,2,80,159,53,45,38, +23,196,1,27,248,22,190,14,247,22,158,12,249,22,3,83,158,40,20,100,94, +89,162,8,44,37,55,9,226,12,11,2,3,33,68,23,195,1,23,196,1,248, +28,248,22,17,80,159,50,46,38,32,0,89,162,44,37,42,9,222,33,69,80, +159,49,59,37,89,162,44,36,51,9,227,13,9,8,4,3,33,70,250,22,148, +2,23,197,1,197,10,12,28,28,248,22,134,8,23,202,1,11,28,248,22,175, +6,23,206,2,10,28,248,22,56,23,206,2,10,28,248,22,69,23,206,2,249, +22,182,8,248,22,72,23,208,2,2,27,11,250,22,148,2,80,159,50,44,38, +28,248,22,175,6,23,209,2,249,22,71,23,210,1,27,28,23,212,2,28,249, +22,182,8,23,214,2,80,158,55,47,87,94,23,212,1,80,158,53,48,27,248, +22,187,4,23,214,2,28,248,22,178,13,23,194,2,91,159,39,11,90,161,39, +36,11,248,22,135,14,23,197,1,87,95,83,160,38,11,80,158,57,47,23,23, +83,160,38,11,80,158,57,48,192,192,11,11,28,23,193,2,192,87,94,23,193, +1,27,247,22,143,5,28,23,193,2,192,87,94,23,193,1,247,22,155,14,249, +22,71,23,210,1,247,22,156,14,252,22,136,8,23,208,1,23,207,1,23,205, +1,23,203,1,201,12,193,87,96,83,160,38,11,80,158,36,50,248,80,159,37, +58,38,249,22,27,11,80,159,39,52,38,248,22,165,4,80,159,37,51,38,248, +22,142,5,80,159,37,37,37,248,22,149,13,80,159,37,42,37,83,160,38,11, +80,158,36,50,248,80,159,37,58,38,249,22,27,11,80,159,39,52,38,159,36, +20,105,159,36,16,1,11,16,0,83,158,42,20,103,145,2,1,2,1,29,11, +11,11,11,11,10,38,80,158,36,36,20,105,159,37,16,23,2,2,2,3,30, +2,5,72,112,97,116,104,45,115,116,114,105,110,103,63,10,30,2,5,75,112, +97,116,104,45,97,100,100,45,115,117,102,102,105,120,7,30,2,7,2,8,4, +30,2,7,1,23,101,120,116,101,110,100,45,112,97,114,97,109,101,116,101,114, +105,122,97,116,105,111,110,3,2,9,2,10,2,11,2,12,2,13,2,14,2, +15,2,16,2,17,2,18,30,2,19,2,8,4,30,2,5,79,112,97,116,104, +45,114,101,112,108,97,99,101,45,115,117,102,102,105,120,9,30,2,5,69,45, +102,105,110,100,45,99,111,108,0,30,2,5,76,110,111,114,109,97,108,45,99, +97,115,101,45,112,97,116,104,6,2,20,2,21,30,2,19,74,114,101,112,97, +114,97,109,101,116,101,114,105,122,101,5,16,0,16,0,36,16,0,36,16,12, +2,12,2,13,2,10,2,11,2,14,2,15,2,3,2,9,2,2,2,17,2, +16,2,18,48,11,11,39,36,11,11,11,16,2,2,20,2,21,16,2,11,11, +16,2,2,20,2,21,38,38,37,11,11,11,16,0,16,0,16,0,36,36,11, +11,11,11,16,0,16,0,16,0,36,36,16,0,16,15,83,158,36,16,2,89, +162,44,37,45,9,223,0,33,32,80,159,36,59,37,83,158,36,16,2,248,22, +131,8,69,115,111,45,115,117,102,102,105,120,80,159,36,36,37,83,158,36,16, +2,89,162,44,38,8,37,2,3,223,0,33,41,80,159,36,37,37,83,158,36, +16,2,32,0,89,162,8,44,37,42,2,9,222,192,80,159,36,42,37,83,158, +36,16,2,247,22,133,2,80,159,36,43,37,83,158,36,16,2,247,22,132,2, +80,159,36,44,37,83,158,36,16,2,247,22,67,80,159,36,45,37,83,158,36, +16,2,248,22,18,74,109,111,100,117,108,101,45,108,111,97,100,105,110,103,80, +159,36,46,37,83,158,36,16,2,11,80,158,36,47,83,158,36,16,2,11,80, +158,36,48,83,158,36,16,2,32,0,89,162,44,38,8,25,2,16,222,33,47, +80,159,36,49,37,83,158,36,16,2,11,80,158,36,50,83,158,36,16,2,91, +159,38,10,90,161,37,36,10,11,90,161,37,37,10,83,158,39,20,99,96,2, +18,89,162,8,44,37,51,9,224,2,0,33,48,89,162,44,39,49,9,223,1, +33,49,89,162,44,40,8,32,9,224,2,0,33,71,208,80,159,36,51,37,83, +158,36,16,2,89,162,44,36,45,2,20,223,0,33,72,80,159,36,56,37,83, +158,36,16,2,89,162,8,44,36,45,2,21,223,0,33,73,80,159,36,57,37, +96,29,94,2,4,68,35,37,107,101,114,110,101,108,11,29,94,2,4,69,35, +37,109,105,110,45,115,116,120,11,2,5,2,19,9,9,9,36,0}; + EVAL_ONE_SIZED_STR((char *)expr, 6926); } diff --git a/src/racket/src/startup.inc b/src/racket/src/startup.inc index bd63fcff21..2de6b2c04e 100644 --- a/src/racket/src/startup.inc +++ b/src/racket/src/startup.inc @@ -639,7 +639,7 @@ "(list(ss->rkt file))))))))" "((path? s) " "(if(absolute-path? s)" -"(path-ss->rkt s)" +"(path-ss->rkt(simplify-path s))" " (list \" (a path must be absolute)\")))" "((eq?(car s) 'lib)" "(or(hash-ref -path-cache" @@ -674,7 +674,8 @@ "(ss->rkt file)" " (string-append file \".rkt\")))))))))" "((eq?(car s) 'file)" -"(path-ss->rkt(path->complete-path(expand-user-path(cadr s))(get-dir)))))))" +"(path-ss->rkt " +"(simplify-path(path->complete-path(expand-user-path(cadr s))(get-dir))))))))" "(unless(or(path? s-parsed) " "(vector? s-parsed))" "(if stx" diff --git a/src/racket/src/startup.rktl b/src/racket/src/startup.rktl index 5c3c5c6f89..b9951f447c 100644 --- a/src/racket/src/startup.rktl +++ b/src/racket/src/startup.rktl @@ -731,7 +731,8 @@ (list (ss->rkt file)))))))] [(path? s) (if (absolute-path? s) - (path-ss->rkt s) + ;; Use filesystem-sensitive `simplify-path' here: + (path-ss->rkt (simplify-path s)) (list " (a path must be absolute)"))] [(eq? (car s) 'lib) (or (hash-ref -path-cache @@ -766,7 +767,9 @@ (ss->rkt file) (string-append file ".rkt"))))))))] [(eq? (car s) 'file) - (path-ss->rkt (path->complete-path (expand-user-path (cadr s)) (get-dir)))])]) + ;; Use filesystem-sensitive `simplify-path' here: + (path-ss->rkt + (simplify-path (path->complete-path (expand-user-path (cadr s)) (get-dir))))])]) (unless (or (path? s-parsed) (vector? s-parsed)) (if stx