From 5e240088bc59223de1f1714c5bc2639c5c7503f7 Mon Sep 17 00:00:00 2001
From: Manuel Guenther <manuel.guenther@idiap.ch>
Date: Mon, 11 May 2015 17:02:11 +0200
Subject: [PATCH] Added parallel ISV; corrected test data for UBM training

---
 bob/bio/gmm/algorithm/GMM.py                |   20 +-
 bob/bio/gmm/algorithm/ISV.py                |   19 +-
 bob/bio/gmm/script/verify_gmm.py            |   48 +-
 bob/bio/gmm/script/verify_isv.py            |  180 ++
 bob/bio/gmm/test/data/gmm_model.hdf5        |  Bin 11176 -> 11176 bytes
 bob/bio/gmm/test/data/gmm_projected.hdf5    |  Bin 5280 -> 5280 bytes
 bob/bio/gmm/test/data/gmm_projector.hdf5    |  Bin 11176 -> 11176 bytes
 bob/bio/gmm/test/data/isv_model.hdf5        |  Bin 2864 -> 2864 bytes
 bob/bio/gmm/test/data/isv_projected.hdf5    |  Bin 7280 -> 7280 bytes
 bob/bio/gmm/test/data/isv_projector.hdf5    |  Bin 20904 -> 20904 bytes
 bob/bio/gmm/test/data/jfa_enroller.hdf5     |  Bin 5744 -> 5744 bytes
 bob/bio/gmm/test/data/jfa_model.hdf5        |  Bin 2880 -> 2880 bytes
 bob/bio/gmm/test/data/scores-nonorm-isv-dev | 2000 +++++++++++++++++++
 bob/bio/gmm/test/data/scores-ztnorm-isv-dev | 2000 +++++++++++++++++++
 bob/bio/gmm/test/test_algorithms.py         |    8 +-
 bob/bio/gmm/test/test_scripts.py            |   56 +-
 bob/bio/gmm/tools/__init__.py               |    2 +
 bob/bio/gmm/tools/command_line.py           |   33 +-
 bob/bio/gmm/tools/gmm.py                    |    4 +-
 bob/bio/gmm/tools/isv.py                    |   55 +
 bob/bio/gmm/tools/utils.py                  |   47 +
 setup.py                                    |    1 +
 22 files changed, 4376 insertions(+), 97 deletions(-)
 create mode 100644 bob/bio/gmm/script/verify_isv.py
 create mode 100644 bob/bio/gmm/test/data/scores-nonorm-isv-dev
 create mode 100644 bob/bio/gmm/test/data/scores-ztnorm-isv-dev
 create mode 100644 bob/bio/gmm/tools/isv.py
 create mode 100644 bob/bio/gmm/tools/utils.py

diff --git a/bob/bio/gmm/algorithm/GMM.py b/bob/bio/gmm/algorithm/GMM.py
index fc94000..d412abb 100644
--- a/bob/bio/gmm/algorithm/GMM.py
+++ b/bob/bio/gmm/algorithm/GMM.py
@@ -98,7 +98,7 @@ class GMM (Algorithm):
   #######################################################
   ################ UBM training #########################
 
-  def _train_projector_using_array(self, array):
+  def train_ubm(self, array):
 
     logger.debug(" .... Training with %d feature vectors", array.shape[0])
 
@@ -112,7 +112,7 @@ class GMM (Algorithm):
 
     # Trains using the KMeansTrainer
     logger.info("  -> Training K-Means")
-    bob.learn.em.train(self.kmeans_trainer, kmeans, array, self.kmeans_training_iterations, self.training_threshold, bob.core.random.mt19937(self.init_seed))
+    bob.learn.em.train(self.kmeans_trainer, kmeans, array, self.kmeans_training_iterations, self.training_threshold, self.rng)
 
     variances, weights = kmeans.get_variances_and_weights_for_each_cluster(array)
     means = kmeans.means
@@ -125,10 +125,10 @@ class GMM (Algorithm):
 
     # Trains the GMM
     logger.info("  -> Training GMM")
-    bob.learn.em.train(self.ubm_trainer, self.ubm, array, self.gmm_training_iterations, self.training_threshold, bob.core.random.mt19937(self.init_seed))
+    bob.learn.em.train(self.ubm_trainer, self.ubm, array, self.gmm_training_iterations, self.training_threshold, self.rng)
 
 
-  def _save_projector(self, projector_file):
+  def save_ubm(self, projector_file):
     """Save projector to file"""
     # Saves the UBM to file
     logger.debug(" .... Saving model to file '%s'", projector_file)
@@ -144,9 +144,9 @@ class GMM (Algorithm):
     # Loads the data into an array
     array = numpy.vstack(train_features)
 
-    self._train_projector_using_array(array)
+    self.train_ubm(array)
 
-    self._save_projector(projector_file)
+    self.save_ubm(projector_file)
 
 
   #######################################################
@@ -169,7 +169,7 @@ class GMM (Algorithm):
     self.rng = bob.core.random.mt19937(self.init_seed)
 
 
-  def _project_using_array(self, array):
+  def project_ubm(self, array):
     logger.debug(" .... Projecting %d feature vectors" % array.shape[0])
     # Accumulates statistics
     gmm_stats = bob.learn.em.GMMStats(self.ubm.shape[0], self.ubm.shape[1])
@@ -182,7 +182,7 @@ class GMM (Algorithm):
   def project(self, feature):
     """Computes GMM statistics against a UBM, given an input 2D numpy.ndarray of feature vectors"""
     self._check_feature(feature)
-    return self._project_using_array(feature)
+    return self.project_ubm(feature)
 
 
   def read_gmm_stats(self, gmm_stats_file):
@@ -193,7 +193,7 @@ class GMM (Algorithm):
     """Read the type of features that we require, namely GMM_Stats"""
     return self.read_gmm_stats(feature_file)
 
-  def _enroll_using_array(self, array):
+  def enroll_gmm(self, array):
     logger.debug(" .... Enrolling with %d feature vectors", array.shape[0])
 
     gmm = bob.learn.em.GMMMachine(self.ubm)
@@ -206,7 +206,7 @@ class GMM (Algorithm):
     [self._check_feature(feature) for feature in feature_arrays]
     array = numpy.vstack(feature_arrays)
     # Use the array to train a GMM and return it
-    return self._enroll_using_array(array)
+    return self.enroll_gmm(array)
 
 
   ######################################################
diff --git a/bob/bio/gmm/algorithm/ISV.py b/bob/bio/gmm/algorithm/ISV.py
index bcd28de..e0cf0ea 100644
--- a/bob/bio/gmm/algorithm/ISV.py
+++ b/bob/bio/gmm/algorithm/ISV.py
@@ -56,15 +56,15 @@ class ISV (GMM):
     self.subspace_dimension_of_u = subspace_dimension_of_u
     self.isv_training_iterations = isv_training_iterations
     self.isv_enroll_iterations = isv_enroll_iterations
-    self.trainer = bob.learn.em.ISVTrainer(self.relevance_factor)
+    self.isv_trainer = bob.learn.em.ISVTrainer(self.relevance_factor)
 
 
-  def _train_isv(self, data):
+  def train_isv(self, data):
     """Train the ISV model given a dataset"""
     logger.info("  -> Training ISV enroller")
     self.isvbase = bob.learn.em.ISVBase(self.ubm, self.subspace_dimension_of_u)
     # train ISV model
-    bob.learn.em.train(self.trainer, self.isvbase, data, self.isv_training_iterations, rng=self.rng)
+    bob.learn.em.train(self.isv_trainer, self.isvbase, data, self.isv_training_iterations, rng=self.rng)
 
 
   def train_projector(self, train_features, projector_file):
@@ -72,21 +72,16 @@ class ISV (GMM):
     [self._check_feature(feature) for client in train_features for feature in client]
 
     data1 = numpy.vstack([feature for client in train_features for feature in client])
-    GMM._train_projector_using_array(self, data1)
+    self.train_ubm(data1)
     # to save some memory, we might want to delete these data
     del data1
 
     # project training data
     logger.info("  -> Projecting training data")
-    data = []
-    for client_features in train_features:
-      list = []
-      for feature in client_features:
-        list.append(GMM.project(self, feature))
-      data.append(list)
+    data = [[self.project_ubm(feature) for feature in client] for client in train_features]
 
     # train ISV
-    self._train_isv(data)
+    self.train_isv(data)
 
     # Save the ISV base AND the UBM into the same file
     self.save_projector(projector_file)
@@ -164,7 +159,7 @@ class ISV (GMM):
     for feature in enroll_features:
       assert isinstance(feature, bob.learn.em.GMMStats)
     machine = bob.learn.em.ISVMachine(self.isvbase)
-    self.trainer.enroll(machine, enroll_features, self.isv_enroll_iterations)
+    self.isv_trainer.enroll(machine, enroll_features, self.isv_enroll_iterations)
     # return the resulting gmm
     return machine
 
diff --git a/bob/bio/gmm/script/verify_gmm.py b/bob/bio/gmm/script/verify_gmm.py
index f04d228..830f07e 100644
--- a/bob/bio/gmm/script/verify_gmm.py
+++ b/bob/bio/gmm/script/verify_gmm.py
@@ -128,52 +128,6 @@ def add_gmm_jobs(args, job_ids, deps, submitter):
 
 
 
