diff --git a/news/cluster-mining.rst b/news/cluster-mining.rst new file mode 100644 index 0000000..4c245eb --- /dev/null +++ b/news/cluster-mining.rst @@ -0,0 +1,6 @@ +**Added:** + +* Add tools to generate bounded libraries of finite metallic clusters + using ASE and screen them against experimental PDFs through the MCP + server, reusing the existing ``RefinementSession`` infrastructure + for individual refinements. diff --git a/requirements/conda.txt b/requirements/conda.txt index 38287db..a3763d5 100644 --- a/requirements/conda.txt +++ b/requirements/conda.txt @@ -8,3 +8,4 @@ diffpy.srreal diffpy.structure networkx mcp[cli] +ase diff --git a/requirements/pip.txt b/requirements/pip.txt index e69de29..87ceeff 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -0,0 +1 @@ +ase diff --git a/src/diffpy/apps/parametric_refinement/refinement_server.py b/src/diffpy/apps/parametric_refinement/refinement_server.py index 4ba0f12..a033f8d 100644 --- a/src/diffpy/apps/parametric_refinement/refinement_server.py +++ b/src/diffpy/apps/parametric_refinement/refinement_server.py @@ -2,7 +2,7 @@ import json import logging from functools import wraps -from typing import Annotated, Literal +from typing import Annotated, Any, Literal from mcp.server import MCPServer from mcp.server.mcpserver.exceptions import ToolError @@ -848,5 +848,114 @@ async def list_running_jobs() -> list[dict]: return session.list_running_jobs() +# Cluster screening tools use an in-memory library specification. +# No structures or cross-call session state are persisted. +@mcp.tool() +@tool_errors +async def generate_cluster_library( + element: str, + min_atoms: int, + max_atoms: int, + max_clusters: int = 20, + candidate_specs: list[dict] | None = None, + motif_ranges: dict | None = None, + lattice_constant: float | None = None, +) -> dict[str, Any]: + """Preview a small ASE cluster library without writing XYZ files. + + Pass exactly one of candidate_specs (individual builder + combinations) or motif_ranges (small Cartesian-product grids). The + maximum number of requested combinations is enforced before + generation. + """ + from diffpy.apps.screening.cluster import ( + generate_cluster_library as build_library, + ) + + library = build_library( + element, + min_atoms=min_atoms, + max_atoms=max_atoms, + max_clusters=max_clusters, + candidate_specs=candidate_specs, + motif_ranges=motif_ranges, + lattice_constant=lattice_constant, + ) + # The MCP response is JSON only. ASE Atoms stay local to Python. + return { + "library_spec": { + "element": library["element"], + "min_atoms": library["min_atoms"], + "max_atoms": library["max_atoms"], + "max_clusters": library["max_clusters"], + "lattice_constant": library["lattice_constant_angstrom"], + "candidate_specs": [ + {"motif": item["motif"], **item["parameters"]} + for item in library["requested_specs"] + ], + }, + "ase_version": library["ase_version"], + "models": [ + {key: value for key, value in item.items() if key != "atoms"} + for item in library["models"] + ], + "skipped": library["skipped"], + } + + +@mcp.tool() +@tool_errors +async def screen_cluster_library( + preview: dict, + pdf_path: str, + refinement: dict, +) -> dict[str, Any]: + """Refine candidates from a validated library preview, then rank by + Rw. + + The candidates are reconstructed in memory from the preview's exact + ASE builder parameters. No XYZ files or persistent library state are + required. The same single-stage refinement is used for every model. + """ + from diffpy.apps.screening.cluster import ( + generate_cluster_library as build_library, + ) + from diffpy.apps.screening.cluster_screen import ( + screen_cluster_library as run_screen, + ) + + if not isinstance(preview, dict): + raise ValueError("preview must be a library preview dictionary.") + spec = preview.get("library_spec") + if not isinstance(spec, dict): + raise ValueError( + "The preview has no library_spec. " + "Call generate_cluster_library first." + ) + library = build_library(**spec) + actual_models = [ + {key: value for key, value in item.items() if key != "atoms"} + for item in library["models"] + ] + if ( + preview.get("ase_version") != library["ase_version"] + or preview.get("models") != actual_models + or preview.get("skipped") != library["skipped"] + ): + raise ValueError( + "The preview no longer matches the generated structures. " + "Generate a new library preview before screening." + ) + result = run_screen( + library, + pdf_path, + refinement, + max_clusters=spec["max_clusters"], + ) + result["library_spec"] = spec + result["ase_version"] = library["ase_version"] + return result + + if __name__ == "__main__": mcp.run() diff --git a/src/diffpy/apps/screening/__init__.py b/src/diffpy/apps/screening/__init__.py new file mode 100644 index 0000000..daf87a0 --- /dev/null +++ b/src/diffpy/apps/screening/__init__.py @@ -0,0 +1 @@ +"""Reusable structure-screening operations for DiffPy applications.""" diff --git a/src/diffpy/apps/screening/cluster.py b/src/diffpy/apps/screening/cluster.py new file mode 100644 index 0000000..a9b1229 --- /dev/null +++ b/src/diffpy/apps/screening/cluster.py @@ -0,0 +1,395 @@ +"""Build small, explicitly selected libraries of finite metal clusters. + +This module generates ASE ``Atoms`` objects in memory, with reproducible +builder metadata. It does not decide how to sample a structural search +space, perform PDF refinements, or write structure files. +""" + +from __future__ import annotations + +import itertools +import math +from numbers import Real + +from ase import __version__ as ase_version +from ase.cluster.decahedron import Decahedron +from ase.cluster.icosahedron import Icosahedron +from ase.cluster.octahedron import Octahedron +from ase.data import atomic_numbers, reference_states + +# Shared definitions + +_MOTIF_FIELDS = { + "ico": ("noshells",), + "oct": ("length", "cutoff"), + "deca": ("p", "q", "r"), +} + + +# Main cluster-generation function + + +def generate_cluster_library( + element: str, + *, + min_atoms: int, + max_atoms: int, + max_clusters: int = 20, + candidate_specs: list[dict] | None = None, + motif_ranges: dict | None = None, + lattice_constant: float | None = None, +) -> dict: + """Generate a strictly capped, in-memory library of ASE clusters. + + Parameters + ---------- + element : str + The chemical symbol of the monatomic metal, e.g. ``"Pd"``. + min_atoms : int + The inclusive lower atom-count limit for accepted structures. + max_atoms : int + The inclusive upper atom-count limit for accepted structures. + max_clusters : int, optional + The maximum permitted number of candidate builder combinations. + This is a safety budget, not a sampling strategy; default 20. + candidate_specs : list[dict], optional + The explicitly selected builders, e.g. + ``[{"motif": "deca", "p": 5, "q": 1, "r": 0}]``. + motif_ranges : dict, optional + The per-motif ASE integer grids, e.g. + ``{"ico": {"noshells": [2, 3]}}``. Their Cartesian-product + size must fit within ``max_clusters``. + lattice_constant : float, optional + The reference fcc lattice constant in angstroms; uses the ASE + reference for fcc elements when omitted. + + Returns + ------- + dict + The ``models`` list of ASE ``Atoms`` and corresponding metadata, + ``skipped`` combinations with reasons, and the exact requested + specifications. These Python objects are not directly MCP/JSON + serializable; the MCP wrapper returns a metadata-only preview + and regenerates the structures when screening. + + Notes + ----- + This function does not refine, rank, write XYZ files, or choose a + morphology-aware sampling strategy. The caller or agent skill is + responsible for supplying a sparse, scientifically motivated candidate + selection. A cap on the *number* of clusters alone does not bound PDF + compute time: Debye calculations also become substantially more costly + as the number of atoms grows. + """ + if not isinstance(element, str): + raise ValueError("element must be a valid chemical symbol, e.g. 'Pd'.") + element = element.strip().capitalize() + if element not in atomic_numbers: + raise ValueError("element must be a valid chemical symbol, e.g. 'Pd'.") + if ( + type(min_atoms) is not int + or type(max_atoms) is not int + or min_atoms < 1 + or max_atoms < min_atoms + ): + raise ValueError( + "Require integer atom-count limits: 1 <= min_atoms <= max_atoms." + ) + if type(max_clusters) is not int or max_clusters < 1: + raise ValueError("max_clusters must be a positive integer.") + + specs = _select_candidates(candidate_specs, motif_ranges, max_clusters) + a = _lattice_constant(element, lattice_constant) + models, skipped = [], [] + for spec in specs: + motif = spec["motif"] + params = spec["parameters"] + try: + atoms = _make_atoms(element, motif, params, a) + except ValueError as exc: + skipped.append({**spec, "reason": str(exc)}) + continue + n_atoms = len(atoms) + if not min_atoms <= n_atoms <= max_atoms: + skipped.append( + { + **spec, + "reason": ( + f"{n_atoms} atoms outside [{min_atoms}, {max_atoms}]" + ), + } + ) + continue + model_id = "_".join( + [ + motif, + element, + *(f"{k}{v}" for k, v in params.items()), + f"N{n_atoms}", + ] + ) + models.append( + { + "model_id": model_id, + "motif": motif, + "morphology": _morphology(motif, params), + "parameters": params, + "element": element, + "n_atoms": n_atoms, + "atoms": atoms, + } + ) + if not models: + raise ValueError( + f"No structures fell within [{min_atoms}, {max_atoms}] atoms. " + f"Of {len(specs)} requested candidates, {len(skipped)} were " + "invalid or outside the size range. Adjust the input selection." + ) + return { + "element": element, + "ase_version": ase_version, + "lattice_constant_angstrom": a, + "min_atoms": min_atoms, + "max_atoms": max_atoms, + "max_clusters": max_clusters, + "requested_specs": specs, + "models": models, + "skipped": skipped, + } + + +# Internal helper functions + + +def _lattice_constant(element, value): + """Resolve the fcc lattice parameter for ideal cluster + construction.""" + if value is None: + ref = reference_states[atomic_numbers[element]] + if not ref or ref.get("symmetry", "").lower() != "fcc": + raise ValueError( + f"No ASE fcc reference lattice constant for {element}. " + "Provide lattice_constant explicitly." + ) + value = ref.get("a") + if ( + isinstance(value, bool) + or not isinstance(value, Real) + or not math.isfinite(value) + or value <= 0 + ): + raise ValueError("lattice_constant must be a positive finite number.") + return float(value) + + +def _make_atoms(element, motif, params, lattice_constant): + """Construct one finite ASE cluster from its canonical + specification.""" + if motif == "ico": + return Icosahedron( + element, params["noshells"], latticeconstant=lattice_constant + ) + if motif == "oct": + return Octahedron( + element, + params["length"], + params["cutoff"], + latticeconstant=lattice_constant, + ) + return Decahedron( + element, + params["p"], + params["q"], + params["r"], + latticeconstant=lattice_constant, + ) + + +def _morphology(motif, params): + """Classify common ASE builders by their idealized morphologies.""" + if motif == "ico": + return "Mackay icosahedron" + if motif == "oct": + length, cutoff = params["length"], params["cutoff"] + if cutoff == 0: + return "regular octahedron" + if length == 2 * cutoff + 1: + return "cuboctahedron" + if length == 3 * cutoff + 1: + return "regular truncated octahedron" + return "truncated octahedron" + q, r = params["q"], params["r"] + if r > 0 and q > 1: + return "Ino-truncated Marks decahedron" + if r > 0: + return "Marks decahedron" + if q > 1: + return "Ino-type decahedron" + return "regular decahedron" + + +# Validate parameter grid options, giving agents using the cluster-mining +# diffpy skill flexibility to adjust the cluster library based on user goals +# and computational budgets. + + +def _validate_builder_integer(motif, field, value): + """Validate one integer parameter passed to an ASE cluster + builder.""" + minimum = 0 if field in ("cutoff", "r") else 1 + if type(value) is not int or value < minimum: + raise ValueError(f"{motif}.{field} must be an integer >= {minimum}.") + return value + + +def _validate_parameters(motif, parameters): + """Validate one set of native ASE builder parameters. + + Parameters + ---------- + motif : str + The ASE cluster-builder family. + parameters : dict + The mapping of builder parameter names to integer values. + + Returns + ------- + dict + The validated parameters in a consistent key order. + """ + if not isinstance(motif, str) or motif not in _MOTIF_FIELDS: + raise ValueError( + f"Unknown motif {motif!r}. Choose from {list(_MOTIF_FIELDS)}." + ) + fields = _MOTIF_FIELDS[motif] + if not isinstance(parameters, dict) or set(parameters) != set(fields): + raise ValueError( + f"{motif} requires exactly these parameters: {', '.join(fields)}." + ) + normalized = {} + for field in fields: + normalized[field] = _validate_builder_integer( + motif, field, parameters[field] + ) + return normalized + + +def _select_candidates(candidate_specs, motif_ranges, max_clusters): + """Expand candidate specifications without silently subsampling. + + Parameters + ---------- + candidate_specs : list[dict] or None + The explicit list of individual builder specifications. + motif_ranges : dict or None + The mapping of motif families to parameter grids. + max_clusters : int + The maximum number of builder combinations to consider. + + Returns + ------- + list[dict] + The normalized individual candidate specifications. + + Notes + ----- + A parameter grid is a Cartesian product, not a morphology-aware sampler. + Reject grids over the budget *before* building any clusters, even if + filtering by atom count would later remove some combinations. The skill + or caller must select a sparser grid; silently taking the first N would + bias which structural families and sizes get tested. + """ + if (candidate_specs is None) == (motif_ranges is None): + raise ValueError( + "Supply exactly one of candidate_specs or motif_ranges." + ) + requested = [] + if candidate_specs is not None: + if ( + not isinstance(candidate_specs, (list, tuple)) + or not candidate_specs + ): + raise ValueError("candidate_specs must be a nonempty list.") + if len(candidate_specs) > max_clusters: + raise ValueError( + f"Requested {len(candidate_specs)} candidates, exceeding " + f"max_clusters={max_clusters}. Choose a sparser selection." + ) + for spec in candidate_specs: + if not isinstance(spec, dict) or "motif" not in spec: + raise ValueError( + "Each candidate must be a dict with a 'motif' field." + ) + motif = spec["motif"] + params = { + key: value for key, value in spec.items() if key != "motif" + } + requested.append( + { + "motif": motif, + "parameters": _validate_parameters(motif, params), + } + ) + else: + if not isinstance(motif_ranges, dict) or not motif_ranges: + raise ValueError("motif_ranges must be a nonempty dictionary.") + unknown = set(motif_ranges) - set(_MOTIF_FIELDS) + if unknown: + raise ValueError( + f"Unknown motifs: {sorted(unknown)}. " + f"Choose from {list(_MOTIF_FIELDS)}." + ) + # Calculate the Cartesian-product size first, without generating + # structures or any potentially large list of combinations. + n_requested = 0 + for motif, grid in motif_ranges.items(): + fields = _MOTIF_FIELDS[motif] + if not isinstance(grid, dict) or set(grid) != set(fields): + raise ValueError( + f"{motif} requires ranges for: {', '.join(fields)}." + ) + for field in fields: + values = grid[field] + if not isinstance(values, (list, tuple, range)) or not values: + raise ValueError( + f"{motif}.{field} must be a nonempty integer sequence." + ) + for value in values: + _validate_builder_integer(motif, field, value) + if len(set(values)) != len(values): + raise ValueError( + f"{motif}.{field} contains duplicate values." + ) + n_requested += math.prod(len(grid[f]) for f in fields) + if n_requested > max_clusters: + raise ValueError( + f"Requested grid has {n_requested} combinations, exceeding " + f"max_clusters={max_clusters}. Reduce the ranges or supply " + "specific candidate_specs; no structures were generated." + ) + for motif in _MOTIF_FIELDS: + if motif not in motif_ranges: + continue + fields = _MOTIF_FIELDS[motif] + for values in itertools.product( + *(motif_ranges[motif][f] for f in fields) + ): + requested.append( + { + "motif": motif, + "parameters": _validate_parameters( + motif, dict(zip(fields, values)) + ), + } + ) + + identities = [ + (spec["motif"], tuple(spec["parameters"].values())) + for spec in requested + ] + if len(set(identities)) != len(identities): + raise ValueError( + "Duplicate candidate specifications found. " + "Remove duplicates to avoid repeating refinements." + ) + return requested diff --git a/src/diffpy/apps/screening/cluster_screen.py b/src/diffpy/apps/screening/cluster_screen.py new file mode 100644 index 0000000..259efe5 --- /dev/null +++ b/src/diffpy/apps/screening/cluster_screen.py @@ -0,0 +1,401 @@ +"""Single-stage PDF screening of finite, in-memory cluster libraries.""" + +import re +from contextlib import nullcontext +from copy import deepcopy +from keyword import iskeyword +from math import isfinite +from multiprocessing import get_context +from numbers import Real +from pathlib import Path +from time import perf_counter + +import numpy as np + +from diffpy.apps.parametric_refinement.refinement_session import ( + RefinementSession, +) +from diffpy.structure import Atom, Structure + +# Shared definitions + +_VARIABLES = { + "scale": "cluster.scale", + "zoomscale": "zoomscale", + "uiso": "uiso", + "delta2": "cluster.delta2", +} + + +# Main cluster-screening function: refine, compare, and rank candidates + + +def screen_cluster_library(library, pdf_path, config, *, max_clusters=20): + """Refine and rank a bounded library with one consistent + configuration. + + Parameters + ---------- + library : dict + The in-memory output of ``generate_cluster_library``. + pdf_path : str or pathlib.Path + The measured PDF accepted by ``RefinementSession``. + config : dict + The r_range, q_range, qdamp, qbroad, and initial_values for the + four aliases scale, zoomscale, uiso, and delta2. Optional ncores + selects PDF-calculator worker processes (default 1). Optional + extra_variables and constraints extend or override preset ties. + Native cluster. names are accepted in free_parameters, + parameter_values, and soft_bounds. Optional optimizer settings + are forwarded to the existing solver. There is one fit stage. + max_clusters : int, optional + The maximum number of candidate refinements (default 20). + + Returns + ------- + dict + The ranked results, failures, settings, and wall-clock timings. + + Notes + ----- + No structures are written to disk. Candidates are refined sequentially; + ncores > 1 parallelizes each PDF calculation with a single reused spawn + pool. Run multiprocessing scripts from a file with a __main__ guard. + Global coordinate-axis scaling is not domain-resolved crystal strain. + """ + if type(max_clusters) is not int or max_clusters < 1: + raise ValueError("max_clusters must be a positive integer.") + models = library["models"] + if not 0 < len(models) <= max_clusters: + raise ValueError("Library is empty or exceeds max_clusters.") + if not Path(pdf_path).is_file(): + raise FileNotFoundError(f"Experimental PDF not found: {pdf_path}") + config = deepcopy(config) + free, bounds = _validate_options(config) + ncores = config.get("ncores", 1) + started = perf_counter() + manager = ( + get_context("spawn").Pool(processes=ncores) + if ncores > 1 + else nullcontext(None) + ) + rows = [] + with manager as pool: + for candidate in models: + meta = { + key: val for key, val in candidate.items() if key != "atoms" + } + t0 = perf_counter() + try: + row = _refine_one( + candidate, pdf_path, config, free, bounds, pool + ) + rows.append({**meta, **row, "status": "converged"}) + except Exception as exc: + rows.append( + { + **meta, + "status": "failed", + "rw": None, + "error": f"{type(exc).__name__}: {exc}", + } + ) + rows[-1]["elapsed_seconds"] = perf_counter() - t0 + rows.sort( + key=lambda row: ( + row["rw"] is None, + row["rw"] if row["rw"] is not None else float("inf"), + ) + ) + for i, row in enumerate(rows, 1): + row["rank"] = i if row["rw"] is not None else None + return { + "settings": config, + "max_clusters": max_clusters, + "results": rows, + "skipped_generation": library.get("skipped", []), + "execution": { + "ncores": ncores, + "parallelism": "within_pdf", + "start_method": "spawn" if ncores > 1 else None, + "elapsed_seconds": perf_counter() - started, + }, + } + + +# Internal helper functions for parameter validation, adding non-preset +# constraints, multiprocessing, and uniform result formatting. + + +def _finite_number(value, name): + """Validate a numerical parameter without accepting booleans.""" + if isinstance(value, bool) or not isinstance(value, Real): + raise ValueError(f"{name} must be a finite number; provide a number.") + if not isfinite(value): + raise ValueError(f"{name} is not finite; provide a finite number.") + return float(value) + + +def _parameter_name(name, extra): + """Resolve a preset alias, helper variable, or native model name.""" + if not isinstance(name, str): + raise ValueError("Parameter names must be strings.") + if name in _VARIABLES: + return _VARIABLES[name] + if name in extra or name.startswith("cluster."): + return name + raise ValueError( + f"Unknown parameter {name!r}; use a preset alias, an extra_variable " + "name, or a registered 'cluster.' parameter." + ) + + +def _validate_options(config): + """Validate optional execution settings and refinement + extensions.""" + allowed = { + "r_range", + "q_range", + "qdamp", + "qbroad", + "initial_values", + "free_parameters", + "soft_bounds", + "ncores", + "extra_variables", + "parameter_values", + "constraints", + "optimizer", + } + if not isinstance(config, dict) or set(config) - allowed: + raise ValueError("Unknown refinement settings; check the config keys.") + initial = config.get("initial_values", {}) + if not isinstance(initial, dict) or set(initial) != set(_VARIABLES): + raise ValueError(f"initial_values must contain {list(_VARIABLES)}.") + for name, value in initial.items(): + _finite_number(value, name) + ncores = config.get("ncores", 1) + if type(ncores) is not int or ncores < 1: + raise ValueError( + "ncores must be a positive integer; use 1 for serial." + ) + extra = config.get("extra_variables", {}) + values = config.get("parameter_values", {}) + overrides = config.get("constraints", {}) + for label, mapping in ( + ("extra_variables", extra), + ("parameter_values", values), + ("constraints", overrides), + ): + if not isinstance(mapping, dict): + raise ValueError(f"{label} must be a dictionary.") + for name, value in extra.items(): + if ( + not isinstance(name, str) + or not name.isidentifier() + or iskeyword(name) + or name in _VARIABLES + ): + raise ValueError( + "extra_variables require new identifier names; do not " + "replace the four preset aliases." + ) + _finite_number(value, name) + for name, value in values.items(): + if not isinstance(name, str) or not name.startswith("cluster."): + raise ValueError("parameter_values require native cluster. names.") + _finite_number(value, name) + for target, expression in overrides.items(): + if ( + not isinstance(target, str) + or not target.startswith("cluster.") + or ( + expression is not None + and (not isinstance(expression, str) or not expression) + ) + ): + raise ValueError( + "constraints map native cluster. names to equations; " + "use null to remove a preset tie." + ) + selected = config.get("free_parameters", list(_VARIABLES)) + if not isinstance(selected, (list, tuple)) or not selected: + raise ValueError("free_parameters must be a nonempty list.") + free = [_parameter_name(name, extra) for name in selected] + if len(set(free)) != len(free): + raise ValueError("Repeated free parameters; select each only once.") + soft = config.get("soft_bounds", {}) + if not isinstance(soft, dict): + raise ValueError("soft_bounds must be a dictionary.") + bounds = {} + for name, settings in soft.items(): + native = _parameter_name(name, extra) + if ( + not isinstance(settings, dict) + or settings.get("use_soft_bounds", True) is not True + ): + raise ValueError("Only native soft bounds are supported.") + if set(settings) - { + "lower_bound", + "upper_bound", + "uncertainty", + "scaled", + "use_soft_bounds", + }: + raise ValueError("Unknown soft-bound option; check its spelling.") + if native in bounds: + raise ValueError("Repeated bounds; use one name per parameter.") + if "uncertainty" in settings: + sigma = _finite_number(settings["uncertainty"], "uncertainty") + if sigma <= 0: + raise ValueError("Soft-bound uncertainty must be positive.") + bounds[native] = {**settings, "use_soft_bounds": True} + optimizer = config.get("optimizer", {}) + if not isinstance(optimizer, dict) or set(optimizer) - { + "method", + "x_scale", + "max_nfev", + "ftol", + "xtol", + }: + raise ValueError("Use optimizer options supported by session.solve.") + return free, bounds + + +def _constraints_for_model(model, initial, config): + """Compose the preset constraints with explicit user overrides.""" + helpers = {"zoomscale": initial["zoomscale"], "uiso": initial["uiso"]} + helpers.update(config.get("extra_variables", {})) + ties = { + f"cluster.phase.lattice.{axis}": "zoomscale" + for axis in ("a", "b", "c") + } + ties.update( + {key: "uiso" for key in model.parameters if key.endswith(".Uiso")} + ) + for target, expression in config.get("constraints", {}).items(): + if target not in model.parameters: + raise ValueError( + f"Unknown constraint target {target!r}; inspect the model " + "parameters before requesting this constraint." + ) + if expression is None: + ties.pop(target, None) + else: + ties[target] = expression + return helpers, ties + + +def _refine_one(candidate, pdf_path, config, free, bounds, pool=None): + """Refine one candidate with an isolated, native + RefinementSession.""" + atoms = candidate["atoms"] + # A unit orthogonal cell preserves Cartesian coordinates during the + # conversion. Changing its lengths then applies global axis scaling. + structure = Structure( + [ + Atom(symbol, xyz) + for symbol, xyz in zip( + atoms.get_chemical_symbols(), + atoms.get_positions(), + strict=True, + ) + ] + ) + session = RefinementSession() + session.add_profile_from_file(str(pdf_path), profile_name="observed") + session.set_profile_calculation_range("observed", *config["r_range"]) + qmin, qmax = config["q_range"] + session.update_profile_meta("observed", {"qmin": qmin, "qmax": qmax}) + # Use the existing in-memory entry point with a constant assignment. + session.add_pdf_model( + model_name="cluster", + finite=True, + run_parallel=False, + code="structure = supplied_structure\nspacegroup_symbol = 'P1'", + global_namespace={"supplied_structure": structure}, + ) + initial = config["initial_values"] + values = { + "cluster.scale": initial["scale"], + "cluster.delta2": initial["delta2"], + "cluster.qdamp": config["qdamp"], + "cluster.qbroad": config["qbroad"], + } + values.update(config.get("parameter_values", {})) + model = session.models_dict["cluster"] + helpers, ties = _constraints_for_model(model, initial, config) + if sum(key.endswith(".Uiso") for key in model.parameters) != len(atoms): + raise ValueError("Expected one Uiso parameter per cluster atom.") + for name in free: + if name in ties: + raise ValueError( + f"{name} is constrained; free its helper variable instead " + "or explicitly remove that tie with a null override." + ) + if name not in helpers and name not in model.parameters: + raise ValueError(f"Unknown model parameter {name!r}.") + if name in helpers and not any( + re.search(rf"\b{re.escape(name)}\b", equation) + for equation in ties.values() + ): + raise ValueError( + f"Helper {name!r} is unused; reference it in a constraint " + "or remove it from free_parameters." + ) + for name in config.get("parameter_values", {}): + if name in ties: + raise ValueError( + f"{name} is constrained; set the helper's initial value " + "or remove its tie before assigning a native value." + ) + session.set_variables_value(values) + generator = model.calc_obj + if pool is not None: + generator.parallel(config.get("ncores", 1), mapfunc=pool.map) + try: + optimizer = {"method": "trf", "x_scale": 1.0} + optimizer.update(config.get("optimizer", {})) + fit = session.solve( + profile_names=["observed"], + model_names=["cluster"], + variable_names=free, + constraints=[helpers, ties], + residual_equations=["chiv"], + bounds=bounds, + name="cluster_fit", + **optimizer, + ) + if not fit["success"]: + raise RuntimeError( + f"Refinement did not converge: {fit['message']}" + ) + recipe = session.recipes_dict["cluster_fit"] + recipe.residual(recipe.get_values()) + profile = session.profiles_dict["observed"] + rw = np.linalg.norm((profile.y - profile.ycalc) / profile.dy) + rw /= np.linalg.norm(profile.y / profile.dy) + if not np.isfinite(rw): + raise ValueError("Refinement produced a nonfinite Rw.") + reported = dict(_VARIABLES) + reported.update({name: name for name in helpers}) + reported.update( + {name: name for name in config.get("parameter_values", {})} + ) + for name in config.get("free_parameters", list(_VARIABLES)): + reported[name] = _parameter_name(name, helpers) + return { + "rw": float(rw), + "refined_parameters": { + alias: float(session.get_variable(name)["value"]) + for alias, name in reported.items() + }, + "n_parameters": len(recipe.get_values()), + "nfev": int(fit["nfev"]), + "message": str(fit["message"]), + } + finally: + # The screen owns the pool; no calculator may keep using it after + # the screen exits, including when an individual fit fails. + if pool is not None: + generator.parallel(1) diff --git a/tests/data/Pd_cluster.gr b/tests/data/Pd_cluster.gr new file mode 100644 index 0000000..247b9cf --- /dev/null +++ b/tests/data/Pd_cluster.gr @@ -0,0 +1,10004 @@ +#### start data +#S 1 +#L r($\AA$) G($\AA^{-2}$) +0 0 +0.01 -0.00312711 +0.02 -0.00606536 +0.03 -0.00865051 +0.04 -0.0107375 +0.05 -0.012208 +0.06 -0.012977 +0.07 -0.0129971 +0.08 -0.0122612 +0.09 -0.010803 +0.1 -0.00867227 +0.11 -0.00599469 +0.12 -0.00294198 +0.13 0.000321133 +0.14 0.00361796 +0.15 0.00676922 +0.16 0.00960261 +0.17 0.0119621 +0.18 0.0137165 +0.19 0.0147662 +0.2 0.0149826 +0.21 0.0144177 +0.22 0.0131048 +0.23 0.0111194 +0.24 0.00857505 +0.25 0.00561855 +0.26 0.00242198 +0.27 -0.00082608 +0.28 -0.00393056 +0.29 -0.00667755 +0.3 -0.00887359 +0.31 -0.01039 +0.32 -0.0111194 +0.33 -0.0109976 +0.34 -0.0100093 +0.35 -0.0081903 +0.36 -0.00562835 +0.37 -0.0024604 +0.38 0.00113228 +0.39 0.00492682 +0.4 0.00863855 +0.41 0.0120033 +0.42 0.0147563 +0.43 0.0166452 +0.44 0.0174432 +0.45 0.0169616 +0.46 0.0150605 +0.47 0.0116587 +0.48 0.00667484 +0.49 0.000182446 +0.5 -0.00761378 +0.51 -0.0165045 +0.52 -0.0262176 +0.53 -0.0364266 +0.54 -0.0467617 +0.55 -0.0568229 +0.56 -0.0661953 +0.57 -0.0744619 +0.58 -0.0810676 +0.59 -0.0857575 +0.6 -0.0882291 +0.61 -0.0882444 +0.62 -0.0856411 +0.63 -0.0803397 +0.64 -0.0723487 +0.65 -0.0617659 +0.66 -0.0487762 +0.67 -0.033565 +0.68 -0.0165288 +0.69 0.00183143 +0.7 0.0210581 +0.71 0.0406653 +0.72 0.0601554 +0.73 0.0790366 +0.74 0.0968395 +0.75 0.113133 +0.76 0.127535 +0.77 0.139527 +0.78 0.149054 +0.79 0.155975 +0.8 0.160235 +0.81 0.161862 +0.82 0.160964 +0.83 0.157723 +0.84 0.152385 +0.85 0.145247 +0.86 0.136597 +0.87 0.126851 +0.88 0.116441 +0.89 0.105736 +0.9 0.0950841 +0.91 0.0848009 +0.92 0.0751604 +0.93 0.0663866 +0.94 0.0586472 +0.95 0.0520543 +0.96 0.0467529 +0.97 0.0426236 +0.98 0.0395917 +0.99 0.0375359 +1 0.036296 +1.01 0.0356821 +1.02 0.035484 +1.03 0.0354809 +1.04 0.035451 +1.05 0.0351602 +1.06 0.0343928 +1.07 0.032992 +1.08 0.0308203 +1.09 0.0277745 +1.1 0.0237873 +1.11 0.0188283 +1.12 0.0129035 +1.13 0.00605341 +1.14 -0.00165182 +1.15 -0.0101603 +1.16 -0.0192712 +1.17 -0.0288344 +1.18 -0.0386844 +1.19 -0.048644 +1.2 -0.0585278 +1.21 -0.0681454 +1.22 -0.0773036 +1.23 -0.0858089 +1.24 -0.0934199 +1.25 -0.0999322 +1.26 -0.105197 +1.27 -0.109036 +1.28 -0.111281 +1.29 -0.111774 +1.3 -0.11037 +1.31 -0.106939 +1.32 -0.101374 +1.33 -0.0935849 +1.34 -0.0833371 +1.35 -0.0708084 +1.36 -0.0560332 +1.37 -0.0390934 +1.38 -0.0201226 +1.39 0.000690533 +1.4 0.0231 +1.41 0.0468018 +1.42 0.0714355 +1.43 0.0965889 +1.44 0.121738 +1.45 0.146354 +1.46 0.169901 +1.47 0.191829 +1.48 0.211585 +1.49 0.228632 +1.5 0.242462 +1.51 0.252615 +1.52 0.258674 +1.53 0.259954 +1.54 0.256589 +1.55 0.248474 +1.56 0.235617 +1.57 0.218142 +1.58 0.196287 +1.59 0.170403 +1.6 0.140948 +1.61 0.108473 +1.62 0.0735281 +1.63 0.0369165 +1.64 -0.000529938 +1.65 -0.0380537 +1.66 -0.0749051 +1.67 -0.110365 +1.68 -0.143769 +1.69 -0.174524 +1.7 -0.202129 +1.71 -0.226171 +1.72 -0.246065 +1.73 -0.261983 +1.74 -0.273928 +1.75 -0.282027 +1.76 -0.286523 +1.77 -0.287761 +1.78 -0.286176 +1.79 -0.282274 +1.8 -0.276606 +1.81 -0.269724 +1.82 -0.262288 +1.83 -0.254897 +1.84 -0.248059 +1.85 -0.242222 +1.86 -0.237752 +1.87 -0.234925 +1.88 -0.23392 +1.89 -0.234814 +1.9 -0.237595 +1.91 -0.24226 +1.92 -0.248439 +1.93 -0.255848 +1.94 -0.264152 +1.95 -0.272984 +1.96 -0.281965 +1.97 -0.290724 +1.98 -0.298916 +1.99 -0.306238 +2 -0.312385 +2.01 -0.317185 +2.02 -0.320604 +2.03 -0.322645 +2.04 -0.323393 +2.05 -0.323009 +2.06 -0.321717 +2.07 -0.319798 +2.08 -0.317568 +2.09 -0.315369 +2.1 -0.313601 +2.11 -0.31258 +2.12 -0.312589 +2.13 -0.31386 +2.14 -0.316559 +2.15 -0.320777 +2.16 -0.326524 +2.17 -0.333728 +2.18 -0.342234 +2.19 -0.351855 +2.2 -0.362243 +2.21 -0.373009 +2.22 -0.38377 +2.23 -0.394131 +2.24 -0.403705 +2.25 -0.412129 +2.26 -0.419084 +2.27 -0.424308 +2.28 -0.427597 +2.29 -0.428686 +2.3 -0.427722 +2.31 -0.424778 +2.32 -0.420002 +2.33 -0.413609 +2.34 -0.405861 +2.35 -0.397056 +2.36 -0.387499 +2.37 -0.377484 +2.38 -0.367268 +2.39 -0.357061 +2.4 -0.346963 +2.41 -0.33696 +2.42 -0.326918 +2.43 -0.316575 +2.44 -0.305537 +2.45 -0.293281 +2.46 -0.279162 +2.47 -0.262407 +2.48 -0.241853 +2.49 -0.216825 +2.5 -0.186416 +2.51 -0.149741 +2.52 -0.105976 +2.53 -0.0543964 +2.54 0.00558437 +2.55 0.0743804 +2.56 0.152202 +2.57 0.239472 +2.58 0.335723 +2.59 0.440038 +2.6 0.551561 +2.61 0.669177 +2.62 0.791533 +2.63 0.917055 +2.64 1.04399 +2.65 1.17043 +2.66 1.29435 +2.67 1.41318 +2.68 1.5251 +2.69 1.62816 +2.7 1.7205 +2.71 1.80047 +2.72 1.8666 +2.73 1.9177 +2.74 1.95288 +2.75 1.97153 +2.76 1.97253 +2.77 1.95626 +2.78 1.92379 +2.79 1.87589 +2.8 1.81362 +2.81 1.73827 +2.82 1.65138 +2.83 1.55461 +2.84 1.44978 +2.85 1.33874 +2.86 1.22323 +2.87 1.10559 +2.88 0.98759 +2.89 0.870863 +2.9 0.756897 +2.91 0.646991 +2.92 0.542236 +2.93 0.443501 +2.94 0.351432 +2.95 0.266831 +2.96 0.18978 +2.97 0.119999 +2.98 0.0572822 +2.99 0.00128101 +3 -0.0484727 +3.01 -0.0925342 +3.02 -0.131516 +3.03 -0.166058 +3.04 -0.196774 +3.05 -0.224113 +3.06 -0.24892 +3.07 -0.271688 +3.08 -0.29283 +3.09 -0.312679 +3.1 -0.331479 +3.11 -0.349394 +3.12 -0.366511 +3.13 -0.382849 +3.14 -0.398327 +3.15 -0.412871 +3.16 -0.426404 +3.17 -0.438811 +3.18 -0.449983 +3.19 -0.459831 +3.2 -0.468291 +3.21 -0.475337 +3.22 -0.48098 +3.23 -0.485267 +3.24 -0.488222 +3.25 -0.490094 +3.26 -0.491059 +3.27 -0.491315 +3.28 -0.491075 +3.29 -0.490557 +3.3 -0.48997 +3.31 -0.489509 +3.32 -0.489342 +3.33 -0.489635 +3.34 -0.49048 +3.35 -0.491909 +3.36 -0.493922 +3.37 -0.496478 +3.38 -0.499494 +3.39 -0.502854 +3.4 -0.506413 +3.41 -0.510007 +3.42 -0.513457 +3.43 -0.516546 +3.44 -0.519118 +3.45 -0.521022 +3.46 -0.522129 +3.47 -0.52234 +3.48 -0.521589 +3.49 -0.519846 +3.5 -0.517112 +3.51 -0.513426 +3.52 -0.508808 +3.53 -0.503377 +3.54 -0.49727 +3.55 -0.490603 +3.56 -0.483487 +3.57 -0.476029 +3.58 -0.468315 +3.59 -0.460411 +3.6 -0.452352 +3.61 -0.444141 +3.62 -0.435729 +3.63 -0.427056 +3.64 -0.418018 +3.65 -0.408485 +3.66 -0.398306 +3.67 -0.387317 +3.68 -0.37535 +3.69 -0.36224 +3.7 -0.34784 +3.71 -0.331943 +3.72 -0.314486 +3.73 -0.295478 +3.74 -0.27493 +3.75 -0.252909 +3.76 -0.229539 +3.77 -0.205 +3.78 -0.179526 +3.79 -0.153403 +3.8 -0.126963 +3.81 -0.100611 +3.82 -0.0747657 +3.83 -0.0498359 +3.84 -0.0262319 +3.85 -0.00435276 +3.86 0.0154253 +3.87 0.03276 +3.88 0.0473531 +3.89 0.0589585 +3.9 0.0672085 +3.91 0.0720477 +3.92 0.0735376 +3.93 0.0717039 +3.94 0.0666368 +3.95 0.058487 +3.96 0.0474597 +3.97 0.0338076 +3.98 0.0178216 +3.99 -0.000196646 +4 -0.0199808 +4.01 -0.0410324 +4.02 -0.0630035 +4.03 -0.085557 +4.04 -0.108374 +4.05 -0.131161 +4.06 -0.153655 +4.07 -0.175623 +4.08 -0.196871 +4.09 -0.217184 +4.1 -0.236449 +4.11 -0.254609 +4.12 -0.27161 +4.13 -0.287421 +4.14 -0.302031 +4.15 -0.315449 +4.16 -0.327693 +4.17 -0.33879 +4.18 -0.348758 +4.19 -0.357563 +4.2 -0.365321 +4.21 -0.372059 +4.22 -0.377802 +4.23 -0.382571 +4.24 -0.386386 +4.25 -0.389266 +4.26 -0.391228 +4.27 -0.392294 +4.28 -0.392438 +4.29 -0.391715 +4.3 -0.390184 +4.31 -0.387883 +4.32 -0.384854 +4.33 -0.381137 +4.34 -0.376777 +4.35 -0.371809 +4.36 -0.366264 +4.37 -0.360151 +4.38 -0.353435 +4.39 -0.346129 +4.4 -0.338182 +4.41 -0.32951 +4.42 -0.319998 +4.43 -0.309495 +4.44 -0.297818 +4.45 -0.28475 +4.46 -0.270043 +4.47 -0.2533 +4.48 -0.234245 +4.49 -0.212631 +4.5 -0.188154 +4.51 -0.160517 +4.52 -0.129444 +4.53 -0.0946951 +4.54 -0.0560718 +4.55 -0.0134326 +4.56 0.0333519 +4.57 0.0845201 +4.58 0.139665 +4.59 0.198593 +4.6 0.261011 +4.61 0.326537 +4.62 0.394691 +4.63 0.464904 +4.64 0.536529 +4.65 0.608841 +4.66 0.681003 +4.67 0.752097 +4.68 0.821262 +4.69 0.887622 +4.7 0.950311 +4.71 1.00849 +4.72 1.06135 +4.73 1.10818 +4.74 1.1483 +4.75 1.18104 +4.76 1.20546 +4.77 1.22176 +4.78 1.22976 +4.79 1.22937 +4.8 1.22066 +4.81 1.20382 +4.82 1.17913 +4.83 1.14704 +4.84 1.10804 +4.85 1.06244 +4.86 1.01118 +4.87 0.955204 +4.88 0.895317 +4.89 0.832346 +4.9 0.767123 +4.91 0.700475 +4.92 0.633201 +4.93 0.566065 +4.94 0.499797 +4.95 0.435189 +4.96 0.372732 +4.97 0.312907 +4.98 0.256113 +4.99 0.202662 +5 0.152785 +5.01 0.106632 +5.02 0.064277 +5.03 0.0257231 +5.04 -0.00887725 +5.05 -0.0397633 +5.06 -0.0672071 +5.07 -0.0914041 +5.08 -0.112572 +5.09 -0.130938 +5.1 -0.146736 +5.11 -0.160191 +5.12 -0.171515 +5.13 -0.180876 +5.14 -0.188356 +5.15 -0.194228 +5.16 -0.198597 +5.17 -0.201538 +5.18 -0.203097 +5.19 -0.203293 +5.2 -0.202123 +5.21 -0.199565 +5.22 -0.195582 +5.23 -0.190041 +5.24 -0.182939 +5.25 -0.174276 +5.26 -0.164027 +5.27 -0.15218 +5.28 -0.13875 +5.29 -0.123774 +5.3 -0.107322 +5.31 -0.0894952 +5.32 -0.0704113 +5.33 -0.0501979 +5.34 -0.0291497 +5.35 -0.00750393 +5.36 0.0144761 +5.37 0.0365051 +5.38 0.0582807 +5.39 0.0794896 +5.4 0.0998131 +5.41 0.118934 +5.42 0.136436 +5.43 0.152045 +5.44 0.165535 +5.45 0.176665 +5.46 0.185229 +5.47 0.191055 +5.48 0.194014 +5.49 0.19402 +5.5 0.191028 +5.51 0.184996 +5.52 0.175815 +5.53 0.163795 +5.54 0.149076 +5.55 0.131828 +5.56 0.112257 +5.57 0.0905935 +5.58 0.0670905 +5.59 0.0420167 +5.6 0.0156515 +5.61 -0.0117635 +5.62 -0.0398827 +5.63 -0.0684023 +5.64 -0.0970555 +5.65 -0.12559 +5.66 -0.15377 +5.67 -0.18138 +5.68 -0.208226 +5.69 -0.234136 +5.7 -0.258938 +5.71 -0.282428 +5.72 -0.304579 +5.73 -0.325305 +5.74 -0.344537 +5.75 -0.362215 +5.76 -0.378295 +5.77 -0.392737 +5.78 -0.405509 +5.79 -0.416579 +5.8 -0.425811 +5.81 -0.43323 +5.82 -0.438848 +5.83 -0.442629 +5.84 -0.444532 +5.85 -0.444516 +5.86 -0.442536 +5.87 -0.438551 +5.88 -0.432518 +5.89 -0.424367 +5.9 -0.413955 +5.91 -0.401415 +5.92 -0.386748 +5.93 -0.369971 +5.94 -0.351124 +5.95 -0.330269 +5.96 -0.307496 +5.97 -0.282919 +5.98 -0.256682 +5.99 -0.228881 +6 -0.199792 +6.01 -0.169689 +6.02 -0.138832 +6.03 -0.107503 +6.04 -0.0760056 +6.05 -0.0446565 +6.06 -0.0137842 +6.07 0.0162776 +6.08 0.0451678 +6.09 0.0724495 +6.1 0.0978902 +6.11 0.121193 +6.12 0.142083 +6.13 0.160316 +6.14 0.175678 +6.15 0.187995 +6.16 0.197129 +6.17 0.202988 +6.18 0.20532 +6.19 0.204246 +6.2 0.199903 +6.21 0.192387 +6.22 0.181836 +6.23 0.168427 +6.24 0.152374 +6.25 0.133919 +6.26 0.113334 +6.27 0.0908845 +6.28 0.0668328 +6.29 0.0416236 +6.3 0.0155808 +6.31 -0.0109736 +6.32 -0.0377247 +6.33 -0.0643701 +6.34 -0.0906237 +6.35 -0.11622 +6.36 -0.140917 +6.37 -0.164418 +6.38 -0.186562 +6.39 -0.207227 +6.4 -0.226291 +6.41 -0.243662 +6.42 -0.259277 +6.43 -0.2731 +6.44 -0.28512 +6.45 -0.29535 +6.46 -0.30379 +6.47 -0.310414 +6.48 -0.31541 +6.49 -0.318858 +6.5 -0.320847 +6.51 -0.321474 +6.52 -0.320839 +6.53 -0.319043 +6.54 -0.316189 +6.55 -0.312381 +6.56 -0.307672 +6.57 -0.302202 +6.58 -0.296087 +6.59 -0.289421 +6.6 -0.282294 +6.61 -0.274794 +6.62 -0.267007 +6.63 -0.259018 +6.64 -0.25091 +6.65 -0.242768 +6.66 -0.234683 +6.67 -0.226739 +6.68 -0.219014 +6.69 -0.211587 +6.7 -0.204534 +6.71 -0.197927 +6.72 -0.191834 +6.73 -0.186316 +6.74 -0.181428 +6.75 -0.177262 +6.76 -0.173829 +6.77 -0.171134 +6.78 -0.169184 +6.79 -0.167973 +6.8 -0.167476 +6.81 -0.167655 +6.82 -0.168452 +6.83 -0.169791 +6.84 -0.171585 +6.85 -0.173728 +6.86 -0.176058 +6.87 -0.178427 +6.88 -0.180673 +6.89 -0.18262 +6.9 -0.184083 +6.91 -0.184864 +6.92 -0.184762 +6.93 -0.183568 +6.94 -0.180979 +6.95 -0.176818 +6.96 -0.170916 +6.97 -0.163078 +6.98 -0.153123 +6.99 -0.140882 +7 -0.126206 +7.01 -0.108967 +7.02 -0.089059 +7.03 -0.066349 +7.04 -0.0406598 +7.05 -0.0121688 +7.06 0.0190939 +7.07 0.0530601 +7.08 0.0896217 +7.09 0.12863 +7.1 0.169894 +7.11 0.213182 +7.12 0.25822 +7.13 0.304765 +7.14 0.352369 +7.15 0.400607 +7.16 0.449057 +7.17 0.497271 +7.18 0.544785 +7.19 0.591116 +7.2 0.635778 +7.21 0.678284 +7.22 0.718091 +7.23 0.754551 +7.24 0.78741 +7.25 0.81627 +7.26 0.840775 +7.27 0.860614 +7.28 0.875534 +7.29 0.885339 +7.3 0.889898 +7.31 0.889147 +7.32 0.882751 +7.33 0.871026 +7.34 0.854247 +7.35 0.832635 +7.36 0.806473 +7.37 0.776098 +7.38 0.741896 +7.39 0.704296 +7.4 0.663758 +7.41 0.620725 +7.42 0.575663 +7.43 0.52923 +7.44 0.481923 +7.45 0.434225 +7.46 0.386593 +7.47 0.339452 +7.48 0.293192 +7.49 0.24816 +7.5 0.204655 +7.51 0.163057 +7.52 0.123501 +7.53 0.0860888 +7.54 0.0509105 +7.55 0.0180133 +7.56 -0.0125975 +7.57 -0.0409531 +7.58 -0.0671155 +7.59 -0.0911724 +7.6 -0.11319 +7.61 -0.133221 +7.62 -0.151523 +7.63 -0.168228 +7.64 -0.183462 +7.65 -0.197345 +7.66 -0.209987 +7.67 -0.221486 +7.68 -0.231926 +7.69 -0.241376 +7.7 -0.249836 +7.71 -0.257392 +7.72 -0.264095 +7.73 -0.269969 +7.74 -0.27503 +7.75 -0.279292 +7.76 -0.28277 +7.77 -0.285477 +7.78 -0.287434 +7.79 -0.288647 +7.8 -0.289124 +7.81 -0.288947 +7.82 -0.288162 +7.83 -0.28682 +7.84 -0.284974 +7.85 -0.28268 +7.86 -0.279993 +7.87 -0.276968 +7.88 -0.273651 +7.89 -0.270067 +7.9 -0.266258 +7.91 -0.262242 +7.92 -0.258019 +7.93 -0.253572 +7.94 -0.248871 +7.95 -0.243869 +7.96 -0.238506 +7.97 -0.232709 +7.98 -0.226384 +7.99 -0.21941 +8 -0.21173 +8.01 -0.203259 +8.02 -0.193917 +8.03 -0.183637 +8.04 -0.172365 +8.05 -0.16007 +8.06 -0.146742 +8.07 -0.132396 +8.08 -0.117016 +8.09 -0.100729 +8.1 -0.0836648 +8.11 -0.0659577 +8.12 -0.0477703 +8.13 -0.0292884 +8.14 -0.0107178 +8.15 0.00771966 +8.16 0.0257913 +8.17 0.0432383 +8.18 0.0597643 +8.19 0.0751787 +8.2 0.089263 +8.21 0.101817 +8.22 0.112662 +8.23 0.121649 +8.24 0.128656 +8.25 0.133598 +8.26 0.136423 +8.27 0.136975 +8.28 0.135384 +8.29 0.13176 +8.3 0.1262 +8.31 0.118837 +8.32 0.10983 +8.33 0.0993625 +8.34 0.0876376 +8.35 0.0748751 +8.36 0.0612915 +8.37 0.0471265 +8.38 0.0326659 +8.39 0.0181434 +8.4 0.0037838 +8.41 -0.0101997 +8.42 -0.0236094 +8.43 -0.0362657 +8.44 -0.0480096 +8.45 -0.0587041 +8.46 -0.0681506 +8.47 -0.0763127 +8.48 -0.0831537 +8.49 -0.0886392 +8.5 -0.0927587 +8.51 -0.0955246 +8.52 -0.0969709 +8.53 -0.0971522 +8.54 -0.0961415 +8.55 -0.0940041 +8.56 -0.0908205 +8.57 -0.0867788 +8.58 -0.0820101 +8.59 -0.0766537 +8.6 -0.0708548 +8.61 -0.0647628 +8.62 -0.0585286 +8.63 -0.0523027 +8.64 -0.0462325 +8.65 -0.0404905 +8.66 -0.0352083 +8.67 -0.0305033 +8.68 -0.026487 +8.69 -0.0232568 +8.7 -0.0208942 +8.71 -0.0194635 +8.72 -0.0190102 +8.73 -0.0195602 +8.74 -0.0211436 +8.75 -0.0237764 +8.76 -0.027355 +8.77 -0.031817 +8.78 -0.0370805 +8.79 -0.0430453 +8.8 -0.0495945 +8.81 -0.0565967 +8.82 -0.0639085 +8.83 -0.0713774 +8.84 -0.0788332 +8.85 -0.0861 +8.86 -0.0930179 +8.87 -0.0994322 +8.88 -0.105196 +8.89 -0.110176 +8.9 -0.114251 +8.91 -0.11732 +8.92 -0.1193 +8.93 -0.120102 +8.94 -0.119647 +8.95 -0.117999 +8.96 -0.115179 +8.97 -0.11123 +8.98 -0.106221 +8.99 -0.100244 +9 -0.0934112 +9.01 -0.0858531 +9.02 -0.0777164 +9.03 -0.069143 +9.04 -0.0603393 +9.05 -0.0514868 +9.06 -0.0427606 +9.07 -0.0343329 +9.08 -0.0263691 +9.09 -0.0190243 +9.1 -0.01244 +9.11 -0.00674084 +9.12 -0.00206059 +9.13 0.00147434 +9.14 0.00387011 +9.15 0.0050972 +9.16 0.00515172 +9.17 0.00405544 +9.18 0.00185533 +9.19 -0.00137755 +9.2 -0.00554957 +9.21 -0.0105467 +9.22 -0.0162749 +9.23 -0.0225352 +9.24 -0.0291552 +9.25 -0.0359671 +9.26 -0.0427991 +9.27 -0.0494801 +9.28 -0.055843 +9.29 -0.0617286 +9.3 -0.0669893 +9.31 -0.0714687 +9.32 -0.0750129 +9.33 -0.0775791 +9.34 -0.0791007 +9.35 -0.0795356 +9.36 -0.0788671 +9.37 -0.077104 +9.38 -0.0742801 +9.39 -0.0704531 +9.4 -0.0657033 +9.41 -0.0600811 +9.42 -0.0537616 +9.43 -0.0468919 +9.44 -0.0396153 +9.45 -0.0320805 +9.46 -0.024437 +9.47 -0.0168314 +9.48 -0.00940278 +9.49 -0.00227869 +9.5 0.00441422 +9.51 0.0105583 +9.52 0.0161123 +9.53 0.0210338 +9.54 0.0253063 +9.55 0.0289401 +9.56 0.0319724 +9.57 0.0344665 +9.58 0.0365106 +9.59 0.0382155 +9.6 0.0397076 +9.61 0.0411608 +9.62 0.0427397 +9.63 0.0446131 +9.64 0.0469521 +9.65 0.0499255 +9.66 0.0536948 +9.67 0.0584097 +9.68 0.0642033 +9.69 0.0712247 +9.7 0.0796084 +9.71 0.0893381 +9.72 0.100439 +9.73 0.112903 +9.74 0.12669 +9.75 0.141729 +9.76 0.157913 +9.77 0.175108 +9.78 0.19315 +9.79 0.21188 +9.8 0.231025 +9.81 0.250342 +9.82 0.269581 +9.83 0.288484 +9.84 0.306789 +9.85 0.324232 +9.86 0.340556 +9.87 0.355511 +9.88 0.368809 +9.89 0.380156 +9.9 0.389456 +9.91 0.396541 +9.92 0.40127 +9.93 0.403532 +9.94 0.403245 +9.95 0.400361 +9.96 0.394863 +9.97 0.386763 +9.98 0.375929 +9.99 0.362594 +10 0.346903 +10.01 0.328993 +10.02 0.309022 +10.03 0.287168 +10.04 0.263628 +10.05 0.238614 +10.06 0.212346 +10.07 0.185033 +10.08 0.156913 +10.09 0.128279 +10.1 0.0993628 +10.11 0.0703916 +10.12 0.0415834 +10.13 0.0131448 +10.14 -0.0147313 +10.15 -0.0418678 +10.16 -0.0681047 +10.17 -0.0932158 +10.18 -0.117133 +10.19 -0.139772 +10.2 -0.161057 +10.21 -0.180927 +10.22 -0.199343 +10.23 -0.216279 +10.24 -0.231728 +10.25 -0.245694 +10.26 -0.25815 +10.27 -0.269085 +10.28 -0.278617 +10.29 -0.286781 +10.3 -0.293616 +10.31 -0.299159 +10.32 -0.303446 +10.33 -0.306509 +10.34 -0.308374 +10.35 -0.309062 +10.36 -0.308504 +10.37 -0.306778 +10.38 -0.303903 +10.39 -0.299877 +10.4 -0.294697 +10.41 -0.288358 +10.42 -0.280858 +10.43 -0.272198 +10.44 -0.262383 +10.45 -0.251395 +10.46 -0.239236 +10.47 -0.22601 +10.48 -0.211775 +10.49 -0.196602 +10.5 -0.180581 +10.51 -0.163818 +10.52 -0.146436 +10.53 -0.128575 +10.54 -0.110388 +10.55 -0.092042 +10.56 -0.0737403 +10.57 -0.0556685 +10.58 -0.0380133 +10.59 -0.0209608 +10.6 -0.00469206 +10.61 0.0106202 +10.62 0.0248156 +10.63 0.0377495 +10.64 0.0492499 +10.65 0.0591663 +10.66 0.0675026 +10.67 0.0742097 +10.68 0.079265 +10.69 0.0826722 +10.7 0.0844608 +10.71 0.0846851 +10.72 0.0834214 +10.73 0.0807667 +10.74 0.076749 +10.75 0.0715879 +10.76 0.0654383 +10.77 0.0584448 +10.78 0.0507536 +10.79 0.042509 +10.8 0.03385 +10.81 0.0249073 +10.82 0.0158007 +10.83 0.00663855 +10.84 -0.00247707 +10.85 -0.0114696 +10.86 -0.0202801 +10.87 -0.0288645 +10.88 -0.0371922 +10.89 -0.0452449 +10.9 -0.053014 +10.91 -0.0604992 +10.92 -0.0677053 +10.93 -0.0746199 +10.94 -0.0812683 +10.95 -0.0876582 +10.96 -0.0937889 +10.97 -0.099653 +10.98 -0.105235 +10.99 -0.11051 +11 -0.115444 +11.01 -0.119993 +11.02 -0.124089 +11.03 -0.127654 +11.04 -0.130645 +11.05 -0.132993 +11.06 -0.134626 +11.07 -0.135477 +11.08 -0.135481 +11.09 -0.13458 +11.1 -0.132727 +11.11 -0.129886 +11.12 -0.125961 +11.13 -0.121013 +11.14 -0.11507 +11.15 -0.108166 +11.16 -0.100353 +11.17 -0.091702 +11.18 -0.0822992 +11.19 -0.0722465 +11.2 -0.0616587 +11.21 -0.0506527 +11.22 -0.0393713 +11.23 -0.0279749 +11.24 -0.0166033 +11.25 -0.00539411 +11.26 0.00552035 +11.27 0.0160162 +11.28 0.0259804 +11.29 0.0353136 +11.3 0.0439315 +11.31 0.0517031 +11.32 0.058629 +11.33 0.0646906 +11.34 0.0698791 +11.35 0.0742033 +11.36 0.0776886 +11.37 0.0803753 +11.38 0.0823167 +11.39 0.0835771 +11.4 0.084212 +11.41 0.0842983 +11.42 0.0839508 +11.43 0.0832525 +11.44 0.0822841 +11.45 0.0811222 +11.46 0.0798371 +11.47 0.0784915 +11.48 0.0771395 +11.49 0.0758251 +11.5 0.07459 +11.51 0.0734536 +11.52 0.0724276 +11.53 0.0715154 +11.54 0.0707126 +11.55 0.0700086 +11.56 0.0693882 +11.57 0.0688327 +11.58 0.0683224 +11.59 0.0678378 +11.6 0.0673599 +11.61 0.0668742 +11.62 0.0663725 +11.63 0.0658528 +11.64 0.0653194 +11.65 0.064784 +11.66 0.0642653 +11.67 0.0637887 +11.68 0.0633859 +11.69 0.0631058 +11.7 0.0629858 +11.71 0.063069 +11.72 0.0634003 +11.73 0.0640238 +11.74 0.0649808 +11.75 0.066308 +11.76 0.0680365 +11.77 0.0701894 +11.78 0.0727965 +11.79 0.07587 +11.8 0.079378 +11.81 0.0833008 +11.82 0.0876075 +11.83 0.0922561 +11.84 0.0971942 +11.85 0.10236 +11.86 0.107684 +11.87 0.113088 +11.88 0.118484 +11.89 0.123778 +11.9 0.128884 +11.91 0.133714 +11.92 0.138185 +11.93 0.142216 +11.94 0.145735 +11.95 0.148675 +11.96 0.150977 +11.97 0.152569 +11.98 0.153396 +11.99 0.153469 +12 0.152774 +12.01 0.151306 +12.02 0.149071 +12.03 0.146085 +12.04 0.142371 +12.05 0.137961 +12.06 0.132892 +12.07 0.127162 +12.08 0.120867 +12.09 0.114064 +12.1 0.106805 +12.11 0.0991448 +12.12 0.0911388 +12.13 0.0828418 +12.14 0.0743083 +12.15 0.065592 +12.16 0.0567432 +12.17 0.0478185 +12.18 0.0388756 +12.19 0.0299651 +12.2 0.0211372 +12.21 0.0124422 +12.22 0.00393012 +12.23 -0.00434884 +12.24 -0.0123446 +12.25 -0.0200071 +12.26 -0.0272528 +12.27 -0.0340565 +12.28 -0.0403746 +12.29 -0.0461629 +12.3 -0.0513803 +12.31 -0.0559899 +12.32 -0.0599599 +12.33 -0.0632647 +12.34 -0.0658856 +12.35 -0.067787 +12.36 -0.068957 +12.37 -0.0694407 +12.38 -0.0692572 +12.39 -0.0684354 +12.4 -0.0670143 +12.41 -0.0650419 +12.42 -0.0625754 +12.43 -0.0596795 +12.44 -0.0564261 +12.45 -0.0528766 +12.46 -0.0491395 +12.47 -0.0453011 +12.48 -0.0414458 +12.49 -0.0376568 +12.5 -0.0340145 +12.51 -0.0305947 +12.52 -0.0274675 +12.53 -0.0246956 +12.54 -0.0223506 +12.55 -0.0204888 +12.56 -0.0191235 +12.57 -0.0182791 +12.58 -0.0179704 +12.59 -0.0182029 +12.6 -0.0189734 +12.61 -0.0202702 +12.62 -0.0220749 +12.63 -0.0243625 +12.64 -0.0271365 +12.65 -0.0303264 +12.66 -0.0338915 +12.67 -0.0377926 +12.68 -0.0419894 +12.69 -0.0464417 +12.7 -0.0511096 +12.71 -0.0559542 +12.72 -0.060938 +12.73 -0.0660268 +12.74 -0.0711826 +12.75 -0.0763666 +12.76 -0.0815459 +12.77 -0.0866879 +12.78 -0.09176 +12.79 -0.0967295 +12.8 -0.101563 +12.81 -0.106227 +12.82 -0.110686 +12.83 -0.114883 +12.84 -0.118795 +12.85 -0.122389 +12.86 -0.125627 +12.87 -0.128473 +12.88 -0.130895 +12.89 -0.132861 +12.9 -0.134341 +12.91 -0.135313 +12.92 -0.135737 +12.93 -0.135592 +12.94 -0.134898 +12.95 -0.133658 +12.96 -0.13188 +12.97 -0.129581 +12.98 -0.126785 +12.99 -0.123522 +13 -0.119831 +13.01 -0.115755 +13.02 -0.111319 +13.03 -0.106607 +13.04 -0.101677 +13.05 -0.0965862 +13.06 -0.091393 +13.07 -0.0861546 +13.08 -0.0809261 +13.09 -0.0757595 +13.1 -0.0707032 +13.11 -0.0658081 +13.12 -0.0611187 +13.13 -0.0566591 +13.14 -0.0524556 +13.15 -0.0485292 +13.16 -0.0448956 +13.17 -0.041566 +13.18 -0.0385475 +13.19 -0.0358436 +13.2 -0.0334552 +13.21 -0.0314066 +13.22 -0.0296709 +13.23 -0.0282429 +13.24 -0.027119 +13.25 -0.0262957 +13.26 -0.0257698 +13.27 -0.0255384 +13.28 -0.0255985 +13.29 -0.0259472 +13.3 -0.0265913 +13.31 -0.0275278 +13.32 -0.0287352 +13.33 -0.0302031 +13.34 -0.0319172 +13.35 -0.0338589 +13.36 -0.0360048 +13.37 -0.0383259 +13.38 -0.0407875 +13.39 -0.0433492 +13.4 -0.0459645 +13.41 -0.0485727 +13.42 -0.0511158 +13.43 -0.0535323 +13.44 -0.0557577 +13.45 -0.057726 +13.46 -0.0593711 +13.47 -0.060628 +13.48 -0.061435 +13.49 -0.0617126 +13.5 -0.0613996 +13.51 -0.0604787 +13.52 -0.0589173 +13.53 -0.0566931 +13.54 -0.053795 +13.55 -0.0502235 +13.56 -0.0459916 +13.57 -0.041124 +13.58 -0.0356576 +13.59 -0.0295996 +13.6 -0.023058 +13.61 -0.0161044 +13.62 -0.00881618 +13.63 -0.00127644 +13.64 0.0064273 +13.65 0.014205 +13.66 0.0219659 +13.67 0.0296202 +13.68 0.03707 +13.69 0.0442219 +13.7 0.0510104 +13.71 0.0573682 +13.72 0.0632365 +13.73 0.0685657 +13.74 0.0733165 +13.75 0.0774599 +13.76 0.0809771 +13.77 0.08386 +13.78 0.0860586 +13.79 0.0876371 +13.8 0.0886198 +13.81 0.089037 +13.82 0.0889259 +13.83 0.0883296 +13.84 0.0872966 +13.85 0.0858795 +13.86 0.0841339 +13.87 0.0821093 +13.88 0.0798707 +13.89 0.07749 +13.9 0.0750265 +13.91 0.0725382 +13.92 0.0700817 +13.93 0.0677112 +13.94 0.0654783 +13.95 0.0634316 +13.96 0.0616162 +13.97 0.0600999 +13.98 0.0589004 +13.99 0.0580495 +14 0.0575754 +14.01 0.0575017 +14.02 0.0578474 +14.03 0.0586265 +14.04 0.0598478 +14.05 0.061515 +14.06 0.0636445 +14.07 0.0662299 +14.08 0.069237 +14.09 0.0726466 +14.1 0.0764339 +14.11 0.0805689 +14.12 0.0850162 +14.13 0.0897357 +14.14 0.0946826 +14.15 0.0998078 +14.16 0.105065 +14.17 0.110382 +14.18 0.115702 +14.19 0.120963 +14.2 0.126106 +14.21 0.131068 +14.22 0.135791 +14.23 0.140217 +14.24 0.144291 +14.25 0.147943 +14.26 0.15112 +14.27 0.153801 +14.28 0.155952 +14.29 0.157546 +14.3 0.158565 +14.31 0.158996 +14.32 0.158836 +14.33 0.158088 +14.34 0.156763 +14.35 0.154836 +14.36 0.152382 +14.37 0.149434 +14.38 0.146031 +14.39 0.142217 +14.4 0.138038 +14.41 0.133542 +14.42 0.12878 +14.43 0.123801 +14.44 0.118649 +14.45 0.113375 +14.46 0.108029 +14.47 0.102649 +14.48 0.0972679 +14.49 0.0919125 +14.5 0.0866037 +14.51 0.0813559 +14.52 0.0761771 +14.53 0.0710691 +14.54 0.0660325 +14.55 0.0610507 +14.56 0.0561085 +14.57 0.0511873 +14.58 0.0462658 +14.59 0.0413214 +14.6 0.0363309 +14.61 0.031272 +14.62 0.0261239 +14.63 0.0208635 +14.64 0.0154752 +14.65 0.00995492 +14.66 0.00429868 +14.67 -0.00149205 +14.68 -0.00741044 +14.69 -0.0134443 +14.7 -0.0195763 +14.71 -0.0257848 +14.72 -0.0320439 +14.73 -0.0383239 +14.74 -0.0445894 +14.75 -0.0508078 +14.76 -0.0569466 +14.77 -0.0629741 +14.78 -0.0688608 +14.79 -0.0745795 +14.8 -0.0801066 +14.81 -0.0854223 +14.82 -0.0905007 +14.83 -0.0953295 +14.84 -0.0999126 +14.85 -0.104248 +14.86 -0.108337 +14.87 -0.112182 +14.88 -0.115791 +14.89 -0.119169 +14.9 -0.122323 +14.91 -0.125259 +14.92 -0.127963 +14.93 -0.130454 +14.94 -0.132729 +14.95 -0.13478 +14.96 -0.136597 +14.97 -0.138164 +14.98 -0.13946 +14.99 -0.140462 +15 -0.141141 +15.01 -0.141453 +15.02 -0.141362 +15.03 -0.140853 +15.04 -0.139896 +15.05 -0.138465 +15.06 -0.136538 +15.07 -0.134097 +15.08 -0.131134 +15.09 -0.127646 +15.1 -0.12364 +15.11 -0.119089 +15.12 -0.114068 +15.13 -0.108612 +15.14 -0.102769 +15.15 -0.0965929 +15.16 -0.0901481 +15.17 -0.0835037 +15.18 -0.0767348 +15.19 -0.0699203 +15.2 -0.0631463 +15.21 -0.0565039 +15.22 -0.0500708 +15.23 -0.0439233 +15.24 -0.0381325 +15.25 -0.0327634 +15.26 -0.0278735 +15.27 -0.0235114 +15.28 -0.0197168 +15.29 -0.0165197 +15.3 -0.0139931 +15.31 -0.0120924 +15.32 -0.0108152 +15.33 -0.0101497 +15.34 -0.0100758 +15.35 -0.0105654 +15.36 -0.0115838 +15.37 -0.0130907 +15.38 -0.0150407 +15.39 -0.0174002 +15.4 -0.0201101 +15.41 -0.0231003 +15.42 -0.026316 +15.43 -0.0297024 +15.44 -0.0332051 +15.45 -0.0367707 +15.46 -0.0403466 +15.47 -0.0438819 +15.48 -0.0473272 +15.49 -0.0506194 +15.5 -0.0537215 +15.51 -0.0565904 +15.52 -0.0591848 +15.53 -0.0614659 +15.54 -0.0633973 +15.55 -0.0649452 +15.56 -0.0660788 +15.57 -0.0667708 +15.58 -0.0669757 +15.59 -0.0666742 +15.6 -0.0658725 +15.61 -0.0645626 +15.62 -0.0627421 +15.63 -0.060415 +15.64 -0.0575915 +15.65 -0.0542883 +15.66 -0.050529 +15.67 -0.0463425 +15.68 -0.0417364 +15.69 -0.0367893 +15.7 -0.0315492 +15.71 -0.0260685 +15.72 -0.0204024 +15.73 -0.014609 +15.74 -0.00874716 +15.75 -0.00287609 +15.76 0.00294601 +15.77 0.00865569 +15.78 0.0141946 +15.79 0.0195195 +15.8 0.0245871 +15.81 0.02936 +15.82 0.0338067 +15.83 0.0379019 +15.84 0.0416267 +15.85 0.0449683 +15.86 0.0479189 +15.87 0.0504454 +15.88 0.0525856 +15.89 0.0543485 +15.9 0.0557466 +15.91 0.0567953 +15.92 0.0575121 +15.93 0.0579161 +15.94 0.0580273 +15.95 0.0578662 +15.96 0.0574426 +15.97 0.0567803 +15.98 0.0559092 +15.99 0.0548484 +16 0.0536163 +16.01 0.0522311 +16.02 0.0507103 +16.03 0.0490716 +16.04 0.0473323 +16.05 0.0455099 +16.06 0.0436182 +16.07 0.041682 +16.08 0.0397193 +16.09 0.037748 +16.1 0.0357858 +16.11 0.0338497 +16.12 0.0319556 +16.13 0.0301181 +16.14 0.0283498 +16.15 0.0266652 +16.16 0.0250715 +16.17 0.0235693 +16.18 0.0221587 +16.19 0.0208363 +16.2 0.0195952 +16.21 0.0184252 +16.22 0.017313 +16.23 0.0162428 +16.24 0.0151971 +16.25 0.0141559 +16.26 0.0130987 +16.27 0.0120079 +16.28 0.010868 +16.29 0.00966652 +16.3 0.0083949 +16.31 0.00704955 +16.32 0.00563233 +16.33 0.00415108 +16.34 0.00261855 +16.35 0.00105871 +16.36 -0.000498765 +16.37 -0.00202066 +16.38 -0.00346911 +16.39 -0.00480263 +16.4 -0.00597731 +16.41 -0.00694815 +16.42 -0.00767054 +16.43 -0.00810035 +16.44 -0.00816922 +16.45 -0.00786859 +16.46 -0.00717175 +16.47 -0.00605955 +16.48 -0.00452128 +16.49 -0.0025552 +16.5 -0.000168893 +16.51 0.00262077 +16.52 0.00578795 +16.53 0.00931282 +16.54 0.013145 +16.55 0.017222 +16.56 0.0214899 +16.57 0.0258916 +16.58 0.0303686 +16.59 0.0348622 +16.6 0.039315 +16.61 0.0436728 +16.62 0.0478846 +16.63 0.051887 +16.64 0.0556552 +16.65 0.0591582 +16.66 0.062372 +16.67 0.0652791 +16.68 0.0678688 +16.69 0.0701359 +16.7 0.0720803 +16.71 0.0737061 +16.72 0.0750061 +16.73 0.0759939 +16.74 0.0766919 +16.75 0.0771106 +16.76 0.0772593 +16.77 0.0771458 +16.78 0.0767759 +16.79 0.0761532 +16.8 0.075279 +16.81 0.0741513 +16.82 0.0727481 +16.83 0.0710867 +16.84 0.0691639 +16.85 0.0669775 +16.86 0.0645273 +16.87 0.0618157 +16.88 0.058849 +16.89 0.0556376 +16.9 0.0521971 +16.91 0.0485395 +16.92 0.044697 +16.93 0.0407099 +16.94 0.0366153 +16.95 0.0324545 +16.96 0.0282715 +16.97 0.024112 +16.98 0.0200221 +16.99 0.0160472 +17 0.0122308 +17.01 0.00862957 +17.02 0.00526196 +17.03 0.00215295 +17.04 -0.000680382 +17.05 -0.00322958 +17.06 -0.00549518 +17.07 -0.00748687 +17.08 -0.00922319 +17.09 -0.010731 +17.1 -0.0120371 +17.11 -0.0131896 +17.12 -0.0142419 +17.13 -0.0152429 +17.14 -0.0162427 +17.15 -0.0172902 +17.16 -0.0184321 +17.17 -0.0197106 +17.18 -0.0211618 +17.19 -0.0228162 +17.2 -0.024712 +17.21 -0.0268418 +17.22 -0.0292053 +17.23 -0.0317924 +17.24 -0.0345836 +17.25 -0.037551 +17.26 -0.0406584 +17.27 -0.0438636 +17.28 -0.0471191 +17.29 -0.050371 +17.3 -0.0535606 +17.31 -0.0566355 +17.32 -0.0595454 +17.33 -0.0622432 +17.34 -0.0646872 +17.35 -0.0668416 +17.36 -0.068678 +17.37 -0.0701758 +17.38 -0.0713201 +17.39 -0.0720811 +17.4 -0.0724931 +17.41 -0.0725692 +17.42 -0.0723297 +17.43 -0.0718004 +17.44 -0.071012 +17.45 -0.0699988 +17.46 -0.0687972 +17.47 -0.0674449 +17.48 -0.0659754 +17.49 -0.0644302 +17.5 -0.0628462 +17.51 -0.0612532 +17.52 -0.0596767 +17.53 -0.0581375 +17.54 -0.0566519 +17.55 -0.0552307 +17.56 -0.0538801 +17.57 -0.0526019 +17.58 -0.0513971 +17.59 -0.0502519 +17.6 -0.049155 +17.61 -0.0480923 +17.62 -0.0470473 +17.63 -0.0460023 +17.64 -0.0449383 +17.65 -0.0438364 +17.66 -0.0426773 +17.67 -0.041438 +17.68 -0.0401004 +17.69 -0.0386517 +17.7 -0.037078 +17.71 -0.0353676 +17.72 -0.0335107 +17.73 -0.0314999 +17.74 -0.0293305 +17.75 -0.0270001 +17.76 -0.0245078 +17.77 -0.0218461 +17.78 -0.0190338 +17.79 -0.0160801 +17.8 -0.0129966 +17.81 -0.00979792 +17.82 -0.00650076 +17.83 -0.00312441 +17.84 0.000309756 +17.85 0.00377845 +17.86 0.00725595 +17.87 0.0107131 +17.88 0.0141229 +17.89 0.0174583 +17.9 0.0206928 +17.91 0.0238009 +17.92 0.0267586 +17.93 0.0295438 +17.94 0.0321371 +17.95 0.0345202 +17.96 0.0366636 +17.97 0.0385753 +17.98 0.0402506 +17.99 0.0416884 +18 0.0428916 +18.01 0.0438665 +18.02 0.0446227 +18.03 0.0451722 +18.04 0.0455297 +18.05 0.0457027 +18.06 0.0457133 +18.07 0.0455849 +18.08 0.0453341 +18.09 0.0449768 +18.1 0.0445274 +18.11 0.0439983 +18.12 0.0433998 +18.13 0.0427403 +18.14 0.0420253 +18.15 0.0412555 +18.16 0.0404372 +18.17 0.0395713 +18.18 0.0386583 +18.19 0.0376983 +18.2 0.0366925 +18.21 0.0356428 +18.22 0.0345532 +18.23 0.0334298 +18.24 0.0322803 +18.25 0.0311183 +18.26 0.029959 +18.27 0.0288195 +18.28 0.0277192 +18.29 0.0266786 +18.3 0.0257191 +18.31 0.0248621 +18.32 0.0241279 +18.33 0.0235361 +18.34 0.0231135 +18.35 0.0228588 +18.36 0.0227767 +18.37 0.022866 +18.38 0.0231189 +18.39 0.0235213 +18.4 0.024052 +18.41 0.0246835 +18.42 0.0253826 +18.43 0.02611 +18.44 0.0268179 +18.45 0.0274601 +18.46 0.0279906 +18.47 0.0283643 +18.48 0.0285387 +18.49 0.0284756 +18.5 0.0281426 +18.51 0.0275146 +18.52 0.0265718 +18.53 0.0252859 +18.54 0.0236862 +18.55 0.0217878 +18.56 0.019616 +18.57 0.0172054 +18.58 0.0145989 +18.59 0.0118466 +18.6 0.00900374 +18.61 0.00612927 +18.62 0.00328855 +18.63 0.000546967 +18.64 -0.00204047 +18.65 -0.00442282 +18.66 -0.0065562 +18.67 -0.00840539 +18.68 -0.009945 +18.69 -0.0111604 +18.7 -0.0120483 +18.71 -0.0126133 +18.72 -0.0128573 +18.73 -0.0128354 +18.74 -0.0125872 +18.75 -0.0121591 +18.76 -0.0116024 +18.77 -0.0109716 +18.78 -0.010322 +18.79 -0.00970751 +18.8 -0.00917872 +18.81 -0.00879013 +18.82 -0.00857996 +18.83 -0.00857144 +18.84 -0.00878253 +18.85 -0.00922093 +18.86 -0.00988406 +18.87 -0.0107593 +18.88 -0.0118247 +18.89 -0.0130501 +18.9 -0.0143993 +18.91 -0.0158311 +18.92 -0.0172907 +18.93 -0.0187311 +18.94 -0.0201066 +18.95 -0.0213743 +18.96 -0.022496 +18.97 -0.0234397 +18.98 -0.0241803 +18.99 -0.0247013 +19 -0.0249818 +19.01 -0.0250291 +19.02 -0.0248611 +19.03 -0.0244961 +19.04 -0.0239589 +19.05 -0.0232798 +19.06 -0.0224924 +19.07 -0.0216327 +19.08 -0.0207373 +19.09 -0.0198418 +19.1 -0.0189837 +19.11 -0.0181901 +19.12 -0.0174831 +19.13 -0.0168785 +19.14 -0.0163852 +19.15 -0.0160056 +19.16 -0.015735 +19.17 -0.0155628 +19.18 -0.0154727 +19.19 -0.0154463 +19.2 -0.0154553 +19.21 -0.0154722 +19.22 -0.0154709 +19.23 -0.0154269 +19.24 -0.0153183 +19.25 -0.015127 +19.26 -0.0148396 +19.27 -0.0144484 +19.28 -0.0139505 +19.29 -0.013345 +19.3 -0.0126516 +19.31 -0.0118876 +19.32 -0.0110751 +19.33 -0.0102399 +19.34 -0.00941073 +19.35 -0.00861738 +19.36 -0.00788988 +19.37 -0.00725699 +19.38 -0.00675304 +19.39 -0.00639922 +19.4 -0.00620838 +19.41 -0.00619152 +19.42 -0.00635351 +19.43 -0.00669289 +19.44 -0.00720189 +19.45 -0.00786681 +19.46 -0.00866849 +19.47 -0.00958427 +19.48 -0.010589 +19.49 -0.0116442 +19.5 -0.0127185 +19.51 -0.0137806 +19.52 -0.0148004 +19.53 -0.0157505 +19.54 -0.0166069 +19.55 -0.0173495 +19.56 -0.0179634 +19.57 -0.0184307 +19.58 -0.0187508 +19.59 -0.0189302 +19.6 -0.0189758 +19.61 -0.0188992 +19.62 -0.0187156 +19.63 -0.0184433 +19.64 -0.0181027 +19.65 -0.0177151 +19.66 -0.0173021 +19.67 -0.0168862 +19.68 -0.0164881 +19.69 -0.016124 +19.7 -0.0158075 +19.71 -0.0155486 +19.72 -0.0153537 +19.73 -0.0152255 +19.74 -0.015163 +19.75 -0.0151619 +19.76 -0.0152174 +19.77 -0.0153166 +19.78 -0.0154455 +19.79 -0.0155904 +19.8 -0.0157368 +19.81 -0.0158702 +19.82 -0.0159761 +19.83 -0.0160414 +19.84 -0.0160538 +19.85 -0.0160017 +19.86 -0.0158716 +19.87 -0.0156617 +19.88 -0.0153676 +19.89 -0.014987 +19.9 -0.0145191 +19.91 -0.0139649 +19.92 -0.0133271 +19.93 -0.0126092 +19.94 -0.0118162 +19.95 -0.0109501 +19.96 -0.0100201 +19.97 -0.00903503 +19.98 -0.00800242 +19.99 -0.00692993 +20 -0.00582552 +20.01 -0.00469729 +20.02 -0.00355351 +20.03 -0.00240253 +20.04 -0.00125289 +20.05 -0.000114246 +20.06 0.00100546 +20.07 0.00209849 +20.08 0.00315766 +20.09 0.00417658 +20.1 0.00514987 +20.11 0.00607347 +20.12 0.00694487 +20.13 0.00776339 +20.14 0.00852758 +20.15 0.00924319 +20.16 0.00991804 +20.17 0.0105608 +20.18 0.0111822 +20.19 0.011795 +20.2 0.0124136 +20.21 0.0130534 +20.22 0.0137304 +20.23 0.0144617 +20.24 0.0152677 +20.25 0.0161578 +20.26 0.0171427 +20.27 0.0182302 +20.28 0.019424 +20.29 0.0207239 +20.3 0.0221245 +20.31 0.0236159 +20.32 0.0251828 +20.33 0.0268071 +20.34 0.0284594 +20.35 0.0301092 +20.36 0.0317242 +20.37 0.0332703 +20.38 0.0347125 +20.39 0.0360161 +20.4 0.0371478 +20.41 0.0380773 +20.42 0.0387741 +20.43 0.0392016 +20.44 0.0393623 +20.45 0.039249 +20.46 0.0388622 +20.47 0.0382094 +20.48 0.0373057 +20.49 0.0361732 +20.5 0.0348401 +20.51 0.0333402 +20.52 0.0317062 +20.53 0.0299875 +20.54 0.0282296 +20.55 0.0264743 +20.56 0.0247615 +20.57 0.0231274 +20.58 0.0216034 +20.59 0.0202151 +20.6 0.0189813 +20.61 0.017916 +20.62 0.0170316 +20.63 0.0163106 +20.64 0.0157399 +20.65 0.0153 +20.66 0.014966 +20.67 0.0147087 +20.68 0.0144959 +20.69 0.0142945 +20.7 0.0140715 +20.71 0.0137907 +20.72 0.0134241 +20.73 0.0129515 +20.74 0.0123573 +20.75 0.0116327 +20.76 0.0107765 +20.77 0.00979485 +20.78 0.0087014 +20.79 0.00751661 +20.8 0.00626643 +20.81 0.00498405 +20.82 0.00370936 +20.83 0.00247974 +20.84 0.00133268 +20.85 0.000304162 +20.86 -0.000572856 +20.87 -0.0012699 +20.88 -0.00176422 +20.89 -0.00203975 +20.9 -0.00207402 +20.91 -0.00187502 +20.92 -0.00145752 +20.93 -0.000837672 +20.94 -3.84077e-05 +20.95 0.000911598 +20.96 0.00197912 +20.97 0.00312779 +20.98 0.00431961 +20.99 0.00551593 +21 0.00667524 +21.01 0.0077649 +21.02 0.00875685 +21.03 0.00962868 +21.04 0.0103644 +21.05 0.010955 +21.06 0.0113982 +21.07 0.0116991 +21.08 0.0118686 +21.09 0.011918 +21.1 0.0118753 +21.11 0.0117685 +21.12 0.0116246 +21.13 0.0114705 +21.14 0.0113319 +21.15 0.0112321 +21.16 0.0111903 +21.17 0.0112211 +21.18 0.011335 +21.19 0.0115386 +21.2 0.0118215 +21.21 0.0121728 +21.22 0.0125763 +21.23 0.0130107 +21.24 0.0134511 +21.25 0.0138703 +21.26 0.0142395 +21.27 0.0145304 +21.28 0.014708 +21.29 0.0147504 +21.3 0.0146416 +21.31 0.0143682 +21.32 0.013923 +21.33 0.0133049 +21.34 0.0125199 +21.35 0.0115801 +21.36 0.0105036 +21.37 0.00931234 +21.38 0.00803276 +21.39 0.00670351 +21.4 0.00535715 +21.41 0.00402615 +21.42 0.00274153 +21.43 0.00153152 +21.44 0.000420347 +21.45 -0.000572826 +21.46 -0.00143467 +21.47 -0.00214959 +21.48 -0.00272339 +21.49 -0.00316715 +21.5 -0.00349461 +21.51 -0.00372486 +21.52 -0.00388142 +21.53 -0.00399109 +21.54 -0.00408266 +21.55 -0.00418557 +21.56 -0.0043298 +21.57 -0.00454752 +21.58 -0.00485804 +21.59 -0.00527899 +21.6 -0.0058225 +21.61 -0.00649466 +21.62 -0.00729522 +21.63 -0.00821764 +21.64 -0.00924932 +21.65 -0.0103722 +21.66 -0.0115663 +21.67 -0.0127996 +21.68 -0.0140414 +21.69 -0.0152619 +21.7 -0.0164316 +21.71 -0.0175228 +21.72 -0.0185109 +21.73 -0.0193753 +21.74 -0.0201004 +21.75 -0.0206731 +21.76 -0.0210821 +21.77 -0.021341 +21.78 -0.0214589 +21.79 -0.0214507 +21.8 -0.0213356 +21.81 -0.0211368 +21.82 -0.0208804 +21.83 -0.020594 +21.84 -0.0203055 +21.85 -0.0200455 +21.86 -0.0198403 +21.87 -0.0197106 +21.88 -0.0196739 +21.89 -0.0197428 +21.9 -0.0199249 +21.91 -0.0202222 +21.92 -0.0206319 +21.93 -0.0211458 +21.94 -0.021753 +21.95 -0.0224386 +21.96 -0.0231771 +21.97 -0.023947 +21.98 -0.0247262 +21.99 -0.0254932 +22 -0.0262276 +22.01 -0.0269114 +22.02 -0.0275297 +22.03 -0.0280712 +22.04 -0.0285232 +22.05 -0.0288866 +22.06 -0.0291658 +22.07 -0.0293674 +22.08 -0.0295016 +22.09 -0.0295814 +22.1 -0.0296224 +22.11 -0.0296416 +22.12 -0.0296564 +22.13 -0.0296846 +22.14 -0.0297447 +22.15 -0.029849 +22.16 -0.0300074 +22.17 -0.0302266 +22.18 -0.030509 +22.19 -0.030853 +22.2 -0.0312525 +22.21 -0.0316972 +22.22 -0.0321729 +22.23 -0.0326615 +22.24 -0.0331395 +22.25 -0.0335836 +22.26 -0.0339694 +22.27 -0.0342723 +22.28 -0.0344677 +22.29 -0.0345327 +22.3 -0.0344461 +22.31 -0.0341892 +22.32 -0.0337425 +22.33 -0.0330848 +22.34 -0.0322214 +22.35 -0.0311497 +22.36 -0.0298711 +22.37 -0.0283912 +22.38 -0.0267195 +22.39 -0.0248691 +22.4 -0.0228563 +22.41 -0.0207003 +22.42 -0.0184161 +22.43 -0.0160347 +22.44 -0.0135835 +22.45 -0.0110882 +22.46 -0.00857449 +22.47 -0.00606804 +22.48 -0.00359392 +22.49 -0.00117624 +22.5 0.00116211 +22.51 0.00339714 +22.52 0.00550233 +22.53 0.00746739 +22.54 0.00927752 +22.55 0.0109204 +22.56 0.0123862 +22.57 0.0136679 +22.58 0.0147613 +22.59 0.015665 +22.6 0.0163806 +22.61 0.0169011 +22.62 0.0172433 +22.63 0.0174221 +22.64 0.017451 +22.65 0.0173463 +22.66 0.017126 +22.67 0.0168102 +22.68 0.0164203 +22.69 0.0159785 +22.7 0.0155072 +22.71 0.0150306 +22.72 0.0145714 +22.73 0.0141491 +22.74 0.0137809 +22.75 0.0134809 +22.76 0.0132605 +22.77 0.0131269 +22.78 0.0130838 +22.79 0.0131307 +22.8 0.0132681 +22.81 0.0134824 +22.82 0.0137592 +22.83 0.0140828 +22.84 0.0144351 +22.85 0.0147965 +22.86 0.0151464 +22.87 0.0154644 +22.88 0.0157308 +22.89 0.0159258 +22.9 0.0160293 +22.91 0.0160348 +22.92 0.0159352 +22.93 0.0157276 +22.94 0.015414 +22.95 0.015001 +22.96 0.0144996 +22.97 0.0139252 +22.98 0.0132965 +22.99 0.0126349 +23 0.0119681 +23.01 0.0113216 +23.02 0.0107203 +23.03 0.0101877 +23.04 0.00974498 +23.05 0.0094103 +23.06 0.00919766 +23.07 0.00911644 +23.08 0.00917399 +23.09 0.00937372 +23.1 0.0096991 +23.11 0.010137 +23.12 0.0106697 +23.13 0.0112752 +23.14 0.0119286 +23.15 0.0126025 +23.16 0.0132686 +23.17 0.0138986 +23.18 0.0144593 +23.19 0.0149272 +23.2 0.015283 +23.21 0.0155106 +23.22 0.015599 +23.23 0.0155426 +23.24 0.0153417 +23.25 0.0150022 +23.26 0.0145354 +23.27 0.0139555 +23.28 0.0132818 +23.29 0.0125456 +23.3 0.0117732 +23.31 0.0109917 +23.32 0.010228 +23.33 0.00950739 +23.34 0.00885285 +23.35 0.00828373 +23.36 0.00781515 +23.37 0.00746525 +23.38 0.00723335 +23.39 0.00711583 +23.4 0.00710601 +23.41 0.00719247 +23.42 0.00735964 +23.43 0.00758865 +23.44 0.00785823 +23.45 0.00814577 +23.46 0.00842778 +23.47 0.00867923 +23.48 0.00888126 +23.49 0.00901767 +23.5 0.00907618 +23.51 0.00904907 +23.52 0.00893348 +23.53 0.00873163 +23.54 0.00845071 +23.55 0.00810256 +23.56 0.00770099 +23.57 0.00727008 +23.58 0.00683301 +23.59 0.00641327 +23.6 0.0060345 +23.61 0.0057194 +23.62 0.00548872 +23.63 0.00536025 +23.64 0.00534801 +23.65 0.00546488 +23.66 0.00572026 +23.67 0.0061047 +23.68 0.00661144 +23.69 0.00722886 +23.7 0.00794096 +23.71 0.00872799 +23.72 0.0095673 +23.73 0.0104342 +23.74 0.0113032 +23.75 0.0121454 +23.76 0.0129356 +23.77 0.0136525 +23.78 0.0142776 +23.79 0.014796 +23.8 0.0151972 +23.81 0.0154752 +23.82 0.0156287 +23.83 0.0156609 +23.84 0.0155767 +23.85 0.0153852 +23.86 0.015108 +23.87 0.0147621 +23.88 0.0143656 +23.89 0.0139368 +23.9 0.0134937 +23.91 0.0130526 +23.92 0.012628 +23.93 0.0122313 +23.94 0.0118738 +23.95 0.0115584 +23.96 0.0112849 +23.97 0.0110502 +23.98 0.0108481 +23.99 0.0106696 +24 0.0105035 +24.01 0.0103371 +24.02 0.010157 +24.03 0.00994876 +24.04 0.00969712 +24.05 0.00939312 +24.06 0.00902829 +24.07 0.00859689 +24.08 0.0080963 +24.09 0.00752715 +24.1 0.0068934 +24.11 0.00620216 +24.12 0.00546345 +24.13 0.00468833 +24.14 0.00389454 +24.15 0.00309851 +24.16 0.00231647 +24.17 0.00156437 +24.18 0.000857131 +24.19 0.000208027 +24.2 -0.000371904 +24.21 -0.000874323 +24.22 -0.00129165 +24.23 -0.00161915 +24.24 -0.00186385 +24.25 -0.00203092 +24.26 -0.00212844 +24.27 -0.00216708 +24.28 -0.00215955 +24.29 -0.0021201 +24.3 -0.00206391 +24.31 -0.00200647 +24.32 -0.00196495 +24.33 -0.001954 +24.34 -0.00198587 +24.35 -0.00207114 +24.36 -0.00221816 +24.37 -0.00243282 +24.38 -0.00271855 +24.39 -0.00307624 +24.4 -0.00350446 +24.41 -0.00400128 +24.42 -0.00456254 +24.43 -0.00517712 +24.44 -0.00583687 +24.45 -0.00653306 +24.46 -0.00725678 +24.47 -0.00799926 +24.48 -0.00875219 +24.49 -0.00950796 +24.5 -0.0102598 +24.51 -0.011001 +24.52 -0.0117269 +24.53 -0.0124341 +24.54 -0.0131196 +24.55 -0.0137812 +24.56 -0.0144171 +24.57 -0.0150257 +24.58 -0.0156054 +24.59 -0.0161546 +24.6 -0.0166703 +24.61 -0.017149 +24.62 -0.0175898 +24.63 -0.0179897 +24.64 -0.0183456 +24.65 -0.0186541 +24.66 -0.0189123 +24.67 -0.0191175 +24.68 -0.0192679 +24.69 -0.0193623 +24.7 -0.019397 +24.71 -0.0193772 +24.72 -0.0193068 +24.73 -0.019191 +24.74 -0.0190359 +24.75 -0.0188494 +24.76 -0.0186404 +24.77 -0.0184188 +24.78 -0.0181947 +24.79 -0.017979 +24.8 -0.0177832 +24.81 -0.0176154 +24.82 -0.017483 +24.83 -0.0173913 +24.84 -0.0173434 +24.85 -0.0173397 +24.86 -0.017378 +24.87 -0.0174532 +24.88 -0.0175576 +24.89 -0.0176811 +24.9 -0.0178089 +24.91 -0.0179259 +24.92 -0.0180166 +24.93 -0.0180646 +24.94 -0.0180541 +24.95 -0.0179702 +24.96 -0.0177995 +24.97 -0.0175309 +24.98 -0.0171531 +24.99 -0.0166579 +25 -0.0160509 +25.01 -0.0153356 +25.02 -0.014519 +25.03 -0.0136121 +25.04 -0.0126287 +25.05 -0.0115857 +25.06 -0.0105019 +25.07 -0.00939762 +25.08 -0.00829539 +25.09 -0.0072176 +25.1 -0.00618354 +25.11 -0.00521059 +25.12 -0.00431346 +25.13 -0.00350368 +25.14 -0.00278916 +25.15 -0.00217398 +25.16 -0.00165831 +25.17 -0.00124113 +25.18 -0.000916674 +25.19 -0.000668728 +25.2 -0.000484297 +25.21 -0.00034887 +25.22 -0.000247224 +25.23 -0.000164265 +25.24 -8.58521e-05 +25.25 4.24965e-07 +25.26 0.000104563 +25.27 0.000235681 +25.28 0.00039571 +25.29 0.00058352 +25.3 0.000794717 +25.31 0.00102151 +25.32 0.00125313 +25.33 0.00147636 +25.34 0.00167631 +25.35 0.00183721 +25.36 0.00194119 +25.37 0.00197021 +25.38 0.00191517 +25.39 0.00176669 +25.4 0.00151903 +25.41 0.00117067 +25.42 0.000724632 +25.43 0.000188684 +25.44 -0.000424766 +25.45 -0.00109895 +25.46 -0.00181442 +25.47 -0.00254259 +25.48 -0.00325666 +25.49 -0.0039294 +25.5 -0.00453381 +25.51 -0.00504422 +25.52 -0.00543749 +25.53 -0.00569403 +25.54 -0.00579874 +25.55 -0.00573669 +25.56 -0.00549987 +25.57 -0.00510092 +25.58 -0.00454947 +25.59 -0.00386101 +25.6 -0.00305635 +25.61 -0.00216085 +25.62 -0.00120343 +25.63 -0.000215438 +25.64 0.000770625 +25.65 0.00171755 +25.66 0.00259438 +25.67 0.00337441 +25.68 0.00403468 +25.69 0.00455741 +25.7 0.00493071 +25.71 0.00514908 +25.72 0.00521354 +25.73 0.00513161 +25.74 0.00491334 +25.75 0.00457754 +25.76 0.00415584 +25.77 0.00367563 +25.78 0.00316609 +25.79 0.00265678 +25.8 0.00217627 +25.81 0.00175075 +25.82 0.00140279 +25.83 0.00115024 +25.84 0.00101388 +25.85 0.000992473 +25.86 0.00108267 +25.87 0.0012759 +25.88 0.00155739 +25.89 0.00190684 +25.9 0.00229937 +25.91 0.00270664 +25.92 0.0030982 +25.93 0.00344045 +25.94 0.00369829 +25.95 0.00384746 +25.96 0.00386506 +25.97 0.0037336 +25.98 0.003442 +25.99 0.00298636 +26 0.0023704 +26.01 0.00160559 +26.02 0.000710932 +26.03 -0.000292958 +26.04 -0.00136379 +26.05 -0.00246241 +26.06 -0.00354764 +26.07 -0.00457664 +26.08 -0.00550665 +26.09 -0.00629667 +26.1 -0.00690916 +26.11 -0.00731155 +26.12 -0.00746933 +26.13 -0.00735699 +26.14 -0.00697919 +26.15 -0.0063364 +26.16 -0.0054381 +26.17 -0.00430244 +26.18 -0.00295564 +26.19 -0.00143105 +26.2 0.000232111 +26.21 0.00199018 +26.22 0.00379673 +26.23 0.00559713 +26.24 0.00734456 +26.25 0.00899551 +26.26 0.0105109 +26.27 0.0118573 +26.28 0.0130085 +26.29 0.0139456 +26.3 0.0146584 +26.31 0.0151374 +26.32 0.0153861 +26.33 0.0154323 +26.34 0.0152983 +26.35 0.0150122 +26.36 0.014606 +26.37 0.0141148 +26.38 0.0135748 +26.39 0.0130217 +26.4 0.0124895 +26.41 0.0120151 +26.42 0.0116225 +26.43 0.0113306 +26.44 0.0111524 +26.45 0.0110943 +26.46 0.0111559 +26.47 0.0113303 +26.48 0.0116043 +26.49 0.01196 +26.5 0.012376 +26.51 0.0128243 +26.52 0.0132744 +26.53 0.0136988 +26.54 0.0140709 +26.55 0.0143666 +26.56 0.0145653 +26.57 0.0146507 +26.58 0.0146116 +26.59 0.0144422 +26.6 0.014133 +26.61 0.0136995 +26.62 0.013155 +26.63 0.012516 +26.64 0.0118025 +26.65 0.0110374 +26.66 0.0102451 +26.67 0.00945077 +26.68 0.00867859 +26.69 0.00795342 +26.7 0.00729814 +26.71 0.00672561 +26.72 0.00624678 +26.73 0.00586786 +26.74 0.0055901 +26.75 0.0054099 +26.76 0.00531906 +26.77 0.00530534 +26.78 0.00535311 +26.79 0.00544601 +26.8 0.00555958 +26.81 0.0056732 +26.82 0.00576733 +26.83 0.00582412 +26.84 0.00582828 +26.85 0.00576785 +26.86 0.00563473 +26.87 0.00542509 +26.88 0.0051371 +26.89 0.00477553 +26.9 0.00435432 +26.91 0.00388693 +26.92 0.00338962 +26.93 0.00288064 +26.94 0.00237929 +26.95 0.00190495 +26.96 0.00147606 +26.97 0.0011092 +26.98 0.000824944 +26.99 0.00062854 +27 0.000524533 +27.01 0.000513557 +27.02 0.000591536 +27.03 0.000749761 +27.04 0.000975189 +27.05 0.00125094 +27.06 0.00155697 +27.07 0.00187034 +27.08 0.00216436 +27.09 0.00241484 +27.1 0.00259894 +27.11 0.00269584 +27.12 0.00268782 +27.13 0.00256101 +27.14 0.00230617 +27.15 0.00191916 +27.16 0.00140125 +27.17 0.000750431 +27.18 -1.05814e-05 +27.19 -0.000862598 +27.2 -0.00178319 +27.21 -0.00274646 +27.22 -0.00372407 +27.23 -0.00468618 +27.24 -0.00560266 +27.25 -0.0064442 +27.26 -0.00717883 +27.27 -0.00777782 +27.28 -0.00822706 +27.29 -0.00851185 +27.3 -0.00862284 +27.31 -0.00855642 +27.32 -0.00831474 +27.33 -0.00790567 +27.34 -0.00734242 +27.35 -0.00664304 +27.36 -0.00582273 +27.37 -0.00491753 +27.38 -0.00395638 +27.39 -0.00296835 +27.4 -0.00198241 +27.41 -0.00102647 +27.42 -0.000126327 +27.43 0.000695142 +27.44 0.00141873 +27.45 0.002025 +27.46 0.0025012 +27.47 0.00284869 +27.48 0.00306776 +27.49 0.00316325 +27.5 0.00314408 +27.51 0.0030227 +27.52 0.0028144 +27.53 0.00253657 +27.54 0.00220779 +27.55 0.001846 +27.56 0.00147338 +27.57 0.00110707 +27.58 0.000761952 +27.59 0.000450291 +27.6 0.000181393 +27.61 -3.86584e-05 +27.62 -0.00020708 +27.63 -0.000324309 +27.64 -0.000392257 +27.65 -0.00041739 +27.66 -0.000410697 +27.67 -0.000382234 +27.68 -0.000342868 +27.69 -0.000303635 +27.7 -0.000275108 +27.71 -0.00026681 +27.72 -0.000286706 +27.73 -0.000340778 +27.74 -0.000435879 +27.75 -0.000570155 +27.76 -0.000741566 +27.77 -0.000945968 +27.78 -0.00117713 +27.79 -0.0014271 +27.8 -0.00168667 +27.81 -0.0019459 +27.82 -0.00219466 +27.83 -0.00242215 +27.84 -0.00261844 +27.85 -0.00277772 +27.86 -0.00289514 +27.87 -0.00296814 +27.88 -0.00299665 +27.89 -0.00298315 +27.9 -0.00293256 +27.91 -0.00285206 +27.92 -0.00275071 +27.93 -0.00263916 +27.94 -0.00253057 +27.95 -0.00243672 +27.96 -0.00236881 +27.97 -0.00233697 +27.98 -0.00234958 +27.99 -0.00241282 +28 -0.00253024 +28.01 -0.00270242 +28.02 -0.0029286 +28.03 -0.00320267 +28.04 -0.0035129 +28.05 -0.00384755 +28.06 -0.00419286 +28.07 -0.00453362 +28.08 -0.00485393 +28.09 -0.00513795 +28.1 -0.00537075 +28.11 -0.0055391 +28.12 -0.00562546 +28.13 -0.00562797 +28.14 -0.0055441 +28.15 -0.00537518 +28.16 -0.00512697 +28.17 -0.00480968 +28.18 -0.00443779 +28.19 -0.0040296 +28.2 -0.0036067 +28.21 -0.00319454 +28.22 -0.00282216 +28.23 -0.00251505 +28.24 -0.00229847 +28.25 -0.00219566 +28.26 -0.00222679 +28.27 -0.00240791 +28.28 -0.00275011 +28.29 -0.00325877 +28.3 -0.00393306 +28.31 -0.00477753 +28.32 -0.00576403 +28.33 -0.00687041 +28.34 -0.00806971 +28.35 -0.0093302 +28.36 -0.0106164 +28.37 -0.0118905 +28.38 -0.0131133 +28.39 -0.0142461 +28.4 -0.0152454 +28.41 -0.0160728 +28.42 -0.0167065 +28.43 -0.0171246 +28.44 -0.0173121 +28.45 -0.0172619 +28.46 -0.0169749 +28.47 -0.0164601 +28.48 -0.0157347 +28.49 -0.0148232 +28.5 -0.013747 +28.51 -0.0125586 +28.52 -0.0113 +28.53 -0.0100152 +28.54 -0.00874837 +28.55 -0.0075428 +28.56 -0.00643894 +28.57 -0.00547288 +28.58 -0.00467491 +28.59 -0.0040766 +28.6 -0.00369578 +28.61 -0.00352823 +28.62 -0.00357012 +28.63 -0.00380902 +28.64 -0.00422443 +28.65 -0.00478861 +28.66 -0.00546775 +28.67 -0.00622338 +28.68 -0.00701395 +28.69 -0.00779239 +28.7 -0.008514 +28.71 -0.00913953 +28.72 -0.00963403 +28.73 -0.00996843 +28.74 -0.0101207 +28.75 -0.0100768 +28.76 -0.00983127 +28.77 -0.00938764 +28.78 -0.00875142 +28.79 -0.00794515 +28.8 -0.0070066 +28.81 -0.00597075 +28.82 -0.00487681 +28.83 -0.0037666 +28.84 -0.00268272 +28.85 -0.00166661 +28.86 -0.000756844 +28.87 1.26948e-05 +28.88 0.000598481 +28.89 0.000993561 +28.9 0.00118858 +28.91 0.00118274 +28.92 0.000984397 +28.93 0.000610787 +28.94 8.73395e-05 +28.95 -0.000553369 +28.96 -0.00127298 +28.97 -0.00202855 +28.98 -0.00276987 +28.99 -0.00345056 +29 -0.00402781 +29.01 -0.00446289 +29.02 -0.00472285 +29.03 -0.00478205 +29.04 -0.00462344 +29.05 -0.00423936 +29.06 -0.0036321 +29.07 -0.00279798 +29.08 -0.00177922 +29.09 -0.00060889 +29.1 0.000673174 +29.11 0.00202138 +29.12 0.00338622 +29.13 0.00471628 +29.14 0.00596038 +29.15 0.00706969 +29.16 0.00799074 +29.17 0.00868087 +29.18 0.0091204 +29.19 0.00929074 +29.2 0.00918376 +29.21 0.00880215 +29.22 0.00815947 +29.23 0.00727961 +29.24 0.00619599 +29.25 0.00495023 +29.26 0.00358542 +29.27 0.00216834 +29.28 0.000754936 +29.29 -0.000599277 +29.3 -0.00184114 +29.31 -0.00292199 +29.32 -0.00379956 +29.33 -0.00443963 +29.34 -0.00481738 +29.35 -0.0049066 +29.36 -0.0047036 +29.37 -0.00423059 +29.38 -0.0035076 +29.39 -0.00256405 +29.4 -0.00143751 +29.41 -0.00017202 +29.42 0.00118373 +29.43 0.0025785 +29.44 0.00396063 +29.45 0.0052709 +29.46 0.00646591 +29.47 0.00750691 +29.48 0.00836275 +29.49 0.00901118 +29.5 0.0094396 +29.51 0.00964554 +29.52 0.0096366 +29.53 0.00942997 +29.54 0.00904585 +29.55 0.00852213 +29.56 0.00790686 +29.57 0.00724424 +29.58 0.00658022 +29.59 0.00596043 +29.6 0.0054282 +29.61 0.00502268 +29.62 0.00477712 +29.63 0.00471744 +29.64 0.00487936 +29.65 0.00525293 +29.66 0.00583458 +29.67 0.00661155 +29.68 0.00756223 +29.69 0.0086571 +29.7 0.00986002 +29.71 0.0111297 +29.72 0.0124215 +29.73 0.0136859 +29.74 0.0148719 +29.75 0.0159379 +29.76 0.0168454 +29.77 0.0175619 +29.78 0.0180621 +29.79 0.0183287 +29.8 0.0183533 +29.81 0.0181363 +29.82 0.0176871 +29.83 0.0170068 +29.84 0.0161421 +29.85 0.0151258 +29.86 0.0139954 +29.87 0.0127914 +29.88 0.011556 +29.89 0.0103311 +29.9 0.00915673 +29.91 0.00806979 +29.92 0.00710892 +29.93 0.00630304 +29.94 0.00566524 +29.95 0.00520684 +29.96 0.00493189 +29.97 0.00483734 +29.98 0.00491349 +29.99 0.00514473 +30 0.00551044 +30.01 0.00598613 +30.02 0.00654933 +30.03 0.00716219 +30.04 0.00779632 +30.05 0.00842476 +30.06 0.00902307 +30.07 0.00957022 +30.08 0.0100493 +30.09 0.0104481 +30.1 0.010759 +30.11 0.0109756 +30.12 0.0111007 +30.13 0.0111452 +30.14 0.0111193 +30.15 0.0110357 +30.16 0.0109088 +30.17 0.0107536 +30.18 0.0105847 +30.19 0.0104156 +30.2 0.010258 +30.21 0.0101227 +30.22 0.0100138 +30.23 0.00993241 +30.24 0.0098765 +30.25 0.00984032 +30.26 0.00981502 +30.27 0.00978902 +30.28 0.00974866 +30.29 0.00967895 +30.3 0.00956156 +30.31 0.00937959 +30.32 0.00912113 +30.33 0.00877436 +30.34 0.0083301 +30.35 0.00778241 +30.36 0.0071289 +30.37 0.00637101 +30.38 0.00551401 +30.39 0.00456677 +30.4 0.00353652 +30.41 0.00244682 +30.42 0.00131592 +30.43 0.000163645 +30.44 -0.000989311 +30.45 -0.00212216 +30.46 -0.00321476 +30.47 -0.00424826 +30.48 -0.0052058 +30.49 -0.00606832 +30.5 -0.00682355 +30.51 -0.00746764 +30.52 -0.0079961 +30.53 -0.00840763 +30.54 -0.00870399 +30.55 -0.00888963 +30.56 -0.00897136 +30.57 -0.00895788 +30.58 -0.00885916 +30.59 -0.00868103 +30.6 -0.00844201 +30.61 -0.00815332 +30.62 -0.00782564 +30.63 -0.00746877 +30.64 -0.00709144 +30.65 -0.00670122 +30.66 -0.00630443 +30.67 -0.00590629 +30.68 -0.00551128 +30.69 -0.00512314 +30.7 -0.00474455 +30.71 -0.00437813 +30.72 -0.00402658 +30.73 -0.0036929 +30.74 -0.00338061 +30.75 -0.00309385 +30.76 -0.0028374 +30.77 -0.00261682 +30.78 -0.00244202 +30.79 -0.00231616 +30.8 -0.00224541 +30.81 -0.0022355 +30.82 -0.00229133 +30.83 -0.00241655 +30.84 -0.00261318 +30.85 -0.00288121 +30.86 -0.00321837 +30.87 -0.00362244 +30.88 -0.00408444 +30.89 -0.00459113 +30.9 -0.00512941 +30.91 -0.00568406 +30.92 -0.00623811 +30.93 -0.0067734 +30.94 -0.00727118 +30.95 -0.0077128 +30.96 -0.00808017 +30.97 -0.0083485 +30.98 -0.00851092 +30.99 -0.00855724 +31 -0.00848094 +31.01 -0.00827961 +31.02 -0.0079552 +31.03 -0.00751417 +31.04 -0.00696739 +31.05 -0.00632993 +31.06 -0.00561838 +31.07 -0.00485816 +31.08 -0.00407704 +31.09 -0.00330143 +31.1 -0.00255823 +31.11 -0.00187388 +31.12 -0.00127335 +31.13 -0.000779298 +31.14 -0.000411141 +31.15 -0.000184899 +31.16 -0.000124245 +31.17 -0.000222037 +31.18 -0.000477925 +31.19 -0.000886374 +31.2 -0.0014369 +31.21 -0.00211447 +31.22 -0.00290012 +31.23 -0.00377165 +31.24 -0.00470454 +31.25 -0.00567322 +31.26 -0.00664808 +31.27 -0.00760236 +31.28 -0.00851238 +31.29 -0.00935708 +31.3 -0.0101188 +31.31 -0.0107838 +31.32 -0.0113428 +31.33 -0.011791 +31.34 -0.0121279 +31.35 -0.0123503 +31.36 -0.0124767 +31.37 -0.0125199 +31.38 -0.0124956 +31.39 -0.0124213 +31.4 -0.0123158 +31.41 -0.0121978 +31.42 -0.0120856 +31.43 -0.0119959 +31.44 -0.0119455 +31.45 -0.0119462 +31.46 -0.0120037 +31.47 -0.0121212 +31.48 -0.0122979 +31.49 -0.0125287 +31.5 -0.012805 +31.51 -0.0131146 +31.52 -0.0134425 +31.53 -0.013771 +31.54 -0.014078 +31.55 -0.0143437 +31.56 -0.0145486 +31.57 -0.014674 +31.58 -0.0147032 +31.59 -0.0146218 +31.6 -0.0144187 +31.61 -0.0140862 +31.62 -0.0136204 +31.63 -0.0130153 +31.64 -0.0122775 +31.65 -0.0114212 +31.66 -0.010459 +31.67 -0.00940674 +31.68 -0.00828275 +31.69 -0.0071075 +31.7 -0.00590283 +31.71 -0.00469124 +31.72 -0.00349546 +31.73 -0.00234202 +31.74 -0.00124954 +31.75 -0.000236135 +31.76 0.00068249 +31.77 0.00149347 +31.78 0.00218701 +31.79 0.00275656 +31.8 0.00319882 +31.81 0.00351377 +31.82 0.00369867 +31.83 0.00376183 +31.84 0.00371699 +31.85 0.00357537 +31.86 0.00334993 +31.87 0.00305503 +31.88 0.00270595 +31.89 0.00231857 +31.9 0.00190889 +31.91 0.00149278 +31.92 0.00108749 +31.93 0.000707528 +31.94 0.0003659 +31.95 7.42058e-05 +31.96 -0.000157543 +31.97 -0.00032107 +31.98 -0.000409955 +31.99 -0.000419715 +32 -0.000347868 +32.01 -0.00018998 +32.02 5.09554e-05 +32.03 0.000367847 +32.04 0.000754752 +32.05 0.0012039 +32.06 0.0017058 +32.07 0.00224943 +32.08 0.00282241 +32.09 0.00341126 +32.1 0.00400154 +32.11 0.00457602 +32.12 0.0051197 +32.13 0.00561778 +32.14 0.00605614 +32.15 0.00642169 +32.16 0.00670278 +32.17 0.00688959 +32.18 0.00697444 +32.19 0.00695214 +32.2 0.00681473 +32.21 0.00656449 +32.22 0.00620955 +32.23 0.00575699 +32.24 0.00521677 +32.25 0.00460153 +32.26 0.00392631 +32.27 0.00320815 +32.28 0.00246563 +32.29 0.00171845 +32.3 0.000989596 +32.31 0.000298897 +32.32 -0.000334904 +32.33 -0.000894633 +32.34 -0.00136524 +32.35 -0.00173429 +32.36 -0.00199237 +32.37 -0.00213342 +32.38 -0.00215492 +32.39 -0.00205223 +32.4 -0.00183265 +32.41 -0.00150924 +32.42 -0.00109372 +32.43 -0.000600364 +32.44 -4.54233e-05 +32.45 0.000553464 +32.46 0.00117794 +32.47 0.0018096 +32.48 0.00243048 +32.49 0.00302085 +32.5 0.00356771 +32.51 0.00405956 +32.52 0.00448782 +32.53 0.00484713 +32.54 0.00513543 +32.55 0.00535401 +32.56 0.00550734 +32.57 0.00560284 +32.58 0.00564865 +32.59 0.00565904 +32.6 0.00564942 +32.61 0.00563418 +32.62 0.00562772 +32.63 0.00564381 +32.64 0.00569495 +32.65 0.00579179 +32.66 0.00594262 +32.67 0.0061535 +32.68 0.00643135 +32.69 0.00677009 +32.7 0.00716523 +32.71 0.00760931 +32.72 0.00809213 +32.73 0.00860117 +32.74 0.00912208 +32.75 0.00963922 +32.76 0.0101363 +32.77 0.0105943 +32.78 0.0109966 +32.79 0.0113306 +32.8 0.0115841 +32.81 0.0117474 +32.82 0.0118139 +32.83 0.0117797 +32.84 0.0116442 +32.85 0.0114102 +32.86 0.0110826 +32.87 0.0106653 +32.88 0.0101773 +32.89 0.00963222 +32.9 0.00904542 +32.91 0.00843303 +32.92 0.00781158 +32.93 0.00719732 +32.94 0.00660572 +32.95 0.00605087 +32.96 0.00554817 +32.97 0.00510764 +32.98 0.0047345 +32.99 0.00443301 +33 0.0042046 +33.01 0.00404795 +33.02 0.00395911 +33.03 0.0039317 +33.04 0.00395726 +33.05 0.00402588 +33.06 0.00412707 +33.07 0.00424515 +33.08 0.00436739 +33.09 0.00448131 +33.1 0.00457501 +33.11 0.00463769 +33.12 0.00465991 +33.13 0.00463392 +33.14 0.00455386 +33.15 0.0044128 +33.16 0.00421024 +33.17 0.00394906 +33.18 0.00363222 +33.19 0.00326452 +33.2 0.00285243 +33.21 0.00240388 +33.22 0.00192792 +33.23 0.00143446 +33.24 0.000933976 +33.25 0.000438361 +33.26 -4.14753e-05 +33.27 -0.000495506 +33.28 -0.00091443 +33.29 -0.0012899 +33.3 -0.00161473 +33.31 -0.00188301 +33.32 -0.0020903 +33.33 -0.00223362 +33.34 -0.00230806 +33.35 -0.00231521 +33.36 -0.00225916 +33.37 -0.00214321 +33.38 -0.00197189 +33.39 -0.00175086 +33.4 -0.00148673 +33.41 -0.00118687 +33.42 -0.000859219 +33.43 -0.000511959 +33.44 -0.000153551 +33.45 0.00020632 +33.46 0.000559731 +33.47 0.000899309 +33.48 0.00121842 +33.49 0.00151134 +33.5 0.00177337 +33.51 0.00200098 +33.52 0.00219184 +33.53 0.00234287 +33.54 0.00245524 +33.55 0.0025319 +33.56 0.00257561 +33.57 0.00259015 +33.58 0.00258007 +33.59 0.00255056 +33.6 0.00250719 +33.61 0.00245567 +33.62 0.00240165 +33.63 0.00235103 +33.64 0.00230847 +33.65 0.00227763 +33.66 0.00226114 +33.67 0.00226045 +33.68 0.00227575 +33.69 0.00230591 +33.7 0.00234853 +33.71 0.0024 +33.72 0.00245554 +33.73 0.00250879 +33.74 0.00255332 +33.75 0.00258253 +33.76 0.00258985 +33.77 0.00256908 +33.78 0.00251467 +33.79 0.00242211 +33.8 0.00228815 +33.81 0.00211061 +33.82 0.00188689 +33.83 0.00162254 +33.84 0.00132174 +33.85 0.000990495 +33.86 0.000636507 +33.87 0.000268983 +33.88 -0.000101669 +33.89 -0.000464184 +33.9 -0.000806843 +33.91 -0.00111554 +33.92 -0.00137862 +33.93 -0.00158707 +33.94 -0.00173226 +33.95 -0.00180747 +33.96 -0.00180816 +33.97 -0.00173231 +33.98 -0.00158053 +33.99 -0.00135622 +34 -0.00106483 +34.01 -0.000712544 +34.02 -0.00031595 +34.03 0.000111258 +34.04 0.000553789 +34.05 0.000995221 +34.06 0.00141853 +34.07 0.00180662 +34.08 0.00214293 +34.09 0.0024119 +34.1 0.00259437 +34.11 0.00267938 +34.12 0.00266056 +34.13 0.00253173 +34.14 0.00228966 +34.15 0.00193415 +34.16 0.00146803 +34.17 0.000897027 +34.18 0.000229574 +34.19 -0.00052439 +34.2 -0.00135514 +34.21 -0.0022416 +34.22 -0.00316795 +34.23 -0.00411772 +34.24 -0.00507434 +34.25 -0.00602153 +34.26 -0.00694371 +34.27 -0.00782635 +34.28 -0.00865623 +34.29 -0.00941754 +34.3 -0.0101012 +34.31 -0.0107014 +34.32 -0.0112123 +34.33 -0.0116297 +34.34 -0.0119512 +34.35 -0.0121759 +34.36 -0.012304 +34.37 -0.0123375 +34.38 -0.0122778 +34.39 -0.0121236 +34.4 -0.0118863 +34.41 -0.0115712 +34.42 -0.0111841 +34.43 -0.0107315 +34.44 -0.0102203 +34.45 -0.00965802 +34.46 -0.00905264 +34.47 -0.00841281 +34.48 -0.00774685 +34.49 -0.00706628 +34.5 -0.00638223 +34.51 -0.00570553 +34.52 -0.0050473 +34.53 -0.00441878 +34.54 -0.00383114 +34.55 -0.00329516 +34.56 -0.00282099 +34.57 -0.00241887 +34.58 -0.00210199 +34.59 -0.00187087 +34.6 -0.00172932 +34.61 -0.00167887 +34.62 -0.00171863 +34.63 -0.00184513 +34.64 -0.00205229 +34.65 -0.00233153 +34.66 -0.00267191 +34.67 -0.00306231 +34.68 -0.003485 +34.69 -0.00392248 +34.7 -0.00435813 +34.71 -0.00477539 +34.72 -0.00515842 +34.73 -0.00549273 +34.74 -0.00576577 +34.75 -0.00596749 +34.76 -0.00608964 +34.77 -0.00612358 +34.78 -0.00607565 +34.79 -0.00595005 +34.8 -0.00575446 +34.81 -0.0054998 +34.82 -0.0051998 +34.83 -0.00487045 +34.84 -0.00452932 +34.85 -0.00419481 +34.86 -0.00388782 +34.87 -0.0036268 +34.88 -0.00342637 +34.89 -0.00329929 +34.9 -0.00325503 +34.91 -0.0032993 +34.92 -0.00343363 +34.93 -0.00365524 +34.94 -0.00395704 +34.95 -0.00432862 +34.96 -0.00475652 +34.97 -0.0052174 +34.98 -0.00569072 +34.99 -0.00615479 +35 -0.00658778 +35.01 -0.00696874 +35.02 -0.00727865 +35.03 -0.00750136 +35.04 -0.00762447 +35.05 -0.00763361 +35.06 -0.00752942 +35.07 -0.00731853 +35.08 -0.00700982 +35.09 -0.00661718 +35.1 -0.00615911 +35.11 -0.00565789 +35.12 -0.0051387 +35.13 -0.0046285 +35.14 -0.00415576 +35.15 -0.00375319 +35.16 -0.00344182 +35.17 -0.00324194 +35.18 -0.00316899 +35.19 -0.00323268 +35.2 -0.00343624 +35.21 -0.00377601 +35.22 -0.00424124 +35.23 -0.00481425 +35.24 -0.00547406 +35.25 -0.00618465 +35.26 -0.00690859 +35.27 -0.00760783 +35.28 -0.00824299 +35.29 -0.00877497 +35.3 -0.00916668 +35.31 -0.00938472 +35.32 -0.00940092 +35.33 -0.00919008 +35.34 -0.00872487 +35.35 -0.00801851 +35.36 -0.00707741 +35.37 -0.00591736 +35.38 -0.00456319 +35.39 -0.00304805 +35.4 -0.00141232 +35.41 0.000297734 +35.42 0.00203172 +35.43 0.00373202 +35.44 0.00534145 +35.45 0.00681067 +35.46 0.0080938 +35.47 0.00915127 +35.48 0.00995144 +35.49 0.010472 +35.5 0.0107009 +35.51 0.0106371 +35.52 0.0102864 +35.53 0.00965834 +35.54 0.00880593 +35.55 0.00777078 +35.56 0.00660151 +35.57 0.00535187 +35.58 0.00407858 +35.59 0.00283912 +35.6 0.00168941 +35.61 0.000681557 +35.62 -0.000124579 +35.63 -0.000694141 +35.64 -0.00100557 +35.65 -0.00104287 +35.66 -0.000801429 +35.67 -0.000288194 +35.68 0.000478626 +35.69 0.00147033 +35.7 0.00264893 +35.71 0.00397011 +35.72 0.00538163 +35.73 0.00681831 +35.74 0.00822363 +35.75 0.00954257 +35.76 0.0107239 +35.77 0.0117221 +35.78 0.0124996 +35.79 0.0130277 +35.8 0.0132882 +35.81 0.0132574 +35.82 0.0129505 +35.83 0.012392 +35.84 0.0116089 +35.85 0.0106371 +35.86 0.00951952 +35.87 0.0083043 +35.88 0.00704277 +35.89 0.00578719 +35.9 0.00459041 +35.91 0.00350972 +35.92 0.00258135 +35.93 0.00183852 +35.94 0.00130569 +35.95 0.000997597 +35.96 0.000918851 +35.97 0.00106388 +35.98 0.00141735 +35.99 0.00195501 +36 0.00265181 +36.01 0.00345981 +36.02 0.00433209 +36.03 0.0052237 +36.04 0.00608993 +36.05 0.00688827 +36.06 0.00758036 +36.07 0.0081337 +36.08 0.00852298 +36.09 0.00872792 +36.1 0.00873109 +36.11 0.00854868 +36.12 0.00819326 +36.13 0.00768585 +36.14 0.00705486 +36.15 0.0063347 +36.16 0.00556422 +36.17 0.00478487 +36.18 0.00403877 +36.19 0.00337375 +36.2 0.00282793 +36.21 0.00243081 +36.22 0.0022071 +36.23 0.00217369 +36.24 0.00233882 +36.25 0.00270168 +36.26 0.00325249 +36.27 0.00397282 +36.28 0.00483839 +36.29 0.00581793 +36.3 0.00686274 +36.31 0.00793051 +36.32 0.0089776 +36.33 0.00996094 +36.34 0.0108398 +36.35 0.0115778 +36.36 0.0121439 +36.37 0.0125145 +36.38 0.0126602 +36.39 0.0125824 +36.4 0.0122903 +36.41 0.0117966 +36.42 0.0111223 +36.43 0.0102956 +36.44 0.00935076 +36.45 0.00832676 +36.46 0.00726549 +36.47 0.006211 +36.48 0.00521221 +36.49 0.00430762 +36.5 0.00353214 +36.51 0.00291483 +36.52 0.00247777 +36.53 0.00223519 +36.54 0.00219296 +36.55 0.00234841 +36.56 0.00269047 +36.57 0.00320906 +36.58 0.00386834 +36.59 0.00463128 +36.6 0.00546064 +36.61 0.00631645 +36.62 0.00715762 +36.63 0.0079436 +36.64 0.00863588 +36.65 0.00919956 +36.66 0.00960095 +36.67 0.00980541 +36.68 0.00980817 +36.69 0.0096009 +36.7 0.00918281 +36.71 0.00856061 +36.72 0.00774801 +36.73 0.00676512 +36.74 0.00563752 +36.75 0.00439524 +36.76 0.00306861 +36.77 0.00169957 +36.78 0.000325631 +36.79 -0.00101854 +36.8 -0.00230044 +36.81 -0.00349079 +36.82 -0.00456442 +36.83 -0.00550093 +36.84 -0.0062852 +36.85 -0.0069043 +36.86 -0.00734655 +36.87 -0.00762535 +36.88 -0.00774805 +36.89 -0.00772634 +36.9 -0.0075755 +36.91 -0.00731365 +36.92 -0.00696088 +36.93 -0.00653842 +36.94 -0.00606778 +36.95 -0.00556951 +36.96 -0.00506619 +36.97 -0.00457586 +36.98 -0.0041136 +36.99 -0.00369175 +37 -0.00331976 +37.01 -0.00300414 +37.02 -0.00274851 +37.03 -0.00255379 +37.04 -0.00241965 +37.05 -0.00234451 +37.06 -0.00231884 +37.07 -0.00233591 +37.08 -0.00238818 +37.09 -0.00246781 +37.1 -0.00256691 +37.11 -0.00267795 +37.12 -0.00279394 +37.13 -0.00290869 +37.14 -0.00301617 +37.15 -0.00311203 +37.16 -0.00319328 +37.17 -0.00325767 +37.18 -0.00330383 +37.19 -0.00333107 +37.2 -0.00333933 +37.21 -0.00332904 +37.22 -0.00330095 +37.23 -0.00325577 +37.24 -0.00319409 +37.25 -0.00311829 +37.26 -0.0030297 +37.27 -0.00292966 +37.28 -0.00281958 +37.29 -0.0027009 +37.3 -0.00257517 +37.31 -0.00244408 +37.32 -0.00230945 +37.33 -0.00217339 +37.34 -0.00203841 +37.35 -0.00190703 +37.36 -0.00178189 +37.37 -0.00166575 +37.38 -0.00156144 +37.39 -0.00147176 +37.4 -0.00139944 +37.41 -0.00134702 +37.42 -0.00131729 +37.43 -0.0013134 +37.44 -0.00133533 +37.45 -0.00138408 +37.46 -0.0014602 +37.47 -0.0015638 +37.48 -0.00169459 +37.49 -0.00185194 +37.5 -0.00203498 +37.51 -0.00224263 +37.52 -0.00247526 +37.53 -0.00273065 +37.54 -0.00300738 +37.55 -0.00330471 +37.56 -0.00362218 +37.57 -0.00395957 +37.58 -0.00431687 +37.59 -0.00469425 +37.6 -0.00509195 +37.61 -0.00551058 +37.62 -0.00595092 +37.63 -0.00641105 +37.64 -0.0068898 +37.65 -0.00738517 +37.66 -0.00789421 +37.67 -0.00841291 +37.68 -0.00893609 +37.69 -0.00945741 +37.7 -0.00996939 +37.71 -0.0104617 +37.72 -0.0109248 +37.73 -0.011349 +37.74 -0.011724 +37.75 -0.0120396 +37.76 -0.0122862 +37.77 -0.012455 +37.78 -0.0125387 +37.79 -0.0125318 +37.8 -0.0124285 +37.81 -0.0122239 +37.82 -0.0119263 +37.83 -0.0115405 +37.84 -0.0110741 +37.85 -0.0105372 +37.86 -0.00994238 +37.87 -0.00930406 +37.88 -0.00863832 +37.89 -0.00796222 +37.9 -0.00729485 +37.91 -0.00665457 +37.92 -0.0060572 +37.93 -0.005517 +37.94 -0.00504591 +37.95 -0.00465311 +37.96 -0.00434451 +37.97 -0.00412257 +37.98 -0.00398607 +37.99 -0.00393186 +38 -0.00395333 +38.01 -0.00403332 +38.02 -0.00415718 +38.03 -0.00430835 +38.04 -0.00446902 +38.05 -0.00462098 +38.06 -0.00474634 +38.07 -0.00482844 +38.08 -0.00485254 +38.09 -0.00480127 +38.1 -0.00466886 +38.11 -0.00445253 +38.12 -0.00415219 +38.13 -0.00377192 +38.14 -0.00331984 +38.15 -0.00280788 +38.16 -0.00225129 +38.17 -0.00166805 +38.18 -0.0010785 +38.19 -0.000506545 +38.2 2.63406e-05 +38.21 0.000499857 +38.22 0.000895542 +38.23 0.0011976 +38.24 0.00139364 +38.25 0.00147522 +38.26 0.0014383 +38.27 0.00128346 +38.28 0.00100897 +38.29 0.000631482 +38.3 0.000167773 +38.31 -0.000364182 +38.32 -0.000943797 +38.33 -0.00154875 +38.34 -0.00215592 +38.35 -0.00274238 +38.36 -0.00328639 +38.37 -0.00376635 +38.38 -0.0041612 +38.39 -0.00446283 +38.4 -0.00466339 +38.41 -0.00475961 +38.42 -0.0047529 +38.43 -0.00464918 +38.44 -0.00445862 +38.45 -0.00419504 +38.46 -0.00387525 +38.47 -0.00351709 +38.48 -0.00314449 +38.49 -0.00277839 +38.5 -0.00243806 +38.51 -0.00214077 +38.52 -0.00190103 +38.53 -0.00172982 +38.54 -0.00163406 +38.55 -0.00161629 +38.56 -0.00167624 +38.57 -0.00180888 +38.58 -0.00199807 +38.59 -0.00222888 +38.6 -0.00248359 +38.61 -0.00274262 +38.62 -0.00298542 +38.63 -0.00319151 +38.64 -0.0033415 +38.65 -0.00341805 +38.66 -0.00339995 +38.67 -0.00328054 +38.68 -0.00305597 +38.69 -0.0027255 +38.7 -0.00229311 +38.71 -0.00176746 +38.72 -0.00116147 +38.73 -0.000491813 +38.74 0.000221913 +38.75 0.00095797 +38.76 0.0016912 +38.77 0.00239786 +38.78 0.0030568 +38.79 0.00364926 +38.8 0.0041598 +38.81 0.00457707 +38.82 0.00489439 +38.83 0.00511012 +38.84 0.00522782 +38.85 0.00525085 +38.86 0.00519898 +38.87 0.00509206 +38.88 0.00495144 +38.89 0.00480062 +38.9 0.0046641 +38.91 0.00456623 +38.92 0.00453001 +38.93 0.00457597 +38.94 0.00472407 +38.95 0.00499156 +38.96 0.00537852 +38.97 0.0058855 +38.98 0.00650719 +38.99 0.00723255 +39 0.00804515 +39.01 0.00892376 +39.02 0.00984322 +39.03 0.0107754 +39.04 0.0116872 +39.05 0.0125463 +39.06 0.0133239 +39.07 0.0139932 +39.08 0.0145311 +39.09 0.0149186 +39.1 0.0151426 +39.11 0.0151957 +39.12 0.0150769 +39.13 0.0147874 +39.14 0.0143355 +39.15 0.0137498 +39.16 0.0130534 +39.17 0.0122735 +39.18 0.0114398 +39.19 0.0105834 +39.2 0.00973553 +39.21 0.00892616 +39.22 0.00818282 +39.23 0.00753711 +39.24 0.0070045 +39.25 0.00659616 +39.26 0.00631884 +39.27 0.00617317 +39.28 0.0061538 +39.29 0.00624966 +39.3 0.00644466 +39.31 0.0067185 +39.32 0.0070484 +39.33 0.0074069 +39.34 0.0077645 +39.35 0.00809554 +39.36 0.00837635 +39.37 0.00858628 +39.38 0.00870871 +39.39 0.00873177 +39.4 0.00864889 +39.41 0.00845904 +39.42 0.00816027 +39.43 0.00776974 +39.44 0.00730482 +39.45 0.00678516 +39.46 0.00623336 +39.47 0.00567392 +39.48 0.00513203 +39.49 0.0046324 +39.5 0.00419809 +39.51 0.00385226 +39.52 0.00361601 +39.53 0.00349507 +39.54 0.00349523 +39.55 0.00361675 +39.56 0.00385442 +39.57 0.00419771 +39.58 0.00463127 +39.59 0.00513557 +39.6 0.00568782 +39.61 0.0062626 +39.62 0.00682999 +39.63 0.00736353 +39.64 0.00783851 +39.65 0.00823266 +39.66 0.00852712 +39.67 0.00870721 +39.68 0.00876305 +39.69 0.00868987 +39.7 0.00848471 +39.71 0.0081507 +39.72 0.00770688 +39.73 0.00716887 +39.74 0.00655562 +39.75 0.0058885 +39.76 0.00519027 +39.77 0.00448405 +39.78 0.00379228 +39.79 0.00313567 +39.8 0.00253727 +39.81 0.00200949 +39.82 0.00156133 +39.83 0.00119817 +39.84 0.000920866 +39.85 0.000725801 +39.86 0.000605224 +39.87 0.000547734 +39.88 0.000538948 +39.89 0.000562674 +39.9 0.000599483 +39.91 0.000629498 +39.92 0.00063541 +39.93 0.000601621 +39.94 0.000515019 +39.95 0.000365635 +39.96 0.000147117 +39.97 -0.000142961 +39.98 -0.000503 +39.99 -0.000931473 +40 -0.00141418 +40.01 -0.00193728 +40.02 -0.00248552 +40.03 -0.00304207 +40.04 -0.00358938 +40.05 -0.00411002 +40.06 -0.00458762 +40.07 -0.0050076 +40.08 -0.00535561 +40.09 -0.00561995 +40.1 -0.00580021 +40.11 -0.00589568 +40.12 -0.0059095 +40.13 -0.00584845 +40.14 -0.00572256 +40.15 -0.00554461 +40.16 -0.00532945 +40.17 -0.00509322 +40.18 -0.00485342 +40.19 -0.00462776 +40.2 -0.00443085 +40.21 -0.00427503 +40.22 -0.00416983 +40.23 -0.00412145 +40.24 -0.00413243 +40.25 -0.00420154 +40.26 -0.00432378 +40.27 -0.00449166 +40.28 -0.00469302 +40.29 -0.00491098 +40.3 -0.00512961 +40.31 -0.00533233 +40.32 -0.00550279 +40.33 -0.0056258 +40.34 -0.00568813 +40.35 -0.00567936 +40.36 -0.00559249 +40.37 -0.00541855 +40.38 -0.00516439 +40.39 -0.00483759 +40.4 -0.00444883 +40.41 -0.00401261 +40.42 -0.00354668 +40.43 -0.0030713 +40.44 -0.00260835 +40.45 -0.00218038 +40.46 -0.00181196 +40.47 -0.00152783 +40.48 -0.00134215 +40.49 -0.00126889 +40.5 -0.00131764 +40.51 -0.00149308 +40.52 -0.0017946 +40.53 -0.00221616 +40.54 -0.00274641 +40.55 -0.00336902 +40.56 -0.00406673 +40.57 -0.0048083 +40.58 -0.00556543 +40.59 -0.0063095 +40.6 -0.00701185 +40.61 -0.00764498 +40.62 -0.00818381 +40.63 -0.00860676 +40.64 -0.00889677 +40.65 -0.00903739 +40.66 -0.00901916 +40.67 -0.00885214 +40.68 -0.0085446 +40.69 -0.00811089 +40.7 -0.00757099 +40.71 -0.00694969 +40.72 -0.00627568 +40.73 -0.00558033 +40.74 -0.00489647 +40.75 -0.00426273 +40.76 -0.00371024 +40.77 -0.00326652 +40.78 -0.00295548 +40.79 -0.00279571 +40.8 -0.00279975 +40.81 -0.00297338 +40.82 -0.00331534 +40.83 -0.00381727 +40.84 -0.00446782 +40.85 -0.00524533 +40.86 -0.00611377 +40.87 -0.00704082 +40.88 -0.00799121 +40.89 -0.00892815 +40.9 -0.0098148 +40.91 -0.0106157 +40.92 -0.0112983 +40.93 -0.0118341 +40.94 -0.012186 +40.95 -0.0123477 +40.96 -0.012313 +40.97 -0.0120814 +40.98 -0.0116598 +40.99 -0.0110623 +41 -0.0103099 +41.01 -0.00942953 +41.02 -0.00845279 +41.03 -0.00741433 +41.04 -0.00635535 +41.05 -0.00531704 +41.06 -0.00433623 +41.07 -0.00344707 +41.08 -0.00267966 +41.09 -0.00205882 +41.1 -0.00160313 +41.11 -0.00132418 +41.12 -0.00122613 +41.13 -0.00131817 +41.14 -0.00157589 +41.15 -0.00197803 +41.16 -0.00249925 +41.17 -0.00310924 +41.18 -0.00377399 +41.19 -0.00445715 +41.2 -0.00512154 +41.21 -0.00573069 +41.22 -0.00624634 +41.23 -0.00663239 +41.24 -0.00686946 +41.25 -0.00693926 +41.26 -0.00683052 +41.27 -0.0065394 +41.28 -0.00606976 +41.29 -0.00543297 +41.3 -0.00464756 +41.31 -0.00373852 +41.32 -0.00273185 +41.33 -0.00167186 +41.34 -0.000597629 +41.35 0.000451658 +41.36 0.00143724 +41.37 0.00232235 +41.38 0.00307361 +41.39 0.00366243 +41.4 0.00406605 +41.41 0.00426158 +41.42 0.00423622 +41.43 0.004002 +41.44 0.0035679 +41.45 0.00295044 +41.46 0.00217309 +41.47 0.00126534 +41.48 0.00026167 +41.49 -0.000799766 +41.5 -0.00187858 +41.51 -0.00292867 +41.52 -0.00390831 +41.53 -0.00478058 +41.54 -0.00551235 +41.55 -0.00607583 +41.56 -0.00644951 +41.57 -0.00661898 +41.58 -0.00657744 +41.59 -0.00632587 +41.6 -0.00586676 +41.61 -0.00521518 +41.62 -0.0044059 +41.63 -0.00346854 +41.64 -0.00243709 +41.65 -0.00134855 +41.66 -0.000241518 +41.67 0.000845295 +41.68 0.00187455 +41.69 0.00281169 +41.7 0.00361476 +41.71 0.00426573 +41.72 0.0047482 +41.73 0.00505161 +41.74 0.00517268 +41.75 0.00511552 +41.76 0.00489142 +41.77 0.0045183 +41.78 0.00402002 +41.79 0.00342325 +41.8 0.00276336 +41.81 0.00208061 +41.82 0.0014111 +41.83 0.000790265 +41.84 0.00025143 +41.85 -0.000175431 +41.86 -0.00046487 +41.87 -0.000596941 +41.88 -0.00055796 +41.89 -0.000327123 +41.9 8.20243e-05 +41.91 0.000659265 +41.92 0.00138938 +41.93 0.00225117 +41.94 0.00321834 +41.95 0.00426048 +41.96 0.00534428 +41.97 0.00643482 +41.98 0.00749463 +41.99 0.00848491 +42 0.00937634 +42.01 0.0101417 +42.02 0.0107586 +42.03 0.0112104 +42.04 0.0114866 +42.05 0.0115831 +42.06 0.0115027 +42.07 0.0112545 +42.08 0.0108431 +42.09 0.0103022 +42.1 0.00965891 +42.11 0.00894205 +42.12 0.0081826 +42.13 0.00741226 +42.14 0.00666222 +42.15 0.00596196 +42.16 0.0053381 +42.17 0.0048176 +42.18 0.00442181 +42.19 0.00415691 +42.2 0.0040285 +42.21 0.00403621 +42.22 0.00417385 +42.23 0.00442977 +42.24 0.0047874 +42.25 0.00522607 +42.26 0.00572192 +42.27 0.00624925 +42.28 0.00677662 +42.29 0.00727722 +42.3 0.00772601 +42.31 0.00810062 +42.32 0.00838224 +42.33 0.00855641 +42.34 0.00861361 +42.35 0.00854965 +42.36 0.00836176 +42.37 0.00805632 +42.38 0.00765231 +42.39 0.00716703 +42.4 0.00662148 +42.41 0.00603945 +42.42 0.00544647 +42.43 0.00486881 +42.44 0.00433228 +42.45 0.00386121 +42.46 0.00348581 +42.47 0.00321888 +42.48 0.00307277 +42.49 0.00305549 +42.5 0.00316974 +42.51 0.00341277 +42.52 0.00377643 +42.53 0.00424757 +42.54 0.00480846 +42.55 0.00543908 +42.56 0.00611243 +42.57 0.00679837 +42.58 0.00746939 +42.59 0.00809838 +42.6 0.00865975 +42.61 0.00913039 +42.62 0.00949061 +42.63 0.0097249 +42.64 0.00982253 +42.65 0.00976656 +42.66 0.00956818 +42.67 0.00923477 +42.68 0.00877785 +42.69 0.0082135 +42.7 0.00756173 +42.71 0.00684565 +42.72 0.00609054 +42.73 0.00532288 +42.74 0.00457073 +42.75 0.00386295 +42.76 0.00322174 +42.77 0.00266709 +42.78 0.0022151 +42.79 0.00187742 +42.8 0.00166079 +42.81 0.00156681 +42.82 0.00159196 +42.83 0.0017277 +42.84 0.00196738 +42.85 0.00228459 +42.86 0.00265759 +42.87 0.00306294 +42.88 0.00347586 +42.89 0.00387119 +42.9 0.00422442 +42.91 0.00451263 +42.92 0.00471538 +42.93 0.00481112 +42.94 0.00478425 +42.95 0.00463216 +42.96 0.00435189 +42.97 0.00394531 +42.98 0.00341909 +42.99 0.00278435 +43 0.00205625 +43.01 0.00125336 +43.02 0.000396909 +43.03 -0.000490476 +43.04 -0.00138049 +43.05 -0.00224898 +43.06 -0.00307304 +43.07 -0.00383165 +43.08 -0.00450644 +43.09 -0.00508235 +43.1 -0.00554809 +43.11 -0.00589651 +43.12 -0.00612027 +43.13 -0.0062203 +43.14 -0.00620906 +43.15 -0.00609687 +43.16 -0.00589729 +43.17 -0.00562656 +43.18 -0.00530281 +43.19 -0.00494536 +43.2 -0.00457389 +43.21 -0.00420762 +43.22 -0.0038678 +43.23 -0.00356959 +43.24 -0.0033257 +43.25 -0.00314582 +43.26 -0.00303609 +43.27 -0.00299898 +43.28 -0.00303316 +43.29 -0.00313371 +43.3 -0.0032923 +43.31 -0.0034989 +43.32 -0.00373824 +43.33 -0.00399225 +43.34 -0.00424411 +43.35 -0.00447676 +43.36 -0.00467374 +43.37 -0.00481981 +43.38 -0.00490175 +43.39 -0.00490887 +43.4 -0.00483357 +43.41 -0.00466455 +43.42 -0.00440869 +43.43 -0.00407062 +43.44 -0.00365827 +43.45 -0.00318305 +43.46 -0.00265947 +43.47 -0.0021046 +43.48 -0.00153747 +43.49 -0.000978353 +43.5 -0.000449999 +43.51 2.44656e-05 +43.52 0.000427563 +43.53 0.000742388 +43.54 0.000954781 +43.55 0.00105392 +43.56 0.0010328 +43.57 0.000888541 +43.58 0.000622608 +43.59 0.000240808 +43.6 -0.00025447 +43.61 -0.000839283 +43.62 -0.00149518 +43.63 -0.00220143 +43.64 -0.00293536 +43.65 -0.00367315 +43.66 -0.00439073 +43.67 -0.00506464 +43.68 -0.00567296 +43.69 -0.00619202 +43.7 -0.00660317 +43.71 -0.00689879 +43.72 -0.00707155 +43.73 -0.00711884 +43.74 -0.00704295 +43.75 -0.00685102 +43.76 -0.00655479 +43.77 -0.00617024 +43.78 -0.00571703 +43.79 -0.00521598 +43.8 -0.00469758 +43.81 -0.00418795 +43.82 -0.00371296 +43.83 -0.00329738 +43.84 -0.00296393 +43.85 -0.00273227 +43.86 -0.00261829 +43.87 -0.00263331 +43.88 -0.00278913 +43.89 -0.0030869 +43.9 -0.00351438 +43.91 -0.0040603 +43.92 -0.00470824 +43.93 -0.00543729 +43.94 -0.00622268 +43.95 -0.00703669 +43.96 -0.00784964 +43.97 -0.008631 +43.98 -0.00934285 +43.99 -0.00995959 +44 -0.0104559 +44.01 -0.01081 +44.02 -0.0110049 +44.03 -0.011029 +44.04 -0.0108765 +44.05 -0.0105477 +44.06 -0.0100492 +44.07 -0.0093881 +44.08 -0.00858462 +44.09 -0.0076701 +44.1 -0.00667264 +44.11 -0.00562322 +44.12 -0.00455453 +44.13 -0.00349979 +44.14 -0.00249153 +44.15 -0.00156033 +44.16 -0.000733756 +44.17 -4.77108e-05 +44.18 0.000489315 +44.19 0.000865992 +44.2 0.0010768 +44.21 0.00112244 +44.22 0.00100973 +44.23 0.000751231 +44.24 0.000364646 +44.25 -0.000127942 +44.26 -0.000703199 +44.27 -0.00133012 +44.28 -0.00197629 +44.29 -0.00261323 +44.3 -0.00321408 +44.31 -0.00375473 +44.32 -0.00421477 +44.33 -0.00457835 +44.34 -0.00483471 +44.35 -0.00497864 +44.36 -0.00500155 +44.37 -0.00492006 +44.38 -0.00474655 +44.39 -0.00449756 +44.4 -0.00419318 +44.41 -0.00385597 +44.42 -0.00350991 +44.43 -0.00317914 +44.44 -0.00288682 +44.45 -0.00265722 +44.46 -0.00250994 +44.47 -0.00245479 +44.48 -0.00249931 +44.49 -0.00264563 +44.5 -0.00289021 +44.51 -0.00322396 +44.52 -0.00363254 +44.53 -0.00409697 +44.54 -0.00459442 +44.55 -0.00509749 +44.56 -0.00557605 +44.57 -0.00600243 +44.58 -0.00635013 +44.59 -0.00659508 +44.6 -0.00671682 +44.61 -0.00669949 +44.62 -0.00653272 +44.63 -0.00621217 +44.64 -0.00573387 +44.65 -0.00510794 +44.66 -0.00435724 +44.67 -0.00350349 +44.68 -0.00257315 +44.69 -0.00159634 +44.7 -0.000605657 +44.71 0.000365233 +44.72 0.00128299 +44.73 0.00211606 +44.74 0.00282417 +44.75 0.00339214 +44.76 0.00380295 +44.77 0.00404607 +44.78 0.00411801 +44.79 0.00402256 +44.8 0.00377068 +44.81 0.00338013 +44.82 0.00287471 +44.83 0.0022811 +44.84 0.00163636 +44.85 0.000979704 +44.86 0.000347349 +44.87 -0.000225459 +44.88 -0.00070598 +44.89 -0.00106541 +44.9 -0.00128017 +44.91 -0.00133296 +44.92 -0.00121355 +44.93 -0.000904584 +44.94 -0.000427996 +44.95 0.000201848 +44.96 0.000963656 +44.97 0.00183008 +44.98 0.00276888 +44.99 0.00374423 +45 0.00471828 +45.01 0.00565278 +45.02 0.00650574 +45.03 0.00723939 +45.04 0.00782846 +45.05 0.00825011 +45.06 0.00848836 +45.07 0.00853482 +45.08 0.00838908 +45.09 0.00805868 +45.1 0.0075589 +45.11 0.00691199 +45.12 0.00613914 +45.13 0.005287 +45.14 0.00439294 +45.15 0.00349588 +45.16 0.00263464 +45.17 0.0018463 +45.18 0.00116466 +45.19 0.000618826 +45.2 0.000232035 +45.21 2.88715e-05 +45.22 1.8069e-05 +45.23 0.000191473 +45.24 0.000540798 +45.25 0.00105051 +45.26 0.00169857 +45.27 0.00245748 +45.28 0.0032955 +45.29 0.0041781 +45.3 0.00506943 +45.31 0.00592871 +45.32 0.00672259 +45.33 0.00742162 +45.34 0.00800113 +45.35 0.00844231 +45.36 0.00873284 +45.37 0.00886737 +45.38 0.0088476 +45.39 0.00868206 +45.4 0.0083807 +45.41 0.00796728 +45.42 0.00747294 +45.43 0.00692634 +45.44 0.0063577 +45.45 0.00579742 +45.46 0.00527464 +45.47 0.00481598 +45.48 0.00444427 +45.49 0.00417785 +45.5 0.0040398 +45.51 0.0040262 +45.52 0.00413618 +45.53 0.00436284 +45.54 0.00469373 +45.55 0.00511155 +45.56 0.00559503 +45.57 0.00612008 +45.58 0.00666094 +45.59 0.00718982 +45.6 0.00767877 +45.61 0.00810583 +45.62 0.0084519 +45.63 0.00870215 +45.64 0.00884663 +45.65 0.00888068 +45.66 0.00880503 +45.67 0.00862564 +45.68 0.00835314 +45.69 0.00799772 +45.7 0.007586 +45.71 0.00713894 +45.72 0.00667838 +45.73 0.00622594 +45.74 0.00580182 +45.75 0.00542378 +45.76 0.00510618 +45.77 0.0048593 +45.78 0.00469226 +45.79 0.00460483 +45.8 0.0045885 +45.81 0.00463333 +45.82 0.00472535 +45.83 0.00484731 +45.84 0.00497965 +45.85 0.00510159 +45.86 0.00519226 +45.87 0.00523174 +45.88 0.00519568 +45.89 0.00507535 +45.9 0.00486188 +45.91 0.00455141 +45.92 0.00414554 +45.93 0.00365141 +45.94 0.00308155 +45.95 0.00245343 +45.96 0.00178884 +45.97 0.00111366 +45.98 0.000458636 +45.99 -0.000147603 +46 -0.000677479 +46.01 -0.00110549 +46.02 -0.00140948 +46.03 -0.00157184 +46.04 -0.00158043 +46.05 -0.0014294 +46.06 -0.00111913 +46.07 -0.000646625 +46.08 -4.12177e-05 +46.09 0.000674793 +46.1 0.00147372 +46.11 0.00232353 +46.12 0.00318916 +46.13 0.00403393 +46.14 0.00482107 +46.15 0.00551532 +46.16 0.00607716 +46.17 0.00647716 +46.18 0.00669982 +46.19 0.00673138 +46.2 0.00656571 +46.21 0.00620457 +46.22 0.00565765 +46.23 0.00494223 +46.24 0.00408251 +46.25 0.00310834 +46.26 0.00205176 +46.27 0.000960496 +46.28 -0.000125558 +46.29 -0.00116691 +46.3 -0.00212615 +46.31 -0.00296953 +46.32 -0.00366834 +46.33 -0.00420019 +46.34 -0.00454988 +46.35 -0.00470109 +46.36 -0.00465733 +46.37 -0.00443673 +46.38 -0.00405745 +46.39 -0.00354436 +46.4 -0.0029279 +46.41 -0.00224281 +46.42 -0.00152652 +46.43 -0.000817628 +46.44 -0.000154507 +46.45 0.000417783 +46.46 0.000872455 +46.47 0.00118393 +46.48 0.00133313 +46.49 0.00130825 +46.5 0.00110526 +46.51 0.000727985 +46.52 0.000187907 +46.53 -0.000496355 +46.54 -0.00130415 +46.55 -0.00220033 +46.56 -0.00314588 +46.57 -0.00410434 +46.58 -0.00503887 +46.59 -0.00591383 +46.6 -0.00669628 +46.61 -0.00735739 +46.62 -0.00787356 +46.63 -0.0082266 +46.64 -0.00839245 +46.65 -0.00838304 +46.66 -0.00820409 +46.67 -0.00786817 +46.68 -0.00739414 +46.69 -0.0068062 +46.7 -0.00613279 +46.71 -0.00540527 +46.72 -0.00465659 +46.73 -0.003922 +46.74 -0.00323641 +46.75 -0.00262755 +46.76 -0.00211965 +46.77 -0.00173187 +46.78 -0.00147765 +46.79 -0.00136424 +46.8 -0.00139257 +46.81 -0.00155736 +46.82 -0.00184815 +46.83 -0.0022551 +46.84 -0.00274687 +46.85 -0.00329919 +46.86 -0.00388604 +46.87 -0.00448087 +46.88 -0.00505782 +46.89 -0.00559288 +46.9 -0.00606496 +46.91 -0.00645678 +46.92 -0.00675059 +46.93 -0.00693946 +46.94 -0.00702557 +46.95 -0.00701268 +46.96 -0.0069094 +46.97 -0.00672863 +46.98 -0.00648687 +46.99 -0.00620328 +47 -0.00589876 +47.01 -0.00559501 +47.02 -0.00531661 +47.03 -0.00508252 +47.04 -0.0049094 +47.05 -0.00481059 +47.06 -0.00479547 +47.07 -0.0048691 +47.08 -0.00503201 +47.09 -0.00528022 +47.1 -0.00560551 +47.11 -0.00599829 +47.12 -0.00644043 +47.13 -0.00691148 +47.14 -0.00739197 +47.15 -0.00786201 +47.16 -0.00830223 +47.17 -0.00869462 +47.18 -0.00902342 +47.19 -0.00927575 +47.2 -0.00944161 +47.21 -0.00950855 +47.22 -0.00948299 +47.23 -0.00936833 +47.24 -0.00917176 +47.25 -0.0089038 +47.26 -0.00857781 +47.27 -0.00820924 +47.28 -0.00781488 +47.29 -0.00741203 +47.3 -0.00701893 +47.31 -0.00665283 +47.32 -0.00632674 +47.33 -0.00605137 +47.34 -0.00583424 +47.35 -0.0056794 +47.36 -0.00558721 +47.37 -0.00555442 +47.38 -0.00557432 +47.39 -0.00563728 +47.4 -0.00573176 +47.41 -0.00583968 +47.42 -0.00594515 +47.43 -0.00603196 +47.44 -0.00608432 +47.45 -0.00608761 +47.46 -0.00602912 +47.47 -0.0058986 +47.48 -0.00568879 +47.49 -0.0053915 +47.5 -0.00500799 +47.51 -0.00454528 +47.52 -0.00401076 +47.53 -0.00341499 +47.54 -0.00277118 +47.55 -0.00209473 +47.56 -0.00140256 +47.57 -0.000712419 +47.58 -4.25076e-05 +47.59 0.000585716 +47.6 0.00115837 +47.61 0.0016618 +47.62 0.00208487 +47.63 0.00241934 +47.64 0.00266014 +47.65 0.00280549 +47.66 0.00285691 +47.67 0.00281904 +47.68 0.00269578 +47.69 0.0024999 +47.7 0.00224675 +47.71 0.00195024 +47.72 0.00162509 +47.73 0.00128622 +47.74 0.000948259 +47.75 0.000624922 +47.76 0.000328593 +47.77 7.02762e-05 +47.78 -0.000137654 +47.79 -0.000292564 +47.8 -0.000391161 +47.81 -0.000432563 +47.82 -0.000418189 +47.83 -0.000351562 +47.84 -0.000238044 +47.85 -8.45048e-05 +47.86 0.000101047 +47.87 0.00031058 +47.88 0.00053361 +47.89 0.000760405 +47.9 0.000982524 +47.91 0.00119236 +47.92 0.00138339 +47.93 0.00155038 +47.94 0.00168956 +47.95 0.00179863 +47.96 0.00187656 +47.97 0.00192215 +47.98 0.00194018 +47.99 0.00193414 +48 0.00190854 +48.01 0.0018686 +48.02 0.00182012 +48.03 0.00176915 +48.04 0.00172184 +48.05 0.00168419 +48.06 0.00166294 +48.07 0.00166345 +48.08 0.00168951 +48.09 0.00174466 +48.1 0.00183161 +48.11 0.00195211 +48.12 0.00210701 +48.13 0.00229623 +48.14 0.00251876 +48.15 0.00277297 +48.16 0.00305781 +48.17 0.00336721 +48.18 0.00369687 +48.19 0.0040419 +48.2 0.00439688 +48.21 0.00475599 +48.22 0.00511311 +48.23 0.00546189 +48.24 0.0057959 +48.25 0.00610727 +48.26 0.00638953 +48.27 0.00663754 +48.28 0.00684589 +48.29 0.00700979 +48.3 0.00712516 +48.31 0.0071888 +48.32 0.00719849 +48.33 0.00715309 +48.34 0.00705209 +48.35 0.00689337 +48.36 0.0066839 +48.37 0.00642768 +48.38 0.00612983 +48.39 0.00579655 +48.4 0.00543497 +48.41 0.00505298 +48.42 0.00465903 +48.43 0.00426192 +48.44 0.00387134 +48.45 0.00349681 +48.46 0.00314632 +48.47 0.00282738 +48.48 0.00254656 +48.49 0.00230936 +48.5 0.00212001 +48.51 0.00198136 +48.52 0.00189489 +48.53 0.00186118 +48.54 0.00188201 +48.55 0.00195054 +48.56 0.00206284 +48.57 0.0022141 +48.58 0.00239884 +48.59 0.00261113 +48.6 0.00284489 +48.61 0.00309406 +48.62 0.00335288 +48.63 0.00361604 +48.64 0.00387839 +48.65 0.0041361 +48.66 0.00438631 +48.67 0.00462702 +48.68 0.00485701 +48.69 0.0050758 +48.7 0.00528351 +48.71 0.00548067 +48.72 0.00566796 +48.73 0.0058457 +48.74 0.00601525 +48.75 0.00617686 +48.76 0.00633027 +48.77 0.00647458 +48.78 0.00660821 +48.79 0.00672888 +48.8 0.00683363 +48.81 0.00691898 +48.82 0.00697947 +48.83 0.00701106 +48.84 0.00701044 +48.85 0.00697385 +48.86 0.00689816 +48.87 0.00678109 +48.88 0.00662146 +48.89 0.00641936 +48.9 0.00617637 +48.91 0.00589516 +48.92 0.00557886 +48.93 0.0052367 +48.94 0.00487644 +48.95 0.00450689 +48.96 0.00413766 +48.97 0.00377879 +48.98 0.00344037 +48.99 0.00313213 +49 0.00286298 +49.01 0.0026436 +49.02 0.00247944 +49.03 0.00237277 +49.04 0.00232518 +49.05 0.00233588 +49.06 0.00240171 +49.07 0.00251717 +49.08 0.00267455 +49.09 0.00286423 +49.1 0.0030751 +49.11 0.0032941 +49.12 0.00350669 +49.13 0.00369981 +49.14 0.00386096 +49.15 0.00397875 +49.16 0.00404338 +49.17 0.00404713 +49.18 0.00398468 +49.19 0.00385339 +49.2 0.00364978 +49.21 0.00337934 +49.22 0.00305061 +49.23 0.00267251 +49.24 0.00225606 +49.25 0.00181397 +49.26 0.00136009 +49.27 0.000908824 +49.28 0.000474503 +49.29 7.13506e-05 +49.3 -0.00028458 +49.31 -0.000585618 +49.32 -0.000824049 +49.33 -0.000994876 +49.34 -0.00109603 +49.35 -0.00112843 +49.36 -0.00109599 +49.37 -0.00100536 +49.38 -0.000865676 +49.39 -0.000686701 +49.4 -0.000483585 +49.41 -0.000271176 +49.42 -6.33485e-05 +49.43 0.000126522 +49.44 0.000286168 +49.45 0.000404993 +49.46 0.000474552 +49.47 0.000488933 +49.48 0.000444242 +49.49 0.000337006 +49.5 0.000174883 +49.51 -3.6111e-05 +49.52 -0.000287595 +49.53 -0.000569265 +49.54 -0.000869419 +49.55 -0.00117556 +49.56 -0.00147505 +49.57 -0.00175574 +49.58 -0.00200437 +49.59 -0.00221178 +49.6 -0.0023724 +49.61 -0.00248243 +49.62 -0.00254099 +49.63 -0.00255025 +49.64 -0.00251531 +49.65 -0.00244404 +49.66 -0.00234672 +49.67 -0.00223559 +49.68 -0.00212561 +49.69 -0.00203199 +49.7 -0.00196891 +49.71 -0.00194961 +49.72 -0.00198576 +49.73 -0.00208681 +49.74 -0.00225945 +49.75 -0.00250721 +49.76 -0.00283013 +49.77 -0.00322838 +49.78 -0.00369166 +49.79 -0.00420675 +49.8 -0.00475963 +49.81 -0.00533394 +49.82 -0.00591164 +49.83 -0.00647373 +49.84 -0.00700104 +49.85 -0.00747505 +49.86 -0.00787745 +49.87 -0.00818725 +49.88 -0.00839847 +49.89 -0.00850335 +49.9 -0.00849806 +49.91 -0.00838282 +49.92 -0.00816201 +49.93 -0.00784395 +49.94 -0.00744061 +49.95 -0.00696716 +49.96 -0.00643941 +49.97 -0.00588063 +49.98 -0.00531293 +49.99 -0.00475692 +50 -0.00423233 +50.01 -0.00375722 +50.02 -0.0033472 +50.03 -0.00301487 +50.04 -0.00276933 +50.05 -0.00261719 +50.06 -0.00256477 +50.07 -0.00260177 +50.08 -0.0027209 +50.09 -0.00291156 +50.1 -0.0031604 +50.11 -0.00345196 +50.12 -0.00376946 +50.13 -0.00409553 +50.14 -0.00441307 +50.15 -0.00470373 +50.16 -0.00495284 +50.17 -0.00514992 +50.18 -0.00528681 +50.19 -0.00535871 +50.2 -0.0053644 +50.21 -0.0053062 +50.22 -0.0051898 +50.23 -0.00502398 +50.24 -0.00481973 +50.25 -0.00459048 +50.26 -0.00435365 +50.27 -0.00412447 +50.28 -0.00391773 +50.29 -0.00374708 +50.3 -0.00362429 +50.31 -0.0035587 +50.32 -0.00355668 +50.33 -0.00362129 +50.34 -0.00375577 +50.35 -0.00395319 +50.36 -0.00420361 +50.37 -0.00449594 +50.38 -0.00481657 +50.39 -0.00514996 +50.4 -0.00547933 +50.41 -0.00578745 +50.42 -0.00605738 +50.43 -0.00627214 +50.44 -0.00641282 +50.45 -0.00647249 +50.46 -0.00644338 +50.47 -0.00632125 +50.48 -0.00610561 +50.49 -0.00579981 +50.5 -0.00541092 +50.51 -0.00494947 +50.52 -0.00442906 +50.53 -0.00386434 +50.54 -0.00327666 +50.55 -0.00268634 +50.56 -0.00211275 +50.57 -0.00157458 +50.58 -0.00108914 +50.59 -0.000671622 +50.6 -0.00033453 +50.61 -8.71671e-05 +50.62 6.3094e-05 +50.63 0.000109178 +50.64 6.04787e-05 +50.65 -7.67662e-05 +50.66 -0.000293 +50.67 -0.000575786 +50.68 -0.000910356 +50.69 -0.00128024 +50.7 -0.00166799 +50.71 -0.00205585 +50.72 -0.0024245 +50.73 -0.00275699 +50.74 -0.00303994 +50.75 -0.00326194 +50.76 -0.00341438 +50.77 -0.00349181 +50.78 -0.00349202 +50.79 -0.00341606 +50.8 -0.00326809 +50.81 -0.00305422 +50.82 -0.00278221 +50.83 -0.00246844 +50.84 -0.00212613 +50.85 -0.00176927 +50.86 -0.00141197 +50.87 -0.00106786 +50.88 -0.000749584 +50.89 -0.000468252 +50.9 -0.000233053 +50.91 -5.44377e-05 +50.92 6.48744e-05 +50.93 0.00012496 +50.94 0.000127036 +50.95 7.47189e-05 +50.96 -2.62125e-05 +50.97 -0.000168133 +50.98 -0.000341953 +50.99 -0.000537552 +51 -0.000744216 +51.01 -0.000950092 +51.02 -0.00114417 +51.03 -0.00131693 +51.04 -0.00146005 +51.05 -0.00156669 +51.06 -0.00163165 +51.07 -0.00165154 +51.08 -0.00162483 +51.09 -0.00155177 +51.1 -0.00143183 +51.11 -0.00127061 +51.12 -0.00107425 +51.13 -0.000848701 +51.14 -0.000600567 +51.15 -0.000336763 +51.16 -6.42265e-05 +51.17 0.000210379 +51.18 0.000480921 +51.19 0.000741763 +51.2 0.000987411 +51.21 0.00121542 +51.22 0.00142375 +51.23 0.00161153 +51.24 0.00177894 +51.25 0.00192717 +51.26 0.00205828 +51.27 0.00217502 +51.28 0.00228069 +51.29 0.00237874 +51.3 0.00247361 +51.31 0.00256923 +51.32 0.00266909 +51.33 0.00277634 +51.34 0.00289358 +51.35 0.00302285 +51.36 0.00316552 +51.37 0.00332226 +51.38 0.00349331 +51.39 0.00367849 +51.4 0.00387535 +51.41 0.00408186 +51.42 0.0042955 +51.43 0.00451332 +51.44 0.00473211 +51.45 0.00494843 +51.46 0.00515874 +51.47 0.0053595 +51.48 0.00554622 +51.49 0.00571585 +51.5 0.00586576 +51.51 0.00599341 +51.52 0.00609667 +51.53 0.00617395 +51.54 0.00622422 +51.55 0.00624709 +51.56 0.00624283 +51.57 0.00621196 +51.58 0.00615525 +51.59 0.00607705 +51.6 0.00598064 +51.61 0.00586997 +51.62 0.00574956 +51.63 0.00562444 +51.64 0.00550001 +51.65 0.0053819 +51.66 0.00527584 +51.67 0.00518887 +51.68 0.00512604 +51.69 0.00509155 +51.7 0.00508923 +51.71 0.00512196 +51.72 0.00519145 +51.73 0.00529811 +51.74 0.00544094 +51.75 0.00561742 +51.76 0.005824 +51.77 0.00605562 +51.78 0.00630314 +51.79 0.00655821 +51.8 0.00681155 +51.81 0.00705321 +51.82 0.00727291 +51.83 0.00746043 +51.84 0.00760599 +51.85 0.00770065 +51.86 0.00773255 +51.87 0.00769762 +51.88 0.00759355 +51.89 0.0074189 +51.9 0.00717465 +51.91 0.00686436 +51.92 0.00649406 +51.93 0.00607225 +51.94 0.00560963 +51.95 0.00511856 +51.96 0.00461413 +51.97 0.00411348 +51.98 0.0036324 +51.99 0.00318649 +52 0.00279054 +52.01 0.00245801 +52.02 0.00220039 +52.03 0.00202678 +52.04 0.00194339 +52.05 0.00195924 +52.06 0.00206957 +52.07 0.00226765 +52.08 0.00254544 +52.09 0.00289176 +52.1 0.00329253 +52.11 0.00373134 +52.12 0.00418992 +52.13 0.00464887 +52.14 0.00508744 +52.15 0.00548237 +52.16 0.00581686 +52.17 0.00607458 +52.18 0.00624173 +52.19 0.00630759 +52.2 0.00626497 +52.21 0.00611051 +52.22 0.00584483 +52.23 0.00547252 +52.24 0.00499646 +52.25 0.00443442 +52.26 0.00380424 +52.27 0.00312397 +52.28 0.00241338 +52.29 0.00169317 +52.3 0.000984248 +52.31 0.000306884 +52.32 -0.000319994 +52.33 -0.000877754 +52.34 -0.0013475 +52.35 -0.00172355 +52.36 -0.00199929 +52.37 -0.0021719 +52.38 -0.00224238 +52.39 -0.00221544 +52.4 -0.00209926 +52.41 -0.001905 +52.42 -0.00164637 +52.43 -0.00133693 +52.44 -0.000997301 +52.45 -0.000645841 +52.46 -0.000299466 +52.47 2.59789e-05 +52.48 0.000316343 +52.49 0.000559697 +52.5 0.000746759 +52.51 0.000871185 +52.52 0.000928284 +52.53 0.000915425 +52.54 0.000840437 +52.55 0.000709517 +52.56 0.00053114 +52.57 0.000315572 +52.58 7.43131e-05 +52.59 -0.000180491 +52.6 -0.000436663 +52.61 -0.000682585 +52.62 -0.000905792 +52.63 -0.00109775 +52.64 -0.00125253 +52.65 -0.0013661 +52.66 -0.00143693 +52.67 -0.00146598 +52.68 -0.00145666 +52.69 -0.00141454 +52.7 -0.0013471 +52.71 -0.00126312 +52.72 -0.00117333 +52.73 -0.00108911 +52.74 -0.00102064 +52.75 -0.000977373 +52.76 -0.000967567 +52.77 -0.000997837 +52.78 -0.00107283 +52.79 -0.00119501 +52.8 -0.00136446 +52.81 -0.00158165 +52.82 -0.00183926 +52.83 -0.00212942 +52.84 -0.00244349 +52.85 -0.00277162 +52.86 -0.00310312 +52.87 -0.00342706 +52.88 -0.00373268 +52.89 -0.00400998 +52.9 -0.00424908 +52.91 -0.00444041 +52.92 -0.00458158 +52.93 -0.00466998 +52.94 -0.00470534 +52.95 -0.00468972 +52.96 -0.00462741 +52.97 -0.00452475 +52.98 -0.00438979 +52.99 -0.00423194 +53 -0.00406143 +53.01 -0.00389064 +53.02 -0.00373042 +53.03 -0.0035907 +53.04 -0.00348032 +53.05 -0.00340657 +53.06 -0.00337491 +53.07 -0.00338869 +53.08 -0.00344903 +53.09 -0.00355576 +53.1 -0.00370653 +53.11 -0.0038926 +53.12 -0.00410629 +53.13 -0.00433854 +53.14 -0.00457929 +53.15 -0.00481795 +53.16 -0.00504383 +53.17 -0.00524665 +53.18 -0.00541696 +53.19 -0.00554341 +53.2 -0.00562105 +53.21 -0.00564653 +53.22 -0.00561783 +53.23 -0.00553519 +53.24 -0.00540109 +53.25 -0.00522016 +53.26 -0.00499898 +53.27 -0.00474587 +53.28 -0.00447025 +53.29 -0.00418358 +53.3 -0.00389852 +53.31 -0.00362648 +53.32 -0.0033785 +53.33 -0.00316485 +53.34 -0.00299461 +53.35 -0.00287542 +53.36 -0.00281316 +53.37 -0.00281179 +53.38 -0.00287745 +53.39 -0.00300652 +53.4 -0.00319509 +53.41 -0.00343845 +53.42 -0.00373015 +53.43 -0.00406221 +53.44 -0.00442533 +53.45 -0.0048093 +53.46 -0.00520321 +53.47 -0.00559552 +53.48 -0.0059734 +53.49 -0.00632626 +53.5 -0.00664398 +53.51 -0.0069174 +53.52 -0.00713847 +53.53 -0.00730048 +53.54 -0.00739817 +53.55 -0.00742781 +53.56 -0.00738729 +53.57 -0.00727135 +53.58 -0.00708496 +53.59 -0.00683239 +53.6 -0.00651806 +53.61 -0.00614771 +53.62 -0.00572827 +53.63 -0.00526774 +53.64 -0.00477496 +53.65 -0.00425952 +53.66 -0.00373143 +53.67 -0.00320213 +53.68 -0.00268277 +53.69 -0.00218368 +53.7 -0.0017148 +53.71 -0.00128547 +53.72 -0.000904216 +53.73 -0.00057857 +53.74 -0.000314843 +53.75 -0.000117967 +53.76 3.68427e-06 +53.77 5.20749e-05 +53.78 2.88815e-05 +53.79 -6.36725e-05 +53.8 -0.000221567 +53.81 -0.000439043 +53.82 -0.000708713 +53.83 -0.00102172 +53.84 -0.00136795 +53.85 -0.00173654 +53.86 -0.00211475 +53.87 -0.00248914 +53.88 -0.00284759 +53.89 -0.00317848 +53.9 -0.00347098 +53.91 -0.00371546 +53.92 -0.00390379 +53.93 -0.00402957 +53.94 -0.00408844 +53.95 -0.00407331 +53.96 -0.00398811 +53.97 -0.00383669 +53.98 -0.00362381 +53.99 -0.00335613 +54 -0.00304197 +54.01 -0.00269096 +54.02 -0.00231368 +54.03 -0.00192123 +54.04 -0.00152501 +54.05 -0.00113717 +54.06 -0.000767675 +54.07 -0.000425074 +54.08 -0.000116307 +54.09 0.00015354 +54.1 0.00038142 +54.11 0.000566405 +54.12 0.000709677 +54.13 0.000814426 +54.14 0.000883765 +54.15 0.000926782 +54.16 0.000951916 +54.17 0.0009677 +54.18 0.000982862 +54.19 0.00100586 +54.2 0.00104441 +54.21 0.00110512 +54.22 0.00119304 +54.23 0.00131228 +54.24 0.001465 +54.25 0.00164795 +54.26 0.0018576 +54.27 0.00208841 +54.28 0.00233307 +54.29 0.00258282 +54.3 0.00282788 +54.31 0.00305788 +54.32 0.00326238 +54.33 0.00342826 +54.34 0.00354787 +54.35 0.0036147 +54.36 0.00362364 +54.37 0.00357192 +54.38 0.00345931 +54.39 0.00328825 +54.4 0.00306385 +54.41 0.00279374 +54.42 0.00248718 +54.43 0.00215666 +54.44 0.00181774 +54.45 0.00148468 +54.46 0.00117191 +54.47 0.000893383 +54.48 0.000661988 +54.49 0.000488944 +54.5 0.000383298 +54.51 0.000351492 +54.52 0.000402585 +54.53 0.000532218 +54.54 0.000735677 +54.55 0.0010064 +54.56 0.00133502 +54.57 0.00170975 +54.58 0.00211685 +54.59 0.00254125 +54.6 0.00296716 +54.61 0.00337791 +54.62 0.00375596 +54.63 0.00408888 +54.64 0.00436535 +54.65 0.00457664 +54.66 0.00471701 +54.67 0.00478393 +54.68 0.00477824 +54.69 0.00470407 +54.7 0.00456869 +54.71 0.00437941 +54.72 0.00415293 +54.73 0.00390451 +54.74 0.00364965 +54.75 0.00340413 +54.76 0.00318332 +54.77 0.00300146 +54.78 0.00287106 +54.79 0.00280236 +54.8 0.00280491 +54.81 0.0028854 +54.82 0.00304012 +54.83 0.00326618 +54.84 0.00355753 +54.85 0.00390532 +54.86 0.00429826 +54.87 0.00472316 +54.88 0.00516553 +54.89 0.00561027 +54.9 0.00604032 +54.91 0.00644097 +54.92 0.0067998 +54.93 0.0071062 +54.94 0.007352 +54.95 0.0075318 +54.96 0.00764309 +54.97 0.00768631 +54.98 0.00766475 +54.99 0.00758278 +55 0.00744813 +55.01 0.00727427 +55.02 0.00707238 +55.03 0.00685406 +55.04 0.00663075 +55.05 0.00641313 +55.06 0.00621057 +55.07 0.00603066 +55.08 0.00587887 +55.09 0.00576062 +55.1 0.00567434 +55.11 0.00561721 +55.12 0.0055846 +55.13 0.00556997 +55.14 0.00556528 +55.15 0.00556152 +55.16 0.00554924 +55.17 0.00551918 +55.18 0.00546183 +55.19 0.00536853 +55.2 0.00523595 +55.21 0.00506151 +55.22 0.00484518 +55.23 0.0045896 +55.24 0.00430002 +55.25 0.00398419 +55.26 0.00365199 +55.27 0.00331504 +55.28 0.00298772 +55.29 0.00268404 +55.3 0.00241697 +55.31 0.00219859 +55.32 0.00203934 +55.33 0.00194742 +55.34 0.00192825 +55.35 0.0019841 +55.36 0.00211385 +55.37 0.00231468 +55.38 0.00257886 +55.39 0.00289057 +55.4 0.00323519 +55.41 0.00359597 +55.42 0.00395475 +55.43 0.0042927 +55.44 0.00459115 +55.45 0.00483242 +55.46 0.00500061 +55.47 0.00507517 +55.48 0.00505089 +55.49 0.00492326 +55.5 0.00469078 +55.51 0.00435616 +55.52 0.00392632 +55.53 0.00341207 +55.54 0.00282779 +55.55 0.00219078 +55.56 0.00152024 +55.57 0.000839197 +55.58 0.000170832 +55.59 -0.000464014 +55.6 -0.00104601 +55.61 -0.00155815 +55.62 -0.00198649 +55.63 -0.00232071 +55.64 -0.00255456 +55.65 -0.00268611 +55.66 -0.0027108 +55.67 -0.00264266 +55.68 -0.00249418 +55.69 -0.00227983 +55.7 -0.00201657 +55.71 -0.00172307 +55.72 -0.00141879 +55.73 -0.00112311 +55.74 -0.000854411 +55.75 -0.000631033 +55.76 -0.000469443 +55.77 -0.000376963 +55.78 -0.000359636 +55.79 -0.000419452 +55.8 -0.000554292 +55.81 -0.000758081 +55.82 -0.00102112 +55.83 -0.00133061 +55.84 -0.00167125 +55.85 -0.00202582 +55.86 -0.00237411 +55.87 -0.00269846 +55.88 -0.00298252 +55.89 -0.003212 +55.9 -0.00337532 +55.91 -0.00346428 +55.92 -0.00347444 +55.93 -0.0034054 +55.94 -0.00325873 +55.95 -0.00304183 +55.96 -0.00277086 +55.97 -0.00246084 +55.98 -0.00212907 +55.99 -0.0017943 +56 -0.00147586 +56.01 -0.00119277 +56.02 -0.000962758 +56.03 -0.000801493 +56.04 -0.000728653 +56.05 -0.000748454 +56.06 -0.000864343 +56.07 -0.0010764 +56.08 -0.00138036 +56.09 -0.00176781 +56.1 -0.00222652 +56.11 -0.002741 +56.12 -0.00329316 +56.13 -0.00386301 +56.14 -0.00442747 +56.15 -0.00496523 +56.16 -0.00545704 +56.17 -0.00588578 +56.18 -0.00623717 +56.19 -0.00650049 +56.2 -0.00666897 +56.21 -0.00674014 +56.22 -0.00671586 +56.23 -0.00659621 +56.24 -0.0063985 +56.25 -0.00613781 +56.26 -0.00583084 +56.27 -0.0054961 +56.28 -0.00515293 +56.29 -0.00482067 +56.3 -0.00451765 +56.31 -0.00426038 +56.32 -0.00406508 +56.33 -0.00394454 +56.34 -0.00390136 +56.35 -0.00393733 +56.36 -0.00405 +56.37 -0.00423288 +56.38 -0.00447575 +56.39 -0.00476516 +56.4 -0.00508513 +56.41 -0.0054179 +56.42 -0.00574292 +56.43 -0.00604056 +56.44 -0.0062936 +56.45 -0.00648678 +56.46 -0.00660765 +56.47 -0.00664716 +56.48 -0.00660013 +56.49 -0.00646555 +56.5 -0.00624663 +56.51 -0.0059485 +56.52 -0.00558264 +56.53 -0.00516817 +56.54 -0.00472258 +56.55 -0.00426503 +56.56 -0.0038154 +56.57 -0.00339342 +56.58 -0.00301768 +56.59 -0.00270482 +56.6 -0.00246873 +56.61 -0.00232711 +56.62 -0.0022805 +56.63 -0.00232939 +56.64 -0.00247074 +56.65 -0.00269733 +56.66 -0.00299802 +56.67 -0.00335832 +56.68 -0.00376099 +56.69 -0.00418689 +56.7 -0.00461516 +56.71 -0.00502292 +56.72 -0.00539092 +56.73 -0.00570184 +56.74 -0.00594102 +56.75 -0.00609712 +56.76 -0.00616263 +56.77 -0.00613417 +56.78 -0.00601261 +56.79 -0.00580301 +56.8 -0.00550916 +56.81 -0.00515042 +56.82 -0.00474329 +56.83 -0.0043055 +56.84 -0.00385582 +56.85 -0.00341321 +56.86 -0.00299592 +56.87 -0.00262064 +56.88 -0.00230172 +56.89 -0.00205315 +56.9 -0.00188456 +56.91 -0.00179546 +56.92 -0.00178498 +56.93 -0.00184831 +56.94 -0.001977 +56.95 -0.0021594 +56.96 -0.00238125 +56.97 -0.00262635 +56.98 -0.00287744 +56.99 -0.00311472 +57 -0.00332088 +57.01 -0.00348098 +57.02 -0.00358233 +57.03 -0.0036152 +57.04 -0.00357328 +57.05 -0.00345401 +57.06 -0.00325866 +57.07 -0.00299229 +57.08 -0.00266176 +57.09 -0.00227964 +57.1 -0.00186388 +57.11 -0.00143095 +57.12 -0.000998248 +57.13 -0.000583208 +57.14 -0.000202514 +57.15 0.000128726 +57.16 0.000397703 +57.17 0.000594527 +57.18 0.000706292 +57.19 0.000736241 +57.2 0.000687044 +57.21 0.000564581 +57.22 0.00037832 +57.23 0.000140904 +57.24 -0.000132406 +57.25 -0.000424406 +57.26 -0.000716715 +57.27 -0.000989243 +57.28 -0.00122124 +57.29 -0.00139721 +57.3 -0.00150286 +57.31 -0.00152672 +57.32 -0.00146071 +57.33 -0.00130049 +57.34 -0.00104561 +57.35 -0.000699579 +57.36 -0.00026968 +57.37 0.00023802 +57.38 0.000802944 +57.39 0.00140791 +57.4 0.00203471 +57.41 0.00266433 +57.42 0.00327773 +57.43 0.00385663 +57.44 0.00438421 +57.45 0.00484581 +57.46 0.00522624 +57.47 0.00551478 +57.48 0.00571074 +57.49 0.00581297 +57.5 0.00582378 +57.51 0.00574879 +57.52 0.00559656 +57.53 0.00537815 +57.54 0.0051066 +57.55 0.00479632 +57.56 0.00446179 +57.57 0.00412109 +57.58 0.00378882 +57.59 0.00347818 +57.6 0.00320063 +57.61 0.00296553 +57.62 0.00277983 +57.63 0.00264799 +57.64 0.00257187 +57.65 0.00255278 +57.66 0.00258791 +57.67 0.00266918 +57.68 0.00278973 +57.69 0.00294154 +57.7 0.00311596 +57.71 0.00330406 +57.72 0.00349717 +57.73 0.00368718 +57.74 0.00386695 +57.75 0.00402889 +57.76 0.00416953 +57.77 0.00428632 +57.78 0.00437808 +57.79 0.00444508 +57.8 0.00448885 +57.81 0.00451199 +57.82 0.00451788 +57.83 0.00451041 +57.84 0.00449351 +57.85 0.00447157 +57.86 0.00444862 +57.87 0.0044276 +57.88 0.00441072 +57.89 0.00439928 +57.9 0.0043937 +57.91 0.00439348 +57.92 0.00439736 +57.93 0.0044034 +57.94 0.00440897 +57.95 0.0044112 +57.96 0.00440745 +57.97 0.00439535 +57.98 0.00437301 +57.99 0.00433919 +58 0.00429349 +58.01 0.00423638 +58.02 0.0041693 +58.03 0.00409442 +58.04 0.00401532 +58.05 0.00393635 +58.06 0.00386197 +58.07 0.00379684 +58.08 0.00374561 +58.09 0.00371263 +58.1 0.0037017 +58.11 0.00371584 +58.12 0.0037571 +58.13 0.00382861 +58.14 0.00392764 +58.15 0.0040521 +58.16 0.00419881 +58.17 0.0043634 +58.18 0.00454053 +58.19 0.00472405 +58.2 0.00490728 +58.21 0.00508327 +58.22 0.00524428 +58.23 0.0053828 +58.24 0.00549374 +58.25 0.00557216 +58.26 0.00561427 +58.27 0.0056175 +58.28 0.00558063 +58.29 0.00550381 +58.3 0.00538852 +58.31 0.00523747 +58.32 0.00505222 +58.33 0.00484044 +58.34 0.00460772 +58.35 0.00435989 +58.36 0.00410286 +58.37 0.00384238 +58.38 0.00358384 +58.39 0.00333206 +58.4 0.00309111 +58.41 0.00286494 +58.42 0.00265624 +58.43 0.00246566 +58.44 0.00229374 +58.45 0.00214033 +58.46 0.00200471 +58.47 0.0018858 +58.48 0.00178229 +58.49 0.00169283 +58.5 0.00161619 +58.51 0.00155232 +58.52 0.00149969 +58.53 0.00145814 +58.54 0.00142799 +58.55 0.00140992 +58.56 0.00140487 +58.57 0.00141395 +58.58 0.0014382 +58.59 0.00147848 +58.6 0.00153582 +58.61 0.00161004 +58.62 0.00169916 +58.63 0.00180103 +58.64 0.00191247 +58.65 0.00202921 +58.66 0.00214599 +58.67 0.00225666 +58.68 0.00235434 +58.69 0.00243166 +58.7 0.00247817 +58.71 0.00248826 +58.72 0.00245541 +58.73 0.00237403 +58.74 0.0022399 +58.75 0.00205053 +58.76 0.00180538 +58.77 0.0015061 +58.78 0.00115662 +58.79 0.000761723 +58.8 0.000330825 +58.81 -0.000123289 +58.82 -0.00058828 +58.83 -0.00105068 +58.84 -0.00149641 +58.85 -0.00191133 +58.86 -0.00228186 +58.87 -0.00259558 +58.88 -0.00284184 +58.89 -0.00300542 +58.9 -0.00308693 +58.91 -0.00308488 +58.92 -0.00300094 +58.93 -0.00284026 +58.94 -0.00261135 +58.95 -0.00232588 +58.96 -0.00199824 +58.97 -0.00164505 +58.98 -0.00128503 +58.99 -0.000939533 +59 -0.000627736 +59.01 -0.000367579 +59.02 -0.000175178 +59.03 -6.40732e-05 +59.04 -4.45638e-05 +59.05 -0.000123158 +59.06 -0.000302178 +59.07 -0.000579534 +59.08 -0.000955531 +59.09 -0.00141034 +59.1 -0.00192819 +59.11 -0.00249029 +59.12 -0.00307535 +59.13 -0.00366046 +59.14 -0.00422201 +59.15 -0.00473676 +59.16 -0.0051828 +59.17 -0.00553624 +59.18 -0.00577892 +59.19 -0.0059038 +59.2 -0.00590451 +59.21 -0.00577991 +59.22 -0.00553428 +59.23 -0.0051772 +59.24 -0.00472334 +59.25 -0.00419188 +59.26 -0.00360588 +59.27 -0.00299126 +59.28 -0.00238049 +59.29 -0.0018022 +59.3 -0.00128419 +59.31 -0.000852329 +59.32 -0.000529416 +59.33 -0.000334155 +59.34 -0.0002803 +59.35 -0.000375986 +59.36 -0.00062945 +59.37 -0.00103569 +59.38 -0.00157614 +59.39 -0.00223333 +59.4 -0.00298467 +59.41 -0.00380336 +59.42 -0.00465935 +59.43 -0.00552061 +59.44 -0.00635436 +59.45 -0.0071284 +59.46 -0.0078024 +59.47 -0.00835547 +59.48 -0.00876602 +59.49 -0.0090178 +59.5 -0.00910066 +59.51 -0.00901105 +59.52 -0.00875212 +59.53 -0.00833365 +59.54 -0.00777169 +59.55 -0.00708386 +59.56 -0.00629999 +59.57 -0.00545607 +59.58 -0.00458493 +59.59 -0.00372022 +59.6 -0.00289504 +59.61 -0.00214064 +59.62 -0.00148514 +59.63 -0.00095246 +59.64 -0.000561361 +59.65 -0.000338621 +59.66 -0.000277021 +59.67 -0.000374999 +59.68 -0.000624703 +59.69 -0.00101228 +59.7 -0.00151851 +59.71 -0.0021197 +59.72 -0.00278867 +59.73 -0.00349596 +59.74 -0.00421 +59.75 -0.00489701 +59.76 -0.00552852 +59.77 -0.00607914 +59.78 -0.00652738 +59.79 -0.00685649 +59.8 -0.00705504 +59.81 -0.00711727 +59.82 -0.00704321 +59.83 -0.0068386 +59.84 -0.00650545 +59.85 -0.00607165 +59.86 -0.00555761 +59.87 -0.00498642 +59.88 -0.00438288 +59.89 -0.00377231 +59.9 -0.0031795 +59.91 -0.00262763 +59.92 -0.00213726 +59.93 -0.00172956 +59.94 -0.00141858 +59.95 -0.00120822 +59.96 -0.00110104 +59.97 -0.00109473 +59.98 -0.00118244 +59.99 -0.00135309 +60 -0.0015921 +60.01 -0.00188208 +60.02 -0.00220372 +60.03 -0.00253593 +60.04 -0.00285607 +60.05 -0.00314515 +60.06 -0.00338622 +60.07 -0.00356509 +60.08 -0.00367097 +60.09 -0.00369691 +60.1 -0.00364003 +60.11 -0.0035016 +60.12 -0.00328396 +60.13 -0.00299772 +60.14 -0.00265894 +60.15 -0.0022829 +60.16 -0.00188652 +60.17 -0.00148755 +60.18 -0.00110372 +60.19 -0.000751884 +60.2 -0.000447256 +60.21 -0.000202733 +60.22 -3.4701e-05 +60.23 5.65375e-05 +60.24 6.91058e-05 +60.25 4.95736e-06 +60.26 -0.000130227 +60.27 -0.000327309 +60.28 -0.000574117 +60.29 -0.000856002 +60.3 -0.0011565 +60.31 -0.00145729 +60.32 -0.00173849 +60.33 -0.00198307 +60.34 -0.00217544 +60.35 -0.00230212 +60.36 -0.0023524 +60.37 -0.00231872 +60.38 -0.00219707 +60.39 -0.00198708 +60.4 -0.00169198 +60.41 -0.001313 +60.42 -0.00086812 +60.43 -0.000370835 +60.44 0.000163268 +60.45 0.00071713 +60.46 0.00127293 +60.47 0.00181282 +60.48 0.00231962 +60.49 0.00277751 +60.5 0.00316928 +60.51 0.00348283 +60.52 0.00371315 +60.53 0.00385578 +60.54 0.00390964 +60.55 0.00387705 +60.56 0.00376352 +60.57 0.00357752 +60.58 0.00333007 +60.59 0.00303424 +60.6 0.00270332 +60.61 0.002357 +60.62 0.00201122 +60.63 0.00168154 +60.64 0.00138252 +60.65 0.00112723 +60.66 0.000926825 +60.67 0.000790139 +60.68 0.000723473 +60.69 0.000733828 +60.7 0.000821451 +60.71 0.000980845 +60.72 0.00120706 +60.73 0.00149291 +60.74 0.00182928 +60.75 0.00220554 +60.76 0.00260993 +60.77 0.00303003 +60.78 0.00345315 +60.79 0.003865 +60.8 0.00425384 +60.81 0.00460907 +60.82 0.00492142 +60.83 0.00518326 +60.84 0.00538867 +60.85 0.00553364 +60.86 0.00561607 +60.87 0.00563577 +60.88 0.00559168 +60.89 0.00548806 +60.9 0.00533255 +60.91 0.00513158 +60.92 0.00489262 +60.93 0.00462392 +60.94 0.00433427 +60.95 0.00403274 +60.96 0.0037284 +60.97 0.0034302 +60.98 0.00314844 +60.99 0.00289015 +61 0.00266214 +61.01 0.00247021 +61.02 0.00231905 +61.03 0.00221216 +61.04 0.00215176 +61.05 0.00213878 +61.06 0.00217283 +61.07 0.00225423 +61.08 0.00237927 +61.09 0.00254182 +61.1 0.00273652 +61.11 0.00295713 +61.12 0.00319668 +61.13 0.00344764 +61.14 0.00370212 +61.15 0.00395212 +61.16 0.00418966 +61.17 0.00440494 +61.18 0.00459226 +61.19 0.00474565 +61.2 0.00486018 +61.21 0.00493221 +61.22 0.00495947 +61.23 0.00494123 +61.24 0.00487832 +61.25 0.00477318 +61.26 0.00462828 +61.27 0.00445019 +61.28 0.00424745 +61.29 0.00402816 +61.3 0.00380118 +61.31 0.00357588 +61.32 0.00336175 +61.33 0.00316806 +61.34 0.00300351 +61.35 0.00287605 +61.36 0.00279604 +61.37 0.00276488 +61.38 0.00278526 +61.39 0.00285781 +61.4 0.00298107 +61.41 0.0031514 +61.42 0.00336312 +61.43 0.00360859 +61.44 0.00387851 +61.45 0.00416225 +61.46 0.00444656 +61.47 0.00471861 +61.48 0.00496606 +61.49 0.00517707 +61.5 0.00534075 +61.51 0.00544765 +61.52 0.00549012 +61.53 0.00546273 +61.54 0.00536212 +61.55 0.0051825 +61.56 0.00493286 +61.57 0.00461888 +61.58 0.00424876 +61.59 0.00383297 +61.6 0.0033839 +61.61 0.00291542 +61.62 0.00244239 +61.63 0.00198011 +61.64 0.00154572 +61.65 0.00115488 +61.66 0.000819292 +61.67 0.000549791 +61.68 0.000354832 +61.69 0.000240145 +61.7 0.000208484 +61.71 0.000259485 +61.72 0.000389645 +61.73 0.000592751 +61.74 0.000863178 +61.75 0.00118273 +61.76 0.00153712 +61.77 0.00191062 +61.78 0.00228671 +61.79 0.00264864 +61.8 0.00298009 +61.81 0.00326577 +61.82 0.00349201 +61.83 0.00364334 +61.84 0.00371095 +61.85 0.00369222 +61.86 0.00358497 +61.87 0.00339028 +61.88 0.00311242 +61.89 0.0027587 +61.9 0.00233919 +61.91 0.0018663 +61.92 0.0013542 +61.93 0.000818279 +61.94 0.000277977 +61.95 -0.000250279 +61.96 -0.000750708 +61.97 -0.00120876 +61.98 -0.00161164 +61.99 -0.00194878 +62 -0.00221219 +62.01 -0.00239675 +62.02 -0.00249638 +62.03 -0.00251354 +62.04 -0.00245584 +62.05 -0.00233061 +62.06 -0.00214759 +62.07 -0.00191855 +62.08 -0.00165683 +62.09 -0.00137676 +62.1 -0.00109317 +62.11 -0.000820984 +62.12 -0.000577345 +62.13 -0.000373763 +62.14 -0.00022108 +62.15 -0.000128009 +62.16 -0.00010083 +62.17 -0.000143195 +62.18 -0.00025602 +62.19 -0.000437486 +62.2 -0.000683136 +62.21 -0.000988471 +62.22 -0.0013424 +62.23 -0.00173164 +62.24 -0.00214371 +62.25 -0.00256534 +62.26 -0.00298293 +62.27 -0.00338307 +62.28 -0.003753 +62.29 -0.00408109 +62.3 -0.00435679 +62.31 -0.0045669 +62.32 -0.00471012 +62.33 -0.00478324 +62.34 -0.00478554 +62.35 -0.00471879 +62.36 -0.00458716 +62.37 -0.00439705 +62.38 -0.0041569 +62.39 -0.00387683 +62.4 -0.00356756 +62.41 -0.00324342 +62.42 -0.00291843 +62.43 -0.00260562 +62.44 -0.00231756 +62.45 -0.00206597 +62.46 -0.0018613 +62.47 -0.00171245 +62.48 -0.00162644 +62.49 -0.00160871 +62.5 -0.00166705 +62.51 -0.00179584 +62.52 -0.0019926 +62.53 -0.00225262 +62.54 -0.00256911 +62.55 -0.00293344 +62.56 -0.00333544 +62.57 -0.00376369 +62.58 -0.00420593 +62.59 -0.00464881 +62.6 -0.00507814 +62.61 -0.00548165 +62.62 -0.0058479 +62.63 -0.00616667 +62.64 -0.00642925 +62.65 -0.00662876 +62.66 -0.00676027 +62.67 -0.00682104 +62.68 -0.00680997 +62.69 -0.00672414 +62.7 -0.00657344 +62.71 -0.00636408 +62.72 -0.00610395 +62.73 -0.00580237 +62.74 -0.00546973 +62.75 -0.00511716 +62.76 -0.00475608 +62.77 -0.00439785 +62.78 -0.00405462 +62.79 -0.00373716 +62.8 -0.00345348 +62.81 -0.00321059 +62.82 -0.00301372 +62.83 -0.0028662 +62.84 -0.00276938 +62.85 -0.00272264 +62.86 -0.00272344 +62.87 -0.00276783 +62.88 -0.00285195 +62.89 -0.00296521 +62.9 -0.00309951 +62.91 -0.00324631 +62.92 -0.003397 +62.93 -0.00354329 +62.94 -0.00367759 +62.95 -0.00379328 +62.96 -0.0038851 +62.97 -0.00394771 +62.98 -0.00397954 +62.99 -0.0039816 +63 -0.00395571 +63.01 -0.00390526 +63.02 -0.00383509 +63.03 -0.00375119 +63.04 -0.00366039 +63.05 -0.00356999 +63.06 -0.0034875 +63.07 -0.00342157 +63.08 -0.00337756 +63.09 -0.00336035 +63.1 -0.00337327 +63.11 -0.0034179 +63.12 -0.00349387 +63.13 -0.00359879 +63.14 -0.00372827 +63.15 -0.00387603 +63.16 -0.00403413 +63.17 -0.00419189 +63.18 -0.00433846 +63.19 -0.00446294 +63.2 -0.00455442 +63.21 -0.00460262 +63.22 -0.0045983 +63.23 -0.00453381 +63.24 -0.00440347 +63.25 -0.00420332 +63.26 -0.00392815 +63.27 -0.00358612 +63.28 -0.00318283 +63.29 -0.00272663 +63.3 -0.00222839 +63.31 -0.00170114 +63.32 -0.00115966 +63.33 -0.000619899 +63.34 -9.8437e-05 +63.35 0.000385481 +63.36 0.000815208 +63.37 0.00117795 +63.38 0.00146183 +63.39 0.00165762 +63.4 0.00175918 +63.41 0.00176379 +63.42 0.00167228 +63.43 0.00148914 +63.44 0.00122164 +63.45 0.000877601 +63.46 0.000478051 +63.47 3.99431e-05 +63.48 -0.000418185 +63.49 -0.000876918 +63.5 -0.00131671 +63.51 -0.00171863 +63.52 -0.00206514 +63.53 -0.00234074 +63.54 -0.00252754 +63.55 -0.00261709 +63.56 -0.00260693 +63.57 -0.0024956 +63.58 -0.00228551 +63.59 -0.00198277 +63.6 -0.00159695 +63.61 -0.00114065 +63.62 -0.000628947 +63.63 -7.85797e-05 +63.64 0.000491946 +63.65 0.00106146 +63.66 0.0016121 +63.67 0.00212729 +63.68 0.00259241 +63.69 0.00299535 +63.7 0.00332697 +63.71 0.00358138 +63.72 0.00375616 +63.73 0.00384828 +63.74 0.00386469 +63.75 0.00381586 +63.76 0.00371221 +63.77 0.00356604 +63.78 0.00339094 +63.79 0.00320109 +63.8 0.00301055 +63.81 0.00283262 +63.82 0.00267958 +63.83 0.00256427 +63.84 0.00249164 +63.85 0.00246579 +63.86 0.00248793 +63.87 0.0025563 +63.88 0.0026664 +63.89 0.0028112 +63.9 0.00298162 +63.91 0.00316702 +63.92 0.0033553 +63.93 0.0035332 +63.94 0.00368925 +63.95 0.00381322 +63.96 0.00389656 +63.97 0.00393298 +63.98 0.00391874 +63.99 0.003853 +64 0.00373784 +64.01 0.00357785 +64.02 0.00337947 +64.03 0.00315658 +64.04 0.00292163 +64.05 0.00268829 +64.06 0.00247081 +64.07 0.0022833 +64.08 0.00213904 +64.09 0.00204984 +64.1 0.00202534 +64.11 0.00207679 +64.12 0.00220635 +64.13 0.0024116 +64.14 0.00268891 +64.15 0.00303128 +64.16 0.00342853 +64.17 0.00386776 +64.18 0.00433381 +64.19 0.00480989 +64.2 0.005278 +64.21 0.00571707 +64.22 0.00611094 +64.23 0.00644424 +64.24 0.00670388 +64.25 0.00687957 +64.26 0.00696433 +64.27 0.00695479 +64.28 0.00685132 +64.29 0.00665805 +64.3 0.00637869 +64.31 0.00602782 +64.32 0.00562214 +64.33 0.00517782 +64.34 0.00471231 +64.35 0.00424354 +64.36 0.00378917 +64.37 0.00336581 +64.38 0.00298829 +64.39 0.00266999 +64.4 0.00242521 +64.41 0.00225505 +64.42 0.00216158 +64.43 0.00214331 +64.44 0.00219544 +64.45 0.0023101 +64.46 0.00247686 +64.47 0.00268324 +64.48 0.0029154 +64.49 0.00315864 +64.5 0.0033968 +64.51 0.00361623 +64.52 0.00380521 +64.53 0.00395417 +64.54 0.00405616 +64.55 0.00410711 +64.56 0.00410604 +64.57 0.00405501 +64.58 0.00395843 +64.59 0.00382252 +64.6 0.00366052 +64.61 0.00348384 +64.62 0.00330462 +64.63 0.00313507 +64.64 0.00298673 +64.65 0.00286986 +64.66 0.00279279 +64.67 0.00276148 +64.68 0.00278189 +64.69 0.0028524 +64.7 0.00296794 +64.71 0.00312193 +64.72 0.00330514 +64.73 0.0035061 +64.74 0.0037117 +64.75 0.0039078 +64.76 0.00407996 +64.77 0.00421346 +64.78 0.00429151 +64.79 0.00430666 +64.8 0.00425122 +64.81 0.00412065 +64.82 0.00391386 +64.83 0.00363338 +64.84 0.00328533 +64.85 0.00287925 +64.86 0.00242772 +64.87 0.00194512 +64.88 0.00145123 +64.89 0.000965066 +64.9 0.000504893 +64.91 8.81604e-05 +64.92 -0.000269319 +64.93 -0.000554143 +64.94 -0.000755998 +64.95 -0.0008682 +64.96 -0.000886748 +64.97 -0.000808532 +64.98 -0.000646918 +64.99 -0.00041252 +65 -0.000119455 +65.01 0.000215263 +65.02 0.00057247 +65.03 0.000931706 +65.04 0.00127215 +65.05 0.00157355 +65.06 0.00181288 +65.07 0.00197434 +65.08 0.00204742 +65.09 0.00202387 +65.1 0.00189988 +65.11 0.00167626 +65.12 0.00135847 +65.13 0.0009564 +65.14 0.000483993 +65.15 -4.18626e-05 +65.16 -0.000600837 +65.17 -0.00116726 +65.18 -0.00171853 +65.19 -0.00223257 +65.2 -0.00268882 +65.21 -0.00306916 +65.22 -0.00335882 +65.23 -0.003547 +65.24 -0.00362746 +65.25 -0.00359259 +65.26 -0.00345034 +65.27 -0.00321314 +65.28 -0.0028947 +65.29 -0.00251243 +65.3 -0.00208669 +65.31 -0.00163985 +65.32 -0.00119528 +65.33 -0.000776308 +65.34 -0.000406223 +65.35 -0.000110526 +65.36 9.82041e-05 +65.37 0.000207761 +65.38 0.000210489 +65.39 0.000103622 +65.4 -0.000110611 +65.41 -0.000425094 +65.42 -0.000828168 +65.43 -0.00130418 +65.44 -0.00183612 +65.45 -0.0023986 +65.46 -0.00296739 +65.47 -0.00351966 +65.48 -0.00403359 +65.49 -0.00448937 +65.5 -0.00487011 +65.51 -0.00516263 +65.52 -0.005358 +65.53 -0.00545033 +65.54 -0.00543528 +65.55 -0.00532638 +65.56 -0.00513433 +65.57 -0.0048736 +65.58 -0.00456169 +65.59 -0.00421824 +65.6 -0.00386406 +65.61 -0.00352008 +65.62 -0.00320628 +65.63 -0.00294461 +65.64 -0.00274976 +65.65 -0.00263114 +65.66 -0.00259521 +65.67 -0.00264387 +65.68 -0.00277428 +65.69 -0.00297911 +65.7 -0.00324684 +65.71 -0.00356237 +65.72 -0.00390793 +65.73 -0.00426218 +65.74 -0.00460247 +65.75 -0.00490856 +65.76 -0.00516171 +65.77 -0.00534573 +65.78 -0.00544782 +65.79 -0.0054593 +65.8 -0.00537617 +65.81 -0.00519937 +65.82 -0.00493021 +65.83 -0.00458421 +65.84 -0.00417972 +65.85 -0.00373633 +65.86 -0.00327629 +65.87 -0.00282343 +65.88 -0.00240204 +65.89 -0.00203566 +65.9 -0.00174598 +65.91 -0.00155356 +65.92 -0.00147976 +65.93 -0.00152644 +65.94 -0.0016967 +65.95 -0.00198784 +65.96 -0.0023913 +65.97 -0.00289294 +65.98 -0.0034735 +65.99 -0.00410943 +66 -0.00477381 +66.01 -0.00543556 +66.02 -0.0060617 +66.03 -0.006623 +66.04 -0.00709226 +66.05 -0.0074456 +66.06 -0.00766367 +66.07 -0.00773252 +66.08 -0.00764437 +66.09 -0.00739805 +66.1 -0.00699664 +66.11 -0.00644712 +66.12 -0.00577972 +66.13 -0.00501945 +66.14 -0.00419562 +66.15 -0.00334056 +66.16 -0.00248826 +66.17 -0.00167293 +66.18 -0.000927498 +66.19 -0.000282222 +66.2 0.000227561 +66.21 0.000584242 +66.22 0.000777739 +66.23 0.000801699 +66.24 0.000657047 +66.25 0.000351985 +66.26 -9.83271e-05 +66.27 -0.000672394 +66.28 -0.00134328 +66.29 -0.0020803 +66.3 -0.00284721 +66.31 -0.00360406 +66.32 -0.00431549 +66.33 -0.0049481 +66.34 -0.00547189 +66.35 -0.00586155 +66.36 -0.00609752 +66.37 -0.00616685 +66.38 -0.00606377 +66.39 -0.00577982 +66.4 -0.00533225 +66.41 -0.00474256 +66.42 -0.00403405 +66.43 -0.00323496 +66.44 -0.00237726 +66.45 -0.00149525 +66.46 -0.000624028 +66.47 0.000201974 +66.48 0.000948456 +66.49 0.00157918 +66.5 0.00207708 +66.51 0.00242553 +66.52 0.00261463 +66.53 0.0026415 +66.54 0.00251042 +66.55 0.00223251 +66.56 0.00182525 +66.57 0.0013116 +66.58 0.000716025 +66.59 7.54985e-05 +66.6 -0.000575526 +66.61 -0.00120443 +66.62 -0.00178004 +66.63 -0.00227395 +66.64 -0.00266181 +66.65 -0.0029243 +66.66 -0.00304798 +66.67 -0.00302293 +66.68 -0.00284248 +66.69 -0.00252415 +66.7 -0.00208175 +66.71 -0.00153452 +66.72 -0.000906239 +66.73 -0.000224119 +66.74 0.000482469 +66.75 0.00118331 +66.76 0.0018487 +66.77 0.00244518 +66.78 0.00294863 +66.79 0.0033411 +66.8 0.0036083 +66.81 0.00374176 +66.82 0.00373915 +66.83 0.00360431 +66.84 0.00334703 +66.85 0.00298259 +66.86 0.00252975 +66.87 0.00201208 +66.88 0.00146218 +66.89 0.000908226 +66.9 0.00037833 +66.91 -0.000100657 +66.92 -0.000504331 +66.93 -0.000811765 +66.94 -0.00100639 +66.95 -0.00107665 +66.96 -0.00100811 +66.97 -0.000806483 +66.98 -0.000481196 +66.99 -4.38703e-05 +67 0.00048926 +67.01 0.00109812 +67.02 0.00175973 +67.03 0.00244922 +67.04 0.00314095 +67.05 0.00380859 +67.06 0.00442391 +67.07 0.00496786 +67.08 0.00542308 +67.09 0.00577634 +67.1 0.00601898 +67.11 0.00614717 +67.12 0.00616191 +67.13 0.00606887 +67.14 0.00587802 +67.15 0.00559869 +67.16 0.00525304 +67.17 0.00486211 +67.18 0.00444612 +67.19 0.0040254 +67.2 0.0036195 +67.21 0.00324637 +67.22 0.0029216 +67.23 0.00265781 +67.24 0.00246588 +67.25 0.00235491 +67.26 0.00232118 +67.27 0.00236206 +67.28 0.00247157 +67.29 0.00264086 +67.3 0.00285875 +67.31 0.0031124 +67.32 0.00338799 +67.33 0.00367147 +67.34 0.00394803 +67.35 0.00420448 +67.36 0.00443068 +67.37 0.00461857 +67.38 0.00476266 +67.39 0.00486018 +67.4 0.00491107 +67.41 0.00491786 +67.42 0.00488544 +67.43 0.00482009 +67.44 0.00473002 +67.45 0.00462661 +67.46 0.0045194 +67.47 0.00441756 +67.48 0.00432935 +67.49 0.00426164 +67.5 0.00421953 +67.51 0.00420604 +67.52 0.00422196 +67.53 0.0042674 +67.54 0.00433681 +67.55 0.00442358 +67.56 0.00452015 +67.57 0.00461784 +67.58 0.00470739 +67.59 0.00477943 +67.6 0.0048251 +67.61 0.00483653 +67.62 0.00480629 +67.63 0.00472774 +67.64 0.00460175 +67.65 0.00442896 +67.66 0.00421244 +67.67 0.00395764 +67.68 0.00367218 +67.69 0.0033655 +67.7 0.00304849 +67.71 0.00273291 +67.72 0.00243264 +67.73 0.00215999 +67.74 0.0019255 +67.75 0.00173854 +67.76 0.0016065 +67.77 0.00153446 +67.78 0.00152488 +67.79 0.00157745 +67.8 0.00168909 +67.81 0.00185505 +67.82 0.00206788 +67.83 0.00231351 +67.84 0.00257975 +67.85 0.0028534 +67.86 0.00312095 +67.87 0.00336911 +67.88 0.00358544 +67.89 0.00375893 +67.9 0.00388049 +67.91 0.00393914 +67.92 0.00393348 +67.93 0.00386404 +67.94 0.00373295 +67.95 0.0035451 +67.96 0.00330781 +67.97 0.00303053 +67.98 0.00272435 +67.99 0.00240146 +68 0.0020748 +68.01 0.00175859 +68.02 0.00146463 +68.03 0.00120321 +68.04 0.000982723 +68.05 0.000809283 +68.06 0.00068646 +68.07 0.000615111 +68.08 0.000593364 +68.09 0.000616713 +68.1 0.000680216 +68.11 0.000772038 +68.12 0.000880641 +68.13 0.000994307 +68.14 0.00110098 +68.15 0.00118889 +68.16 0.00124711 +68.17 0.00126614 +68.18 0.00123836 +68.19 0.00115715 +68.2 0.00101764 +68.21 0.000823809 +68.22 0.00057905 +68.23 0.000289398 +68.24 -3.67447e-05 +68.25 -0.000388985 +68.26 -0.000755406 +68.27 -0.00112312 +68.28 -0.00147884 +68.29 -0.00180701 +68.3 -0.00209571 +68.31 -0.00233511 +68.32 -0.00251694 +68.33 -0.00263537 +68.34 -0.00268732 +68.35 -0.00267263 +68.36 -0.00259409 +68.37 -0.00245731 +68.38 -0.00226957 +68.39 -0.00204118 +68.4 -0.00178777 +68.41 -0.00152308 +68.42 -0.00126131 +68.43 -0.00101655 +68.44 -0.000802145 +68.45 -0.000630061 +68.46 -0.000510398 +68.47 -0.000450913 +68.48 -0.000461297 +68.49 -0.000540224 +68.5 -0.000684961 +68.51 -0.000891062 +68.52 -0.00115135 +68.53 -0.00145625 +68.54 -0.00179421 +68.55 -0.00215221 +68.56 -0.00251638 +68.57 -0.00287202 +68.58 -0.0032032 +68.59 -0.00349808 +68.6 -0.00374587 +68.61 -0.00393796 +68.62 -0.00406825 +68.63 -0.00413342 +68.64 -0.00413309 +68.65 -0.00406981 +68.66 -0.00394891 +68.67 -0.00377561 +68.68 -0.00356374 +68.69 -0.00332634 +68.7 -0.00307666 +68.71 -0.00282842 +68.72 -0.00259524 +68.73 -0.00239002 +68.74 -0.00222438 +68.75 -0.00210819 +68.76 -0.0020507 +68.77 -0.0020595 +68.78 -0.00213279 +68.79 -0.0022695 +68.8 -0.00246578 +68.81 -0.00271519 +68.82 -0.00300898 +68.83 -0.00333649 +68.84 -0.00368558 +68.85 -0.00404318 +68.86 -0.00439454 +68.87 -0.00472553 +68.88 -0.00502396 +68.89 -0.0052789 +68.9 -0.00548122 +68.91 -0.00562394 +68.92 -0.00570248 +68.93 -0.00571483 +68.94 -0.00566161 +68.95 -0.00554448 +68.96 -0.00536784 +68.97 -0.00514352 +68.98 -0.00488126 +68.99 -0.00459206 +69 -0.00428767 +69.01 -0.00398018 +69.02 -0.00368145 +69.03 -0.00340269 +69.04 -0.00315402 +69.05 -0.00294731 +69.06 -0.00278771 +69.07 -0.00267897 +69.08 -0.00262334 +69.09 -0.0026209 +69.1 -0.00266962 +69.11 -0.00276552 +69.12 -0.00290285 +69.13 -0.00307439 +69.14 -0.00327225 +69.15 -0.00348684 +69.16 -0.00370712 +69.17 -0.00392364 +69.18 -0.00412735 +69.19 -0.00430998 +69.2 -0.00446427 +69.21 -0.00458421 +69.22 -0.00466521 +69.23 -0.0047042 +69.24 -0.00469659 +69.25 -0.00464495 +69.26 -0.00455173 +69.27 -0.00441997 +69.28 -0.00425375 +69.29 -0.00405806 +69.3 -0.00383853 +69.31 -0.00360123 +69.32 -0.00335241 +69.33 -0.00309832 +69.34 -0.00284559 +69.35 -0.00260002 +69.36 -0.00236657 +69.37 -0.00214956 +69.38 -0.00195262 +69.39 -0.00177864 +69.4 -0.0016298 +69.41 -0.00150755 +69.42 -0.00141272 +69.43 -0.00134745 +69.44 -0.00130979 +69.45 -0.00129842 +69.46 -0.00131207 +69.47 -0.00134914 +69.48 -0.00140773 +69.49 -0.00148567 +69.5 -0.00158058 +69.51 -0.00168982 +69.52 -0.00181078 +69.53 -0.00194031 +69.54 -0.00207441 +69.55 -0.00220954 +69.56 -0.00234197 +69.57 -0.00246782 +69.58 -0.00258308 +69.59 -0.00268371 +69.6 -0.00276571 +69.61 -0.00282523 +69.62 -0.00285656 +69.63 -0.00285776 +69.64 -0.00282668 +69.65 -0.00276145 +69.66 -0.00266102 +69.67 -0.00252522 +69.68 -0.00235488 +69.69 -0.00215188 +69.7 -0.00191912 +69.71 -0.00165994 +69.72 -0.00137922 +69.73 -0.00108432 +69.74 -0.000781757 +69.75 -0.000478465 +69.76 -0.000181592 +69.77 0.000101772 +69.78 0.000364857 +69.79 0.00060148 +69.8 0.000806297 +69.81 0.000972218 +69.82 0.00109828 +69.83 0.00118383 +69.84 0.0012292 +69.85 0.00123634 +69.86 0.00120874 +69.87 0.00115133 +69.88 0.00107033 +69.89 0.000973017 +69.9 0.00086746 +69.91 0.000763117 +69.92 0.000668991 +69.93 0.00059332 +69.94 0.000543636 +69.95 0.000526421 +69.96 0.000546812 +69.97 0.000608337 +69.98 0.000712733 +69.99 0.000859819 +70 0.00105011 +70.01 0.00127655 +70.02 0.00153237 +70.03 0.00180986 +70.04 0.00210011 +70.05 0.00239333 +70.06 0.00267931 +70.07 0.00294781 +70.08 0.00318904 +70.09 0.00339272 +70.1 0.00354933 +70.11 0.0036554 +70.12 0.00370734 +70.13 0.00370376 +70.14 0.0036456 +70.15 0.00353612 +70.16 0.00338085 +70.17 0.00318739 +70.18 0.00296511 +70.19 0.0027244 +70.2 0.00247928 +70.21 0.00224236 +70.22 0.00202589 +70.23 0.00184149 +70.24 0.00169962 +70.25 0.00160915 +70.26 0.00157691 +70.27 0.00160741 +70.28 0.00170449 +70.29 0.00186869 +70.3 0.00209222 +70.31 0.00236839 +70.32 0.00268818 +70.33 0.00304056 +70.34 0.00341296 +70.35 0.0037917 +70.36 0.00416263 +70.37 0.00451166 +70.38 0.00482183 +70.39 0.0050823 +70.4 0.00528363 +70.41 0.0054182 +70.42 0.00548108 +70.43 0.00547025 +70.44 0.00538672 +70.45 0.00523451 +70.46 0.00502054 +70.47 0.00475313 +70.48 0.00444453 +70.49 0.0041115 +70.5 0.00376898 +70.51 0.00343239 +70.52 0.00311691 +70.53 0.00283692 +70.54 0.00260531 +70.55 0.00243295 +70.56 0.0023282 +70.57 0.00230216 +70.58 0.0023523 +70.59 0.00247595 +70.6 0.00266812 +70.61 0.0029207 +70.62 0.0032228 +70.63 0.0035612 +70.64 0.00392083 +70.65 0.00428543 +70.66 0.0046373 +70.67 0.0049574 +70.68 0.00523109 +70.69 0.00544469 +70.7 0.00558686 +70.71 0.0056491 +70.72 0.00562612 +70.73 0.00551618 +70.74 0.00532115 +70.75 0.0050465 +70.76 0.00469677 +70.77 0.00428988 +70.78 0.00384188 +70.79 0.00336991 +70.8 0.00289234 +70.81 0.00242811 +70.82 0.00199588 +70.83 0.00161331 +70.84 0.00129631 +70.85 0.00106128 +70.86 0.000921577 +70.87 0.000878973 +70.88 0.000935842 +70.89 0.00109057 +70.9 0.00133759 +70.91 0.00166752 +70.92 0.00206755 +70.93 0.00252185 +70.94 0.00301222 +70.95 0.00351834 +70.96 0.00401651 +70.97 0.00448566 +70.98 0.00490577 +70.99 0.0052585 +71 0.00552785 +71.01 0.00570082 +71.02 0.0057679 +71.03 0.00572348 +71.04 0.00556246 +71.05 0.00528576 +71.06 0.00490714 +71.07 0.00443788 +71.08 0.00389251 +71.09 0.00328831 +71.1 0.0026446 +71.11 0.00198199 +71.12 0.00132165 +71.13 0.000684448 +71.14 9.48881e-05 +71.15 -0.000430641 +71.16 -0.000877687 +71.17 -0.00123443 +71.18 -0.00149259 +71.19 -0.00164764 +71.2 -0.00169894 +71.21 -0.00164968 +71.22 -0.0015067 +71.23 -0.00127783 +71.24 -0.00097628 +71.25 -0.000622172 +71.26 -0.000232661 +71.27 0.000174328 +71.28 0.000580801 +71.29 0.000969402 +71.3 0.00132406 +71.31 0.00163058 +71.32 0.00187714 +71.33 0.00204892 +71.34 0.00214445 +71.35 0.00216229 +71.36 0.00210344 +71.37 0.00197185 +71.38 0.00177419 +71.39 0.00151943 +71.4 0.00121837 +71.41 0.000883148 +71.42 0.00052638 +71.43 0.000162343 +71.44 -0.000195475 +71.45 -0.000535711 +71.46 -0.000848525 +71.47 -0.00112596 +71.48 -0.00136223 +71.49 -0.00155386 +71.5 -0.00169975 +71.51 -0.00180111 +71.52 -0.00185853 +71.53 -0.00188071 +71.54 -0.00187509 +71.55 -0.00184975 +71.56 -0.0018133 +71.57 -0.00177446 +71.58 -0.00174155 +71.59 -0.00172212 +71.6 -0.00172249 +71.61 -0.00174843 +71.62 -0.00180366 +71.63 -0.0018876 +71.64 -0.00199908 +71.65 -0.00213509 +71.66 -0.00229094 +71.67 -0.00246053 +71.68 -0.00263671 +71.69 -0.0028116 +71.7 -0.00297707 +71.71 -0.00312324 +71.72 -0.00324348 +71.73 -0.0033319 +71.74 -0.00338388 +71.75 -0.00339655 +71.76 -0.00336894 +71.77 -0.0033021 +71.78 -0.0031991 +71.79 -0.00306495 +71.8 -0.00290585 +71.81 -0.0027308 +71.82 -0.00255055 +71.83 -0.00237524 +71.84 -0.00221513 +71.85 -0.00208019 +71.86 -0.00197958 +71.87 -0.00192127 +71.88 -0.00191161 +71.89 -0.00195504 +71.9 -0.00205815 +71.91 -0.00221668 +71.92 -0.00242723 +71.93 -0.0026846 +71.94 -0.00298149 +71.95 -0.00330879 +71.96 -0.00365592 +71.97 -0.00401125 +71.98 -0.00436257 +71.99 -0.00469658 +72 -0.00499968 +72.01 -0.00526211 +72.02 -0.00547464 +72.03 -0.0056299 +72.04 -0.00572263 +72.05 -0.00574997 +72.06 -0.00571149 +72.07 -0.00560926 +72.08 -0.00544774 +72.09 -0.00523011 +72.1 -0.00496961 +72.11 -0.00467708 +72.12 -0.00436392 +72.13 -0.00404211 +72.14 -0.00372369 +72.15 -0.00342024 +72.16 -0.0031425 +72.17 -0.00289987 +72.18 -0.00270185 +72.19 -0.00255541 +72.2 -0.00246146 +72.21 -0.00242093 +72.22 -0.00243248 +72.23 -0.0024927 +72.24 -0.00259626 +72.25 -0.0027362 +72.26 -0.0029043 +72.27 -0.00309142 +72.28 -0.003288 +72.29 -0.00348303 +72.3 -0.00366741 +72.31 -0.00383302 +72.32 -0.00397295 +72.33 -0.00408178 +72.34 -0.00415581 +72.35 -0.0041931 +72.36 -0.00419359 +72.37 -0.00415782 +72.38 -0.00408918 +72.39 -0.00399443 +72.4 -0.00387962 +72.41 -0.0037515 +72.42 -0.00361714 +72.43 -0.00348363 +72.44 -0.0033576 +72.45 -0.00324499 +72.46 -0.00315067 +72.47 -0.00308015 +72.48 -0.0030339 +72.49 -0.00301195 +72.5 -0.00301294 +72.51 -0.00303398 +72.52 -0.00307085 +72.53 -0.00311821 +72.54 -0.00316985 +72.55 -0.00321906 +72.56 -0.00325834 +72.57 -0.00328004 +72.58 -0.0032787 +72.59 -0.00324925 +72.6 -0.0031879 +72.61 -0.00309227 +72.62 -0.00296159 +72.63 -0.00279679 +72.64 -0.00260046 +72.65 -0.00237677 +72.66 -0.00213018 +72.67 -0.00186982 +72.68 -0.00160373 +72.69 -0.00134028 +72.7 -0.00108799 +72.71 -0.000855068 +72.72 -0.000649109 +72.73 -0.000476685 +72.74 -0.000343055 +72.75 -0.000253558 +72.76 -0.000210643 +72.77 -0.000211766 +72.78 -0.000254594 +72.79 -0.000334947 +72.8 -0.000446951 +72.81 -0.000583266 +72.82 -0.000735382 +72.83 -0.000893964 +72.84 -0.00104924 +72.85 -0.00118958 +72.86 -0.00130595 +72.87 -0.00139005 +72.88 -0.00143479 +72.89 -0.00143461 +72.9 -0.0013858 +72.91 -0.00128662 +72.92 -0.00113739 +72.93 -0.000940534 +72.94 -0.000699093 +72.95 -0.000419829 +72.96 -0.000113 +72.97 0.00021203 +72.98 0.000545072 +72.99 0.00087552 +73 0.00119278 +73.01 0.00148668 +73.02 0.00174792 +73.03 0.0019684 +73.04 0.00213731 +73.05 0.00225348 +73.06 0.00231491 +73.07 0.00232149 +73.08 0.00227525 +73.09 0.00218026 +73.1 0.00204251 +73.11 0.00186964 +73.12 0.00167067 +73.13 0.00145541 +73.14 0.00123574 +73.15 0.0010232 +73.16 0.00082831 +73.17 0.000660869 +73.18 0.000529593 +73.19 0.000441784 +73.2 0.000403067 +73.21 0.000417183 +73.22 0.000485864 +73.23 0.00061304 +73.24 0.00079166 +73.25 0.00101678 +73.26 0.00128201 +73.27 0.00157955 +73.28 0.00190046 +73.29 0.00223504 +73.3 0.00257315 +73.31 0.00290466 +73.32 0.00321877 +73.33 0.00350522 +73.34 0.00375712 +73.35 0.00396808 +73.36 0.00413334 +73.37 0.0042499 +73.38 0.00431655 +73.39 0.00433398 +73.4 0.00430464 +73.41 0.00423267 +73.42 0.00412119 +73.43 0.0039807 +73.44 0.00381934 +73.45 0.00364574 +73.46 0.00346872 +73.47 0.00329706 +73.48 0.00313909 +73.49 0.00300241 +73.5 0.00289364 +73.51 0.00281962 +73.52 0.00278481 +73.53 0.00278961 +73.54 0.00283433 +73.55 0.00291767 +73.56 0.0030367 +73.57 0.00318707 +73.58 0.00336311 +73.59 0.00355809 +73.6 0.0037645 +73.61 0.00397387 +73.62 0.00417707 +73.63 0.00436602 +73.64 0.00453317 +73.65 0.00467176 +73.66 0.00477607 +73.67 0.00484165 +73.68 0.00486552 +73.69 0.00484624 +73.7 0.00478241 +73.71 0.00467603 +73.72 0.00453291 +73.73 0.0043583 +73.74 0.00415867 +73.75 0.00394155 +73.76 0.0037152 +73.77 0.00348829 +73.78 0.00326964 +73.79 0.0030678 +73.8 0.00289348 +73.81 0.00275213 +73.82 0.0026493 +73.83 0.00258912 +73.84 0.002574 +73.85 0.00260458 +73.86 0.00267956 +73.87 0.0027958 +73.88 0.00294833 +73.89 0.00313137 +73.9 0.00333586 +73.91 0.00355099 +73.92 0.00376655 +73.93 0.00397195 +73.94 0.00415663 +73.95 0.00431047 +73.96 0.00442424 +73.97 0.00448993 +73.98 0.00450117 +73.99 0.00444833 +74 0.00433412 +74.01 0.00415927 +74.02 0.00392678 +74.03 0.00364203 +74.04 0.00331265 +74.05 0.00294835 +74.06 0.00256055 +74.07 0.00216205 +74.08 0.0017673 +74.09 0.00139218 +74.1 0.00105039 +74.11 0.000755022 +74.12 0.000517877 +74.13 0.000348916 +74.14 0.000255836 +74.15 0.000243703 +74.16 0.000314664 +74.17 0.000467774 +74.18 0.000704938 +74.19 0.00101146 +74.2 0.00137643 +74.21 0.00178656 +74.22 0.00222645 +74.23 0.0026791 +74.24 0.00312653 +74.25 0.00355038 +74.26 0.00393267 +74.27 0.00425327 +74.28 0.00449508 +74.29 0.00464843 +74.3 0.00470386 +74.31 0.00465529 +74.32 0.00450031 +74.33 0.00424032 +74.34 0.00388057 +74.35 0.00343002 +74.36 0.00290107 +74.37 0.0023053 +74.38 0.00166758 +74.39 0.00100805 +74.4 0.00034771 +74.41 -0.000292268 +74.42 -0.000891355 +74.43 -0.00143043 +74.44 -0.00189253 +74.45 -0.00226346 +74.46 -0.00252779 +74.47 -0.00267791 +74.48 -0.00271641 +74.49 -0.00264547 +74.5 -0.00247143 +74.51 -0.00220448 +74.52 -0.00185831 +74.53 -0.00144958 +74.54 -0.000997243 +74.55 -0.000521827 +74.56 -4.62915e-05 +74.57 0.00040657 +74.58 0.000816828 +74.59 0.00116646 +74.6 0.00144005 +74.61 0.00162537 +74.62 0.00171387 +74.63 0.00170094 +74.64 0.00158612 +74.65 0.00136914 +74.66 0.00105877 +74.67 0.000671111 +74.68 0.000220866 +74.69 -0.000275012 +74.7 -0.000798047 +74.71 -0.00132904 +74.72 -0.00184887 +74.73 -0.00233934 +74.74 -0.00278389 +74.75 -0.0031621 +74.76 -0.00346758 +74.77 -0.00369322 +74.78 -0.00383557 +74.79 -0.003895 +74.8 -0.00387551 +74.81 -0.00378457 +74.82 -0.00363267 +74.83 -0.00343283 +74.84 -0.0031992 +74.85 -0.00294975 +74.86 -0.00270218 +74.87 -0.00247221 +74.88 -0.00227419 +74.89 -0.00212049 +74.9 -0.00202085 +74.91 -0.00198199 +74.92 -0.00200728 +74.93 -0.00209659 +74.94 -0.00225097 +74.95 -0.00245732 +74.96 -0.00270523 +74.97 -0.00298204 +74.98 -0.0032734 +74.99 -0.00356401 +75 -0.00383839 +75.01 -0.00408165 +75.02 -0.00428026 +75.03 -0.00441986 +75.04 -0.00449099 +75.05 -0.00449121 +75.06 -0.00441914 +75.07 -0.00427707 +75.08 -0.00407093 +75.09 -0.00381005 +75.1 -0.00350681 +75.11 -0.00317607 +75.12 -0.00283454 +75.13 -0.00250219 +75.14 -0.0021977 +75.15 -0.00193822 +75.16 -0.00173925 +75.17 -0.0016139 +75.18 -0.00157217 +75.19 -0.00162045 +75.2 -0.00176115 +75.21 -0.00199243 +75.22 -0.0023115 +75.23 -0.00270638 +75.24 -0.00315891 +75.25 -0.00365148 +75.26 -0.00416417 +75.27 -0.00467563 +75.28 -0.00516391 +75.29 -0.00560751 +75.3 -0.00598624 +75.31 -0.00628207 +75.32 -0.00647096 +75.33 -0.0065501 +75.34 -0.00651382 +75.35 -0.00636119 +75.36 -0.00609614 +75.37 -0.00572736 +75.38 -0.00526797 +75.39 -0.00473507 +75.4 -0.004149 +75.41 -0.00353236 +75.42 -0.00291251 +75.43 -0.00231535 +75.44 -0.00176479 +75.45 -0.00128293 +75.46 -0.000889088 +75.47 -0.000598965 +75.48 -0.000423992 +75.49 -0.00037081 +75.5 -0.000441188 +75.51 -0.000640711 +75.52 -0.000949136 +75.53 -0.00135217 +75.54 -0.00183157 +75.55 -0.0023659 +75.56 -0.00293145 +75.57 -0.00350326 +75.58 -0.00405613 +75.59 -0.00456572 +75.6 -0.00500564 +75.61 -0.00535469 +75.62 -0.00560066 +75.63 -0.00573298 +75.64 -0.00574595 +75.65 -0.00563895 +75.66 -0.00541647 +75.67 -0.00508779 +75.68 -0.00466663 +75.69 -0.00417034 +75.7 -0.00361693 +75.71 -0.00303534 +75.72 -0.00244922 +75.73 -0.00188197 +75.74 -0.00135571 +75.75 -0.000890338 +75.76 -0.000502656 +75.77 -0.000205675 +75.78 -8.06691e-06 +75.79 8.14541e-05 +75.8 6.49674e-05 +75.81 -4.67245e-05 +75.82 -0.000242738 +75.83 -0.000508417 +75.84 -0.000826047 +75.85 -0.00117569 +75.86 -0.00153615 +75.87 -0.0018859 +75.88 -0.00220401 +75.89 -0.00246578 +75.9 -0.00265827 +75.91 -0.00276909 +75.92 -0.00278995 +75.93 -0.00271695 +75.94 -0.00255079 +75.95 -0.00229673 +75.96 -0.00196432 +75.97 -0.00156695 +75.98 -0.00111993 +75.99 -0.000645081 +76 -0.000165111 +76.01 0.000298801 +76.02 0.000726112 +76.03 0.00109788 +76.04 0.00139763 +76.05 0.00161217 +76.06 0.0017322 +76.07 0.00175241 +76.08 0.00166488 +76.09 0.00148332 +76.1 0.00121754 +76.11 0.000881355 +76.12 0.000492033 +76.13 6.95162e-05 +76.14 -0.000364433 +76.15 -0.000787191 +76.16 -0.00117626 +76.17 -0.00150673 +76.18 -0.00175785 +76.19 -0.00191635 +76.2 -0.00197048 +76.21 -0.00191287 +76.22 -0.00174085 +76.23 -0.00145656 +76.24 -0.00106693 +76.25 -0.000583329 +76.26 -2.0938e-05 +76.27 0.000604274 +76.28 0.00126422 +76.29 0.00193569 +76.3 0.00259502 +76.31 0.00321909 +76.32 0.00378628 +76.33 0.00427739 +76.34 0.00467638 +76.35 0.00497106 +76.36 0.00514806 +76.37 0.00520532 +76.38 0.0051498 +76.39 0.00498853 +76.4 0.00473275 +76.41 0.00439738 +76.42 0.00400029 +76.43 0.00356156 +76.44 0.00310256 +76.45 0.00264516 +76.46 0.00221412 +76.47 0.00182833 +76.48 0.00150461 +76.49 0.00125661 +76.5 0.00109433 +76.51 0.0010237 +76.52 0.00104644 +76.53 0.00116003 +76.54 0.00135793 +76.55 0.00163282 +76.56 0.00196873 +76.57 0.00234654 +76.58 0.00274836 +76.59 0.00315562 +76.6 0.00354984 +76.61 0.00391351 +76.62 0.00423084 +76.63 0.00448845 +76.64 0.00467553 +76.65 0.00477888 +76.66 0.0048019 +76.67 0.00474587 +76.68 0.00461578 +76.69 0.00441999 +76.7 0.00416983 +76.71 0.00387903 +76.72 0.00356311 +76.73 0.00323863 +76.74 0.00292366 +76.75 0.0026362 +76.76 0.00239058 +76.77 0.00219952 +76.78 0.00207308 +76.79 0.00201833 +76.8 0.00203898 +76.81 0.00213527 +76.82 0.00230399 +76.83 0.00253894 +76.84 0.00283375 +76.85 0.00317058 +76.86 0.003535 +76.87 0.00391134 +76.88 0.00428342 +76.89 0.00463518 +76.9 0.00495145 +76.91 0.0052185 +76.92 0.0054247 +76.93 0.00555714 +76.94 0.00561013 +76.95 0.00558395 +76.96 0.00547944 +76.97 0.00530059 +76.98 0.00505431 +76.99 0.00475011 +77 0.00439969 +77.01 0.00401639 +77.02 0.00361462 +77.03 0.00321036 +77.04 0.00281954 +77.05 0.00245588 +77.06 0.00213166 +77.07 0.0018573 +77.08 0.0016409 +77.09 0.00148805 +77.1 0.00140166 +77.11 0.00138187 +77.12 0.00142913 +77.13 0.00153678 +77.14 0.00169484 +77.15 0.00189399 +77.16 0.00212364 +77.17 0.00237238 +77.18 0.00262852 +77.19 0.00288058 +77.2 0.0031177 +77.21 0.00332992 +77.22 0.00350591 +77.23 0.00364162 +77.24 0.00373284 +77.25 0.00377743 +77.26 0.00377527 +77.27 0.00372817 +77.28 0.00363967 +77.29 0.00351485 +77.3 0.00335995 +77.31 0.00318131 +77.32 0.00298773 +77.33 0.00278765 +77.34 0.00258839 +77.35 0.00239658 +77.36 0.00221794 +77.37 0.00205699 +77.38 0.00191695 +77.39 0.00179962 +77.4 0.00170555 +77.41 0.00163512 +77.42 0.001584 +77.43 0.00154863 +77.44 0.0015247 +77.45 0.00150732 +77.46 0.00149136 +77.47 0.00147167 +77.48 0.00144344 +77.49 0.00140235 +77.5 0.00134387 +77.51 0.00126547 +77.52 0.00116641 +77.53 0.00104649 +77.54 0.000906613 +77.55 0.000748766 +77.56 0.000575893 +77.57 0.000391752 +77.58 0.000200734 +77.59 7.6753e-06 +77.6 -0.000181746 +77.61 -0.000362502 +77.62 -0.000529985 +77.63 -0.000680112 +77.64 -0.000809498 +77.65 -0.000915597 +77.66 -0.000996804 +77.67 -0.00105251 +77.68 -0.00108314 +77.69 -0.00108897 +77.7 -0.00107308 +77.71 -0.00103956 +77.72 -0.000992303 +77.73 -0.00093566 +77.74 -0.000874248 +77.75 -0.000812766 +77.76 -0.000755806 +77.77 -0.000707678 +77.78 -0.000672383 +77.79 -0.000654566 +77.8 -0.000655608 +77.81 -0.000677153 +77.82 -0.000720024 +77.83 -0.000784222 +77.84 -0.00086896 +77.85 -0.000972719 +77.86 -0.00109333 +77.87 -0.0012281 +77.88 -0.00137427 +77.89 -0.00152784 +77.9 -0.00168486 +77.91 -0.00184175 +77.92 -0.00199509 +77.93 -0.0021417 +77.94 -0.00227873 +77.95 -0.00240379 +77.96 -0.00251495 +77.97 -0.00261067 +77.98 -0.00268895 +77.99 -0.0027508 +78 -0.00279654 +78.01 -0.00282696 +78.02 -0.00284326 +78.03 -0.00284703 +78.04 -0.00284013 +78.05 -0.00282464 +78.06 -0.00280281 +78.07 -0.00277686 +78.08 -0.00274943 +78.09 -0.00272291 +78.1 -0.0026994 +78.11 -0.00268085 +78.12 -0.00266899 +78.13 -0.00266529 +78.14 -0.00267096 +78.15 -0.0026869 +78.16 -0.0027138 +78.17 -0.00275271 +78.18 -0.00280265 +78.19 -0.00286323 +78.2 -0.0029337 +78.21 -0.00301308 +78.22 -0.00310011 +78.23 -0.00319329 +78.24 -0.00329093 +78.25 -0.00339117 +78.26 -0.00349197 +78.27 -0.00359103 +78.28 -0.00368626 +78.29 -0.00377565 +78.3 -0.00385726 +78.31 -0.00392933 +78.32 -0.00399029 +78.33 -0.00403884 +78.34 -0.00407397 +78.35 -0.00409487 +78.36 -0.00410031 +78.37 -0.00409155 +78.38 -0.00406918 +78.39 -0.00403414 +78.4 -0.00398775 +78.41 -0.00393165 +78.42 -0.00386774 +78.43 -0.00379813 +78.44 -0.00372508 +78.45 -0.00365096 +78.46 -0.00357833 +78.47 -0.00350936 +78.48 -0.003446 +78.49 -0.00338993 +78.5 -0.00334248 +78.51 -0.00330458 +78.52 -0.00327675 +78.53 -0.00325908 +78.54 -0.00325127 +78.55 -0.003253 +78.56 -0.00326226 +78.57 -0.00327745 +78.58 -0.00329672 +78.59 -0.00331804 +78.6 -0.00333931 +78.61 -0.00335842 +78.62 -0.00337337 +78.63 -0.00338235 +78.64 -0.00338334 +78.65 -0.00337524 +78.66 -0.00335758 +78.67 -0.00333009 +78.68 -0.00329293 +78.69 -0.00324671 +78.7 -0.00319247 +78.71 -0.00313156 +78.72 -0.00306568 +78.73 -0.00299672 +78.74 -0.00292682 +78.75 -0.00285826 +78.76 -0.00279301 +78.77 -0.00273286 +78.78 -0.00267932 +78.79 -0.00263358 +78.8 -0.0025964 +78.81 -0.00256813 +78.82 -0.00254863 +78.83 -0.00253769 +78.84 -0.00253392 +78.85 -0.0025355 +78.86 -0.00254058 +78.87 -0.00254704 +78.88 -0.00255257 +78.89 -0.00255481 +78.9 -0.00255143 +78.91 -0.0025402 +78.92 -0.00251898 +78.93 -0.0024852 +78.94 -0.00243837 +78.95 -0.00237767 +78.96 -0.00230271 +78.97 -0.0022136 +78.98 -0.00211091 +78.99 -0.00199561 +79 -0.00186909 +79.01 -0.00173305 +79.02 -0.00158914 +79.03 -0.00143993 +79.04 -0.00128789 +79.05 -0.00113522 +79.06 -0.000984043 +79.07 -0.000836324 +79.08 -0.000693785 +79.09 -0.000557876 +79.1 -0.000429734 +79.11 -0.000310279 +79.12 -0.000200562 +79.13 -0.00010002 +79.14 -8.4518e-06 +79.15 7.45904e-05 +79.16 0.00014975 +79.17 0.000217815 +79.18 0.000279658 +79.19 0.00033618 +79.2 0.000388261 +79.21 0.000436549 +79.22 0.000481892 +79.23 0.000524935 +79.24 0.000566056 +79.25 0.000605478 +79.26 0.000643278 +79.27 0.000679403 +79.28 0.000713705 +79.29 0.00074597 +79.3 0.000775924 +79.31 0.000803176 +79.32 0.000827749 +79.33 0.000849598 +79.34 0.00086881 +79.35 0.000885631 +79.36 0.000900474 +79.37 0.000913927 +79.38 0.000926747 +79.39 0.000939843 +79.4 0.000954395 +79.41 0.000971631 +79.42 0.00099271 +79.43 0.00101884 +79.44 0.00105119 +79.45 0.00109085 +79.46 0.00113878 +79.47 0.00119581 +79.48 0.00126254 +79.49 0.00133955 +79.5 0.00142762 +79.51 0.0015259 +79.52 0.00163406 +79.53 0.00175155 +79.54 0.00187758 +79.55 0.0020112 +79.56 0.00215126 +79.57 0.00229649 +79.58 0.00244547 +79.59 0.00259676 +79.6 0.00274853 +79.61 0.00289908 +79.62 0.00304674 +79.63 0.00318982 +79.64 0.00332663 +79.65 0.00345549 +79.66 0.00357476 +79.67 0.00368282 +79.68 0.00377791 +79.69 0.0038576 +79.7 0.00392149 +79.71 0.00396839 +79.72 0.0039973 +79.73 0.00400742 +79.74 0.00399824 +79.75 0.00396954 +79.76 0.00392146 +79.77 0.00385454 +79.78 0.00376882 +79.79 0.00366644 +79.8 0.00354994 +79.81 0.00342178 +79.82 0.00328492 +79.83 0.00314269 +79.84 0.0029988 +79.85 0.00285723 +79.86 0.00272212 +79.87 0.00259794 +79.88 0.00249009 +79.89 0.00240166 +79.9 0.0023362 +79.91 0.00229673 +79.92 0.00228564 +79.93 0.00230456 +79.94 0.00235427 +79.95 0.0024346 +79.96 0.00254442 +79.97 0.00268305 +79.98 0.00284614 +79.99 0.00302878 +80 0.00322603 +80.01 0.00343235 +80.02 0.00364173 +80.03 0.00384789 +80.04 0.00404451 +80.05 0.00422542 +80.06 0.00438443 +80.07 0.00451441 +80.08 0.00461277 +80.09 0.00467634 +80.1 0.00470305 +80.11 0.00469208 +80.12 0.00464383 +80.13 0.00455998 +80.14 0.00444339 +80.15 0.00429802 +80.16 0.00412772 +80.17 0.00393953 +80.18 0.0037404 +80.19 0.00353686 +80.2 0.00333541 +80.21 0.00314227 +80.22 0.00296316 +80.23 0.00280307 +80.24 0.00266603 +80.25 0.00255547 +80.26 0.00247478 +80.27 0.00242233 +80.28 0.00239718 +80.29 0.00239721 +80.3 0.00241925 +80.31 0.00245928 +80.32 0.00251255 +80.33 0.00257389 +80.34 0.00263791 +80.35 0.00269881 +80.36 0.00275115 +80.37 0.00279066 +80.38 0.00281372 +80.39 0.00281767 +80.4 0.00280086 +80.41 0.00276273 +80.42 0.00270383 +80.43 0.00262576 +80.44 0.00253082 +80.45 0.00242201 +80.46 0.0023045 +80.47 0.00218264 +80.48 0.00206087 +80.49 0.00194346 +80.5 0.0018343 +80.51 0.00173665 +80.52 0.00165302 +80.53 0.00158497 +80.54 0.00153397 +80.55 0.00149878 +80.56 0.00147721 +80.57 0.00146654 +80.58 0.0014633 +80.59 0.00146341 +80.6 0.0014624 +80.61 0.0014557 +80.62 0.00143886 +80.63 0.00140753 +80.64 0.0013571 +80.65 0.00128629 +80.66 0.00119386 +80.67 0.00107975 +80.68 0.000945151 +80.69 0.000792483 +80.7 0.00062533 +80.71 0.000448291 +80.72 0.000266786 +80.73 8.72924e-05 +80.74 -8.3326e-05 +80.75 -0.000238937 +80.76 -0.000373787 +80.77 -0.000482868 +80.78 -0.000562212 +80.79 -0.000609133 +80.8 -0.000622426 +80.81 -0.000602494 +80.82 -0.000550934 +80.83 -0.000470546 +80.84 -0.000369046 +80.85 -0.000253297 +80.86 -0.000131193 +80.87 -1.13266e-05 +80.88 9.73843e-05 +80.89 0.000186094 +80.9 0.000246441 +80.91 0.000270951 +80.92 0.000250554 +80.93 0.000181898 +80.94 6.37775e-05 +80.95 -0.000104041 +80.96 -0.000319635 +80.97 -0.000578947 +80.98 -0.000875902 +80.99 -0.00120261 +81 -0.00154969 +81.01 -0.00190654 +81.02 -0.00226071 +81.03 -0.00260016 +81.04 -0.00291382 +81.05 -0.00319151 +81.06 -0.00342436 +81.07 -0.00360525 +81.08 -0.00372913 +81.09 -0.00379326 +81.1 -0.00379738 +81.11 -0.00374047 +81.12 -0.00363008 +81.13 -0.00347507 +81.14 -0.00328468 +81.15 -0.00306965 +81.16 -0.00284171 +81.17 -0.00261308 +81.18 -0.0023959 +81.19 -0.00220171 +81.2 -0.00204166 +81.21 -0.00192732 +81.22 -0.00186248 +81.23 -0.00185094 +81.24 -0.00189387 +81.25 -0.00198977 +81.26 -0.00213453 +81.27 -0.00232162 +81.28 -0.00254236 +81.29 -0.00278636 +81.3 -0.00304188 +81.31 -0.00329491 +81.32 -0.00353282 +81.33 -0.00374389 +81.34 -0.00391763 +81.35 -0.00404531 +81.36 -0.00412038 +81.37 -0.00413887 +81.38 -0.00409957 +81.39 -0.00400322 +81.4 -0.00385259 +81.41 -0.00365929 +81.42 -0.00343346 +81.43 -0.00318708 +81.44 -0.00293344 +81.45 -0.00268655 +81.46 -0.00246047 +81.47 -0.00226863 +81.48 -0.00212316 +81.49 -0.00203839 +81.5 -0.00202033 +81.51 -0.00207184 +81.52 -0.00219396 +81.53 -0.00238437 +81.54 -0.0026374 +81.55 -0.00294425 +81.56 -0.00329326 +81.57 -0.0036704 +81.58 -0.00405973 +81.59 -0.00444229 +81.6 -0.00480008 +81.61 -0.00511635 +81.62 -0.00537565 +81.63 -0.00556459 +81.64 -0.00567244 +81.65 -0.00569169 +81.66 -0.00561838 +81.67 -0.0054524 +81.68 -0.00519244 +81.69 -0.00485087 +81.7 -0.00444169 +81.71 -0.00397979 +81.72 -0.00348245 +81.73 -0.00296864 +81.74 -0.00245823 +81.75 -0.00197114 +81.76 -0.00152652 +81.77 -0.00114342 +81.78 -0.000841709 +81.79 -0.000628555 +81.8 -0.000511586 +81.81 -0.000494392 +81.82 -0.000576358 +81.83 -0.000752673 +81.84 -0.00101452 +81.85 -0.00134946 +81.86 -0.00174193 +81.87 -0.00217515 +81.88 -0.00262579 +81.89 -0.00307246 +81.9 -0.0034949 +81.91 -0.00387405 +81.92 -0.00419282 +81.93 -0.00443684 +81.94 -0.0045951 +81.95 -0.00466038 +81.96 -0.00462763 +81.97 -0.0044942 +81.98 -0.00427269 +81.99 -0.00397311 +82 -0.00360883 +82.01 -0.00319594 +82.02 -0.00275251 +82.03 -0.00229779 +82.04 -0.00185132 +82.05 -0.00143203 +82.06 -0.00106127 +82.07 -0.000753463 +82.08 -0.000519065 +82.09 -0.000365959 +82.1 -0.000298059 +82.11 -0.000315137 +82.12 -0.00041284 +82.13 -0.000582894 +82.14 -0.000813489 +82.15 -0.0010904 +82.16 -0.00139585 +82.17 -0.00170814 +82.18 -0.00200797 +82.19 -0.00227653 +82.2 -0.00249633 +82.21 -0.00265202 +82.22 -0.00273113 +82.23 -0.00272463 +82.24 -0.0026274 +82.25 -0.00243274 +82.26 -0.00214875 +82.27 -0.00178575 +82.28 -0.00135571 +82.29 -0.000873815 +82.3 -0.00035779 +82.31 0.000172888 +82.32 0.000697833 +82.33 0.00119665 +82.34 0.00164846 +82.35 0.00203121 +82.36 0.00233358 +82.37 0.00254451 +82.38 0.00265681 +82.39 0.00266752 +82.4 0.00257804 +82.41 0.0023941 +82.42 0.0021255 +82.43 0.00178571 +82.44 0.001389 +82.45 0.000958776 +82.46 0.000516907 +82.47 8.45889e-05 +82.48 -0.000317427 +82.49 -0.000669713 +82.5 -0.000954988 +82.51 -0.00115884 +82.52 -0.00127034 +82.53 -0.0012802 +82.54 -0.00118142 +82.55 -0.000982936 +82.56 -0.000691316 +82.57 -0.000316964 +82.58 0.000126372 +82.59 0.000622217 +82.6 0.00115209 +82.61 0.00169634 +82.62 0.00223494 +82.63 0.00274551 +82.64 0.00320959 +82.65 0.00361228 +82.66 0.00394099 +82.67 0.00418651 +82.68 0.00434334 +82.69 0.00440985 +82.7 0.00438826 +82.71 0.0042845 +82.72 0.00410646 +82.73 0.0038653 +82.74 0.00358043 +82.75 0.00326807 +82.76 0.00294512 +82.77 0.00262832 +82.78 0.0023336 +82.79 0.00207529 +82.8 0.00186558 +82.81 0.001714 +82.82 0.00163156 +82.83 0.00161832 +82.84 0.00167214 +82.85 0.00178897 +82.86 0.00196187 +82.87 0.00218135 +82.88 0.00243589 +82.89 0.00271256 +82.9 0.00299761 +82.91 0.00327672 +82.92 0.00353458 +82.93 0.00375985 +82.94 0.00394264 +82.95 0.00407532 +82.96 0.00415291 +82.97 0.00417326 +82.98 0.00413709 +82.99 0.00404791 +83 0.00391185 +83.01 0.00373538 +83.02 0.00353169 +83.03 0.0033132 +83.04 0.00309218 +83.05 0.00288089 +83.06 0.00269092 +83.07 0.00253273 +83.08 0.00241508 +83.09 0.00234464 +83.1 0.00232697 +83.11 0.00236571 +83.12 0.00245602 +83.13 0.00259377 +83.14 0.00277248 +83.15 0.00298366 +83.16 0.00321718 +83.17 0.00346183 +83.18 0.00370579 +83.19 0.00393724 +83.2 0.00414258 +83.21 0.00431205 +83.22 0.00443792 +83.23 0.00451402 +83.24 0.00453656 +83.25 0.00450421 +83.26 0.00441823 +83.27 0.00428238 +83.28 0.00410271 +83.29 0.00388671 +83.3 0.00364428 +83.31 0.00338872 +83.32 0.0031317 +83.33 0.00288487 +83.34 0.00265938 +83.35 0.0024653 +83.36 0.0023112 +83.37 0.00220373 +83.38 0.00214733 +83.39 0.00214758 +83.4 0.00220095 +83.41 0.00230287 +83.42 0.00244747 +83.43 0.0026268 +83.44 0.00283122 +83.45 0.0030498 +83.46 0.00327081 +83.47 0.00348224 +83.48 0.00367147 +83.49 0.00382526 +83.5 0.00393559 +83.51 0.00399476 +83.52 0.00399719 +83.53 0.00393957 +83.54 0.0038211 +83.55 0.00364342 +83.56 0.00341062 +83.57 0.00312904 +83.58 0.00280488 +83.59 0.00245125 +83.6 0.00208023 +83.61 0.00170381 +83.62 0.00133417 +83.63 0.000983137 +83.64 0.000661758 +83.65 0.000379862 +83.66 0.000145682 +83.67 -3.29425e-05 +83.68 -0.000149498 +83.69 -0.000205896 +83.7 -0.000202963 +83.71 -0.000143745 +83.72 -3.33436e-05 +83.73 0.000121317 +83.74 0.000311791 +83.75 0.000528459 +83.76 0.000760918 +83.77 0.00099798 +83.78 0.00122772 +83.79 0.00143994 +83.8 0.0016254 +83.81 0.00177607 +83.82 0.00188539 +83.83 0.00194848 +83.84 0.00196222 +83.85 0.00192538 +83.86 0.00183728 +83.87 0.00169903 +83.88 0.00151792 +83.89 0.00129957 +83.9 0.00105068 +83.91 0.000778792 +83.92 0.000491937 +83.93 0.000198381 +83.94 -9.37023e-05 +83.95 -0.000376503 +83.96 -0.000641237 +83.97 -0.00088202 +83.98 -0.00109411 +83.99 -0.00127368 +84 -0.00141819 +84.01 -0.00152641 +84.02 -0.00159845 +84.03 -0.00163564 +84.04 -0.00164048 +84.05 -0.00161586 +84.06 -0.00156592 +84.07 -0.00149759 +84.08 -0.00141654 +84.09 -0.00132869 +84.1 -0.00123999 +84.11 -0.00115626 +84.12 -0.00108294 +84.13 -0.00102501 +84.14 -0.000986733 +84.15 -0.00097344 +84.16 -0.000986584 +84.17 -0.0010272 +84.18 -0.00109571 +84.19 -0.0011915 +84.2 -0.001313 +84.21 -0.00145769 +84.22 -0.0016222 +84.23 -0.00180243 +84.24 -0.00199382 +84.25 -0.0021908 +84.26 -0.00238727 +84.27 -0.00257768 +84.28 -0.00275664 +84.29 -0.00291905 +84.3 -0.00306034 +84.31 -0.0031766 +84.32 -0.00326478 +84.33 -0.00332276 +84.34 -0.00334732 +84.35 -0.00334046 +84.36 -0.00330425 +84.37 -0.00324137 +84.38 -0.00315563 +84.39 -0.00305179 +84.4 -0.00293548 +84.41 -0.00281294 +84.42 -0.00269088 +84.43 -0.00257655 +84.44 -0.00247788 +84.45 -0.00240068 +84.46 -0.00235053 +84.47 -0.00233205 +84.48 -0.00234867 +84.49 -0.00240245 +84.5 -0.00249388 +84.51 -0.00262184 +84.52 -0.00278358 +84.53 -0.00297637 +84.54 -0.00319196 +84.55 -0.00342239 +84.56 -0.00365918 +84.57 -0.00389311 +84.58 -0.0041146 +84.59 -0.0043141 +84.6 -0.00448251 +84.61 -0.00461154 +84.62 -0.00469264 +84.63 -0.00471837 +84.64 -0.00468833 +84.65 -0.00460155 +84.66 -0.00445931 +84.67 -0.00426526 +84.68 -0.00402531 +84.69 -0.00374752 +84.7 -0.00344183 +84.71 -0.00311972 +84.72 -0.00279453 +84.73 -0.00248092 +84.74 -0.00219226 +84.75 -0.00194128 +84.76 -0.00173959 +84.77 -0.00159713 +84.78 -0.00152174 +84.79 -0.00151869 +84.8 -0.00159044 +84.81 -0.00173843 +84.82 -0.00196023 +84.83 -0.00224411 +84.84 -0.00257977 +84.85 -0.00295444 +84.86 -0.00335334 +84.87 -0.00376016 +84.88 -0.0041578 +84.89 -0.00452894 +84.9 -0.00485683 +84.91 -0.00512069 +84.92 -0.00530955 +84.93 -0.00541391 +84.94 -0.00542655 +84.95 -0.00534385 +84.96 -0.00516591 +84.97 -0.00489673 +84.98 -0.00454404 +84.99 -0.00411914 +85 -0.00363528 +85.01 -0.00311042 +85.02 -0.00256706 +85.03 -0.00202551 +85.04 -0.00150622 +85.05 -0.00102897 +85.06 -0.000612049 +85.07 -0.000271438 +85.08 -2.01431e-05 +85.09 0.000132406 +85.1 0.000173096 +85.11 0.000107564 +85.12 -5.8477e-05 +85.13 -0.000316488 +85.14 -0.00065398 +85.15 -0.00105499 +85.16 -0.00150073 +85.17 -0.00197032 +85.18 -0.0024417 +85.19 -0.0028912 +85.2 -0.00329376 +85.21 -0.00363111 +85.22 -0.0038863 +85.23 -0.00404579 +85.24 -0.00410005 +85.25 -0.00404397 +85.26 -0.00387718 +85.27 -0.00360403 +85.28 -0.00323348 +85.29 -0.00277379 +85.3 -0.00224894 +85.31 -0.00168048 +85.32 -0.00109086 +85.33 -0.000503497 +85.34 5.81711e-05 +85.35 0.000571719 +85.36 0.00101669 +85.37 0.0013755 +85.38 0.00163082 +85.39 0.0017696 +85.4 0.00179369 +85.41 0.00170419 +85.42 0.00150713 +85.43 0.00121325 +85.44 0.000837566 +85.45 0.000398705 +85.46 -8.18365e-05 +85.47 -0.00058062 +85.48 -0.00107098 +85.49 -0.00152706 +85.5 -0.00192628 +85.51 -0.00224831 +85.52 -0.00247605 +85.53 -0.00259642 +85.54 -0.00260083 +85.55 -0.00248563 +85.56 -0.00225223 +85.57 -0.00190392 +85.58 -0.00145109 +85.59 -0.000916172 +85.6 -0.000318826 +85.61 0.000318753 +85.62 0.000972767 +85.63 0.00161884 +85.64 0.00223305 +85.65 0.00279295 +85.66 0.0032785 +85.67 0.00366512 +85.68 0.00394528 +85.69 0.0041128 +85.7 0.00416522 +85.71 0.00410495 +85.72 0.00393916 +85.73 0.00367937 +85.74 0.00334091 +85.75 0.00294227 +85.76 0.00250369 +85.77 0.00204936 +85.78 0.00160373 +85.79 0.00118836 +85.8 0.000823042 +85.81 0.000524965 +85.82 0.000308 +85.83 0.000182153 +85.84 0.000153195 +85.85 0.000222471 +85.86 0.000393541 +85.87 0.000651885 +85.88 0.000984612 +85.89 0.00137687 +85.9 0.00181148 +85.91 0.00226975 +85.92 0.00273232 +85.93 0.00318012 +85.94 0.00359514 +85.95 0.00395924 +85.96 0.00425637 +85.97 0.00447971 +85.98 0.00462332 +85.99 0.00468502 +86 0.00466648 +86.01 0.00457297 +86.02 0.00441309 +86.03 0.0041982 +86.04 0.00394188 +86.05 0.00365839 +86.06 0.00336658 +86.07 0.00308226 +86.08 0.00282 +86.09 0.00259263 +86.1 0.00241073 +86.11 0.00228211 +86.12 0.00221152 +86.13 0.00220046 +86.14 0.00224894 +86.15 0.00235245 +86.16 0.00249979 +86.17 0.00268073 +86.18 0.00288344 +86.19 0.00309522 +86.2 0.00330314 +86.21 0.00349476 +86.22 0.00365882 +86.23 0.0037858 +86.24 0.00386473 +86.25 0.00389405 +86.26 0.00387324 +86.27 0.00380433 +86.28 0.00369222 +86.29 0.00354443 +86.3 0.00337069 +86.31 0.00318246 +86.32 0.00299222 +86.33 0.00281372 +86.34 0.00266132 +86.35 0.0025456 +86.36 0.00247599 +86.37 0.00245951 +86.38 0.00250039 +86.39 0.00259972 +86.4 0.00275531 +86.41 0.00296173 +86.42 0.00321049 +86.43 0.00349171 +86.44 0.00378845 +86.45 0.0040851 +86.46 0.00436561 +86.47 0.00461399 +86.48 0.00481513 +86.49 0.0049555 +86.5 0.00502391 +86.51 0.00501212 +86.52 0.0049124 +86.53 0.00472236 +86.54 0.00445029 +86.55 0.00410381 +86.56 0.00369414 +86.57 0.00323567 +86.58 0.00274543 +86.59 0.00224228 +86.6 0.0017462 +86.61 0.00127734 +86.62 0.000860142 +86.63 0.000510347 +86.64 0.000242182 +86.65 6.69696e-05 +86.66 -7.88169e-06 +86.67 2.0726e-05 +86.68 0.000151373 +86.69 0.000378114 +86.7 0.000690666 +86.71 0.00107662 +86.72 0.00151707 +86.73 0.00198763 +86.74 0.00246607 +86.75 0.00292952 +86.76 0.00335555 +86.77 0.0037231 +86.78 0.00401342 +86.79 0.00421092 +86.8 0.00430388 +86.81 0.00427604 +86.82 0.00413314 +86.83 0.00387963 +86.84 0.00352372 +86.85 0.0030781 +86.86 0.00255935 +86.87 0.00198727 +86.88 0.001384 +86.89 0.000773102 +86.9 0.00017995 +86.91 -0.000369047 +86.92 -0.000853816 +86.93 -0.00125613 +86.94 -0.00156138 +86.95 -0.00175926 +86.96 -0.00184417 +86.97 -0.00181546 +86.98 -0.00167751 +86.99 -0.0014395 +87 -0.00110957 +87.01 -0.000713148 +87.02 -0.000271915 +87.03 0.000191216 +87.04 0.000652414 +87.05 0.00108796 +87.06 0.0014753 +87.07 0.00179396 +87.08 0.00202652 +87.09 0.0021554 +87.1 0.00216903 +87.11 0.00206912 +87.12 0.00185714 +87.13 0.0015394 +87.14 0.00112679 +87.15 0.00063426 +87.16 8.02033e-05 +87.17 -0.000514381 +87.18 -0.00112678 +87.19 -0.00173127 +87.2 -0.00230341 +87.21 -0.00282183 +87.22 -0.00326756 +87.23 -0.00362479 +87.24 -0.00388161 +87.25 -0.0040304 +87.26 -0.00406817 +87.27 -0.00399664 +87.28 -0.00381877 +87.29 -0.00354542 +87.3 -0.00319687 +87.31 -0.00279114 +87.32 -0.00234841 +87.33 -0.00189009 +87.34 -0.00143795 +87.35 -0.00101319 +87.36 -0.000635497 +87.37 -0.000322313 +87.38 -9.52524e-05 +87.39 4.02668e-05 +87.4 7.88267e-05 +87.41 1.86496e-05 +87.42 -0.000137829 +87.43 -0.000384142 +87.44 -0.000710134 +87.45 -0.00110246 +87.46 -0.0015452 +87.47 -0.00202107 +87.48 -0.00250922 +87.49 -0.00298911 +87.5 -0.00344249 +87.51 -0.00385261 +87.52 -0.00420488 +87.53 -0.00448742 +87.54 -0.00469152 +87.55 -0.00481189 +87.56 -0.00484682 +87.57 -0.00479184 +87.58 -0.00465923 +87.59 -0.00445842 +87.6 -0.00420081 +87.61 -0.00389975 +87.62 -0.00356993 +87.63 -0.00322674 +87.64 -0.00288558 +87.65 -0.00256127 +87.66 -0.00226901 +87.67 -0.00202235 +87.68 -0.00182887 +87.69 -0.00169523 +87.7 -0.00162538 +87.71 -0.00162051 +87.72 -0.00167908 +87.73 -0.00179706 +87.74 -0.00196815 +87.75 -0.00218415 +87.76 -0.00243739 +87.77 -0.00271358 +87.78 -0.00300129 +87.79 -0.00328933 +87.8 -0.00356705 +87.81 -0.0038247 +87.82 -0.00405377 +87.83 -0.00424731 +87.84 -0.00440004 +87.85 -0.00450678 +87.86 -0.0045654 +87.87 -0.00457864 +87.88 -0.00454864 +87.89 -0.00447891 +87.9 -0.00437415 +87.91 -0.00423994 +87.92 -0.00408242 +87.93 -0.00390806 +87.94 -0.00372336 +87.95 -0.00353476 +87.96 -0.00334876 +87.97 -0.00317048 +87.98 -0.00300423 +87.99 -0.00285352 +88 -0.002721 +88.01 -0.00260849 +88.02 -0.00251705 +88.03 -0.00244702 +88.04 -0.00239893 +88.05 -0.0023721 +88.06 -0.00236427 +88.07 -0.00237395 +88.08 -0.00239945 +88.09 -0.00243894 +88.1 -0.0024905 +88.11 -0.00255216 +88.12 -0.00262184 +88.13 -0.00269741 +88.14 -0.00277672 +88.15 -0.00285689 +88.16 -0.00293533 +88.17 -0.00300927 +88.18 -0.00307577 +88.19 -0.00313175 +88.2 -0.00317401 +88.21 -0.00319936 +88.22 -0.00320465 +88.23 -0.00318595 +88.24 -0.00314021 +88.25 -0.00306658 +88.26 -0.0029638 +88.27 -0.00283146 +88.28 -0.00267009 +88.29 -0.00248127 +88.3 -0.00226772 +88.31 -0.00203328 +88.32 -0.00178287 +88.33 -0.00152214 +88.34 -0.00125926 +88.35 -0.00100176 +88.36 -0.000757443 +88.37 -0.000534129 +88.38 -0.000339313 +88.39 -0.000179848 +88.4 -6.16068e-05 +88.41 1.08277e-05 +88.42 3.24664e-05 +88.43 1.75792e-06 +88.44 -7.77867e-05 +88.45 -0.000202963 +88.46 -0.000368559 +88.47 -0.000567472 +88.48 -0.000790916 +88.49 -0.00102871 +88.5 -0.00126962 +88.51 -0.00150184 +88.52 -0.00171071 +88.53 -0.00188548 +88.54 -0.0020158 +88.55 -0.00209268 +88.56 -0.00210901 +88.57 -0.00205999 +88.58 -0.00194331 +88.59 -0.00175939 +88.6 -0.00151146 +88.61 -0.00120348 +88.62 -0.00084488 +88.63 -0.00044958 +88.64 -3.05625e-05 +88.65 0.000397933 +88.66 0.000820986 +88.67 0.00122361 +88.68 0.00159137 +88.69 0.00191105 +88.7 0.00217118 +88.71 0.0023563 +88.72 0.00246551 +88.73 0.00249638 +88.74 0.00244956 +88.75 0.002329 +88.76 0.00214183 +88.77 0.00189811 +88.78 0.00161045 +88.79 0.00129351 +88.8 0.000963547 +88.81 0.000639444 +88.82 0.00033853 +88.83 7.67576e-05 +88.84 -0.000131466 +88.85 -0.000273911 +88.86 -0.000341068 +88.87 -0.000326587 +88.88 -0.000227573 +88.89 -4.47457e-05 +88.9 0.00022359 +88.91 0.000562066 +88.92 0.000958889 +88.93 0.00139991 +88.94 0.00186902 +88.95 0.00234878 +88.96 0.00282122 +88.97 0.00326855 +88.98 0.00367397 +88.99 0.00401944 +89 0.00429067 +89.01 0.00448116 +89.02 0.0045851 +89.03 0.00460033 +89.04 0.0045284 +89.05 0.0043745 +89.06 0.0041472 +89.07 0.00385811 +89.08 0.00352137 +89.09 0.00315177 +89.1 0.00277052 +89.11 0.00239528 +89.12 0.00204315 +89.13 0.00172999 +89.14 0.00146973 +89.15 0.00127383 +89.16 0.00115077 +89.17 0.00110573 +89.18 0.00114368 +89.19 0.00126249 +89.2 0.00145265 +89.21 0.00170527 +89.22 0.00200891 +89.23 0.00235011 +89.24 0.00271402 +89.25 0.00308513 +89.26 0.00344791 +89.27 0.00378756 +89.28 0.00408651 +89.29 0.00433583 +89.3 0.00452711 +89.31 0.0046547 +89.32 0.00471599 +89.33 0.00471146 +89.34 0.00464453 +89.35 0.00452135 +89.36 0.00435044 +89.37 0.00414118 +89.38 0.00390672 +89.39 0.00366124 +89.4 0.00341722 +89.41 0.00318647 +89.42 0.00297954 +89.43 0.00280528 +89.44 0.00267036 +89.45 0.00257905 +89.46 0.00253299 +89.47 0.00253477 +89.48 0.00257652 +89.49 0.00265203 +89.5 0.00275331 +89.51 0.00287103 +89.52 0.00299506 +89.53 0.00311502 +89.54 0.00322089 +89.55 0.00330354 +89.56 0.00335368 +89.57 0.00336499 +89.58 0.00333575 +89.59 0.00326531 +89.6 0.0031555 +89.61 0.00301064 +89.62 0.00283725 +89.63 0.00264378 +89.64 0.00244016 +89.65 0.0022373 +89.66 0.00204851 +89.67 0.00188457 +89.68 0.00175548 +89.69 0.00166972 +89.7 0.00163376 +89.71 0.00165165 +89.72 0.00172477 +89.73 0.0018516 +89.74 0.00202779 +89.75 0.00224758 +89.76 0.00249998 +89.77 0.00277108 +89.78 0.00304736 +89.79 0.00331447 +89.8 0.00355789 +89.81 0.00376363 +89.82 0.0039189 +89.83 0.00401273 +89.84 0.00403659 +89.85 0.00397796 +89.86 0.0038413 +89.87 0.00362826 +89.88 0.00334392 +89.89 0.0029966 +89.9 0.00259757 +89.91 0.00216057 +89.92 0.00170127 +89.93 0.00123659 +89.94 0.000785277 +89.95 0.000366427 +89.96 -4.77379e-06 +89.97 -0.000314463 +89.98 -0.000551349 +89.99 -0.000707234 +90 -0.000777406 +90.01 -0.000760878 +90.02 -0.00066047 +90.03 -0.000482677 +90.04 -0.000232841 +90.05 6.88342e-05 +90.06 0.000406411 +90.07 0.00076233 +90.08 0.00111817 +90.09 0.00145548 +90.1 0.00175655 +90.11 0.00200524 +90.12 0.00218766 +90.13 0.00228904 +90.14 0.00230144 +90.15 0.00222518 +90.16 0.00206113 +90.17 0.00181404 +90.18 0.00149229 +90.19 0.00110754 +90.2 0.000674221 +90.21 0.000208835 +90.22 -0.000270712 +90.23 -0.000743986 +90.24 -0.00119198 +90.25 -0.00159791 +90.26 -0.00194698 +90.27 -0.00222706 +90.28 -0.00242914 +90.29 -0.00254777 +90.3 -0.00258124 +90.31 -0.00253165 +90.32 -0.00240174 +90.33 -0.00220236 +90.34 -0.00194943 +90.35 -0.00165786 +90.36 -0.00134408 +90.37 -0.00102528 +90.38 -0.000718644 +90.39 -0.000440548 +90.4 -0.000205838 +90.41 -2.72827e-05 +90.42 7.90938e-05 +90.43 0.000112247 +90.44 6.96735e-05 +90.45 -4.75776e-05 +90.46 -0.000235002 +90.47 -0.000484893 +90.48 -0.000786743 +90.49 -0.00112776 +90.5 -0.00149351 +90.51 -0.00186826 +90.52 -0.00223456 +90.53 -0.00257722 +90.54 -0.00288273 +90.55 -0.00313962 +90.56 -0.00333891 +90.57 -0.00347455 +90.58 -0.00354364 +90.59 -0.00354653 +90.6 -0.00348668 +90.61 -0.00336684 +90.62 -0.00320199 +90.63 -0.00300387 +90.64 -0.00278568 +90.65 -0.00256135 +90.66 -0.00234493 +90.67 -0.00214983 +90.68 -0.0019882 +90.69 -0.00187036 +90.7 -0.00180685 +90.71 -0.00180286 +90.72 -0.00185775 +90.73 -0.00196997 +90.74 -0.00213494 +90.75 -0.00234535 +90.76 -0.00259148 +90.77 -0.0028617 +90.78 -0.00314304 +90.79 -0.00342178 +90.8 -0.00368176 +90.81 -0.0039106 +90.82 -0.00409698 +90.83 -0.0042316 +90.84 -0.00430766 +90.85 -0.00432119 +90.86 -0.00427128 +90.87 -0.0041601 +90.88 -0.00399287 +90.89 -0.00377589 +90.9 -0.00352137 +90.91 -0.00324396 +90.92 -0.00295761 +90.93 -0.00267685 +90.94 -0.00241604 +90.95 -0.00218873 +90.96 -0.00200701 +90.97 -0.0018809 +90.98 -0.00181809 +90.99 -0.00182869 +91 -0.00190798 +91.01 -0.00205331 +91.02 -0.0022589 +91.03 -0.00251602 +91.04 -0.00281338 +91.05 -0.00313764 +91.06 -0.003474 +91.07 -0.00380686 +91.08 -0.00411887 +91.09 -0.00439349 +91.1 -0.00461819 +91.11 -0.00478166 +91.12 -0.00487521 +91.13 -0.00489313 +91.14 -0.00483301 +91.15 -0.00469579 +91.16 -0.00448579 +91.17 -0.0042103 +91.18 -0.0038765 +91.19 -0.00350292 +91.2 -0.0031045 +91.21 -0.00269719 +91.22 -0.0022973 +91.23 -0.00192076 +91.24 -0.00158245 +91.25 -0.0012955 +91.26 -0.00107081 +91.27 -0.000920087 +91.28 -0.000847958 +91.29 -0.000852602 +91.3 -0.000931661 +91.31 -0.00107956 +91.32 -0.00128778 +91.33 -0.00154522 +91.34 -0.00183877 +91.35 -0.00215381 +91.36 -0.00247489 +91.37 -0.00278433 +91.38 -0.00306703 +91.39 -0.00330954 +91.4 -0.00350031 +91.41 -0.00363018 +91.42 -0.00369273 +91.43 -0.00368454 +91.44 -0.00360529 +91.45 -0.00345769 +91.46 -0.00324477 +91.47 -0.00297656 +91.48 -0.00266632 +91.49 -0.00232643 +91.5 -0.00197027 +91.51 -0.00161158 +91.52 -0.00126387 +91.53 -0.000939823 +91.54 -0.00065072 +91.55 -0.000406252 +91.56 -0.000217996 +91.57 -8.62675e-05 +91.58 -1.24278e-05 +91.59 4.86579e-06 +91.6 -3.04585e-05 +91.61 -0.000112121 +91.62 -0.000231826 +91.63 -0.00037968 +91.64 -0.00054468 +91.65 -0.000714916 +91.66 -0.000877434 +91.67 -0.00102114 +91.68 -0.00113622 +91.69 -0.00121442 +91.7 -0.0012494 +91.71 -0.00123695 +91.72 -0.00117519 +91.73 -0.00106463 +91.74 -0.000907833 +91.75 -0.000707225 +91.76 -0.000473697 +91.77 -0.00021586 +91.78 5.66561e-05 +91.79 0.000333664 +91.8 0.000604891 +91.81 0.000860449 +91.82 0.00109128 +91.83 0.00128954 +91.84 0.00144682 +91.85 0.00155888 +91.86 0.00162522 +91.87 0.00164592 +91.88 0.00162312 +91.89 0.00156084 +91.9 0.00146482 +91.91 0.00134219 +91.92 0.00120116 +91.93 0.00105062 +91.94 0.000900567 +91.95 0.000760616 +91.96 0.000639118 +91.97 0.000543463 +91.98 0.000479778 +91.99 0.0004527 +92 0.000465208 +92.01 0.000518541 +92.02 0.000612185 +92.03 0.000745656 +92.04 0.000914136 +92.05 0.0011109 +92.06 0.0013296 +92.07 0.00156321 +92.08 0.0018043 +92.09 0.00204536 +92.1 0.00227917 +92.11 0.00249903 +92.12 0.00269887 +92.13 0.00287164 +92.14 0.00301556 +92.15 0.00312846 +92.16 0.00320949 +92.17 0.00325904 +92.18 0.00327869 +92.19 0.00327106 +92.2 0.00323962 +92.21 0.00318853 +92.22 0.00312185 +92.23 0.00304513 +92.24 0.00296366 +92.25 0.00288194 +92.26 0.00280402 +92.27 0.0027334 +92.28 0.0026729 +92.29 0.00262459 +92.3 0.00258981 +92.31 0.00256922 +92.32 0.00256369 +92.33 0.00257126 +92.34 0.00259063 +92.35 0.00262016 +92.36 0.002658 +92.37 0.00270222 +92.38 0.00275089 +92.39 0.00280224 +92.4 0.0028547 +92.41 0.00290691 +92.42 0.00295782 +92.43 0.00300682 +92.44 0.00305358 +92.45 0.003098 +92.46 0.00314017 +92.47 0.00318028 +92.48 0.00321856 +92.49 0.00325518 +92.5 0.00329021 +92.51 0.00332343 +92.52 0.00335463 +92.53 0.00338326 +92.54 0.00340859 +92.55 0.00342967 +92.56 0.00344546 +92.57 0.00345485 +92.58 0.00345676 +92.59 0.0034502 +92.6 0.00343388 +92.61 0.00340745 +92.62 0.00337116 +92.63 0.00332537 +92.64 0.00327088 +92.65 0.00320895 +92.66 0.00314126 +92.67 0.00306989 +92.68 0.00299719 +92.69 0.00292578 +92.7 0.00285884 +92.71 0.00279885 +92.72 0.00274818 +92.73 0.00270886 +92.74 0.00268247 +92.75 0.00266999 +92.76 0.00267177 +92.77 0.00268741 +92.78 0.00271583 +92.79 0.00275564 +92.8 0.00280384 +92.81 0.00285692 +92.82 0.0029113 +92.83 0.00296319 +92.84 0.00300869 +92.85 0.00304401 +92.86 0.00306564 +92.87 0.00307053 +92.88 0.00305606 +92.89 0.00301906 +92.9 0.00296043 +92.91 0.00288051 +92.92 0.00278058 +92.93 0.00266281 +92.94 0.0025302 +92.95 0.00238647 +92.96 0.00223588 +92.97 0.00208305 +92.98 0.00193314 +92.99 0.00179126 +93 0.00166163 +93.01 0.00154796 +93.02 0.00145327 +93.03 0.00137964 +93.04 0.00132817 +93.05 0.00129889 +93.06 0.00129071 +93.07 0.00130168 +93.08 0.00132944 +93.09 0.00136846 +93.1 0.0014141 +93.11 0.00146132 +93.12 0.00150495 +93.13 0.00153992 +93.14 0.00156152 +93.15 0.00156565 +93.16 0.00154899 +93.17 0.00150786 +93.18 0.00144149 +93.19 0.00135082 +93.2 0.00123719 +93.21 0.00110307 +93.22 0.000951913 +93.23 0.000788036 +93.24 0.000616395 +93.25 0.000442347 +93.26 0.000271483 +93.27 0.000110216 +93.28 -3.69038e-05 +93.29 -0.00016573 +93.3 -0.000273033 +93.31 -0.000356666 +93.32 -0.00041568 +93.33 -0.000450383 +93.34 -0.00046233 +93.35 -0.000454261 +93.36 -0.000429359 +93.37 -0.000393216 +93.38 -0.000351765 +93.39 -0.000310717 +93.4 -0.000275799 +93.41 -0.000252453 +93.42 -0.000245557 +93.43 -0.000259162 +93.44 -0.000296263 +93.45 -0.000358903 +93.46 -0.00044911 +93.47 -0.000563662 +93.48 -0.000699929 +93.49 -0.000854036 +93.5 -0.00102104 +93.51 -0.00119515 +93.52 -0.00137002 +93.53 -0.00153906 +93.54 -0.00169575 +93.55 -0.00183272 +93.56 -0.00194459 +93.57 -0.00202797 +93.58 -0.0020802 +93.59 -0.00210016 +93.6 -0.00208835 +93.61 -0.00204692 +93.62 -0.00197964 +93.63 -0.00189174 +93.64 -0.00178961 +93.65 -0.00168107 +93.66 -0.00157527 +93.67 -0.00148056 +93.68 -0.001405 +93.69 -0.00135603 +93.7 -0.00134003 +93.71 -0.00136198 +93.72 -0.0014252 +93.73 -0.00153108 +93.74 -0.00168112 +93.75 -0.00187106 +93.76 -0.00209432 +93.77 -0.00234383 +93.78 -0.00261094 +93.79 -0.00288576 +93.8 -0.00315759 +93.81 -0.00341535 +93.82 -0.0036481 +93.83 -0.00384501 +93.84 -0.00399334 +93.85 -0.00408867 +93.86 -0.0041259 +93.87 -0.00410226 +93.88 -0.00401755 +93.89 -0.00387423 +93.9 -0.00367737 +93.91 -0.00343454 +93.92 -0.00315553 +93.93 -0.0028514 +93.94 -0.00253737 +93.95 -0.00222827 +93.96 -0.00193838 +93.97 -0.00168156 +93.98 -0.00147064 +93.99 -0.00131684 +94 -0.00122927 +94.01 -0.00121451 +94.02 -0.00127718 +94.03 -0.00142244 +94.04 -0.0016412 +94.05 -0.00192701 +94.06 -0.0022705 +94.07 -0.00265972 +94.08 -0.00308057 +94.09 -0.00351735 +94.1 -0.00395342 +94.11 -0.00437178 +94.12 -0.00475301 +94.13 -0.005081 +94.14 -0.00534352 +94.15 -0.00552965 +94.16 -0.00563135 +94.17 -0.00564387 +94.18 -0.00556588 +94.19 -0.00539964 +94.2 -0.00515086 +94.21 -0.00482778 +94.22 -0.00443995 +94.23 -0.00400758 +94.24 -0.00354726 +94.25 -0.00307665 +94.26 -0.00261373 +94.27 -0.00217608 +94.28 -0.00178021 +94.29 -0.00144079 +94.3 -0.00117015 +94.31 -0.000982471 +94.32 -0.000882028 +94.33 -0.000868192 +94.34 -0.000939111 +94.35 -0.00108938 +94.36 -0.00131029 +94.37 -0.00159017 +94.38 -0.0019149 +94.39 -0.00226852 +94.4 -0.00263377 +94.41 -0.00299099 +94.42 -0.00332235 +94.43 -0.00361188 +94.44 -0.00384547 +94.45 -0.00401146 +94.46 -0.00410111 +94.47 -0.00410899 +94.48 -0.00403318 +94.49 -0.00387536 +94.5 -0.00363683 +94.51 -0.00332946 +94.52 -0.00296752 +94.53 -0.00256532 +94.54 -0.00213885 +94.55 -0.00170512 +94.56 -0.00128145 +94.57 -0.000884706 +94.58 -0.000530628 +94.59 -0.000234089 +94.6 -1.14964e-05 +94.61 0.000133497 +94.62 0.000196271 +94.63 0.000175717 +94.64 7.4275e-05 +94.65 -0.000102165 +94.66 -0.000344516 +94.67 -0.000640868 +94.68 -0.000976982 +94.69 -0.00133724 +94.7 -0.0017021 +94.71 -0.00205353 +94.72 -0.0023747 +94.73 -0.00265001 +94.74 -0.00286569 +94.75 -0.00301044 +94.76 -0.00307579 +94.77 -0.00305651 +94.78 -0.00294957 +94.79 -0.00275219 +94.8 -0.00247647 +94.81 -0.00213131 +94.82 -0.00172834 +94.83 -0.00128143 +94.84 -0.000806102 +94.85 -0.000318907 +94.86 0.00016326 +94.87 0.00062384 +94.88 0.00104429 +94.89 0.00141063 +94.9 0.0017128 +94.91 0.00194237 +94.92 0.00209393 +94.93 0.00216532 +94.94 0.00215766 +94.95 0.00207524 +94.96 0.00192536 +94.97 0.00171732 +94.98 0.00146203 +94.99 0.00117769 +95 0.000879395 +95.01 0.000582545 +95.02 0.00030223 +95.03 5.26037e-05 +95.04 -0.000153687 +95.05 -0.000306002 +95.06 -0.000396122 +95.07 -0.000414439 +95.08 -0.000360599 +95.09 -0.000237642 +95.1 -4.95865e-05 +95.11 0.000196841 +95.12 0.000492521 +95.13 0.000826347 +95.14 0.00118571 +95.15 0.00155704 +95.16 0.00192611 +95.17 0.00227699 +95.18 0.00259723 +95.19 0.00287551 +95.2 0.00310239 +95.21 0.00327068 +95.22 0.00337571 +95.23 0.00341548 +95.24 0.00339075 +95.25 0.00330497 +95.26 0.00316132 +95.27 0.00297083 +95.28 0.00274545 +95.29 0.00249693 +95.3 0.00223786 +95.31 0.00198113 +95.32 0.0017394 +95.33 0.00152459 +95.34 0.00134736 +95.35 0.00121762 +95.36 0.00114578 +95.37 0.00113263 +95.38 0.00117987 +95.39 0.00128667 +95.4 0.00144975 +95.41 0.00166349 +95.42 0.00192025 +95.43 0.00221062 +95.44 0.0025239 +95.45 0.00284841 +95.46 0.00317056 +95.47 0.00347826 +95.48 0.00376037 +95.49 0.00400687 +95.5 0.00420925 +95.51 0.00436082 +95.52 0.00445699 +95.53 0.00449536 +95.54 0.00447497 +95.55 0.00439542 +95.56 0.00426559 +95.57 0.00409215 +95.58 0.00388336 +95.59 0.0036487 +95.6 0.00339848 +95.61 0.00314339 +95.62 0.0028941 +95.63 0.0026608 +95.64 0.00245484 +95.65 0.00228406 +95.66 0.00215391 +95.67 0.00206872 +95.68 0.00203086 +95.69 0.00204066 +95.7 0.00209645 +95.71 0.00219469 +95.72 0.00233009 +95.73 0.00249631 +95.74 0.00268576 +95.75 0.00288755 +95.76 0.00309251 +95.77 0.0032915 +95.78 0.0034758 +95.79 0.00363745 +95.8 0.00376958 +95.81 0.00386665 +95.82 0.00392468 +95.83 0.0039388 +95.84 0.00391005 +95.85 0.00384104 +95.86 0.00373492 +95.87 0.00359626 +95.88 0.00343085 +95.89 0.00324545 +95.9 0.00304744 +95.91 0.00284452 +95.92 0.00264456 +95.93 0.0024561 +95.94 0.00228539 +95.95 0.00213794 +95.96 0.00201808 +95.97 0.0019288 +95.98 0.00187162 +95.99 0.00184659 +96 0.00185233 +96.01 0.00188608 +96.02 0.00194507 +96.03 0.00202288 +96.04 0.00211307 +96.05 0.0022094 +96.06 0.00230551 +96.07 0.00239518 +96.08 0.00247264 +96.09 0.00253278 +96.1 0.00257142 +96.11 0.00258495 +96.12 0.00257003 +96.13 0.00252799 +96.14 0.00245969 +96.15 0.00236717 +96.16 0.00225355 +96.17 0.00212284 +96.18 0.00197975 +96.19 0.00182942 +96.2 0.00167723 +96.21 0.00152902 +96.22 0.00139008 +96.23 0.0012646 +96.24 0.00115606 +96.25 0.00106697 +96.26 0.000998759 +96.27 0.000951716 +96.28 0.000924975 +96.29 0.000916564 +96.3 0.000923717 +96.31 0.000942711 +96.32 0.000967906 +96.33 0.000994292 +96.34 0.00101671 +96.35 0.00103013 +96.36 0.00102986 +96.37 0.00101182 +96.38 0.000972733 +96.39 0.000910285 +96.4 0.000821744 +96.41 0.000708198 +96.42 0.00057171 +96.43 0.000414895 +96.44 0.000241429 +96.45 5.58941e-05 +96.46 -0.000136411 +96.47 -0.000329701 +96.48 -0.000517953 +96.49 -0.000694846 +96.5 -0.000853365 +96.51 -0.000989347 +96.52 -0.00109868 +96.53 -0.00117831 +96.54 -0.00122636 +96.55 -0.00124229 +96.56 -0.00122687 +96.57 -0.00118224 +96.58 -0.00111176 +96.59 -0.00101898 +96.6 -0.000910865 +96.61 -0.000794266 +96.62 -0.000675958 +96.63 -0.00056286 +96.64 -0.000461748 +96.65 -0.000378974 +96.66 -0.000320198 +96.67 -0.000290153 +96.68 -0.000293133 +96.69 -0.000333186 +96.7 -0.000408727 +96.71 -0.000518946 +96.72 -0.000661639 +96.73 -0.000833295 +96.74 -0.00102925 +96.75 -0.00124387 +96.76 -0.00147078 +96.77 -0.00170315 +96.78 -0.00193339 +96.79 -0.00215402 +96.8 -0.00235866 +96.81 -0.00254162 +96.82 -0.00269813 +96.83 -0.00282455 +96.84 -0.00291848 +96.85 -0.00297891 +96.86 -0.00300616 +96.87 -0.00300135 +96.88 -0.00296649 +96.89 -0.00290795 +96.9 -0.00283089 +96.91 -0.0027411 +96.92 -0.00264479 +96.93 -0.00254829 +96.94 -0.00245779 +96.95 -0.00237907 +96.96 -0.00231728 +96.97 -0.0022783 +96.98 -0.00226469 +96.99 -0.00227781 +97 -0.00231828 +97.01 -0.0023855 +97.02 -0.00247766 +97.03 -0.00259185 +97.04 -0.0027242 +97.05 -0.00287005 +97.06 -0.00302421 +97.07 -0.00318063 +97.08 -0.00333312 +97.09 -0.00347617 +97.1 -0.00360468 +97.11 -0.00371415 +97.12 -0.00380088 +97.13 -0.00386206 +97.14 -0.00389589 +97.15 -0.00390162 +97.16 -0.00387786 +97.17 -0.00382738 +97.18 -0.00375323 +97.19 -0.00365865 +97.2 -0.00354748 +97.21 -0.00342402 +97.22 -0.00329282 +97.23 -0.00315851 +97.24 -0.00302559 +97.25 -0.00289849 +97.26 -0.00278172 +97.27 -0.00267795 +97.28 -0.00258955 +97.29 -0.00251816 +97.3 -0.00246468 +97.31 -0.00242926 +97.32 -0.00241137 +97.33 -0.00240985 +97.34 -0.00242304 +97.35 -0.00244954 +97.36 -0.00248621 +97.37 -0.00253028 +97.38 -0.00257925 +97.39 -0.00263076 +97.4 -0.00268263 +97.41 -0.002733 +97.42 -0.00278035 +97.43 -0.00282351 +97.44 -0.0028616 +97.45 -0.00289395 +97.46 -0.00292084 +97.47 -0.00294246 +97.48 -0.00295919 +97.49 -0.00297147 +97.5 -0.00297977 +97.51 -0.0029845 +97.52 -0.00298595 +97.53 -0.00298421 +97.54 -0.00297895 +97.55 -0.00296992 +97.56 -0.00295661 +97.57 -0.00293824 +97.58 -0.00291393 +97.59 -0.00288271 +97.6 -0.00284363 +97.61 -0.00279582 +97.62 -0.00273861 +97.63 -0.00267133 +97.64 -0.0025935 +97.65 -0.0025061 +97.66 -0.00240991 +97.67 -0.00230614 +97.68 -0.0021964 +97.69 -0.00208266 +97.7 -0.00196722 +97.71 -0.00185257 +97.72 -0.00174133 +97.73 -0.00163668 +97.74 -0.00154102 +97.75 -0.00145637 +97.76 -0.00138448 +97.77 -0.00132658 +97.78 -0.00128331 +97.79 -0.00125467 +97.8 -0.00123994 +97.81 -0.00123776 +97.82 -0.00124625 +97.83 -0.00126278 +97.84 -0.00128348 +97.85 -0.00130481 +97.86 -0.00132304 +97.87 -0.0013344 +97.88 -0.00133529 +97.89 -0.00132243 +97.9 -0.00129299 +97.91 -0.00124478 +97.92 -0.00117497 +97.93 -0.00108392 +97.94 -0.000972526 +97.95 -0.000842121 +97.96 -0.000694916 +97.97 -0.000533895 +97.98 -0.000362709 +97.99 -0.000185528 +98 -6.86773e-06 +98.01 0.000168405 +98.02 0.0003349 +98.03 0.000488573 +98.04 0.000625639 +98.05 0.000742979 +98.06 0.00083829 +98.07 0.000910197 +98.08 0.00095832 +98.09 0.000983303 +98.1 0.000986797 +98.11 0.000970351 +98.12 0.000938719 +98.13 0.000896492 +98.14 0.000848356 +98.15 0.000799241 +98.16 0.000754104 +98.17 0.000717701 +98.18 0.000694371 +98.19 0.000687839 +98.2 0.000701572 +98.21 0.000738514 +98.22 0.000798151 +98.23 0.000880152 +98.24 0.000983121 +98.25 0.00110466 +98.26 0.00124147 +98.27 0.00138951 +98.28 0.00154417 +98.29 0.00170051 +98.3 0.00185286 +98.31 0.00199603 +98.32 0.00212558 +98.33 0.00223763 +98.34 0.0023291 +98.35 0.00239782 +98.36 0.00244271 +98.37 0.00246375 +98.38 0.00246204 +98.39 0.00243931 +98.4 0.00239841 +98.41 0.00234467 +98.42 0.00228274 +98.43 0.00221761 +98.44 0.00215441 +98.45 0.00209812 +98.46 0.00205338 +98.47 0.00202423 +98.48 0.00201393 +98.49 0.00202634 +98.5 0.0020616 +98.51 0.00211918 +98.52 0.0021978 +98.53 0.0022951 +98.54 0.00240774 +98.55 0.00253152 +98.56 0.00266163 +98.57 0.00279282 +98.58 0.00291942 +98.59 0.00303522 +98.6 0.00313564 +98.61 0.00321642 +98.62 0.00327416 +98.63 0.00330643 +98.64 0.00331197 +98.65 0.0032907 +98.66 0.00324378 +98.67 0.00317354 +98.68 0.00308236 +98.69 0.00297614 +98.7 0.00286052 +98.71 0.00274123 +98.72 0.00262426 +98.73 0.00251552 +98.74 0.00242062 +98.75 0.0023446 +98.76 0.00229171 +98.77 0.00226594 +98.78 0.00227051 +98.79 0.00230435 +98.8 0.00236675 +98.81 0.00245573 +98.82 0.00256813 +98.83 0.00269973 +98.84 0.00284543 +98.85 0.0029995 +98.86 0.00315579 +98.87 0.00330729 +98.88 0.00344752 +98.89 0.00357093 +98.9 0.00367257 +98.91 0.00374839 +98.92 0.00379538 +98.93 0.00381175 +98.94 0.00379691 +98.95 0.00375155 +98.96 0.00367687 +98.97 0.00357542 +98.98 0.00345305 +98.99 0.00331463 +99 0.0031655 +99.01 0.00301127 +99.02 0.00285757 +99.03 0.00270975 +99.04 0.00257273 +99.05 0.00245074 +99.06 0.00234863 +99.07 0.00226791 +99.08 0.00220939 +99.09 0.0021731 +99.1 0.00215805 +99.11 0.00216227 +99.12 0.00218293 +99.13 0.00221653 +99.14 0.00225908 +99.15 0.00230627 +99.16 0.00235329 +99.17 0.00239572 +99.18 0.00242978 +99.19 0.00245224 +99.2 0.00246056 +99.21 0.00245302 +99.22 0.00242874 +99.23 0.00238772 +99.24 0.00233081 +99.25 0.0022588 +99.26 0.00217505 +99.27 0.00208269 +99.28 0.00198498 +99.29 0.00188527 +99.3 0.00178689 +99.31 0.00169294 +99.32 0.00160613 +99.33 0.00152864 +99.34 0.00146232 +99.35 0.00140839 +99.36 0.00136607 +99.37 0.00133454 +99.38 0.00131226 +99.39 0.00129712 +99.4 0.00128653 +99.41 0.00127757 +99.42 0.00126719 +99.43 0.00125232 +99.44 0.00122938 +99.45 0.0011961 +99.46 0.0011507 +99.47 0.00109191 +99.48 0.00101919 +99.49 0.00093274 +99.5 0.000833502 +99.51 0.000723142 +99.52 0.000603958 +99.53 0.000478697 +99.54 0.000350845 +99.55 0.000224175 +99.56 0.000102129 +99.57 -1.20334e-05 +99.58 -0.000115405 +99.59 -0.000205587 +99.6 -0.000280816 +99.61 -0.00034007 +99.62 -0.000383129 +99.63 -0.000409586 +99.64 -0.000421979 +99.65 -0.00042286 +99.66 -0.000415165 +99.67 -0.000402308 +99.68 -0.000388017 +99.69 -0.000376146 +99.7 -0.000370488 +99.71 -0.000374576 +99.72 -0.000391949 +99.73 -0.000425741 +99.74 -0.000476751 +99.75 -0.000545694 +99.76 -0.000632377 +99.77 -0.000735697 +99.78 -0.000853684 +99.79 -0.000983579 +99.8 -0.00112197 +99.81 -0.00126492 +99.82 -0.00140791 +99.83 -0.00154619 +99.84 -0.00167556 +99.85 -0.00179221 +99.86 -0.00189286 +99.87 -0.00197497 +99.88 -0.00203685 +99.89 -0.00207779 +99.9 -0.00209806 +99.91 -0.00209849 +99.92 -0.00208118 +99.93 -0.00205057 +99.94 -0.00201066 +99.95 -0.00196596 +99.96 -0.00192129 +99.97 -0.00188152 +99.98 -0.00185137 +99.99 -0.00183512 +100 -0.00183647 diff --git a/tests/test_cluster_generation.py b/tests/test_cluster_generation.py new file mode 100644 index 0000000..447d2e7 --- /dev/null +++ b/tests/test_cluster_generation.py @@ -0,0 +1,114 @@ +"""Tests of small, in-memory, reproducible ASE candidate libraries.""" + +import pytest + +from diffpy.apps.screening.cluster import generate_cluster_library + + +@pytest.mark.parametrize( + "requested, expected", + [ + ( + # One from each motif, no dependency on an XYZ file. + { + "candidate_specs": [ + {"motif": "ico", "noshells": 3}, + {"motif": "oct", "length": 5, "cutoff": 2}, + {"motif": "deca", "p": 3, "q": 2, "r": 0}, + ] + }, + {"ico", "oct", "deca"}, + ), + ( + # A deliberately small Cartesian grid. + {"motif_ranges": {"ico": {"noshells": [2, 3]}}}, + {"ico"}, + ), + ], +) +def test_generate_in_memory(requested, expected, tmp_path, monkeypatch): + """Accept explicit or gridded selections without writing files.""" + monkeypatch.chdir(tmp_path) + library = generate_cluster_library( + "Pd", + min_atoms=2, + max_atoms=1200, + max_clusters=20, + **requested, + ) + assert {model["motif"] for model in library["models"]} == expected + assert len(library["models"]) <= 20 + for model in library["models"]: + assert model["n_atoms"] == len(model["atoms"]) + assert model["model_id"] + assert model["morphology"] + assert list(tmp_path.iterdir()) == [] + + +@pytest.mark.parametrize( + "requested, message", + [ + ( + # The maximum applies before the Cartesian product is built. + { + "motif_ranges": { + "deca": {"p": list(range(1, 7)), "q": [1, 2], "r": [0, 1]} + } + }, + "exceeding max_clusters=20", + ), + ( + # An explicit candidate list also must respect the budget. + { + "candidate_specs": [ + {"motif": "ico", "noshells": n} for n in range(2, 23) + ] + }, + "exceeding max_clusters=20", + ), + ( + # No ambiguity about which builder parameters to use. + {"candidate_specs": [{"motif": "deca", "p": 3, "q": 2}]}, + "requires exactly", + ), + ( + # Duplicate work should never enter a screen. + { + "candidate_specs": [ + {"motif": "ico", "noshells": 3}, + {"motif": "ico", "noshells": 3}, + ] + }, + "Duplicate candidate", + ), + ], +) +def test_generation_rejects_invalid(requested, message): + """Fail explicitly rather than silently clipping or duplicating.""" + with pytest.raises(ValueError, match=message): + generate_cluster_library( + "Pd", + min_atoms=2, + max_atoms=1200, + max_clusters=20, + **requested, + ) + + +def test_morphology_labels(): + """Retain subfamily distinctions needed for screening analysis.""" + lib = generate_cluster_library( + "Pd", + min_atoms=2, + max_atoms=1200, + candidate_specs=[ + {"motif": "oct", "length": 5, "cutoff": 2}, + {"motif": "deca", "p": 3, "q": 1, "r": 0}, + {"motif": "deca", "p": 3, "q": 2, "r": 0}, + ], + ) + assert [m["morphology"] for m in lib["models"]] == [ + "cuboctahedron", + "regular decahedron", + "Ino-type decahedron", + ] diff --git a/tests/test_cluster_mcp.py b/tests/test_cluster_mcp.py new file mode 100644 index 0000000..0183f35 --- /dev/null +++ b/tests/test_cluster_mcp.py @@ -0,0 +1,132 @@ +"""MCP tool tests for stateless cluster screening.""" + +from pathlib import Path + +import pytest +from mcp import Client + +from diffpy.apps.parametric_refinement.refinement_server import mcp + + +@pytest.fixture +def anyio_backend(): + """The asyncio backend for tests involving the MCP client.""" + return "asyncio" + + +@pytest.mark.anyio +async def test_cluster_library_mcp_roundtrip(monkeypatch, tmp_path): + """Preview in MCP and screen the same candidates without XYZ + files.""" + from diffpy.apps.screening import cluster_screen + + # This test covers MCP registration and preview->screen transport. + # Scientific refinement was validated in a separate real-Pd pilot. + def fake_refine(candidate, *_): + return { + "rw": 0.25 if candidate["motif"] == "ico" else 0.4, + "refined_parameters": {}, + "nfev": 2, + } + + monkeypatch.setattr(cluster_screen, "_refine_one", fake_refine) + pdf_path = tmp_path / "measured.gr" + pdf_path.write_text("placeholder", encoding="utf-8") + settings = { + "r_range": [1.5, 20.0, 0.01], + "q_range": [2.0, 23.0], + "qdamp": 0.04, + "qbroad": 0.01, + "initial_values": { + "scale": 0.2, + "zoomscale": 1.01, + "uiso": 0.016, + "delta2": 4.5, + }, + } + async with Client(mcp, raise_exceptions=True) as client: + preview_result = await client.call_tool( + "generate_cluster_library", + { + "element": "Pd", + "min_atoms": 2, + "max_atoms": 1200, + "max_clusters": 2, + "candidate_specs": [ + {"motif": "ico", "noshells": 3}, + {"motif": "oct", "length": 5, "cutoff": 2}, + ], + }, + ) + assert not preview_result.is_error + preview = preview_result.structured_content + assert preview is not None + assert len(preview["models"]) == 2 + assert all("atoms" not in item for item in preview["models"]) + + screen_result = await client.call_tool( + "screen_cluster_library", + { + "preview": preview, + "pdf_path": str(pdf_path), + "refinement": settings, + }, + ) + assert not screen_result.is_error + screened = screen_result.structured_content + assert screened is not None + assert [r["rw"] for r in screened["results"]] == [0.25, 0.4] + assert len(screened["results"]) == 2 + assert not list(Path(tmp_path).glob("*.xyz")) + + +@pytest.mark.anyio +async def test_preview_budget_rejected(): + """Reject a candidate list that exceeds the stated model budget.""" + + async with Client(mcp, raise_exceptions=True) as client: + result = await client.call_tool( + "generate_cluster_library", + { + "element": "Pd", + "min_atoms": 2, + "max_atoms": 1200, + "max_clusters": 1, + "candidate_specs": [ + {"motif": "ico", "noshells": 2}, + {"motif": "ico", "noshells": 3}, + ], + }, + ) + assert result.is_error + + +@pytest.mark.anyio +async def test_reject_changed_preview(tmp_path): + """Do not fit a preview whose structure metadata was changed.""" + + async with Client(mcp, raise_exceptions=True) as client: + generated = await client.call_tool( + "generate_cluster_library", + { + "element": "Pd", + "min_atoms": 2, + "max_atoms": 1200, + "max_clusters": 1, + "candidate_specs": [{"motif": "ico", "noshells": 3}], + }, + ) + assert not generated.is_error + preview = generated.structured_content + preview["models"][0]["n_atoms"] = 999 + pdf_path = tmp_path / "unused.gr" + pdf_path.write_text("placeholder", encoding="utf-8") + result = await client.call_tool( + "screen_cluster_library", + { + "preview": preview, + "pdf_path": str(pdf_path), + "refinement": {}, + }, + ) + assert result.is_error diff --git a/tests/test_cluster_options.py b/tests/test_cluster_options.py new file mode 100644 index 0000000..6774aa5 --- /dev/null +++ b/tests/test_cluster_options.py @@ -0,0 +1,290 @@ +"""Configuration and process-pool lifecycle tests for cluster +screening.""" + +from copy import deepcopy +from types import SimpleNamespace + +import pytest + +from diffpy.apps.screening import cluster_screen + + +def settings(): + """Return the minimal parameter settings used by these unit + tests.""" + return { + "initial_values": { + "scale": 0.2, + "zoomscale": 1.01, + "uiso": 0.016, + "delta2": 4.5, + } + } + + +def test_default_and_native_variable_selection(): + config = settings() + free, bounds = cluster_screen._validate_options(config) + assert free == ["cluster.scale", "zoomscale", "uiso", "cluster.delta2"] + assert bounds == {} + config.update( + { + "extra_variables": {"stretch_z": 1.0}, + "parameter_values": {"cluster.delta1": 0.0}, + "free_parameters": ["zoomscale", "stretch_z", "cluster.delta1"], + "constraints": {"cluster.phase.lattice.c": "stretch_z"}, + "soft_bounds": { + "stretch_z": { + "lower_bound": 0.9, + "upper_bound": 1.1, + "uncertainty": 0.01, + } + }, + } + ) + free, bounds = cluster_screen._validate_options(config) + assert free == ["zoomscale", "stretch_z", "cluster.delta1"] + assert bounds["stretch_z"]["use_soft_bounds"] is True + + +def test_axial_override_preserves_other_ties(): + config = settings() + config["extra_variables"] = {"stretch_z": 1.0} + config["constraints"] = {"cluster.phase.lattice.c": "stretch_z"} + names = [f"cluster.phase.lattice.{a}" for a in ("a", "b", "c")] + names.extend(["cluster.phase.Pd0.Uiso", "cluster.phase.Pd1.Uiso"]) + model = SimpleNamespace(parameters=dict.fromkeys(names)) + helpers, ties = cluster_screen._constraints_for_model( + model, config["initial_values"], config + ) + assert helpers["stretch_z"] == 1.0 + assert ties["cluster.phase.lattice.a"] == "zoomscale" + assert ties["cluster.phase.lattice.b"] == "zoomscale" + assert ties["cluster.phase.lattice.c"] == "stretch_z" + assert ties["cluster.phase.Pd0.Uiso"] == "uiso" + config["constraints"]["cluster.phase.lattice.c"] = None + _, ties = cluster_screen._constraints_for_model( + model, config["initial_values"], config + ) + assert "cluster.phase.lattice.c" not in ties + + +@pytest.mark.parametrize( + "update, message", + [ + ({"ncores": 0}, "ncores"), + ({"ncores": True}, "ncores"), + ({"ncores": 1.5}, "ncores"), + ({"free_parameters": ["not_a_parameter"]}, "Unknown parameter"), + ({"free_parameters": ["scale", "cluster.scale"]}, "Repeated"), + ({"free_parameters": []}, "nonempty"), + ({"extra_variables": {"uiso": 0.01}}, "new identifier"), + ({"extra_variables": {"strain.z": 1.0}}, "new identifier"), + ({"extra_variables": {"strain_z": float("nan")}}, "not finite"), + ({"parameter_values": {"delta1": 0.0}}, "native"), + ({"constraints": {"cluster.phase.lattice.c": 1.0}}, "equations"), + ({"soft_bounds": {"uiso": {"use_soft_bounds": False}}}, "soft bounds"), + ({"soft_bounds": {"uiso": {"uncertainty": 0.0}}}, "positive"), + ({"optimizer": {"unsupported_option": 1}}, "optimizer"), + ({"misspelled_option": 1}, "Unknown refinement"), + ], +) +def test_invalid_options_raise(update, message): + config = settings() + config.update(update) + with pytest.raises(ValueError, match=message): + cluster_screen._validate_options(config) + + +def test_unknown_constraint_target_raises(): + config = settings() + config["constraints"] = {"cluster.phase.lattice.not_an_axis": "zoomscale"} + with pytest.raises(ValueError, match="Unknown constraint target"): + cluster_screen._constraints_for_model( + SimpleNamespace(parameters={}), config["initial_values"], config + ) + + +def test_serial_does_not_create_pool(tmp_path, monkeypatch): + pdf = tmp_path / "unused.gr" + pdf.write_text("unused", encoding="utf-8") + library = {"models": [{"model_id": "one", "atoms": object()}]} + original = settings() + before = deepcopy(original) + + def no_pool(*args): + raise AssertionError("Serial screening must not start a process pool") + + def fit(candidate, path, config, free, bounds, pool): + assert pool is None + return {"rw": 0.2, "refined_parameters": {}, "nfev": 1} + + monkeypatch.setattr(cluster_screen, "get_context", no_pool) + monkeypatch.setattr(cluster_screen, "_refine_one", fit) + result = cluster_screen.screen_cluster_library(library, pdf, original) + assert result["execution"]["ncores"] == 1 + assert result["execution"]["start_method"] is None + assert original == before + assert result["results"][0]["elapsed_seconds"] >= 0 + assert "atoms" not in result["results"][0] + + +@pytest.mark.parametrize("interrupt", [False, True]) +def test_one_pool_reused_and_closed(tmp_path, monkeypatch, interrupt): + pdf = tmp_path / "unused.gr" + pdf.write_text("unused", encoding="utf-8") + library = {"models": [{"model_id": "one"}, {"model_id": "two"}]} + events = [] + + class Pool: + def __init__(self, processes): + events.append(("create", processes)) + + def __enter__(self): + events.append(("enter", self)) + return self + + def __exit__(self, *args): + events.append(("exit", self)) + + def context(method): + assert method == "spawn" + return SimpleNamespace(Pool=Pool) + + seen = [] + + def fit(candidate, path, config, free, bounds, pool): + seen.append(pool) + if candidate["model_id"] == "two": + if interrupt: + raise KeyboardInterrupt() + raise ValueError("deliberate candidate failure") + return {"rw": 0.2, "refined_parameters": {}, "nfev": 1} + + monkeypatch.setattr(cluster_screen, "get_context", context) + monkeypatch.setattr(cluster_screen, "_refine_one", fit) + config = {**settings(), "ncores": 4} + if interrupt: + with pytest.raises(KeyboardInterrupt): + cluster_screen.screen_cluster_library(library, pdf, config) + else: + result = cluster_screen.screen_cluster_library(library, pdf, config) + assert [row["status"] for row in result["results"]] == [ + "converged", + "failed", + ] + assert [event[0] for event in events] == ["create", "enter", "exit"] + assert len(seen) == 2 and seen[0] is seen[1] + + +@pytest.mark.parametrize("solver_fails", [False, True]) +def test_refine_one_forwards_options_and_detaches_pool( + monkeypatch, solver_fails +): + """Check solver forwarding, not PDF numerics, with a controlled + session.""" + import numpy as np + + calls = [] + state = {} + + class Generator: + def parallel(self, ncpu, mapfunc=None): + calls.append((ncpu, mapfunc)) + + class Session: + def __init__(self): + self.values = {} + self.models_dict = {} + self.profiles_dict = {} + self.recipes_dict = {} + + def add_profile_from_file(self, path, profile_name): + self.profiles_dict[profile_name] = SimpleNamespace( + y=np.array([1.0, 2.0, 1.0]), + ycalc=np.array([1.1, 1.9, 1.0]), + dy=np.ones(3), + ) + + def set_profile_calculation_range(self, *args): + pass + + def update_profile_meta(self, *args): + pass + + def add_pdf_model(self, **kwargs): + assert kwargs["run_parallel"] is False + names = [f"cluster.phase.lattice.{a}" for a in ("a", "b", "c")] + names += ["cluster.phase.Pd0.Uiso", "cluster.phase.Pd1.Uiso"] + names += [ + "cluster.scale", + "cluster.delta1", + "cluster.delta2", + "cluster.qdamp", + "cluster.qbroad", + ] + self.models_dict["cluster"] = SimpleNamespace( + parameters=dict.fromkeys(names), calc_obj=Generator() + ) + + def set_variables_value(self, values): + self.values.update(values) + + def solve(self, **kwargs): + state.update(kwargs) + if solver_fails: + raise RuntimeError("controlled solver failure") + self.values.update(kwargs["constraints"][0]) + self.recipes_dict["cluster_fit"] = SimpleNamespace( + get_values=lambda: np.zeros(len(kwargs["variable_names"])), + residual=lambda values: None, + ) + return {"success": True, "nfev": 3, "message": "test"} + + def get_variable(self, name): + return {"value": self.values[name]} + + class Atoms: + def __len__(self): + return 2 + + def get_chemical_symbols(self): + return ["Pd", "Pd"] + + def get_positions(self): + return np.array([[0, 0, 0], [2, 0, 0]]) + + monkeypatch.setattr(cluster_screen, "RefinementSession", Session) + config = settings() + config.update( + { + "r_range": [1.5, 20.0, 0.01], + "q_range": [2.0, 23.0], + "qdamp": 0.04, + "qbroad": 0.01, + "ncores": 4, + "extra_variables": {"stretch_z": 1.0}, + "constraints": {"cluster.phase.lattice.c": "stretch_z"}, + "parameter_values": {"cluster.delta1": 0.1}, + "free_parameters": ["zoomscale", "stretch_z", "cluster.delta1"], + } + ) + free, bounds = cluster_screen._validate_options(config) + pool = SimpleNamespace(map=map) + candidate = {"atoms": Atoms()} + if solver_fails: + with pytest.raises(RuntimeError, match="controlled solver failure"): + cluster_screen._refine_one( + candidate, "unused.gr", config, free, bounds, pool + ) + else: + row = cluster_screen._refine_one( + candidate, "unused.gr", config, free, bounds, pool + ) + assert row["n_parameters"] == 3 + assert row["refined_parameters"]["cluster.delta1"] == 0.1 + assert state["variable_names"] == free + assert ( + state["constraints"][1]["cluster.phase.lattice.c"] == "stretch_z" + ) + assert calls == [(4, map), (1, None)] diff --git a/tests/test_cluster_screening.py b/tests/test_cluster_screening.py new file mode 100644 index 0000000..cce7cab --- /dev/null +++ b/tests/test_cluster_screening.py @@ -0,0 +1,94 @@ +"""Lightweight unit tests for ranking and compute-budget enforcement.""" + +import pytest + +from diffpy.apps.screening.cluster import generate_cluster_library +from diffpy.apps.screening.cluster_screen import screen_cluster_library + + +@pytest.fixture +def two_clusters(): + return generate_cluster_library( + "Pd", + min_atoms=2, + max_atoms=1200, + max_clusters=2, + candidate_specs=[ + {"motif": "ico", "noshells": 2}, + {"motif": "ico", "noshells": 3}, + ], + ) + + +def test_rank_and_keep_failures(two_clusters, tmp_path, monkeypatch): + """Do not silently omit failed candidates from the ranked output.""" + import diffpy.apps.screening.cluster_screen as cluster_screen + + def fake_fit(candidate, *_): + if candidate["n_atoms"] == 13: + raise ValueError("simulated solver failure") + return {"rw": 0.2, "refined_parameters": {}, "nfev": 3} + + monkeypatch.setattr(cluster_screen, "_refine_one", fake_fit) + pdf = tmp_path / "dummy.gr" + pdf.write_text("dummy") + result = screen_cluster_library( + two_clusters, + pdf, + config={ + "initial_values": { + "scale": 0.2, + "zoomscale": 1.0, + "uiso": 0.01, + "delta2": 2.0, + } + }, + max_clusters=2, + ) + rows = result["results"] + assert [row["status"] for row in rows] == ["converged", "failed"] + assert [row["rank"] for row in rows] == [1, None] + assert "simulated solver failure" in rows[1]["error"] + assert all("atoms" not in row for row in rows) + + +def test_reject_excessive_library(two_clusters, tmp_path): + """Refuse screens that exceed the number of permitted candidates.""" + with pytest.raises(ValueError, match="max_clusters"): + screen_cluster_library( + two_clusters, tmp_path / "missing.gr", {}, max_clusters=1 + ) + + +def test_pd55_experimental_pdf_regression(): + """Check a Pd55 refinement against a measured PDF.""" + from pathlib import Path + + pdf_path = Path(__file__).parent / "data" / "Pd_cluster.gr" + library = generate_cluster_library( + "Pd", + min_atoms=55, + max_atoms=55, + max_clusters=1, + candidate_specs=[{"motif": "ico", "noshells": 3}], + ) + config = { + "r_range": [1.5, 20.0, 0.01], + "q_range": [2.0, 23.0], + "qdamp": 0.04, + "qbroad": 0.01, + "initial_values": { + "scale": 1.0, + "zoomscale": 1.01, + "uiso": 0.01, + "delta2": 1.0, + }, + "ncores": 1, + } + + result = screen_cluster_library(library, pdf_path, config, max_clusters=1) + row = result["results"][0] + + assert row["status"] == "converged" + assert row["n_atoms"] == 55 + assert row["rw"] == pytest.approx(0.5881, abs=0.005)