diff --git a/collects/meta/dist-specs.rkt b/collects/meta/dist-specs.rkt index 91828537e9..877d7eaeee 100644 --- a/collects/meta/dist-specs.rkt +++ b/collects/meta/dist-specs.rkt @@ -661,8 +661,6 @@ mz-extras :+= (- (package: "swindle") ;; -------------------- plot plt-extras :+= (package: "plot") - (src: "fit") - (lib: "libfit*") ;; -------------------- mzcom plt-extras :+= (- (package: "mzcom" #:src? #t) diff --git a/collects/plot/compat.rkt b/collects/plot/compat.rkt index 43df706fef..e3d6c006b2 100644 --- a/collects/plot/compat.rkt +++ b/collects/plot/compat.rkt @@ -18,8 +18,6 @@ plot-foreground plot-background plot3d-angle plot3d-altitude)) "deprecated/renderers.rkt" - ;; Curve fitting - "deprecated/fit.rkt" ;; Miscellaneous "deprecated/math.rkt") @@ -31,9 +29,6 @@ contour shade surface) (only-doc-out (all-defined-out)) - ;; Curve fitting - (rename-out [fit-int fit]) - (struct-out fit-result) ;; Miscellaneous make-vec derivative gradient) diff --git a/collects/plot/deprecated/fit-low-level.rkt b/collects/plot/deprecated/fit-low-level.rkt deleted file mode 100644 index 82415aeb12..0000000000 --- a/collects/plot/deprecated/fit-low-level.rkt +++ /dev/null @@ -1,56 +0,0 @@ -(module fit-low-level racket/base - (require mzlib/foreign mzlib/runtime-path - (for-syntax racket/base)) - (unsafe!) - - (define-runtime-path libfit-path '(so "libfit")) - - (define libfit (ffi-lib libfit-path)) - - (define do-fit-int - (get-ffi-obj "do_fit" libfit - (_fun (func : (_fun _int _pointer -> _double)) - (val-num : _int = (length x-values)) - (x-values : (_list i _double*)) - (y-values : (_list i _double*)) - (z-values : (_list i _double*)) - (errors : (_list i _double*)) - (param-num : _int = (length params)) - (params : (_list i _double*)) - -> (_list o _double* param-num)))) - - (define (do-fit callback x-vals y-vals z-vals errors params) - (do-fit-int (lambda (argc argv) - (let ([args (cblock->list argv _double argc)]) - (apply callback args))) - x-vals y-vals z-vals errors params)) - - (define get-asym-error - (get-ffi-obj "get_asym_error" libfit - (_fun (len : _?) ; len is only used for list conversion - -> (_list o _double* len)))) - - (define get-asym-error-percent - (get-ffi-obj "get_asym_error_percent" libfit - (_fun (len : _?) ; len is only used for list conversion - -> (_list o _double* len)))) - - (define get-rms - (get-ffi-obj "get_rms" libfit - (_fun -> _double*))) - - (define get-varience - (get-ffi-obj "get_varience" libfit - (_fun -> _double*))) - - (define (fit-internal f-of-x-y x-vals y-vals z-vals err-vals params) - - (let* ([len (length params)] - [fit-result (do-fit f-of-x-y x-vals y-vals z-vals err-vals params)] - [asym-error (get-asym-error len)] - [asym-error-percent (get-asym-error-percent len)] - [rms (get-rms)] - [varience (get-varience)]) - (list fit-result asym-error asym-error-percent rms varience))) - - (provide fit-internal)) diff --git a/collects/plot/deprecated/fit.rkt b/collects/plot/deprecated/fit.rkt deleted file mode 100644 index 1308462011..0000000000 --- a/collects/plot/deprecated/fit.rkt +++ /dev/null @@ -1,57 +0,0 @@ -(module fit mzscheme - (require unstable/lazy-require - "math.rkt") - - ;; Require lazily so the rest of 'plot' still works without libfit: - (lazy-require ["fit-low-level.rkt" (fit-internal)]) - - ; a structure contain a the results of a curve-fit - (define-struct fit-result ( - rms - variance - names - final-params - std-error - std-error-percent - function - ) (make-inspector)) - - ; fit-int : (number* -> number) (list-of (symbol number)) (list-of (vector number [number] number number)) -> fit-result - (define (fit-int function guesses data) - (let* ((independent-vars (- (procedure-arity function) (length guesses))) - (f-of-x-y (cond - [(= 1 independent-vars) - (lambda (x y . rest) - (apply function x rest))] - [(= 2 independent-vars) - function] - [else - (error "Function provided is either not of one or two independent variables or the number of - guesses given is incorrect")])) - (x-vals (map vector-x data)) - (y-vals (if (= 1 independent-vars) - x-vals - (map vector-y data))) - (z-vals (if (= 1 independent-vars) - (map vector-y data) - (map vector-z data))) - (err-vals (if (= 1 independent-vars) - (map vector-z data) - (map (lambda (vec) (vector-ref vec 4)) data))) - (result (fit-internal f-of-x-y x-vals y-vals z-vals err-vals (map cadr guesses)))) - (if (null? result) - null - (begin - ;(display result) - (make-fit-result - (list-ref result 3) - (list-ref result 4) - (map car guesses) - (car result) - (cadr result) - (caddr result) - (lambda args (apply function(append args (car result))))))))) - - (provide fit-int - (struct fit-result (rms variance names final-params - std-error std-error-percent function)))) diff --git a/collects/plot/scribblings/compat.scrbl b/collects/plot/scribblings/compat.scrbl index 62693e7df8..07cac36fba 100644 --- a/collects/plot/scribblings/compat.scrbl +++ b/collects/plot/scribblings/compat.scrbl @@ -127,116 +127,6 @@ Returns @racket[#t] if @racket[v] is one of the following symbols, @; ---------------------------------------- -@section[#:tag "curve-fit"]{Curve Fitting} - -@define[fit-warning]{ -@para{ -@bold{Do not use the @(racket fit) function. It is going to be removed in Racket 5.2.1.} -It relies on old C code that nobody understands or is willing to maintain, and that is also slightly crashy. -}} - -@fit-warning - -Quite independent of plotting, and for reasons lost in the sands of time, -the @racketmodname[plot] library provides a non-linear, least-squares -fit algorithm to fit parameterized functions to given data. -The code that implements the algorithm is public -domain, and is used by the @tt{gnuplot} package. - -To fit a particular function to a curve: - -@itemize[ - - @item{Set up the independent and dependent variable data. The first - item in each vector is the independent variable, the second is the - result. The last item is the weight of the error; we can leave it - as @racket[1] since all the items weigh the same. - - @racketblock[ - (define data '(#(0 3 1) - #(1 5 1) - #(2 7 1) - #(3 9 1) - #(4 11 1))) - ] - } - - @item{Set up the function to be fitted using fit. This particular - function looks like a line. The independent variables must come - before the parameters. - - @racketblock[ - (define fit-fun - (lambda (x m b) (+ b (* m x)))) - ] - } - - @item{If possible, come up with some guesses for the values of the - parameters. The guesses can be left as one, but each parameter must - be named.} - - @item{Do the fit. - - @racketblock[ - (define fitted - (fit fit-fun - '((m 1) (b 1)) - data)) - ] - } - - @item{View the resulting parameters; for example, - - @racketblock[ - (fit-result-final-params fitted) - ] - - will produce @racketresultfont{(2.0 3.0)}. - } - - @item{For some visual feedback of the fit result, plot the function - with the new parameters. For convenience, the structure that is - returned by the fit command has already the function. - - @racketblock[ - (plot (mix (points data) - (line (fit-result-function fitted))) - #:y-max 15) - ]}] - -A more realistic example can be found in -@filepath{compat/tests/fit-demo-2.rkt} in the @filepath{plot} collection. - -@defproc[(fit [f (real? ... . -> . real?)] - [guess-list (list/c (list symbol? real?))] - [data (or/c (list-of (vector/c real? real? real?)) - (list-of (vector/c real? real? real? real?)))]) - fit-result?]{ - -@fit-warning - -Attempts to fit a @defterm{fittable function} to the data that is -given. The @racket[guess-list] should be a set of arguments and -values. The more accurate your initial guesses are, the more likely -the fit is to succeed; if there are no good values for the guesses, -leave them as @racket[1].} - -@defstruct[fit-result ([rms real?] - [variance real?] - [names (listof symbol?)] - [final-params (listof real?)] - [std-error (listof real?)] - [std-error-percent (listof real?)] - [function (real? ... . -> . real?)])]{ - -The @racket[params] field contains an associative list of the -parameters specified in @racket[fit] and their values. Note that the -values may not be correct if the fit failed to converge. For a visual -test, use the @racket[function] field to get the function with the -parameters in place and plot it along with the original data.} - -@; ---------------------------------------- - @section{Miscellaneous Functions} @defproc[(derivative [f (real? . -> . real?)] [h real? .000001]) diff --git a/collects/plot/scribblings/porting.scrbl b/collects/plot/scribblings/porting.scrbl index fcb576657d..644b5f7e48 100644 --- a/collects/plot/scribblings/porting.scrbl +++ b/collects/plot/scribblings/porting.scrbl @@ -18,6 +18,8 @@ The update from PLoT version 5.1.3 to 5.2 introduces a few incompatibilities: The argument change in @(racket plot3d) is similar. This should not affect most code because PLoT encourages regarding these data types as black boxes.} @item{The @(racket plot-extend) module no longer exists.} + @item{The @racket[fit] function and @racket[fit-result] functions have been removed.} + ] This section of the PLoT manual will help you port code written for PLoT 5.1.3 and earlier to the most recent PLoT. diff --git a/collects/plot/tests/fit-test-1.rkt b/collects/plot/tests/fit-test-1.rkt deleted file mode 100644 index 9e3f47ed72..0000000000 --- a/collects/plot/tests/fit-test-1.rkt +++ /dev/null @@ -1,1155 +0,0 @@ -#reader(lib"read.ss""wxme")WXME0108 ## -#| - This file uses the GRacket editor format. - Open this file in DrRacket version 5.2.0.1 or later to read it. - - Most likely, it was created by saving a program in DrRacket, - and it probably contains a program with non-text elements - (such as images or comment boxes). - - http://racket-lang.org/ -|# - 44 7 #"wxtext\0" -3 1 6 #"wxtab\0" -1 1 8 #"wximage\0" -2 0 8 #"wxmedia\0" -4 1 34 #"(lib \"syntax-browser.ss\" \"mrlib\")\0" -1 0 16 #"drscheme:number\0" -3 0 44 #"(lib \"number-snip.ss\" \"drscheme\" \"private\")\0" -1 0 36 #"(lib \"comment-snip.ss\" \"framework\")\0" -1 0 93 -( - #"((lib \"collapsed-snipclass.ss\" \"framework\") (lib \"collapsed-sni" - #"pclass-wxme.ss\" \"framework\"))\0" -) 0 0 19 #"drscheme:sexp-snip\0" -0 0 36 #"(lib \"cache-image-snip.ss\" \"mrlib\")\0" -1 0 68 -( - #"((lib \"image-core.ss\" \"mrlib\") (lib \"image-core-wxme.rkt\" \"mr" - #"lib\"))\0" -) 1 0 33 #"(lib \"bullet-snip.ss\" \"browser\")\0" -0 0 29 #"drscheme:bindings-snipclass%\0" -1 0 25 #"(lib \"matrix.ss\" \"htdp\")\0" -1 0 22 #"drscheme:lambda-snip%\0" -1 0 8 #"gb:core\0" -5 0 10 #"gb:canvas\0" -5 0 17 #"gb:editor-canvas\0" -5 0 10 #"gb:slider\0" -5 0 9 #"gb:gauge\0" -5 0 11 #"gb:listbox\0" -5 0 12 #"gb:radiobox\0" -5 0 10 #"gb:choice\0" -5 0 8 #"gb:text\0" -5 0 11 #"gb:message\0" -5 0 10 #"gb:button\0" -5 0 12 #"gb:checkbox\0" -5 0 18 #"gb:vertical-panel\0" -5 0 9 #"gb:panel\0" -5 0 20 #"gb:horizontal-panel\0" -5 0 33 #"(lib \"readable.ss\" \"guibuilder\")\0" -1 0 57 -#"(lib \"hrule-snip.rkt\" \"macro-debugger\" \"syntax-browser\")\0" -1 0 45 #"(lib \"image-snipr.ss\" \"slideshow\" \"private\")\0" -1 0 26 #"drscheme:pict-value-snip%\0" -0 0 38 #"(lib \"pict-snipclass.ss\" \"slideshow\")\0" -2 0 55 #"(lib \"vertical-separator-snip.ss\" \"stepper\" \"private\")\0" -1 0 18 #"drscheme:xml-snip\0" -1 0 31 #"(lib \"xml-snipclass.ss\" \"xml\")\0" -1 0 21 #"drscheme:scheme-snip\0" -2 0 34 #"(lib \"scheme-snipclass.ss\" \"xml\")\0" -1 0 10 #"text-box%\0" -1 0 32 #"(lib \"text-snipclass.ss\" \"xml\")\0" -1 0 15 #"test-case-box%\0" -2 0 1 6 #"wxloc\0" - 0 0 129 0 1 #"\0" -0 75 1 #"\0" -0 12 90 -1 90 -1 3 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 1 -1 0 9 -#"Standard\0" -0 75 10 #"Monospace\0" -0 10 90 -1 90 -1 3 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 -1 -1 2 24 -#"framework:default-color\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 150 0 150 0 0 0 -1 -1 2 15 -#"text:ports out\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 150 0 150 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 93 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 255 0 0 0 0 0 -1 --1 2 15 #"text:ports err\0" -0 -1 1 #"\0" -1.0 0 -1 -1 93 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 255 0 0 0 0 0 -1 --1 2 1 #"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 175 0 0 0 -1 -1 2 17 -#"text:ports value\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 175 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 34 139 34 0 0 0 -1 --1 2 27 #"Matching Parenthesis Style\0" -0 -1 1 #"\0" -1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 34 139 34 0 0 0 -1 --1 2 1 #"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 37 -#"framework:syntax-color:scheme:symbol\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 38 -#"framework:syntax-color:scheme:keyword\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2 -38 #"framework:syntax-color:scheme:comment\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 37 -#"framework:syntax-color:scheme:string\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 39 -#"framework:syntax-color:scheme:constant\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 132 60 36 0 0 0 -1 -1 2 42 -#"framework:syntax-color:scheme:parenthesis\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 132 60 36 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 36 -#"framework:syntax-color:scheme:error\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 36 -#"framework:syntax-color:scheme:other\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 81 112 203 0 0 0 -1 -1 2 -38 #"drracket:check-syntax:lexically-bound\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 81 112 203 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 178 34 34 0 0 0 -1 -1 2 28 -#"drracket:check-syntax:set!d\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 178 34 34 0 0 0 -1 -1 2 37 -#"drracket:check-syntax:unused-require\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 36 -#"drracket:check-syntax:free-variable\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 68 0 203 0 0 0 -1 -1 2 31 -#"drracket:check-syntax:imported\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 68 0 203 0 0 0 -1 -1 2 47 -#"drracket:check-syntax:my-obligation-style-pref\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 178 34 34 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 116 0 0 0 0 -1 -1 2 50 -#"drracket:check-syntax:their-obligation-style-pref\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 116 0 0 0 0 -1 -1 2 48 -#"drracket:check-syntax:unk-obligation-style-pref\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 139 142 28 0 0 0 -1 -1 2 -49 #"drracket:check-syntax:both-obligation-style-pref\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 139 142 28 0 0 0 -1 -1 2 -26 #"plt:htdp:test-coverage-on\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 2 27 -#"plt:htdp:test-coverage-off\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 4 1 -#"\0" -0 70 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 --1 -1 4 4 #"XML\0" -0 70 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 --1 -1 2 1 #"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 37 -#"plt:module-language:test-coverage-on\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 176 48 96 0 0 0 -1 -1 2 38 -#"plt:module-language:test-coverage-off\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 176 48 96 0 0 0 -1 -1 4 1 -#"\0" -0 71 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 --1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 0 255 0 0 0 -1 --1 4 1 #"\0" -0 71 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 0 255 0 0 0 -1 --1 4 1 #"\0" -0 71 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 100 0 0 0 0 -1 --1 0 1 #"\0" -0 75 10 #"Monospace\0" -0.0 10 90 -1 90 -1 3 -1 0 1 0 1 0 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 -255 255 1 -1 0 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 200 0 0 0 0 -0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 1 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 -255 0 -1 -1 0 1 #"\0" -0 75 1 #"\0" -0.0 11 90 -1 90 -1 3 -1 0 1 0 1 0 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 -255 255 1 -1 0 1 #"\0" -0 75 11 #" Monospace\0" -0.0 14 90 -1 90 -1 3 -1 0 1 0 1 0 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 -255 255 1 -1 2 38 #"drscheme:check-syntax:lexically-bound\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 81 112 203 0 0 0 -1 -1 2 -31 #"drscheme:check-syntax:imported\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 68 0 203 0 0 0 -1 -1 2 35 -#"profj:syntax-colors:scheme:keyword\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 139 0 139 0 -0 0 -1 -1 2 37 #"profj:syntax-colors:scheme:prim-type\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 139 0 139 0 -0 0 -1 -1 2 38 #"profj:syntax-colors:scheme:identifier\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 34 -#"profj:syntax-colors:scheme:string\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 35 -#"profj:syntax-colors:scheme:literal\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 35 -#"profj:syntax-colors:scheme:comment\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2 -33 #"profj:syntax-colors:scheme:error\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 35 -#"profj:syntax-colors:scheme:default\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 37 -#"profj:syntax-colors:scheme:uncovered\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 35 -#"profj:syntax-colors:scheme:covered\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 139 0 139 0 -0 0 -1 -1 8 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 255 0 0 0 0 -0 -1 -1 8 24 #"drscheme:text:ports err\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 255 0 0 0 0 -0 -1 -1 0 1 #"\0" -0 75 11 #" Monospace\0" -0.0 11 90 -1 90 -1 3 -1 0 1 0 1 0 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 -255 255 1 -1 0 1 #"\0" -0 75 11 #" Monospace\0" -0.0 15 90 -1 90 -1 3 -1 0 1 0 1 0 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 -255 255 1 -1 2 14 #"Html Standard\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 -1 -1 0 1 -#"\0" -0 75 1 #"\0" -0.0 10 90 -1 90 -1 3 -1 0 1 0 0 0 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 -255 255 1 -1 0 1 #"\0" -0 75 12 #"Courier New\0" -0.0 10 90 -1 90 -1 2 -1 0 1 0 0 0 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 -255 255 1 -1 2 1 #"\0" -0 -1 1 #"\0" -1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 40 25 15 0 0 -0 -1 -1 2 30 #"drscheme:check-syntax:keyword\0" -0 -1 1 #"\0" -1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 40 25 15 0 0 -0 -1 -1 2 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 248 20 64 0 -0 0 -1 -1 2 39 #"drscheme:check-syntax:unbound-variable\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 248 20 64 0 -0 0 -1 -1 2 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 36 36 140 0 -0 0 -1 -1 2 37 #"drscheme:check-syntax:bound-variable\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 36 36 140 0 -0 0 -1 -1 2 32 #"drscheme:check-syntax:primitive\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 36 36 140 0 -0 0 -1 -1 2 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 51 135 39 0 -0 0 -1 -1 2 31 #"drscheme:check-syntax:constant\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 51 135 39 0 -0 0 -1 -1 2 1 #"\0" -0 -1 1 #"\0" -1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 255 165 0 0 -0 0 -1 -1 2 32 #"drscheme:check-syntax:tail-call\0" -0 -1 1 #"\0" -1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 255 165 0 0 -0 0 -1 -1 2 27 #"drscheme:check-syntax:base\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 132 60 36 0 0 0 -1 -1 2 1 -#"\0" -0 70 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 --1 -1 2 1 #"\0" -0 71 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 --1 -1 2 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 80 80 248 0 -0 0 -1 -1 2 1 #"\0" -0 71 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 80 80 248 0 -0 0 -1 -1 2 1 #"\0" -0 71 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 0 100 0 0 0 -0 -1 -1 2 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 94 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 255 0 0 0 0 -0 -1 -1 2 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 200 0 0 0 0 -0 -1 -1 4 32 #"widget.rkt::browser-text% basic\0" -0 70 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 --1 -1 4 59 -#"macro-debugger/syntax-browser/properties color-text% basic\0" -0 70 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 --1 -1 99 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 190 190 190 -0 0 0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 0 0 0 0 0 0 --1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 255 0 0 0 0 -0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 0 0 255 0 0 -0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 107 142 35 0 -0 0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 0 100 0 0 0 -0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 139 0 0 0 0 -0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 100 149 237 -0 0 0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 65 105 225 0 -0 0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 70 130 180 0 -0 0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 47 79 79 0 0 -0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 0 0 139 0 0 -0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 75 0 130 0 0 -0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 160 32 240 0 -0 0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 255 165 0 0 -0 0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 250 128 114 -0 0 0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 184 134 11 0 -0 0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 128 128 0 0 -0 0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 169 169 169 -0 0 0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 -228 225 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0.0 0.0 0.0 0.0 0.0 0.0 255 0 0 224 -255 255 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 224 -255 255 -1 -1 0 1 #"\0" -0 -1 1 #"\0" -0.0 11 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 --1 -1 2 1 #"\0" -0 -1 1 #"\0" -0.0 11 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 --1 -1 22 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 -255 255 -1 -1 14 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 -255 255 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 -255 255 -1 -1 41 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 -255 255 -1 -1 43 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 -255 255 -1 -1 0 259 0 26 3 12 #"#lang racket" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" -0 0 17 3 81 -( - #";; Originally a test for PLoT <= 5.1.3; keeping it to test backward " - #"compatibility" -) 0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" -0 0 22 3 1 #"(" -0 0 14 3 7 #"require" -0 0 4 3 1 #" " -0 0 14 3 4 #"plot" -0 0 4 29 1 #"\n" -0 0 4 3 9 #" " -0 0 22 3 1 #"(" -0 0 14 3 7 #"only-in" -0 0 4 3 1 #" " -0 0 14 3 11 #"plot/compat" -0 0 4 3 1 #" " -0 0 14 3 3 #"fit" -0 0 4 3 1 #" " -0 0 14 3 23 #"fit-result-final-params" -0 0 22 3 2 #"))" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" -0 0 22 3 1 #"(" -0 0 15 3 6 #"define" -0 0 4 3 1 #" " -0 0 14 3 6 #"x-vals" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 10 #"build-list" -0 0 4 3 1 #" " -0 0 20 3 2 #"15" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 15 3 6 #"lambda" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 1 #"x" -0 0 22 3 1 #")" -0 0 4 3 1 #" " -0 0 14 3 1 #"x" -0 0 22 3 3 #")))" -0 0 4 29 1 #"\n" -0 0 22 3 1 #"(" -0 0 15 3 6 #"define" -0 0 4 3 1 #" " -0 0 14 3 6 #"errors" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 10 #"build-list" -0 0 4 3 1 #" " -0 0 20 3 2 #"15" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 15 3 6 #"lambda" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 1 #"x" -0 0 22 3 1 #")" -0 0 4 3 1 #" " -0 0 20 3 1 #"1" -0 0 22 3 3 #")))" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" -0 0 22 3 1 #"(" -0 0 15 3 6 #"define" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 3 #"fun" -0 0 4 3 1 #" " -0 0 14 3 1 #"x" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 2 #" " -0 0 22 3 1 #"(" -0 0 14 3 1 #"*" -0 0 4 3 1 #" " -0 0 20 3 1 #"3" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 3 #"exp" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 1 #"*" -0 0 4 3 1 #" " -0 0 14 3 1 #"x" -0 0 4 3 1 #" " -0 0 20 3 2 #"-1" -0 0 4 3 1 #" " -0 0 20 3 4 #"1.32" -0 0 22 3 4 #"))))" -0 0 4 29 1 #"\n" -0 0 22 3 1 #"(" -0 0 15 3 6 #"define" -0 0 4 3 1 #" " -0 0 14 3 6 #"z-vals" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 3 #"map" -0 0 4 3 1 #" " -0 0 14 3 3 #"fun" -0 0 4 3 1 #" " -0 0 14 3 6 #"x-vals" -0 0 22 3 2 #"))" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" -0 0 22 3 1 #"(" -0 0 15 3 6 #"define" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 8 #"gues-fun" -0 0 4 3 1 #" " -0 0 14 3 1 #"x" -0 0 4 3 1 #" " -0 0 14 3 1 #"a" -0 0 4 3 1 #" " -0 0 14 3 1 #"b" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 2 #" " -0 0 22 3 1 #"(" -0 0 14 3 1 #"*" -0 0 4 3 1 #" " -0 0 14 3 1 #"a" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 3 #"exp" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 1 #"*" -0 0 4 3 1 #" " -0 0 14 3 1 #"x" -0 0 4 3 1 #" " -0 0 20 3 2 #"-1" -0 0 4 3 1 #" " -0 0 14 3 1 #"b" -0 0 22 3 4 #"))))" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" -0 0 22 3 1 #"(" -0 0 15 3 6 #"define" -0 0 4 3 1 #" " -0 0 14 3 6 #"params" -0 0 4 3 1 #" " -0 0 4 29 1 #"\n" -0 0 4 3 2 #" " -0 0 22 3 1 #"(" -0 0 14 3 3 #"fit" -0 0 4 3 1 #" " -0 0 14 3 8 #"gues-fun" -0 0 4 29 1 #"\n" -0 0 4 3 7 #" " -0 0 20 3 1 #"'" -0 0 22 3 2 #"((" -0 0 14 3 1 #"a" -0 0 4 3 1 #" " -0 0 20 3 1 #"1" -0 0 22 3 1 #")" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 1 #"b" -0 0 4 3 1 #" " -0 0 20 3 1 #"1" -0 0 22 3 2 #"))" -0 0 4 29 1 #"\n" -0 0 4 3 7 #" " -0 0 22 3 1 #"(" -0 0 14 3 3 #"map" -0 0 4 3 1 #" " -0 0 14 3 6 #"vector" -0 0 4 3 1 #" " -0 0 14 3 6 #"x-vals" -0 0 4 3 1 #" " -0 0 14 3 6 #"z-vals" -0 0 4 3 1 #" " -0 0 14 3 6 #"errors" -0 0 22 3 3 #")))" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" -0 0 22 3 1 #"(" -0 0 14 3 9 #"displayln" -0 0 4 3 1 #" " -0 0 19 3 1 #"\"" -0 0 19 3 41 #"The old plot library produced this plot:\"" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 2 41 4 1 #"\0" -2 -1.0 -1.0 0.0 0.0 0 15 500 -( - #"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\1\220\0\0\1\220\b" - #"\2\0\0\0\17\335\241\233\0\0\0\6bKGD\0\377\0\377\0\377\240\275\247" - #"\223\0\0\34\246IDATx\234\355" - #"\335\177l\24\347\235\307\361\357`<\266" - #"\261\301?\26\31\34\260!l\322\264D-\b\213P\34\\qR\2244\"\266r" - #"\215\200p\n\327H\204\234*\2614\204^\32\376H\252$:\216\220\204\22qm" - #"\223\266\27\225\360\207\23z\247b\23\21" - #"\235j\353\b\343\322\366\260O\220\23\341" - #"R\214S\212\335\340\22ls\30\212\327" - #"1s\177\fl\226\365\332k\357\316\372" - #"\331\347\331\367\353\17\264?\36\217\277\343" - #"a>~\236\3073\317Z\256\353\n\0\350`\212\352\2\0`\274\b,\0\332 " - #"\260\0h\203\300\2\240\r\2\v\2006\b,\0\332 \260\0h\203\300\2\240\r" - #"\2\v\2006\b,\0\332 \260\0h\203\300\2\240\r\2\v\2006\b,\0\332" - #" \260\0h\203\300\2\240\r\2\v\2006\b,\0\332 \260\0h\203\300\2\240" - #"\r\2\v\2006\b,\0\332 \260\0h\203\300\2\240\r\2\v\2006\b,\0" - #"\332 \260\0h\203\300\2\240\r\2\v\2006\b,\0\332 \260\0h\203\300\2" - #"\240\r\2\v\2006\b,\0\332\310\254\300r\34g\341\302\2051/vuu\205" - #"B\241\342\342\342P(\324\335\335\255\244" - #"0\0\231 \203\2\313q\234\265k\327\236:u*\346\365\305\213\27\213HKK" - #"\213\210,Z\264HAe\0002\203\345" - #"\272\256\352\32n\250\251\251\331\271sgmmmtI===\301`p``" - #"\300{ZTT\324\331\331Y^^\256\250F\0*eP`y,\353\226\222\266" - #"l\331RPP\260}\373v\357\351\266m\333\6\a\aw\355\332\245" - #"\250:\0*ez`\305t\251b:\\\0\262\312T\325\5\244\312" -) 500 -( - #"\262\254\16\221;E2+w\1\243]\276|\271\250\250h\362\277o\246\367\260b" - #"\306\2001#\304\e\355\213\212\344\323O" - #"%\321\217/f\313\264\314\300\226\312\v" - #"\240\245\277-}\227\351\201\225p\322\335" - #"\262,\267\242B\332\333\245\242bB[\246e\6\266T^\0-\375m\351\273\f" - #"\272\254!\256Y\263f\345\347\347\207B" - #"\241\266\266\266P(\224\237\237\37\347O" - #"\204\323\247\313\345\313>~\323\274\274<-Z\216\237y{\224\246\28L\31." - #"\343\2k\344\205\243\307\217\37\27\221U" - #"\253V\211\310\211\23'\342|\215\337\201" - #"u\355\3325-Z\216\237y{\224\246\28L\31.\343\206\204\23eY\226\273" - #"r\245\374\340\a\262re\342\226\232\357" - #"l\f\363\366HL\334)\366\310G\31\327\303JFQ\221d\345\205\16Z\364\341" - #"'\312\274\2352o\217\0242\"\260\374" - #"\36\22\352B\213>\374D\231\267S\346\355\221B\4\26\0m\20X\0\264aD" - #"`\25\25\21X@60\"\260\246O\317\316Iw \333\230\22X\364\260\200," - #"@`\1\320\6\201\5@\e\332_\203kY\326J\221\37\210\334\237\233\e\16\207" - #"G6\260m{hh(\372\225\334QZ\2\30C\364\251\304\225\356\311\373\317\266" - #"\266\225\325\325\243eP8\34v]\327\373\371z\17H+ \t\321\247\222*&" - #"\4\26CB K\20X\0\264A`\1\320\206\21\2015m\232\374\365\257\242\371" - #"_\17\0$dD`M\231\"\371\371r\365\252\352:\0\244\227\21\201%\"\205" - #"\205r\345\212\352\"\0\244\27\201\5@\e\4\26\0m\20X\0\264A`\1\320" - #"\6\201\5@\e\4\26\0m\230\260Z\203\210\374L\244-'\347\215\317?\37\331" - #"\200\325\32\0_d\302j\rS\225|W\177\271\256+O=\365\304" - #"\355\267\307}7\222M\346}\236%0\231\242O%U50$\4" -) 500 -( - #"\240\r\2\v\2006\b,\0\332 \260\0h\203\300\2\240\r\2\v\2006L\t" - #"\254\242\">\374\0310\236)\201E\17\v\310\2\4\26\0m\20X\0\264A`" - #"\1\320\6\201\5@\e\246\4VA\201\\\273\306'}\1f3!\260,\313\262" - #"rr\256\f\17\307\375\244/\333\266-" - #"\313\362\356/\367\36\330\266=\3515\2\332\213>\225T1ey\31\21\2315K" - #"\256\\\221\302\302\230wY^\6\360\5\313\313\370\212i,\300t\4\26\0m\20" - #"X\0\264A`\1\320\6\201\5@\e\4\26\0m\30\24X\2540\3\230N\203" - #"\300r\34g\372\364\351\226e\5\2\201" - #"\326\326\326Q\333\321\303\2L\247A`" - #"\325\327\327\277\377\376\373\256\353\368p" - #"\240\256\256n\324v\4\26`:\r\2" - #"\253\277\277\177\305\212\25\"R[[\333\337\337?j;\2\v0\235\6\201UZ" - #"Z\32\b\4v\357\336\35\b\4\252\252\252FmG`\1\246\323\343^\302\336\336" - #"\336-[\266H\344\266\301\270\b,\300" - #"t\231\336\303r\34\307\275\325\310yw" - #"\357\16\362\277\333\270\261\341\347?\217," - #"\306\20\271\263<\"\3222\202e\e\200" - #"\204\342\236J\252d\372\2\6\245\245\245" - #"\a\17\36\364\346\260D\304q\234\372\372" - #"\372\276\276\276H\203/\326`hj\222\177\375Wil\34mS\254\326\0\370B" - #"\341\251\224\351=\254\t\340:,\300t\231\36X---\217>\372hKK\213" - #"\210477\257[\267\316{\34\asX\200\3512}\322}\311\222%\r\r\r" - #"uuu\227.]*..~\357\275\367\226,Y\22\277)\201\5\230.\323\3" - #"K\22^~\25A`\1\246\313\364!\341\4\20X\200\351\b,\0\3320(\260" - #"\370\244/\300t\6\5\326\224)2m\32W6\0\0063(\260D" - #"d\306\f\371\277\377S]\4\200t1+\260\246O\227\313\227U\27\1" -) 500 -( - #" ]\314\n,zX\200\321\314\n,zX\200\321\314\n,zX\200\321L\b" - #"\254/\326\212\211\327\303\212,\216qKK\0\23\24}*\251bB`y\353d" - #"\205\303\341\270\201\25\16\207\275\6\267\264" - #"\0040A\321\247\222*&\4\326\27\30\22\2F3+\260\230t\a\214F`\1" - #"\320\206Y\201\305\220\0200\232Y\201E\17\v0\232Y\201E\17\v0\232Y\201" - #"E\17\v0\232Y\201E\17\v0\232Y\201E\17\v0\232Y\201E\17\v0" - #"\232Y\201UX(W\257\312\365\353\252\353\0\220\26f\5\226\267J2\37E\1" - #"\30\312\204\300\272e\r\206\21\243BVk\0|\221\t\2535h\360A\252\t\335" - #"r\373\370\210y\367\310\332\f\226e\251" - #"\275\321\34\320Z\364\251\244\252\6\23z" - #"X\267`\336\0350\227q\201\305\225\r\200\271\214\v,zX\200\271\214\v,z" - #"X\200\271\b,\0\3320.\260\30\22\2\3462.\260\350a\1\346\"\260\0h" - #"\303\270\300bH\b\230\313\270\300\242\207" - #"\5\230\313\270\300\242\207\5\230\313\270\300" - #"\242\207\5\230\313\270\300\242\207\5\230\313" - #"\204\300\272e\321\230\21=,\226\227\1" - #"|\301\3622\376\270e\321\230\21=,\226\227\1|\301\3622iPX(\177\375" - #"+\253$\3F2.\260\246L\221\242\"\246\261\0#\31\27X\"RZ*}" - #"}\252\213\0\340?\23\3\253\244D\372\373U\27\1\300\177&\6\26=,\300P" - #"&\6\26=,\300P&\6\26=,\300Pz\4\226\3438\201@ \20\b\264" - #"\266\266&nM\17\v0\224\6\27\216:\216\263v\355\332\306\306F\327u\237y" - #"\346\231\243G\217&\370\2\2\v0\224\6\201U__\177\360\340\301\25+V\210" - #"H\342\264\22\221\322R9u*\355e\1\230t\32\f\t\373\373" - #"\373]\327\235?\177~(\24\352\356\356N\374\5\364\260\0Ci\20" -) 500 -( - #"X\"\262v\355\332\327^{MD\26-Z\224\2705\223\356\200\2414\270\37\330" - #"\262,\307q\274!aiiidx\30y7\246}\355\324\251G\226.\265\333" - #"\332\206\206\206\306\336rnnn\344~N\0q\331\266=\362TR\225\ez\4" - #"V\244\310\335\273w\277\376\372\353\237|\362I\334wo8uJ\36yD>\372" - #"h\214\355\0H\232\302SI\203!aIII\344j\206\27^xa\337\276}" - #"\t\276\200!!`(\r\376J\330\324\324\264f\315\232={\366\34>|8'" - #"''z<\30\37\223\356\200\2414\350" - #"a\325\326\326\276\373\356\273[\267n\25" - #"\221\23'N$\376\202\374|\21\221k" - #"\327\322\\\27\200\311\246\375\264N\374\341\364m\267I{\273TT$n\t`\202" - #"\230\303\362\e\243B\300D\206\6\26\363" - #"\356\200\211\f\r,zX\200\211\f\r,zX\200\211\f\r,zX\200\211\f" - #"\r,zX\200\211\f\r,zX\200\211\b,\0\33204\260\30\22\2&2" - #"!\260,\313\262,\313\266\355/^\212" - #"\352a\331\266\3555\210\337\22\300\370D" - #"\237J\252hp\363sBq\356\22\210\352aEV\274\342\326\34 \25\321\247\222" - #"\252\32L\350a\305\301\34\26`\"C\3\2139,\300D\206\6\326\214\03120" - #" \303\303\252\353\0\340'C\3k\312\24\231>\235N\26`\30C\3KD\2" - #"\1\271xQu\21\0\374D`\1\320\6\201\5@\e\4\26\0m\370\20X\216" - #"\343\324\324\324x\17\356\276\373\356\310G" - #"r)F`\1\306\361!\260\352\353\353" - #"w\356\334\331\323\323\263z\365\352\215\e" - #"7\256Y\263\213\300\2\214\343\303\335*\336-/\337\373\336\367,\313z" - #"\345\225W\34\307\251\257\257\357\233\254K\nF\275\341\346'?\221\343" - #"\307\345\3157\23\267\0040\21\nO%\337\356%|\343\2157:;" -) 500 -( - #";\375\332\232\17\350a\1\306\361aH" - #"XRR\262{\367\356\334\334\334\362\362" - #"r\307q\326\256]{\360\340\301\3247;~\361\327`\270\31X\254\326\0\370\"" - #"\23Vk\360!\260\232\232\232\32\32\32" - #"\274\220\372\376\367\277\277\177\377\376\304\237" - #"&\357+\327u]\327\215\334J~C \275\275\"\22\16\207\275\6\243\266\4" - #"0\16\321\247\222*\332O\353\214:\234>wN\226/\227\256\256\304-\1L\204" - #"\226\237\374\\VV\266`\301\2\21\t" - #"\6\203\326\255\202\301\240\177\25&\2139" - #",\3008\311O\272\317\2349\363\255\267" - #"\336\22\2213g\316\370W\217\177\246M" - #"\23\313\222\253We\3324\325\245\0\360" - #"G\362\201\365\207?\374\301\307:\322\242\254L.^$\260\0c\3700\351^]" - #"]\275\177\377\376\310\323\375\373\367WW" - #"W\247\276Y\0370*\4\314\342\303u" - #"X\277\370\305/\352\353\353\177\363\233\337\274\366\332k[\267nmjjjjj" - #"J}\263> \260\0\263\370\20X_\375\352W\217\35;\366\360\303\17\337v\333" - #"mw\335uW[[[ \20H}\263> \260\0\263\370\263Z\303\300\300\300" - #"\245K\227\212\213\213\373\373\373/_\276\354\3136}@`\1f\361!\260>\370" - #"\340\203e\313\226=\361\304\23\247O\237" - #"~\342\211'\226-[\366\301\a\37\244\276Y\37\20X\200Y|\30\22>\375\364" - #"\323{\366\354Y\263f\215\210|\367\273" - #"\337\255\250\250x\372\351\247\333\333\333S" - #"\337r\252\2\19wNu\21\0|\243\375\305\337c]t\273w\257\264\264\310" - #"\333o'n\t`\334\264\274\322=b\316\2349\231x\245\273\334\274\16\v\200)" - #"|\b\254\253W\257:\216\343\335\25y" - #"\344\310\221\212\212\212\275{\367\246\276" - #"Y\0370\207\5\230\305\267\5\374\"O'\177\1?\357" - #"Annn\3542\f\37\177,\17=d\237=;4" -) 500 -( - #"4\24\375r\234\226\0\22\261m;r*i\277\200\237B\243\376\354\2\1\271x" - #"1\222M\314a\1\251\210>\225T\325" - #"\340\317\2~\221E\334\225,\3407\252" - #"\322R>\260\0360\211\17=\254\246\246" - #"\246\207\36z\350\322\245K\"R\\\\" - #"\374\336{\357M\362\2~\243\312\311\221" - #"@@\376\362\27\251\250P]\n\0\37" - #"\370\20X\265\265\265\375\375\375\251o'" - #"-f\317\226O?%\260\0003\230\373A\252\236\212\n9\177^u\21\0\374a" - #"z`\315\236M`\1\306\310\202\300\372\364S\325E\0\360G\26\4VO\217\352" - #"\"\0\370C\233\300\352\350\350(((\230\360\227UT\320\303\2\214\241G`\r" - #"\17\17\257_\277\376\332\265k\23\376J" - #"\346\260\0\203$\37XK\227.\235\264" - #"{\6\177\370\303\37\26\27\27'\363\225" - #"\314a\1\6I\376n\225\323\247O\257" - #"Y\263\346\366\333o\177\353\255\267JJJ\374-+\332G\37}\264r\345\312c" - #"\307\216\315\237?\177d\265\tn\270\31" - #"\30\220\331\263e` qK\0\343\243" - #"\345\3622w\336y\347\357~\367\273\312" - #"\312\312e\313\226\35?~\334\307\232\242" - #"\r\17\17o\330\260\341\245\227^\2327o^2__T$\226%\231\263j3" - #"\200\24\2444\207\225\227\227\367\372\353\257" - #"?\362\310#K\227.M\323zX\336`\360\311'\237\34\243M\314j\\\266m" - #"\213\210m\333\336\323\216\201\201/\315\230" - #"\341\335\256\31\267%\2001DN\245\b" - #"\205\305\244\332\265knn~\374\361\307" - #"\233\232\232\226,Y\342WM\321\252\252" - #"\252\316\335\272\314\361\202\5\v\242?k" - #":q\357\264\266V\376\351\237\344\e\337" - #"`H\b\370B\341\251\224\322\275\204\351" - #"N+\21\371\323\237\376\24y\234\344\217\211\273s\0S$?$\234\204\264\362" - #"\aW6\0\246H>\260\236\177\376\371w\336yg2\323j\341\302\205\311|\31" -) 500 -( - #"\201\5\230\"\371!\341\321\243G}\254" - #"c\335\327\327\247\272\34\0" - #"I2!\260,\313\262,\313\266\355\270" - #"\357z\257[\226uF\344\201;\357\214\274\2`Bl\333\366\3165\2055\230\20" - #"X\256\353\272\256;\332\2121\336\353\256" - #"\353v\212\374\307O~\22y\5\300\204\204\303a\357\\SX\203\t\201\225Pi" - #"i\251eY\237\210\274\362\235\357TUU\251.\a@\222\262\"\260z{{\275" - #"\36\326?>\362\310\331\263gU\227\3 IY\21X\236N\21\351\354T]\5" - #"\200\344\21X\0\264\221E\201\325+\"\226%\27/\252.\4@\222\262" - #"(\260DD\26,\240\223\5\350+\313\2+\30$\260\0}eY`" -) 500 -( - #"\321\303\2t\226e\201u\373\355\4\26\240\257,\v,zX\200\316\b,\0\332" - #"\310\216\317%\214\264\f\207e\306\f\271tI\270\377\31H\26\237K8Yrs" - #"\245\252J::T\327\1 \31&\364\260\274\a\271\271\271q\227a\260m{h" - #"h(\362\264Qd_N\316/?\377|\222\352\3L\21}*\251\312\215\251J" - #"\276\253\277\306\376\331ER\354F?\366\231g\352Yt\24\230\270\350SIU\r" - #"Y6$\24\221\273\356\222\217?V]\4\200dde`\375\357\377\252.\2@" - #"2\262/\260\276\374ezX\200\246\262/\260f\316\224)S\344/\177Q]\a" - #"\200\t\313\276\300\22\246\261\0]ek`1\215\5h([\3\213\36\26\240!" - #"\r\2\313q\234@ `YV \20hmm\365a\213\314\273\3z\322 \260" - #"\352\353\353\e\e\e]\327=p\340@]]\235\17[\244\207\5\350I\203[s" - #"\356\276\373\356\223'Oz\217G\336u" - #"9\261\233\237\275\226\341\260\224\226Jo\257\344\345\371],`>n~\36K$" - #"\255zzz\n\v\v}\330\242m\313W\276\"\37~\350\303\246\0L\"\r\2" - #"+b\307\216\35\2337o\366g[\325" - #"\325\322\326\346\317\246\0L\26\r\206\204" - #"\36\307qV\257^\375\341\207\37\226\227" - #"\227G\277>\362>Lo\331\206\230E\32b<)r\217\310wFY\340\1@" - #"D\334S\211!\341X\232\233\233\327\255" - #"[w\350\320\241\230\264\362\270\267\3622" - #"(\34\16\307\274\36\335\362\315\266\266\r\213\27\223V@BqO%U4\350a" - #"577?\376\370\343MMMK\226,\31\371n2\223\356\"\22\16KY\231" - #"|\366\231\344\347\373X*\220\r\230t" - #"\37\325\330i\225<\333\226/\177Y\376\347\177\374\334&\2004\313" - #"\364\300\332\270qcwwwuu\265uS0\30\364g\323\314\273" -) 500 -( - #"\3\272\311\364\25G?\371\344\223tm" - #"\272\272Z\376\353\277\322\265q\0i\220" - #"\351=\2544\252\256\226\366v\325E\0" - #"\230\0\r&\335\307\226\344\244\273\210\f\16J \27.HAA\272\212\3L" - #"\304\244\273\nyy\262p\241\34;\246" - #"\272\16\0\343\225\305\201%\"\313\227\313" - #"o\177\253\272\b\0\343E`\21X\2006\b,\2\v\320Fv\a\326\274y\222" - #"\233+\235\235\252\353\0000.\331\35X\"\262l\31\235,@\27Y\37X_\377" - #":\201\5\350\302\204\300\362n\331\261m" - #";\356\273\266m{\r\342\267d\32\v\30\237\350SI\225,\276p\324s\365\252" - #"\314\232%\347\317\213/k\231\2Y\200\vG\325\2316Mjj\244\271Yu\35" - #"\0\22\313\372\300\22\221\a\37\224\367\337" - #"W]\4\200\304\262~H(\"\37\177,\367\335'\347\316\371\\\31`(\206\204" - #"J\335u\227\344\345\311\315\317\346\1\220" - #"\261\b,\21\21y\340\1F\205@\346#\260D\204i,@\17\314a\211\210\310" - #"\300\200\314\235+\347\316\311\364\351~\26" - #"\a\230\2109,\325\212\212\344\276\373\244" - #"\261Qu\35\0\306B`\335\264z\265" - #"\374\362\227\252\213\0000\26\206\2047]" - #"\275*\225\225\322\331)\305\305\276\25\a" - #"\230\210!a\6\2306M\376\346o\344\340A\325u\0\30\25\201\25\205Q!\220" - #"\331L\30\22z\17rss\303\341\360\310\6\266m\17\r\rE\2772ZK\271" - #"|Y\252\252\244\243C\2\2014T\n\350-\372TbH\230<\327u]\327\215" - #"\237A\"\341p\330k\220\260\245L\237" - #".\365\365\362\326[\351+\25\320W\364" - #"\251\244\212\t=,\177&\335=\255\255" - #"\362\370\343r\372\264(]\364\a\310dL\272g\214\25+\244\240@\16\37V]" - #"\a\2008\350a\335\242\254\254\354\357\373\372\276.\262" - #"N\244\264\264\264\267\267\327\217\32\1\243(\354a\21X" -) 500 -( - #"#\332|\366\231|\351Kr\352\2245k\226\356?\34 \35\30\22f\222@@" - #"\236|Rv\354P]\a\200X\364\260\342\265\271xQ\276\362\2259\27.tk" - #"\376\303\1\322Aa\17k\252\222\357\232\261JKK\275\v\273\376Y\344\5Vn" - #"\0002\f\201u\213/f\331{z\344k_\2233g$\30TZ\21\200/0" - #"\2075\212Y\263\344\205\27\344\261\307dxXu)\0n \260F\367\17\377 " - #"3f\310\356\335\252\353\0p\3\223\356c:{V\226.\225\303\207e\341\302d" - #"\212\3L\304e\r\231j\336" - #"\313\372\222eY\226UVV\246\272, +0\207\225\244J\313:\267i\223\274" - #"\363\216\374\352WVm\255\356?F`\374Xq4y\252\2\353\306\326\376\373\277" - #"\245\276\376\276\356\356f\25?F\333\266" - #"'vA\231\16\314\333)\363\366\210I\367\261tuu\205B\241\342\342\342P(" - #"\324\235i3GK\226HC\303\277\213\210eI~\376$\317m\305\\\20k\6" - #"\363v\312\274=RH\203\300Z\274x" - #"\261\210\264\264\264\210\310\242E\213T\227" - #"s\203\267\324\237eY\3267\276\361\265\252*q]\351\350\20\21Y\274XZ[" - #"\243[\226\225\225Y71\333\5\244\"\323\207\204===\301`" - #"p``\300{ZTT\324\331\331Y^^\36i\220\216!\341\370" -) 500 -( - #"\373\360qZ:\216\324\325\311\245K\222" - #"\227'\e7\312\263\317Zs\347\272\256" - #"\353\265\34O\r\343\377\356\223\264G\223" - #"\330RL\334\251l\336#\337ez\17k\307\216\35\2337o\216<\r\205B;" - #"\322\377\361\20\343\357\303\307iY[+\375\375_t\270\202AWD\362\363w\r" - #"\r%\34-z}\261\241\241\241\204}" - #"1\257\245\210\214\263\345\370\267\251\252\245" - #"\30\272S\23\222\322\177\274Il\251P\246\367\260b\272T1\35.IO\17\313" - #"\377\17\2668w\356_*+7\345\345\311\340\340\250\355\362\362\376eppSW" - #"\227\327#\e{\313\336\273\321\377\352\336" - #"Ry\1i\332)\321\341\277h\372Z" - #"\372\316\2045\335\255q\177\254\274\252\226" - #"Ve\245\210\204\306H+\221\271\203\203" - #"\337\27\31\234;\327\25\21\313\362\376\35\255qt\e3Z*/ M;\25i" - #"?v\e\275Z\236\21\t\207\303\266m" - #"\217\247\261\2772\275\207\265m\333\266\301" - #"\301\301]\273vyO\267l\331RPP\260}\373\366H\3]~\325\214\377W" - #"q\346w\34\350a\321\303R\226\enf;\177\376|aaa\344iaaa" - #"OOOt\203\361\357B\346\267,-" - #"-\215\34\227\252\252\252\254j\251\274\200" - #"4\355\224\253\303\177\274\364\265\364]\246" - #"\367\260Dd\346\314\231\353\326\255\373\366" - #"\267\277\275w\357\336\206\206\206\317>\373" - #",\372\335t\374Z\310\317\317\277v\355" - #"Z\346\2674o\217\304\304\235\312\346=" - #"\362]\246\377\225PD\216\37?.\"\253V\255\22\221\23'NL\302w\34\377" - #"\331\245\266\345\370\231\267Gi*\200\303" - #"\224\3414\350a\215M\217\201wz\230" - #"\267Gb\342N\261G>\322\240\207\205" - #"\321\344\345\345\251.\301\177\346\355\224y" - #"{\244\220\366\331\237\315=,@\tzX\0\220\30\201\5" - #"@\e\4\26\0m\20X\0\264A`\1\320\6\201\5@" -) 500 -( - #"\e\4\26\0m\230\20X\226eY\2265\332b\27\266m{\r\22\266\0040\206" - #"\350SI\25\355\257\245\344\302Q`\222q\341(\0$F`\1\320\6\201\5@" - #"\e\4\26\0m\20X\0\264A`\1\320\6\201\2451#/(3o\247\314\333" - #"#\205\264\2774)\233\257\3032o\217\304\304\235b\217|D\17\v\2006\b\254" - #"8\306\337\207W\333r\374\314\333\2434\25\300a\312p\332wVu\371\b\\Z" - #"\216\247\245\362\2h\351oK\337\321\303" - #"\2\240\r\23zX\252K\0\262\316\345" - #"\313\227\213\212\212&\377\373j\37X\0\262\aCB\0\332 \260\0h\203\300\2" - #"\240\r\2\v\2006\b,\0\332\310\212" - #"\300\352\352\352\n\205B\305\305\305\241P\250\273\273[u9>(++\263n\n" - #"\6\203\252\313I\211\3438\v\27.\214yQ\353C\26w\217\364=d\216\343\4" - #"\2\1\313\262\2\201@kkk\344u%\307(+\2k\361\342\305\"\322\322\322" - #"\"\"\213\26-R]\216\17\372\372\372" - #"\334\233\316\2349\243\272\234\3449\216\263" - #"v\355\332S\247N\305\274\256\357!\e" - #"m\217\364=d\365\365\365\215\215\215\256" - #"\353\368p\240\256\256.\362\272\232c" - #"\344\232\356\374\371\363\205\205\205\221\247\205" - #"\205\205===\n\353\361\2051\an" - #"\371\362\345\216\343\304\354\216\326\207,\356" - #"\36\271:\37\262\205\v\27F\36G\366B\32512\377\302\321-[\266\24\24\24" - #"l\337\276\335{\272m\333\266\301\301\301" - #"]\273v\251\255*E\321\327\367\227\226" - #"\226\366\366\366*,&u1\367\246\31p\310F\336mg\300!\353\351\351\t\6" - #"\203\3\3\3\242\360\30MB(\252\25" - #"\223\3751\277\0314\25\375K\257\244\244" - #"\304q\34\205\305\244.\346\377\241\1\207l\344\231e\300!{\352\251\247" - #"\266m\333\346=Vu\214\246\246=\21\221\6'O\236\214\30\n\205\352\352\352\\\327\335" - #"\274y\363\203\17>\30\375\356\276}\373" - #"\276\365\255outt<\373\354\263\265" - #"\265\265G\217\36\365\271t\350\2039," - #"\370\340\243\217>Z\271r\345\201\3\a" - #"\36~\370\341\303\207\17\217\274\325&\"" - #"ze\273\350\307\327\257__\260`\201eYg\316\234\2312eJ\314\273]]" - #"]/\277\374\362\317~\366\263\302\302\302" - #"\306\306F_\376\n\t\0351\207\205T" - #"\r\17\17o\330\260\341\245\227^\252\251" - #"\251y\361\305\0277l\330\340\375\3050" - #"\256\222\222\222\270\223P\317=\367\334\274" - #"y\363\252\252\252\236\177\376\371\230\267j" - #"jj\376\370\307?\356\331\263\347\332\265" - #"k\317=\367\234/\177\202\204\256\224\16" - #"Ha\202W^y\345\201\a\36\270~" - #"\375\272\353\272\327\257_\277\377\376\373_" - #"}\365\325\321\32G\326-8r\344H" - #"\344\277\337\276}\373\202\301\340\205\v\27" - #".\\\270\20\f\6\367\355\333\347F\315" - #"a\265\267\267\317\2313\247\271\271y\214" - #"\225\3\220%\b,\244\252\246\246\246\243" - #"\243#\362\364\364\351\323\367\336{\357\30" - #"\355\217\349R\\\\\\\\\\<\177" - #"\376|\357\225\245K\227\266\265\265y\217" - #"\333\332\332\226.]\352\336\272\246p\344K4ZF\n\351\300\34\26\0m0\207" - #"\5@\e\4\26\0m\20X\0\264A`\1\320\6\201\5@\e\4\26\0m\20" - #"X\0\264A`\1\320\6\201\5@\e\377\17\261\224\26" - #"\263EZ\271\b\0\0\0\0IEND\256B`\202" -) 0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" -0 0 22 3 1 #"(" -0 0 14 3 9 #"displayln" -0 0 4 3 1 #" " -0 0 19 3 49 #"\"The new plot/compat library produces this plot:\"" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 22 3 1 #"(" -0 0 14 3 4 #"plot" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 3 #"mix" -0 0 4 29 1 #"\n" -0 0 4 3 7 #" " -0 0 22 3 1 #"(" -0 0 14 3 6 #"points" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 3 #"map" -0 0 4 3 1 #" " -0 0 14 3 6 #"vector" -0 0 4 3 1 #" " -0 0 14 3 6 #"x-vals" -0 0 4 3 1 #" " -0 0 14 3 6 #"z-vals" -0 0 22 3 2 #"))" -0 0 4 29 1 #"\n" -0 0 4 3 7 #" " -0 0 22 3 1 #"(" -0 0 14 3 4 #"line" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 15 3 6 #"lambda" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 1 #"x" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 15 #" " -0 0 22 3 1 #"(" -0 0 14 3 5 #"apply" -0 0 4 3 1 #" " -0 0 14 3 8 #"gues-fun" -0 0 4 3 1 #" " -0 0 14 3 1 #"x" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 23 #"fit-result-final-params" -0 0 4 3 1 #" " -0 0 14 3 6 #"params" -0 0 22 3 5 #")))))" -0 0 4 29 1 #"\n" -0 0 4 3 6 #" " -0 0 22 3 7 #"#:x-min" -0 0 4 3 1 #" " -0 0 20 3 2 #"-1" -0 0 4 3 1 #" " -0 0 22 3 7 #"#:x-max" -0 0 4 3 1 #" " -0 0 20 3 2 #"20" -0 0 4 29 1 #"\n" -0 0 4 3 6 #" " -0 0 22 3 7 #"#:y-min" -0 0 4 3 1 #" " -0 0 20 3 2 #"-1" -0 0 4 3 1 #" " -0 0 22 3 7 #"#:y-max" -0 0 4 3 1 #" " -0 0 20 3 2 #"10" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 diff --git a/collects/plot/tests/fit-test-2.rkt b/collects/plot/tests/fit-test-2.rkt deleted file mode 100644 index bad31fed8e..0000000000 --- a/collects/plot/tests/fit-test-2.rkt +++ /dev/null @@ -1,2635 +0,0 @@ -#reader(lib"read.ss""wxme")WXME0108 ## -#| - This file uses the GRacket editor format. - Open this file in DrRacket version 5.2.0.1 or later to read it. - - Most likely, it was created by saving a program in DrRacket, - and it probably contains a program with non-text elements - (such as images or comment boxes). - - http://racket-lang.org/ -|# - 44 7 #"wxtext\0" -3 1 6 #"wxtab\0" -1 1 8 #"wximage\0" -2 0 8 #"wxmedia\0" -4 1 34 #"(lib \"syntax-browser.ss\" \"mrlib\")\0" -1 0 16 #"drscheme:number\0" -3 0 44 #"(lib \"number-snip.ss\" \"drscheme\" \"private\")\0" -1 0 36 #"(lib \"comment-snip.ss\" \"framework\")\0" -1 0 93 -( - #"((lib \"collapsed-snipclass.ss\" \"framework\") (lib \"collapsed-sni" - #"pclass-wxme.ss\" \"framework\"))\0" -) 0 0 19 #"drscheme:sexp-snip\0" -0 0 36 #"(lib \"cache-image-snip.ss\" \"mrlib\")\0" -1 0 68 -( - #"((lib \"image-core.ss\" \"mrlib\") (lib \"image-core-wxme.rkt\" \"mr" - #"lib\"))\0" -) 1 0 33 #"(lib \"bullet-snip.ss\" \"browser\")\0" -0 0 29 #"drscheme:bindings-snipclass%\0" -1 0 25 #"(lib \"matrix.ss\" \"htdp\")\0" -1 0 22 #"drscheme:lambda-snip%\0" -1 0 8 #"gb:core\0" -5 0 10 #"gb:canvas\0" -5 0 17 #"gb:editor-canvas\0" -5 0 10 #"gb:slider\0" -5 0 9 #"gb:gauge\0" -5 0 11 #"gb:listbox\0" -5 0 12 #"gb:radiobox\0" -5 0 10 #"gb:choice\0" -5 0 8 #"gb:text\0" -5 0 11 #"gb:message\0" -5 0 10 #"gb:button\0" -5 0 12 #"gb:checkbox\0" -5 0 18 #"gb:vertical-panel\0" -5 0 9 #"gb:panel\0" -5 0 20 #"gb:horizontal-panel\0" -5 0 33 #"(lib \"readable.ss\" \"guibuilder\")\0" -1 0 57 -#"(lib \"hrule-snip.rkt\" \"macro-debugger\" \"syntax-browser\")\0" -1 0 45 #"(lib \"image-snipr.ss\" \"slideshow\" \"private\")\0" -1 0 26 #"drscheme:pict-value-snip%\0" -0 0 38 #"(lib \"pict-snipclass.ss\" \"slideshow\")\0" -2 0 55 #"(lib \"vertical-separator-snip.ss\" \"stepper\" \"private\")\0" -1 0 18 #"drscheme:xml-snip\0" -1 0 31 #"(lib \"xml-snipclass.ss\" \"xml\")\0" -1 0 21 #"drscheme:scheme-snip\0" -2 0 34 #"(lib \"scheme-snipclass.ss\" \"xml\")\0" -1 0 10 #"text-box%\0" -1 0 32 #"(lib \"text-snipclass.ss\" \"xml\")\0" -1 0 15 #"test-case-box%\0" -2 0 1 6 #"wxloc\0" - 0 0 129 0 1 #"\0" -0 75 1 #"\0" -0 12 90 -1 90 -1 3 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 1 -1 0 9 -#"Standard\0" -0 75 10 #"Monospace\0" -0 10 90 -1 90 -1 3 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 -1 -1 2 24 -#"framework:default-color\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 150 0 150 0 0 0 -1 -1 2 15 -#"text:ports out\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 150 0 150 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 93 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 255 0 0 0 0 0 -1 --1 2 15 #"text:ports err\0" -0 -1 1 #"\0" -1.0 0 -1 -1 93 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 255 0 0 0 0 0 -1 --1 2 1 #"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 175 0 0 0 -1 -1 2 17 -#"text:ports value\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 175 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 34 139 34 0 0 0 -1 --1 2 27 #"Matching Parenthesis Style\0" -0 -1 1 #"\0" -1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 34 139 34 0 0 0 -1 --1 2 1 #"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 37 -#"framework:syntax-color:scheme:symbol\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 38 -#"framework:syntax-color:scheme:keyword\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2 -38 #"framework:syntax-color:scheme:comment\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 37 -#"framework:syntax-color:scheme:string\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 39 -#"framework:syntax-color:scheme:constant\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 132 60 36 0 0 0 -1 -1 2 42 -#"framework:syntax-color:scheme:parenthesis\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 132 60 36 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 36 -#"framework:syntax-color:scheme:error\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 36 -#"framework:syntax-color:scheme:other\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 81 112 203 0 0 0 -1 -1 2 -38 #"drracket:check-syntax:lexically-bound\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 81 112 203 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 178 34 34 0 0 0 -1 -1 2 28 -#"drracket:check-syntax:set!d\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 178 34 34 0 0 0 -1 -1 2 37 -#"drracket:check-syntax:unused-require\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 36 -#"drracket:check-syntax:free-variable\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 68 0 203 0 0 0 -1 -1 2 31 -#"drracket:check-syntax:imported\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 68 0 203 0 0 0 -1 -1 2 47 -#"drracket:check-syntax:my-obligation-style-pref\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 178 34 34 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 116 0 0 0 0 -1 -1 2 50 -#"drracket:check-syntax:their-obligation-style-pref\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 116 0 0 0 0 -1 -1 2 48 -#"drracket:check-syntax:unk-obligation-style-pref\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 139 142 28 0 0 0 -1 -1 2 -49 #"drracket:check-syntax:both-obligation-style-pref\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 139 142 28 0 0 0 -1 -1 2 -26 #"plt:htdp:test-coverage-on\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 2 27 -#"plt:htdp:test-coverage-off\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 4 1 -#"\0" -0 70 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 --1 -1 4 4 #"XML\0" -0 70 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 --1 -1 2 1 #"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 37 -#"plt:module-language:test-coverage-on\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 176 48 96 0 0 0 -1 -1 2 38 -#"plt:module-language:test-coverage-off\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 176 48 96 0 0 0 -1 -1 4 1 -#"\0" -0 71 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 --1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 0 255 0 0 0 -1 --1 4 1 #"\0" -0 71 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 0 255 0 0 0 -1 --1 4 1 #"\0" -0 71 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 100 0 0 0 0 -1 --1 0 1 #"\0" -0 75 10 #"Monospace\0" -0.0 10 90 -1 90 -1 3 -1 0 1 0 1 0 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 -255 255 1 -1 0 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 200 0 0 0 0 -0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 1 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 -255 0 -1 -1 0 1 #"\0" -0 75 1 #"\0" -0.0 11 90 -1 90 -1 3 -1 0 1 0 1 0 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 -255 255 1 -1 0 1 #"\0" -0 75 11 #" Monospace\0" -0.0 14 90 -1 90 -1 3 -1 0 1 0 1 0 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 -255 255 1 -1 2 38 #"drscheme:check-syntax:lexically-bound\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 81 112 203 0 0 0 -1 -1 2 -31 #"drscheme:check-syntax:imported\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 68 0 203 0 0 0 -1 -1 2 35 -#"profj:syntax-colors:scheme:keyword\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1 -#"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 139 0 139 0 -0 0 -1 -1 2 37 #"profj:syntax-colors:scheme:prim-type\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 139 0 139 0 -0 0 -1 -1 2 38 #"profj:syntax-colors:scheme:identifier\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 34 -#"profj:syntax-colors:scheme:string\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 35 -#"profj:syntax-colors:scheme:literal\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 35 -#"profj:syntax-colors:scheme:comment\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2 -33 #"profj:syntax-colors:scheme:error\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 35 -#"profj:syntax-colors:scheme:default\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 37 -#"profj:syntax-colors:scheme:uncovered\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 35 -#"profj:syntax-colors:scheme:covered\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 139 0 139 0 -0 0 -1 -1 8 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 255 0 0 0 0 -0 -1 -1 8 24 #"drscheme:text:ports err\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 255 0 0 0 0 -0 -1 -1 0 1 #"\0" -0 75 11 #" Monospace\0" -0.0 11 90 -1 90 -1 3 -1 0 1 0 1 0 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 -255 255 1 -1 0 1 #"\0" -0 75 11 #" Monospace\0" -0.0 15 90 -1 90 -1 3 -1 0 1 0 1 0 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 -255 255 1 -1 2 14 #"Html Standard\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 -1 -1 0 1 -#"\0" -0 75 1 #"\0" -0.0 10 90 -1 90 -1 3 -1 0 1 0 0 0 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 -255 255 1 -1 0 1 #"\0" -0 75 12 #"Courier New\0" -0.0 10 90 -1 90 -1 2 -1 0 1 0 0 0 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 -255 255 1 -1 2 1 #"\0" -0 -1 1 #"\0" -1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 40 25 15 0 0 -0 -1 -1 2 30 #"drscheme:check-syntax:keyword\0" -0 -1 1 #"\0" -1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 40 25 15 0 0 -0 -1 -1 2 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 248 20 64 0 -0 0 -1 -1 2 39 #"drscheme:check-syntax:unbound-variable\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 248 20 64 0 -0 0 -1 -1 2 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 36 36 140 0 -0 0 -1 -1 2 37 #"drscheme:check-syntax:bound-variable\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 36 36 140 0 -0 0 -1 -1 2 32 #"drscheme:check-syntax:primitive\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 36 36 140 0 -0 0 -1 -1 2 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 51 135 39 0 -0 0 -1 -1 2 31 #"drscheme:check-syntax:constant\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 51 135 39 0 -0 0 -1 -1 2 1 #"\0" -0 -1 1 #"\0" -1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 255 165 0 0 -0 0 -1 -1 2 32 #"drscheme:check-syntax:tail-call\0" -0 -1 1 #"\0" -1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 255 165 0 0 -0 0 -1 -1 2 27 #"drscheme:check-syntax:base\0" -0 -1 1 #"\0" -1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 132 60 36 0 0 0 -1 -1 2 1 -#"\0" -0 70 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 --1 -1 2 1 #"\0" -0 71 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 --1 -1 2 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 80 80 248 0 -0 0 -1 -1 2 1 #"\0" -0 71 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 80 80 248 0 -0 0 -1 -1 2 1 #"\0" -0 71 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 0 100 0 0 0 -0 -1 -1 2 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 94 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 255 0 0 0 0 -0 -1 -1 2 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 200 0 0 0 0 -0 -1 -1 4 32 #"widget.rkt::browser-text% basic\0" -0 70 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 --1 -1 4 59 -#"macro-debugger/syntax-browser/properties color-text% basic\0" -0 70 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 --1 -1 99 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 190 190 190 -0 0 0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 0 0 0 0 0 0 --1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 255 0 0 0 0 -0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 0 0 255 0 0 -0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 107 142 35 0 -0 0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 0 100 0 0 0 -0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 139 0 0 0 0 -0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 100 149 237 -0 0 0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 65 105 225 0 -0 0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 70 130 180 0 -0 0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 47 79 79 0 0 -0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 0 0 139 0 0 -0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 75 0 130 0 0 -0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 160 32 240 0 -0 0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 255 165 0 0 -0 0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 250 128 114 -0 0 0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 184 134 11 0 -0 0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 128 128 0 0 -0 0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 169 169 169 -0 0 0 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 -228 225 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0.0 0.0 0.0 0.0 0.0 0.0 255 0 0 224 -255 255 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 224 -255 255 -1 -1 0 1 #"\0" -0 -1 1 #"\0" -0.0 11 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 --1 -1 2 1 #"\0" -0 -1 1 #"\0" -0.0 11 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 --1 -1 22 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 -255 255 -1 -1 14 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 -255 255 -1 -1 4 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 -255 255 -1 -1 41 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 -255 255 -1 -1 43 1 #"\0" -0 -1 1 #"\0" -1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 1 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 -255 255 -1 -1 0 753 0 26 3 12 #"#lang racket" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" -0 0 17 3 81 -( - #";; Originally a test for PLoT <= 5.1.3; keeping it to test backward " - #"compatibility" -) 0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" -0 0 22 3 1 #"(" -0 0 14 3 7 #"require" -0 0 4 3 1 #" " -0 0 14 3 4 #"plot" -0 0 4 3 1 #" " -0 0 14 3 8 #"rackunit" -0 0 4 29 1 #"\n" -0 0 4 3 9 #" " -0 0 22 3 1 #"(" -0 0 14 3 7 #"only-in" -0 0 4 3 1 #" " -0 0 14 3 11 #"plot/compat" -0 0 4 3 1 #" " -0 0 14 3 3 #"fit" -0 0 4 3 1 #" " -0 0 14 3 19 #"fit-result-function" -0 0 4 3 1 #" " -0 0 14 3 23 #"fit-result-final-params" -0 0 22 3 2 #"))" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" -0 0 17 3 45 #";; This is data from the Cavendish experiment" -0 0 4 29 1 #"\n" -0 0 22 3 1 #"(" -0 0 15 3 6 #"define" -0 0 4 3 1 #" " -0 0 14 3 17 #"experimental-data" -0 0 4 29 1 #"\n" -0 0 4 3 2 #" " -0 0 20 3 1 #"'" -0 0 22 3 3 #"(#(" -0 0 20 3 3 #"0.0" -0 1 4 65 1 #"\t" -0 0 20 3 5 #"-14.7" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"3.6" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 3 #"1.0" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"8.6" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"3.6" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 3 #"2.1" -0 1 4 65 1 #"\t" -0 0 20 3 4 #"28.8" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"3.0" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 3 #"3.1" -0 1 4 65 1 #"\t" -0 0 20 3 4 #"46.7" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"3.4" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 3 #"4.2" -0 1 4 65 1 #"\t" -0 0 20 3 4 #"47.4" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"3.5" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 3 #"5.2" -0 1 4 65 1 #"\t" -0 0 20 3 4 #"36.5" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"3.4" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 3 #"6.2" -0 1 4 65 1 #"\t" -0 0 20 3 4 #"37.0" -0 1 4 65 1 #"\t" -0 0 20 3 4 #"10.3" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 3 #"7.2" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"5.1" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"3.4" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 3 #"8.2" -0 1 4 65 1 #"\t" -0 0 20 3 5 #"-11.2" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"3.4" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 3 #"9.1" -0 1 4 65 1 #"\t" -0 0 20 3 5 #"-22.4" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"3.5" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 4 #"10.0" -0 1 4 65 1 #"\t" -0 0 20 3 5 #"-35.5" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"3.6" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 4 #"11.0" -0 1 4 65 1 #"\t" -0 0 20 3 5 #"-33.6" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"3.9" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 4 #"12.0" -0 1 4 65 1 #"\t" -0 0 20 3 5 #"-21.1" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"3.9" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 4 #"12.9" -0 1 4 65 1 #"\t" -0 0 20 3 5 #"-15.0" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"4.2" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 4 #"13.8" -0 1 4 65 1 #"\t" -0 0 20 3 4 #"-1.6" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"2.7" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 4 #"14.9" -0 1 4 65 1 #"\t" -0 0 20 3 4 #"19.5" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"3.2" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 4 #"15.9" -0 1 4 65 1 #"\t" -0 0 20 3 4 #"27.5" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"2.8" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 4 #"17.0" -0 1 4 65 1 #"\t" -0 0 20 3 4 #"32.6" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"3.5" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 4 #"17.9" -0 1 4 65 1 #"\t" -0 0 20 3 4 #"27.5" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"2.7" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 4 #"18.9" -0 1 4 65 1 #"\t" -0 0 20 3 4 #"20.2" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"3.3" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 4 #"20.0" -0 1 4 65 1 #"\t" -0 0 20 3 4 #"13.8" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"3.4" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 4 #"21.0" -0 1 4 65 1 #"\t" -0 0 20 3 4 #"-1.3" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"4.2" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 4 #"22.0" -0 1 4 65 1 #"\t" -0 0 20 3 5 #"-24.5" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"6.7" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 4 #"23.0" -0 1 4 65 1 #"\t" -0 0 20 3 5 #"-25.0" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"3.3" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 4 #"24.0" -0 1 4 65 1 #"\t" -0 0 20 3 5 #"-25.0" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"3.1" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 4 #"25.0" -0 1 4 65 1 #"\t" -0 0 20 3 5 #"-20.2" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"3.6" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 4 #"26.0" -0 1 4 65 1 #"\t" -0 0 20 3 4 #"-9.9" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"3.2" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 4 #"27.0" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"5.8" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"3.2" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 4 #"28.0" -0 1 4 65 1 #"\t" -0 0 20 3 4 #"14.7" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"3.0" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 4 #"29.0" -0 1 4 65 1 #"\t" -0 0 20 3 4 #"21.8" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"3.5" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 4 #"30.0" -0 1 4 65 1 #"\t" -0 0 20 3 4 #"29.8" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"2.7" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 4 #"31.0" -0 1 4 65 1 #"\t" -0 0 20 3 4 #"21.4" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"4.1" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 4 #"32.0" -0 1 4 65 1 #"\t" -0 0 20 3 4 #"24.6" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"2.7" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 4 #"32.9" -0 1 4 65 1 #"\t" -0 0 20 3 4 #"25.8" -0 1 4 65 1 #"\t" -0 0 20 3 4 #"12.0" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 4 #"33.8" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"0.6" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"2.9" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 4 #"34.7" -0 1 4 65 1 #"\t" -0 0 20 3 5 #"-16.6" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"3.2" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 4 #"35.7" -0 1 4 65 1 #"\t" -0 0 20 3 5 #"-24.0" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"3.7" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 4 #"36.6" -0 1 4 65 1 #"\t" -0 0 20 3 5 #"-24.6" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"3.8" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 4 #" " -0 0 22 3 2 #"#(" -0 0 20 3 4 #"37.7" -0 1 4 65 1 #"\t" -0 0 20 3 5 #"-19.8" -0 1 4 65 1 #"\t" -0 0 20 3 3 #"3.5" -0 0 22 3 3 #")))" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" -0 0 17 3 83 -( - #"; first column is time data, second is result, third is error. to pa" - #"rse them out..." -) 0 0 4 29 1 #"\n" -0 0 22 3 1 #"(" -0 0 15 3 12 #"match-define" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 4 #"list" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 6 #"vector" -0 0 4 3 1 #" " -0 0 14 3 5 #"times" -0 0 4 3 1 #" " -0 0 14 3 4 #"vals" -0 0 4 3 1 #" " -0 0 14 3 6 #"errors" -0 0 22 3 1 #")" -0 0 4 3 1 #" " -0 0 14 3 3 #"..." -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 2 #" " -0 0 14 3 17 #"experimental-data" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" -0 0 22 3 1 #"(" -0 0 14 3 9 #"displayln" -0 0 4 3 1 #" " -0 0 19 3 42 #"\"The old plot library produced this plot:\"" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 2 35 4 1 #"\0" -2 -1.0 -1.0 0.0 0.0 0 12 500 -( - #"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\1\220\0\0\1,\b" - #"\2\0\0\0b\325r\225\0\0\0\6bKGD\0\377\0\377\0\377\240\275\247" - #"\223\0\0\26\345IDATx\234\355\335KhT\327\37\300\3613\365\37\265\240" - #"\314\303\322b\202\222\214\256\354\302Zt" - #"\0232\215\320\356j\202\272\265\224\266\264" - #"\330\342\246t\323\215\373J+tU,(\324vW(b\36+u5\267\b\21" - #"2B\301Mm\342#(t\223\314 \376\211I\333\371/N{{\3773w\306" - #"\271\357\363;\367\373Y\310dr\2759" - #"\347\334;\2779\347\334\363(\264\333m\5\0\22\274\220u\2\0`P\4,\0" - #"b\20\260\0\210A\300\2 \6\1\v\200\30\4,\0b\20\260\0\210A\300\2" - #" \6\1\v\200\30\4,\0b\20\260\0\210A\300\2 \6\1\v\200\30\4," - #"\0b\20\260\0\210A\300\2 \6\1\v\200\30\4,\0b\20\260\0\210A\300" - #"\2 \6\1\v\200\30\4,\0b\20\260\0\210A\300\2 \6\1\v\200\30\4" - #",\0b\20\260\0\210A\300\2 \6\1\v\200\30\4,\0b\20\260\0\210A" - #"\300\2 \6\1\v\200\30\4,\0b\374'\353\4<\307\326\255[777\263" - #"N\5\200~\236\16+F\315fsb" - #"bB)U\253\325\232\315\246\373~\251T\322\25.\307qJ\245\322s\317\243#" - #"TN\272'\0\243\344(`\365\nL\263\263\263\307\216\35SJMMM\315\317" - #"\317g\226>\0\317#\246\232\20\275F" - #"\3438\316\324\324T\253\325*\26\213\363" - #"\363\363\272\266\25\372\374\324\260\0-\315" - #"\317\202\230O\235i\303\32\bX\200\306" - #"\260\6\0\360az\300\332\272uk\241P\320s\375\n\377\310:Q\0\376\357\263" - #"\231\0321\355\32\232\204\200\231h\22\2" - #"\200\17\2\326\3375[\245T\241P\330\272uk\326\311\1\320\223\230vM\364j" - #"g\274#\324i\22\2\32#\335\23\301\34\32@:\232\204\0\304 `\1\20#" - #"\343\200\325h4\266o\337\256_\353\345" - #"_\364\310\16\23\226\246\2`\232,{" - #"\216\37?~|\344\310\221\307\217\37\353" - #"4\350\345_\364\24?\307q\274+\300(\363:\271MK\17\220\225\\\314%\334" - #"\330\3308z\364\350\344\344\344\271s\347" - #"t\32:\262\335\377\307\314\231\226\36 " - #"+\271\bXg\316\234\271\177\377\376\334" - #"\334\334\226-[\bX\200\\\366\17k" - #"\270t\351\322\265k\327n\335\272\365\302" - #"\v\375:\321:\246)u\374H\274\0" - #"2\221\341\366\306\331T\23\366\356\335\273" - #"\262\262\342\376X\255V\227\226\226L\253" - #"a\365\37hJ\r\v\320\354\237K\370\360\341\303\366?\224RKKK\312\263\"" - #"\250\32x\265\342Dmll\350\344\265\333m\6\235\2&\310~\244\373\201\3\a" - #"\364\v\275Tq\253\325RJ\351EA3M\27\0\343\210i\327d\325\4" - #"3|\343U s\3667\t\1 \4\2V`F\355\24\r[\271\353y\262" -) 500 -( - #"\352\221\27\1\253'\21;E\303V<\363\361%\246#&\375>\243\270v\212\6" - #"B\23q\203\321\207e\204\270v\212\6\20\27\2VO\203\354\24=77\227Y" - #"\372RG\257\n2'\240\302\251\245_7\216w\247hk\3446\343\231\20Q\332" - #"\271\230\374\34\24\343\260\f\221\333\214g" - #"BDi\323\207\365/6R\5\314\304F\252\375P\3032Dn3\236\t\21\245" - #"M\r\v\0|\20\260\0\210A\300\302" - #"\240\230\223\204\314\21\260zb\v\373\16" - #"\314IB\346\4t\351i\246\365>\232\226\236\0240')}\"\312\231Nw\230" - #"\2109I\203cV@B\4\304om\360(\336\177-\366\364\323c\215\376C\377" - #"\321-\372M\"\3426c\244\273\217\240" - #"\205\222t!\212\270\223\222\220\333\214\207" - #"@\300\212\35MB\0b\20\260\200\3701\4$!\4,\374\237\240\275\305\364." - #"\373b\bHBLo!\373\3561;H\232\351\303\212\242O\356|\177ewi" - #"\204\20\327\20\20\223\v\326\373\331\244\17" - #"\353ozekwqk\367u\37\324\306\221\271<\f\1\361~6Scz\300" - #"\n\201\332xB\30\372?\270\334.K\2334s+\234\35\6\257\e\2473 \333" - #"\344\272zt\246\r\"\21\212a\r\261" - #"\263\260\206\225\207\332xr\2026\250i\200#Um!\6Oj\275^/\26\213" - #"J\251b\261\3508N\346\351\221\245T" - #"*9\216\243\224\252\327\353\245R)\366\343s%\372M\"\3426K3\221\2*" - #"\234\232i\215\24\21u\365\20\2026\250" - #"\231\21\335\aM\302\330Y\330$D\24A\e\3244\300}\5z@\301X\266\301" - #"\t\210\337\23295\254t&Wg%\350\fgfD\307E\356\0007&?\373" - #"0'`\345\1\245\235\276\2162t\34\347\370\361\343\253\253\253\225J" - #"eff\306\344o\2\232\204@\3361\234\320\227\230/F\323\326\303" -) 500 -( - #"\262\e5\254\204\364\2719;\312P\320\323\fjX\221\2703\6\332\3556\321\n" - #"\211\n\332_\256oN\245\224\367\346\364\35\313\306\323\f_\246\a,v~NY" - #"\320\37179\237\257\343\e\200\202\362m" - #"\375\231?\271\207\235\237\3731\274V\214" - #"<\213\330\202\356\323\372\23q\333\323$" - #"\4r\204\326\337\340\bXH\4\203!\ag~\353\317\34\2*\234\232\210\2721" - #":\344\344\252\305\362P\225\201\243\203\240" - #"\206\225_T\202 \16\1+\277by\302\225s\254\256\2232\2\26\20^\320\361" - #"\350\4\270\2102\vX\225JE7F*\225\212~G_K\375&\227\23\"4" - #"\233M=\313\257V\2535\233\315\347\36\357\e\340r>\226-\220l\2V\245R" - #"\331\271s\247\36\214\256\177T\377\\K" - #"\375&\363\247 B\320\21\t\276\1\216" - #"\271\31\203\313&`\355\336\275\373\301\203" - #"\a\372\265\16R\312s-\325\300\337W0VN\332>AG$0\344*\252\300" - #"k\224\306M\257\261\333\356Zh\265\377" - #"\217\210KB\5\233\253\245\223\a/\303" - #"\240\353w\213\270\355\323Ld\306\243<" - #"._\276\374\331g\237\255\256\256*\277" - #"\371\n\375\377o\266)\267@\242+.\tZl \272\344\26\2670\263\350\272\267" - #"7N-\221\231u\2727\233\315\223'O^\270p\241\321h\364:\246\177\24O" - #"1\261vJt\305%\332>\26\363v\272\245\374I\314&`-,,\34:t" - #"h\317\236=\365z}ttT\277\351\336\342\212\273<\25A\237p\5\302t\23" - #"$\"\241\246f\177ccc\3364T\253\325\266\247y\257\374Z\370Y%\325b" - #")t3\345\344\252\5\315\346\340\307\213" - #"(\3004\23ib\v\331\227\231\215y\321R\330?\"'W-o}X\35\330" - #"\204\302\207\210+'Q\242\5k\375U\v\267\36" - #"7\1+\264\377\244\363g\0\351|c\23\343\371\344\223" - #"X\222\202<\240'\bQ\204\257a\315" - #"\316\316\276\375\366\333/\276\370\342/\277" - #"\374\222\334 @\357x_\267\22\307se\271\350\t\262F\367\376\317)\b_\303" - #"\252\325j###?\375\364\323\313/" - #"\277\374\371\347\237'\264Y\246\273\307\254" - #"\362\354}\246\177\305r\37@\206\274\237" - #"\315\324\210\31\5\327=8\255\\.\317" - #"\315\315\325j\265z\275>==\275\266" - #"\266\226U\332`\23A\223\370\fa\364\276\204ccc\255Vkuuu\337\276" - #"}\313\313\313\356\373\325juii)" - #"\356\344\375\253\273P\344N\243\205\371\270" - #"\243\6g\364H\367\37~\370\341\245\227^RJ---y\267\220N4Z\371" - #"2j\32-\303\356\201\24\210\371\32\351" - #"\216\342)/\3671\b\276\226\255\301" - #"\245\34\234\3215,\327\370\370\370\371\363\34777777" - #"7\317\237?\257\a\221\246I/\367\241\224j6\233&D" -) 500 -( - #"+\0I\v\37\260\346\347\347WVVFGGGGGWVVX*\4@" - #"\322\302\a\254V\253\265\274\274\\.\227" - #"\313\345\362\362\362r\253\325\2121Y@" - #"V\30.c\262\360\1\353\324\251S\223" - #"\223\223\267o\337\276}\373\366\344\344\344" - #"\251S\247bL\26\220\25\271\253\316\347" - #"\201\230\236\305^\35{\206t\216\312\335" - #"\f\6\35\30.\23\224\214Nwx\361\265l\r\243\206\313\240C\370\320\3301p" - #"txx\370\321\243G1\245\312\207\341" - #"5,\276\226\255a\340p\31\303\311\250" - #"a\255\255\255\225\313e=j\264^\257\377\367\277\377\2151Y\256>;?\e5" - #"\357\237\257ek0\\f@\302v~\326S\371\334+\232t\2245\274\332\302\327" - #"\262e\f\277\337\214b\364\\B\227\343" - #"8\356\224c\357\353\204\210\270\201D$" - #"\22\203\340R\16N\306F\252\265Z\315" - #"\255\20\352jE|\251\2\340\203\225$" - #"\304|\215\210\370\306\23\221H\f\302\344KiZ\332dt\272\0031b\271\v\f" - #"\202\200\5#\230\263\313\244QO\237\321" - #"\201\200e\226\234|BL\316\246\273\362o\364\320ir6\2052(`\351I\247" - #"\272Q n\336i\\_\313\351\257\352\237\t\262\211p\f\nXzv\213\376f" - #"\2138\301%h\310\bt\274\357\301}" - #"\276\226\223\373\232\35\344\314\336\276\241@" - #"c\374\22-\303D\317\34\375j\306x|\274g\366\256$144\24\357\311\243" - #"\34\237\2320\335\373\343\343\343_~\371" - #"e\354c#;\2365\364\3771\320\251\342=\336\234\223\17~p\2109C\231d" - #"\323\367}s\n<\321\223\17r\260w\343\2257\336xCb6#\n\363\227\32" - #"\215\306\364\364\364\367\337\177\377\346\233o" - #"\306\231\24\2\26\1\213\2005\3001R\256f\"\332\241,..\216\214\214" - #"\334\270q#\334\177\367\325\221\230\224" - #"\362\17 \262g\317\236\305\30\n\372\b" -) 500 -( - #"\37\32\277\371\346\233O?\375\364\217?" - #"\376\320?F\337\346\213\32Vr\aK" - #"\371N\246\206\325\377\30\357\224\325V\253" - #"%1\233\21\205\354t\277q\343\306\27" - #"_|\261\260\260\340F\276\350\333|\271" - #"\v\36(\326<\210\217\267\2336\353\264" - #"\364\303\302\304\203\360\256$\221uZ2" - #"\22\242Vv\375\372\365\221\221\221\305\305" - #"\305\20\377\267\217z\275^,\26u\252" - #"\212\305\242\3438\336\337\6J\352\266m" - #"\333\2\375\351@\307'z\362\330\263Y*\225\34\307QJ\325\353us\312\260;" - #"%\336t\226J\245\324R\"\353jzO+4\233\21\31\364\224\260?\323\346O" - #"%$\366l\206\356\246MTwJ\314LgD\te\304\264\3621}\265\206\233" - #"7o\306\236\16h\333\266m\213\367\204f\256,\330\235M3\323\31Q\354W\23" - #"f\205\352>L\373V\221B\312\312\202R\322\231-3\227\2271}\34V&\b" - #"XQH)=)\351\204\227\200\247\204\0\220>\2\26\0001\bX\0\304 `" - #"Y\216\345\350`\223\360\233P@\4C\36$\1\2610\275\206\325g#U\0\31" - #"\22\266\221j\312x\340m73G\30a\20\214\303\362A\300\2\314\3048,\0" - #"\360A\300BN\261\23\242Db\332Y4\t\221\4\356\253\350h\22\2\200\17\2" - #"V\262hw\0001b\340h\262\364\343y\332\35@,\250a\1\20\203\200\205\234" - #"b\333\v\211\bX\310\251\351\351\351\231" - #"\231\31\245\324\325\253W\247\246\246\262N" - #"\16\6\"\246oEt7\220\350\304\333\312\312m/2\301\260\206\1771\371\31\t" - #"\261r\333\2134e2\371\331\364\200\265" - #"\261\261\241\367#S\236\275\317\262NT\0t\224\30kvv\366\330\261cJ\251" - #"\251\251\251\271\271\271\254\223#\217\367" - #"\263\231\03215a\35\310\305\315\343/\227\313ss" - #"s\265Z\255^\257OOO\257\255\255%\367\267X\360" -) 500 -( - #" \4\32\203\321\261Z\203\17\2417V\372\35%B\v*+\24Wt\364a\331" - #"\203\216\22 F\214tO\226\267\243d" - #"~~>\353\344\0\262\211\251\17\213\256" - #"\272\247\332\310\227\\P\351\243\270\242\243I\b\0>\bX\310)k6@\313\325" - #"\212 b\352\303\242\253\3564\t\221\264" - #"\f\257;MB\177\214\275\354\217A\252" - #"\260\236\244\200%q\222j\232\355\16f" - #"\363\302z\2467\37\274\243\267]\206\247" - #"9+\314\346\315\263\364\257\270\367\263I" - #"\223\360o\336\371J\365z\275T*\3619\354\205A\252HS&s\tM\17X" - #"^LR\355\217\331\274\371\224\253\276K" - #"1\r\a\3328\3\242\240\362&\315\t" - #"\366\276\230\374\354\203\317\341\200(\250\16" - #"\326/b\21K\337e\224RJ\363\226c.!,g\375\306E\261\364]J)" - #"%I}Xp\345jp3\372\313U\337\245\351\1\325e~\354O\237o\231P" - #"P\276\254/\226X2\30\356$\214t\a\224\242\"\211.\231\5\254J\245\242o" - #"\304J\245\242\337\321Og\365\233\276\17" - #"h\271k\363F\217\364QJ\265\333m\373:\313\21B6\1\253R\251\354\334\271" - #"\323\35u\246c\226\236Y\242\337\364\235" - #"\\b\315]K\305\1\b'\233\200\265{\367\356\a\17\36\350\327:H)\245\232" - #"\315\346\304\304\204~\263V\2535\233\315" - #"L\322\226\202\204*\16\326\254\227\202\364" - #"I\31}\232M\300\272s\347\216\373zzz\332\372G\e\351p\247JXS\25" - #"\215\205\224\217b\266\304\314\234o'\246" - #"Z\255v\377\271j\265\352=\346\273\357" - #"\276+\227\313n\333\320\373\253\fS\236" - #"\216\350Y\260\240\20\6\0211\233\245R" - #"\311q\34\345\231\213j\231\241\241!\367" - #"C144\24\356$\352\237\t\314\355\1\n\334\373\27S\3760&X\303" - #"ZZZ\352\376{KKK\372\267\315f\363\344\311\223\27.\\h4\32\275" -) 500 -( - #"\316\340\375\217\335\205\222\\\312\315G\255" - #"apnW\203\255\375\f\275j\326\201" - #"\272J\3\215>\365\376\305\224?\211\331" - #"4\t\27\26\26\16\35:\264g\317\236z\275>::\252\337t\213L\261\336\300" - #"\363\210\251\300\e \267\213X\370v\225\366\212bbF\237\306UU\vdll" - #"\314\233\6\335N\254\327\353\305bQ\277" - #"S,\26\35\307\351\210\342\231$59" - #"Qr\244\202T\340\245\213\230A\367\276" - #"\352\276\251\362\300\267\364z\25i\270\242" - #"N\363\16\0243\374\327\246\221\312\216\343" - #"\34?~|uu\265R\251\314\314\314\270\317F\a\227\371\4\3754u_\372\20" - #"3um\272\177\2\t4\35\202\221\356\360\21\275A'\246\2\237\214^\343B\30" - #"\340f=1_;6}C\306\265\226\261Me\322G\320\352\0S,\275\250a" - #"!\252\334v\3\3\21\21\2602\220\363" - #"\6\35\322a\345\330\0271\365d\373\252" - #"\364\321sd_\231\370\242I\30N\237" - #"'3\261<\307\350s\266\344P\303\202" - #"\271b\251#\344v\212\245\357\210\331^E*e^\27\1\v\346\352\3658\265\327" - #"\247\316\367})\37\305\330\371v\225\212" - #"\37r\34\377\320\256d\bJ\352\200\242" - #"\347\310\2762\351\240z\214\217\3555=" - #"\320\372i\203\201\370\216\230\355U\244Q" - #"\244y\37\232\336\260\267x\347\347(-" - #"\177\353w\202\321z\365\302\364\32\27\302" - #"\336\327\335:\312!\306!\307\231\354\374" - #"l\372\2569\356G\221\373\317\313\326\b" - #"\325\301\3738u~~\336}\277\327\270" - #"\20\306\213\254\377" - #"\304\366\357\\\267>\373\220\213N\367<\242s\35x.:\335MA\347:\360\\" - #"b\32\329i\23\261\375:\304\241I\b\0>\bX\246cM(\300E\3002" - #"\235\357v\230\322\345$\362\346$\233i" - #"\3128`5\32\215\355\333\267\353\327z" - #"\344\244\36\212\306\312\4v\353\336X\304" - #"J9\311f\232\262\fX\217\37?\236" - #"\232\232z\366\354\231\376Q/K\240\253" - #"\22\21W&\b\372\315\26\350\370DO" - #"\236\350\231\311f\312'O\364\314B\263\31Qf\317\236666\216\36=:9" - #"9y\356\3349\235\206\216g\r\375\177\354/\350c\v\23N\36b\211d\211\331" - #"\24\235\222DOnNJ\222>y\24\231\5\2543g\316\334\277\177\177nnn" - #"\313\226-\4,\351)I\364\344\346\244" - #"$\321\223\233\223\222\244O\36I;1" - #"\325j\265\373\317U\253\325v\273}\361" - #"\342\305\375\373\367\257\256\256\352|\352\343" - #";\22\223R\376\1D\366\344\311\223\344\"\211W65\254\275{\367\256\254" - #"\254\270?V\253\325\245\245\245(U*\0y\220M\247\373\303\207\17\2755" -) 500 -( - #"\251\245\245%\345\231L\247\230O\a\300" - #"O\366s\t\17\348\240_\350\311t\255VK)U,\26\231O\a\240\3\315" - #".\0b0\322\35\200\30\4,\0b\230\36\260\3620_\307q\34\267#OY" - #"\232\345J\245\242sT\251T\364;Vfs\337\276}\356\316\3zX\217\225\331" - #"\324\262\231W\227\316\350\211\320J\245\222" - #"\3438\372u\275^/\225J\331\246'v\325j\265X,z/\204}Y.\227" - #"\313{\367\356u_\227\313\345\266\215\331t]\277~}dddqq\261mo" - #"6\37=z4<<\354\336\267\251e" - #"\323\364N\367\234\f\316\362\346\313\276," - #"\277\372\352\253w\356\334\321\257\35\307\321" - #"[l\330\227M\355\306\215\e\357\275\367" - #"\336\354\354\354\353\257\277\256l\274\232*" - #"\370\274\272\30\231^|V^\357nv\a,/\2759\320\304\304\204\255\331\34\e" - #"\e\273\177\377\276R\252\\.\257\256\256" - #"Z\231\315\240\363\352b\224\3758,\344" - #"\307\345\313\227\v\205\202\335\273+\336\273" - #"wO\277\260u\3\315K\227.]\273v\355\326\255[/\274\220A\17\270\351\361" - #"\336\312/\250n\326\327\260\232\315\346\a" - #"\37|\360\350\321\243\37\177\374qttTY\232M/\337\35\333,\310f\266\363" - #"\352L\177J\230\303\371:\366eyaa\341\320\241C{\366\354\251\327\353:Z" - #")\e\2639>>\336\235#\373\262\231\361\274\272$z\362cT\257\327\365C4" - #"\245T\261Xt\237DX\346\300\201\3" - #"\356k\373\262<66\346\275\345\364\212" - #"\35\366e\3237G\366e\323\313\275oS\313\246\370\n*\200\3740\275I\b\0" - #".\2\26\314\3221\356\37\360\"`!" - #"\6\265Z\355\267\337~\323\257\357\336\275" - #"[\253\325B\237\352\335w\337}\372\364iL\351\202m\bX\210\301\351" - #"\323\247O\2348\261\276\276\276\276\276" - #"~\362\344\311\217?\3768\364\251\356\335" -) 436 -( - #"\273\367\340\301\203\30\323\6\233\20\260\20" - #"\203w\336y\347\340\301\203g\317\236=" - #"{\366\354\301\203\aO\235:\325\353\310" - #"J\245\242'\307\356\333\267O)u\344" - #"\310\221\333\267o+\245\32\215\306\221#G\3641\372Wz>\255e\23\206\21U" - #"BO\37\2217\315f\363\225W^\31" - #"\36\36\356\263\37\201\236\371\354>\2o" - #"\267\333W\256\\\31\36\36n4\32\303" - #"\303\303W\256\\\321\207\351_\351\371\264" - #"\372`=\22\2`j\16\342\261\276\276" - #"\376\327_\177\25\n\205\365\365\365\35;" - #"v\370\36\263\266\266\326n\267\225R\315fS\317\\9q\342\304\315\2337''" - #"'?\376\370\343\23'Nx\17.\24\no\275\365\326G\37}t\347\316\235\221" - #"\221\221\24\262\0\363\321$D\f\332\355" - #"\366\373\357\277\177\346\314\231\323\247O\177" - #"\370\341\207\201\376\357\323\247O\267o\337" - #"\336\335\321\276\272\272\252;\362_{\355" - #"5Z\205\370[\326U<\330\340\302\205" - #"\v\223\223\223\177\376\371\347\346\346\346\370" - #"\370\370\267\337~\353{\230\273jR\275" - #"^\327\367\236\336\241ryyy\377\376" - #"\375\27/^\324\207\351_\271\315\300\257\277\376ztt4\215l\300x\4,\304" - #"`bb\342\356\335\273\372\365\257\277\376:11\341{\230\333{U,\26u\f" - #":|\370p\243\321h\267\333\213\213\213" - #"\207\17\37\326\207\351\t\37\345rY\177" - #"\247\3327\243\5\24115\a\200\30\364a\1\20\203\200\5@\f\2\26\0001\b" - #"X\0\304 `\1\20\203\200\5@\f\2\26\0001\bX\0\304 `\1" - #"\20\343\177\17\233H{#M\307\34\0\0\0\0IEND\256B`\202" -) 0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" -0 0 22 3 1 #"(" -0 0 14 3 9 #"displayln" -0 0 4 3 1 #" " -0 0 19 3 42 #"\"The new plot library produces this plot:\"" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 22 3 1 #"(" -0 0 14 3 4 #"plot" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 3 #"mix" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 6 #"points" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 3 #"map" -0 0 4 3 1 #" " -0 0 14 3 6 #"vector" -0 0 4 3 1 #" " -0 0 14 3 5 #"times" -0 0 4 3 1 #" " -0 0 14 3 4 #"vals" -0 0 22 3 1 #")" -0 0 4 3 1 #" " -0 0 22 3 5 #"#:sym" -0 0 4 3 1 #" " -0 0 20 3 1 #"'" -0 0 14 3 6 #"square" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 11 #" " -0 0 22 3 1 #"(" -0 0 14 3 10 #"error-bars" -0 0 4 3 1 #" " -0 0 14 3 17 #"experimental-data" -0 0 22 3 2 #"))" -0 0 4 29 1 #"\n" -0 0 4 3 6 #" " -0 0 22 3 7 #"#:x-min" -0 0 4 3 1 #" " -0 0 20 3 1 #"0" -0 0 4 3 1 #" " -0 0 22 3 7 #"#:x-max" -0 0 4 3 1 #" " -0 0 20 3 2 #"40" -0 0 4 29 1 #"\n" -0 0 4 3 6 #" " -0 0 22 3 7 #"#:y-min" -0 0 4 3 1 #" " -0 0 20 3 3 #"-40" -0 0 4 3 1 #" " -0 0 22 3 7 #"#:y-max" -0 0 4 3 1 #" " -0 0 20 3 2 #"50" -0 0 4 29 1 #"\n" -0 0 4 3 6 #" " -0 0 22 3 7 #"#:width" -0 0 4 3 1 #" " -0 0 20 3 3 #"400" -0 0 4 3 1 #" " -0 0 22 3 8 #"#:height" -0 0 4 3 1 #" " -0 0 20 3 3 #"300" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" -0 0 22 3 1 #"(" -0 0 15 3 6 #"define" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 5 #"theta" -0 0 4 3 1 #" " -0 0 14 3 1 #"x" -0 0 4 3 1 #" " -0 0 14 3 1 #"a" -0 0 4 3 1 #" " -0 0 14 3 3 #"tau" -0 0 4 3 1 #" " -0 0 14 3 3 #"phi" -0 0 4 3 1 #" " -0 0 14 3 1 #"T" -0 0 4 3 1 #" " -0 0 14 3 6 #"theta0" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 2 #" " -0 0 22 3 1 #"(" -0 0 14 3 1 #"+" -0 0 4 3 1 #" " -0 0 14 3 6 #"theta0" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 1 #"*" -0 0 4 3 1 #" " -0 0 14 3 1 #"a" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 3 #"exp" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 1 #"/" -0 0 4 3 1 #" " -0 0 14 3 1 #"x" -0 0 4 3 1 #" " -0 0 14 3 3 #"tau" -0 0 4 3 1 #" " -0 0 20 3 2 #"-1" -0 0 22 3 2 #"))" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 3 #"sin" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 1 #"+" -0 0 4 3 1 #" " -0 0 14 3 3 #"phi" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 1 #"/" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 1 #"*" -0 0 4 3 1 #" " -0 0 20 3 1 #"2" -0 0 4 3 1 #" " -0 0 14 3 2 #"pi" -0 0 4 3 1 #" " -0 0 14 3 1 #"x" -0 0 22 3 1 #")" -0 0 4 3 1 #" " -0 0 14 3 1 #"T" -0 0 22 3 6 #"))))))" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" -0 0 22 3 1 #"(" -0 0 15 3 6 #"define" -0 0 4 3 1 #" " -0 0 14 3 6 #"result" -0 0 4 29 1 #"\n" -0 0 4 3 2 #" " -0 0 22 3 1 #"(" -0 0 14 3 3 #"fit" -0 0 4 3 1 #" " -0 0 14 3 5 #"theta" -0 0 4 3 1 #" " -0 0 20 3 1 #"'" -0 0 22 3 2 #"((" -0 0 14 3 1 #"a" -0 0 4 3 1 #" " -0 0 20 3 2 #"40" -0 0 22 3 1 #")" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 3 #"tau" -0 0 4 3 1 #" " -0 0 20 3 2 #"15" -0 0 22 3 1 #")" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 3 #"phi" -0 0 4 3 1 #" " -0 0 20 3 4 #"-0.5" -0 0 22 3 1 #")" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 1 #"T" -0 0 4 3 1 #" " -0 0 20 3 2 #"15" -0 0 22 3 1 #")" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 6 #"theta0" -0 0 4 3 1 #" " -0 0 20 3 2 #"10" -0 0 22 3 2 #"))" -0 0 4 3 1 #" " -0 0 14 3 17 #"experimental-data" -0 0 22 3 2 #"))" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" -0 0 22 3 1 #"(" -0 0 14 3 9 #"displayln" -0 0 4 3 1 #" " -0 0 19 3 1 #"\"" -0 0 19 3 3 #"The" -0 0 19 3 33 #" old library produced this plot:\"" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 2 83 4 1 #"\0" -2 -1.0 -1.0 0.0 0.0 0 36 500 -( - #"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\1\220\0\0\1\220\b" - #"\2\0\0\0\17\335\241\233\0\0\0\6bKGD\0\377\0\377\0\377\240\275\247" - #"\223\0\0 \0IDATx\234\355\235}|T\325\271\357\177C2\23B\240" - #"I&@\336\337\3!\t\220\0\"\20A\221[E\212\340K\5\365Vz8E" - #"\355\271\325(j{\324\236\323\336\323\323\36/U\213zr\353\353iO\325z|" - #"\273\307\2*V\t\0252\200E\22\233\204$\2207B\336H&@\2\362\232I" - #"\302\276\177\354\270\31&\223\311\314\354\265" - #"\367^k\347\371\376\301'\231\354\275\326" - #"\263\231\314/\317z\326\263\236\307\"I" - #"\22\b\202 D`\234\321\6\20\4A\370\v\t\26A\20\302@\202E\20\2040" - #"\220`\21\4!\f$X\4A\b\3\t\26A\20\302@\202E\20\2040\220`" - #"\21\4!\f$X\4A\b\3\t\26A\20\302@\202E\20\2040\220`\21\4" - #"!\f$X\4A\b\3\t\26A\20\302@\202E\20\2040\220`\21\4!\f" - #"$X\4A\b\3\t\26A\20\302@\202E\20\2040\220`\21\4!\f$X" - #"\4A\b\3\t\26A\20\302@\202E\20\2040\220`\21\4!\f$X\4A" - #"\b\3\t\26A\20\302@\202E\20\2040\220`\21\4!\f$X\4A\b\3" - #"\t\26A\20\302@\202E\20\2040\220`\21\4!\f$X\4A\b\3\t\26" - #"A\20\302@\202E\20\2040\220`\21\4!\f$X\4A\b\3\t\26A\20" - #"\302@\202E\20\2040\204\32m\200Z" - #",\26\213\321&\20\304\230\343\314\2313" - #"\23'N\324\177^\213$I\372\317\312\20\213\305\313#x}\321\317{\331^6" - #"\374EYaG\35\220\237G\340g\336\261s\31\347\346\371\377\24" - #"\314\241%!A\20\302`N\301\n\v\vcx\231!\223\362\374" -) 500 -( - #"\b\376_\311\363S\360\374\b\314\3475\352)\230c\316%!?S\250Y\2612" - #"\304@\37\236!&x\n\23<\2hIH\20\4\341\17$Xc\2\376]}" - #"\1770\301S\230\340\21\214\205\4KW\354v\273\274Kh\261X\354v\273n\363" - #"^\274xQ\267\271\264\303\4Oa\202G0\26\341W\324b\305\260\344o\335\377" - #"ed#A\350\a\305\260\b\202 F\207\4K+\324\254\376l6\233\345\el" - #"6\2336\6\22\204x\b\1774\207[z{{\335W\177\362\213\321\321\321\212\212" - #"\245\244\244\214t\257\313\345\202Y\266\300" - #"\t\202!\302\177$\270\215a\371\bW\361\177\0\202 |@1,\202 \210\321" - #"!\301\322\n?W\177\4A\370\217\360\213\16n\227\204>\356\245%!!4\264" - #"$$\b\202\30\35\22,\202 \204\301" - #"\f\202\245Q\276\222\222\f\245\335\24\4!\20\356\237\b\243\20>JB1,\202" - #"\320\31\212a\21\4A\214\16\t\226~" - #"\264\243\275\bEY\310B\246\321\246\20" - #"\204\230\320\321\34\235p\3029\asz^\354\271t\342\22~\aK\210\305\32b" - #"\225\217\340\20\4\341'\302GID\211" - #"a=\202G\302\21\376\24\236\222 \335" - #"\204\233n\304\215\217\3411\355\346%\b" - #"\3550\3607S\370\217\4\267\202e\263" - #"\331\372\373\373\345\257\255I\326\250\266\250" - #"jTO\305T\0\215h\\\200\5\365\250\217A\f\363y\tBk(\350nB" - #"\\.\227\364\r\17\264=p/\356\225" - #"\325\n@\26\262n\306\315\277\307\357\215" - #"\265\220 \204C\370\277\341\334zX\ngq6\25\251\207pH\21,\0\273\261" - #"\373\177\341\177\325\240\306\202\21\263Z\310" - #"\303\"\370\204<,3S\202\222\371\230\357\256V\0\256\303u!\b\331\205]\6" - #"\31E\20BB\202\2459\237\340\223\25X1\374" - #"\365{q\357\253xU\177{\bB\\\204_t\360" -) 500 -( - #"\277$LC\332'\370$\a9\36\257\237\304\311t\244w\241k\2&h1/" - #"Ah\4-\t/\323\330\330\30\36\36\356\376J{{{QQQdddQ" - #"QQGG\207Q\206\5G5\252C\21:\\\255\0\304 \246\0\5{\260G" - #"\177\253\bBP\370\22\254\301\301\301u\353\326y\364n+((\0\260s\347N" - #"\0\371\371\371\306X\26,\237\340\223\233p\323H?]\212\245\273\261[O{\b" - #"Bh\370\22\254\347\236{.22\322" - #"\375\25\247\323y\361\342\305\342\342\342\253" - #"\256\272\252\270\270\370\342\305\213\335\335\335" - #"F\231\27\4#\5\260d\256\303u\24w'\b\377\341(JR[[\273t\351" - #"\322\3\a\16\244\245\245)V=\362\310" - #"#\341\341\341O=\365\224\374\355\223O" - #">\331\327\327\267y\363f\345.\236c" - #"X}\350\233\202)\235\350\214@\204\327\v\316\341\\\34\342\234pz\rcQ\f" - #"\213\340\23\312t\307\340\340\340\342\305\213" - #"\327\257_\377\303\37\376\320\375\277c\342" - #"\304\211G\216\34\231:u('\300\351tfff\236={V\271\221g\301\372" - #"\22_>\200\a\16\340\200\217k\256\305" - #"\265\377\214\177\276\02172\234\227 4" - #"\205\202\356C\213\301\373\357\277?\210{" - #"-W\242\262\314\236{\23S\217\2~\201NQ\206\262y\230\347\373\32\nc\21" - #"\234\343\365\23a\24\274\374\rOIIikks\177%##\243\251\251\311c" - #"\r\350\261B\4\337\36\326\6lX\210" - #"\205\367\341>\37\327\354\304\316\e\276\270" - #"A*\34\32\337j\275\\\302\201<,\202OhIx\5\356\377\35\36k@\217" - #"\25\"\370\26\254\271\230\373*^\275\n" - #"W\371\270\346\34\316\305\"\266\a=a" - #"\2260\217YH\260\b>\241%\341\210\304\306\306\216\37?\276\250\250\250" - #"\254\254\254\250\250h\374\370\361\356j" - #"\3053\27p\241\36\365\2631\333\367e" -) 500 -( - #"\21\210\310Df-j\365\261\212 \204" - #"\206G\301\312\315\315u\377\266\242\242\2" - #"\300\312\225+\1TVV\32cS\340\34\304\301\34\344\3300z\264+\37\371\225" - #"\20\346\271\b\302@\204_tp\273$|\21/V\241\352e\274<\352\225\317\342" - #"\331Ntn\266l\246%!!\4\264$4!\345(\37u\213Pf6f\223" - #"\207E\20\376@\202\245\25\376\v\26-\t\t\302OH\2604\301\5W#\32\363" - #"\220\347\317\305\261\210\35\207q\210\323\332" - #"(BH\334\323\240\250\225/\t\226&\324\241.\ria\b\363\363\372|\344\243" - #"\340\362\267v\273]IX\265\333\355ZXH\210\202\\k\e\200$I\324f\211" - #"\4K\23jP\343\247{%\223\217|" - #"\367\374\207\336\336^\345w\264\267\267\227" - #"\271y\4!(\324\227P\23jQ\233" - #"\213\334\321\257\3\0\330\355\366\336\233{" - #"\261\34\26\213%::\272\247\247GS" - #"\333\bB\\\310\303\322\204\200<\254\336" - #"\336\336\3127*\221O\376\24A\214\2\t\226&\34\302!\257UFG\"\e\331" - #"\310\204\vC\21\212\350\350h%\206\225" - #"\222\222\242\211\211\4! \264$dO\37\372Z\3202\35\323\375\277%\fah" - #"C\343\364F\371[yUh\262\304\321+:\313\272\235\361&\b\377!\17\213=" - #"\365\250OG\272\25V?\257\37\362\247" - #"\16#\357\366<\23\373S\264\333E\250" - #"\207\4\213=\207p\310\377\210;\200\236\236\36I\222P\217M\37ljii\321" - #"\3160.X\2024\244\25\241\250\3\202\365\23!x\200\4\213=5\250\tH\260" - #"\206\250C\35\35240\207#\34p\340]\374\6\277\1P\200\20238c\264E" - #"\204`\230A\2604J\2V2\214\3\235\242\26\265\1%a\rav\301r\302" - #"\271\6k\260\26\337\305w\213Q\274\30\213?\302" - #"GF\eE\4\200\373'\302(\314 X\222$i" -) 500 -( - #"\21\26\221c.J\330\305\377)\252Q=\0233\3\236\357\20\16\341P\300w\211" - #"\303&l\372\1~\240\264a\274\vw\275\203w\f\265\210\b\f\367O\204Q\b" - #"\277\17\305[y\231K\2704\1\23\316\340\214\377Awe\26\273d?\214\303S" - #"0%\210y9\307\t\347,\314\252Fu\254%V~\25038\223\212\324\26\264" - #"L\302$\243\255\23\0\256~\31\250\274" - #"\214y8\215\323\0230!P\265\222\231" - #"\201\31\207q\230\271I<\260\t\233\356\305\275Sq\271Z\354$LZ\206e[" - #"\261\325@\253\b\341 \301b\314i\234" - #"\216D\344\350\327yc:\246\327\243\236" - #"\255=\as\366b\257>&\21" - #"BC\202\305\30\225KB\223\t\326_\361\327Q\5\v\300R,\335\215\335:\330" - #"C\210\16\t\26cH\260\24\232\320d" - #"\2055\5\243\327P\275\16\327\355\302." - #"\355-\"\204\207\4\2131*\5\313\16" - #";\200\36\230\241\323\327~\354\277\32W" - #"\373s\345B,\254BU\37\372\2646\211\20\35\n\2723F\245`\1\310Df" - #"\23\232d\345\22\224\241-\210\337\2\315" - #"\260\275`\ei\27\337\275-\205\245\334" - #"R5\267j>\346\353h\246\256\330\355v\271\207\eu\237T\203\31<,\216*" - #"\216Zq\1\27T\26x2A*\326\320\26\304\325(}\246\324G\316\221{j" - #"\322\206\271\e\276\302W:\332\2507&\350\346\315C\305Q3xX\32\325\22S" - #">i\1\224+KD\34\342\306\251\3733`\2160V\37\372\220\213\253p\225\237" - #"\327\317\303\274r\224kj\22\241\22\367" - #"O\204Q6\230\301\303\342\201\241\223\275\251hu\264*'{\203C^\22\2622" - #"\314(jQ\213\6\204#\334\317\353\347" - #"c\376\1\34\320\324$\302\4\220`\261" - #"a\310\341O\301\367\226|O\245\303o" - #"\16\17\253\22\225\250\274\342\25\245(\205" - #"\327\305\365,\314j@\303E\\\324\315B\235\241n\336L \301bJ2\222\221" - #"\254r\f\23\304\260\0\34\304A\34\274" - #"\342\25\245\205\201\327\303t6\330\246cz5\252\3653Q_\206\272O.\201]" - #"\262\267\266\264\306 f,\34\371f\16\t\26SX\bV*R\217\341\330\0\6" - #"\230Xd\24U\250BU`\267\230>\214%\267e" - #"\334\212\255\22\244-\330\262\26kI\263\2\205\4\213" -) 500 -( - #"\rC\16\177\n\36X\365\200J\207\337\n\353TL\25\27512\t\226\aJ[" - #"\306\305X\f`\t\226\274\213w\357\300" - #"\35\335\3506\3324\221 \301b\303\220" - #"\303\237\212\252\17\253\324\267\233\227\373_" - #"11\314\20\242r\243\272\273\272\321uEq\321\341x\324 5w\334\335\243-" - #"#\200%X\362\367\370\373M\330d\234Q\342A\202\305\24\26KBy\2306\264" - #"\251\37\307(N\247\234\276!\356\6\214" - #"\226s\344\221\2324\0233\e\320\340\202\tkE9\341|\vo\r\357\e\264\21" - #"\e\377\210?\222\223\345?$X\314\350A\17$\250Ls\227\21\335\303B\1\n" - #"P\20\350Ma\b\313Df-j\265\260\310X\206\267e\224\211E\354\6l\360" - #"p\262\2506\251\17H\260\230\321\2066\264\262\31*\tI\355hg3\226!\314" - #"\302,\314\n\356>\317\315E\361\221\333" - #"2>\233\364\254\327\254\216\215\330\370\6" - #"\3368\2033\312+T\233\324\a$X\314h\0013\257Ht\17+d^\310\367" - #"g\177\37\243\345\34\rOM*@A\5*t\263S\37\344\266\214\256v\357Y" - #"\35\261\210]\212\245\324\1\333OH\260" - #"\230\321\6fq\247\333\256\272m\373\301" - #"\355\30!\307\222s\\p\331f\330\372" - #"\252\372\0H\222\344c\vbh\247\302\3552SzX\37\340\203\333q\273\217\v" - #"\250\3\266\377\220`1\243\25\255\254\226" - #"\204\307\313\216O\2325i\244\34K\316i@C\nRl\bFg\vP\3607" - #"\374\215\271I\6r\32\247KQz\vn\361q\215\357\16\330^\3739\216YH" - #"\260\230\301P\260\242\0205\16\343z!" - #"\344\231\376:\324\315\300\214\340\356\215E" - #"l\bB:\321\311\326$\3\331\206m\313\260\314w\327E\337\35\260MP\346\201" - #"!$Xl\260\331l\357\354{\a\255\314\26q" - #")Ha\246\177\372R\207\272ld\a}\373l\314" -) 500 -( - #"\366<\205(2\357\343\3755X3\352e\324\1\333OH\260\330\340r\271\222\v" - #"\223\217:\216\262Z\304\211\233\212U\217" - #"\372\351\230\36\364\355\2630\3134'\n" - #"\317\341\334n\354\366\321\226Q\311`\270" - #"\353[wm;\275\355\34\316\351i\236\210\220`\261a\0\3N8\23\221\310j" - #"\3001\353a\345#\337\4\36\226\254D\23o\234\370\365\236\257cl1#]v" - #"9\203\341k\351\333\221\337\376\v\376\202" - #"aA+*\363\340\216\31\4\213\207\212" - #"\243\235\350\234\202)\241\354\n\"\212+" - #"X\207p(\a9\376\\\351\265\340\214" - #"92\e\206\224\350z\374|\361\317\375" - #"\364\270Wb\345\307\370\30\303\202V\303" - #"\367R\215\202\207\212\243f\20,\215v" - #"\323\224r(\376Lq\f\307\22\220\300" - #"pvA\227\204\335\350\36\207q\361\266" - #"x\37\245\257\24\274\26\234\311Fv\23\232Lr@\347Z,\301\22?\257\275\21" - #"7~\212O55G%\356\237\b\2430\203`\361@;\332\223\220\304p@A" - #"sG\17\343p\16r|\227\276\362M\30\302\222\221\334\210F\215,\324\21538" - #"\203\374\241\332\f\376\220\213\334\20\204\324" - #"\240FS\253D\207\4\213\r\35\350`\30\300\202\260K\302\3038\254&\200%3" - #"\0033\352P\307\304\36\3\331\207}\370" - #"\n\3431\336\377[\226c\371'\370\204\202V> \301bC':\331.\t\23" - #"\220\340\204s\20\203\f\307\324\201\0064" - #"\250\331\"\224\231\216\351\365\250gb\217" - #"\2018\340\200#\260[\226c\371g\370" - #"\214\237\240\25\207\220`\261\201\271\207e" - #"\2055\0061]\350b8\246\16\250\367" - #"\260l6\333\263\367=\373\304\177>!" - #"\342\261$wv!\340n\326\313\260\354" - #"\257\370\353y\234\327\304 S@\202\305" - #"\6\346\202\5 \21\211\302\325\35U\223\346.\343r\271J" - #"_+E\266\330\265\n\316\343|\5*\260/\260\273&b" -) 500 -( - #"\342l\314\336\27\350mc\t\22,6t\240\203\355\222\20\2\n\226\v\2566\264" - #"e C\3458\331\310V'z\306S\206\262\\\344\6\341*-\305\322\200\35\263" - #"\261\4\t\26\e\332\321\316\244\326\250;" - #"BT\305r\2576\02713\"\31\311\301\35{vg*\246B\202\320u8\367" - #"a_!\n\203\270\361z\\\3779>gn\217i \301b\300i\234\16A\310" - #"DLd;l\"\22\217\341\30\3331\231\343^m\356O\325\177\312B\26\233q" - #"\353 \364F\341\317?\371\371\vw\275\200\300K,\24\242\260\nUtFg$" - #"H\260\30\240E\0\v\2.\t\e\3200\r\323\330\214U\207\3038\314f(#" - #"\350\237\327\337\362N\vF+\2610\274tL8\302\347`\316^\354\325\315T\261" - #"`v\224d,\243E\0\v\2\nV#\32UF\334/#\262\207\325\204&\364" - #"#\5\243\247P\311\247p,\26\213\374" - #"\257\374\342\336\177\333\273\334\262\34\200\305" - #"b\261Z\255\342\356g\336\0" - #"*Q\231\17\265\221\326y\230\367\22^bb\217z\274~\"\214\202/\17\253\244" - #"\244\344\356\273\357\336\276}\373\324\251C" - #"M\275=\326\200\36+D\31\217U\256\312\215\25\367ZN2\276\247\30\300@\17" - #"zb\21\253f\322\221\340?wTq\210\36\330\374@_-\3138q\32\322\220" - #"\316p<\2358\210\203\301u\275vg&f6\240\201\223\270\273\327O\204a\260" - #"\v\207\251e\307\216\35\211\211\211\345\345" - #"\345\356/\362\37t\357\220:\342\245x" - #"\215\246.\226\212\177$\375H\243\301\231" - #" \377\347\0\270Q\272\21+\30\274\27" - #"\227\343\320k1a\373\4\365\3\352\3142i\331g\322g\362\327~\376rz\275" - #"l\2364\357K\351K\337\327\30\205\201" - #"\306\360\342a\225\224\224\254_\277~\333" - #"\266ms\347\316u\177=66v\374\370\361EEEeeeEEE\343\307" - #"\217W\234/N\350Dg\34\3424\32\234\377%\241" - #"B\3\32\320\300`\34%\16}\340\335\3\331+\324\326" -) 500 -( - #"\2\324\237*T\25\240@\3758\3630\257\fe\352\3071\31\274\b\326}\367\335" - #"\327\321\3211o\336<\345$mff\246\374\243\212\212\n\0+W\256\4PY" - #"\311]?\25'\234\332\tV\2\228" - #"_\22\16\225\307\264\242\271\2579\371\22" - #"\313\343\337\351HoF3\303\1u\240\23\235!\b\231\2\6\233\233s0\307d" - #"M\260\231\300K\320\275\271y\304_\315" - #"\244\244\244\342\342\342\342\342b=\355\361" - #"\237Nt\306#^\243\301\371/\330\320\323\323\3\300\222eI\vKknb\251" - #"/1\210\1p\22'\345/\204\240\2\25\352#\3562\3631\377\25\274\302d(" - #"3\301\213\207%.]\350\322(\342\16 \26\261'qR\200B\311)HE*" - #"\363Q\205s\262\252Q-G\334\275v0\v\210\231\230y\30\207\5x\353\365\205" - #"\4K-]\350\322\316\303\nE\350dL\356D\247F\3433#\3\351\32l\351" - #"e!\253\tM\314\207\325\216\nT\310\1,5}\203d\302\0206\21\23O\340" - #"\4k\e\305\206\4K-\232.\t!J\334=U\23\17+\3\31Gp\204\371" - #"\260lq/a\370v\355\333\254\226\204\0\246`\312q\34g5\2329 \301R" - #"\213\23N\355\226\204\20!\356\16\0\251" - #"HC\32\363Q\323\220\306\377\222P)" - #"a\330'\365\205\347\206\253\357r\246@\2025\34\22,\265\34\3031M=,\376" - #"\343\356\0\220\256\211`e\"S^\22\272{1\334\266\322\251C]:\322\3\252" - #"\20\355;\3245\25S\205\256\23\255\5" - #"\274\354\22\212\213\2461,\210\220\354\16" - #"\310i\351iLFR\16\202X,\226\320\354\320\244\303I\0\3440\220\\\350\216" - #"\311,ZP\203\232<\344\5t\213\357\360\26yX\303!\301R\305\327\370:\4" - #"!\21\210\320n\212D$\36\302!\355\306W" - #"\217\v.L\5\253\343\337\36\307\236&b\242\v" -) 500 -( - #".\365\215-t\240\26\265\271\310e8 \t\326phI\250\212.ti\2275" - #"*\303y\320\335f\263\205e\205\241\23V\213\225\371b-\24\241\tHhE+" - #"\333a5\"\b\17\3137$X\303!\301R\205\246\347rd8\27,\227\313U" - #"\322X\2624mi\320\373\367\276\311D&\377\e\2052\265\250e+X\24\303\32" - #"\16\t\226*\264\16`\201{\301\2p\24G\265\210\270\313\b\221\331\0\0ah" - #"E+\263\n\321\0\310\303\362\6\t\226*tX\22N\302$\v,_\343kM" - #"gQC\vZ\264H\302\222IG\272\30\2025\35\351HW_p\325\35\22\254" - #"\341\220`\251B\a\301\2\367N\326\30" - #"\367\260\206j:\347\241\346\275\232\200z" - #"\246\216\n-\t\207c\6\301\322(=G\311\375\3611\205>\202\305y\356h\v" - #"Z\264\23,\376\217\23\16\2250\314\301\377^\373\277}\364L\r\2;\354gq" - #"\326\5^:}\271\177\"\214\302\f\202" - #"\245\346\304\226\17\224\343`>\246\320\372" - #"\\\216L\"\22y\316\35mF\263v" - #"\202\245\344\216\362\316L\314\304L\266C" - #"\206\"4\e\331\265\250e;l\320\270\177\"\214\302\f\202e \232\226jP\340" - #"9w\264\37\375\335\350\326\250\a\a\0;\354\0\2423\243=Z\272sG\16r" - #"\220\303|\324Y\230u\20\a\231\17+.$X\252\320a\227\20@\2\22\270\215" - #"au\240#\26\261\241Zf g \343\224\375\224\342\352\262]v\251'::" - #"\332\22fA\32f\332f\6\3323uT\362\221_\t\356\212V\32\b\tV\360" - #"\fb\260\a=L\312K\372\206\347\240{+ZS\300\370S\352\1\347\355sz" - #"zzj\373j\321\6\311uEoA&\314\306\354\315%\233U\226\3262\23$" - #"X\301\323\215\356\30\304\204 D\353\211x>" - #"\377\254iN\203L\26\262\220\251\351\fj9" -) 500 -( - #"\4\255NO\25\240 \346\3331*K" - #"k\231\t\22\254\340\321\272\260\214\302\30" - #"\367\260\322\221\36\226\23\246x\31\314\227" - #"]\352\251C\35\3524\319\26\261!\b\21\240\202\243^\220`\5\217n\202\305" - #"s\241d\355\272^+\244#}\361\272\305\222\267\226\356\234P\217z\324k58" - #"\305\335\335!\301\n\36}\266\b\1\204\"4\0061N8u\230+PtX\22" - #"\362\237\331p\b\207pX\253\301\vP" - #"P\201\n\255F\27\r\22\254\340\351F" - #"\267>\202\5 \36\361|\256\v\332\320" - #"\226\f\226\335\275\206\223\202\224Nt\16" - #"`@\323Y\324\320\200\6\362\260\364\201\4+0\334K_>\361\374\23:\244\271" - #"\313p\233\331p\24G\265\366\260\254\260\306!\216\333\"3N8\307a\234vg" - #"\376\310\303r\207\n\370\5\206{\351\313" - #"uX7\25:\265\241\216G|\27\272\364\231\313\177z\321\e\202\220HDj=" - #"Q*R\271\25\254z\324O\307t\355\332\333d#\273\tM\242T1\324\32\22" - #"\254\340\321\347 \241\f\237\307\tu\b" - #"`\311\360\\\263\341\372\37]?x\325 \0\213\305b\265Z\231g\36\204!," - #"\31\311\215hd[\316TPhI\301,P\334\375\e\30,\t\227,Y\262\177\377~\371" - #"\353}\373\366\251\37P\b\234\320\273\334" - #"\313\257\36\370\325`\301\340/\356\377\5" - #"\0-\216\200\4\212\376\36\26\17\202\345" - #"\216\23N\271\362\217\16s\221\207%\23\274\207e\267\333322\0dffZ" - #"\256$3\223\357\212\266,\350\202\336\207" - #"\221\377\364\333?\335|\337\315\370\346o" - #"\273\256s{C\267\254Q\31\16\5K\267\210;\200Ld\266\241\255\17}\372L" - #"\307-\301\v\326\344\311\223\337x\343\r\0MMM\322" - #"\22545q]nM\r\321\321C\375\246\252\217W'" -) 500 -( - #"\206\352\264A&\303\333.\241\316\36V" - #"2\222\235p\366\243_\267\31GE\267\0\26\0+\254)H\341\274\220\241\16\4" - #"\277$\254\257\327\254d\31\307\364\364\364" - #"\0\260X-\326)\326\226\257t\215\1" - #"\363\266K\250\263`)\251X\374\264\320" - #"\321\323\303\3027a\2541^\263\201A" - #"\320}\336\274y\357\275\367\236\362\355{" - #"\357\2757o\336<\365\303r\315d\330a\327mG_f*\246\366\240G\3379" - #"}\241\363\222\20\374U\305\222+a\3516\335tL\327\260t\274 0\20\254?" - #"\374\341\17\217?\376\370\303\17?<0" - #"0\360\360\303\17?\376\370\343\177\370\303" - #"\37\324\17\3135q\3209\t\v@(B\355\260\353U1p\24z\320c\201%" - #"\nQzN\312[U\254\3038\254E" - #"\267\347\221\230\201\31t\242\220\201`\315" - #"\2325\353\300\201\3\345\345\345\t\t\t" - #"_}\365UYY\331\254Y\263\324\17" - #"\3135\261\3209\315\375\362\264z\353\244" - #"w\332\320\246\347zP\206+\17\253\37\375\355hOG\272n3\222\207\5V\325" - #"\32\316\236={\372\364\351\310\310\310S" - #"\247N\2359s\206\311\230\\\23g\214`% \1\361\372O\353\5\335j\215\272" - #"\223\206\264f4\353<\351H\34\305\321\4$\350Y\2668\a9Z\365k\25\a" - #"\6\202\265{\367\356\5\v\26\334{\357" - #"\275\r\r\r\367\336{\357\202\5\vv\357\336\255~X\256\2115`I\bcV" - #"\242\336\3219\342.\303Cf\203r\324" - #"a\372M\323\333v\351z\30\233\223#" - #"\320\306\302@\260\36}\364\321\342\342\342" - #"\207\37~\30\300\303\17?\\\\\\\374" - #"\350\243\217\252\37\226k\fZ\22\306!" - #"\216\23\17K\377\210;\370\20,\345\250" - #"\303\213\177~\261\277N\357\34\vJ\37e\220\351^^^\356\376\355\332\265k" - #"\327\256]\253~X\2561B\260\354v{\357\272^d\301b\261DGG\313" -) 500 -( - #"\t\26F\321\212\326|\344\353<\251\222" - #"\212\245u\375)\1778\202#\372/O\351\b4\3\17+11q\314e\272\e" - #"!X\275\275\275\357\275\360\36\342!I" - #"Roo\257\316\263{`\310\222\220\253\252XG`\300\216%yX\f\4\353\374" - #"\371\363\16\207C\316q/--\215\217" - #"\217\177\375\365\327\325\17\3135\6\5\223" - #"\306x\f\v\34\254\n\225\243\16\37T|\20w^\3577\203\216@3+\340'" - #"\177\275d\311\22\375\v\370\351YqT~\21S1;n\266\376\305\3059Ik" - #"\30\300\300q\34O@\202\376S\e\236" - #"\331\320\323\323#\307\260\"\v\"k>\252\321yvc3\ex\2508j\206F" - #"\252\32\225@T\16\30\313}\236\225\327" - #"\a1\30\216\360\v]\27t\316t\217" - #"\216\216\316\376V6\216\301b\261\244\244" - #"\30\340\335(\34\303\261)\230\22j\304" - #"/\217\341\36\326\0201\260\300b\207]" - #"\347i\345#\320FE\361\334?\21\372" - #"\317.\303\246\200\237R\304\335\364\5\374\0t\243[\317~9\n===\322\327" - #"\22\200\257\245\257[Z\214,eg\310\26\241\f/\251X\231\310\204\1\201Z\e" - #"l\351H\37\313\253B\6\177$\267m\333v\363\3157\237>}\32@dd\344" - #"G\37}d\342\2~\320\275\375\204'" - #"]\350\312\352\232\204I\206\31\0\264\243" - #"\335@\301\342\302\303\3120F\260\0\344" - #"!\257\006531\323\220\331\r\207M\1\277S\247N\251\37G\24\f\27\254\316" - #"\254\316i\230f\230\1@\e\332\222\220d\310\324\374\b\226QE#r\221[\213" - #"ZC\246\346\1j\244\0320\372\367\313" - #"\271\202N\335+\a\16\243\35\355F\t\26/U\2612\240\347)Bw\362\220\367" - #"\253?\375\312\275\256\274!f\30\5\tV\300\350\337/\347\n\364/u" - #":\f\3\5\213\227T,\343<\254<\344e\337\226\355^W\336\0203\214" -) 500 -( - #"\202\4+`\f_\22\32.X\6\6\335\361\315\252\320\243{\215\336F\30'X" - #"\3230\255\5-c\266V2\tV\300t\243{\252\201U\2518\20\254\16t\350" - #"\326?u8r*\226G\367\32\335f\267\331l\2260\vb\221i\3134d9" - #"f\2055\25\251\215h\324\177j\36 " - #"\301\n\230.t\31\271$\354\204\261\315" - #"\276\344\206\317\206d\215\312\244#\335\300" - #"\314\6\227\313u\270\357\360\264\361\323$" - #"\227a\313\261\231\230Y\215jC\2466" - #"\34\22\254\2001X\260\214\366\260\216\341X,b\365OCS0\274Aa\3\32" - #"\262\220e\240\1cy\2430x\301\232" - #"?\177\276\371\317\fz\303\250\30\326\320\251\240.T8+\2]\2140\\\274\30" - #"\30q\227\237\302\360\314\206\0064\4\235" - #"V\302\344\215\220S\261\324\217#\"\301" - #"\v\326\177\375\327\177=\377\374\363\267\337" - #"~\273\326IX\355\355\355EEE\221\221\221EEE\35\206\323\30\255\0\0 " - #"\0IDAT\35\35\232\3165*\3\308\205S\372\364\316\364@\216\332\364\37" - #"\353\267\305\332.\270\2k:\335\337\317" - #",\17\240\3\35F\t\226\374\24\206\367\254oBS\320Y\243L\336\bcK\217" - #"\272\3402\260\356i\360\2025m\332\264" - #"\277\376\365\257\311\311\311\v\26,\250\250" - #"\250`h\223\a\5\5\5\0v\356\334\t ?_\357\32L\36\234\300\211(D" - #"\31\270 \222[\r\e\262*\224]\274;\177|\347\373\317\275o`\372O\22\222" - #"\272\3205\200\1\243\fhD\243\261K" - #"\302k\343\256\255\275P\v\e,\26\213" - #"\335\256\367y\306z\324\343\222\316s^FU\f+,,\354\205\27^\370\356w" - #"\277;\177\376|\215\352a9\235\316\213" - #"\27/\26\27\27_u\325U\305\305\305\27/^\354\356\36\275D\254\237" - #"\37\247 >u>\326\203l'\365qY\22\222\332\321\36\320h~\342{" -) 500 -( - #"\264\241\215\271dl~d3\223\1\3\275L\306\nk\34\342|\324l\320\372\215" - #"\360\332\335K\213b!#\375\250\327\331" - #";=|:\262\2\250\214\306\360\377\244\32FF\374\325\6\335KJJ\336x\343" - #"\215\375\373\367k\324\371y\323\246M\17" - #"=\364\220\362mQQ\321\246M\233F\275\313O\307;\b\377\334GN\3\333I" - #"}\\\226\210\304\16t\0044\232\237\370" - #"5Z\22\222\220\244\333\303z\305w\30KS\333\\pu\2423\ri\301\215\346" - #"?\276\a\234\201\31\1\265pe\370\177" - #"R\v##\376\252\316\22\226\224\224\254_\277~\333\266ms\347\316ee\220\a" - #"\257\275\366\332\221#\227\v;n\334\270" - #"133s\363f\177\377\3023\307\340\254Q\0W\n\226\1$\303\300\254Q\31" - #"\3\343\356\315hNF\262!\245u\334" - #"\311\206\236=\247\257\240\6\206F\374\245`\331\261cGbbbyyy\320#" - #"\370CDD\204\323\351T\276\355\352\352" - #"\212\210\210p\277@\357\377\257G\201\347" - #"\365\236\323\223'\201\377c\334\354\0350" - #"(\346\356\306\277\0\2770h\352\233\201" - #"\355\6M\355\316\6\340?\r\232\372\20\220\203\276\276>M?\370#\21\274`-" - #"Z\264H\251\214\254\35O<\361\304#" - #"\217<\242|\273q\343\306'\237|\322" - #"\375\2x\323\\\257/2\271\354\t\351\211_I\277b5Zp\227\275.\275\276" - #"NZ\247\363\2442.\311\205>\fH" - #"\3:\317\353q\331\357\245\337\177_\372\376H7jj\333fi\363C\322CZ" - #"O:\352\225\16\311\201/\300|\336Q/\273(]\234 M\2005x\335PI" - #"\360\236\355\276}\373\202\276\327\177<\326\200\36+D\375q\302iT!$\5\3" - #"\227\204\307p\fN\204$\e\266I*c\340\222\260\21\21530\303\220" - #"\251\335\t4\206\305\212z\324\247#" - #"\275\246\337\2605!\357\231\356\261\261" -) 500 -( - #"\261\343\307\217/***+++**\32?~\374\324\251\243\237\343\v\v\v" - #"\363gp?/s\307G\320\235\355\244>.s\27\254 \36!\270Ie\3321" - #"\264?\251\333\303z%\ri{\332\367" - #"(\345\366=\266\3665\265m\244\234\6\266o\304\250\3N\306d\\B7\272u" - #"~#jP\223\207<\177\206\322\b\336" - #"\5\v\200\234\344\265r\345J\0\225\225" - #"\225\376\334r\361\342E\206\227\271s\34" - #"\307\247`\212\16\223\372\270,\36\361\307" - #"p,\240\321\374\304\367hv\273}\361" - #"\235\213\321\16\213\3052a\302\4\365\3" - #"\6z\231B\22\222.M\271\344\222\\\200\227\255}M\337\210&4y\25,\266" - #"o\204_\3\326\243\36\365\272\375\326\311" - #"\34\302\241\34\344\3703\224F\b XIII\305\305\305N\247\263\270\27081" - #"\321\260\"\0012<\354\22F\"\22\300\327\370Z\347y{{{\237y\367\31\264" - #"\31\337\30\321\n+\216A\377|w\27\\\35\3500\252t\237'\207\241\177\276{" - #"5\252\215\255\316,\200`qE7\272\r\27,\4\36\306b\265`Q\226\204\206" - #"p\305S4\31\320\310T}N\3\313\225c\35\364\357FQ\213ZZ\22\n\303" - #"\31\234\261\300\22\201\b\243\rA\2\22" - #"\224U\241?\260Z\260t\240\303@\301" - #"r\177\212\260\316\260\345\377\260\34\320\265" - #"\351Y#\32Un\271\260\\9\326C\347\36\205}\350kE\253\261\307\222H\260" - #"\2\200\207\365\240L\"\22\365wu\242" - #"\243\243\377\337\227\377\17m\3067F\4" - #"\360/\353\376\345'/\377\4\200$I\2725=\363z(G\177\206\352v\34\302" - #"\207\r\37\352y\250\263\26\265\3230\315" - #"\220\226\210\nfh\244\252\e\6\327\32u#\21\211\1yXL\350\351\351IB" - #"RGG\207\244\177\276\3560\322\221^\216r\235'" - #"mB\23\17\202%\27\16t\301\25\205\250\323\256\323" -) 500 -( - #"\272\315{\20\aga\226n\323y\205<\254\0\30\343\36\226\\kTw\235\364" - #"N&2\233\300\354\310\252\237\250\251\204" - #"\305\34\375\233\252V\240\242\0\5\272M" - #"\347\25\22\254\0\340\312\303\322?wT" - #"\2565\212A\235\247\365N\0062\364\17\272s%X\320\275\222_%*gc\266" - #"n\323y\205\4+\0\306\270`\31Xkt8v\330-\260\350YHq\244:" - #"\r\6\242s\255\344*T\221\207%\22$X\206\327ipG\347V[\234\324i" - #"pGO\17\353\30\216\205\"t\244\254i\335 \301\n\0\37i\356:\23\213\330" - #"\22389\250\357\362\254\35\355\6v\367" - #"\32N\272\276\335\227\325\34740G\317Z\311\34" - #"+\254iHk@\203\16sU\241\312\360\210;H\260\2\202\37\17\vW\36\201" - #"\326\ac;\324\17G\347\30\26\207\202" - #"\5\35\303X\225\250\314\207\301-``\16\301\222;_h\321\5@\36yh\212" - #"P\313\311\376\223\2064\370\362J<\342" - #"u\356\235cl\207\372\341\350\34\303\32" - #"\251N\203\261\350\23\306\352C\337Q\34" - #"\2357q\236\362\2110\n3\b\226F\213\24\271I\214\364M\31\306c\3\307\342" - #"\254q\0066\370\362@\347%\241\341\35" - #"\352\207\223\2064$\300\5=\26\247|" - #"\325ipC\237\266\365\225\250\314A\216" - #"\353\354\345O\204Q\230A\260\364\201\253" - #"\365 t_\22\32\336\241\336\3\233\315f\265Xq\fa\323\302t8" - #"O\307aN\203L\36\362tH\305*C\331<\314\323z\26\177 \301" -) 500 -( - #"\362\27\16\5\253\23\235\272M\307\333z" - #"P\366\177\227\245/\373\254\3413\35v\08\314i\220\311BV\vZ\264v3" - #"\377\206\277\315\301\34M\247\360\23\22," - #"\177\351B\27W\202\245\363\371\3476\264" - #"\245\300\340\n\r\303\311B\226>'\n" - #"9\314i\220\261\301\226\205,\255\235\254" - #"\380\37\3635\235\302OH\260\374\305\tg\34\342\214\266\3422:/\t\333" - #"\320\306\317\271\34\205t\244\353s\242\220" - #"\317-B\231|\344W\302\257\322\341\301q\1\27\32\321hl\241Q\5\22,\177" - #"\341mI\30\213\330\36\364\f`@\237\351\270:H\250\240\351\21he\233\330b" - #"\261\274\264\343%n\5k6fW\241J\273\361\17\342`\16rl\320\257\360\226" - #"\17H\260\374\2057\301\nAH\fb\272\321\255\317tcP\260\3440\31\0I" - #"\222\322nH\343\252N\203;\2631[" - #"S\17\213\237\210;H\260\374\2077\301" - #"\202\276\231\r\274e\215\312\350Sd\206\303:\r\356h\275$,G9\t\226x" - #"t\241\213\253\30\26\364\rc\361\351a" - #"\311EfN\342\244\246\263p\233\323 #\247\233h\267eL\202%$\\\35$" - #"\224\211G\374\355?\272]\211\263h\227" - #"\2164\200\201\238\301\233^\313\244#" - #"\275\31\315\232N\301mN\203\302,\314" - #":\210\203Z\214\334\207\276F4\32\333)\307\35\22,\277\30\300@/z'c" - #"\262\321\206\\A\2\22\376\371\305\177V" - #"\342,\332\245#u\240#\26\261|\272\30:d6p\233\323\240P\200\202\nT" - #"h1r-j\263\220\245C5\b?!\301\362\213\3438\36\203\30~\362\274e" - #"t[\22\362\271\36\224\321!\214\305s" - #"N\203\214v\e\205\234\234yV \301\362\v\16#\356\0\22\220\240O\262;o" - #"\265F\335\321!\25\213\177\301\322.\356\316IU\31" - #"\5\22,\277\340V\260\364\361\260\370\314\32\225\321\301" -) 500 -( - #"\303\342\255\367\304pr\220s\4G\372\320\307|d\36\32O\270C\202\345\27|" - #"\nV\34\342\364\361\260x;H\350\216vAw\273\335n\261X`C\363\305\346" - #"\253c\257\326b\nVXa\315D\346a\34f>r5\252y\250\214\254@\202" - #"\345\27|\n\226\\\331]\207dw\236" - #"\227\204\251H\355Dg?\372\231\217\334" - #"\333\333+I\02221}\374\364\336\356^\346\343\263E\2130V':-\260p" - #"\265;L\202\345\27\34&a\1\bE\350TL\325aU\330\212Vn\5\313\n" - #"k\22\2224\314l\310A\16r\264\32\234\35Zl\24V\240\202\253\210;\314!" - #"X:T\34\335\374\326\346\37\257\373\261" - #"\16u\227\2%\tI:\264\200\346y\227\20@\26\2624\254k\236\215ldk" - #"58;\2648\240S\205*w\301r\377D\30\205\31\4K\207\212\2437|\357" - #"\206O\337\374\224\207\316\v\36$!I" - #"\353\6\205\375\350?\211\223\34:\230\n" - #"\32\265\255\217\216\216\266X,\230\216\247" - #"\357}:%\205\273\322:\36\314\302,\346\245G=Z{\271\177\"\214\302\f\202" - #"\245\3\235\350\214G\274\321Vx\341\243" - #"\227>Z\373\343\265\0,\26\213\335n" - #"\327b\212v\264\307!\216\317\254Q\231" - #"\351\230^\217z\346\303\366\364\364H\222" - #"\204\34\354\371\217=---\314\307g" - #"\213\374\373\311v\23\206\223\326^\356\220" - #"`\371\5\207\347rd.6]|\344\331G\0H\222\324\333\31320\254\370\377" - #"\31\327e\264\356me82s4\362" - #"\260\206\230\6\316\323\334\25\330\36\3209" - #"\217\363\315h\346m9L\202\345\v\371C\213Pt\367w'\207s\31un\203" - #"F1,\245\270\312\233\273\337\274\373\232" - #"\273\265\230\202\25\3230\255\21\215Z" - #"\214,W\357\341\244\335\367\250\260\335(,CY\36\362" - #"8)\203\245@\202\345\213\241\17\355T\304[\343]\27" -) 500 -( - #"\270\v`\1@\eZ\241\255\373\323\202\226T\244j:\205J2\220\321\216v-" - #"\352\232\37\306a\275Z\3013\200\355F\341>\354+D!\253\321XA\202\345\a" - #"\361\3406\344\34y&r\177\307~\0\26\213E\243\3000\237\225\260\334\tEh" - #"\22\222\216\342(\363\221\17\3430\352\230" - #"\217\252\25l\17\350|\201/\26a\21" - #"\253\321XA\202\345\a\261\374\n\326\211" - #"\203'l\2116\204B\222$\215\2\303\374\v\26\200Ldj\261*l@\203\6" - #"\321|\255\310F\366\21\34\271\200\vLF\373\22_.\300\2&C1\204\4\313" - #"\17\342\301\347\26!\276\311\35\325\264\275)\377KBh\266Qx\b:\264Uf" - #"F\30\302\362\220w\0\a\324\17\325\204\246\20\204pXd\225\4\313\178^\22" - #"\2H\202\266I\235-h\341\260\301\227\aY\310\322\302\303\252C\235@KB\0" - #"\213\260\350\v|\241~\234/\360\305B,T?\16sH\260\374\200\343%!d" - #"\301\322\356`r4B\20\22\211H\315&`\203\26\231\rr{z\215\253\2312" - #"f\1\26\354\307~\365\343\354\307~\16" - #"\327\203 \301\362\v\216\227\204\0\222\221" - #"\254\241\3\224\n\376\327\203\320fI\30" - #"17\342B\315\5\270\240i\371i\266\\\203k\366b\257\372q\366b/\207[" - #"\204 \301\362\213XpX\252A!\21Z\226~I\6\377\21whS\263\341\255" - #"\257\336Z\223\267F\243\203_lQ\262|\323,i\335]\335*7L\317\341\\" - #"=\352\347b.\e\343\230B\202\345\a\t\334{X\332I\212 \36\226\r\266t" - #"\244\263\r8U\243\232\237\346\v\276qo\241x{\334\355*\235\254=\3303\17" - #"\363\302\21\316\310:\226\220`\371b\250" - #"\204[\34\246M\234\246\321I=\365h+X\202xX\0\362\220" - #"W\203\32\206\3\326\240F\24\301rg!\26\252\214\273\357\306\356\245" -) 500 -( - #"X\312\310\34\306\220`\371\242\267\267\367" - #"\264t\32\203\220\3162>\251\307\20\215v\t\207\304:\5O~\357In\305\332" - #"\235\\\344\326\242\226\341\200\265\250\25Q" - #"\260\324o\24\356\302\256\353p\35+{\330B\2025\n]\350\202\323h#F\306" - #"f\263\245XS0\31\26+\343\300\360" - #"P\275\315d\224\276U\312\255X\273\223" - #"\213\\\206IS.\270Z\321\312y\357" - #"\t\257\314\305\334:\324\235\307\371\340n" - #"?\207s\aq\220\317\234\6\230A\260" - #"\352a\t\325\252\200\37\200\354\245\331\350" - #"\204\\\264\214\303\255\"\227\313%\365K" - #"\251a\251M\375M\232\4\206\5\211a\1\230\211\231\f\vB\325\241.\35\351V" - #"XY\r\250\e\0230a.\346\356\301\236\340n\337\203=s1w\2&\f\377" - #"\21\25\360c\301\267\3209\320\251Q\1" - #"\277\350\350h\304\2]\0\220\222\222\302\355VQ*R\2658\2\335\217~LA" - #"\202\246y\364\354\310BV\vZXm" - #"\24\36\302\241\\\3442\31J\177\256\305" - #"\265\245(\r\356^\a\34K\260\304\353" - #"\217\250\200\37\v\234pj\266f\353\351" - #"\351y\376\335\347\321\251\341I=&h\321\233/::\3326\335\206\16X-V" - #"\376\353m\2\260\301\226\2064V\e\205\2m\21\16\347z\\\3779>\17\356\336" - #"\277\340/\313\260\214\255=\f!\301\32\5\316cX2ZxX===\237\326" - #"\177\212f\336\305\332\35\206a,\241=\254\205XX\205\252 \302Xgq\266\32" - #"\325\334\6\260`\16\301\352\222\327l\332" - #"\320\311\270\352\254&\244!M\213\2661" - #"Mh\322\246.\236V\344!\217U\30\253\32\32531\223\311P:0\264\245\373" - #"M\245\354\bD\314\301\234 \302X%()D\241\327\0\26'\210/X]\332" - #"zXN8\265\324C6\244!\255\5\354\235\240f4kPcJCXyX}\350\23k\213phK" -) 500 -( - #"\327\255R\266\377a,%\224n\261X" - #"\276\373\352w\227c\271\266\266\252C|\301\322xI8\326=,\315J\245k\201" - #"\232\215B\367\317\355\304\253'N\3034" - #"\21\267\b\25\374\17c)Y\362\227\244K\t\367'\254\304J\215MS\5\t\326" - #"(ti\273\342dC\22\222\234p2o\1\335\f\r\373\223j\201\274Q\30\\" - #"\255d\367\323-\277\373\362w\\\365g" - #"\17\202\205XX\215\35238\343\377-" - #"\207p(\24\241\234w\334 \301\362\305" - #"\0\6z\320\203\343\32\r\317\f+\254q\210S\23ww\367/\224t\263F4" - #"\212\345a\331`\313B\226\372|w\16" - #"\333[\371f\250\205\242[\245\354\bD" - #"\334\200\e\266b\253\377\203|\214\2179" - #"w\257`\6\301\322\322\5\352F\367dL\306\240F\303\263$\rij\316\350\273" - #"\373\27r\272\331\t\234\bE(\4Hq\277\2&u\315+Q9\e\263\231\330" - #"\243\17C-\24q\305\226\356\32\254y\37\357\373?\310'\370d\5Vhb\37" - #";\304\27,-=\254.t\361\\X\306\35\346\231\r\315hNG:\303\1u" - #"\300f\263\275\371\217o\256\377\315z\225" - #"'\37\252Q-\372\222\20\300w\360\35\a\34\376\256\ncP\216rn\317<+" - #"\210/X'\320\213\336Am\274\240Nt\212\222\347\235\216t\266\1\247&4\t" - #"\264M&\343r\271>}\372S\24@\315\311\207c86\16\343x\2561\353'" - #"\2230i\31\226\371\273*\334\200\333p[\4\"46J-\342\v\326 \354\260" - #"\37\327&\316t\313\17o\331\376\373\355" - #"\200\0005'S\221\312\266\317\325\21\34" - #"\311@\6\303\1\365!\37\371\310W5\202p\353A\37\370\271*\224 \341~\334" - #"\207\373t0I%|\t\226\303\341\210\211\211\211\211\211\331\263g\217" - #"\307\353\223&M\32\376\272L,b5Z\25\376\342\225_<\371\203'" -) 500 -( - #"\1U\177\261\365\201y*V3\2329l\2322*\261\210\305%UaMs\254" - #"\ae\276\203\357\224\242\364$N\372\276" - #"\254\24\245p\201\317\232\310\36p$Xv\273}\325\252U[\267n\335\262e\313" - #"\332\265k\25m*))\271\373\356\273" - #"w\357\336\275c\307\216\273\356\272k\347" - #"\316\235\0367j'X]\350\342\271\326\250;r*\226\327\315\276\340hBS&" - #"2Y\231\247+\225P\323\0Y\270-B\37L\302\244\325X\375{\374\336\367e" - #"/\341%\274\f\v\214,\303\340/\0227\344\346\346*_\227\226\226FEE\311" - #"_GEE9\34\216\341\257\313\0\270G\272\347u\351u-L\272C\272\343=" - #"\351=\256\376\227F\302%\271\302\2440\227ty\263/\b\334o\264\34\265(z" - #"e\265Z\331X\251\v\370\r\236\221\236\t\362^`\2264\253B\252`k\222>" - #"x}\337wI\273r\244\234K\322\245\221\356\212\234\36\211\223@\f\0DGG" - #"\a=\221>p\344a\325\324\\\256o{\313-\267(ewN\235:\265x\361" - #"b\371\353%K\226\234:u\312\343\3068\304i\347a\211\22|\265\302\32\217x" - #"V\e\205.\270\302R\303\\\215C\345D8_\16{R\211\3403\e&\240\t" - #"M9\310aj\220\221\\\213k%H\168F\272\340\364\375\247\177l\3771N" - #"^>\326\3033\34\t\226;\275\275\275" - #"===~^\254\335\222\360\30\216\211\262$\4\220\205,VGi\232\321\234\214" - #"dQ\317\246T\4\263$\34:?<\37\347\277<\37g\27\343\257\224\202\34\n" - #"\200\267\335!\v,\377\200\177x\t/y\275\261\3\35\370>\236\300\23zX\311" - #"\2]\5+33\3232\214\314L\317" - #"@\211\303\341\210\212\212\362\177\330\237|\377'\277\371\343oX\305" - #"n\334\303@G\316\35\2316i\32\0\17\233\371\3341dx\242" -) 500 -( - #"\260\21\215\242\6\260\0\324\341\b\216\\" - #"\300\205\200n\32:?\274\0EW\27" - #"\361\357hx\240\224\326\363\352\16\337\203" - #"{>\303g^\377\230=\207\347\360:" - #"b\344\5\341\b\270\177\"\306V\305\321" - #"\246\246\246\341\213\322\246\246+\376\37\345" - #"\20\373\360\310\272\17>}\343\323\e\356" - #"\271\301\307\e\26\20\312{\377\265\364\365" - #"\304\210\211\322\31/+v>\227H\31\310`U\306\257\21\215\302%a]\246\17" - #"\271\310-CY0\367.\302\",bm\2201(B3\3312\371\364\243\2477" - #"`\303%\\r\277\300\1\307\37\361\307" - #"\250\327\242<\216\365x\340\256\2062:" - #"=\2007\370Z\22\226\224\224\254_\277" - #"~\333\266ms\347^n\342\30\25\25" - #"\245\354\30zu\276\342\20\247\305\351\234" - #"Nt\n\264\36\204\272v\355\36\5\225" - #"\352Q\317\371!X\337\24\242p\37\366" - #"\5w\3475\270\206\2659\306\340~\334" - #"\252\177s\177\30\302\236\303s\312OK" - #"Pr7\356\336\216\355\275u\227K\323\bP\251QM\304\236-;v\354HL" - #"L,//\367x\275\274\274<11" - #"\261\244\244\304\353\5\0\272\244\256\251\322" - #"T\346\366\354\226v/\221\226H\206\356" - #"\211\4\304\227\322\227s\245\271RP\6" - #"\313\267(\377.\227\226\177,}\314\334" - #"B}\0\360\226\364\326m\322m\1\335\25\35\35\215t\310\245\204RRR4\262" - #"M\177\224_\206\6\251\1'\200b\340*\240\308\16\207\344\30~Y@c\352" - #"\17G\37\305\264\2644w%\315\310\310P~TZZ\32\31\31\31\31\31\251\344" - #"7(\0\30\220\6\254\222u@\32`k\317\273\322\273k\2445\2228\202uB" - #":\21%EI,\4+S\312\254\227\352\231[\250\17\0\216HG\342\244\270@" - #"o|Kz\v\37\210\361^\373\217\373/C\233\324\366\240" - #"\364 \234xPz\260]j\37\351\262\200\306\324\31\213d" -) 500 -( - #"\350\212T=\26\213E\222\244x\304\177" - #"\205\257\330\256\340^\300\vGp\344\5\274 O\301pd\355\210Ft#\32'" - #"[&\aj\260\374\214C\377\206Y\306" - #"\367\215?\2033\241\b\325\310NM\221\237\"\tI\245(\r\350t\321\3x\340" - #"\305\237\274(=#\306{\355'\303\177{\275\376>\a\364Kn\340'\202\257\30" - #"V\320\304!\216yaP\201\222\260\24" - #"\202\216\273\273\27T\212/\214OF\262" - #"\240j\245\260\0\v\344\6\310\376g\377" - #"\177\1\225-\223\t\3151\211`\305#" - #"\236y\334]D\301\252\376\260\372\352;" - #"\257\3067\261s\377ot/\250\364\332" - #"\347\257\t\234\323\360\r\v\260`?\366" - #"\303[\251/\257\22v\26g\e\320\200" - #"\257\f4\231\30\35\223\b\226\26\e\205" - #"\302\355\22\2p\325\272\236z\367)@" - #"U\326\262\350[\2042\205(\334\213\275" - #"^\1774\\\302\0\224\240\344\32\\\23" - #"`\362\26\2417\346\21,-\226\204\242" - #"T\357\273\314Q\6e\330\5>\366\354" - #"\306\\\314\255G\3759\234\363\363\372O" - #"\361)\347\rc\b\230I\260\230\237\316" - #"\21\321\303b\322\350\246\1\r\3230\215\2119\0062\1\23\nQX\202\22\177." - #"\226 }\204\217\370\257hN\230D\260" - #"\342\21\317\326\303\32\300\300)\234\232\202" - #")\f\307\324\201\310\236\310\2774\377\5" - #"#g-\373\203\210\265F\275\262\34\313" - #"?\305\247\376\\)D\303\30\2\246\21,\3461\254c86\25SC\20\302p" - #"L\358^v||\372x\330\202\317Zv\301\325\201\16\21K\367\r\347&\334" - #"\364\t>\361\347\312?\343\317\374\367_" - #"\b\24\217\323\v#]\346\343\3404\207\230G\260\330zXmhKF2\303\1" - #"\365\301\nk\nR\324\270G\rhHE\252\250u\32\256$\27\271!\b\251" - #"A\315\250W\232r=8\274\35\264W|\37\234\346\r\223\b\26\363\264\206\16t" -) 500 -( - #"$!\211\341\200\2721\35\252V6Bo\21\16\367)n\300\r\237\3413\337w" - #"\235\301\231\257\360\325m\321\267\t\344h" - #"\4\207\237>\27\317\230D\260&b\242" - #"\5\226\200\372\334\372\246\25\255\"zX" - #"\0r\220\203\31\301\337~\30\207\305-_7\334\247X\211\225\37\341#\337wm" - #"\301\226\ep\203\253W$G#8\374\364\271x\306$\202\5\326a\254\16t$" - #"\"\221\325hz2\226=\254\341,\305" - #"\322\317\277\376\3342\371\n\267\302\303\321" - #"\370\0\37\334\216\333\r6T\3\206\267\2036\1\246\22,\206a,AcX\0" - #"f`\206\32\17\351\20\16\315P\343\241q\306DL\224\266HO\237x\32nn" - #"\305\25\216\306\245\336R\224\336\202[\f" - #"6T\3\274\266\203\26\0353\b\226|" - #"\306b\337\177\357c\350a\265\241\355\177.\371\237J}E\236\v\215z0\0033" - #"\220\35\360]\312V\321\376S\373\257\217" - #"\277\236\275Y\272\340\335\247x\r\257\340" - #"\225\21;\302\254\3062,\233\200\t:\231h(*}.\345H\223\6\246\371\213" - #"\330\a\\e\344?#\17\341!\206\202\325\216\366fG\263\34w\27\250Z\3\200" - #"\311\230\214K\350F\367TL\365\377.9j\343\204s&f\36\357\324\244+\255" - #"\16\310}\0<\337\257=\bG\370\210=\330\327`\r\326\350`\e\17x\377\377" - #"\361\e%\264g\240f\231\301\303\222a" - #"\30\303\32\300\300\t\234\20\356\344\363e" - #"\352Q\217\372\340\3563S\0K&::\272\372\261jl\270\354V\\v4\342" - #",\343\26\2173_\6\226\2111\203\207" - #"%\23\2078\37\275\214\2B\316\32\25" - #"\261\276\212\315f\353\357\357\307\177b\311" - #"\357\226X\337\260\6\272\333U\207\272\354" - #" \326\223|\323\323\323s\22''\367Ln\224\206:k(\216\306c" - #"]\217Y`\231\204IF\333H\370\213y<,\206\251X\342F\334\345$" -) 500 -( - #"\300M\3537=\366\37\217\5\2617o\262\210\273B\fb\360O\270\a\367\fb" - #"\360\362\253\211x\3o\b\324\341\212\200" - #"\231\4\213\341\222\260\35\355\202\n\226\314" - #"\f\314\250C]\0207\326\241\316\224\202" - #"\5\0\257\340[\370\326\363x\376\362+" - #"?\306\275\270\327w\207+\2027\304[" - #"\365\214\4\303\264\206v\264\v\232\204%" - #"3\35\323)\206\345\211\204\337\342\267\v" - #"\261\360(\216\376\35\376\356u\274\216{\260\21\e\2156\213\b\f\363xXS0" - #"\245\27\275\3\30P?T;\332\5=" - #"\227#\223\211\3146\264\271\20\330\222\260" - #"\17}\35\350\b\250\b\272Xd!K\356\b=tl\260\0\1m\244\22<`" - #"\36\301\nEh\34\342\332\321\256~(qcX26\330\246aZ-j\3\272" - #"\253\22\225\271\310\265A\200\\\263\240IBR1\212\235p\26\243\30\35F[C" - #"\4\216y\4\v@\nRZ\321\252~\34\321\5\v@>\362+Q\31\320-e" - #"(\233\207y\32\331C\350\217Xuc\374\304<1,\260\23,\321\227\204\0f" - #"cv\25\252\2\272\245\34\345\v\261P#{\b\3751\345\21n\362\260<\351G" - #"\377I\234\248k\24\0000\v\263\16" - #"\342`@\267\374\r\177\233\2039\32\331" - #"\303\25\246t=\306\b\246\22\254d$" - #"\267\241M\345 \355h\217C\234\210Y" - #"\243\356\24\240\340o\370\233\377\327_\300" - #"\205z\324\317\306l\355L2\212\341\362$V\311:\206\230@\251M%XL<" - #"\254V\264\246@\370Z\34\261\210\rA\210\377y\36\aq0\a9\246\214\270\217" - #"Yy\32\216\t\376+H\260<1\207`\1\230\215\331\376\307\335)\342N\b\201" - #"\331\4\253\5j\353\376\230F\260\362\221" - #"\357\177\334\275\34\345$X\4\377\230" - #"J\260\242\0205\16\343z\241\252\366\253\tr\32d|" - #"l\24\16\357\325N\202E\b\201\251\4\v,V\205\246" -) 500 -( - #"\21,\37\e\205\36\275\332\317\341\\\23" - #"\232\362\220\247\257\201\4\0210f\20,wOA\275`)KB\367\372\212\2U" - #"\34U\310AN\23\232\316\343\374\250W" - #"\356\303\276\2\24\204!L\a\253\bq" - #"\341\241\342\250\31\4\313}\327C\275`\35\305\321T\244\302mK\305c\nQ\b" - #"C\330\\\314\335\203=\243^\3719>_\206e:\230D\b\215\373'\302(\314" - #" X\356\250L\305\352AO\bB\"\21\311\320$\3Y\212\245\273\261{\324\313" - #"va\327u\270N\a{\bB%f\23,\225\36V+Ze\367\312\34\\\207" - #"\353va\227\357k\316\340\314A\34,D\241.\26\21\204*H\260\256\30049" - #"\r2\205(\254B\3259\234\363q\315" - #">\354\233\213\271\3431^7\253\264\303" - #"\4\231\334\204oH\260\256\300d\202\25" - #"\216\3609\230\263\27{}\\\263\e\273\227\216\330RF0L\220\311M\370\306l" - #"\202\225\200\204nt\367\243?\270\333M" - #"\223\323\240\260\367\337\366.\177j\271\217" - #"]N\n`\21\2a6\301\262\302\232\200\204\240\363\335\315'X\177\376\247?/" - #"\376\351b|\223r\345\361\32338S\203\32\252*C\210\202\331\4\v@&2" - #"\217\340Hp\367\232lI\210o\302X#uZ\370\20\37\376\17\374\2171\322\367" - #"\2300\1&\24\254\fd\4-X-h1\323.!\200\bD\334\212[\361\3" - #"\357?}\a\357\334\205\273\364\265\210 " - #"\202\307\204\202\225\216\364\340\4\313\5\327" - #"q\34O@\2s\223\214\345\a\370\1" - #"\376\36\22.\347\373\331\355v\213\305\202" - #"I\370\260\367\303\37\246\374\320@\333\b\" L(XA{X\315hNA\212" - #"\350\245\373\206s\35\256\303 \334\23\262z{{%I\302\255\270#\372\216Sm" - #"\247\2143\215 \2\203\4\3532\rh\310B\26" - #"s{\270\340?\360*^\365|q\r\326`\215\21" -) 500 -( - #"\326\20D\220\220`]\246\tM\231\310dn\17\27\374\21\237\341\263&4)/" - #"8\340\300\2\254\300\n\3\215\"\210@1\241`\331a\267\300r\22'\3\275\321" - #"\314}\217O\342\337\360o\367\340\236A" - #"\f\2\230x\353\304k;\256\305\n|" - #"\313\362\255\224\24S\355\212\22\346\306\204" - #"\202\205`\235,3{X\300\375\270\337" - #"\6\333/\361\313\"\24\215\377\323xG\242\3_A\222\244\226\26\2655Z\tB" - #"7\314)X\301\245b5\242q\32\246" - #"ia\17\17\214\303\270\337\341w\177\304\37\1T\240b1\26\em\21A\4\214" - #"\31v\304\344\363\256V\253U\311\344\16" - #"\302\303r\301\325\201\216t\244+\257\330" - #"l\266\376\376\376\221\246\20\5\273\335\336" - #"\333\333\v\300b\261DGG\367\364\364\30m\21!*\356\237\b\2430\203`\r" - #"\257(\226\216\3642\224\0054H3\232" - #"\223\221\354\236\323\240h\223\305b1\266" - #"h\231\32\344\f\6\371\21\214\255\25I" - #"\210\216\373'\302(\e\314\271$\f\302\3032sN\3A\230\5\22\254!\32\320" - #"`\342\0\26A\230\3s\nV\nR\234p\6Td\246\21\215\246\364\260\242\243" - #"\243\225\232v\224\301@\210\2169\5\313" - #"\nk:\322\353P\347\377-f\25\254\236\236\36\245\217\6e0\20\242cN\301" - #"\2\220\207\274\32\324\370\177=-\t\t" - #"\202\177L+X\271\310\255E\255\237\27" - #"\367\241\257\v]&+,C\20\346\303" - #"\264\202\25\220\207U\213\332\351\230n\205" - #"US\223\b\202P\211\231\5\313\177\17" - #"\253\22\225\371\310\327\324\36\256\240\3562" - #"\204\240\230!q\324+\3230\255\5-}\350\363\247\3{\25\252fc\266\16V" - #"q\202p\371\372\4!cZ\17\313\n" - #"k\32\322\32\320\340\317\305\225\250\34S\202E\20\202bZ\301B a\254" - #"*T\25\240@k{\b\225\230`\365j\202G0\26\36\5\253\261\2611<" -) 500 -( - #"<\334\375\25\207\3031i\322\244\230\230" - #"\230={\366\370?\216\237\e\205\307p,\24\241S0%`C\t}1\374\344" - #"\255zL\360\b\306\302\235`\r\16\16\256[\267\356\342\305\213\312+%%%w" - #"\337}\367\356\335\273w\354\330q\327]" - #"w\355\334\271\323\317\241\374\364\260h=" - #"H\20\242\300\235`=\367\334s\221\221" - #"\221\356\257\254Y\263\346\235w\336\231;" - #"w\356\334\271s\337~\373\355;\356\270c\324Ad\307{\324\215B\371\262*T" - #"1\331\"\364\323\333\327\371\262\2006\4" - #"\375_\260\30\362\260~\302\347\e\21(" - #"\346x\n\346\360U8\245\266\266v\351\322\245\a\16\34HKKS\f\363\250\356" - #"\342\373[\367\27]pM\304D\27F\334\21\223/\373\36\276\267\2+\356\301=" - #"\276/\e\325\370\261s\31\347\346\231\340" - #"2\316\3153\260\340\22G\36\326\340\340" - #"\340\206\r\e~\371\313_\246\246\262\311" - #"8\267\301\346\317\371\347\261\226\204E\20\2#\351HFF\306p\003222\344" - #"\237>\363\3143\313\227/\277t\351\222" - #"\364\315a]\31\17#\207\177\353\v\1776\t\377\6\360\356\b\23\4_\2349s" - #"F{\301\360\2GK\302\224\224\224\266\2666\367W222\232\232\232\374Y\3" - #"\22\0041\26\340hI\330\332\332\352\3567I\222\324\324\324\4 **J\311f" - #"p8\34QQQFZI\20\204q\bp4g\347\316\235\253W\257~\375\365" - #"\327%IZ\277~\275\377i\r\4A\230\fN\227Wyyy55\227\343O" - #"\16\207c\325\252U\0>\372\350\243\305\213\251?\25A\214Q8\25,\202 \210" - #"\341p\24\303\"\b\202\360\r\t\226/" - #"\332\333\333\213\212\212\"##\213\212\273tw\217\0\0\4\333IDAT\212:" - #"::\2146'\0\34\16Gnn\256\307\213b" - #"=\216\303\341\210\211\211\261X,\36gH\305z\212" -) 500 -( - #"\314\314L\3137\270'\30\212\365\24\360v\302\327\220G \301\362EAA\1\0" - #"9\314\237\237/Lr\251\303\341\270\363" - #"\316;\17\35:\344\361\272X\217\263z" - #"\365\352\255[\267J\222\264e\313\269\202)#\326S455I\222400" - #"\260p\341\302\237\376\364\247\312\353b=" - #"\305\360\23\2760\352\21\364O\375\22\205" - #"\256\256\256\210\210\b\345\333\210\210\b\247" - #"\323i\240=\376\263h\321\"\207\303\341" - #"\361\346\n\3678\271\271\271\312\327\312\263" - #"\b\367\0242\356I\321\222\200O!\333\357\376\ee\324#P\320}D\36y\344" - #"\221\360\360\360\247\236zJ\376\366\311'" - #"\237\354\353\353\333\274y\263\261V\371\217" - #"G\206\255\270\217\343t:333\317\236=\va\237\"%%\345\334\271s[" - #"\267n\225\367\270\305z\n\257'|\r{\4\35DQP<\376hx\374I\341" - #"\37\2177W\334\307\331\270q\343\223O>)\177-\356S\224\227\227'&&\226" - #"\224\224HB=\205\274\230}\371\345\227" - #"\245+\177\243\214z\4\1\22G\211\261" - #"\214\303\341x\373\355\267\253\252\252\2146" - #"D-rq\244\325\253W\367\366\366\32" - #"mK\0\310\345\236\356\277\377~\243\r\31\202\202\356#RTT\264i\323&\345" - #"\333M\2336=\364\320C\6\332\243\22" - #"\21\37G\256\335\270}\373\366\251S\247" - #"\312\257\210\370\24\303\21\350)\376\375\337" - #"\377\375\323O?\0357n\234RU-33\23\6>\202\16^\234\240\b\27\31" - #"\365\0\202\a\335w\354\330\221\230\230X^^\356\376\242XO!\357~(\337F" - #"EE\311\337\212\365\24\n\340 \350N" - #"\202\345\213\230\230\230\a\37|\360\300\201" - #"\3\17>\370`LL\214\321\346\4\306\360\277F\2=\216W\265\222\21\350)J" - #"KK\343\343\343\35\16G[[\233\207\265\2=\205\202" - #"\307o\224!\217@KB_TTT\0X\271r%" -) 500 -( - #"\200\312\312J\243\315\t\214\341\211\243\2" - #"=\316}\367\335\327\321\3211o\336<%\353R^\211@\250\247X\262d\311\273" - #"\357\276{\363\3157gee\341Jk\5z\n\5\217\337(C\36\201\322\32\b" - #"\202\20\6\362\260\b\202\20\6\22,\202 \204\201\4\213 \ba \301\"\324r" - #"\3155\327\310\305\254e\32\e\e\231\24" - #"Y\264\333\355^\273\226\20c\31\22," - #"B-\353\326\255\273\347\236{\6\a\a" - #"\361\315\261\376u\353\326\251\0376..\356\2157\336P?\16a&h\227\220P" - #"\213$I7\335t\323\2157\336\370\330c\217=\373\354\263%%%\237|\362\211" - #"\234\30M\20l!\17\213P\213\305b" - #"y\365\325W\177\375\353_\177\370\341\207" - #"O?\375\364+\257\274\342C\255\224\262|\26\213%$$D~\361\352\253\257." - #"//\227\277.//\277\372\352\253\1" - #"(\211W\356\267x\24\363#\306\34\372" - #"\344\247\22\246\347\267\277\375\355\304\211\23" - #"_|\361E\337\227)\307S$\267\314" - #"\351\355\333\267'&&\266\264\264\264\264" - #"\264$$$l\337\276\335\375\247\251\251" - #"\251\317?\377\274\374uii\351\242E\2134y\0B\4\250Z\3\301\206s\347" - #"\316\205\205\205\235;w\316\367e\247N\235\32\36\222_\261bEQQ\321\252U" - #"\253$Iz\350\241\207V\254X\341\376\3237\337|\363\366\333ooll|\342" - #"\211'\226,Y\262o\337>\306\246\23\342@1,\202\1r\215\267-[\266\334" - #"z\353\255\273v\355\32~*H\301\275" - #"\254\240\373\327\227.]\312\310\310\260X" - #",MMM\343\306\215\363\370i{{\373\257\177\375\353\327^{-\"\"B)" - #"\203G\214A(\206E\250eppp\303\206\r\277\374\345/\v\v\v\377\365_" - #"\377u\303\206\r\362\216\241W\334\373x\273\363\263\237" - #"\375,555%%\345\347?\377\271\307\217\n\v" -) 226 -( - #"\v\217\36=Z\\\\|\361\342\305\237\375\354gL\266 \tQ1tAJ\230" - #"\1\367\202\345\227.]\272\361\306\e\237" - #"}\366\331\221.V\n\30\224\226\226*" - #"\277~o\276\371fff\346\361\343\307" - #"\217\37?\236\231\231\371\346\233oJn" - #"1,\245V\247\217\22\16\304\30\201\4\213PKaaacc\243\362mCC" - #"\3035\327\\\343\343\372\322\322\322\310\310" - #"\310\310\310H\271F\270$I\363\347\317/++\223\277.++\233?\177\276t" - #"e\23\n\345\26\367\362R\304\30\204bX\4A\b\3\305\260\b\202\20\6\22," - #"\202 \204\201\4\213 \ba \301\"\bB\30H\260\b\202\20\6\22,\202 " - #"\204\201\4\213 \ba \301\"\bB\30H\260\b\202\20\206\377" - #"\17\274\273\2057#\310\314\v\0\0\0\0IEND\256B`\202" -) 0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" -0 0 22 3 1 #"(" -0 0 14 3 9 #"displayln" -0 0 4 3 1 #" " -0 0 19 3 42 #"\"The new plot library produces this plot:\"" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 22 3 1 #"(" -0 0 14 3 4 #"plot" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 3 #"mix" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 6 #"points" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 3 #"map" -0 0 4 3 1 #" " -0 0 14 3 6 #"vector" -0 0 4 3 1 #" " -0 0 14 3 5 #"times" -0 0 4 3 1 #" " -0 0 14 3 4 #"vals" -0 0 22 3 1 #")" -0 0 4 3 1 #" " -0 0 22 3 5 #"#:sym" -0 0 4 3 1 #" " -0 0 20 3 1 #"'" -0 0 14 3 6 #"square" -0 0 4 3 1 #" " -0 0 22 3 7 #"#:color" -0 0 4 3 1 #" " -0 0 20 3 1 #"'" -0 0 14 3 5 #"black" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 11 #" " -0 0 22 3 1 #"(" -0 0 14 3 10 #"error-bars" -0 0 4 3 1 #" " -0 0 14 3 17 #"experimental-data" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 11 #" " -0 0 22 3 1 #"(" -0 0 14 3 4 #"line" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 19 #"fit-result-function" -0 0 4 3 1 #" " -0 0 14 3 6 #"result" -0 0 22 3 1 #")" -0 0 4 3 1 #" " -0 0 22 3 7 #"#:color" -0 0 4 3 1 #" " -0 0 20 3 1 #"'" -0 0 14 3 5 #"green" -0 0 22 3 2 #"))" -0 0 4 29 1 #"\n" -0 0 4 3 6 #" " -0 0 22 3 7 #"#:x-min" -0 0 4 3 1 #" " -0 0 20 3 2 #"-5" -0 0 4 3 1 #" " -0 0 22 3 7 #"#:x-max" -0 0 4 3 1 #" " -0 0 20 3 2 #"40" -0 0 4 29 1 #"\n" -0 0 4 3 6 #" " -0 0 22 3 7 #"#:y-min" -0 0 4 3 1 #" " -0 0 20 3 3 #"-40" -0 0 4 3 1 #" " -0 0 22 3 7 #"#:y-max" -0 0 4 3 1 #" " -0 0 20 3 2 #"50" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" -0 0 22 3 1 #"(" -0 0 15 3 12 #"match-define" -0 0 4 3 1 #" " -0 0 22 3 1 #"(" -0 0 14 3 4 #"list" -0 0 4 3 1 #" " -0 0 14 3 1 #"a" -0 0 4 3 1 #" " -0 0 14 3 3 #"tau" -0 0 4 3 1 #" " -0 0 14 3 3 #"phi" -0 0 4 3 1 #" " -0 0 14 3 1 #"T" -0 0 4 3 1 #" " -0 0 14 3 6 #"theta0" -0 0 22 3 1 #")" -0 0 4 29 1 #"\n" -0 0 4 3 2 #" " -0 0 22 3 1 #"(" -0 0 14 3 23 #"fit-result-final-params" -0 0 4 3 1 #" " -0 0 14 3 6 #"result" -0 0 22 3 2 #"))" -0 0 4 29 1 #"\n" -0 0 4 29 1 #"\n" -0 0 17 3 86 -( - #";; Because fit seems to randomly fail, we can't have these test case" - #"s (DrDr complains)" -) 0 0 4 29 1 #"\n" -0 0 17 3 2 #";(" -0 0 17 3 7 #"check-=" -0 0 17 3 1 #" " -0 0 17 3 1 #"a" -0 0 17 3 1 #" " -0 0 17 3 9 #"44.5 0.5)" -0 0 4 29 1 #"\n" -0 0 17 3 2 #";(" -0 0 17 3 7 #"check-=" -0 0 17 3 1 #" " -0 0 17 3 3 #"tau" -0 0 17 3 1 #" " -0 0 17 3 9 #"57.5 0.5)" -0 0 4 29 1 #"\n" -0 0 17 3 2 #";(" -0 0 17 3 7 #"check-=" -0 0 17 3 1 #" " -0 0 17 3 3 #"phi" -0 0 17 3 1 #" " -0 0 17 3 11 #"-0.38 0.05)" -0 0 4 29 1 #"\n" -0 0 17 3 2 #";(" -0 0 17 3 7 #"check-=" -0 0 17 3 1 #" " -0 0 17 3 1 #"T" -0 0 17 3 1 #" " -0 0 17 3 9 #"13.1 0.5)" -0 0 4 29 1 #"\n" -0 0 17 3 2 #";(" -0 0 17 3 7 #"check-=" -0 0 17 3 1 #" " -0 0 17 3 15 #"theta0 2.5 0.5)" -0 0 4 29 1 #"\n" -0 0 diff --git a/collects/plot/tests/sqr.png b/collects/plot/tests/sqr.png new file mode 100644 index 0000000000..15de9a7a26 Binary files /dev/null and b/collects/plot/tests/sqr.png differ diff --git a/collects/plot/tests/trig.png b/collects/plot/tests/trig.png new file mode 100644 index 0000000000..e2b219a544 Binary files /dev/null and b/collects/plot/tests/trig.png differ diff --git a/src/Makefile.in b/src/Makefile.in index 5ecbe1076a..a49b16a388 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -39,28 +39,20 @@ all: 3m: cd racket; $(MAKE) 3m $(MAKE) @MAKE_GRACKET@-3m - $(MAKE) @MAKE_FIT@-3m gracket-3m: cd gracket; $(MAKE) 3m -fit-3m: - cd fit; $(MAKE) 3m - no-3m: $(NOOP) cgc: cd racket; $(MAKE) cgc $(MAKE) @MAKE_GRACKET@-cgc - $(MAKE) @MAKE_FIT@-cgc gracket-cgc: cd gracket; $(MAKE) cgc -fit-cgc: - cd fit; $(MAKE) cgc - no-cgc: $(NOOP) @@ -73,8 +65,7 @@ both: SETUP_ARGS = -X "$(DESTDIR)$(collectsdir)" -N "raco setup" -l- setup $(PLT_SETUP_OPTIONS) $(PLT_ISO) @INSTALL_SETUP_FLAGS@ # Pass compile and link flags to `make install' for use by any -# collection-setup actions (currently in "plot") that compile -# and link C code: +# collection-setup actions that compile and link C code: CFLAGS = @CFLAGS@ @COMPFLAGS@ @PREFLAGS@ LDFLAGS = @LDFLAGS@ WITH_ENV_VARS = env CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" @@ -92,7 +83,6 @@ install-common-first: mkdir -p $(ALLDIRINFO) install-common-middle: - $(MAKE) install-@MAKE_FIT@ $(MAKE) @MAKE_COPYTREE@-run $(MAKE) install-@MAKE_GRACKET@-post-collects $(MAKE) lib-finish @@ -100,9 +90,6 @@ install-common-middle: install-common-last: $(MAKE) fix-paths -install-fit: - cd fit; $(MAKE) install - install-no: $(NOOP) diff --git a/src/configure b/src/configure index 19a0a811f6..64a8fefeaa 100755 --- a/src/configure +++ b/src/configure @@ -721,7 +721,6 @@ ICP MRLIBINSTALL LIBFINISH MAKE_GRACKET -MAKE_FIT MAKE_COPYTREE MAKE_FINISH WXPRECOMP @@ -1333,7 +1332,6 @@ Optional Features: --enable-foreign support foreign calls (enabled by default) --enable-places support places (3m only; usually enabled by default) --enable-futures support futures (usually enabled by default) - --enable-plot support plot libraries (enabled by default) --enable-float support single-precision floats (enabled by default) --enable-floatinstead use single-precision by default --enable-racket= use as Racket executable to build Racket @@ -1986,13 +1984,6 @@ if test "${enable_futures+set}" = set; then enableval=$enable_futures; fi -# Check whether --enable-plot was given. -if test "${enable_plot+set}" = set; then - enableval=$enable_plot; -else - enable_plot=yes -fi - # Check whether --enable-float was given. if test "${enable_float+set}" = set; then enableval=$enable_float; @@ -2314,7 +2305,6 @@ show_explicitly_enabled "${enable_xonx}" "Unix style" show_explicitly_enabled "${enable_shared}" "Shared libraries" show_explicitly_disabled "${enable_gracket}" GRacket -show_explicitly_disabled "${enable_plot}" Plot fit library if test "$LIBTOOLPROG" != "" ; then echo "=== Libtool program: $LIBTOOLPROG" @@ -8947,7 +8937,6 @@ LIBS="$LIBS $EXTRALIBS" - mk_needed_dir() @@ -9015,14 +9004,6 @@ fi makefiles="$makefiles foreign/Makefile" ac_configure_args="$ac_configure_args$SUB_CONFIGURE_EXTRAS" -if test -d "${srcdir}/fit" && test "${enable_plot}" = "yes" ; then - makefiles="$makefiles - fit/Makefile" - MAKE_FIT=fit -else - MAKE_FIT=no -fi - if test "${enable_gracket}" = "yes" ; then makefiles="$makefiles gracket/Makefile @@ -9794,7 +9775,6 @@ ICP!$ICP$ac_delim MRLIBINSTALL!$MRLIBINSTALL$ac_delim LIBFINISH!$LIBFINISH$ac_delim MAKE_GRACKET!$MAKE_GRACKET$ac_delim -MAKE_FIT!$MAKE_FIT$ac_delim MAKE_COPYTREE!$MAKE_COPYTREE$ac_delim MAKE_FINISH!$MAKE_FINISH$ac_delim WXPRECOMP!$WXPRECOMP$ac_delim @@ -9832,7 +9812,7 @@ LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 46; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 45; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 diff --git a/src/fit/Makefile.in b/src/fit/Makefile.in deleted file mode 100644 index 85cfbf0643..0000000000 --- a/src/fit/Makefile.in +++ /dev/null @@ -1,37 +0,0 @@ - -srcdir = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ -bindir = @bindir@ -libdir = @libdir@ -libpltdir = @libpltdir@ -collectsdir = @collectsdir@ -builddir = @builddir@ - -ICP=@ICP@ - -CC = @CC@ - -# See ../Makefile about RUN_RACKET_, which -# typically redirects to RUN_THIS_RACKET_: -RUN_THIS_RACKET_CGC = ../racket/racket@CGC@ - -WITH_ENV = env CC="@PLAIN_CC@" CFLAGS="@CFLAGS@ @COMPFLAGS@ @PREFLAGS@" LDFLAGS="@LDFLAGS@" - -FIT_SRCS = $(srcdir)/fit.c $(srcdir)/matrix.c - -XCOLLECTS = # -X ../racket/gc2/xform-collects - -fit-lib: libfit@SO_SUFFIX@ - -3m: - $(MAKE) fit-lib -cgc: - $(MAKE) fit-lib - -libfit@SO_SUFFIX@: - $(WITH_ENV) @RUN_RACKET_CGC@ -c $(srcdir)/build.rkt "libfit" $(FIT_SRCS) - -install: - cd ..; $(ICP) fit/libfit@SO_SUFFIX@ "$(DESTDIR)$(libpltdir)/libfit@SO_SUFFIX@" - diff --git a/src/fit/build.bat b/src/fit/build.bat deleted file mode 100644 index 98186b03d0..0000000000 --- a/src/fit/build.bat +++ /dev/null @@ -1 +0,0 @@ -..\..\racket build.rkt libfit fit.c matrix.c diff --git a/src/fit/build.rkt b/src/fit/build.rkt deleted file mode 100644 index 8bd0b99bb4..0000000000 --- a/src/fit/build.rkt +++ /dev/null @@ -1,32 +0,0 @@ -(module build racket/base - (require racket/path - racket/file - dynext/file - dynext/link - dynext/compile) - - (define-values (libname c-files) - (let ([l (vector->list (current-command-line-arguments))]) - (values (car l) - (cdr l)))) - - (define sys-subpath (system-library-subpath #f)) - - (define so-name (append-extension-suffix libname)) - (parameterize (;; we compile a simple .so, not an extension - [current-standard-link-libraries '()]) - (when (or (not (file-exists? so-name)) - (let ([so-time (file-or-directory-modify-seconds so-name)]) - (for/or ([f c-files]) - ((file-or-directory-modify-seconds f) . > . so-time)))) - (let ([o-files - (for/list ([c-file c-files]) - (let ([o-file (append-object-suffix (path-replace-suffix (file-name-from-path c-file) #""))]) - ;; first #f means not quiet (here and in link-extension) - (compile-extension #f c-file o-file null) - o-file))]) - (let* ([flags (if (string=? "i386-cygwin" (path->string sys-subpath)) - ;; DLL needs every dependence explicit: - '("-lc" "-lm" "-lcygwin" "-lkernel32") - null)]) - (link-extension #f (append o-files flags) so-name)))))) diff --git a/src/fit/dllexport.h b/src/fit/dllexport.h deleted file mode 100644 index b0f4023d2b..0000000000 --- a/src/fit/dllexport.h +++ /dev/null @@ -1,6 +0,0 @@ - -#if (defined(__WIN32__) || defined(WIN32) || defined(_WIN32)) -# define MZ_DLLEXPORT __declspec(dllexport) -#else -# define MZ_DLLEXPORT -#endif diff --git a/src/fit/fit.c b/src/fit/fit.c deleted file mode 100644 index b6f819190d..0000000000 --- a/src/fit/fit.c +++ /dev/null @@ -1,752 +0,0 @@ -/* NOTICE: Change of Copyright Status - * - * The author of this module, Carsten Grammes, has expressed in - * personal email that he has no more interest in this code, and - * doesn't claim any copyright. He has agreed to put this module - * into the public domain. - * - * Lars Hecking 15-02-1999 - */ - -/* - * Nonlinear least squares fit according to the - * Marquardt-Levenberg-algorithm - * - * added as Patch to Gnuplot (v3.2 and higher) - * by Carsten Grammes - * Experimental Physics, University of Saarbruecken, Germany - * - * Internet address: cagr@rz.uni-sb.de - * - * Copyright of this module: 1993, 1998 Carsten Grammes - * - * Permission to use, copy, and distribute this software and its - * documentation for any purpose with or without fee is hereby granted, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. - * - * This software is provided "as is" without express or implied warranty. - * - * 930726: Recoding of the Unix-like raw console I/O routines by: - * Michele Marziani (marziani@ferrara.infn.it) - * drd: start unitialised variables at 1 rather than NEARLY_ZERO - * (fit is more likely to converge if started from 1 than 1e-30 ?) - * - * HBB (Broeker@physik.rwth-aachen.de) : fit didn't calculate the errors - * in the 'physically correct' (:-) way, if a third data column containing - * the errors (or 'uncertainties') of the input data was given. I think - * I've fixed that, but I'm not sure I really understood the M-L-algo well - * enough to get it right. I deduced my change from the final steps of the - * equivalent algorithm for the linear case, which is much easier to - * understand. (I also made some minor, mostly cosmetic changes) - * - * HBB (again): added error checking for negative covar[i][i] values and - * for too many parameters being specified. - * - * drd: allow 3d fitting. Data value is now called fit_z internally, - * ie a 2d fit is z vs x, and a 3d fit is z vs x and y. - * - * Lars Hecking : review update command, for VMS in particular, where - * it is not necessary to rename the old file. - * - * HBB, 971023: lifted fixed limit on number of datapoints, and number - * of parameters. - */ - - -#define FIT_MAIN - -#define NULL 0 - -//#include - - - -#include "matrix.h" -#include "fit.h" -#include -#include -#include - -/* #define STANDARD stderr */ - - -enum marq_res { - OK, ERROR, BETTER, WORSE -}; -typedef enum marq_res marq_res_t; - -#ifdef INFINITY -# undef INFINITY -#endif - -#define INFINITY 1e30 -#define NEARLY_ZERO 1e-30 - - -/* Relative change for derivatives */ -#define DELTA 0.001 - -#define MAX_DATA 2048 -#define MAX_PARAMS 32 -#define MAX_LAMBDA 1e20 -#define MIN_LAMBDA 1e-20 -#define LAMBDA_UP_FACTOR 10 -#define LAMBDA_DOWN_FACTOR 10 - -#define TBOOLEAN int - -# define PLUSMINUS "+/-" - - - -/* HBB 971023: new, allow for dynamic adjustment of these: */ -static UNUSED int max_data; -static UNUSED int max_params; - -static double epsilon = 1e-5; /* convergence limit */ -static int maxiter = 0; /* HBB 970304: maxiter patch */ - -static UNUSED char *FIXED = "# FIXED"; -static UNUSED char *GNUFITLOG = "FIT_LOG"; -static UNUSED char *FITLIMIT = "FIT_LIMIT"; -static UNUSED char *FITSTARTLAMBDA = "FIT_START_LAMBDA"; -static UNUSED char *FITLAMBDAFACTOR = "FIT_LAMBDA_FACTOR"; -static UNUSED char *FITMAXITER = "FIT_MAXITER"; /* HBB 970304: maxiter patch */ -static UNUSED char *FITSCRIPT = "FIT_SCRIPT"; -static UNUSED char *DEFAULT_CMD = "replot"; /* if no fitscript spec. */ - - -static int num_data, num_params; -static UNUSED int columns; -static double *fit_x; -static double *fit_y; -static double *fit_z ; -static double *err_data; -static double *a; - - -/* static fixstr * par_name; */ - -static double startup_lambda = 0; -static double lambda_down_factor = LAMBDA_DOWN_FACTOR; -static double lambda_up_factor = LAMBDA_UP_FACTOR; - - -static void * current_fun; - - -/***************************************************************** - internal vars to store results of fit -*****************************************************************/ - -double rms = 0; -double varience = 0; -double *asym_error; -double *asym_error_percent; - -MZ_DLLEXPORT -double get_rms() -{return rms;} - -MZ_DLLEXPORT -double get_varience() -{return varience;} - -MZ_DLLEXPORT -double * get_asym_error() -{return asym_error;} - -MZ_DLLEXPORT -double * get_asym_error_percent() -{return asym_error_percent;} - - -/***************************************************************** - internal Prototypes -*****************************************************************/ - -/*static void printmatrix __PROTO((double **C, int m, int n)); */ -static UNUSED void print_matrix_and_vectors (double **C, double *d, double *r, int m, int n); -static marq_res_t marquardt (double a[], double **alpha, double *chisq, - double *lambda); -static TBOOLEAN analyze (double a[], double **alpha, double beta[], - double *chisq); -static void calculate (double *zfunc, double **dzda, double a[]); -static void call_scheme (double *par, double *data); - -static TBOOLEAN regress (double a[]); -//static void show_fit (int i, double chisq, double last_chisq, double *a, -// double lambda, FILE * device); - - -/***************************************************************** - New utility routine: print a matrix (for debugging the alg.) -*****************************************************************/ -static UNUSED void printmatrix(C, m, n) -double **C; -int m, n; -{ - int i, j; - - for (i = 0; i < m; i++) { - for (j = 0; j < n - 1; j++); - /* Dblf2("%.8g |", C[i][j]); */ - /* Dblf2("%.8g\n", C[i][j]); */ - } - /* Dblf("\n"); */ -} - -/************************************************************************** - Yet another debugging aid: print matrix, with diff. and residue vector -**************************************************************************/ -static UNUSED void print_matrix_and_vectors(C, d, r, m, n) -double **C; -double *d, *r; -int m, n; -{ - int i, j; - - for (i = 0; i < m; i++) { - for (j = 0; j < n; j++); - /* Dblf2("%8g ", C[i][j]); */ - /* Dblf3("| %8g | %8g\n", d[i], r[i]); */ - } - /* Dblf("\n"); */ -} - - -/***************************************************************** - Marquardt's nonlinear least squares fit -*****************************************************************/ -static marq_res_t marquardt(a, C, chisq, lambda) -double a[]; -double **C; -double *chisq; -double *lambda; -{ - int i, j; - static double *da = 0, /* delta-step of the parameter */ - *temp_a = 0, /* temptative new params set */ - *d = 0, *tmp_d = 0, **tmp_C = 0, *residues = 0; - double tmp_chisq; - - /* Initialization when lambda == -1 */ - - if (*lambda == -1) { /* Get first chi-square check */ - TBOOLEAN analyze_ret; - - temp_a = vec(num_params); - d = vec(num_data + num_params); - tmp_d = vec(num_data + num_params); - da = vec(num_params); - residues = vec(num_data + num_params); - tmp_C = matr(num_data + num_params, num_params); - - analyze_ret = analyze(a, C, d, chisq); - - /* Calculate a useful startup value for lambda, as given by Schwarz */ - /* FIXME: this is doesn't turn out to be much better, really... */ - if (startup_lambda != 0) - *lambda = startup_lambda; - else { - *lambda = 0; - for (i = 0; i < num_data; i++) - for (j = 0; j < num_params; j++) - *lambda += C[i][j] * C[i][j]; - *lambda = sqrt(*lambda / num_data / num_params); - } - - /* Fill in the lower square part of C (the diagonal is filled in on - each iteration, see below) */ - for (i = 0; i < num_params; i++) - for (j = 0; j < i; j++) - C[num_data + i][j] = 0, C[num_data + j][i] = 0; - /* printmatrix(C, num_data+num_params, num_params); */ - return analyze_ret ? OK : ERROR; - } - /* once converged, free dynamic allocated vars */ - - if (*lambda == -2) { - return OK; - } - /* Givens calculates in-place, so make working copies of C and d */ - - for (j = 0; j < num_data + num_params; j++) - memcpy(tmp_C[j], C[j], num_params * sizeof(double)); - memcpy(tmp_d, d, num_data * sizeof(double)); - - /* fill in additional parts of tmp_C, tmp_d */ - - for (i = 0; i < num_params; i++) { - /* fill in low diag. of tmp_C ... */ - tmp_C[num_data + i][i] = *lambda; - /* ... and low part of tmp_d */ - tmp_d[num_data + i] = 0; - } - /* printmatrix(tmp_C, num_data+num_params, num_params); */ - - /* FIXME: residues[] isn't used at all. Why? Should it be used? */ - - Givens(tmp_C, tmp_d, da, residues, num_params + num_data, num_params, 1); - /*print_matrix_and_vectors (tmp_C, tmp_d, residues, - num_params+num_data, num_params); */ - - /* check if trial did ameliorate sum of squares */ - - for (j = 0; j < num_params; j++) - temp_a[j] = a[j] + da[j]; - - if (!analyze(temp_a, tmp_C, tmp_d, &tmp_chisq)) { - /* FIXME: will never be reached: always returns TRUE */ - return ERROR; - } - - if (tmp_chisq < *chisq) { /* Success, accept new solution */ - if (*lambda > MIN_LAMBDA) { - /* (void) putc('/', stderr); */ - *lambda /= lambda_down_factor; - } - *chisq = tmp_chisq; - for (j = 0; j < num_data; j++) { - memcpy(C[j], tmp_C[j], num_params * sizeof(double)); - d[j] = tmp_d[j]; - } - for (j = 0; j < num_params; j++) - a[j] = temp_a[j]; - return BETTER; - } else { /* failure, increase lambda and return */ - /* (void) putc('*', stderr); */ - *lambda *= lambda_up_factor; - return WORSE; - } -} - - -/* FIXME: in the new code, this function doesn't really do enough to be - * useful. Maybe it ought to be deleted, i.e. integrated with - * calculate() ? - */ -/***************************************************************** - compute chi-square and numeric derivations -*****************************************************************/ -static TBOOLEAN analyze(a, C, d, chisq) -double a[]; -double **C; -double d[]; -double *chisq; -{ -/* - * used by marquardt to evaluate the linearized fitting matrix C - * and vector d, fills in only the top part of C and d - * I don't use a temporary array zfunc[] any more. Just use - * d[] instead. - */ - int i, j; - - *chisq = 0; - calculate(d, C, a); - - for (i = 0; i < num_data; i++) { - /* note: order reversed, as used by Schwarz */ - d[i] = (d[i] - fit_z[i]) / err_data[i]; - *chisq += d[i] * d[i]; - for (j = 0; j < num_params; j++) - C[i][j] /= err_data[i]; - } - /* FIXME: why return a value that is always TRUE ? */ - return 1; -} - - -/* To use the more exact, but slower two-side formula, activate the - following line: */ - -#define TWO_SIDE_DIFFERENTIATION - -/***************************************************************** - compute function values and partial derivatives of chi-square -*****************************************************************/ -static void calculate(zfunc, dzda, a) -double *zfunc; -double **dzda; -double a[]; -{ - int k, p; - double tmp_a; - double *tmp_high, *tmp_pars; -#ifdef TWO_SIDE_DIFFERENTIATION - double *tmp_low; -#endif - - tmp_high = vec(num_data); /* numeric derivations */ -#ifdef TWO_SIDE_DIFFERENTIATION - tmp_low = vec(num_data); -#endif - tmp_pars = vec(num_params); - - /* first function values */ - - call_scheme(a, zfunc); - - /* then derivatives */ - - for (p = 0; p < num_params; p++) - tmp_pars[p] = a[p]; - for (p = 0; p < num_params; p++) { - tmp_a = fabs(a[p]) < NEARLY_ZERO ? NEARLY_ZERO : a[p]; - tmp_pars[p] = tmp_a * (1 + DELTA); - call_scheme(tmp_pars, tmp_high); -#ifdef TWO_SIDE_DIFFERENTIATION - tmp_pars[p] = tmp_a * (1 - DELTA); - call_scheme(tmp_pars, tmp_low); -#endif - for (k = 0; k < num_data; k++) -#ifdef TWO_SIDE_DIFFERENTIATION - dzda[k][p] = (tmp_high[k] - tmp_low[k]) / (2 * tmp_a * DELTA); -#else - dzda[k][p] = (tmp_high[k] - zfunc[k]) / (tmp_a * DELTA); -#endif - tmp_pars[p] = a[p]; - } - -} - - -/***************************************************************** - evaluate the scheme function -*****************************************************************/ -static void call_scheme(par, data) -double *par; -double *data; -{ - int rators = 2 + num_params; - double * rands = - (double *) malloc(rators * sizeof(double)); - - int i; - - /* set up the constant params */ - for(i = 0 ; i< num_params; i++) { - rands[i+2] = par[i]; - } - - /* now calculate the function at the existing points */ - for (i = 0; i < num_data; i++) { - rands[0] = fit_x[i]; - rands[1] = fit_y[i]; - - data[i] = ((double (*) (int, double *) )current_fun) // ouch! - (rators, rands); - } - - free(rands); - -} - -/* /\***************************************************************** */ -/* evaluate the scheme function */ -/* *****************************************************************\/ */ -/* static void call_scheme(par, data) */ -/* double *par; */ -/* double *data; */ -/* { */ -/* int rators = 2 + num_params; */ -/* Scheme_Object ** rands = */ -/* scheme_malloc(rators * sizeof(Scheme_Object)); */ - -/* int i; */ - -/* /\* set up the constant params *\/ */ -/* for(i = 0 ; i< num_params; i++) { */ -/* rands[i+2] = scheme_make_double(par[i]); */ -/* } */ - -/* /\* now calculate the function at the existing points *\/ */ -/* for (i = 0; i < num_data; i++) { */ -/* rands[0] = scheme_make_double(fit_x[i]); */ -/* rands[1] = scheme_make_double(fit_y[i]); */ - -/* data[i] = scheme_real_to_double(scheme_apply(current_fun, rators, rands)); */ -/* } */ -/* } */ - -/***************************************************************** - Frame routine for the marquardt-fit -*****************************************************************/ -static TBOOLEAN regress(a) - double a[]; -{ - double **covar, *dpar, **C, chisq, last_chisq, lambda; - int iter, i, j; - marq_res_t res; - - chisq = last_chisq = INFINITY; - C = matr(num_data + num_params, num_params); - lambda = -1; /* use sign as flag */ - iter = 0; /* iteration counter */ - - /* Initialize internal variables and 1st chi-square check */ - - if ((res = marquardt(a, C, &chisq, &lambda)) == ERROR) - return 0; /* an error occurded */ - - res = BETTER; - - /* show_fit(iter, chisq, chisq, a, lambda, STANDARD); */ - - /* MAIN FIT LOOP: do the regression iteration */ - - do { - if (res == BETTER) { - iter++; - last_chisq = chisq; - } - if ((res = marquardt(a, C, &chisq, &lambda)) == BETTER) - {}; - /* show_fit(iter, chisq, last_chisq, a, lambda, STANDARD); */ - } while ((res != ERROR) - && (lambda < MAX_LAMBDA) - && ((maxiter == 0) || (iter <= maxiter)) - && (res == WORSE - || ((chisq > NEARLY_ZERO) - ? ((last_chisq - chisq) / chisq) - : (last_chisq - chisq)) > epsilon - ) - ); - - /* fit done */ - - /* save all the info that was otherwise printed out */ - - rms = sqrt(chisq / (num_data - num_params)); - varience = chisq / (num_data - num_params); - asym_error = malloc (num_params * sizeof (double)); - asym_error_percent = malloc (num_params * sizeof (double)) ; - - /* don't know what the following code does... */ - - /* compute covar[][] directly from C */ - Givens(C, 0, 0, 0, num_data, num_params, 0); - covar = C + num_data; - Invert_RtR(C, covar, num_params); - - dpar = vec(num_params); - for (i = 0; i < num_params; i++) { - /* FIXME: can this still happen ? */ - if (covar[i][i] <= 0.0) /* HBB: prevent floating point exception later on */ - return 0; /* Eex("Calculation error: non-positive diagonal element in covar. matrix"); */ - dpar[i] = sqrt(covar[i][i]); - } - - /* transform covariances into correlations */ - for (i = 0; i < num_params; i++) { - /* only lower triangle needs to be handled */ - for (j = 0; j <= i; j++) - covar[i][j] /= dpar[i] * dpar[j]; - } - - /* scale parameter errors based on chisq */ - chisq = sqrt(chisq / (num_data - num_params)); - for (i = 0; i < num_params; i++) - dpar[i] *= chisq; - - for(i = 0; i< num_params; i++) - { - double temp = - (fabs(a[i]) < NEARLY_ZERO) ? 0.0 : fabs(100.0 * dpar[i] / a[i]); - asym_error[i] = dpar[i]; - asym_error_percent[i] = temp; - } - - return 1; - - - /******** CRAP LEFT OVER FROM GNUPLOT ***********/ - - /* HBB 970304: the maxiter patch: */ - /* - if ((maxiter > 0) && (iter > maxiter)) { - Dblf2("\nMaximum iteration count (%d) reached. Fit stopped.\n", maxiter); - } else { - Dblf2("\nAfter %d iterations the fit converged.\n", iter); - } - - Dblf2("final sum of squares of residuals : %g\n", chisq); - if (chisq > NEARLY_ZERO) { - Dblf2("rel. change during last iteration : %g\n\n", (chisq - last_chisq) / chisq); - } else { - Dblf2("abs. change during last iteration : %g\n\n", (chisq - last_chisq)); - } - - if (res == ERROR) - // Eex("FIT: error occurred during fit"); - */ - /* compute errors in the parameters */ - - /* if (num_data == num_params) { */ -/* int i; */ - -/* Dblf("\nExactly as many data points as there are parameters.\n"); */ -/* Dblf("In this degenerate case, all errors are zero by definition.\n\n"); */ -/* Dblf("Final set of parameters \n"); */ -/* Dblf("======================= \n\n"); */ -/* for (i = 0; i < num_params; i++) */ -/* Dblf3("%-15.15s = %-15g\n", par_name[i], a[i]); */ -/* } else if (chisq < NEARLY_ZERO) { */ -/* int i; */ - -/* Dblf("\nHmmmm.... Sum of squared residuals is zero. Can't compute errors.\n\n"); */ -/* Dblf("Final set of parameters \n"); */ -/* Dblf("======================= \n\n"); */ -/* for (i = 0; i < num_params; i++) */ -/* Dblf3("%-15.15s = %-15g\n", par_name[i], a[i]); */ -/* } else { */ -/* Dblf2("degrees of freedom (ndf) : %d\n", num_data - num_params); */ -/* Dblf2("rms of residuals (stdfit) = sqrt(WSSR/ndf) : %g\n", sqrt(chisq / (num_data - num_params))); */ -/* Dblf2("variance of residuals (reduced chisquare) = WSSR/ndf : %g\n\n", chisq / (num_data - num_params)); */ - -/* /\* get covariance-, Korrelations- and Kurvature-Matrix *\/ */ -/* /\* and errors in the parameters *\/ */ - -/* /\* compute covar[][] directly from C *\/ */ -/* Givens(C, 0, 0, 0, num_data, num_params, 0); */ -/* /\*printmatrix(C, num_params, num_params); *\/ */ - -/* /\* Use lower square of C for covar *\/ */ -/* covar = C + num_data; */ -/* Invert_RtR(C, covar, num_params); */ -/* /\*printmatrix(covar, num_params, num_params); *\/ */ - -/* /\* calculate unscaled parameter errors in dpar[]: *\/ */ -/* dpar = vec(num_params); */ -/* for (i = 0; i < num_params; i++) { */ -/* /\* FIXME: can this still happen ? *\/ */ -/* if (covar[i][i] <= 0.0) /\* HBB: prevent floating point exception later on *\/ */ -/* Eex("Calculation error: non-positive diagonal element in covar. matrix"); */ -/* dpar[i] = sqrt(covar[i][i]); */ -/* } */ - -/* /\* transform covariances into correlations *\/ */ -/* for (i = 0; i < num_params; i++) { */ -/* /\* only lower triangle needs to be handled *\/ */ -/* for (j = 0; j <= i; j++) */ -/* covar[i][j] /= dpar[i] * dpar[j]; */ -/* } */ - -/* /\* scale parameter errors based on chisq *\/ */ -/* chisq = sqrt(chisq / (num_data - num_params)); */ -/* for (i = 0; i < num_params; i++) */ -/* dpar[i] *= chisq; */ - -/* Dblf("Final set of parameters Asymptotic Standard Error\n"); */ -/* Dblf("======================= ==========================\n\n"); */ - -/* for (i = 0; i < num_params; i++) { */ -/* double temp = */ -/* (fabs(a[i]) < NEARLY_ZERO) ? 0.0 : fabs(100.0 * dpar[i] / a[i]); */ -/* Dblf6("%-15.15s = %-15g %-3.3s %-12.4g (%.4g%%)\n", */ -/* par_name[i], a[i], PLUSMINUS, dpar[i], temp); */ -/* } */ - -/* Dblf("\n\ncorrelation matrix of the fit parameters:\n\n"); */ -/* Dblf(" "); */ - -/* for (j = 0; j < num_params; j++) */ -/* Dblf2("%-6.6s ", par_name[j]); */ - -/* Dblf("\n"); */ -/* for (i = 0; i < num_params; i++) { */ -/* Dblf2("%-15.15s", par_name[i]); */ -/* for (j = 0; j <= i; j++) { */ -/* /\* Only print lower triangle of symmetric matrix *\/ */ -/* Dblf2("%6.3f ", covar[i][j]); */ -/* } */ -/* Dblf("\n"); */ -/* } */ - -/* free(dpar); */ -/* } */ - - return 1; -} - - -/***************************************************************** - display actual state of the fit -*****************************************************************/ -/* static void show_fit(i, chisq, last_chisq, a, lambda, device) */ -/* int i; */ -/* double chisq; */ -/* double last_chisq; */ -/* double *a; */ -/* double lambda; */ -/* FILE *device; */ -//{ - /* - int k; - - fprintf(device, "\n\n\ -Iteration %d\n\ -WSSR : %-15g delta(WSSR)/WSSR : %g\n\ -delta(WSSR) : %-15g limit for stopping : %g\n\ -lambda : %g\n\n%s parameter values\n\n", - i, chisq, chisq > NEARLY_ZERO ? (chisq - last_chisq) / chisq : 0.0, - chisq - last_chisq, epsilon, lambda, - (i > 0 ? "resultant" : "initial set of free")); - for (k = 0; k < num_params; k++) - fprintf(device, "%-15.15s = %g\n", par_name[k], a[k]); - */ -//} - - - - - - -/***************************************************************** - Interface to scheme -*****************************************************************/ -MZ_DLLEXPORT -double * do_fit(void * function, - int n_values, - double * x_values, - double * y_values, - double * z_values, - double * errors, - int n_parameters, - double * parameters) { - - /* reset lambda and other parameters if desired */ - int i; - current_fun = function; - - num_data = n_values; - fit_x = x_values; - fit_y = y_values; - fit_z = z_values; /* value is stored in z */ - err_data = errors; - - a = parameters; - num_params = n_parameters; - - /* redim_vec(&a, num_params); */ - /* par_name = (fixstr *) gp_realloc(par_name, (num_params + 1) * sizeof(fixstr), "fit param"); */ - - /* avoid parameters being equal to zero */ - for (i = 0; i < num_params; i++) { - if (a[i] == 0) { - a[i] = NEARLY_ZERO; - } - } - - if(regress(a)) { - gc_cleanup(); - return a; - } - else { /* something went wrong */ - gc_cleanup(); - return NULL; - } -} diff --git a/src/fit/fit.h b/src/fit/fit.h deleted file mode 100644 index 2bdf72c2ee..0000000000 --- a/src/fit/fit.h +++ /dev/null @@ -1,62 +0,0 @@ -/* $Id: fit.h,v 1.5 2005/03/15 23:19:40 eli Exp $ */ - -/* GNUPLOT - fit.h */ - -/* NOTICE: Change of Copyright Status - * - * The author of this module, Carsten Grammes, has expressed in - * personal email that he has no more interest in this code, and - * doesn't claim any copyright. He has agreed to put this module - * into the public domain. - * - * Lars Hecking 15-02-1999 - */ - -/* - * Header file: public functions in fit.c - * - * - * Copyright of this module: Carsten Grammes, 1993 - * Experimental Physics, University of Saarbruecken, Germany - * - * Internet address: cagr@rz.uni-sb.de - * - * Permission to use, copy, and distribute this software and its - * documentation for any purpose with or without fee is hereby granted, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. - * - * This software is provided "as is" without express or implied warranty. - */ - -#include "dllexport.h" - -#ifdef __GNUC__ -# define UNUSED __attribute__((unused)) -#else -# define UNUSED -#endif - -MZ_DLLEXPORT -double * do_fit(void * function, - int n_values, - double * x_values, - double * y_values, - double * z_values, - double * errors, - int n_parameters, - double * parameters); - - -MZ_DLLEXPORT -double get_rms(); - -MZ_DLLEXPORT -double get_varience(); - -MZ_DLLEXPORT -double * get_asym_error(); - -MZ_DLLEXPORT -double * get_asym_error_percent(); diff --git a/src/fit/matrix.c b/src/fit/matrix.c deleted file mode 100644 index 76015775db..0000000000 --- a/src/fit/matrix.c +++ /dev/null @@ -1,315 +0,0 @@ -/* NOTICE: Change of Copyright Status - * - * The author of this module, Carsten Grammes, has expressed in - * personal email that he has no more interest in this code, and - * doesn't claim any copyright. He has agreed to put this module - * into the public domain. - * - * Lars Hecking 15-02-1999 - */ - -/* - * Matrix algebra, part of - * - * Nonlinear least squares fit according to the - * Marquardt-Levenberg-algorithm - * - * added as Patch to Gnuplot (v3.2 and higher) - * by Carsten Grammes - * Experimental Physics, University of Saarbruecken, Germany - * - * Internet address: cagr@rz.uni-sb.de - * - * Copyright of this module: Carsten Grammes, 1993 - * - * Permission to use, copy, and distribute this software and its - * documentation for any purpose with or without fee is hereby granted, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. - * - * This software is provided "as is" without express or implied warranty. - */ - -#define NULL 0 -#define null 0 - -#include "fit.h" -#include "matrix.h" -#include -#include - -// create a simple gc malloc... -typedef struct Node { - struct Node * next; - void * ptr; -} Node; - -Node * head = null; - -void * my_gc_malloc(int size) { - void * ptr = malloc(size); - Node * n = (Node *)malloc(sizeof (Node)); - n->ptr = ptr; - n->next = head; - head = n; - return ptr; -} - -void gc_cleanup(){ - while(head) { - Node * current = head; - head = current->next; - free(current->ptr); - free(current); - } -} - - - -/*****************************************************************/ - -#define Swap(a,b) {double temp = (a); (a) = (b); (b) = temp;} -#define WINZIG 1e-30 - - -/***************************************************************** - internal prototypes -*****************************************************************/ - -static int fsign (double x); - -/***************************************************************** - first straightforward vector and matrix allocation functions -*****************************************************************/ -MZ_DLLEXPORT -double *vec (n) -int n; -{ - /* allocates a double vector with n elements */ - double *dp; - if( n < 1 ) - return (double *) NULL; - dp = (double *) my_gc_malloc (n * sizeof(double)); - return dp; -} - - -MZ_DLLEXPORT -double **matr (rows, cols) -int rows; -int cols; -{ - /* allocates a double matrix */ - - register int i; - register double **m; - - if ( rows < 1 || cols < 1 ) - return NULL; - m = (double **) my_gc_malloc (rows * sizeof(double *)); - m[0] = (double *) my_gc_malloc (rows * cols * sizeof(double)); - for ( i = 1; i0 ? 1 : (x < 0) ? -1 : 0) ; -} - -/***************************************************************** - - Solve least squares Problem C*x+d = r, |r| = min!, by Given rotations - (QR-decomposition). Direct implementation of the algorithm - presented in H.R.Schwarz: Numerische Mathematik, 'equation' - number (7.33) - - If 'd == NULL', d is not accesed: the routine just computes the QR - decomposition of C and exits. - - If 'want_r == 0', r is not rotated back (\hat{r} is returned - instead). - -*****************************************************************/ - -MZ_DLLEXPORT -void Givens (C, d, x, r, N, n, want_r) -double **C; -double *d; -double *x; -double *r; -int N; -int n; -int want_r; -{ - int i, j, k; - double w, gamma, sigma, rho, temp; - double epsilon = 1e-5; /* FIXME (?)*/ - -/* - * First, construct QR decomposition of C, by 'rotating away' - * all elements of C below the diagonal. The rotations are - * stored in place as Givens coefficients rho. - * Vector d is also rotated in this same turn, if it exists - */ - for (j = 0; j= 0; i--) { /* solve R*x+d = 0, by backsubstitution */ - double s = d[i]; - r[i] = 0; /* ... and also set r[i] = 0 for i= 0; j--) - for (i = N-1; i >= 0; i--) { - if ((rho = C[i][j]) == 1) { /* reconstruct gamma, sigma from stored rho */ - gamma = 0; - sigma = 1; - } else if (fabs(rho)<1) { - sigma = rho; - gamma = sqrt(1-sigma*sigma); - } else { - gamma = 1/fabs(rho); - sigma = fsign(rho)*sqrt(1-gamma*gamma); - } - temp = gamma*r[j] + sigma*r[i]; /* rotate back indices (i,j) */ - r[i] = -sigma*r[j] + gamma*r[i]; - r[j] = temp; - } -} - - -/* Given a triangular Matrix R, compute (R^T * R)^(-1), by forward - * then back substitution - * - * R, I are n x n Matrices, I is for the result. Both must already be - * allocated. - * - * Will only calculate the lower triangle of I, as it is symmetric - */ - -MZ_DLLEXPORT -void Invert_RtR ( R, I, n) -double **R; -double **I; -int n; -{ - int i, j, k; - - /* fill in the I matrix, and check R for regularity : */ - - for (i = 0; i= k; i--) { /* don't compute upper triangle of A */ - double s = I[i][k]; - for (j = i+1; j