-def add_jobs(args, submitter):
-  """Adds all (desired) jobs of the tool chain to the grid, or to the local list to be executed."""
-
-  assert args.grid is not None
-
-  # Here, we use the default bob.bio.base add_jobs function, but intercept it for adding the training
-  SKIPS = ['preprocessing', 'extractor_training', 'extraction', 'projector_training', 'projection', 'enroller_training', 'enrollment', 'score_computation', 'concatenation', 'calibration']
-  original_skips = {key : args.__dict__["skip_%s" % key] for key in SKIPS}
-
-  # first, submit preprocessing and feature extraction; skip all others
-  for key in SKIPS[3:]:
-    setattr(args, "skip_%s" % key, True)
-
-  job_ids = bob.bio.base.script.verify.add_jobs(args, submitter)
-
-  for key in SKIPS[3:]:
-    setattr(args, "skip_%s" % key, original_skips[key])
-
-  # reset skips
-  args.skip_preprocessing = original_skips['preprocessing']
-  args.skip_extractor_training = original_skips['extractor_training']
-  args.skip_extraction = original_skips['extraction']
-
-  # if there are any external dependencies, we need to respect them
-  deps = args.external_dependencies[:]
-  # also, we depend on all previous steps
-  for n in ['preprocessing', 'extractor-training', 'extraction']:
-    if n in job_ids:
-      deps.append(job_ids[n])
-
-  # now, add our jobs
-  job_ids, deps = add_gmm_jobs(args, job_ids, deps, submitter)
-
-  # alright, finish the remaining bits
-  for key in SKIPS[:4]:
-    setattr(args, "skip_%s" % key, True)
-
-  args.external_dependencies = deps
-  job_ids.update(bob.bio.base.script.verify.add_jobs(args, submitter))
-
-  # alright, finish the remaining bits
-  for key in SKIPS[:4]:
-    setattr(args, "skip_%s" % key, original_skips[key])
-
-  return job_ids
-
 
 def execute(args):
   """Run the desired job of the tool chain that is specified on command line.
@@ -267,7 +221,7 @@ def verify(args, command_line_parameters, external_fake_job_id = 0):
   else:
     # add jobs
     submitter = base_tools.GridSubmission(args, command_line_parameters, executable = 'verify_gmm.py', first_fake_job_id = 0) if args.grid else None
-    retval = add_jobs(args, submitter)
+    retval = tools.add_jobs(args, submitter, local_job_adder = add_gmm_jobs)
     base_tools.write_info(args, command_line_parameters)
 
     if args.grid.is_local() and args.run_local_scheduler:
diff --git a/bob/bio/gmm/script/verify_isv.py b/bob/bio/gmm/script/verify_isv.py
new file mode 100644
index 0000000..b01d15a
--- /dev/null
+++ b/bob/bio/gmm/script/verify_isv.py
@@ -0,0 +1,180 @@
+#!/usr/bin/env python
+# vim: set fileencoding=utf-8 :
+# Manuel Guenther <Manuel.Guenther@idiap.ch>
+from __future__ import print_function
+
+import sys
+import argparse
+
+import logging
+logger = logging.getLogger("bob.bio.gmm")
+
+import bob.bio.base
+from .. import tools, algorithm
+from bob.bio.base import tools as base_tools
+
+
+def parse_arguments(command_line_parameters, exclude_resources_from = []):
+  """This function parses the given options (which by default are the command line options). If exclude_resources_from is specified (as a list), the resources from the given packages are not listed in the help message."""
+  # set up command line parser
+  parsers = base_tools.command_line_parser(exclude_resources_from = exclude_resources_from)
+
+  # add GMM-related options
+  tools.add_parallel_gmm_options(parsers, sub_module = 'isv')
+
+  # override some parameters
+  parsers['config'].add_argument('-g', '--grid', metavar = 'x', nargs = '+', required=True,
+    help = 'Configuration for the grid setup; required for the parallel execution script.')
+
+  parsers['config'].add_argument('-a', '--algorithm', metavar = 'x', nargs = '+', default = ['gmm'],
+      help = 'Face recognition; only GMM-related algorithms are allowed')
+
+
+  # Add sub-tasks that can be executed by this script
+  parser = parsers['main']
+  parser.add_argument('--sub-task',
+      choices = ('preprocess', 'train-extractor', 'extract', 'normalize-features', 'kmeans-init', 'kmeans-e-step', 'kmeans-m-step', 'gmm-init', 'gmm-e-step', 'gmm-m-step', 'gmm-project', 'isv-train', 'project', 'enroll', 'compute-scores', 'concatenate'),
+      help = argparse.SUPPRESS) #'Executes a subtask (FOR INTERNAL USE ONLY!!!)'
+  parser.add_argument('--iteration', type = int,
+      help = argparse.SUPPRESS) #'Which type of models to generate (Normal or TModels)'
+  parser.add_argument('--model-type', choices = ['N', 'T'],
+      help = argparse.SUPPRESS) #'Which type of models to generate (Normal or TModels)'
+  parser.add_argument('--score-type', choices = ['A', 'B', 'C', 'D', 'Z'],
+      help = argparse.SUPPRESS) #'The type of scores that should be computed'
+  parser.add_argument('--group',
+      help = argparse.SUPPRESS) #'The group for which the current action should be performed'
+
+  # now that we have set up everything, get the command line arguments
+  args = base_tools.initialize(parsers, command_line_parameters,
+      skips = ['preprocessing', 'extractor-training', 'extraction', 'normalization', 'kmeans', 'gmm', 'isv', 'projection', 'enroller-training', 'enrollment', 'score-computation', 'concatenation', 'calibration']
+  )
+
+  args.skip_projector_training = True
+
+  # and add the GMM-related parameters
+  tools.initialize_parallel_gmm(args, sub_module = 'isv')
+
+  # assert that the algorithm is a GMM
+  if args.algorithm.__class__ != algorithm.ISV:
+    raise ValueError("The given algorithm %s is not a (pure) ISV algorithm" % type(args.algorithm))
+
+  return args
+
+from .verify_gmm import add_gmm_jobs
+
+def add_isv_jobs(args, job_ids, deps, submitter):
+  """Adds all GMM-related jobs."""
+
+  # first, add gmm jobs
+  job_ids, deps = add_gmm_jobs(args, job_ids, deps, submitter)
+
+  # now, add two extra steps for ISV
+  if not args.skip_isv:
+    # gmm projection
+    job_ids['gmm-projection'] = submitter.submit(
+            '--sub-task gmm-project',
+            name = 'pro-gmm',
+            number_of_parallel_jobs = args.grid.number_of_projection_jobs,
+            dependencies = deps,
+            **args.grid.projection_queue)
+    deps.append(job_ids['gmm-projection'])
+
+    job_ids['isv-training'] = submitter.submit(
+            '--sub-task isv-train',
+            name = 'train-isv',
+            dependencies = deps,
+            **args.grid.training_queue)
+    deps.append(job_ids['isv-training'])
+
+  return job_ids, deps
+
+
+from .verify_gmm import execute as gmm_execute
+
+
+def execute(args):
+  """Run the desired job of the tool chain that is specified on command line.
+  This job might be executed either in the grid, or locally."""
+
+  # first, let the base script decide if it knows how to execute the job
+  if gmm_execute(args):
+    return True
+
+  # now, check what we can do
+
+  # the file selector object
+  fs = tools.FileSelector.instance()
+
+  if args.sub_task == 'gmm-project':
+    tools.gmm_project(
+        args.algorithm,
+        args.extractor,
+        indices = base_tools.indices(fs.training_list('extracted', 'train_projector'), args.grid.number_of_projection_jobs),
+        force = args.force)
+
+  # train the feature projector
+  elif args.sub_task == 'isv-train':
+    tools.isv_training(
+        args.algorithm,
+        force = args.force)
+
+  else:
+    # Not our keyword...
+    return False
+  return True
+
+
+
+def verify(args, command_line_parameters, external_fake_job_id = 0):
+  """This is the main entry point for computing verification experiments.
+  You just have to specify configurations for any of the steps of the toolchain, which are:
+  -- the database
+  -- the preprocessing
+  -- feature extraction
+  -- the recognition algorithm
+  -- and the grid configuration.
+  Additionally, you can skip parts of the toolchain by selecting proper --skip-... parameters.
+  If your probe files are not too big, you can also specify the --preload-probes switch to speed up the score computation.
+  If files should be re-generated, please specify the --force option (might be combined with the --skip-... options)."""
+
+
+  # as the main entry point, check whether the sub-task is specified
+  if args.sub_task is not None:
+    # execute the desired sub-task
+    if not execute(args):
+      raise ValueError("The specified --sub-task '%s' is not known to the system" % args.sub_task)
+    return {}
+  else:
+    # add jobs
+    submitter = base_tools.GridSubmission(args, command_line_parameters, executable = 'verify_isv.py', first_fake_job_id = 0) if args.grid else None
+    retval = tools.add_jobs(args, submitter, local_job_adder = add_isv_jobs)
+    base_tools.write_info(args, command_line_parameters)
+
+    if args.grid.is_local() and args.run_local_scheduler:
+      if args.dry_run:
+        print ("Would have started the local scheduler to run the experiments with parallel jobs")
+      else:
+        # start the jman local deamon
+        submitter.execute_local()
+      return {}
+
+    else:
+      # return job ids as a dictionary
+      return retval
+
+
+def main(command_line_parameters = sys.argv):
+  """Executes the main function"""
+  try:
+    # do the command line parsing
+    args = parse_arguments(command_line_parameters[1:])
+
+    # perform face verification test
+    verify(args, command_line_parameters)
+  except Exception as e:
+    # track any exceptions as error logs (i.e., to get a time stamp)
+    logger.error("During the execution, an exception was raised: %s" % e)
+    raise
+
+if __name__ == "__main__":
+  main()
diff --git a/bob/bio/gmm/test/data/gmm_model.hdf5 b/bob/bio/gmm/test/data/gmm_model.hdf5
index 8c01d07a45d332393a8f8261811472371b1899f9..71a14c7f318639c17a7f78cf5056ac755bf9ee5f 100644
GIT binary patch
delta 1693
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
OoUPv@f~=K)<j(J#7X*j^

delta 1693
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
HukZW={lg8l

diff --git a/bob/bio/gmm/test/data/gmm_projected.hdf5 b/bob/bio/gmm/test/data/gmm_projected.hdf5
index 8f6c44ebb6a636efc1342277d708a9f09f2fccad..2c27bc5f14f0488ab035f135881286329c8a142c 100644
GIT binary patch
delta 1575
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

delta 1575
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

diff --git a/bob/bio/gmm/test/data/gmm_projector.hdf5 b/bob/bio/gmm/test/data/gmm_projector.hdf5
index 1a5e4fd776d97bef951cf2e72d6e98aef25b818a..40d263c91c0e9b8048f2c76afa9bdb3594098080 100644
GIT binary patch
delta 1693
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
Or`;#SZo9jG=gwa?3IDtR

delta 1693
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
Mpa{3^`ptL#3oKU!$^ZZW

diff --git a/bob/bio/gmm/test/data/isv_model.hdf5 b/bob/bio/gmm/test/data/isv_model.hdf5
index 28cf7b7c0244ddbba0fe515fbb1112cebf72903f..2fcf9425127838bcdc059e31e905c6d83a9951a3 100644
GIT binary patch
delta 742
zcmV<C0vY|V7O)nutOEn4!ceoX1F-~uTh3nz^n}kp%!ZAF2zjhOpOM{D^jEk)Eu#OH
z?fSGox{w=Y*L=G_#c8rP5Jb1Xjl>nUk`=l?#q4-;CCr{b+`axs&nRiXzTH5>TKKcS
z9f9?XN#D=E63}+l%yXYVzHq4|lc=pfjcFPei(JM(@!ANL&2!Vg!Ti;gcsYW9KUlbJ
zOk<C^Katqgp{~l!KRQU%#q_bkKW7Fo2ME?tzZ?8Mdgds)zt=sgJHJ)9Kb;P>`Q>N2
zzx2|uO=R!3zi|f8=hq*#KYQUrmDXdxKgtv9DQ*?WKkT-P6in5}KkX~F7RipzKaeRW
z<vnt=KLd1WCeGG}KhIP;^W$!Rj=%qJK_Yx##y@U;_qG4o#lPQVUt?WHsXwzLzabGL
zzrQzwx@E9`vA?e7Ui1~TwZE8yuqm6SwZC99_VjmBqQ47;j}KJBg+J?w+7zaew!i)7
zwp%4au|N41bH2>R(m!80lhb=kb-(%OLA}>#vp*aZnrP}TxxZVG5s(&tn3g|K2a^(H
zKC(Yup0tjkp}#+4<;C8lMZUk8P2a|L#fHD|QGvBF!neP<XDmt;&9guMV|-+=Xxl%*
z7Jmu=M7+PCOr^DnAe+AuSM##XYQev6@nRJKPqM#EoZ`?S1(ZLm1nG+=J-EMe5J=!<
z<+nda+CXZ}JGws>FR#6Sv#6RsB1o90-_6HAvB3p84<gLJ@GyxFc8k3~hW$iSmB4ww
zFSNFj;Gwp^kh?rIbfK3&YOxkSq;A2#ZE9TpCT_65!C;*h`qsNYP9ThkZ??uiZ}EP;
zK<co+;&~>a9N@4&z81-E$osj!Oa`_4@t35(C8099Z6?9LYaY5)1f8U=zgZwgd+fKc
zzoS&=;P02OKRuBo^NRwrKc_WWovb^vzkgN7O=@bIzn5udBomaazrM9z_3E0?Ki{1K
YW_X{hzk8qjR9$O<Kl8l6X!S6VzfJ#%`v3p{

delta 742
zcmV<C0vY|V7O)nutOElKpi8r_1F-~u)-XRPxscF5-}1$pE9tC1Ip!md7{#_fZncN(
z8F92f%T|_s=8C*Oz!~d%fr_`k^jT|R=6Jh55_p<zkZPenCP0hL4vuQSl%Tg12W_*z
z1)nSzBKXh0{y6s<I+dS4NeZYRJC~|I-UXQG!>`3Z^DZ@C5ggOM64+~7Qd)w4KaKH#
z3YxsTKXg^_G|BDEKW6k!6nOB!KN*w`=qLPNzb2|?vl^JYzX~kzxFyxPKZ}0DZ0EkY
zzYk8@?$j^0zZOr4G`VK9Ka65AbWd)-Ki1?du)U|rKfQ`z_ag+zKg&)OJ^ND5KLh@6
zg6TE3KOoRrqZZD3Kch;#iGI+3jK3)n+cH|<#y>Pe$W0|&#lN2cI8ZF&sy|dWiA(u2
zzQ0p&O?ET<ufI;0B_7=&x4)43V)idLw!a^fuJf9No4+Bqwlg^pdOx<jsFC-Ox4$%O
zEib;_u|KDtzBy85(?8b%njaD5cE8p%b2GjVvp*Le_7hYGxxd*d)}vQ{%9TGzMLW|(
z)v-S-UF~5?DZf8e$^9NFqrSf~*?v?7N{heaJ3~2D&bPn8J?Mqn3$#B8nCz{;G}}M-
z0`!gGQM|vLysRqVO`N~Zh%`{ikHNo~wN;}ad$GU641pezK#)K8MOg_TKe)fAPR}ko
ziMKy9TyNjpDY`$@>p?_+!$h4wL$2e_X|~5d;11sGq4mqZ{5caM5G%bun=~M$-$-`9
z(|q4jz?8VZAy=!`v;dVqt5d-NKq|q%aq+l`#SpN+X_t}jNdvq;D>Lt2O`^v?QHxy_
zasjcwc_d>TDNC_GC0q`efB(3@x*K;>VD+ZIUjZuG?J>c>Z{W05HJ_KTzvsZDt=;Ib
zzu35pZ7Bk-KR{v`fNz_#Ki;gjKplRuztl?0w6XG;zh`gp{?2x+zaXyU3=*5rKVX9!
Yhsyu0zg2=MtOUAqKi70~9prb7zh7#0e*gdg

diff --git a/bob/bio/gmm/test/data/isv_projected.hdf5 b/bob/bio/gmm/test/data/isv_projected.hdf5
index 382b5ed1b10587ed02135527210df54196f225c1..ff9cdf0ae0636d6e652d688ea541430b2dbeb3ef 100644
GIT binary patch
delta 2302
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
Z`LbUL4wp%KZC3IWQ_R@GJLccu{{rNATV((M

delta 2302
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
b44#!w|5=SM&Kt04_APj0x$x-Tl~Mc;@(VpB

diff --git a/bob/bio/gmm/test/data/isv_projector.hdf5 b/bob/bio/gmm/test/data/isv_projector.hdf5
index b8fb97eee6e8556319a46340a2d71ee84230defc..135e8dfce76c867becf61a6209ed1e9c433ade53 100644
GIT binary patch
delta 9705
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

delta 9705
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

diff --git a/bob/bio/gmm/test/data/jfa_enroller.hdf5 b/bob/bio/gmm/test/data/jfa_enroller.hdf5
index a5588e79fe00440f040bcd1acadaf5bedaaf2f09..4dbcd81860ed003ecc5f19fe315dc6c5bc7adc00 100644
GIT binary patch
delta 3673
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

delta 3673
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

diff --git a/bob/bio/gmm/test/data/jfa_model.hdf5 b/bob/bio/gmm/test/data/jfa_model.hdf5
index 24e912a43b2dfa905493ebc4b3c3855e658cf6df..afaa7ddb21bdb5734b795da5fb4b3480a87cbdcd 100644
GIT binary patch
delta 770
zcmV+d1O5EK7Qhy;tOEn_!ceoX162Y8@xoA(uLFUxz}NwQLnH<r28+nQ#FWp|i$S|T
zYt>pUn-tE!<xlpKxTd<lICtpTd@4b|`{n2J156x0Qeu0ojTLvlB=VOq(>ch$bBBFN
zHL}FNj2dh5UL3POU}&5!qR*#432=sI(B`2(!Gx}d)oYl)NWTasr4qWo60dgChuj{&
z*3Fvl$4|e1zk%q33G$|_zmkRgh=_oJKZ3pT=z>L<zXwO$F+mfdzuZ2sCDt^uzkd(<
zzM5pOzro;A2<T_fzue<qfS1&4KP+t>4R8V!zsd}XG1?BnzvKM?uQ}OTKf&xx(pMpz
zKb~by^@+oDKasUw9O7rvKZ!p~B>{cGzo?ifhb$R?RzEMIvQ8(;u)iHn<Q}J1qCagh
ziyklC)xX=xwhe4@&p(*9<+HNwl)ru_S`w0n)4zi;jV02P!#_nBTc++hML%+WQi01=
zC%+WvZDZkP#y>R|?2u-NfWK*G%k}q*t-sPD)9oplt3N`f%brab!N1wUC?8|&s6RiM
z^@Fj0%dWo_!_<L4cc8ybuCpFr<10VXg{Z`a`<}m(hGoJ!m6<<f+c=Aq0@^<rgmb52
zai_ll@J7@q4VOP=d)Ja7V#B}eOZ>&-B&<I)rGJ2KO2@w*-{_=NUShwyJ&FA8+mS!-
zE4@R;AG$xs03INeRmndRvf?tk+g?9?y1_PopWc4Ih<mR3vCfviZ2#8mh~BzCR3FAn
zN)N%m;!P9$XGy?6p;-sf>GrHYAX%Ril2)TX8<PKxf78rAhy*o0XO^75dSYZuG{Ve3
z3RwuDrN4wfKh8<o1>BN9y{N#rrUib#jDV^);kL6sb#~>N8<WXDCMjn9V3vwM&lqQA
z+)|R!KPrJ#F_`nCKlw|F4(v<CzcJ0)tN;6yKOSF}Mst6(KllKXO4{66Kh1HbI(n9g
zKcb?3uHQtPzcguG21%N{ztLnEJ$W{VziG>l^#YQZzcYM)i#64AKRx{xV<hCiKP)<o
AH2?qr

delta 770
zcmV+d1O5EK7Qhy;tOEnXZA`PT162Y8!);8HuLFUxz}NwQ#vQ>@!jZ_ou^6(4x3juG
zJ{)+Qta{DAcan|W<tVnl0PekBrfOEdk1|4M9h4bAj4Uj~{NsGT3#O*Jtl-DLG+{GV
zRNceBPSAUr8Bwu6<l5(&I&q^v240nu4y2Vohh<}^o0FHniG$=iVqLhu{+AT*pXnOE
zU*Kx3zd68vzj$|^t45Zvzt2ivqA22VKV<}>EpE<=zs>x@hQnQ<zho)y@Ob&CzxeNo
zz8xW~zkt3exl;+zzi7D?=+=B<KbjS<+9NDLzv{IA5*PHqzssG?l#HQOKR^KpMq<LD
zKT|c<U;jgGKToUp!{_bOKgoF^z6V6WzZ91AD5H^oNIzv0TIt2RtiP5emgV}smOsgv
zD?yK=)xU}L%lTz0&OdqDQ1k_dl)rrp9RmLA(Z4MubaIq<!#_QlA}T&eP(RP;)0$G~
zM?Yt(#*Yf%#y{Ig;X#{dbHAaA{Jv+cvA@kb7y)1Ys6WZB;%!uS!oRH42}yJ4kUvUS
zx!|{dcdx%;0_5yXkfgs1;CSma+9E&4tF2I`XQ01Gqu@DtVW>abHbx9HnA<-N^<jp8
zW~RSvHTurfVv|1yNS1|8_QSsj*{?^uW~x6Che%%EoyNZeg$+N^)>Xez79TxUYKA{D
z6dbA@QNBNeZcsA_<HbL~43TABb6Y<h9Z`vY=)iZs{QP|pE5MV#+T}bH0eHJVDOcY-
ziYLOq67`;CkDk6i@wIz6M02b^M2AFuCRC?CB8YF&(*Ddp=x$z)@5-;gOv>!RJq*o1
zwgFV>?J#>kbmWPPmBgDrU0a7En5%=ohQ-`_D95osL8oKJhBd@L9MhD%;tGa8m?~Oj
z!>M}FKj^XMYRDX;KhB@lV`*^3zn*LMb)UbMKTAGlC^fmRKg8!Leori9KRk<Or;m1i
zKdw$<TV7qEzo+-@kUfFEzYM(M?sO7>zZ>Zxt+Vc{zubM44tlh7KQp7W!_l9>KR2k3
AasU7T

diff --git a/bob/bio/gmm/test/data/scores-nonorm-isv-dev b/bob/bio/gmm/test/data/scores-nonorm-isv-dev
new file mode 100644
index 0000000..43e0972
--- /dev/null
+++ b/bob/bio/gmm/test/data/scores-nonorm-isv-dev
@@ -0,0 +1,2000 @@
+3 3 s3/1 1.62594110
+3 3 s3/3 2.02770584
+3 3 s3/6 1.00599519
+3 3 s3/8 2.37602396
+3 3 s3/10 1.55214336
+3 4 s4/1 1.74439417
+3 4 s4/3 2.07567164
+3 4 s4/6 0.60449699
+3 4 s4/8 1.42865445
+3 4 s4/10 0.85554314
+3 7 s7/1 -1.90793004
+3 7 s7/3 -2.01759288
+3 7 s7/6 -1.37308185
+3 7 s7/8 -1.06626693
+3 7 s7/10 -1.32754912
+3 8 s8/1 1.26423480
+3 8 s8/3 0.98978071
+3 8 s8/6 0.94752052
+3 8 s8/8 0.94551799
+3 8 s8/10 0.51337591
+3 9 s9/1 2.54566567
+3 9 s9/3 2.28044990
+3 9 s9/6 2.09100198
+3 9 s9/8 1.52882713
+3 9 s9/10 0.97927353
+3 13 s13/1 2.26912603
+3 13 s13/3 0.71111773
+3 13 s13/6 1.27218129
+3 13 s13/8 0.12985782
+3 13 s13/10 0.34550740
+3 15 s15/1 -1.12607978
+3 15 s15/3 -0.81388725
+3 15 s15/6 -0.89193418
+3 15 s15/8 -0.01312844
+3 15 s15/10 3.08249503
+3 18 s18/1 0.97757109
+3 18 s18/3 0.90120781
+3 18 s18/6 0.65718492
+3 18 s18/8 1.22941335
+3 18 s18/10 1.39428165
+3 19 s19/1 0.06605139
+3 19 s19/3 0.14138691
+3 19 s19/6 1.74004476
+3 19 s19/8 -0.95864076
+3 19 s19/10 1.40590782
+3 22 s22/1 0.66348485
+3 22 s22/3 0.96282832
+3 22 s22/6 -0.29877864
+3 22 s22/8 0.41374832
+3 22 s22/10 0.92793592
+3 23 s23/1 0.78540820
+3 23 s23/3 0.94225752
+3 23 s23/6 1.87866039
+3 23 s23/8 0.21008856
+3 23 s23/10 0.76083243
+3 25 s25/1 2.47253848
+3 25 s25/3 1.99887047
+3 25 s25/6 2.73304058
+3 25 s25/8 2.03510319
+3 25 s25/10 2.28174787
+3 28 s28/1 0.13509099
+3 28 s28/3 1.07283701
+3 28 s28/6 0.20019713
+3 28 s28/8 0.54827331
+3 28 s28/10 0.69206469
+3 30 s30/1 0.84372631
+3 30 s30/3 1.30491745
+3 30 s30/6 0.36062869
+3 30 s30/8 -0.66565891
+3 30 s30/10 0.80175593
+3 31 s31/1 2.79802542
+3 31 s31/3 0.95873342
+3 31 s31/6 2.65323537
+3 31 s31/8 2.94601223
+3 31 s31/10 0.31116303
+3 32 s32/1 -1.70140390
+3 32 s32/3 0.53838777
+3 32 s32/6 -1.89068826
+3 32 s32/8 -1.19521653
+3 32 s32/10 -2.63642717
+3 35 s35/1 2.24751187
+3 35 s35/3 1.66100088
+3 35 s35/6 1.98838605
+3 35 s35/8 2.14567394
+3 35 s35/10 0.54591192
+3 37 s37/1 0.73459582
+3 37 s37/3 0.37631065
+3 37 s37/6 -2.28095042
+3 37 s37/8 -1.27246275
+3 37 s37/10 0.31060548
+3 38 s38/1 1.16980854
+3 38 s38/3 2.82496428
+3 38 s38/6 1.07310538
+3 38 s38/8 1.91648320
+3 38 s38/10 1.86978713
+3 40 s40/1 1.09419923
+3 40 s40/3 1.06355308
+3 40 s40/6 1.32359222
+3 40 s40/8 1.22364905
+3 40 s40/10 1.37702581
+4 3 s3/1 0.74177744
+4 3 s3/3 1.11493511
+4 3 s3/6 1.13637400
+4 3 s3/8 1.07909058
+4 3 s3/10 1.49654821
+4 4 s4/1 3.09505311
+4 4 s4/3 2.84798332
+4 4 s4/6 2.56720548
+4 4 s4/8 3.01718473
+4 4 s4/10 3.01064914
+4 7 s7/1 -1.90185778
+4 7 s7/3 -1.65201100
+4 7 s7/6 -1.56538379
+4 7 s7/8 -1.79571961
+4 7 s7/10 -0.65570932
+4 8 s8/1 -0.02061274
+4 8 s8/3 -0.29333210
+4 8 s8/6 -0.44165989
+4 8 s8/8 -0.07145038
+4 8 s8/10 -0.55881709
+4 9 s9/1 2.55832809
+4 9 s9/3 1.81867221
+4 9 s9/6 3.14663253
+4 9 s9/8 2.82070128
+4 9 s9/10 1.83381668
+4 13 s13/1 1.96261780
+4 13 s13/3 1.84228783
+4 13 s13/6 1.65169075
+4 13 s13/8 0.90543639
+4 13 s13/10 1.32185998
+4 15 s15/1 -1.58013021
+4 15 s15/3 -1.71150086
+4 15 s15/6 -1.68042483
+4 15 s15/8 -0.15377817
+4 15 s15/10 3.42859865
+4 18 s18/1 1.95055072
+4 18 s18/3 2.67972253
+4 18 s18/6 2.19300281
+4 18 s18/8 3.05939614
+4 18 s18/10 3.01780702
+4 19 s19/1 -3.42367289
+4 19 s19/3 -2.55326859
+4 19 s19/6 -4.41278428
+4 19 s19/8 -2.73656996
+4 19 s19/10 -4.03212344
+4 22 s22/1 -0.15823768
+4 22 s22/3 0.39207858
+4 22 s22/6 -1.26369681
+4 22 s22/8 -0.32546511
+4 22 s22/10 -0.05038751
+4 23 s23/1 1.61568891
+4 23 s23/3 2.61234295
+4 23 s23/6 2.71665406
+4 23 s23/8 0.81947009
+4 23 s23/10 1.39494025
+4 25 s25/1 5.25425093
+4 25 s25/3 4.24954849
+4 25 s25/6 5.12503668
+4 25 s25/8 2.85746572
+4 25 s25/10 4.71002758
+4 28 s28/1 1.38103611
+4 28 s28/3 1.26602011
+4 28 s28/6 2.23276328
+4 28 s28/8 0.50217322
+4 28 s28/10 0.78320859
+4 30 s30/1 2.02453025
+4 30 s30/3 2.55928528
+4 30 s30/6 1.79116191
+4 30 s30/8 1.79793259
+4 30 s30/10 1.51718730
+4 31 s31/1 3.44785494
+4 31 s31/3 2.87337626
+4 31 s31/6 2.65880364
+4 31 s31/8 3.39467154
+4 31 s31/10 2.77020822
+4 32 s32/1 -1.13821196
+4 32 s32/3 0.62539329
+4 32 s32/6 -2.89354058
+4 32 s32/8 -1.59245651
+4 32 s32/10 -2.54363149
+4 35 s35/1 3.60962165
+4 35 s35/3 2.67990237
+4 35 s35/6 2.30421760
+4 35 s35/8 2.32388228
+4 35 s35/10 1.38723515
+4 37 s37/1 1.87738609
+4 37 s37/3 1.37032725
+4 37 s37/6 -1.51713467
+4 37 s37/8 -1.51925633
+4 37 s37/10 0.04032798
+4 38 s38/1 1.18640564
+4 38 s38/3 0.70770177
+4 38 s38/6 0.85248974
+4 38 s38/8 2.25115498
+4 38 s38/10 0.54998810
+4 40 s40/1 1.55296133
+4 40 s40/3 2.64566001
+4 40 s40/6 1.97589619
+4 40 s40/8 1.05563145
+4 40 s40/10 1.41024924
+7 3 s3/1 -0.55651612
+7 3 s3/3 -1.36823884
+7 3 s3/6 -0.67479423
+7 3 s3/8 -1.56692613
+7 3 s3/10 -0.70231798
+7 4 s4/1 -1.47682579
+7 4 s4/3 -1.80152870
+7 4 s4/6 -1.01480799
+7 4 s4/8 -1.34139482
+7 4 s4/10 -1.05930728
+7 7 s7/1 3.44595877
+7 7 s7/3 3.58645440
+7 7 s7/6 2.94546612
+7 7 s7/8 2.88504621
+7 7 s7/10 2.75018308
+7 8 s8/1 -0.96521345
+7 8 s8/3 -0.48282252
+7 8 s8/6 -0.85465755
+7 8 s8/8 -0.00437613
+7 8 s8/10 0.27075336
+7 9 s9/1 -1.76638252
+7 9 s9/3 -1.63816108
+7 9 s9/6 -1.69302758
+7 9 s9/8 -1.50486503
+7 9 s9/10 -1.66066501
+7 13 s13/1 -1.25223867
+7 13 s13/3 -0.63807820
+7 13 s13/6 -1.28435063
+7 13 s13/8 -0.49116436
+7 13 s13/10 -0.47370720
+7 15 s15/1 1.30146477
+7 15 s15/3 1.26504202
+7 15 s15/6 1.11677603
+7 15 s15/8 0.27879676
+7 15 s15/10 -3.02390505
+7 18 s18/1 -0.76428063
+7 18 s18/3 -0.75197891
+7 18 s18/6 -0.24515888
+7 18 s18/8 -1.00552723
+7 18 s18/10 -1.05962360
+7 19 s19/1 1.88465824
+7 19 s19/3 1.47250719
+7 19 s19/6 1.05683881
+7 19 s19/8 1.15553295
+7 19 s19/10 0.78868921
+7 22 s22/1 -1.37637314
+7 22 s22/3 -1.71854318
+7 22 s22/6 -0.10405771
+7 22 s22/8 -1.64787124
+7 22 s22/10 -1.20821143
+7 23 s23/1 -0.59878384
+7 23 s23/3 0.10878619
+7 23 s23/6 -1.04945946
+7 23 s23/8 -0.59947878
+7 23 s23/10 -0.48825780
+7 25 s25/1 -2.45081117
+7 25 s25/3 -1.80290481
+7 25 s25/6 -2.37486553
+7 25 s25/8 -1.48551775
+7 25 s25/10 -2.02144298
+7 28 s28/1 -0.38449215
+7 28 s28/3 -1.32971805
+7 28 s28/6 -0.87159585
+7 28 s28/8 0.31201623
+7 28 s28/10 -0.90285555
+7 30 s30/1 -1.48018759
+7 30 s30/3 -2.01442361
+7 30 s30/6 -1.22408486
+7 30 s30/8 -0.17755339
+7 30 s30/10 -1.46624861
+7 31 s31/1 -2.46261735
+7 31 s31/3 -0.61716312
+7 31 s31/6 -1.63168663
+7 31 s31/8 -2.50854452
+7 31 s31/10 -0.61053178
+7 32 s32/1 2.06945524
+7 32 s32/3 0.08935623
+7 32 s32/6 3.24910746
+7 32 s32/8 2.40716532
+7 32 s32/10 3.52740318
+7 35 s35/1 -2.13629472
+7 35 s35/3 -0.65890584
+7 35 s35/6 -1.72397558
+7 35 s35/8 -1.51163572
+7 35 s35/10 0.30970107
+7 37 s37/1 0.29124345
+7 37 s37/3 0.35495637
+7 37 s37/6 1.94446768
+7 37 s37/8 0.92360410
+7 37 s37/10 0.56511451
+7 38 s38/1 -1.44452424
+7 38 s38/3 -1.66701334
+7 38 s38/6 -0.96762307
+7 38 s38/8 -1.78667034
+7 38 s38/10 -1.52302030
+7 40 s40/1 -1.03563252
+7 40 s40/3 -0.97761458
+7 40 s40/6 -1.72788826
+7 40 s40/8 -1.07193263
+7 40 s40/10 -1.28348542
+8 3 s3/1 1.27767435
+8 3 s3/3 0.56349677
+8 3 s3/6 1.89423212
+8 3 s3/8 2.30414602
+8 3 s3/10 0.34930700
+8 4 s4/1 0.09395949
+8 4 s4/3 0.00617714
+8 4 s4/6 -0.00132582
+8 4 s4/8 -0.41773336
+8 4 s4/10 -0.92952640
+8 7 s7/1 -0.24545361
+8 7 s7/3 -0.57720942
+8 7 s7/6 -1.34403753
+8 7 s7/8 -1.12245110
+8 7 s7/10 -1.46417275
+8 8 s8/1 6.37984625
+8 8 s8/3 7.15190697
+8 8 s8/6 7.14673984
+8 8 s8/8 6.03034291
+8 8 s8/10 6.86638229
+8 9 s9/1 2.41032051
+8 9 s9/3 2.88654823
+8 9 s9/6 2.85230678
+8 9 s9/8 1.32174557
+8 9 s9/10 1.68148222
+8 13 s13/1 -2.49172153
+8 13 s13/3 -2.54087071
+8 13 s13/6 -1.57419415
+8 13 s13/8 -1.74120936
+8 13 s13/10 -2.36825687
+8 15 s15/1 -0.90460636
+8 15 s15/3 -0.81374404
+8 15 s15/6 -1.37081560
+8 15 s15/8 0.21456746
+8 15 s15/10 1.03709110
+8 18 s18/1 -2.56286129
+8 18 s18/3 -2.64580197
+8 18 s18/6 -3.25017618
+8 18 s18/8 -3.43992166
+8 18 s18/10 -2.74572804
+8 19 s19/1 -1.92097994
+8 19 s19/3 -2.16916944
+8 19 s19/6 -1.36789855
+8 19 s19/8 0.35625444
+8 19 s19/10 -1.19600587
+8 22 s22/1 0.58889165
+8 22 s22/3 1.35720190
+8 22 s22/6 -0.67115456
+8 22 s22/8 0.23058073
+8 22 s22/10 0.50192270
+8 23 s23/1 2.28246451
+8 23 s23/3 1.03964803
+8 23 s23/6 0.99149742
+8 23 s23/8 1.17692220
+8 23 s23/10 2.50862736
+8 25 s25/1 0.11143963
+8 25 s25/3 0.20215666
+8 25 s25/6 0.89090552
+8 25 s25/8 0.92008246
+8 25 s25/10 0.81905383
+8 28 s28/1 0.14451316
+8 28 s28/3 0.69735124
+8 28 s28/6 0.31785404
+8 28 s28/8 -1.01066381
+8 28 s28/10 -1.18093688
+8 30 s30/1 1.40744526
+8 30 s30/3 1.41712724
+8 30 s30/6 1.12897367
+8 30 s30/8 0.23853575
+8 30 s30/10 1.17636933
+8 31 s31/1 3.60449716
+8 31 s31/3 1.93391381
+8 31 s31/6 3.77181320
+8 31 s31/8 3.59931013
+8 31 s31/10 2.02379913
+8 32 s32/1 -2.07036756
+8 32 s32/3 -3.06947831
+8 32 s32/6 -3.28492121
+8 32 s32/8 -4.05903332
+8 32 s32/10 -4.37270875
+8 35 s35/1 0.88246513
+8 35 s35/3 0.51159042
+8 35 s35/6 0.58122754
+8 35 s35/8 0.75264708
+8 35 s35/10 -1.41097903
+8 37 s37/1 -2.21758011
+8 37 s37/3 -2.22890489
+8 37 s37/6 0.73879677
+8 37 s37/8 0.67741597
+8 37 s37/10 -1.33795191
+8 38 s38/1 3.44934304
+8 38 s38/3 1.49216101
+8 38 s38/6 3.29515282
+8 38 s38/8 1.25405136
+8 38 s38/10 1.25530167
+8 40 s40/1 -3.60103582
+8 40 s40/3 -3.01137244
+8 40 s40/6 -2.29045910
+8 40 s40/8 -2.31350795
+8 40 s40/10 -2.51962541
+9 3 s3/1 1.33017819
+9 3 s3/3 1.03557312
+9 3 s3/6 1.38416887
+9 3 s3/8 1.48966216
+9 3 s3/10 1.32285549
+9 4 s4/1 3.41450464
+9 4 s4/3 2.86471175
+9 4 s4/6 1.99021615
+9 4 s4/8 2.78302220
+9 4 s4/10 1.43794531
+9 7 s7/1 -1.85958173
+9 7 s7/3 -1.50714863
+9 7 s7/6 -1.61714022
+9 7 s7/8 -1.79926465
+9 7 s7/10 -0.55814425
+9 8 s8/1 1.58332499
+9 8 s8/3 1.85077110
+9 8 s8/6 1.83105630
+9 8 s8/8 1.57657375
+9 8 s8/10 1.61559949
+9 9 s9/1 3.81370815
+9 9 s9/3 3.62974542
+9 9 s9/6 3.41849293
+9 9 s9/8 3.37712323
+9 9 s9/10 2.50275238
+9 13 s13/1 1.54803548
+9 13 s13/3 0.93935579
+9 13 s13/6 1.67153167
+9 13 s13/8 0.52226471
+9 13 s13/10 0.67583955
+9 15 s15/1 -1.04392244
+9 15 s15/3 -1.09395012
+9 15 s15/6 -1.10591948
+9 15 s15/8 0.39184078
+9 15 s15/10 4.04438437
+9 18 s18/1 1.18396927
+9 18 s18/3 1.55997276
+9 18 s18/6 1.12206752
+9 18 s18/8 1.46275584
+9 18 s18/10 1.50307919
+9 19 s19/1 -1.47055560
+9 19 s19/3 -1.04757214
+9 19 s19/6 -0.84678654
+9 19 s19/8 -1.70076255
+9 19 s19/10 -1.38607686
+9 22 s22/1 -0.67107786
+9 22 s22/3 0.03214677
+9 22 s22/6 -1.84567325
+9 22 s22/8 -0.78332485
+9 22 s22/10 -0.46010088
+9 23 s23/1 2.66231087
+9 23 s23/3 3.04122797
+9 23 s23/6 3.15843763
+9 23 s23/8 1.36386847
+9 23 s23/10 1.91386695
+9 25 s25/1 4.59705308
+9 25 s25/3 3.77895821
+9 25 s25/6 4.55825156
+9 25 s25/8 2.96138915
+9 25 s25/10 3.86177835
+9 28 s28/1 0.73962004
+9 28 s28/3 1.01582600
+9 28 s28/6 1.33337892
+9 28 s28/8 0.27025161
+9 28 s28/10 -0.44913225
+9 30 s30/1 1.99822598
+9 30 s30/3 2.25844872
+9 30 s30/6 1.40313162
+9 30 s30/8 0.52460304
+9 30 s30/10 1.52300129
+9 31 s31/1 4.55922592
+9 31 s31/3 2.12962553
+9 31 s31/6 3.83011539
+9 31 s31/8 4.51862290
+9 31 s31/10 2.43645465
+9 32 s32/1 -1.16221552
+9 32 s32/3 0.60594384
+9 32 s32/6 -3.56315855
+9 32 s32/8 -1.87125973
+9 32 s32/10 -3.56972921
+9 35 s35/1 3.60474175
+9 35 s35/3 3.07701965
+9 35 s35/6 2.27161321
+9 35 s35/8 2.83384220
+9 35 s35/10 1.47887837
+9 37 s37/1 0.54133188
+9 37 s37/3 0.22003596
+9 37 s37/6 -2.06722316
+9 37 s37/8 -1.48630659
+9 37 s37/10 -0.29613020
+9 38 s38/1 2.06014692
+9 38 s38/3 1.94108649
+9 38 s38/6 1.91066851
+9 38 s38/8 2.17920509
+9 38 s38/10 1.40584896
+9 40 s40/1 0.87408290
+9 40 s40/3 2.26474069
+9 40 s40/6 1.55496927
+9 40 s40/8 1.24232826
+9 40 s40/10 1.10871527
+13 3 s3/1 1.78467628
+13 3 s3/3 1.21585058
+13 3 s3/6 0.24920474
+13 3 s3/8 -0.23997173
+13 3 s3/10 0.87718386
+13 4 s4/1 2.26551103
+13 4 s4/3 2.38421805
+13 4 s4/6 1.63063225
+13 4 s4/8 2.35145986
+13 4 s4/10 0.80427620
+13 7 s7/1 -1.23644379
+13 7 s7/3 -1.25584941
+13 7 s7/6 -0.77375988
+13 7 s7/8 -0.49373258
+13 7 s7/10 -0.48112218
+13 8 s8/1 -2.61376865
+13 8 s8/3 -2.22981959
+13 8 s8/6 -2.22120312
+13 8 s8/8 -1.74057479
+13 8 s8/10 -2.43638831
+13 9 s9/1 1.78255263
+13 9 s9/3 0.81706375
+13 9 s9/6 0.70499564
+13 9 s9/8 1.60732136
+13 9 s9/10 -0.78052222
+13 13 s13/1 5.42238113
+13 13 s13/3 3.75925316
+13 13 s13/6 3.28234251
+13 13 s13/8 3.16660339
+13 13 s13/10 3.54485663
+13 15 s15/1 -0.43196592
+13 15 s15/3 -0.17985712
+13 15 s15/6 0.19050337
+13 15 s15/8 -0.28452276
+13 15 s15/10 1.65614750
+13 18 s18/1 2.53189622
+13 18 s18/3 3.62372925
+13 18 s18/6 2.80736718
+13 18 s18/8 3.75205504
+13 18 s18/10 3.12144215
+13 19 s19/1 1.66545963
+13 19 s19/3 2.28752114
+13 19 s19/6 2.68411410
+13 19 s19/8 -0.66955276
+13 19 s19/10 2.17035805
+13 22 s22/1 1.72854247
+13 22 s22/3 1.28513364
+13 22 s22/6 0.78984394
+13 22 s22/8 1.72546160
+13 22 s22/10 2.50811516
+13 23 s23/1 0.05461626
+13 23 s23/3 0.26072066
+13 23 s23/6 2.46613392
+13 23 s23/8 -1.06051537
+13 23 s23/10 0.29518395
+13 25 s25/1 3.13627789
+13 25 s25/3 2.40192037
+13 25 s25/6 2.61624533
+13 25 s25/8 1.88220136
+13 25 s25/10 2.48606814
+13 28 s28/1 1.52981959
+13 28 s28/3 1.35417058
+13 28 s28/6 1.29017667
+13 28 s28/8 0.85995936
+13 28 s28/10 1.32499508
+13 30 s30/1 -0.36369950
+13 30 s30/3 -0.22372683
+13 30 s30/6 -0.40277568
+13 30 s30/8 -1.30954026
+13 30 s30/10 -0.04291302
+13 31 s31/1 -0.03900527
+13 31 s31/3 -2.44301341
+13 31 s31/6 -1.49021492
+13 31 s31/8 0.24818536
+13 31 s31/10 -3.58745917
+13 32 s32/1 -0.08173012
+13 32 s32/3 2.46352130
+13 32 s32/6 -0.34066688
+13 32 s32/8 1.32895110
+13 32 s32/10 -0.26766015
+13 35 s35/1 2.66903500
+13 35 s35/3 1.87126868
+13 35 s35/6 1.53681608
+13 35 s35/8 1.53729715
+13 35 s35/10 0.41793397
+13 37 s37/1 2.22749289
+13 37 s37/3 2.16136497
+13 37 s37/6 -2.35457147
+13 37 s37/8 -0.36156960
+13 37 s37/10 2.28475113
+13 38 s38/1 0.55591958
+13 38 s38/3 3.50296328
+13 38 s38/6 0.11473581
+13 38 s38/8 1.75598487
+13 38 s38/10 1.72573178
+13 40 s40/1 3.50067432
+13 40 s40/3 2.53920391
+13 40 s40/6 3.76373220
+13 40 s40/8 3.48075192
+13 40 s40/10 3.94937880
+15 3 s3/1 0.81508715
+15 3 s3/3 2.08386975
+15 3 s3/6 1.11396243
+15 3 s3/8 2.15629524
+15 3 s3/10 1.19636784
+15 4 s4/1 3.99937033
+15 4 s4/3 3.18177714
+15 4 s4/6 0.07587784
+15 4 s4/8 3.10658120
+15 4 s4/10 0.58904156
+15 7 s7/1 -2.77935294
+15 7 s7/3 -2.83897509
+15 7 s7/6 -2.27176326
+15 7 s7/8 -2.60704518
+15 7 s7/10 -0.32197261
+15 8 s8/1 0.88831150
+15 8 s8/3 -0.62053754
+15 8 s8/6 -0.68212676
+15 8 s8/8 -1.03224168
+15 8 s8/10 -1.74376893
+15 9 s9/1 3.25792491
+15 9 s9/3 3.18700252
+15 9 s9/6 2.86347968
+15 9 s9/8 3.49254236
+15 9 s9/10 2.56572052
+15 13 s13/1 1.00950772
+15 13 s13/3 0.46230090
+15 13 s13/6 1.09856684
+15 13 s13/8 -0.47047604
+15 13 s13/10 -0.02909511
+15 15 s15/1 0.52543966
+15 15 s15/3 0.46512677
+15 15 s15/6 0.45328319
+15 15 s15/8 2.18390545
+15 15 s15/10 8.01864513
+15 18 s18/1 0.16585416
+15 18 s18/3 1.19065172
+15 18 s18/6 0.73898294
+15 18 s18/8 1.95532590
+15 18 s18/10 1.54215967
+15 19 s19/1 -2.90263986
+15 19 s19/3 -2.24374661
+15 19 s19/6 -2.48673165
+15 19 s19/8 -2.78166397
+15 19 s19/10 -2.86809605
+15 22 s22/1 1.98709961
+15 22 s22/3 2.34138725
+15 22 s22/6 -0.50773947
+15 22 s22/8 1.79141192
+15 22 s22/10 2.64086778
+15 23 s23/1 1.08340613
+15 23 s23/3 2.03019375
+15 23 s23/6 3.33081782
+15 23 s23/8 0.28754449
+15 23 s23/10 0.29323222
+15 25 s25/1 4.91917152
+15 25 s25/3 3.98469866
+15 25 s25/6 5.51048669
+15 25 s25/8 4.22674818
+15 25 s25/10 3.31852367
+15 28 s28/1 -0.38157658
+15 28 s28/3 0.45249883
+15 28 s28/6 0.60854411
+15 28 s28/8 -0.84515492
+15 28 s28/10 -2.07590731
+15 30 s30/1 2.35032486
+15 30 s30/3 3.04358984
+15 30 s30/6 2.06937939
+15 30 s30/8 2.24018482
+15 30 s30/10 2.79872954
+15 31 s31/1 6.09812095
+15 31 s31/3 6.50878011
+15 31 s31/6 4.95012918
+15 31 s31/8 6.06910391
+15 31 s31/10 7.31302378
+15 32 s32/1 -0.90860503
+15 32 s32/3 1.49935397
+15 32 s32/6 -3.95841719
+15 32 s32/8 -2.51360486
+15 32 s32/10 -3.98980690
+15 35 s35/1 6.12890547
+15 35 s35/3 5.44620797
+15 35 s35/6 3.04737618
+15 35 s35/8 3.53172158
+15 35 s35/10 4.13379325
+15 37 s37/1 0.04858304
+15 37 s37/3 0.22827950
+15 37 s37/6 -1.24379118
+15 37 s37/8 -0.74835149
+15 37 s37/10 -1.85928094
+15 38 s38/1 1.47385864
+15 38 s38/3 2.28004246
+15 38 s38/6 1.06983367
+15 38 s38/8 1.34289374
+15 38 s38/10 1.41176846
+15 40 s40/1 1.88853006
+15 40 s40/3 3.31764917
+15 40 s40/6 2.41317735
+15 40 s40/8 1.89740105
+15 40 s40/10 2.43666527
+18 3 s3/1 0.54855241
+18 3 s3/3 1.12381438
+18 3 s3/6 0.38257384
+18 3 s3/8 1.15108376
+18 3 s3/10 1.93358993
+18 4 s4/1 2.63343417
+18 4 s4/3 2.92560650
+18 4 s4/6 2.62542845
+18 4 s4/8 2.69678608
+18 4 s4/10 3.62817470
+18 7 s7/1 -1.52809624
+18 7 s7/3 -0.73758090
+18 7 s7/6 0.03599235
+18 7 s7/8 -0.05935077
+18 7 s7/10 0.32228929
+18 8 s8/1 -2.61058669
+18 8 s8/3 -3.52386160
+18 8 s8/6 -3.85777674
+18 8 s8/8 -2.22910761
+18 8 s8/10 -3.34917978
+18 9 s9/1 1.52711896
+18 9 s9/3 0.87830147
+18 9 s9/6 1.48891595
+18 9 s9/8 1.33315517
+18 9 s9/10 1.22676709
+18 13 s13/1 3.96702323
+18 13 s13/3 3.13482986
+18 13 s13/6 3.91330173
+18 13 s13/8 1.82731125
+18 13 s13/10 2.30825651
+18 15 s15/1 -0.93763363
+18 15 s15/3 -0.85233105
+18 15 s15/6 -0.79435480
+18 15 s15/8 -0.43344402
+18 15 s15/10 2.87570741
+18 18 s18/1 5.17041966
+18 18 s18/3 4.19777949
+18 18 s18/6 4.78197498
+18 18 s18/8 5.07360616
+18 18 s18/10 5.08970063
+18 19 s19/1 1.46650197
+18 19 s19/3 1.82151138
+18 19 s19/6 2.11048131
+18 19 s19/8 -1.76289037
+18 19 s19/10 1.53889387
+18 22 s22/1 -2.34325009
+18 22 s22/3 -2.23833364
+18 22 s22/6 -1.28272420
+18 22 s22/8 -2.68439760
+18 22 s22/10 -2.16347921
+18 23 s23/1 0.55020775
+18 23 s23/3 2.42402842
+18 23 s23/6 2.33581593
+18 23 s23/8 0.83571331
+18 23 s23/10 -0.08727650
+18 25 s25/1 4.27291989
+18 25 s25/3 3.82850790
+18 25 s25/6 3.95204496
+18 25 s25/8 2.87561879
+18 25 s25/10 3.89281356
+18 28 s28/1 0.67374378
+18 28 s28/3 1.25210674
+18 28 s28/6 0.46746669
+18 28 s28/8 2.34344527
+18 28 s28/10 1.75840809
+18 30 s30/1 0.92849183
+18 30 s30/3 1.13474427
+18 30 s30/6 -0.00580822
+18 30 s30/8 -0.45027675
+18 30 s30/10 0.45329700
+18 31 s31/1 0.99715896
+18 31 s31/3 0.66382339
+18 31 s31/6 1.27221510
+18 31 s31/8 0.97443746
+18 31 s31/10 1.22786382
+18 32 s32/1 1.13220022
+18 32 s32/3 4.04034981
+18 32 s32/6 0.83701829
+18 32 s32/8 3.39850748
+18 32 s32/10 1.63406913
+18 35 s35/1 2.89601366
+18 35 s35/3 1.69220380
+18 35 s35/6 2.66793959
+18 35 s35/8 2.99545472
+18 35 s35/10 2.34164734
+18 37 s37/1 3.88853994
+18 37 s37/3 3.58875673
+18 37 s37/6 -3.12730276
+18 37 s37/8 -3.01687625
+18 37 s37/10 2.00267538
+18 38 s38/1 -1.30930422
+18 38 s38/3 0.30933567
+18 38 s38/6 -0.93245877
+18 38 s38/8 0.78574927
+18 38 s38/10 -0.16275989
+18 40 s40/1 4.23476966
+18 40 s40/3 4.55465517
+18 40 s40/6 3.82472069
+18 40 s40/8 3.50952359
+18 40 s40/10 3.09853645
+19 3 s3/1 0.09818726
+19 3 s3/3 -0.94025379
+19 3 s3/6 -0.89518604
+19 3 s3/8 -1.07037097
+19 3 s3/10 -1.11244625
+19 4 s4/1 -2.44147198
+19 4 s4/3 -1.86546678
+19 4 s4/6 -0.54235845
+19 4 s4/8 -1.82105300
+19 4 s4/10 -1.32921852
+19 7 s7/1 1.64677300
+19 7 s7/3 2.22296720
+19 7 s7/6 1.92559577
+19 7 s7/8 2.06867609
+19 7 s7/10 0.51421556
+19 8 s8/1 -0.48386526
+19 8 s8/3 0.92661985
+19 8 s8/6 0.88201534
+19 8 s8/8 1.21442334
+19 8 s8/10 1.61417869
+19 9 s9/1 -1.79702873
+19 9 s9/3 -1.33241652
+19 9 s9/6 -1.98394275
+19 9 s9/8 -1.98231882
+19 9 s9/10 -1.80982844
+19 13 s13/1 -0.00070958
+19 13 s13/3 -0.21942028
+19 13 s13/6 -0.41712263
+19 13 s13/8 0.59169280
+19 13 s13/10 -0.25186511
+19 15 s15/1 0.72024790
+19 15 s15/3 0.93043252
+19 15 s15/6 0.84421131
+19 15 s15/8 -0.31649302
+19 15 s15/10 -4.08854645
+19 18 s18/1 -0.33075774
+19 18 s18/3 -1.31283472
+19 18 s18/6 -0.59985061
+19 18 s18/8 -1.33697683
+19 18 s18/10 -1.27305387
+19 19 s19/1 4.99085809
+19 19 s19/3 4.33146914
+19 19 s19/6 5.98217107
+19 19 s19/8 3.65953449
+19 19 s19/10 5.36089281
+19 22 s22/1 -0.88899755
+19 22 s22/3 -1.47178062
+19 22 s22/6 0.67652322
+19 22 s22/8 -1.10199980
+19 22 s22/10 -1.43222194
+19 23 s23/1 -0.49868089
+19 23 s23/3 -0.97543078
+19 23 s23/6 -1.86033693
+19 23 s23/8 -0.61655987
+19 23 s23/10 -0.30194120
+19 25 s25/1 -3.37938088
+19 25 s25/3 -2.55051990
+19 25 s25/6 -3.58700289
+19 25 s25/8 -2.62843510
+19 25 s25/10 -2.65950419
+19 28 s28/1 -0.71106610
+19 28 s28/3 -0.96611158
+19 28 s28/6 -1.73455262
+19 28 s28/8 0.69545951
+19 28 s28/10 -0.13991690
+19 30 s30/1 -2.46821571
+19 30 s30/3 -3.62441528
+19 30 s30/6 -2.25547110
+19 30 s30/8 -3.15210011
+19 30 s30/10 -2.24997202
+19 31 s31/1 -3.97745474
+19 31 s31/3 -4.04033739
+19 31 s31/6 -3.20007398
+19 31 s31/8 -3.84109011
+19 31 s31/10 -4.62856702
+19 32 s32/1 0.97259263
+19 32 s32/3 0.75289863
+19 32 s32/6 3.47529061
+19 32 s32/8 3.30553936
+19 32 s32/10 3.09533056
+19 35 s35/1 -2.79990368
+19 35 s35/3 -2.10228544
+19 35 s35/6 -1.69296255
+19 35 s35/8 -1.20944575
+19 35 s35/10 -1.38552109
+19 37 s37/1 -0.43170369
+19 37 s37/3 -0.37431488
+19 37 s37/6 0.95847988
+19 37 s37/8 1.23229400
+19 37 s37/10 1.36186804
+19 38 s38/1 -1.59235640
+19 38 s38/3 -0.57953918
+19 38 s38/6 -0.99252956
+19 38 s38/8 -1.35648938
+19 38 s38/10 -0.67040131
+19 40 s40/1 -1.13219869
+19 40 s40/3 -2.24126287
+19 40 s40/6 -1.07631631
+19 40 s40/8 -0.55254316
+19 40 s40/10 -2.09243509
+22 3 s3/1 0.16857284
+22 3 s3/3 1.36315425
+22 3 s3/6 -0.21386030
+22 3 s3/8 1.52373847
+22 3 s3/10 1.40557431
+22 4 s4/1 -0.57391237
+22 4 s4/3 -0.31819275
+22 4 s4/6 -2.45853932
+22 4 s4/8 -0.78089486
+22 4 s4/10 -0.81909528
+22 7 s7/1 -1.02402922
+22 7 s7/3 -2.18896749
+22 7 s7/6 -2.41223290
+22 7 s7/8 -3.25552000
+22 7 s7/10 -0.38648476
+22 8 s8/1 -0.44398214
+22 8 s8/3 -1.42351169
+22 8 s8/6 -1.38786300
+22 8 s8/8 -1.32190107
+22 8 s8/10 -2.47623921
+22 9 s9/1 -0.87060768
+22 9 s9/3 -1.05494234
+22 9 s9/6 -0.33487108
+22 9 s9/8 -0.40696340
+22 9 s9/10 -0.15292638
+22 13 s13/1 -1.32166368
+22 13 s13/3 -1.59058352
+22 13 s13/6 -0.63238187
+22 13 s13/8 -0.97521152
+22 13 s13/10 -0.31391480
+22 15 s15/1 1.17547758
+22 15 s15/3 0.73012867
+22 15 s15/6 1.19498929
+22 15 s15/8 1.84189628
+22 15 s15/10 3.59782258
+22 18 s18/1 -1.31141168
+22 18 s18/3 -1.44099165
+22 18 s18/6 -2.10900854
+22 18 s18/8 -1.56280537
+22 18 s18/10 -1.53482860
+22 19 s19/1 -2.31249859
+22 19 s19/3 -2.38454336
+22 19 s19/6 -2.91873952
+22 19 s19/8 -2.83699889
+22 19 s19/10 -1.74398400
+22 22 s22/1 6.68442070
+22 22 s22/3 7.28794077
+22 22 s22/6 2.42701325
+22 22 s22/8 6.82845140
+22 22 s22/10 5.95228847
+22 23 s23/1 -2.56722889
+22 23 s23/3 -2.10186871
+22 23 s23/6 -0.12637866
+22 23 s23/8 -1.09624222
+22 23 s23/10 -1.66836951
+22 25 s25/1 -0.65296183
+22 25 s25/3 -0.61710110
+22 25 s25/6 -0.32293746
+22 25 s25/8 1.53529039
+22 25 s25/10 -0.66940965
+22 28 s28/1 -0.53025262
+22 28 s28/3 0.25654839
+22 28 s28/6 -0.00042533
+22 28 s28/8 -1.33640859
+22 28 s28/10 0.12097342
+22 30 s30/1 1.74964065
+22 30 s30/3 3.28066002
+22 30 s30/6 1.30933319
+22 30 s30/8 2.94427656
+22 30 s30/10 1.96460268
+22 31 s31/1 3.55514586
+22 31 s31/3 6.62831940
+22 31 s31/6 2.93965394
+22 31 s31/8 3.55837042
+22 31 s31/10 6.17235303
+22 32 s32/1 -2.25879160
+22 32 s32/3 0.38840189
+22 32 s32/6 -4.23002659
+22 32 s32/8 -4.71271775
+22 32 s32/10 -3.71916935
+22 35 s35/1 3.15268903
+22 35 s35/3 2.08335832
+22 35 s35/6 2.30558849
+22 35 s35/8 1.87851535
+22 35 s35/10 3.49414217
+22 37 s37/1 -2.29735422
+22 37 s37/3 -2.07039060
+22 37 s37/6 1.27418144
+22 37 s37/8 2.02518918
+22 37 s37/10 -1.98953348
+22 38 s38/1 1.08267936
+22 38 s38/3 0.25520871
+22 38 s38/6 0.45551754
+22 38 s38/8 -0.13331499
+22 38 s38/10 -0.61819885
+22 40 s40/1 0.20919427
+22 40 s40/3 1.06261284
+22 40 s40/6 1.35553426
+22 40 s40/8 0.94334892
+22 40 s40/10 2.12922615
+23 3 s3/1 0.49553492
+23 3 s3/3 1.01425436
+23 3 s3/6 1.19573381
+23 3 s3/8 0.92023818
+23 3 s3/10 0.93501957
+23 4 s4/1 2.18406345
+23 4 s4/3 1.81329615
+23 4 s4/6 1.70637982
+23 4 s4/8 1.81783965
+23 4 s4/10 1.75963426
+23 7 s7/1 -0.61694701
+23 7 s7/3 -0.72017224
+23 7 s7/6 -1.19831572
+23 7 s7/8 -1.23780121
+23 7 s7/10 -0.37491415
+23 8 s8/1 0.72410118
+23 8 s8/3 0.88587428
+23 8 s8/6 0.78257308
+23 8 s8/8 0.94720095
+23 8 s8/10 0.69316803
+23 9 s9/1 2.10875614
+23 9 s9/3 1.95576282
+23 9 s9/6 2.11417391
+23 9 s9/8 2.15440269
+23 9 s9/10 1.71177284
+23 13 s13/1 1.46553609
+23 13 s13/3 0.77985485
+23 13 s13/6 1.64001651
+23 13 s13/8 0.56069658
+23 13 s13/10 1.14694556
+23 15 s15/1 -0.78837652
+23 15 s15/3 -0.81936650
+23 15 s15/6 -0.90744648
+23 15 s15/8 0.07965161
+23 15 s15/10 1.98666809
+23 18 s18/1 1.78498795
+23 18 s18/3 1.59654926
+23 18 s18/6 1.55540346
+23 18 s18/8 1.69981652
+23 18 s18/10 1.75424177
+23 19 s19/1 -0.98483637
+23 19 s19/3 -0.73614736
+23 19 s19/6 -1.08264827
+23 19 s19/8 -1.37399144
+23 19 s19/10 -1.16838101
+23 22 s22/1 -0.67318028
+23 22 s22/3 -0.26805982
+23 22 s22/6 -1.42981938
+23 22 s22/8 -0.81487229
+23 22 s22/10 -0.70329642
+23 23 s23/1 2.06743727
+23 23 s23/3 2.07589670
+23 23 s23/6 2.43562916
+23 23 s23/8 1.47963201
+23 23 s23/10 1.62845176
+23 25 s25/1 3.01208651
+23 25 s25/3 2.33692327
+23 25 s25/6 2.65970509
+23 25 s25/8 2.32693516
+23 25 s25/10 2.51848351
+23 28 s28/1 1.14831339
+23 28 s28/3 1.07025452
+23 28 s28/6 1.31680115
+23 28 s28/8 1.32605858
+23 28 s28/10 -0.00008428
+23 30 s30/1 1.23644025
+23 30 s30/3 1.48872803
+23 30 s30/6 0.99484703
+23 30 s30/8 0.88432765
+23 30 s30/10 1.17299651
+23 31 s31/1 2.61025171
+23 31 s31/3 1.53314850
+23 31 s31/6 2.29958044
+23 31 s31/8 2.56785749
+23 31 s31/10 1.70438586
+23 32 s32/1 -0.47358699
+23 32 s32/3 0.55497229
+23 32 s32/6 -1.72305845
+23 32 s32/8 -0.68055522
+23 32 s32/10 -1.40603980
+23 35 s35/1 2.43217815
+23 35 s35/3 1.81868240
+23 35 s35/6 1.35521393
+23 35 s35/8 1.59819911
+23 35 s35/10 1.11320850
+23 37 s37/1 0.86426451
+23 37 s37/3 0.87886432
+23 37 s37/6 -0.94603051
+23 37 s37/8 -0.65678748
+23 37 s37/10 0.39870196
+23 38 s38/1 1.39401574
+23 38 s38/3 1.19751336
+23 38 s38/6 1.29541383
+23 38 s38/8 1.43213431
+23 38 s38/10 0.69282310
+23 40 s40/1 1.12121739
+23 40 s40/3 1.86049035
+23 40 s40/6 1.29666542
+23 40 s40/8 0.93394001
+23 40 s40/10 0.90359420
+25 3 s3/1 2.10950624
+25 3 s3/3 2.08355593
+25 3 s3/6 2.25710651
+25 3 s3/8 2.74084647
+25 3 s3/10 1.98084416
+25 4 s4/1 5.67365121
+25 4 s4/3 4.84259007
+25 4 s4/6 2.69224050
+25 4 s4/8 4.90438456
+25 4 s4/10 3.27511880
+25 7 s7/1 -3.44173289
+25 7 s7/3 -3.24709830
+25 7 s7/6 -2.72777728
+25 7 s7/8 -2.58963877
+25 7 s7/10 -1.13976465
+25 8 s8/1 0.79042655
+25 8 s8/3 -0.34814650
+25 8 s8/6 -0.50311648
+25 8 s8/8 -0.33361781
+25 8 s8/10 -1.18926269
+25 9 s9/1 4.73019968
+25 9 s9/3 3.93120931
+25 9 s9/6 4.81455438
+25 9 s9/8 4.77940885
+25 9 s9/10 3.37845323
+25 13 s13/1 4.13014705
+25 13 s13/3 2.76396145
+25 13 s13/6 3.34158993
+25 13 s13/8 1.42251921
+25 13 s13/10 2.00710762
+25 15 s15/1 -2.03709119
+25 15 s15/3 -2.04141613
+25 15 s15/6 -1.90088832
+25 15 s15/8 0.40185313
+25 15 s15/10 7.69224021
+25 18 s18/1 3.05294207
+25 18 s18/3 4.03787347
+25 18 s18/6 3.46578373
+25 18 s18/8 4.87788854
+25 18 s18/10 4.68231062
+25 19 s19/1 -2.96964788
+25 19 s19/3 -1.73200410
+25 19 s19/6 -2.23905078
+25 19 s19/8 -3.30338995
+25 19 s19/10 -2.76460122
+25 22 s22/1 0.35324506
+25 22 s22/3 0.68379912
+25 22 s22/6 -1.30996297
+25 22 s22/8 -0.13643764
+25 22 s22/10 1.43193860
+25 23 s23/1 2.94389984
+25 23 s23/3 3.85577144
+25 23 s23/6 4.98058869
+25 23 s23/8 0.82763693
+25 23 s23/10 1.75918781
+25 25 s25/1 8.45854794
+25 25 s25/3 6.66541517
+25 25 s25/6 8.60732510
+25 25 s25/8 5.61310939
+25 25 s25/10 6.73339245
+25 28 s28/1 1.11451539
+25 28 s28/3 1.36598367
+25 28 s28/6 2.00687003
+25 28 s28/8 0.28539785
+25 28 s28/10 -0.38365250
+25 30 s30/1 2.40769119
+25 30 s30/3 3.13147834
+25 30 s30/6 1.83154945
+25 30 s30/8 1.26192820
+25 30 s30/10 2.33071108
+25 31 s31/1 6.23107529
+25 31 s31/3 4.49541538
+25 31 s31/6 5.02676804
+25 31 s31/8 6.28055115
+25 31 s31/10 4.63956339
+25 32 s32/1 -1.16359690
+25 32 s32/3 2.36252993
+25 32 s32/6 -3.65837572
+25 32 s32/8 -1.47794147
+25 32 s32/10 -3.98085127
+25 35 s35/1 6.77722694
+25 35 s35/3 6.14889709
+25 35 s35/6 3.87872311
+25 35 s35/8 4.70411156
+25 35 s35/10 3.43630916
+25 37 s37/1 2.02508349
+25 37 s37/3 1.66515816
+25 37 s37/6 -3.63550144
+25 37 s37/8 -2.67369065
+25 37 s37/10 -0.05713393
+25 38 s38/1 1.68961093
+25 38 s38/3 2.97710835
+25 38 s38/6 1.42905949
+25 38 s38/8 3.17407047
+25 38 s38/10 1.79704389
+25 40 s40/1 3.35836924
+25 40 s40/3 4.86859905
+25 40 s40/6 3.22565862
+25 40 s40/8 2.36466229
+25 40 s40/10 2.97309470
+28 3 s3/1 0.44557882
+28 3 s3/3 -0.05789320
+28 3 s3/6 0.64910537
+28 3 s3/8 -1.03865385
+28 3 s3/10 -0.64463651
+28 4 s4/1 -2.29927759
+28 4 s4/3 -1.80167414
+28 4 s4/6 0.46820240
+28 4 s4/8 -1.61115550
+28 4 s4/10 0.79020712
+28 7 s7/1 2.22917384
+28 7 s7/3 2.44793297
+28 7 s7/6 0.48153490
+28 7 s7/8 0.16731251
+28 7 s7/10 0.81422179
+28 8 s8/1 -0.25747924
+28 8 s8/3 0.73581652
+28 8 s8/6 0.24777803
+28 8 s8/8 0.82843832
+28 8 s8/10 0.72885857
+28 9 s9/1 -1.89148262
+28 9 s9/3 -1.76821096
+28 9 s9/6 -0.66038634
+28 9 s9/8 -0.89915111
+28 9 s9/10 -1.00776568
+28 13 s13/1 -1.15718096
+28 13 s13/3 -0.58893123
+28 13 s13/6 1.05875304
+28 13 s13/8 0.64143137
+28 13 s13/10 0.44717413
+28 15 s15/1 1.67342898
+28 15 s15/3 1.85610729
+28 15 s15/6 1.08929335
+28 15 s15/8 1.22454380
+28 15 s15/10 -2.77090006
+28 18 s18/1 0.38595101
+28 18 s18/3 0.63688406
+28 18 s18/6 -0.15165249
+28 18 s18/8 0.25670038
+28 18 s18/10 -0.27679024
+28 19 s19/1 0.77368986
+28 19 s19/3 0.43833210
+28 19 s19/6 -0.94075689
+28 19 s19/8 0.80294166
+28 19 s19/10 -0.25354454
+28 22 s22/1 0.89706626
+28 22 s22/3 0.73510065
+28 22 s22/6 0.28134282
+28 22 s22/8 0.74595845
+28 22 s22/10 -0.15157276
+28 23 s23/1 0.10415613
+28 23 s23/3 0.84356796
+28 23 s23/6 -0.22399488
+28 23 s23/8 0.21886776
+28 23 s23/10 0.70106557
+28 25 s25/1 -1.46969770
+28 25 s25/3 -0.87633515
+28 25 s25/6 -1.38827652
+28 25 s25/8 -0.53401843
+28 25 s25/10 -1.02657451
+28 28 s28/1 1.66719488
+28 28 s28/3 -0.44417281
+28 28 s28/6 1.14586570
+28 28 s28/8 1.40775861
+28 28 s28/10 -1.02328202
+28 30 s30/1 -0.28094112
+28 30 s30/3 -1.33859919
+28 30 s30/6 0.03565925
+28 30 s30/8 1.04623272
+28 30 s30/10 0.46015881
+28 31 s31/1 -1.97396815
+28 31 s31/3 1.48688128
+28 31 s31/6 -2.08502022
+28 31 s31/8 -2.11859371
+28 31 s31/10 2.26104696
+28 32 s32/1 2.51110334
+28 32 s32/3 1.28600007
+28 32 s32/6 3.68656927
+28 32 s32/8 3.76775608
+28 32 s32/10 4.17807000
+28 35 s35/1 0.01760985
+28 35 s35/3 -0.48111611
+28 35 s35/6 -1.26907915
+28 35 s35/8 -0.88043912
+28 35 s35/10 0.23739203
+28 37 s37/1 1.36780641
+28 37 s37/3 2.04326616
+28 37 s37/6 5.35564556
+28 37 s37/8 4.52529712
+28 37 s37/10 2.26105657
+28 38 s38/1 0.01649024
+28 38 s38/3 -1.56400313
+28 38 s38/6 -0.08178891
+28 38 s38/8 -1.08348184
+28 38 s38/10 -1.81030944
+28 40 s40/1 -0.89851465
+28 40 s40/3 -1.43881235
+28 40 s40/6 -0.07498321
+28 40 s40/8 -0.26878960
+28 40 s40/10 -0.96708118
+30 3 s3/1 -0.47170657
+30 3 s3/3 0.80868352
+30 3 s3/6 0.68843504
+30 3 s3/8 0.47748552
+30 3 s3/10 0.48279552
+30 4 s4/1 1.38266163
+30 4 s4/3 1.23929348
+30 4 s4/6 0.03981755
+30 4 s4/8 1.04071178
+30 4 s4/10 0.99877897
+30 7 s7/1 -0.95897978
+30 7 s7/3 -1.43213544
+30 7 s7/6 -1.81983352
+30 7 s7/8 -2.40587871
+30 7 s7/10 -0.01258109
+30 8 s8/1 0.14004953
+30 8 s8/3 -1.43652958
+30 8 s8/6 -1.55275364
+30 8 s8/8 -1.64391493
+30 8 s8/10 -2.27948784
+30 9 s9/1 0.58387974
+30 9 s9/3 0.17591426
+30 9 s9/6 1.18696937
+30 9 s9/8 1.05159854
+30 9 s9/10 1.36813725
+30 13 s13/1 -0.43475041
+30 13 s13/3 -0.10543433
+30 13 s13/6 0.85522411
+30 13 s13/8 -0.46563020
+30 13 s13/10 0.33377378
+30 15 s15/1 0.45215947
+30 15 s15/3 0.15965395
+30 15 s15/6 0.18348134
+30 15 s15/8 1.07544328
+30 15 s15/10 3.52243327
+30 18 s18/1 0.33924399
+30 18 s18/3 1.35069049
+30 18 s18/6 0.32003513
+30 18 s18/8 1.18657847
+30 18 s18/10 0.72097380
+30 19 s19/1 -3.69116624
+30 19 s19/3 -3.28162524
+30 19 s19/6 -5.14328532
+30 19 s19/8 -2.91110946
+30 19 s19/10 -4.51837032
+30 22 s22/1 1.36933584
+30 22 s22/3 1.91443369
+30 22 s22/6 -0.16500444
+30 22 s22/8 1.37522958
+30 22 s22/10 1.49754054
+30 23 s23/1 -0.06551355
+30 23 s23/3 0.98255675
+30 23 s23/6 1.33326450
+30 23 s23/8 0.51874831
+30 23 s23/10 -0.13383796
+30 25 s25/1 2.25779810
+30 25 s25/3 1.65478657
+30 25 s25/6 2.64062452
+30 25 s25/8 2.07875390
+30 25 s25/10 1.64414816
+30 28 s28/1 0.55242947
+30 28 s28/3 0.59524325
+30 28 s28/6 1.26893605
+30 28 s28/8 -0.42363808
+30 28 s28/10 -0.79863900
+30 30 s30/1 2.18788791
+30 30 s30/3 2.94458329
+30 30 s30/6 2.29976590
+30 30 s30/8 3.95064826
+30 30 s30/10 2.42576545
+30 31 s31/1 3.09986239
+30 31 s31/3 5.10235755
+30 31 s31/6 2.72258531
+30 31 s31/8 2.86838076
+30 31 s31/10 5.95095903
+30 32 s32/1 0.52192949
+30 32 s32/3 0.53245247
+30 32 s32/6 -1.90057400
+30 32 s32/8 -1.24253973
+30 32 s32/10 -1.23957138
+30 35 s35/1 2.46858721
+30 35 s35/3 2.13037540
+30 35 s35/6 1.14883078
+30 35 s35/8 1.11405625
+30 35 s35/10 2.34538943
+30 37 s37/1 0.42371048
+30 37 s37/3 0.72055620
+30 37 s37/6 0.84416372
+30 37 s37/8 0.09624175
+30 37 s37/10 -0.84486741
+30 38 s38/1 0.88928377
+30 38 s38/3 -0.72370594
+30 38 s38/6 0.43510458
+30 38 s38/8 0.33473529
+30 38 s38/10 -0.62534493
+30 40 s40/1 0.79668486
+30 40 s40/3 1.78385308
+30 40 s40/6 1.24030550
+30 40 s40/8 0.40110918
+30 40 s40/10 1.81807700
+31 3 s3/1 0.12005325
+31 3 s3/3 1.02864844
+31 3 s3/6 1.27426465
+31 3 s3/8 1.62237237
+31 3 s3/10 0.76980047
+31 4 s4/1 1.14180555
+31 4 s4/3 0.58758663
+31 4 s4/6 -1.10981324
+31 4 s4/8 0.60655320
+31 4 s4/10 0.93687921
+31 7 s7/1 -1.32177550
+31 7 s7/3 -1.25202039
+31 7 s7/6 -2.24800581
+31 7 s7/8 -3.62823390
+31 7 s7/10 0.92469683
+31 8 s8/1 0.62602170
+31 8 s8/3 -0.26812679
+31 8 s8/6 -0.87153961
+31 8 s8/8 0.02432832
+31 8 s8/10 -1.97474106
+31 9 s9/1 0.66314784
+31 9 s9/3 1.06036356
+31 9 s9/6 2.19840506
+31 9 s9/8 1.79779862
+31 9 s9/10 3.00915675
+31 13 s13/1 -3.59640126
+31 13 s13/3 -2.18940151
+31 13 s13/6 -0.31740674
+31 13 s13/8 -2.00890135
+31 13 s13/10 -1.73431239
+31 15 s15/1 1.37486934
+31 15 s15/3 1.01629411
+31 15 s15/6 0.66965018
+31 15 s15/8 3.25084421
+31 15 s15/10 7.14767937
+31 18 s18/1 -0.64776847
+31 18 s18/3 -0.65713044
+31 18 s18/6 -1.03395364
+31 18 s18/8 -0.02285022
+31 18 s18/10 -0.48502189
+31 19 s19/1 -4.15692882
+31 19 s19/3 -3.51691255
+31 19 s19/6 -6.11964166
+31 19 s19/8 -3.65478022
+31 19 s19/10 -5.52850879
+31 22 s22/1 3.27329393
+31 22 s22/3 4.18939367
+31 22 s22/6 -0.10302939
+31 22 s22/8 2.66763322
+31 22 s22/10 2.85073542
+31 23 s23/1 0.05156436
+31 23 s23/3 2.24804578
+31 23 s23/6 2.39728348
+31 23 s23/8 0.45098525
+31 23 s23/10 -0.35903724
+31 25 s25/1 3.28557939
+31 25 s25/3 2.98503344
+31 25 s25/6 4.60043205
+31 25 s25/8 4.03700101
+31 25 s25/10 1.69562773
+31 28 s28/1 -0.50463465
+31 28 s28/3 -1.47228009
+31 28 s28/6 0.62610131
+31 28 s28/8 -1.43433835
+31 28 s28/10 -3.36438092
+31 30 s30/1 3.01721630
+31 30 s30/3 3.51812048
+31 30 s30/6 2.96635848
+31 30 s30/8 4.82318229
+31 30 s30/10 3.42143669
+31 31 s31/1 6.99994537
+31 31 s31/3 13.15407979
+31 31 s31/6 6.94888837
+31 31 s31/8 6.84522483
+31 31 s31/10 14.29430450
+31 32 s32/1 0.03884037
+31 32 s32/3 1.91540930
+31 32 s32/6 -3.60325217
+31 32 s32/8 -3.29855376
+31 32 s32/10 -3.23875644
+31 35 s35/1 6.37533343
+31 35 s35/3 5.18327323
+31 35 s35/6 2.45818118
+31 35 s35/8 3.22205563
+31 35 s35/10 5.85292557
+31 37 s37/1 -0.96356797
+31 37 s37/3 -0.62712716
+31 37 s37/6 2.76508547
+31 37 s37/8 1.67356297
+31 37 s37/10 -2.71970779
+31 38 s38/1 0.69074592
+31 38 s38/3 -1.87811484
+31 38 s38/6 0.52382720
+31 38 s38/8 -0.90285846
+31 38 s38/10 -1.89301779
+31 40 s40/1 -0.80691079
+31 40 s40/3 2.28785128
+31 40 s40/6 0.17570244
+31 40 s40/8 -0.29583530
+31 40 s40/10 -0.09076511
+32 3 s3/1 0.35159077
+32 3 s3/3 -0.63456940
+32 3 s3/6 -0.76604593
+32 3 s3/8 -1.65919759
+32 3 s3/10 -0.86398114
+32 4 s4/1 -1.79898324
+32 4 s4/3 -1.32927532
+32 4 s4/6 -0.24977808
+32 4 s4/8 -1.48592583
+32 4 s4/10 0.47063885
+32 7 s7/1 1.68077350
+32 7 s7/3 2.17515389
+32 7 s7/6 1.95277903
+32 7 s7/8 1.73841668
+32 7 s7/10 1.38890226
+32 8 s8/1 -3.20956642
+32 8 s8/3 -3.38041480
+32 8 s8/6 -3.70438038
+32 8 s8/8 -2.71051455
+32 8 s8/10 -2.80487414
+32 9 s9/1 -2.65700126
+32 9 s9/3 -2.79748716
+32 9 s9/6 -2.33469026
+32 9 s9/8 -2.05104426
+32 9 s9/10 -1.79321750
+32 13 s13/1 1.19931299
+32 13 s13/3 1.22339664
+32 13 s13/6 1.85757689
+32 13 s13/8 1.28671597
+32 13 s13/10 1.20394193
+32 15 s15/1 1.22974092
+32 15 s15/3 1.54458383
+32 15 s15/6 1.52582960
+32 15 s15/8 0.49793926
+32 15 s15/10 -2.96215517
+32 18 s18/1 2.04666453
+32 18 s18/3 2.21453872
+32 18 s18/6 2.12340969
+32 18 s18/8 2.25210947
+32 18 s18/10 1.38719536
+32 19 s19/1 3.81792550
+32 19 s19/3 3.50437350
+32 19 s19/6 4.05727561
+32 19 s19/8 1.40241603
+32 19 s19/10 3.69464300
+32 22 s22/1 -0.44915358
+32 22 s22/3 -1.34059123
+32 22 s22/6 1.04977822
+32 22 s22/8 -0.82226625
+32 22 s22/10 -0.76465070
+32 23 s23/1 -1.23392386
+32 23 s23/3 0.16039408
+32 23 s23/6 -1.28454657
+32 23 s23/8 -0.97590221
+32 23 s23/10 -1.53418112
+32 25 s25/1 -1.15734758
+32 25 s25/3 -1.10077375
+32 25 s25/6 -1.28121286
+32 25 s25/8 -1.76046793
+32 25 s25/10 -1.46544590
+32 28 s28/1 0.20614386
+32 28 s28/3 -1.10357989
+32 28 s28/6 -0.67666585
+32 28 s28/8 0.68655708
+32 28 s28/10 0.07705141
+32 30 s30/1 -2.15843836
+32 30 s30/3 -2.73980501
+32 30 s30/6 -1.70054937
+32 30 s30/8 -0.73641338
+32 30 s30/10 -1.53909008
+32 31 s31/1 -4.35445273
+32 31 s31/3 -1.73794302
+32 31 s31/6 -3.69886515
+32 31 s31/8 -4.52998313
+32 31 s31/10 -1.09296166
+32 32 s32/1 4.03881700
+32 32 s32/3 3.70940356
+32 32 s32/6 6.42332465
+32 32 s32/8 7.25344221
+32 32 s32/10 6.89106798
+32 35 s35/1 -2.27268326
+32 35 s35/3 -0.87615388
+32 35 s35/6 -1.60963244
+32 35 s35/8 -0.70453931
+32 35 s35/10 0.40596483
+32 37 s37/1 1.78721932
+32 37 s37/3 2.01697684
+32 37 s37/6 2.10589671
+32 37 s37/8 1.52097545
+32 37 s37/10 2.47084998
+32 38 s38/1 -3.12389559
+32 38 s38/3 -2.14089822
+32 38 s38/6 -2.65174473
+32 38 s38/8 -2.01092762
+32 38 s38/10 -2.10017005
+32 40 s40/1 1.20714606
+32 40 s40/3 0.38663301
+32 40 s40/6 0.33835287
+32 40 s40/8 0.29862581
+32 40 s40/10 0.62836443
+35 3 s3/1 1.51561167
+35 3 s3/3 1.33812661
+35 3 s3/6 1.08311661
+35 3 s3/8 2.37637319
+35 3 s3/10 1.98440005
+35 4 s4/1 4.00038998
+35 4 s4/3 3.51702362
+35 4 s4/6 1.11300351
+35 4 s4/8 3.64691036
+35 4 s4/10 2.25919214
+35 7 s7/1 -2.67558135
+35 7 s7/3 -2.27743746
+35 7 s7/6 -1.75939958
+35 7 s7/8 -2.27005231
+35 7 s7/10 0.12584468
+35 8 s8/1 -0.84362291
+35 8 s8/3 -1.34596319
+35 8 s8/6 -1.58944960
+35 8 s8/8 -0.71773974
+35 8 s8/10 -2.15426757
+35 9 s9/1 2.84988343
+35 9 s9/3 2.13359013
+35 9 s9/6 3.34911792
+35 9 s9/8 3.12510600
+35 9 s9/10 2.49780289
+35 13 s13/1 2.52042040
+35 13 s13/3 1.80461558
+35 13 s13/6 1.81133297
+35 13 s13/8 1.00376020
+35 13 s13/10 1.14409693
+35 15 s15/1 -0.93472712
+35 15 s15/3 -1.20967423
+35 15 s15/6 -0.76110825
+35 15 s15/8 1.02231480
+35 15 s15/10 7.09691877
+35 18 s18/1 2.42373154
+35 18 s18/3 2.57398115
+35 18 s18/6 2.26306657
+35 18 s18/8 3.21307608
+35 18 s18/10 3.11714587
+35 19 s19/1 -1.64497948
+35 19 s19/3 -0.57115695
+35 19 s19/6 -1.49732617
+35 19 s19/8 -3.02476181
+35 19 s19/10 -1.68881658
+35 22 s22/1 1.61890203
+35 22 s22/3 2.05948905
+35 22 s22/6 -0.41919746
+35 22 s22/8 1.17219629
+35 22 s22/10 2.18559293
+35 23 s23/1 0.94168638
+35 23 s23/3 2.70298965
+35 23 s23/6 3.73634239
+35 23 s23/8 0.11725334
+35 23 s23/10 0.23705451
+35 25 s25/1 6.40681214
+35 25 s25/3 5.37679723
+35 25 s25/6 6.49531994
+35 25 s25/8 4.87677453
+35 25 s25/10 4.85833821
+35 28 s28/1 -0.34539112
+35 28 s28/3 0.53552435
+35 28 s28/6 0.40079428
+35 28 s28/8 -0.31742013
+35 28 s28/10 -0.67986854
+35 30 s30/1 1.83279806
+35 30 s30/3 2.64731310
+35 30 s30/6 1.37267333
+35 30 s30/8 1.62034368
+35 30 s30/10 1.74360104
+35 31 s31/1 5.58735155
+35 31 s31/3 6.36588591
+35 31 s31/6 5.20199426
+35 31 s31/8 5.68544347
+35 31 s31/10 6.24588853
+35 32 s32/1 -0.99453501
+35 32 s32/3 3.03245854
+35 32 s32/6 -3.74698461
+35 32 s32/8 -2.02823033
+35 32 s32/10 -3.70373903
+35 35 s35/1 6.45704252
+35 35 s35/3 6.06806590
+35 35 s35/6 4.03841850
+35 35 s35/8 4.91298773
+35 35 s35/10 5.44613965
+35 37 s37/1 0.88839755
+35 37 s37/3 0.51446319
+35 37 s37/6 -2.77389720
+35 37 s37/8 -1.93743319
+35 37 s37/10 -0.67540186
+35 38 s38/1 0.57476743
+35 38 s38/3 1.13816992
+35 38 s38/6 0.64087650
+35 38 s38/8 1.38880276
+35 38 s38/10 0.10701308
+35 40 s40/1 2.63853351
+35 40 s40/3 4.67027724
+35 40 s40/6 2.87429290
+35 40 s40/8 2.15018313
+35 40 s40/10 2.49627954
+37 3 s3/1 0.58256344
+37 3 s3/3 0.18831854
+37 3 s3/6 0.58134001
+37 3 s3/8 -0.55845372
+37 3 s3/10 -0.37968094
+37 4 s4/1 -1.76839521
+37 4 s4/3 -1.24024327
+37 4 s4/6 0.01884738
+37 4 s4/8 -1.41152177
+37 4 s4/10 0.44938655
+37 7 s7/1 1.11026758
+37 7 s7/3 1.36080357
+37 7 s7/6 0.12674490
+37 7 s7/8 -0.20265950
+37 7 s7/10 0.23627260
+37 8 s8/1 0.00645584
+37 8 s8/3 0.54276448
+37 8 s8/6 0.22896185
+37 8 s8/8 0.52787580
+37 8 s8/10 0.34488462
+37 9 s9/1 -1.25314790
+37 9 s9/3 -1.24405578
+37 9 s9/6 -0.33437696
+37 9 s9/8 -0.60709108
+37 9 s9/10 -0.68339474
+37 13 s13/1 -1.18661015
+37 13 s13/3 -0.62615515
+37 13 s13/6 0.44024626
+37 13 s13/8 0.05538406
+37 13 s13/10 -0.01184913
+37 15 s15/1 1.06564093
+37 15 s15/3 1.30071327
+37 15 s15/6 0.71725184
+37 15 s15/8 0.86749987
+37 15 s15/10 -1.40939223
+37 18 s18/1 -0.24097033
+37 18 s18/3 0.39360536
+37 18 s18/6 -0.43835428
+37 18 s18/8 0.17140357
+37 18 s18/10 -0.42002464
+37 19 s19/1 -0.17582033
+37 19 s19/3 -0.33611242
+37 19 s19/6 -1.47378029
+37 19 s19/8 0.24601713
+37 19 s19/10 -0.87164118
+37 22 s22/1 0.86087592
+37 22 s22/3 0.92489616
+37 22 s22/6 0.08252465
+37 22 s22/8 0.85878751
+37 22 s22/10 0.18247482
+37 23 s23/1 -0.23293415
+37 23 s23/3 0.57390828
+37 23 s23/6 -0.22474759
+37 23 s23/8 -0.08511014
+37 23 s23/10 0.26836114
+37 25 s25/1 -0.76000985
+37 25 s25/3 -0.39844787
+37 25 s25/6 -0.40997049
+37 25 s25/8 -0.57270450
+37 25 s25/10 -0.56756858
+37 28 s28/1 1.26940208
+37 28 s28/3 -0.28532628
+37 28 s28/6 1.03075551
+37 28 s28/8 0.48345870
+37 28 s28/10 -0.69148199
+37 30 s30/1 0.13856345
+37 30 s30/3 -0.50168222
+37 30 s30/6 0.49839496
+37 30 s30/8 1.29880269
+37 30 s30/10 0.60298464
+37 31 s31/1 -0.97648081
+37 31 s31/3 1.75126080
+37 31 s31/6 -0.84138922
+37 31 s31/8 -1.16065662
+37 31 s31/10 2.29238262
+37 32 s32/1 1.68746395
+37 32 s32/3 0.73103293
+37 32 s32/6 2.05003891
+37 32 s32/8 2.14035394
+37 32 s32/10 2.31869824
+37 35 s35/1 -0.21248832
+37 35 s35/3 -0.54762719
+37 35 s35/6 -0.93623393
+37 35 s35/8 -0.69814156
+37 35 s35/10 0.05132493
+37 37 s37/1 1.22218811
+37 37 s37/3 1.60177375
+37 37 s37/6 4.23599812
+37 37 s37/8 3.46718382
+37 37 s37/10 1.45681293
+37 38 s38/1 0.08887763
+37 38 s38/3 -1.34919162
+37 38 s38/6 -0.06821662
+37 38 s38/8 -0.52448005
+37 38 s38/10 -1.13257428
+37 40 s40/1 -1.20034476
+37 40 s40/3 -1.47237941
+37 40 s40/6 -0.30801995
+37 40 s40/8 -0.66476019
+37 40 s40/10 -0.62926694
+38 3 s3/1 1.20088334
+38 3 s3/3 2.05381709
+38 3 s3/6 0.68967068
+38 3 s3/8 1.49892580
+38 3 s3/10 1.08170361
+38 4 s4/1 1.64350464
+38 4 s4/3 1.89271725
+38 4 s4/6 0.84708049
+38 4 s4/8 1.34323869
+38 4 s4/10 0.01541648
+38 7 s7/1 -1.68889541
+38 7 s7/3 -1.69381532
+38 7 s7/6 -0.99894727
+38 7 s7/8 -0.39798474
+38 7 s7/10 -1.78899217
+38 8 s8/1 1.40716981
+38 8 s8/3 1.90032549
+38 8 s8/6 2.15357319
+38 8 s8/8 1.55357316
+38 8 s8/10 1.69966264
+38 9 s9/1 2.58183585
+38 9 s9/3 2.58559909
+38 9 s9/6 1.73449320
+38 9 s9/8 1.77954436
+38 9 s9/10 0.35545367
+38 13 s13/1 2.06725597
+38 13 s13/3 0.72239507
+38 13 s13/6 0.52188341
+38 13 s13/8 0.35215903
+38 13 s13/10 0.18197813
+38 15 s15/1 -0.88775766
+38 15 s15/3 -0.24127602
+38 15 s15/6 -0.52544286
+38 15 s15/8 -0.06216808
+38 15 s15/10 1.80910807
+38 18 s18/1 -0.31976156
+38 18 s18/3 0.26753783
+38 18 s18/6 0.00043219
+38 18 s18/8 0.41597015
+38 18 s18/10 0.56004050
+38 19 s19/1 -0.34887359
+38 19 s19/3 -0.35743809
+38 19 s19/6 1.33424860
+38 19 s19/8 -0.06542102
+38 19 s19/10 1.11368704
+38 22 s22/1 0.51898254
+38 22 s22/3 0.64500970
+38 22 s22/6 -0.59031152
+38 22 s22/8 0.91682306
+38 22 s22/10 0.85292414
+38 23 s23/1 1.14267710
+38 23 s23/3 0.23863795
+38 23 s23/6 1.52912659
+38 23 s23/8 0.12363643
+38 23 s23/10 1.34599114
+38 25 s25/1 1.45262399
+38 25 s25/3 1.19272950
+38 25 s25/6 1.26418956
+38 25 s25/8 1.06242779
+38 25 s25/10 0.99290345
+38 28 s28/1 0.66083160
+38 28 s28/3 1.55821102
+38 28 s28/6 0.74624455
+38 28 s28/8 1.00767085
+38 28 s28/10 0.29067028
+38 30 s30/1 0.45355097
+38 30 s30/3 0.57011105
+38 30 s30/6 0.35449644
+38 30 s30/8 -1.29210348
+38 30 s30/10 0.61041384
+38 31 s31/1 1.72054024
+38 31 s31/3 -1.40363188
+38 31 s31/6 1.22094730
+38 31 s31/8 1.92014565
+38 31 s31/10 -2.43176826
+38 32 s32/1 -2.92993754
+38 32 s32/3 -1.02056979
+38 32 s32/6 -2.59900866
+38 32 s32/8 -1.94281348
+38 32 s32/10 -2.82627470
+38 35 s35/1 1.21471226
+38 35 s35/3 0.88092923
+38 35 s35/6 0.63210192
+38 35 s35/8 0.41829240
+38 35 s35/10 -1.13285494
+38 37 s37/1 0.49197866
+38 37 s37/3 0.36311277
+38 37 s37/6 -1.66262709
+38 37 s37/8 -0.24623286
+38 37 s37/10 0.15647107
+38 38 s38/1 2.21881583
+38 38 s38/3 4.04768644
+38 38 s38/6 1.73580008
+38 38 s38/8 2.44377849
+38 38 s38/10 3.20263497
+38 40 s40/1 0.59623207
+38 40 s40/3 -0.16959524
+38 40 s40/6 1.15553086
+38 40 s40/8 0.97460891
+38 40 s40/10 1.13497059
+40 3 s3/1 1.82525366
+40 3 s3/3 1.88011376
+40 3 s3/6 1.10352547
+40 3 s3/8 1.83986781
+40 3 s3/10 1.90499412
+40 4 s4/1 4.50665375
+40 4 s4/3 4.01499641
+40 4 s4/6 1.62112818
+40 4 s4/8 4.02789400
+40 4 s4/10 1.80905526
+40 7 s7/1 -2.34683653
+40 7 s7/3 -1.79915165
+40 7 s7/6 -1.11085444
+40 7 s7/8 -1.15597157
+40 7 s7/10 0.13986808
+40 8 s8/1 -1.25230883
+40 8 s8/3 -1.52804949
+40 8 s8/6 -1.61038951
+40 8 s8/8 -1.45668349
+40 8 s8/10 -1.91200673
+40 9 s9/1 3.60620134
+40 9 s9/3 2.90986290
+40 9 s9/6 2.93635890
+40 9 s9/8 3.58666385
+40 9 s9/10 1.94235423
+40 13 s13/1 3.87750056
+40 13 s13/3 2.41751564
+40 13 s13/6 3.04369951
+40 13 s13/8 1.52346814
+40 13 s13/10 1.85933901
+40 15 s15/1 -0.39945219
+40 15 s15/3 -0.13683972
+40 15 s15/6 0.07414757
+40 15 s15/8 1.25365050
+40 15 s15/10 6.17151462
+40 18 s18/1 2.67857475
+40 18 s18/3 3.66075417
+40 18 s18/6 3.16944692
+40 18 s18/8 4.06220007
+40 18 s18/10 3.71136005
+40 19 s19/1 -0.12375713
+40 19 s19/3 0.50499007
+40 19 s19/6 1.33505840
+40 19 s19/8 -2.31070978
+40 19 s19/10 0.39070083
+40 22 s22/1 0.28708598
+40 22 s22/3 0.48180240
+40 22 s22/6 -1.18087100
+40 22 s22/8 0.31436715
+40 22 s22/10 1.05830870
+40 23 s23/1 1.85607315
+40 23 s23/3 3.46209312
+40 23 s23/6 4.23705320
+40 23 s23/8 0.32664371
+40 23 s23/10 0.96588601
+40 25 s25/1 5.84321111
+40 25 s25/3 4.97018077
+40 25 s25/6 5.74057487
+40 25 s25/8 4.70503925
+40 25 s25/10 4.15432920
+40 28 s28/1 0.43610666
+40 28 s28/3 0.97417104
+40 28 s28/6 0.81649323
+40 28 s28/8 0.93214483
+40 28 s28/10 -1.02296154
+40 30 s30/1 1.58311933
+40 30 s30/3 1.95596545
+40 30 s30/6 0.79311632
+40 30 s30/8 0.46886780
+40 30 s30/10 1.69149557
+40 31 s31/1 4.41622901
+40 31 s31/3 3.40331167
+40 31 s31/6 3.77518926
+40 31 s31/8 4.54775619
+40 31 s31/10 3.80807491
+40 32 s32/1 -0.10387150
+40 32 s32/3 3.33038657
+40 32 s32/6 -2.05924067
+40 32 s32/8 0.72470796
+40 32 s32/10 -1.63365830
+40 35 s35/1 5.54674624
+40 35 s35/3 5.57024899
+40 35 s35/6 2.99768199
+40 35 s35/8 3.96713457
+40 35 s35/10 4.70364363
+40 37 s37/1 1.93099794
+40 37 s37/3 1.83794335
+40 37 s37/6 -2.59211198
+40 37 s37/8 -1.36408507
+40 37 s37/10 0.55248086
+40 38 s38/1 0.98037636
+40 38 s38/3 2.96084840
+40 38 s38/6 0.96641049
+40 38 s38/8 1.87717245
+40 38 s38/10 1.28755687
+40 40 s40/1 3.66199302
+40 40 s40/3 5.07978906
+40 40 s40/6 3.76205421
+40 40 s40/8 3.48506110
+40 40 s40/10 3.84439003
diff --git a/bob/bio/gmm/test/data/scores-ztnorm-isv-dev b/bob/bio/gmm/test/data/scores-ztnorm-isv-dev
new file mode 100644
index 0000000..8210202
--- /dev/null
+++ b/bob/bio/gmm/test/data/scores-ztnorm-isv-dev
@@ -0,0 +1,2000 @@
+3 3 s3/1 1.27796116
+3 3 s3/3 1.82072037
+3 3 s3/6 0.10584301
+3 3 s3/8 1.76499010
+3 3 s3/10 1.46578240
+3 4 s4/1 0.40065256
+3 4 s4/3 0.79853082
+3 4 s4/6 -0.51473958
+3 4 s4/8 0.27883385
+3 4 s4/10 -0.38135237
+3 7 s7/1 -1.09553501
+3 7 s7/3 -1.14473132
+3 7 s7/6 -0.91204789
+3 7 s7/8 -0.64592276
+3 7 s7/10 -1.39324764
+3 8 s8/1 0.50179828
+3 8 s8/3 0.26670868
+3 8 s8/6 0.30402151
+3 8 s8/8 0.22770373
+3 8 s8/10 0.09002110
+3 9 s9/1 1.06171919
+3 9 s9/3 1.00146621
+3 9 s9/6 0.78777057
+3 9 s9/8 0.28829231
+3 9 s9/10 0.06210179
+3 13 s13/1 0.84256910
+3 13 s13/3 -0.16451735
+3 13 s13/6 0.02446593
+3 13 s13/8 -0.86899699
+3 13 s13/10 -0.72823615
+3 15 s15/1 -1.27434871
+3 15 s15/3 -1.07420223
+3 15 s15/6 -1.17523907
+3 15 s15/8 -1.18295050
+3 15 s15/10 0.63822478
+3 18 s18/1 -0.09281994
+3 18 s18/3 -0.39001359
+3 18 s18/6 -0.35975961
+3 18 s18/8 -0.09504707
+3 18 s18/10 0.19115281
+3 19 s19/1 -0.08703325
+3 19 s19/3 -0.12615380
+3 19 s19/6 0.65802132
+3 19 s19/8 -0.49929795
+3 19 s19/10 0.57843250
+3 22 s22/1 -0.18988731
+3 22 s22/3 -0.04859968
+3 22 s22/6 -0.54001083
+3 22 s22/8 -0.28805747
+3 22 s22/10 0.00886430
+3 23 s23/1 -0.18779359
+3 23 s23/3 -0.62648633
+3 23 s23/6 0.48459513
+3 23 s23/8 -0.81456789
+3 23 s23/10 -0.14209639
+3 25 s25/1 0.41887087
+3 25 s25/3 0.34076556
+3 25 s25/6 0.54995012
+3 25 s25/8 0.45848517
+3 25 s25/10 0.61739778
+3 28 s28/1 -1.11930946
+3 28 s28/3 0.64453237
+3 28 s28/6 -1.35263456
+3 28 s28/8 -0.33750533
+3 28 s28/10 0.60781155
+3 30 s30/1 -0.17971670
+3 30 s30/3 0.23478483
+3 30 s30/6 -0.72878797
+3 30 s30/8 -1.23563502
+3 30 s30/10 -0.36559876
+3 31 s31/1 0.61203742
+3 31 s31/3 -0.42291861
+3 31 s31/6 0.69761641
+3 31 s31/8 0.68562153
+3 31 s31/10 -0.65046734
+3 32 s32/1 -1.24929912
+3 32 s32/3 -0.67267028
+3 32 s32/6 -0.73049683
+3 32 s32/8 -0.74188430
+3 32 s32/10 -0.99503251
+3 35 s35/1 0.24974405
+3 35 s35/3 -0.03167662
+3 35 s35/6 0.90029928
+3 35 s35/8 0.85334310
+3 35 s35/10 -0.81203155
+3 37 s37/1 -0.34952710
+3 37 s37/3 -0.70772005
+3 37 s37/6 -1.12792737
+3 37 s37/8 -0.99157418
+3 37 s37/10 -0.38147893
+3 38 s38/1 0.27855837
+3 38 s38/3 1.34771564
+3 38 s38/6 0.29489319
+3 38 s38/8 1.15516956
+3 38 s38/10 1.17688504
+3 40 s40/1 0.10759230
+3 40 s40/3 -0.15151494
+3 40 s40/6 0.10155783
+3 40 s40/8 0.23009588
+3 40 s40/10 0.26720514
+4 3 s3/1 -0.90211630
+4 3 s3/3 -0.42097147
+4 3 s3/6 -0.19922158
+4 3 s3/8 -0.19287434
+4 3 s3/10 0.35069921
+4 4 s4/1 0.68429919
+4 4 s4/3 0.68162037
+4 4 s4/6 1.41434115
+4 4 s4/8 0.89792560
+4 4 s4/10 1.63227203
+4 7 s7/1 -0.62076457
+4 7 s7/3 -0.55090068
+4 7 s7/6 -0.55498385
+4 7 s7/8 -0.58007232
+4 7 s7/10 -0.54330345
+4 8 s8/1 -0.28299686
+4 8 s8/3 -0.33538946
+4 8 s8/6 -0.31753891
+4 8 s8/8 -0.33897333
+4 8 s8/10 -0.30870056
+4 9 s9/1 0.43626392
+4 9 s9/3 0.17853892
+4 9 s9/6 0.83683865
+4 9 s9/8 0.73554824
+4 9 s9/10 0.47484747
+4 13 s13/1 0.19458060
+4 13 s13/3 0.53081232
+4 13 s13/6 -0.07588326
+4 13 s13/8 -0.04339623
+4 13 s13/10 0.17018434
+4 15 s15/1 -1.03604383
+4 15 s15/3 -1.15065362
+4 15 s15/6 -1.17382857
+4 15 s15/8 -1.07863070
+4 15 s15/10 0.25776201
+4 18 s18/1 0.35510790
+4 18 s18/3 0.63706032
+4 18 s18/6 0.52891255
+4 18 s18/8 0.69970794
+4 18 s18/10 0.85829519
+4 19 s19/1 -1.14613201
+4 19 s19/3 -1.05265173
+4 19 s19/6 -1.27682917
+4 19 s19/8 -0.85769826
+4 19 s19/10 -1.28199297
+4 22 s22/1 -0.65236691
+4 22 s22/3 -0.45384535
+4 22 s22/6 -0.85057306
+4 22 s22/8 -0.62448496
+4 22 s22/10 -0.66507769
+4 23 s23/1 0.36231687
+4 23 s23/3 0.73493796
+4 23 s23/6 0.47222401
+4 23 s23/8 0.09496270
+4 23 s23/10 0.27020069
+4 25 s25/1 1.03702601
+4 25 s25/3 1.05776878
+4 25 s25/6 0.96275645
+4 25 s25/8 0.38303127
+4 25 s25/10 1.30517518
+4 28 s28/1 0.25411991
+4 28 s28/3 0.40840719
+4 28 s28/6 1.16160763
+4 28 s28/8 -0.43080872
+4 28 s28/10 0.55753518
+4 30 s30/1 0.59688295
+4 30 s30/3 0.63890377
+4 30 s30/6 0.57202425
+4 30 s30/8 0.28892634
+4 30 s30/10 0.06652434
+4 31 s31/1 0.36072461
+4 31 s31/3 0.04565025
+4 31 s31/6 0.20468162
+4 31 s31/8 0.34142151
+4 31 s31/10 -0.00827981
+4 32 s32/1 -0.58809003
+4 32 s32/3 -0.65507484
+4 32 s32/6 -0.63943582
+4 32 s32/8 -0.59132961
+4 32 s32/10 -0.55787267
+4 35 s35/1 0.38510232
+4 35 s35/3 0.14655454
+4 35 s35/6 0.46888787
+4 35 s35/8 0.23817682
+4 35 s35/10 -0.35949170
+4 37 s37/1 0.34120880
+4 37 s37/3 -0.03380872
+4 37 s37/6 -0.53298722
+4 37 s37/8 -0.74822255
+4 37 s37/10 -0.48242861
+4 38 s38/1 0.00218344
+4 38 s38/3 -0.30474059
+4 38 s38/6 -0.17431053
+4 38 s38/8 0.74844239
+4 38 s38/10 -0.13717176
+4 40 s40/1 0.15099243
+4 40 s40/3 0.46685685
+4 40 s40/6 0.19885851
+4 40 s40/8 -0.29753412
+4 40 s40/10 -0.07931457
+7 3 s3/1 -0.63835639
+7 3 s3/3 -1.96421757
+7 3 s3/6 -0.73818048
+7 3 s3/8 -1.40105591
+7 3 s3/10 -0.83358868
+7 4 s4/1 -0.98869321
+7 4 s4/3 -1.44154279
+7 4 s4/6 -0.91420834
+7 4 s4/8 -1.04326358
+7 4 s4/10 -1.27416885
+7 7 s7/1 2.17267552
+7 7 s7/3 2.11046020
+7 7 s7/6 2.36268613
+7 7 s7/8 2.36181835
+7 7 s7/10 2.44520704
+7 8 s8/1 -0.10474796
+7 8 s8/3 0.16108883
+7 8 s8/6 0.04037864
+7 8 s8/8 0.41456253
+7 8 s8/10 0.62420439
+7 9 s9/1 -1.21143615
+7 9 s9/3 -1.06350631
+7 9 s9/6 -1.57317379
+7 9 s9/8 -1.45641614
+7 9 s9/10 -1.36917519
+7 13 s13/1 -0.72174633
+7 13 s13/3 -0.19870597
+7 13 s13/6 -1.57442767
+7 13 s13/8 0.05687264
+7 13 s13/10 -0.07007682
+7 15 s15/1 1.47818903
+7 15 s15/3 1.40182522
+7 15 s15/6 1.50033610
+7 15 s15/8 0.71503580
+7 15 s15/10 -1.55630368
+7 18 s18/1 -0.53267496
+7 18 s18/3 -0.73415072
+7 18 s18/6 -0.00077178
+7 18 s18/8 -0.89424376
+7 18 s18/10 -0.88450145
+7 19 s19/1 1.33448721
+7 19 s19/3 1.23915198
+7 19 s19/6 0.82579940
+7 19 s19/8 1.40530292
+7 19 s19/10 0.81704049
+7 22 s22/1 -0.65941314
+7 22 s22/3 -0.92637129
+7 22 s22/6 0.80779081
+7 22 s22/8 -0.72394099
+7 22 s22/10 -0.60945755
+7 23 s23/1 -0.28719173
+7 23 s23/3 -0.03924569
+7 23 s23/6 -1.50414374
+7 23 s23/8 0.16367020
+7 23 s23/10 -0.07223971
+7 25 s25/1 -1.66057829
+7 25 s25/3 -1.64477213
+7 25 s25/6 -1.69654438
+7 25 s25/8 -1.55353727
+7 25 s25/10 -1.65735083
+7 28 s28/1 0.04725485
+7 28 s28/3 -1.37784351
+7 28 s28/6 -0.83112770
+7 28 s28/8 0.93195690
+7 28 s28/10 0.28248862
+7 30 s30/1 -1.33067777
+7 30 s30/3 -1.31924438
+7 30 s30/6 -0.97536136
+7 30 s30/8 0.11666041
+7 30 s30/10 -1.49489652
+7 31 s31/1 -1.34573051
+7 31 s31/3 -0.54363296
+7 31 s31/6 -0.99278693
+7 31 s31/8 -1.34804251
+7 31 s31/10 -0.49175214
+7 32 s32/1 1.43606185
+7 32 s32/3 0.05722358
+7 32 s32/6 1.50313540
+7 32 s32/8 1.12105568
+7 32 s32/10 1.48980875
+7 35 s35/1 -1.86006682
+7 35 s35/3 -0.99276701
+7 35 s35/6 -1.64028857
+7 35 s35/8 -1.73902784
+7 35 s35/10 0.05632715
+7 37 s37/1 0.48437174
+7 37 s37/3 0.48436476
+7 37 s37/6 0.92398881
+7 37 s37/8 0.65823711
+7 37 s37/10 0.77720914
+7 38 s38/1 -0.96189360
+7 38 s38/3 -0.90017066
+7 38 s38/6 -0.54721809
+7 38 s38/8 -1.48984147
+7 38 s38/10 -0.69525810
+7 40 s40/1 -0.62242707
+7 40 s40/3 -0.69597784
+7 40 s40/6 -1.78854190
+7 40 s40/8 -0.97938789
+7 40 s40/10 -1.04625953
+8 3 s3/1 0.74438756
+8 3 s3/3 -0.14089763
+8 3 s3/6 1.76096403
+8 3 s3/8 1.18059408
+8 3 s3/10 -0.16087696
+8 4 s4/1 -0.36715452
+8 4 s4/3 -0.47898071
+8 4 s4/6 -0.33357326
+8 4 s4/8 -0.63809459
+8 4 s4/10 -1.43294433
+8 7 s7/1 0.25258151
+8 7 s7/3 0.11615882
+8 7 s7/6 -0.01989235
+8 7 s7/8 0.11398888
+8 7 s7/10 -0.38746480
+8 8 s8/1 2.46305661
+8 8 s8/3 2.32938027
+8 8 s8/6 2.35450772
+8 8 s8/8 2.22899866
+8 8 s8/10 2.24713853
+8 9 s9/1 0.60044868
+8 9 s9/3 0.95211854
+8 9 s9/6 0.90370570
+8 9 s9/8 0.15185278
+8 9 s9/10 0.81646462
+8 13 s13/1 -1.27570015
+8 13 s13/3 -1.67379755
+8 13 s13/6 -1.91202618
+8 13 s13/8 -1.31247429
+8 13 s13/10 -1.92936697
+8 15 s15/1 -0.18214960
+8 15 s15/3 -0.19423629
+8 15 s15/6 -0.39563825
+8 15 s15/8 -0.09870644
+8 15 s15/10 -0.26791426
+8 18 s18/1 -1.83815217
+8 18 s18/3 -2.09398473
+8 18 s18/6 -2.00854716
+8 18 s18/8 -2.24298927
+8 18 s18/10 -1.93212602
+8 19 s19/1 -0.26974164
+8 19 s19/3 -0.45382848
+8 19 s19/6 -0.11634814
+8 19 s19/8 0.62195014
+8 19 s19/10 -0.07020284
+8 22 s22/1 0.08754703
+8 22 s22/3 0.28935150
+8 22 s22/6 0.08441166
+8 22 s22/8 0.02463633
+8 22 s22/10 0.05057092
+8 23 s23/1 1.38275460
+8 23 s23/3 -0.12763973
+8 23 s23/6 -0.34634715
+8 23 s23/8 1.35918709
+8 23 s23/10 1.72710934
+8 25 s25/1 -0.64323805
+8 25 s25/3 -0.67442459
+8 25 s25/6 -0.44023372
+8 25 s25/8 -0.35696560
+8 25 s25/10 -0.31720290
+8 28 s28/1 -0.11431558
+8 28 s28/3 0.65764154
+8 28 s28/6 -0.09868513
+8 28 s28/8 -0.82588036
+8 28 s28/10 -0.21304667
+8 30 s30/1 0.61679776
+8 30 s30/3 0.36503895
+8 30 s30/6 0.59479065
+8 30 s30/8 -0.06364306
+8 30 s30/10 0.35899659
+8 31 s31/1 0.50445416
+8 31 s31/3 -0.06709728
+8 31 s31/6 0.71616937
+8 31 s31/8 0.49967653
+8 31 s31/10 -0.06115627
+8 32 s32/1 -0.48218167
+8 32 s32/3 -2.04370300
+8 32 s32/6 -0.39112792
+8 32 s32/8 -0.82908079
+8 32 s32/10 -0.60705422
+8 35 s35/1 -0.54770936
+8 35 s35/3 -0.68571235
+8 35 s35/6 -0.20608767
+8 35 s35/8 -0.36688824
+8 35 s35/10 -1.33721721
+8 37 s37/1 -1.68729830
+8 37 s37/3 -1.56560695
+8 37 s37/6 0.21956641
+8 37 s37/8 0.18732764
+8 37 s37/10 -0.62653054
+8 38 s38/1 1.70346478
+8 38 s38/3 0.35556813
+8 38 s38/6 2.00424475
+8 38 s38/8 0.50033231
+8 38 s38/10 0.69455416
+8 40 s40/1 -2.09176412
+8 40 s40/3 -1.71213440
+8 40 s40/6 -2.07659539
+8 40 s40/8 -2.05099193
+8 40 s40/10 -1.82283516
+9 3 s3/1 -0.24187995
+9 3 s3/3 -0.67609926
+9 3 s3/6 0.01592437
+9 3 s3/8 0.06010107
+9 3 s3/10 -0.08889726
+9 4 s4/1 0.87215281
+9 4 s4/3 0.70199937
+9 4 s4/6 0.76220840
+9 4 s4/8 0.76014476
+9 4 s4/10 -0.13084590
+9 7 s7/1 -0.73131545
+9 7 s7/3 -0.61424199
+9 7 s7/6 -0.71659026
+9 7 s7/8 -0.72643809
+9 7 s7/10 -0.62446435
+9 8 s8/1 0.38829310
+9 8 s8/3 0.44265457
+9 8 s8/6 0.49387559
+9 8 s8/8 0.33276715
+9 8 s8/10 0.43858544
+9 9 s9/1 1.11947130
+9 9 s9/3 1.18040236
+9 9 s9/6 1.05224567
+9 9 s9/8 1.16196000
+9 9 s9/10 0.98179485
+9 13 s13/1 -0.04029822
+9 13 s13/3 -0.21587068
+9 13 s13/6 -0.12867076
+9 13 s13/8 -0.52216893
+9 13 s13/10 -0.53180153
+9 15 s15/1 -0.91860609
+9 15 s15/3 -0.99471526
+9 15 s15/6 -1.02686436
+9 15 s15/8 -0.78606289
+9 15 s15/10 0.48508724
+9 18 s18/1 -0.25139280
+9 18 s18/3 -0.18755972
+9 18 s18/6 -0.22597353
+9 18 s18/8 -0.28844634
+9 18 s18/10 -0.15609965
+9 19 s19/1 -0.62209664
+9 19 s19/3 -0.60953354
+9 19 s19/6 -0.36011615
+9 19 s19/8 -0.60023771
+9 19 s19/10 -0.56501811
+9 22 s22/1 -1.03251256
+9 22 s22/3 -0.71785586
+9 22 s22/6 -1.41107116
+9 22 s22/8 -0.96794587
+9 22 s22/10 -1.01797940
+9 23 s23/1 1.28340647
+9 23 s23/3 1.19229040
+9 23 s23/6 0.86259545
+9 23 s23/8 0.63055989
+9 23 s23/10 0.69620006
+9 25 s25/1 0.84174235
+9 25 s25/3 0.85332066
+9 25 s25/6 0.79844399
+9 25 s25/8 0.46201518
+9 25 s25/10 0.91951114
+9 28 s28/1 -0.51301056
+9 28 s28/3 -0.08951523
+9 28 s28/6 -0.00193863
+9 28 s28/8 -0.79288835
+9 28 s28/10 -0.73190124
+9 30 s30/1 0.53145493
+9 30 s30/3 0.45765015
+9 30 s30/6 0.14108663
+9 30 s30/8 -0.41795542
+9 30 s30/10 -0.00766263
+9 31 s31/1 0.78597084
+9 31 s31/3 -0.18350124
+9 31 s31/6 0.68272848
+9 31 s31/8 0.76477682
+9 31 s31/10 -0.09715530
+9 32 s32/1 -0.70893529
+9 32 s32/3 -0.76749056
+9 32 s32/6 -0.92079210
+9 32 s32/8 -0.76136149
+9 32 s32/10 -0.90731958
+9 35 s35/1 0.41936292
+9 35 s35/3 0.40790993
+9 35 s35/6 0.42357189
+9 35 s35/8 0.62577045
+9 35 s35/10 -0.36171915
+9 37 s37/1 -0.73441976
+9 37 s37/3 -0.91418539
+9 37 s37/6 -0.76687438
+9 37 s37/8 -0.84455191
+9 37 s37/10 -0.78432490
+9 38 s38/1 0.55077894
+9 38 s38/3 0.24526965
+9 38 s38/6 0.61158684
+9 38 s38/8 0.66561079
+9 38 s38/10 0.32012196
+9 40 s40/1 -0.35234276
+9 40 s40/3 0.25665960
+9 40 s40/6 -0.18768168
+9 40 s40/8 -0.23757270
+9 40 s40/10 -0.36274374
+13 3 s3/1 0.65488428
+13 3 s3/3 -0.27575414
+13 3 s3/6 -1.67201973
+13 3 s3/8 -1.38037644
+13 3 s3/10 -0.65161994
+13 4 s4/1 0.35097399
+13 4 s4/3 0.50598351
+13 4 s4/6 0.51981458
+13 4 s4/8 0.58695937
+13 4 s4/10 -0.72941109
+13 7 s7/1 -0.49336347
+13 7 s7/3 -0.51704915
+13 7 s7/6 -0.32878721
+13 7 s7/8 -0.13893937
+13 7 s7/10 -0.55315899
+13 8 s8/1 -1.63547412
+13 8 s8/3 -1.21534003
+13 8 s8/6 -1.12427243
+13 8 s8/8 -1.20949769
+13 8 s8/10 -1.13761724
+13 9 s9/1 0.08969782
+13 9 s9/3 -0.36844437
+13 9 s9/6 -0.76269264
+13 9 s9/8 -0.05685169
+13 9 s9/10 -1.72118313
+13 13 s13/1 2.06132911
+13 13 s13/3 2.14707502
+13 13 s13/6 1.60769700
+13 13 s13/8 2.12863732
+13 13 s13/10 2.37550005
+13 15 s15/1 -0.55550310
+13 15 s15/3 -0.46300321
+13 15 s15/6 -0.20741232
+13 15 s15/8 -1.32198141
+13 15 s15/10 -0.27095521
+13 18 s18/1 0.87961127
+13 18 s18/3 1.50122205
+13 18 s18/6 1.05554786
+13 18 s18/8 1.30153460
+13 18 s18/10 1.08720101
+13 19 s19/1 0.52813749
+13 19 s19/3 0.78607904
+13 19 s19/6 0.76342944
+13 19 s19/8 -0.15823447
+13 19 s19/10 0.68093783
+13 22 s22/1 0.30311344
+13 22 s22/3 -0.02996266
+13 22 s22/6 0.34177079
+13 22 s22/8 0.36854898
+13 22 s22/10 0.79222297
+13 23 s23/1 -1.12159128
+13 23 s23/3 -1.69792992
+13 23 s23/6 0.41264887
+13 23 s23/8 -2.52198456
+13 23 s23/10 -0.84029333
+13 25 s25/1 0.30868411
+13 25 s25/3 0.14990191
+13 25 s25/6 0.03711465
+13 25 s25/8 -0.14847236
+13 25 s25/10 0.25232673
+13 28 s28/1 0.45382176
+13 28 s28/3 0.57043437
+13 28 s28/6 0.10525799
+13 28 s28/8 -0.14858677
+13 28 s28/10 1.05647521
+13 30 s30/1 -1.52081022
+13 30 s30/3 -0.96604364
+13 30 s30/6 -1.52117468
+13 30 s30/8 -1.37538176
+13 30 s30/10 -1.39849994
+13 31 s31/1 -0.85558482
+13 31 s31/3 -1.63296460
+13 31 s31/6 -1.48083157
+13 31 s31/8 -0.73584878
+13 31 s31/10 -1.76654109
+13 32 s32/1 -0.25932177
+13 32 s32/3 0.56074681
+13 32 s32/6 -0.07152530
+13 32 s32/8 0.18394646
+13 32 s32/10 -0.07764431
+13 35 s35/1 0.04034766
+13 35 s35/3 -0.28084136
+13 35 s35/6 -0.03779120
+13 35 s35/8 -0.29823560
+13 35 s35/10 -0.96980184
+13 37 s37/1 0.69550916
+13 37 s37/3 0.57287116
+13 37 s37/6 -0.85004886
+13 37 s37/8 -0.43911779
+13 37 s37/10 0.77242064
+13 38 s38/1 -0.45913707
+13 38 s38/3 1.14672632
+13 38 s38/6 -0.84937231
+13 38 s38/8 0.44182987
+13 38 s38/10 0.62609869
+13 40 s40/1 1.52866478
+13 40 s40/3 0.50738512
+13 40 s40/6 1.81114278
+13 40 s40/8 1.97925455
+13 40 s40/10 1.84622648
+15 3 s3/1 -1.02977350
+15 3 s3/3 0.22817178
+15 3 s3/6 -0.57310869
+15 3 s3/8 0.31162887
+15 3 s3/10 -0.50109875
+15 4 s4/1 0.71939153
+15 4 s4/3 0.48790849
+15 4 s4/6 -1.17362816
+15 4 s4/8 0.55411768
+15 4 s4/10 -1.04748756
+15 7 s7/1 -0.71951766
+15 7 s7/3 -0.74232678
+15 7 s7/6 -0.64639105
+15 7 s7/8 -0.68424162
+15 7 s7/10 -0.34308023
+15 8 s8/1 0.03885455
+15 8 s8/3 -0.40758363
+15 8 s8/6 -0.35184817
+15 8 s8/8 -0.65764123
+15 8 s8/10 -0.60026861
+15 9 s9/1 0.44734008
+15 9 s9/3 0.55223381
+15 9 s9/6 0.27191975
+15 9 s9/8 0.69749568
+15 9 s9/10 0.62846333
+15 13 s13/1 -0.34561369
+15 13 s13/3 -0.52377982
+15 13 s13/6 -0.76223854
+15 13 s13/8 -1.13798515
+15 13 s13/10 -0.99568629
+15 15 s15/1 -0.03474593
+15 15 s15/3 -0.10864691
+15 15 s15/6 -0.05254190
+15 15 s15/8 0.44761404
+15 15 s15/10 1.16575138
+15 18 s18/1 -0.88713301
+15 18 s18/3 -0.54601344
+15 18 s18/6 -0.48407926
+15 18 s18/8 -0.18085809
+15 18 s18/10 -0.27336084
+15 19 s19/1 -0.77882684
+15 19 s19/3 -0.76417916
+15 19 s19/6 -0.59189183
+15 19 s19/8 -0.65276472
+15 19 s19/10 -0.73449998
+15 22 s22/1 0.18825253
+15 22 s22/3 0.21971254
+15 22 s22/6 -0.33879562
+15 22 s22/8 0.18796181
+15 22 s22/10 0.47435111
+15 23 s23/1 -0.30110417
+15 23 s23/3 -0.25975656
+15 23 s23/6 0.40861304
+15 23 s23/8 -0.62125936
+15 23 s23/10 -0.80521827
+15 25 s25/1 0.50333970
+15 25 s25/3 0.46583847
+15 25 s25/6 0.65709349
+15 25 s25/8 0.68090156
+15 25 s25/10 0.23319018
+15 28 s28/1 -1.36070543
+15 28 s28/3 -0.76511473
+15 28 s28/6 -0.85775691
+15 28 s28/8 -1.42146542
+15 28 s28/10 -1.54334339
+15 30 s30/1 0.46338047
+15 30 s30/3 0.55796722
+15 30 s30/6 0.43945290
+15 30 s30/8 0.27799516
+15 30 s30/10 0.66994897
+15 31 s31/1 0.82298013
+15 31 s31/3 0.70947986
+15 31 s31/6 0.67947380
+15 31 s31/8 0.80830997
+15 31 s31/10 0.75547695
+15 32 s32/1 -0.43520658
+15 32 s32/3 -0.31442186
+15 32 s32/6 -0.69483152
+15 32 s32/8 -0.69379133
+15 32 s32/10 -0.69601827
+15 35 s35/1 0.96436796
+15 35 s35/3 1.13241927
+15 35 s35/6 0.54730799
+15 35 s35/8 0.58710548
+15 35 s35/10 0.73582437
+15 37 s37/1 -0.96724473
+15 37 s37/3 -0.80766247
+15 37 s37/6 -0.39842902
+15 37 s37/8 -0.45372935
+15 37 s37/10 -1.27039043
+15 38 s38/1 -0.00893405
+15 38 s38/3 0.20957076
+15 38 s38/6 -0.17608783
+15 38 s38/8 -0.14231487
+15 38 s38/10 0.20869635
+15 40 s40/1 0.11712175
+15 40 s40/3 0.45756832
+15 40 s40/6 0.15070118
+15 40 s40/8 0.07689824
+15 40 s40/10 0.26606863
+18 3 s3/1 -1.37032469
+18 3 s3/3 -0.64587961
+18 3 s3/6 -1.52048848
+18 3 s3/8 -0.29310464
+18 3 s3/10 0.62452927
+18 4 s4/1 0.30063010
+18 4 s4/3 0.52494799
+18 4 s4/6 1.14548844
+18 4 s4/8 0.49984193
+18 4 s4/10 1.86112720
+18 7 s7/1 -0.48630118
+18 7 s7/3 -0.26702146
+18 7 s7/6 0.04895236
+18 7 s7/8 0.07356453
+18 7 s7/10 -0.12418778
+18 8 s8/1 -1.37968371
+18 8 s8/3 -1.47452427
+18 8 s8/6 -1.49531664
+18 8 s8/8 -1.23316944
+18 8 s8/10 -1.24474782
+18 9 s9/1 -0.20069161
+18 9 s9/3 -0.41216468
+18 9 s9/6 -0.37410602
+18 9 s9/8 -0.44087989
+18 9 s9/10 -0.15037775
+18 13 s13/1 0.92846057
+18 13 s13/3 1.19869984
+18 13 s13/6 1.54375223
+18 13 s13/8 0.53197457
+18 13 s13/10 0.77396158
+18 15 s15/1 -0.72723450
+18 15 s15/3 -0.73734205
+18 15 s15/6 -0.70811731
+18 15 s15/8 -1.35941618
+18 15 s15/10 -0.01992205
+18 18 s18/1 2.19802398
+18 18 s18/3 1.36761381
+18 18 s18/6 1.85086788
+18 18 s18/8 1.57205812
+18 18 s18/10 1.83680792
+18 19 s19/1 0.36673988
+18 19 s19/3 0.46491462
+18 19 s19/6 0.46895798
+18 19 s19/8 -0.47339560
+18 19 s19/10 0.37143700
+18 22 s22/1 -1.66831870
+18 22 s22/3 -1.62714106
+18 22 s22/6 -0.86025229
+18 22 s22/8 -1.66724129
+18 22 s22/10 -1.74888419
+18 23 s23/1 -0.70423050
+18 23 s23/3 0.24889339
+18 23 s23/6 -0.07292836
+18 23 s23/8 -0.09397787
+18 23 s23/10 -1.19410471
+18 25 s25/1 0.47421578
+18 25 s25/3 0.60461915
+18 25 s25/6 0.32243815
+18 25 s25/8 0.18762895
+18 25 s25/10 0.66694454
+18 28 s28/1 -0.57841717
+18 28 s28/3 0.12356617
+18 28 s28/6 -1.04164698
+18 28 s28/8 0.88285839
+18 28 s28/10 1.18963466
+18 30 s30/1 -0.45450426
+18 30 s30/3 -0.24412206
+18 30 s30/6 -1.09925956
+18 30 s30/8 -0.84162135
+18 30 s30/10 -0.97121002
+18 31 s31/1 -0.52331384
+18 31 s31/3 -0.64430734
+18 31 s31/6 -0.39617338
+18 31 s31/8 -0.52158358
+18 31 s31/10 -0.45036494
+18 32 s32/1 0.15964834
+18 32 s32/3 1.14377649
+18 32 s32/6 0.21126632
+18 32 s32/8 0.61800970
+18 32 s32/10 0.33977079
+18 35 s35/1 -0.10709404
+18 35 s35/3 -0.59674951
+18 35 s35/6 0.49895613
+18 35 s35/8 0.47651450
+18 35 s35/10 0.02361292
+18 37 s37/1 1.47465680
+18 37 s37/3 1.15498637
+18 37 s37/6 -0.89708362
+18 37 s37/8 -1.17563748
+18 37 s37/10 0.40456634
+18 38 s38/1 -1.65263427
+18 38 s38/3 -0.55102203
+18 38 s38/6 -1.60049533
+18 38 s38/8 -0.47873854
+18 38 s38/10 -0.62334738
+18 40 s40/1 1.51442059
+18 40 s40/3 1.19732305
+18 40 s40/6 1.28390390
+18 40 s40/8 1.42326265
+18 40 s40/10 0.80376142
+19 3 s3/1 0.41892218
+19 3 s3/3 -0.92020544
+19 3 s3/6 -0.78103389
+19 3 s3/8 -0.59534387
+19 3 s3/10 -1.14738632
+19 4 s4/1 -1.20399299
+19 4 s4/3 -1.11315825
+19 4 s4/6 -0.11747579
+19 4 s4/8 -1.05700940
+19 4 s4/10 -1.19877120
+19 7 s7/1 1.10843421
+19 7 s7/3 1.20825832
+19 7 s7/6 1.47681356
+19 7 s7/8 1.57420684
+19 7 s7/10 0.81980984
+19 8 s8/1 0.23156704
+19 8 s8/3 0.71107888
+19 8 s8/6 0.74971292
+19 8 s8/8 0.88870842
+19 8 s8/10 1.02313752
+19 9 s9/1 -0.92081782
+19 9 s9/3 -0.61341163
+19 9 s9/6 -1.38328180
+19 9 s9/8 -1.42678242
+19 9 s9/10 -1.04553888
+19 13 s13/1 0.02960266
+19 13 s13/3 0.21211254
+19 13 s13/6 -0.46817254
+19 13 s13/8 1.05236155
+19 13 s13/10 0.20859794
+19 15 s15/1 0.90852243
+19 15 s15/3 0.95879773
+19 15 s15/6 1.07834346
+19 15 s15/8 0.10154084
+19 15 s15/10 -1.53723800
+19 18 s18/1 -0.09703975
+19 18 s18/3 -0.95762469
+19 18 s18/6 -0.20521007
+19 18 s18/8 -0.89925859
+19 18 s18/10 -0.80496890
+19 19 s19/1 2.04600496
+19 19 s19/3 2.01776808
+19 19 s19/6 2.01866652
+19 19 s19/8 2.12218105
+19 19 s19/10 2.06477767
+19 22 s22/1 -0.21132580
+19 22 s22/3 -0.54724516
+19 22 s22/6 1.23127063
+19 22 s22/8 -0.21908024
+19 22 s22/10 -0.51741180
+19 23 s23/1 -0.06644610
+19 23 s23/3 -1.19368494
+19 23 s23/6 -1.87080890
+19 23 s23/8 0.33225353
+19 23 s23/10 0.19852911
+19 25 s25/1 -1.67162692
+19 25 s25/3 -1.70049992
+19 25 s25/6 -1.82898833
+19 25 s25/8 -1.92324701
+19 25 s25/10 -1.61267088
+19 28 s28/1 -0.18655844
+19 28 s28/3 -0.35636365
+19 28 s28/6 -1.49327776
+19 28 s28/8 1.07960483
+19 28 s28/10 1.15722491
+19 30 s30/1 -1.70940098
+19 30 s30/3 -1.78440057
+19 30 s30/6 -1.50309254
+19 30 s30/8 -1.28912849
+19 30 s30/10 -1.72551572
+19 31 s31/1 -1.54339134
+19 31 s31/3 -1.45924917
+19 31 s31/6 -1.35502577
+19 31 s31/8 -1.47922637
+19 31 s31/10 -1.43304092
+19 32 s32/1 0.74014581
+19 32 s32/3 0.37693287
+19 32 s32/6 1.23810931
+19 32 s32/8 1.08533230
+19 32 s32/10 1.06818977
+19 35 s35/1 -1.81040721
+19 35 s35/3 -1.72727619
+19 35 s35/6 -1.19806600
+19 35 s35/8 -1.15044376
+19 35 s35/10 -1.00714546
+19 37 s37/1 -0.14723697
+19 37 s37/3 -0.11373014
+19 37 s37/6 0.47992381
+19 37 s37/8 0.61595174
+19 37 s37/10 1.02577365
+19 38 s38/1 -0.73762583
+19 38 s38/3 -0.14464725
+19 38 s38/6 -0.33259614
+19 38 s38/8 -0.71791705
+19 38 s38/10 0.11272561
+19 40 s40/1 -0.48214246
+19 40 s40/3 -1.16446670
+19 40 s40/6 -0.86581488
+19 40 s40/8 -0.28058279
+19 40 s40/10 -1.28654775
+22 3 s3/1 -0.50317481
+22 3 s3/3 0.66107454
+22 3 s3/6 -0.81996491
+22 3 s3/8 0.65775558
+22 3 s3/10 1.20563603
+22 4 s4/1 -0.62844086
+22 4 s4/3 -0.62617027
+22 4 s4/6 -2.39638296
+22 4 s4/8 -0.80814979
+22 4 s4/10 -1.30726443
+22 7 s7/1 0.04314503
+22 7 s7/3 -0.30535689
+22 7 s7/6 -0.35910329
+22 7 s7/8 -0.57002487
+22 7 s7/10 0.06579447
+22 8 s8/1 -0.03895940
+22 8 s8/3 -0.32700622
+22 8 s8/6 -0.24400864
+22 8 s8/8 -0.38903837
+22 8 s8/10 -0.51386439
+22 9 s9/1 -0.76589371
+22 9 s9/3 -0.76852254
+22 9 s9/6 -0.78821743
+22 9 s9/8 -0.82837992
+22 9 s9/10 -0.34652455
+22 13 s13/1 -0.80665571
+22 13 s13/3 -1.08071711
+22 13 s13/6 -1.19965844
+22 13 s13/8 -0.73934755
+22 13 s13/10 -0.42517253
+22 15 s15/1 0.68454363
+22 15 s15/3 0.45136487
+22 15 s15/6 0.77596762
+22 15 s15/8 0.99089350
+22 15 s15/10 0.38566604
+22 18 s18/1 -1.10250562
+22 18 s18/3 -1.38591392
+22 18 s18/6 -1.38111010
+22 18 s18/8 -1.31013914
+22 18 s18/10 -1.27356080
+22 19 s19/1 -0.36003266
+22 19 s19/3 -0.50207223
+22 19 s19/6 -0.46142622
+22 19 s19/8 -0.36258449
+22 19 s19/10 -0.19903891
+22 22 s22/1 2.51097948
+22 22 s22/3 2.52288916
+22 22 s22/6 1.59696983
+22 22 s22/8 2.54360157
+22 22 s22/10 2.42815936
+22 23 s23/1 -2.11900466
+22 23 s23/3 -2.67577917
+22 23 s23/6 -1.08245176
+22 23 s23/8 -0.90734329
+22 23 s23/10 -1.46193139
+22 25 s25/1 -0.88281990
+22 25 s25/3 -1.02962276
+22 25 s25/6 -0.83601354
+22 25 s25/8 -0.04751777
+22 25 s25/10 -0.94172737
+22 28 s28/1 -0.63181554
+22 28 s28/3 0.19843201
+22 28 s28/6 -0.38572202
+22 28 s28/8 -1.02707291
+22 28 s28/10 0.73992670
+22 30 s30/1 0.84587891
+22 30 s30/3 1.19497507
+22 30 s30/6 0.72593128
+22 30 s30/8 1.02493918
+22 30 s30/10 0.91586195
+22 31 s31/1 0.48032650
+22 31 s31/3 1.05040453
+22 31 s31/6 0.44663444
+22 31 s31/8 0.47813613
+22 31 s31/10 0.79608331
+22 32 s32/1 -0.52193692
+22 32 s32/3 -0.30090741
+22 32 s32/6 -0.56167853
+22 32 s32/8 -0.95100790
+22 32 s32/10 -0.46822446
+22 35 s35/1 0.32221416
+22 35 s35/3 0.09802238
+22 35 s35/6 0.81060926
+22 35 s35/8 0.31793730
+22 35 s35/10 1.01566513
+22 37 s37/1 -1.70114680
+22 37 s37/3 -1.45085622
+22 37 s37/6 0.33079364
+22 37 s37/8 0.53827644
+22 37 s37/10 -0.88770809
+22 38 s38/1 0.39688601
+22 38 s38/3 -0.11971954
+22 38 s38/6 0.15223420
+22 38 s38/8 -0.35350413
+22 38 s38/10 -0.23520290
+22 40 s40/1 -0.14683140
+22 40 s40/3 0.01728764
+22 40 s40/6 0.22005504
+22 40 s40/8 0.21196753
+22 40 s40/10 0.73458681
+23 3 s3/1 -1.40618909
+23 3 s3/3 -0.24506759
+23 3 s3/6 0.44657120
+23 3 s3/8 -0.17619557
+23 3 s3/10 -0.22839876
+23 4 s4/1 0.76438131
+23 4 s4/3 0.54983398
+23 4 s4/6 1.28518499
+23 4 s4/8 0.66039083
+23 4 s4/10 1.12869547
+23 7 s7/1 -0.49294111
+23 7 s7/3 -0.56689471
+23 7 s7/6 -0.93946461
+23 7 s7/8 -0.89493661
+23 7 s7/10 -0.76840092
+23 8 s8/1 0.06465102
+23 8 s8/3 0.16405795
+23 8 s8/6 0.16302069
+23 8 s8/8 0.18507030
+23 8 s8/10 0.14572749
+23 9 s9/1 0.72510792
+23 9 s9/3 0.73444124
+23 9 s9/6 0.83168896
+23 9 s9/8 1.00314461
+23 9 s9/10 0.95136869
+23 13 s13/1 0.22644420
+23 13 s13/3 -0.17259266
+23 13 s13/6 0.52105604
+23 13 s13/8 -0.40404899
+23 13 s13/10 0.31384499
+23 15 s15/1 -1.15494616
+23 15 s15/3 -1.23018628
+23 15 s15/6 -1.36069952
+23 15 s15/8 -1.22571431
+23 15 s15/10 0.09965582
+23 18 s18/1 0.78353429
+23 18 s18/3 0.34710916
+23 18 s18/6 0.52354298
+23 18 s18/8 0.33307898
+23 18 s18/10 0.54684040
+23 19 s19/1 -0.73426174
+23 19 s19/3 -0.74901987
+23 19 s19/6 -0.69203760
+23 19 s19/8 -0.88835046
+23 19 s19/10 -0.79740692
+23 22 s22/1 -1.36157724
+23 22 s22/3 -1.06192811
+23 22 s22/6 -1.82449032
+23 22 s22/8 -1.33978040
+23 22 s22/10 -1.52757076
+23 23 s23/1 1.63086389
+23 23 s23/3 1.19213068
+23 23 s23/6 1.25599442
+23 23 s23/8 1.60070736
+23 23 s23/10 1.11876377
+23 25 s25/1 0.80858153
+23 25 s25/3 0.66273622
+23 25 s25/6 0.54062817
+23 25 s25/8 0.77579951
+23 25 s25/10 0.85152811
+23 28 s28/1 0.35835603
+23 28 s28/3 0.52533788
+23 28 s28/6 0.63494771
+23 28 s28/8 0.66579526
+23 28 s28/10 -0.53172363
+23 30 s30/1 0.27965865
+23 30 s30/3 0.37262109
+23 30 s30/6 0.07584049
+23 30 s30/8 -0.08207084
+23 30 s30/10 0.07888008
+23 31 s31/1 0.54115532
+23 31 s31/3 -0.16625195
+23 31 s31/6 0.50494112
+23 31 s31/8 0.51337884
+23 31 s31/10 -0.09217639
+23 32 s32/1 -0.63922619
+23 32 s32/3 -0.74510901
+23 32 s32/6 -0.76374753
+23 32 s32/8 -0.60210081
+23 32 s32/10 -0.63273856
+23 35 s35/1 0.41872890
+23 35 s35/3 0.11883603
+23 35 s35/6 0.13846023
+23 35 s35/8 0.18924306
+23 35 s35/10 -0.33498037
+23 37 s37/1 -0.28145362
+23 37 s37/3 -0.25644321
+23 37 s37/6 -0.67543816
+23 37 s37/8 -0.77150145
+23 37 s37/10 -0.39397926
+23 38 s38/1 0.48218504
+23 38 s38/3 0.10024572
+23 38 s38/6 0.52502396
+23 38 s38/8 0.54011986
+23 38 s38/10 -0.03920927
+23 40 s40/1 0.08386935
+23 40 s40/3 0.49734763
+23 40 s40/6 0.02217157
+23 40 s40/8 -0.24107596
+23 40 s40/10 -0.30402628
+25 3 s3/1 -0.35755798
+25 3 s3/3 -0.41368234
+25 3 s3/6 -0.04949359
+25 3 s3/8 0.19246265
+25 3 s3/10 -0.34201561
+25 4 s4/1 0.89372164
+25 4 s4/3 0.75102534
+25 4 s4/6 0.33967817
+25 4 s4/8 0.89151195
+25 4 s4/10 0.47930006
+25 7 s7/1 -0.84831027
+25 7 s7/3 -0.80824660
+25 7 s7/6 -0.76906987
+25 7 s7/8 -0.66285814
+25 7 s7/10 -0.73005685
+25 8 s8/1 -0.16038990
+25 8 s8/3 -0.41450005
+25 8 s8/6 -0.37884240
+25 8 s8/8 -0.52129780
+25 8 s8/10 -0.49040879
+25 9 s9/1 0.60420629
+25 9 s9/3 0.46326656
+25 9 s9/6 0.70826831
+25 9 s9/8 0.80652701
+25 9 s9/10 0.59275604
+25 13 s13/1 0.43978134
+25 13 s13/3 0.33997348
+25 13 s13/6 0.19762246
+25 13 s13/8 -0.23806120
+25 13 s13/10 -0.04899258
+25 15 s15/1 -1.06293963
+25 15 s15/3 -1.11326725
+25 15 s15/6 -1.09829753
+25 15 s15/8 -0.95679729
+25 15 s15/10 0.70682771
+25 18 s18/1 0.23087819
+25 18 s18/3 0.46497337
+25 18 s18/6 0.43548824
+25 18 s18/8 0.65868142
+25 18 s18/10 0.75770828
+25 19 s19/1 -0.76804444
+25 19 s19/3 -0.63912027
+25 19 s19/6 -0.53799722
+25 19 s19/8 -0.76078504
+25 19 s19/10 -0.69022904
+25 22 s22/1 -0.59300822
+25 22 s22/3 -0.54907162
+25 22 s22/6 -0.78209471
+25 22 s22/8 -0.64203620
+25 22 s22/10 -0.27384947
+25 23 s23/1 0.43303473
+25 23 s23/3 0.43083807
+25 23 s23/6 0.74758271
+25 23 s23/8 -0.56080481
+25 23 s23/10 -0.18534130
+25 25 s25/1 1.08748873
+25 25 s25/3 1.02239021
+25 25 s25/6 1.10574572
+25 25 s25/8 0.76280917
+25 25 s25/10 1.05778065
+25 28 s28/1 -0.61943056
+25 28 s28/3 -0.40275762
+25 28 s28/6 -0.18259638
+25 28 s28/8 -0.92642939
+25 28 s28/10 -0.58110803
+25 30 s30/1 0.03045665
+25 30 s30/3 0.23687223
+25 30 s30/6 -0.16601370
+25 30 s30/8 -0.31020586
+25 30 s30/10 -0.13260187
+25 31 s31/1 0.51030677
+25 31 s31/3 0.00484071
+25 31 s31/6 0.36672844
+25 31 s31/8 0.51785809
+25 31 s31/10 0.00679950
+25 32 s32/1 -0.55625749
+25 32 s32/3 -0.24342170
+25 32 s32/6 -0.59741723
+25 32 s32/8 -0.50411211
+25 32 s32/10 -0.64663788
+25 35 s35/1 0.68827239
+25 35 s35/3 0.84728791
+25 35 s35/6 0.48097823
+25 35 s35/8 0.64334690
+25 35 s35/10 0.01119259
+25 37 s37/1 -0.22615904
+25 37 s37/3 -0.37918363
+25 37 s37/6 -0.82937705
+25 37 s37/8 -0.91891804
+25 37 s37/10 -0.66581828
+25 38 s38/1 -0.21625947
+25 38 s38/3 0.16805988
+25 38 s38/6 -0.30745892
+25 38 s38/8 0.44691748
+25 38 s38/10 0.09282380
+25 40 s40/1 0.40777846
+25 40 s40/3 0.63882758
+25 40 s40/6 0.12961741
+25 40 s40/8 -0.08628772
+25 40 s40/10 0.12328158
+28 3 s3/1 -0.05856618
+28 3 s3/3 -0.94162025
+28 3 s3/6 0.53180083
+28 3 s3/8 -1.55681548
+28 3 s3/10 -2.13682818
+28 4 s4/1 -1.97100182
+28 4 s4/3 -1.97080374
+28 4 s4/6 0.19318699
+28 4 s4/8 -1.82332800
+28 4 s4/10 0.37206170
+28 7 s7/1 1.29098642
+28 7 s7/3 1.29755839
+28 7 s7/6 0.64396975
+28 7 s7/8 0.52906701
+28 7 s7/10 0.69285177
+28 8 s8/1 -0.08895992
+28 8 s8/3 0.42680242
+28 8 s8/6 0.24660245
+28 8 s8/8 0.49541108
+28 8 s8/10 0.51107429
+28 9 s9/1 -1.74929008
+28 9 s9/3 -1.63130459
+28 9 s9/6 -1.26416171
+28 9 s9/8 -1.52020792
+28 9 s9/10 -1.38985560
+28 13 s13/1 -1.08377443
+28 13 s13/3 -0.80619800
+28 13 s13/6 0.38468412
+28 13 s13/8 0.56875111
+28 13 s13/10 0.20175845
+28 15 s15/1 1.25429146
+28 15 s15/3 1.32467361
+28 15 s15/6 0.96395462
+28 15 s15/8 0.98562584
+28 15 s15/10 -1.72430748
+28 18 s18/1 -0.10624505
+28 18 s18/3 -0.09190975
+28 18 s18/6 -0.50274218
+28 18 s18/8 -0.44130841
+28 18 s18/10 -0.79787324
+28 19 s19/1 0.54517001
+28 19 s19/3 0.38285510
+28 19 s19/6 -0.18170860
+28 19 s19/8 0.87115002
+28 19 s19/10 0.09697629
+28 22 s22/1 0.37397610
+28 22 s22/3 0.16761203
+28 22 s22/6 0.56704519
+28 22 s22/8 0.34434539
+28 22 s22/10 -0.34092378
+28 23 s23/1 -0.26640269
+28 23 s23/3 0.01557418
+28 23 s23/6 -1.34747274
+28 23 s23/8 0.38016360
+28 23 s23/10 0.55050328
+28 25 s25/1 -1.49453799
+28 25 s25/3 -1.46062247
+28 25 s25/6 -1.52469743
+28 25 s25/8 -1.32867832
+28 25 s25/10 -1.43333474
+28 28 s28/1 1.79848817
+28 28 s28/3 -1.01619702
+28 28 s28/6 1.22832996
+28 28 s28/8 1.38548857
+28 28 s28/10 -0.64668937
+28 30 s30/1 -0.75386431
+28 30 s30/3 -1.31421992
+28 30 s30/6 -0.29225072
+28 30 s30/8 0.46462763
+28 30 s30/10 -0.05562745
+28 31 s31/1 -1.42411549
+28 31 s31/3 0.00838427
+28 31 s31/6 -1.55959271
+28 31 s31/8 -1.46894537
+28 31 s31/10 0.24706528
+28 32 s32/1 1.30415137
+28 32 s32/3 0.46271800
+28 32 s32/6 1.40998308
+28 32 s32/8 1.34539059
+28 32 s32/10 1.46486561
+28 35 s35/1 -0.93389063
+28 35 s35/3 -1.40162293
+28 35 s35/6 -1.84793572
+28 35 s35/8 -1.78187253
+28 35 s35/10 -0.53899847
+28 37 s37/1 0.84706458
+28 37 s37/3 1.34856930
+28 37 s37/6 1.82378133
+28 37 s37/8 1.88060929
+28 37 s37/10 1.47352961
+28 38 s38/1 -0.26551258
+28 38 s38/3 -1.25594071
+28 38 s38/6 -0.33194325
+28 38 s38/8 -1.45809454
+28 38 s38/10 -1.47326364
+28 40 s40/1 -1.06520396
+28 40 s40/3 -1.47314705
+28 40 s40/6 -0.79706467
+28 40 s40/8 -0.84207012
+28 40 s40/10 -1.36574833
+30 3 s3/1 -2.05973893
+30 3 s3/3 -0.13915791
+30 3 s3/6 -0.08672542
+30 3 s3/8 -0.27765252
+30 3 s3/10 -0.45598197
+30 4 s4/1 0.14490933
+30 4 s4/3 0.08358490
+30 4 s4/6 -0.74612835
+30 4 s4/8 0.02918282
+30 4 s4/10 0.10555846
+30 7 s7/1 -0.19719660
+30 7 s7/3 -0.39998681
+30 7 s7/6 -0.57990760
+30 7 s7/8 -0.77742431
+30 7 s7/10 -0.01292477
+30 8 s8/1 -0.01223562
+30 8 s8/3 -0.67217297
+30 8 s8/6 -0.64237655
+30 8 s8/8 -0.92290511
+30 8 s8/10 -0.87666905
+30 9 s9/1 -0.30460370
+30 9 s9/3 -0.45012260
+30 9 s9/6 -0.04461033
+30 9 s9/8 -0.09341524
+30 9 s9/10 0.58863900
+30 13 s13/1 -0.74695334
+30 13 s13/3 -0.56424332
+30 13 s13/6 -0.29704692
+30 13 s13/8 -0.90299884
+30 13 s13/10 -0.27453558
+30 15 s15/1 0.22796222
+30 15 s15/3 0.01203653
+30 15 s15/6 0.09983382
+30 15 s15/8 0.38199123
+30 15 s15/10 0.56642422
+30 18 s18/1 -0.42089907
+30 18 s18/3 0.14707027
+30 18 s18/6 -0.35379942
+30 18 s18/8 -0.04928832
+30 18 s18/10 -0.25751083
+30 19 s19/1 -1.25037451
+30 19 s19/3 -1.32079628
+30 19 s19/6 -1.54959845
+30 19 s19/8 -0.90527365
+30 19 s19/10 -1.48300264
+30 22 s22/1 0.38569938
+30 22 s22/3 0.56217267
+30 22 s22/6 0.04093587
+30 22 s22/8 0.45251314
+30 22 s22/10 0.49319329
+30 23 s23/1 -0.74270702
+30 23 s23/3 -0.32388105
+30 23 s23/6 -0.15326577
+30 23 s23/8 0.33921011
+30 23 s23/10 -0.76342678
+30 25 s25/1 0.14821314
+30 25 s25/3 0.00672975
+30 25 s25/6 0.28111657
+30 25 s25/8 0.33926807
+30 25 s25/10 0.06100192
+30 28 s28/1 -0.05666325
+30 28 s28/3 0.20128387
+30 28 s28/6 0.74123039
+30 28 s28/8 -0.89720099
+30 28 s28/10 -0.53142822
+30 30 s30/1 1.32641549
+30 30 s30/3 1.29632758
+30 30 s30/6 1.66733155
+30 30 s30/8 1.80671963
+30 30 s30/10 1.49862072
+30 31 s31/1 0.52630644
+30 31 s31/3 1.01778341
+30 31 s31/6 0.52725555
+30 31 s31/8 0.43583363
+30 31 s31/10 1.10548600
+30 32 s32/1 0.19098069
+30 32 s32/3 -0.40761433
+30 32 s32/6 -0.35858052
+30 32 s32/8 -0.42897987
+30 32 s32/10 -0.19950595
+30 35 s35/1 0.20639152
+30 35 s35/3 0.24582969
+30 35 s35/6 0.06001349
+30 35 s35/8 -0.22686275
+30 35 s35/10 0.62820194
+30 37 s37/1 -0.34707829
+30 37 s37/3 -0.11344778
+30 37 s37/6 0.19350492
+30 37 s37/8 -0.09698141
+30 37 s37/10 -0.77746770
+30 38 s38/1 0.17019968
+30 38 s38/3 -0.81659457
+30 38 s38/6 -0.11702959
+30 38 s38/8 -0.33361832
+30 38 s38/10 -0.63729365
+30 40 s40/1 0.01750990
+30 40 s40/3 0.36802622
+30 40 s40/6 0.09334222
+30 40 s40/8 -0.43839696
+30 40 s40/10 0.63734977
+31 3 s3/1 -1.12662590
+31 3 s3/3 -0.40638911
+31 3 s3/6 0.00755584
+31 3 s3/8 0.13254581
+31 3 s3/10 -0.46928344
+31 4 s4/1 -0.24953289
+31 4 s4/3 -0.49220720
+31 4 s4/6 -1.41021081
+31 4 s4/8 -0.42704073
+31 4 s4/10 -0.41304944
+31 7 s7/1 -0.07502763
+31 7 s7/3 -0.09473874
+31 7 s7/6 -0.26685559
+31 7 s7/8 -0.53603113
+31 7 s7/10 0.30589447
+31 8 s8/1 0.11723981
+31 8 s8/3 -0.09692516
+31 8 s8/6 -0.16264102
+31 8 s8/8 -0.08417081
+31 8 s8/10 -0.35444549
+31 9 s9/1 -0.39937042
+31 9 s9/3 -0.17769735
+31 9 s9/6 -0.00784144
+31 9 s9/8 -0.11524512
+31 9 s9/10 0.85226039
+31 13 s13/1 -1.49513572
+31 13 s13/3 -1.37345160
+31 13 s13/6 -1.25478178
+31 13 s13/8 -1.43014937
+31 13 s13/10 -1.45050914
+31 15 s15/1 0.42399701
+31 15 s15/3 0.26512772
+31 15 s15/6 0.24788647
+31 15 s15/8 1.04515194
+31 15 s15/10 0.69179207
+31 18 s18/1 -0.90144254
+31 18 s18/3 -1.11696179
+31 18 s18/6 -0.93064789
+31 18 s18/8 -0.79842396
+31 18 s18/10 -0.91091783
+31 19 s19/1 -0.68612835
+31 19 s19/3 -0.70839922
+31 19 s19/6 -0.93509581
+31 19 s19/8 -0.46602381
+31 19 s19/10 -0.91081488
+31 22 s22/1 0.62807471
+31 22 s22/3 0.76289344
+31 22 s22/6 0.15762582
+31 22 s22/8 0.51180800
+31 22 s22/10 0.54614474
+31 23 s23/1 -0.58593462
+31 23 s23/3 -0.00794417
+31 23 s23/6 -0.14383845
+31 23 s23/8 0.04460486
+31 23 s23/10 -0.75626203
+31 25 s25/1 -0.04726297
+31 25 s25/3 0.00818727
+31 25 s25/6 0.22604736
+31 25 s25/8 0.43562240
+31 25 s25/10 -0.33235884
+31 28 s28/1 -0.88121452
+31 28 s28/3 -1.73296983
+31 28 s28/6 -0.39733211
+31 28 s28/8 -1.16367259
+31 28 s28/10 -1.44703492
+31 30 s30/1 0.84706144
+31 30 s30/3 0.67765960
+31 30 s30/6 1.01733407
+31 30 s30/8 1.08073061
+31 30 s30/10 0.97584945
+31 31 s31/1 0.79188094
+31 31 s31/3 1.67125164
+31 31 s31/6 0.97509506
+31 31 s31/8 0.75420099
+31 31 s31/10 1.60424143
+31 32 s32/1 0.01285353
+31 32 s32/3 -0.02914021
+31 32 s32/6 -0.34704267
+31 32 s32/8 -0.56345612
+31 32 s32/10 -0.30879157
+31 35 s35/1 0.73357553
+31 35 s35/3 0.72465887
+31 35 s35/6 0.24415341
+31 35 s35/8 0.33243582
+31 35 s35/10 1.18178542
+31 37 s37/1 -1.05204645
+31 37 s37/3 -0.84539244
+31 37 s37/6 0.39039605
+31 37 s37/8 0.21104691
+31 37 s37/10 -1.09825401
+31 38 s38/1 -0.17285065
+31 38 s38/3 -0.92980477
+31 38 s38/6 -0.19821433
+31 38 s38/8 -0.97334607
+31 38 s38/10 -0.85692066
+31 40 s40/1 -0.78657595
+31 40 s40/3 0.08018607
+31 40 s40/6 -0.83456616
+31 40 s40/8 -0.90516669
+31 40 s40/10 -0.71565764
+32 3 s3/1 0.01241309
+32 3 s3/3 -1.08631254
+32 3 s3/6 -1.21752041
+32 3 s3/8 -1.30629684
+32 3 s3/10 -1.40850679
+32 4 s4/1 -1.04904785
+32 4 s4/3 -1.01797672
+32 4 s4/6 -0.31627889
+32 4 s4/8 -1.06667306
+32 4 s4/10 0.04888051
+32 7 s7/1 0.88685649
+32 7 s7/3 0.95227200
+32 7 s7/6 1.19826891
+32 7 s7/8 1.17083677
+32 7 s7/10 0.91341886
+32 8 s8/1 -0.99838549
+32 8 s8/3 -0.89300783
+32 8 s8/6 -0.91292538
+32 8 s8/8 -0.82930490
+32 8 s8/10 -0.57056289
+32 9 s9/1 -1.44694360
+32 9 s9/3 -1.46544100
+32 9 s9/6 -1.75907549
+32 9 s9/8 -1.66437909
+32 9 s9/10 -1.26866341
+32 13 s13/1 0.27371857
+32 13 s13/3 0.75347330
+32 13 s13/6 0.84402434
+32 13 s13/8 1.07598333
+32 13 s13/10 0.87873108
+32 15 s15/1 0.83579376
+32 15 s15/3 0.91937659
+32 15 s15/6 1.07193158
+32 15 s15/8 0.28711656
+32 15 s15/10 -1.25396704
+32 18 s18/1 0.97556406
+32 18 s18/3 0.85602155
+32 18 s18/6 0.98965828
+32 18 s18/8 0.68416928
+32 18 s18/10 0.40125849
+32 19 s19/1 1.38076956
+32 19 s19/3 1.39780126
+32 19 s19/6 1.23513049
+32 19 s19/8 1.05023527
+32 19 s19/10 1.28647100
+32 22 s22/1 -0.22506115
+32 22 s22/3 -0.65233103
+32 22 s22/6 1.07952722
+32 22 s22/8 -0.28508742
+32 22 s22/10 -0.39725048
+32 23 s23/1 -1.01218587
+32 23 s23/3 -0.62209578
+32 23 s23/6 -1.71383789
+32 23 s23/8 -0.57139758
+32 23 s23/10 -1.21445728
+32 25 s25/1 -0.97786658
+32 25 s25/3 -1.15036124
+32 25 s25/6 -1.08346127
+32 25 s25/8 -1.60114537
+32 25 s25/10 -1.19521158
+32 28 s28/1 0.16013570
+32 28 s28/3 -1.02305631
+32 28 s28/6 -0.80807642
+32 28 s28/8 0.58189866
+32 28 s28/10 0.89588522
+32 30 s30/1 -1.68164696
+32 30 s30/3 -1.42910903
+32 30 s30/6 -1.30954825
+32 30 s30/8 -0.35625878
+32 30 s30/10 -1.42147905
+32 31 s31/1 -1.67357030
+32 31 s31/3 -0.90247733
+32 31 s31/6 -1.57273274
+32 31 s31/8 -1.70126595
+32 31 s31/10 -0.66606714
+32 32 s32/1 1.46569340
+32 32 s32/3 1.54988039
+32 32 s32/6 1.62954076
+32 32 s32/8 1.74420695
+32 32 s32/10 1.61580817
+32 35 s35/1 -1.69088617
+32 35 s35/3 -1.25742843
+32 35 s35/6 -1.37345806
+32 35 s35/8 -1.10435819
+32 35 s35/10 -0.32058314
+32 37 s37/1 0.88173327
+32 37 s37/3 0.92016696
+32 37 s37/6 0.57345981
+32 37 s37/8 0.49264207
+32 37 s37/10 1.18115198
+32 38 s38/1 -1.82504915
+32 38 s38/3 -0.97428741
+32 38 s38/6 -1.75934302
+32 38 s38/8 -1.40399151
+32 38 s38/10 -0.88799192
+32 40 s40/1 0.50922856
+32 40 s40/3 -0.14917563
+32 40 s40/6 -0.24019341
+32 40 s40/8 -0.04163380
+32 40 s40/10 0.07599658
+35 3 s3/1 -0.50600058
+35 3 s3/3 -0.68958446
+35 3 s3/6 -0.85582368
+35 3 s3/8 0.30192253
+35 3 s3/10 0.18989572
+35 4 s4/1 0.61562204
+35 4 s4/3 0.52383527
+35 4 s4/6 -0.49746166
+35 4 s4/8 0.69056821
+35 4 s4/10 0.15099426
+35 7 s7/1 -0.72761550
+35 7 s7/3 -0.63437163
+35 7 s7/6 -0.53146846
+35 7 s7/8 -0.62277973
+35 7 s7/10 -0.24252377
+35 8 s8/1 -0.62683788
+35 8 s8/3 -0.66976822
+35 8 s8/6 -0.66101257
+35 8 s8/8 -0.60958062
+35 8 s8/10 -0.75714010
+35 9 s9/1 0.18620979
+35 9 s9/3 0.01450953
+35 9 s9/6 0.38924056
+35 9 s9/8 0.35936651
+35 9 s9/10 0.44196206
+35 13 s13/1 0.12291414
+35 13 s13/3 0.10954957
+35 13 s13/6 -0.42169155
+35 13 s13/8 -0.27707993
+35 13 s13/10 -0.33380772
+35 15 s15/1 -0.67961488
+35 15 s15/3 -0.83546293
+35 15 s15/6 -0.65427434
+35 15 s15/8 -0.42936726
+35 15 s15/10 0.85750249
+35 18 s18/1 0.20676118
+35 18 s18/3 0.07108884
+35 18 s18/6 0.16037637
+35 18 s18/8 0.28305199
+35 18 s18/10 0.38726599
+35 19 s19/1 -0.49613941
+35 19 s19/3 -0.32867086
+35 19 s19/6 -0.40811913
+35 19 s19/8 -0.76346436
+35 19 s19/10 -0.48354665
+35 22 s22/1 -0.03731574
+35 22 s22/3 0.03378717
+35 22 s22/6 -0.38116162
+35 22 s22/8 -0.11752423
+35 22 s22/10 0.18557467
+35 23 s23/1 -0.54318719
+35 23 s23/3 0.07811502
+35 23 s23/6 0.49976249
+35 23 s23/8 -0.96843803
+35 23 s23/10 -0.98766709
+35 25 s25/1 0.86659462
+35 25 s25/3 0.93458488
+35 25 s25/6 0.86803381
+35 25 s25/8 0.85649549
+35 25 s25/10 0.74393539
+35 28 s28/1 -1.47068798
+35 28 s28/3 -0.88359891
+35 28 s28/6 -1.22646123
+35 28 s28/8 -1.18876811
+35 28 s28/10 -0.70463649
+35 30 s30/1 -0.02042139
+35 30 s30/3 0.28345511
+35 30 s30/6 -0.19506410
+35 30 s30/8 -0.04652136
+35 30 s30/10 -0.20099677
+35 31 s31/1 0.60796737
+35 31 s31/3 0.60382110
+35 31 s31/6 0.66746678
+35 31 s31/8 0.62860999
+35 31 s31/10 0.47914118
+35 32 s32/1 -0.50748482
+35 32 s32/3 0.29851747
+35 32 s32/6 -0.67612881
+35 32 s32/8 -0.62359305
+35 32 s32/10 -0.66491025
+35 35 s35/1 0.96835222
+35 35 s35/3 1.28172879
+35 35 s35/6 0.95612353
+35 35 s35/8 1.22596451
+35 35 s35/10 1.20214914
+35 37 s37/1 -0.60957907
+35 37 s37/3 -0.76216336
+35 37 s37/6 -0.72702877
+35 37 s37/8 -0.78798158
+35 37 s37/10 -0.85267748
+35 38 s38/1 -0.58584271
+35 38 s38/3 -0.29066350
+35 38 s38/6 -0.56803829
+35 38 s38/8 -0.24315283
+35 38 s38/10 -0.50759422
+35 40 s40/1 0.36317105
+35 40 s40/3 0.88946262
+35 40 s40/6 0.27991460
+35 40 s40/8 0.09134836
+35 40 s40/10 0.17260349
+37 3 s3/1 0.73506963
+37 3 s3/3 -0.32799588
+37 3 s3/6 0.98421646
+37 3 s3/8 -1.22798733
+37 3 s3/10 -1.79152563
+37 4 s4/1 -2.06174144
+37 4 s4/3 -1.88483382
+37 4 s4/6 -0.33764182
+37 4 s4/8 -2.08959194
+37 4 s4/10 0.23215304
+37 7 s7/1 1.01672830
+37 7 s7/3 1.09281621
+37 7 s7/6 0.51150866
+37 7 s7/8 0.31812250
+37 7 s7/10 0.41347824
+37 8 s8/1 0.10205328
+37 8 s8/3 0.47010311
+37 8 s8/6 0.31143686
+37 8 s8/8 0.47995116
+37 8 s8/10 0.42259098
+37 9 s9/1 -1.62733788
+37 9 s9/3 -1.58165997
+37 9 s9/6 -1.05335316
+37 9 s9/8 -1.42814157
+37 9 s9/10 -1.28623094
+37 13 s13/1 -1.36945400
+37 13 s13/3 -1.03312172
+37 13 s13/6 -0.06321916
+37 13 s13/8 -0.01227605
+37 13 s13/10 -0.27058480
+37 15 s15/1 1.17857741
+37 15 s15/3 1.34842098
+37 15 s15/6 0.94884363
+37 15 s15/8 1.04619535
+37 15 s15/10 -1.37536409
+37 18 s18/1 -0.71720015
+37 18 s18/3 -0.11445567
+37 18 s18/6 -0.84801099
+37 18 s18/8 -0.40862019
+37 18 s18/10 -1.01569987
+37 19 s19/1 0.12783957
+37 19 s19/3 -0.03740205
+37 19 s19/6 -0.58490534
+37 19 s19/8 0.66970340
+37 19 s19/10 -0.28262736
+37 22 s22/1 0.61608034
+37 22 s22/3 0.55234852
+37 22 s22/6 0.48191318
+37 22 s22/8 0.66864528
+37 22 s22/10 -0.01035055
+37 23 s23/1 -0.70724607
+37 23 s23/3 0.04587020
+37 23 s23/6 -1.38640151
+37 23 s23/8 -0.07843484
+37 23 s23/10 0.22154764
+37 25 s25/1 -1.25663423
+37 25 s25/3 -1.19280297
+37 25 s25/6 -1.06181037
+37 25 s25/8 -1.50510869
+37 25 s25/10 -1.23898604
+37 28 s28/1 2.03001346
+37 28 s28/3 -0.84539657
+37 28 s28/6 1.79127566
+37 28 s28/8 0.62715272
+37 28 s28/10 -0.52532595
+37 30 s30/1 -0.16701718
+37 30 s30/3 -0.81405226
+37 30 s30/6 0.55825334
+37 30 s30/8 1.01408306
+37 30 s30/10 0.45893051
+37 31 s31/1 -1.13160728
+37 31 s31/3 0.41309133
+37 31 s31/6 -1.07912022
+37 31 s31/8 -1.23080594
+37 31 s31/10 0.59493403
+37 32 s32/1 1.26863302
+37 32 s32/3 0.30333852
+37 32 s32/6 1.17464307
+37 32 s32/8 1.10323522
+37 32 s32/10 1.20638937
+37 35 s35/1 -1.09617741
+37 35 s35/3 -1.59080588
+37 35 s35/6 -1.84285445
+37 35 s35/8 -1.82861505
+37 35 s35/10 -0.62279091
+37 37 s37/1 1.24023233
+37 37 s37/3 1.58646495
+37 37 s37/6 2.04953448
+37 37 s37/8 2.05873360
+37 37 s37/10 1.36938213
+37 38 s38/1 -0.11854877
+37 38 s38/3 -1.43215609
+37 38 s38/6 -0.28732559
+37 38 s38/8 -1.05633536
+37 38 s38/10 -1.25520478
+37 40 s40/1 -1.66675225
+37 40 s40/3 -1.86868125
+37 40 s40/6 -1.10300696
+37 40 s40/8 -1.52326378
+37 40 s40/10 -1.24506991
+38 3 s3/1 0.89283944
+38 3 s3/3 2.30634788
+38 3 s3/6 -0.02086379
+38 3 s3/8 0.95347620
+38 3 s3/10 0.92374085
+38 4 s4/1 0.50735074
+38 4 s4/3 0.84315515
+38 4 s4/6 0.31112660
+38 4 s4/8 0.43612587
+38 4 s4/10 -1.32094627
+38 7 s7/1 -0.80038360
+38 7 s7/3 -0.80707800
+38 7 s7/6 -0.47280437
+38 7 s7/8 -0.03531651
+38 7 s7/10 -1.49674040
+38 8 s8/1 0.77428772
+38 8 s8/3 0.94696822
+38 8 s8/6 1.14180576
+38 8 s8/8 0.80909746
+38 8 s8/10 0.90011050
+38 9 s9/1 1.26153628
+38 9 s9/3 1.43767654
+38 9 s9/6 0.66286214
+38 9 s9/8 0.82227511
+38 9 s9/10 -0.37048890
+38 13 s13/1 0.86021234
+38 13 s13/3 0.14739257
+38 13 s13/6 -0.65370957
+38 13 s13/8 -0.19171157
+38 13 s13/10 -0.57150373
+38 15 s15/1 -0.84045049
+38 15 s15/3 -0.38833091
+38 15 s15/6 -0.59611079
+38 15 s15/8 -0.88078107
+38 15 s15/10 0.12174637
+38 18 s18/1 -1.19124181
+38 18 s18/3 -0.78073175
+38 18 s18/6 -0.73729325
+38 18 s18/8 -0.60009539
+38 18 s18/10 -0.37959559
+38 19 s19/1 -0.15106257
+38 19 s19/3 -0.24794491
+38 19 s19/6 0.58662560
+38 19 s19/8 0.21003089
+38 19 s19/10 0.55831264
+38 22 s22/1 -0.09484903
+38 22 s22/3 -0.08799775
+38 22 s22/6 -0.53439920
+38 22 s22/8 0.27527889
+38 22 s22/10 0.16432732
+38 23 s23/1 0.66373016
+38 23 s23/3 -1.30383394
+38 23 s23/6 0.34394110
+38 23 s23/8 -0.44223607
+38 23 s23/10 1.08588693
+38 25 s25/1 -0.06720318
+38 25 s25/3 -0.13904146
+38 25 s25/6 -0.22895301
+38 25 s25/8 -0.24062265
+38 25 s25/10 -0.23113798
+38 28 s28/1 0.09101672
+38 28 s28/3 2.14402846
+38 28 s28/6 0.13436131
+38 28 s28/8 0.62874002
+38 28 s28/10 0.43114118
+38 30 s30/1 -0.33859107
+38 30 s30/3 -0.17221077
+38 30 s30/6 -0.35602758
+38 30 s30/8 -1.47697129
+38 30 s30/10 -0.26436819
+38 31 s31/1 0.16168023
+38 31 s31/3 -1.37192989
+38 31 s31/6 -0.01355955
+38 31 s31/8 0.26493991
+38 31 s31/10 -1.61714533
+38 32 s32/1 -1.74766105
+38 32 s32/3 -1.87466782
+38 32 s32/6 -0.86628640
+38 32 s32/8 -0.91478004
+38 32 s32/10 -0.93401793
+38 35 s35/1 -0.33370576
+38 35 s35/3 -0.53497188
+38 35 s35/6 -0.34527071
+38 35 s35/8 -0.86023123
+38 35 s35/10 -2.07709763
+38 37 s37/1 -0.32041119
+38 37 s37/3 -0.43879940
+38 37 s37/6 -0.75145885
+38 37 s37/8 -0.32970972
+38 37 s37/10 -0.27878233
+38 38 s38/1 1.62362796
+38 38 s38/3 2.38753401
+38 38 s38/6 1.42088441
+38 38 s38/8 2.04485295
+38 38 s38/10 2.65261281
+38 40 s40/1 -0.11882883
+38 40 s40/3 -0.92110976
+38 40 s40/6 0.20084145
+38 40 s40/8 0.23826678
+38 40 s40/10 0.27650420
+40 3 s3/1 -0.43603279
+40 3 s3/3 -0.40084500
+40 3 s3/6 -1.26835846
+40 3 s3/8 -0.18045683
+40 3 s3/10 -0.18273123
+40 4 s4/1 0.90563566
+40 4 s4/3 0.82663526
+40 4 s4/6 -0.31621029
+40 4 s4/8 0.95238470
+40 4 s4/10 -0.41863438
+40 7 s7/1 -0.90934205
+40 7 s7/3 -0.74537186
+40 7 s7/6 -0.57584682
+40 7 s7/8 -0.52534064
+40 7 s7/10 -0.45045869
+40 8 s8/1 -1.04696653
+40 8 s8/3 -0.97425455
+40 8 s8/6 -0.91872241
+40 8 s8/8 -1.14109199
+40 8 s8/10 -0.95028812
+40 9 s9/1 0.51694013
+40 9 s9/3 0.31585519
+40 9 s9/6 0.16507650
+40 9 s9/8 0.65191596
+40 9 s9/10 -0.02276764
+40 13 s13/1 0.66234050
+40 13 s13/3 0.37550186
+40 13 s13/6 0.40816911
+40 13 s13/8 -0.13075537
+40 13 s13/10 -0.01190915
+40 15 s15/1 -0.72721456
+40 15 s15/3 -0.65578877
+40 15 s15/6 -0.54141976
+40 15 s15/8 -0.50398817
+40 15 s15/10 0.77057661
+40 18 s18/1 0.29679893
+40 18 s18/3 0.69726324
+40 18 s18/6 0.60686179
+40 18 s18/8 0.74492100
+40 18 s18/10 0.73003619
+40 19 s19/1 -0.26645334
+40 19 s19/3 -0.16139666
+40 19 s19/6 0.13255027
+40 19 s19/8 -0.85131453
+40 19 s19/10 -0.10739114
+40 22 s22/1 -0.73680099
+40 22 s22/3 -0.70491177
+40 22 s22/6 -1.09723933
+40 22 s22/8 -0.61603530
+40 22 s22/10 -0.43814793
+40 23 s23/1 -0.08264126
+40 23 s23/3 0.70820623
+40 23 s23/6 0.94118503
+40 23 s23/8 -1.26436495
+40 23 s23/10 -0.75397897
+40 25 s25/1 0.84848788
+40 25 s25/3 0.90731162
+40 25 s25/6 0.78437774
+40 25 s25/8 0.91335850
+40 25 s25/10 0.53874091
+40 28 s28/1 -1.26267884
+40 28 s28/3 -0.84703947
+40 28 s28/6 -1.24074566
+40 28 s28/8 -0.63620469
+40 28 s28/10 -1.45598422
+40 30 s30/1 -0.36455870
+40 30 s30/3 -0.10113275
+40 30 s30/6 -0.88747181
+40 30 s30/8 -0.67029154
+40 30 s30/10 -0.41531352
+40 31 s31/1 0.36554526
+40 31 s31/3 -0.05405135
+40 31 s31/6 0.28548285
+40 31 s31/8 0.40389417
+40 31 s31/10 0.02543310
+40 32 s32/1 -0.42715416
+40 32 s32/3 0.45479259
+40 32 s32/6 -0.54264840
+40 32 s32/8 -0.15520306
+40 32 s32/10 -0.45625365
+40 35 s35/1 0.80140491
+40 35 s35/3 1.26083259
+40 35 s35/6 0.36464563
+40 35 s35/8 0.77367750
+40 35 s35/10 0.99934721
+40 37 s37/1 -0.15735343
+40 37 s37/3 -0.21495410
+40 37 s37/6 -0.89835345
+40 37 s37/8 -0.85266223
+40 37 s37/10 -0.54982542
+40 38 s38/1 -0.58354578
+40 38 s38/3 0.35819201
+40 38 s38/6 -0.61575653
+40 38 s38/8 -0.09514153
+40 38 s38/10 -0.11471385
+40 40 s40/1 0.89405923
+40 40 s40/3 1.19425984
+40 40 s40/6 0.86949211
+40 40 s40/8 0.99603519
+40 40 s40/10 0.93328583
diff --git a/bob/bio/gmm/test/test_algorithms.py b/bob/bio/gmm/test/test_algorithms.py
index 03613b1..b358496 100644
--- a/bob/bio/gmm/test/test_algorithms.py
+++ b/bob/bio/gmm/test/test_algorithms.py
@@ -118,7 +118,7 @@ def test_gmm():
 
   # compare model with probe
   probe = gmm1.read_probe(pkg_resources.resource_filename('bob.bio.gmm.test', 'data/gmm_projected.hdf5'))
-  reference_score = -0.02335195
+  reference_score = -0.01676570
   assert abs(gmm1.score(model, probe) - reference_score) < 1e-5, "The scores differ: %3.8f, %3.8f" % (gmm1.score(model, probe), reference_score)
   assert abs(gmm1.score_for_multiple_probes(model, [probe, probe]) - reference_score) < 1e-5
 
@@ -171,7 +171,7 @@ def test_gmm_regular():
   probe = utils.random_array((20,45), -5., 5., seed=84)
 
   # compare model with probe
-  reference_score = -0.41556023
+  reference_score = -0.40840148
   assert abs(gmm1.score(model, probe) - reference_score) < 1e-5, "The scores differ: %3.8f, %3.8f" % (gmm1.score(model, probe), reference_score)
   # TODO: not implemented
   #assert abs(gmm1.score_for_multiple_probes(model, [probe, probe]) - reference_score) < 1e-5
@@ -236,7 +236,7 @@ def test_isv():
 
   # compare model with probe
   probe = isv1.read_probe(pkg_resources.resource_filename('bob.bio.gmm.test', 'data/isv_projected.hdf5'))
-  reference_score = 0.01732122
+  reference_score = 0.02136784
   assert abs(isv1.score(model, probe) - reference_score) < 1e-5, "The scores differ: %3.8f, %3.8f" % (isv1.score(model, probe), reference_score)
 #  assert abs(isv1.score_for_multiple_probes(model, [probe]*4) - reference_score) < 1e-5, isv1.score_for_multiple_probes(model, [probe, probe])
   # TODO: Why is the score not identical for multiple copies of the same probe?
@@ -320,7 +320,7 @@ def test_jfa():
 
   # compare model with probe
   probe = jfa1.read_probe(pkg_resources.resource_filename('bob.bio.gmm.test', 'data/gmm_projected.hdf5'))
-  reference_score = 0.01763115
+  reference_score = 0.02225812
   assert abs(jfa1.score(model, probe) - reference_score) < 1e-5, "The scores differ: %3.8f, %3.8f" % (jfa1.score(model, probe), reference_score)
   # TODO: implement that
   # assert abs(jfa1.score_for_multiple_probes(model, [probe, probe]) - reference_score) < 1e-5, jfa1.score_for_multiple_probes(model, [probe, probe])
diff --git a/bob/bio/gmm/test/test_scripts.py b/bob/bio/gmm/test/test_scripts.py
index 18f39f7..f175f2a 100644
--- a/bob/bio/gmm/test/test_scripts.py
+++ b/bob/bio/gmm/test/test_scripts.py
@@ -1,5 +1,3 @@
-
-
 from __future__ import print_function
 
 import bob.measure
@@ -10,11 +8,9 @@ import shutil
 import tempfile
 import numpy
 
-import bob.io.base.test_utils
 import bob.io.image
 import bob.bio.base
 import bob.bio.gmm
-from . import utils
 
 from nose.plugins.skip import SkipTest
 
@@ -63,8 +59,8 @@ def _verify(parameters, test_dir, sub_dir, ref_modifier="", score_modifier=('sco
     shutil.rmtree(test_dir)
 
 
-def test_gmm_base():
-  test_dir = tempfile.mkdtemp(prefix='frltest_')
+def test_gmm_sequential():
+  test_dir = tempfile.mkdtemp(prefix='bobtest_')
   # define dummy parameters
   parameters = [
       '-d', 'dummy',
@@ -72,7 +68,7 @@ def test_gmm_base():
       '-e', 'dummy',
       '-a', 'bob.bio.gmm.algorithm.GMM(2, 2, 2)', '--import', 'bob.bio.gmm',
       '--zt-norm',
-      '-s', 'test_gmm_sequential', '-vv',
+      '-s', 'test_gmm_sequential',
       '--temp-directory', test_dir,
       '--result-directory', test_dir
   ]
@@ -84,7 +80,7 @@ def test_gmm_base():
 
 def test_gmm_parallel():
   from bob.bio.gmm.script.verify_gmm import main
-  test_dir = tempfile.mkdtemp(prefix='frltest_')
+  test_dir = tempfile.mkdtemp(prefix='bobtest_')
   test_database = os.path.join(test_dir, "submitted.sql3")
   # define dummy parameters
   parameters = [
@@ -95,7 +91,7 @@ def test_gmm_parallel():
       '-g', 'bob.bio.base.grid.Grid(grid = "local", number_of_parallel_processes = 2, scheduler_sleep_time = 0.1)', '-G', test_database, '--run-local-scheduler', '-R',
       '--clean-intermediate',
       '--zt-norm',
-      '-s', 'test_gmm_parallel', '-vv',
+      '-s', 'test_gmm_parallel',
       '--temp-directory', test_dir,
       '--result-directory', test_dir,
   ]
@@ -103,3 +99,45 @@ def test_gmm_parallel():
   print (bob.bio.base.tools.command_line(parameters))
 
   _verify(parameters, test_dir, 'test_gmm_parallel', executable=main, ref_modifier='-gmm')
+
+
+def test_isv_sequential():
+  test_dir = tempfile.mkdtemp(prefix='bobtest_')
+  # define dummy parameters
+  parameters = [
+      '-d', 'dummy',
+      '-p', 'dummy',
+      '-e', 'dummy',
+      '-a', 'bob.bio.gmm.algorithm.ISV(10, number_of_gaussians=2, kmeans_training_iterations=2, gmm_training_iterations=2, isv_training_iterations=2)', '--import', 'bob.bio.gmm',
+      '--zt-norm',
+      '-s', 'test_isv_sequential',
+      '--temp-directory', test_dir,
+      '--result-directory', test_dir
+  ]
+
+  print (bob.bio.base.tools.command_line(parameters))
+
+  _verify(parameters, test_dir, 'test_isv_sequential', ref_modifier='-isv')
+
+
+def test_isv_parallel():
+  from bob.bio.gmm.script.verify_isv import main
+  test_dir = tempfile.mkdtemp(prefix='bobtest_')
+  test_database = os.path.join(test_dir, "submitted.sql3")
+  # define dummy parameters
+  parameters = [
+      '-d', 'dummy',
+      '-p', 'dummy',
+      '-e', 'dummy',
+      '-a', 'bob.bio.gmm.algorithm.ISV(10, number_of_gaussians=2, kmeans_training_iterations=2, gmm_training_iterations=2, isv_training_iterations=2)', '--import', 'bob.bio.gmm', 'bob.io.image',
+      '-g', 'bob.bio.base.grid.Grid(grid = "local", number_of_parallel_processes = 2, scheduler_sleep_time = 0.1)', '-G', test_database, '--run-local-scheduler', '-R',
+      '--clean-intermediate',
+      '--zt-norm',
+      '-s', 'test_isv_parallel',
+      '--temp-directory', test_dir,
+      '--result-directory', test_dir,
+  ]
+
+  print (bob.bio.base.tools.command_line(parameters))
+
+  _verify(parameters, test_dir, 'test_isv_parallel', executable=main, ref_modifier='-isv')
diff --git a/bob/bio/gmm/tools/__init__.py b/bob/bio/gmm/tools/__init__.py
index 1903eb6..581eaba 100644
--- a/bob/bio/gmm/tools/__init__.py
+++ b/bob/bio/gmm/tools/__init__.py
@@ -1,2 +1,4 @@
+from .utils import *
 from .command_line import *
 from .gmm import *
+from .isv import *
diff --git a/bob/bio/gmm/tools/command_line.py b/bob/bio/gmm/tools/command_line.py
index e81c358..8673398 100644
--- a/bob/bio/gmm/tools/command_line.py
+++ b/bob/bio/gmm/tools/command_line.py
@@ -7,7 +7,7 @@ logger = bob.core.log.setup("bob.bio.gmm")
 
 from bob.bio.base.tools import FileSelector
 
-def add_parallel_gmm_options(parsers, additional_functions = ['gmm']):
+def add_parallel_gmm_options(parsers, sub_module = None):
   """Add the options for parallel UBM training to the given parsers."""
 
   flag_group = parsers['flag']
@@ -27,23 +27,27 @@ def add_parallel_gmm_options(parsers, additional_functions = ['gmm']):
   sub_dir_group.add_argument('--gmm-directory',  default = 'gmm_temp',
       help = 'The sub-directory (relative to --temp-directory), where intermediate gmm files should be stored')
 
+  if sub_module == 'isv':
+    sub_dir_group.add_argument('--isv-directory',  default = 'isv_temp',
+        help = 'The sub-directory (relative to --temp-directory), where intermediate isv training files should be stored')
+
 
 
 # Functions to be added to the FileSelector class, once it is instantiated
 def _kmeans_intermediate_file(self, round):
-  return os.path.join(self.kmeans_temp_directory, 'round_%05d' % round, 'kmeans.hdf5')
+  return os.path.join(self.directories['kmeans'], 'round_%05d' % round, 'kmeans.hdf5')
 
 def _kmeans_stats_file(self, round, start_index, end_index):
-  return os.path.join(self.kmeans_temp_directory, 'round_%05d' % round, 'stats-%05d-%95d.hdf5' % (start_index, end_index))
+  return os.path.join(self.directories['kmeans'], 'round_%05d' % round, 'stats-%05d-%95d.hdf5' % (start_index, end_index))
 
 def _gmm_intermediate_file(self, round):
-  return os.path.join(self.gmm_temp_directory, 'round_%05d' % round, 'gmm.hdf5')
+  return os.path.join(self.directories['gmm'], 'round_%05d' % round, 'gmm.hdf5')
 
 def _gmm_stats_file(self, round, start_index, end_index):
-  return os.path.join(self.gmm_temp_directory, 'round_%05d' % round, 'stats-%05d-%95d.hdf5' % (start_index, end_index))
+  return os.path.join(self.directories['gmm'], 'round_%05d' % round, 'stats-%05d-%95d.hdf5' % (start_index, end_index))
 
 
-def initialize_parallel_gmm(args):
+def initialize_parallel_gmm(args, sub_module = None):
   # get the relevant sub_directory, which depends on the database and the prorocol
   protocol = 'None' if args.database.protocol is None else args.database.protocol
   extractor_sub_dir = protocol if args.database.training_depends_on_protocol and args.extractor.requires_training else '.'
@@ -51,15 +55,18 @@ def initialize_parallel_gmm(args):
 
   fs = FileSelector.instance()
 
-  # add relevant directories to file selector object
-  fs.kmeans_temp_directory = os.path.join(args.temp_directory, sub_dir, args.kmeans_directory)
-  fs.kmeans_file = os.path.join(args.temp_directory, sub_dir, "kmeans.hdf5")
-  fs.gmm_temp_directory = os.path.join(args.temp_directory, sub_dir, args.gmm_directory)
-#  fs.gmm_file = os.path.join(args.temp_directory, sub_dir, "gmm.hdf5")
-  fs.gmm_file = fs.projector_file
-
   # add relevant **functions** to file selector object
   fs.kmeans_intermediate_file = types.MethodType(_kmeans_intermediate_file, fs)
   fs.kmeans_stats_file =  types.MethodType(_kmeans_stats_file, fs)
   fs.gmm_intermediate_file = types.MethodType(_gmm_intermediate_file, fs)
   fs.gmm_stats_file = types.MethodType(_gmm_stats_file, fs)
+
+  # add relevant directories to file selector object
+  fs.directories['kmeans'] = os.path.join(args.temp_directory, sub_dir, args.kmeans_directory)
+  fs.kmeans_file = os.path.join(args.temp_directory, sub_dir, "kmeans.hdf5")
+  fs.directories['gmm'] = os.path.join(args.temp_directory, sub_dir, args.gmm_directory)
+  if sub_module is None:
+    fs.ubm_file = fs.projector_file
+  else:
+    fs.ubm_file = os.path.join(args.temp_directory, sub_dir, "ubm.hdf5")
+    fs.directories['isv'] = os.path.join(args.temp_directory, sub_dir, args.isv_directory)
diff --git a/bob/bio/gmm/tools/gmm.py b/bob/bio/gmm/tools/gmm.py
index 6c443c4..951e6c0 100644
--- a/bob/bio/gmm/tools/gmm.py
+++ b/bob/bio/gmm/tools/gmm.py
@@ -269,8 +269,8 @@ def gmm_mstep(algorithm, iteration, number_of_parallel_jobs, force=False, clean=
     gmm_machine.save(bob.io.base.HDF5File(new_machine_file, 'w'))
 
   if iteration == algorithm.gmm_training_iterations-1:
-    shutil.copy(new_machine_file, fs.gmm_file)
-    logger.info("UBM training: Wrote new GMM machine '%s'", fs.gmm_file)
+    shutil.copy(new_machine_file, fs.ubm_file)
+    logger.info("UBM training: Wrote new GMM machine '%s'", fs.ubm_file)
 
   if clean and iteration > 0:
     old_dir = os.path.dirname(fs.gmm_intermediate_file(iteration-1))
diff --git a/bob/bio/gmm/tools/isv.py b/bob/bio/gmm/tools/isv.py
new file mode 100644
index 0000000..8ec7f54
--- /dev/null
+++ b/bob/bio/gmm/tools/isv.py
@@ -0,0 +1,55 @@
+import logging
+logger = logging.getLogger("bob.bio.gmm")
+
+import bob.io.base
+import os
+
+from bob.bio.base.tools.FileSelector import FileSelector
+from bob.bio.base import utils, tools
+
+def gmm_project(algorithm, extractor, indices, force=False):
+  """Performs GMM projection"""
+  fs = FileSelector.instance()
+
+  algorithm.load_ubm(fs.ubm_file)
+
+  feature_files = fs.training_list('extracted', 'train_projector')
+  projected_files = fs.training_list('isv', 'train_projector')
+
+  logger.info("ISV training: Project features range (%d, %d) from '%s' to '%s'", indices, fs.directories['extracted'], fs.directories['isv'])
+
+  # extract the features
+  for i in range(indices[0], indices[1]):
+    feature_file = feature_files[i]
+    projected_file = projected_files[i]
+
+    if not utils.check_file(projected_file, force):
+      # load feature
+      feature = extractor.read_feature(feature_file)
+      # project feature
+      projected = algorithm.project_ubm(feature)
+      # write it
+      bob.io.base.create_directories_safe(os.path.dirname(projected_file))
+      bob.bio.base.save(projected, projected_file)
+
+
+def isv_training(algorithm, force=False):
+  """Finally, the UBM is used to train the ISV projector/enroller."""
+  fs = FileSelector.instance()
+
+  if utils.check_file(fs.projector_file, force, 800):
+    logger.info("ISV training: Skipping ISV training since '%s' already exists", fs.isv_file)
+  else:
+    # read UBM into the ISV class
+    algorithm.load_ubm(fs.ubm_file)
+
+    # read training data
+    training_list = fs.training_list('isv', 'train_projector', arrange_by_client = True)
+    train_gmm_stats = [[algorithm.read_gmm_stats(filename) for filename in client_files] for client_files in training_list]
+
+    # perform ISV training
+    logger.info("ISV training: training ISV with %d clients", len(train_gmm_stats))
+    algorithm.train_isv(train_gmm_stats)
+    # save result
+    bob.io.base.create_directories_safe(os.path.dirname(fs.projector_file))
+    algorithm.save_projector(fs.projector_file)
diff --git a/bob/bio/gmm/tools/utils.py b/bob/bio/gmm/tools/utils.py
new file mode 100644
index 0000000..df76c4b
--- /dev/null
+++ b/bob/bio/gmm/tools/utils.py
@@ -0,0 +1,47 @@
+import bob.bio.base
+
+def add_jobs(args, submitter, local_job_adder):
+  """Adds all (desired) jobs of the tool chain to the grid, or to the local list to be executed."""
+
+  assert args.grid is not None
+
+  # Here, we use the default bob.bio.base add_jobs function, but intercept it for adding the training
+  SKIPS = ['preprocessing', 'extractor_training', 'extraction', 'projector_training', 'projection', 'enroller_training', 'enrollment', 'score_computation', 'concatenation', 'calibration']
+  original_skips = {key : args.__dict__["skip_%s" % key] for key in SKIPS}
+
+  # first, submit preprocessing and feature extraction; skip all others
+  for key in SKIPS[3:]:
+    setattr(args, "skip_%s" % key, True)
+
+  job_ids = bob.bio.base.script.verify.add_jobs(args, submitter)
+
+  for key in SKIPS[3:]:
+    setattr(args, "skip_%s" % key, original_skips[key])
+
+  # reset skips
+  args.skip_preprocessing = original_skips['preprocessing']
+  args.skip_extractor_training = original_skips['extractor_training']
+  args.skip_extraction = original_skips['extraction']
+
+  # if there are any external dependencies, we need to respect them
+  deps = args.external_dependencies[:]
+  # also, we depend on all previous steps
+  for n in ['preprocessing', 'extractor-training', 'extraction']:
+    if n in job_ids:
+      deps.append(job_ids[n])
+
+  # now, add our jobs
+  job_ids, deps = local_job_adder(args, job_ids, deps, submitter)
+
+  # alright, finish the remaining bits
+  for key in SKIPS[:4]:
+    setattr(args, "skip_%s" % key, True)
+
+  args.external_dependencies = deps
+  job_ids.update(bob.bio.base.script.verify.add_jobs(args, submitter))
+
+  # alright, finish the remaining bits
+  for key in SKIPS[:4]:
+    setattr(args, "skip_%s" % key, original_skips[key])
+
+  return job_ids
diff --git a/setup.py b/setup.py
index 0ed1518..6b18015 100644
--- a/setup.py
+++ b/setup.py
@@ -103,6 +103,7 @@ setup(
       # scripts should be declared using this entry:
       'console_scripts' : [
         'verify_gmm.py      = bob.bio.gmm.script.verify_gmm:main',
+        'verify_isv.py      = bob.bio.gmm.script.verify_isv:main',
       ],
 
       'bob.bio.database': [
-- 
GitLab