From 116e05b74b66da74bd1c34a6876cab334f931748 Mon Sep 17 00:00:00 2001
From: paarongiroux <47163875+paarongiroux@users.noreply.github.com>
Date: Mon, 7 Oct 2019 15:36:35 -0700
Subject: [PATCH] TGO Cassis ALE driver and light time to surface correction
 (#295)

* Adds TGO Cassis ALE driver and adds light time to surface correction

* Add test data

* updated cassis and kaguya tests to get them running
---
 ale/base/data_naif.py                         |   36 +-
 ale/drivers/tgo_drivers.py                    |   66 +
 ...O-2016-11-26T22.32.14.582-RED-01000-B1.xsp |  770 ++++
 ...6-11-26T22.32.14.582-RED-01000-B1_isis.lbl |  473 ++
 ...ck_p_160312_191231_190601_sliced-143410.xc |  136 +
 .../de-403-masses.tpc                         |   65 +
 .../em16_tgo_cassis_v07.ti                    |  608 +++
 .../em16_tgo_ops_v02.tf                       |  258 ++
 ...01_20170301_s20190703_v01_sliced-143000.xc | 2845 ++++++++++++
 .../em16_tgo_step_20190823.tsc                |  225 +
 .../em16_tgo_v18.tf                           | 3662 +++++++++++++++
 .../naif0012.tls                              |  152 +
 .../pck00010.tpc                              | 4061 +++++++++++++++++
 .../rssd0002.tf                               | 1424 ++++++
 .../tgoCassisAddendum007.ti                   |  194 +
 tests/pytests/test_cassis_drivers.py          |  294 ++
 tests/pytests/test_kaguya_drivers.py          |   24 +-
 17 files changed, 15276 insertions(+), 17 deletions(-)
 create mode 100644 ale/drivers/tgo_drivers.py
 create mode 100644 tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1.xsp
 create mode 100644 tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1_isis.lbl
 create mode 100644 tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/cassis_ck_p_160312_191231_190601_sliced-143410.xc
 create mode 100644 tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/de-403-masses.tpc
 create mode 100644 tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/em16_tgo_cassis_v07.ti
 create mode 100644 tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/em16_tgo_ops_v02.tf
 create mode 100644 tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/em16_tgo_sc_spm_20161101_20170301_s20190703_v01_sliced-143000.xc
 create mode 100644 tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/em16_tgo_step_20190823.tsc
 create mode 100644 tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/em16_tgo_v18.tf
 create mode 100644 tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/naif0012.tls
 create mode 100644 tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/pck00010.tpc
 create mode 100644 tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/rssd0002.tf
 create mode 100644 tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/tgoCassisAddendum007.ti
 create mode 100644 tests/pytests/test_cassis_drivers.py

diff --git a/ale/base/data_naif.py b/ale/base/data_naif.py
index bd53033..8527b3c 100644
--- a/ale/base/data_naif.py
+++ b/ale/base/data_naif.py
@@ -1,5 +1,6 @@
 import spiceypy as spice
 import numpy as np
+import scipy.constants
 
 import ale
 from ale.base.type_sensor import Framer
@@ -337,11 +338,36 @@ class NaifSpice():
                 # spkezr returns a vector from the observer's location to the aberration-corrected
                 # location of the target. For more information, see:
                 # https://naif.jpl.nasa.gov/pub/naif/toolkit_docs/FORTRAN/spicelib/spkezr.html
-                state, _ = spice.spkezr(target,
-                                        time,
-                                        self.reference_frame,
-                                        self.light_time_correction,
-                                        observer)
+                if self.correct_lt_to_surface and self.light_time_correction.upper() == 'LT+S':
+                    obs_tar_state, obs_tar_lt = spice.spkezr(target,
+                                                             time,
+                                                             'J2000',
+                                                             self.light_time_correction,
+                                                             observer)
+                    # ssb to spacecraft
+                    ssb_obs_state, ssb_obs_lt = spice.spkezr(observer,
+                                                             time,
+                                                             'J2000',
+                                                             'NONE',
+                                                             'SSB')
+
+                    radius_lt = (self.target_body_radii[2] + self.target_body_radii[0]) / 2 / (scipy.constants.c/1000.0)
+                    adjusted_time = time - obs_tar_lt + radius_lt
+                    ssb_tar_state, ssb_tar_lt = spice.spkezr(target,
+                                                             adjusted_time,
+                                                             'J2000',
+                                                             'NONE',
+                                                             'SSB')
+                    state = ssb_tar_state - ssb_obs_state
+                    matrix = spice.sxform("J2000", self.reference_frame, time)
+                    state = spice.mxvg(matrix, state, 6, 6);
+                else:
+                    state, _ = spice.spkezr(target,
+                                            time,
+                                            self.reference_frame,
+                                            self.light_time_correction,
+                                            observer)
+       
                 if self.swap_observer_target:
                     pos.append(-state[:3])
                     vel.append(-state[3:])
diff --git a/ale/drivers/tgo_drivers.py b/ale/drivers/tgo_drivers.py
new file mode 100644
index 0000000..a81215c
--- /dev/null
+++ b/ale/drivers/tgo_drivers.py
@@ -0,0 +1,66 @@
+from glob import glob
+import os
+
+import struct
+import pvl
+import spiceypy as spice
+import numpy as np
+
+from ale.base import Driver
+from ale.base.data_naif import NaifSpice
+from ale.base.label_isis import IsisLabel
+from ale.base.type_sensor import Framer
+
+class TGOCassisIsisLabelNaifSpiceDriver(Framer, IsisLabel, NaifSpice, Driver):
+    """
+    Driver for reading TGO Cassis ISIS3 Labels. These are Labels that have been ingested
+    into ISIS from PDS EDR images but have not been spiceinit'd yet.
+    """
+    @property
+    def instrument_id(self):
+        """
+        Returns an instrument id for unquely identifying the instrument, but often
+        also used to be piped into Spice Kernels to acquire IKIDs. Therefore they
+        the same ID the Spice expects in bods2c calls.
+        Expects instrument_id to be defined in the Pds3Label mixin. This should
+        be a string of the form CaSSIS
+
+        Returns
+        -------
+        : str
+          instrument id
+        """
+        id_lookup = {
+            'CaSSIS': 'TGO_CASSIS',
+        }
+        return id_lookup[super().instrument_id]
+
+    @property
+    def ephemeris_start_time(self):
+        """
+        Returns the ephemeris_start_time of the image.
+        Expects spacecraft_clock_start_count to be defined. This should be a float
+        containing the start clock count of the spacecraft.
+        Expects spacecraft_id to be defined. This should be the integer Naif ID code
+        for the spacecraft.
+
+        Returns
+        -------
+        : float
+          ephemeris start time of the image.
+        """
+        return spice.utc2et(str(self.label['IsisCube']['Instrument']['StartTime']))
+
+    @property
+    def sensor_frame_id(self):
+        return -143420
+
+    @property
+    def sensor_model_version(self):
+        """
+        Returns
+        -------
+        : int
+          ISIS sensor model version
+        """
+        return 1
diff --git a/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1.xsp b/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1.xsp
new file mode 100644
index 0000000..89b96fc
--- /dev/null
+++ b/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1.xsp
@@ -0,0 +1,770 @@
+DAFETF NAIF DAF ENCODED TRANSFER FILE
+'DAF/SPK '
+'2'
+'6'
+'SPKMERGE                                                    '
+BEGIN_ARRAY 1 39
+'DE-0721LE-0721                          '
+'1FCC1EAE174B29^8'
+'1FCC24377061B7^8'
+'A'
+'0'
+'1'
+'2'
+39
+'1FCD874^8'
+'A8C^5'
+'7EB9214004AB84^5'
+'-AFA4575239476^3'
+'-1226D73F2FAC77^2'
+'51F8F97C4C8C24^-1'
+'-90DB673687649^-2'
+'6F4FF5A90E8C6^-4'
+'-F41B589FE583C^-4'
+'-27B2B38F13078^-4'
+'-418039FC6A82^-5'
+'-4890C9912C7AA4^-6'
+'-15C1FC2636FF23^-7'
+'7E8C47466C70B4^5'
+'1CD162EEB9034^4'
+'-3B6DB4D3C2B746^1'
+'1C5C94FD0CBCC8^0'
+'88529DB209B48^-2'
+'B54C5978E48DB^-3'
+'136EF49616DBFC^-3'
+'A7EB6EFA3E1D48^-5'
+'-11B915D31A45F^-5'
+'-4E5B790F67F628^-6'
+'-A303A7C5757CC^-7'
+'30951E7D45DC44^5'
+'CBD0E310FAF43^3'
+'-149A0E172F8874^1'
+'BAF39F75DB384^-1'
+'4FF3BC6ABE9AF^-2'
+'677BAD1005DB98^-3'
+'C083B96C0B7F78^-4'
+'9B38885540DBD^-5'
+'-2AEDBFCBE136E2^-6'
+'-225A32BA275108^-6'
+'-54F29541FC2B98^-7'
+'1FC2FB4^8'
+'1518^6'
+'23^2'
+'1^1'
+END_ARRAY 1 39
+BEGIN_ARRAY 2 39
+'DE-0721LE-0721                          '
+'1FCC1EAE174B29^8'
+'1FCC24377061B7^8'
+'4'
+'0'
+'1'
+'2'
+39
+'1FD8134^8'
+'1518^6'
+'C5865818718648^7'
+'14DFA6D0D06EDE^6'
+'-16438BAA499E3^6'
+'AD89C5BC78CFF^3'
+'42C2440E2933C^3'
+'-8AE5DA719C8428^1'
+'-A16E615240058^0'
+'31B6F32D8DCF1E^-1'
+'1823A5FE0C2CEF^-2'
+'-EFC4560F98D818^-4'
+'208CEE1467470E^-4'
+'1FBB1BA9FCA8F^6'
+'1F713CDA10E559^7'
+'-282888116C54B8^4'
+'-96D6387D4624B^4'
+'B5BA006737242^2'
+'17541B84D12306^2'
+'-4F703FB73E4B0C^0'
+'-39A4594819C08A^-1'
+'17D8E9C8C4A74A^-2'
+'D5F0AA9176B8A8^-4'
+'-5FD374778ABC5^-5'
+'-4723EF885BC164^6'
+'E62E0F3097B9A8^6'
+'876FE4790B182^4'
+'-457A58991B7B3C^4'
+'3686D0588835EA^2'
+'AEF108F2EFC53^1'
+'-201BD2DEDB3E36^0'
+'-1BB77C0BEF8512^-1'
+'A66FED638EDC^-3'
+'6B2E8E82854AEC^-4'
+'-2655DA668309^-5'
+'1FC2FB4^8'
+'2A3^6'
+'23^2'
+'1^1'
+END_ARRAY 2 39
+BEGIN_ARRAY 3 54
+'MAR097                                  '
+'1FCC1EAE174B29^8'
+'1FCC24377061B7^8'
+'1F3'
+'4'
+'1'
+'3'
+54
+'1FCC0B9^8'
+'2A3^4'
+'1379C45ED0EA61^-3'
+'-5B587C92726B08^-3'
+'-7443BF205081C^-3'
+'1C218B4639A47F^-3'
+'130218AC4C740C^-3'
+'-26BBB4754FBA28^-4'
+'-133055D6C5B7BC^-4'
+'174CD5F904D46^-5'
+'23E99D1B00AD3^-3'
+'7B39098B6324D4^-3'
+'-5985614EA08104^-3'
+'-2FE9187ECD65B4^-3'
+'DD7CC40E12DFE^-4'
+'4A7664BF79048^-4'
+'-C8889A250394E^-5'
+'-425BDB71251A6^-5'
+'9C46DA8DD065C^-4'
+'757C591B7DA31^-3'
+'13DE10BADD0239^-3'
+'-29BE91C0FAA924^-3'
+'-3B39547D696658^-4'
+'3E013227E09B64^-4'
+'480BC96AA55504^-5'
+'-30BD3035A744E^-5'
+'-6FC5D07711F72^-7'
+'-7C29E5431BF28^-6'
+'3750D6DFA14B9^-6'
+'3436CF74EDEC7E^-6'
+'-8B2AC98595721^-7'
+'-5754957427ACE^-7'
+'7BB711AE2E1F9^-8'
+'0^0'
+'5BDED4A8AD7A^-8'
+'-615F0517979B88^-6'
+'-5CBFC10B80DD0C^-6'
+'266F7E98F4B972^-6'
+'1046270D13F3A^-6'
+'-390A69491B300A^-7'
+'-160573ADB390E8^-7'
+'0^0'
+'3E7AABE37797A^-7'
+'14309A05F8D384^-6'
+'-514E220FE2B21^-6'
+'-9F325D9F67FE18^-7'
+'DAFBFCBA87AA2^-7'
+'147E3B9140182F^-7'
+'-102C93FB0CA6F9^-7'
+'0^0'
+'1FCBE16^8'
+'546^4'
+'32^2'
+'1^1'
+END_ARRAY 3 54
+BEGIN_ARRAY 4 569
+'em16_tgo_fsp_048_01_20160314_20181231_v0'
+'1FCC1EAE174B29^8'
+'1FCC24377061B7^8'
+'-8F'
+'1F3'
+'1'
+'13'
+569
+'-44E63E44A804CC^3'
+'1409C2A4EEAECC^4'
+'866228FBE03B2^3'
+'-242DB91B459454^1'
+'-306524A7565A32^1'
+'30BB0E3E38B2E4^0'
+'-492F2AF4B1C2EC^3'
+'13AD53D589D59F^4'
+'86BAE4B66D19^3'
+'-240BD6614FC03E^1'
+'-30FC8974E9DE1C^1'
+'2CB9D5E97AFA52^0'
+'-4D607BD5104CE4^3'
+'13516F8D75FE5^4'
+'870A815D562AC8^3'
+'-23E749F08FDE1^1'
+'-3193D9E665663E^1'
+'28A3B2199AA0F2^0'
+'-517A93F133D928^3'
+'12F614164D12D1^4'
+'875127FFD8C6A8^3'
+'-23C00BA4FCD13E^1'
+'-322B058F0B63AA^1'
+'2478B364F8896^0'
+'-557DD45AD03558^3'
+'129B3FB711BF38^4'
+'878F00A2F141D^3'
+'-239613A92F7E1^1'
+'-32C1FBA47893C8^1'
+'2038EEA7A9B9A6^0'
+'-596A9C2F598D6^3'
+'1240F0B45E85A3^4'
+'87C4324503CE98^3'
+'-23695A7AC49102^1'
+'-3358AB00AD1A38^1'
+'1BE47D1C5487AC^0'
+'-5D41489D7B5B18^3'
+'11E72550931E51^4'
+'87F0E2E179FE5^3'
+'-2339D8EEC1174E^1'
+'-33EF0224499D0E^1'
+'177B7C7423219A^0'
+'-610234EA88AA98^3'
+'118DDBCC00395B^4'
+'8815377454E8D^3'
+'-23078835F8AC44^1'
+'-3484EF3901F304^1'
+'12FE0EEDB9E95F^0'
+'-64ADBA77E41DE8^3'
+'1135126511A993^4'
+'883153FDB35538^3'
+'-22D261E1720DE6^1'
+'-351A601444E264^1'
+'E6C5B6B1AD22D^-1'
+'-684430C85EF2F4^3'
+'10DCC758770B9D^4'
+'88455B854BE4F8^3'
+'-229A5FE6C89858^1'
+'-35AF423A1A0E44^1'
+'9C68D86646975^-1'
+'-6BC5ED858E089^3'
+'1084F8E14AF14C^4'
+'8851701DDAE8F^3'
+'-225F7CA487F3B4^1'
+'-364382E035E364^1'
+'50CD5A5582BD3^-1'
+'-6F33448513DB84^3'
+'102DA53938A37E^4'
+'8855B2E883B8B^3'
+'-2221B2E67FE454^1'
+'-36D70EF143E2D2^1'
+'3F690B966342E8^-2'
+'-728C87CDDED20C^3'
+'FD6CA98A08348^3'
+'8852441825668^3'
+'-21E0FDEA0DD756^1'
+'-3769D310674176^1'
+'-4A17E14828A8A8^-1'
+'-75D2079D5AF0D^3'
+'F806736BB1A168^3'
+'884742F4A2ADA^3'
+'-219D596259F584^1'
+'-37FBBB9CF1F7FA^1'
+'-995A08A644F3F8^-1'
+'-7904126C96695C^3'
+'F2A7949BAE2958^3'
+'8834CDDE1D09B8^3'
+'-2156C17C85699E^1'
+'-388CB4B652472C^1'
+'-E9CBA195D5475^-1'
+'-7C22F4F55856DC^3'
+'ED4FF06ECD6E48^3'
+'881B025022E6F8^3'
+'-210D32E3C789E2^1'
+'-391CAA4036CF3E^1'
+'-13B6816C34B0AF^0'
+'-7F2EFA37292D9C^3'
+'E7FF6A2D7CD288^3'
+'87F9FCE4D0E64^3'
+'-20C0AAC5777082^1'
+'-39AB87E6E9662E^1'
+'-18E2A80A674AAD^0'
+'-82286B7C4C5CD^3'
+'E2B5E515AABC7^3'
+'87D1D957E62DD^3'
+'-207126D4FF5EEC^1'
+'-3A393923E0EF86^1'
+'-1E20DA4F19AE38^0'
+'-850F905EAAB46^3'
+'DD73445C97C048^3'
+'87A2B289CBC338^3'
+'-201EA54FB6F564^1'
+'-3AC5A9428A7A92^1'
+'-2370BF61D492^0'
+'-87E4AECCAD1AC^3'
+'D8376B30960EE^3'
+'876CA2828EE21^3'
+'-1FC92500A0E15^1'
+'-3B50C36549CDC6^1'
+'-28D1F93124E3^0'
+'-8AA80B0E0717B^3'
+'D3023CBAB76A4^3'
+'872FC274CE3D68^3'
+'-1F70A5440833EC^1'
+'-3BDA728AB13516^1'
+'-2E44246F3AA42C^0'
+'-8D59E7C870A93^3'
+'CDD39C2069DB3^3'
+'86EC2AC09A0B5^3'
+'-1F15260AF933B7^1'
+'-3C62A192EFE1B2^1'
+'-33C6D890A33324^0'
+'-8FFA86044EC16^3'
+'C8AB6C85035C6^3'
+'86A1F2F646AF8^3'
+'-1EB6A7DE914CAC^1'
+'-3CE93B457578C6^1'
+'-3959A7CD3AE56C^0'
+'-928A253149BAD^3'
+'C389910B3CBB1^3'
+'865131D931D248^3'
+'-1E552BE321D806^1'
+'-3D6E2A56C8B852^1'
+'-3EFC1F236F896C^0'
+'-9509032AD1037^3'
+'BE6DECD69C0108^3'
+'85F9FD6279A7A8^3'
+'-1DF0B3DB21C913^1'
+'-3DF1596E8E888E^1'
+'-44ADC65DEA18E4^0'
+'-97775C3C8B3B68^3'
+'B958630CCECEA8^3'
+'859C6AC3A62D08^3'
+'-1D894229EAB91E^1'
+'-3E72B32DBE805A^1'
+'-4A6E201BB37B88^0'
+'-99D56B26B20868^3'
+'B448D6D6F5213^3'
+'85388E69441DA^3'
+'-1D1ED9D63E1DD3^1'
+'-3EF2223501CC8^1'
+'-503CA9DAE7DFD8^0'
+'-9C23692258E83^3'
+'AF3F2B62DD0E8^3'
+'84CE7BFD715D^3'
+'-1CB17E8C8F8114^1'
+'-3F6F912B39570C^1'
+'-5618DC060DEC9C^0'
+'-9E618DE59E4D48^3'
+'AA3B43E4300C18^3'
+'845E466A5A8D88^3'
+'-1C4134A1105C8A^1'
+'-3FEAEAC427C0C^1'
+'-5C022A0429102C^0'
+'-A0900FA7C6507^3'
+'A53D0395926778^3'
+'83E7FFDCA97D8^3'
+'-1BCE011179F41B^1'
+'-406419C73B14A8^1'
+'-61F8024B9E0CE4^0'
+'-A2AF23253E3558^3'
+'A0444DB9B5B18^3'
+'836BB9C5E40F^3'
+'-1B57E9869161CA^1'
+'-40DB0916712AA^1'
+'-67F9CE77FD2EEC^0'
+'-A4BEFBA387F758^3'
+'9B51059C5F0B^3'
+'82E984DEBB371^3'
+'-1ADEF45562048E^1'
+'-414FA3B55087A4^1'
+'-6E06F362BF1D9^0'
+'-A6BFCAF50D02A8^3'
+'96630E93627878^3'
+'8261712949B578^3'
+'-1A6328802A918B^1'
+'-41C1D4CFEE1004^1'
+'-741ED13EF8F274^0'
+'-A8B1C17CD73698^3'
+'917A4BFF94C1F^3'
+'81D38DF342329^3'
+'-19E48DB6F95E49^1'
+'-423187C1F592BC^1'
+'-7A40C3B7FF6768^0'
+'-AA950E322F4AA8^3'
+'8C96A14DB5DEE^3'
+'813FE9D80C8C48^3'
+'-19632C57F6215F^1'
+'-429EA81DA7D288^1'
+'-806C2212D6D078^0'
+'-AC69DEA41FED48^3'
+'87B7F1F756AD18^3'
+'80A692C2D2626^3'
+'-18DF0D6F5C1D9^1'
+'-430921B2BD3704^1'
+'-86A03F521CEBD^0'
+'-AE305EFCDD9E48^3'
+'82DE2183BD8128^3'
+'800795F07B704^3'
+'-18583AB730C0B8^1'
+'-4370E0951BC9B8^1'
+'-8CDC6A5BD54008^0'
+'-AFE8BA0514B07^3'
+'7E091388CDA5C8^3'
+'7F62FFF19B01C4^3'
+'-17CEBE96CF196E^1'
+'-43D5D12355E578^1'
+'-931FEE2043C4A^0'
+'-B1931927210538^3'
+'7938ABABF582^3'
+'7EB8DCAC50AD8C^3'
+'-1742A4226B4DF^1'
+'-4437E00CF82D78^1'
+'-996A11C0FAD6E8^0'
+'-B32FA472358EF8^3'
+'746CCDA3252EE8^3'
+'7E09375E1F145C^3'
+'-16B3F71AB2A562^1'
+'-4496FA58C7D414^1'
+'-9FBA18B799AFB8^0'
+'-B4BE829D7B8118^3'
+'6FA55D35CB7824^3'
+'7D541A9DBB5E9^3'
+'-1622C3EC9CF7F4^1'
+'-44F30D6B2F0DD4^1'
+'-A60F42FC6F676^0'
+'-B63FD90B3101F^3'
+'6AE23E3DD1FE78^3'
+'7C99905CD73AB8^3'
+'-158F17B15FC756^1'
+'-454C070D295E7^1'
+'-AC68CD2E1687B^0'
+'-B7B3CBCBCC072^3'
+'662354A88B9E8^3'
+'7BD9A1E9E55BCC^3'
+'-14F9002E3D79FE^1'
+'-45A1D573FF2F5^1'
+'-B2C5F0BBD931C^0'
+'-B91A7DA11F2238^3'
+'61688477845CA4^3'
+'7B1457F1D62F0C^3'
+'-14608BD3B168BC^1'
+'-45F46749FC072C^1'
+'-B925E41518188^0'
+'-BA741001742AD^3'
+'5CB1B1C1224FA8^3'
+'7A49BA81C81CAC^3'
+'-13C5C9BB534D6F^1'
+'-4643ABB7FE016C^1'
+'-BF87DAE0106A3^0'
+'-BBC0A31A865638^3'
+'57FEC0B10DB4E4^3'
+'7979D108A467B^3'
+'-1328C9A3D9547B^1'
+'-468F926F4D9D1^1'
+'-C5EB063A43702^0'
+'-BD0055D43EBF5^3'
+'534F9588648A64^3'
+'78A4A2589FFF9^3'
+'-12899BEAFA3237^1'
+'-46D80BB2B7B5E8^1'
+'-CC4E95041889B8^0'
+'-BE3345D318AA08^3'
+'4EA4149DD1D92^3'
+'77CA34A89747C^3'
+'-11E851859890D3^1'
+'-471D085DA127BC^1'
+'-D2B1B43735B64^0'
+'-BF598F7A213D9^3'
+'49FC225DB44034^3'
+'76EA8D953EDA5^3'
+'-1144FBF769AE97^1'
+'-475E79E80078^1'
+'-D9138F42A71BD^0'
+'-C0734DEC9FDA98^3'
+'4557A34A88E8A^3'
+'7605B2222B99C8^3'
+'-109FAD4BDA35C2^1'
+'-479C5266FE2ABC^1'
+'-DF735061DE116^0'
+'-C1809B0F9155D8^3'
+'40B67BFDC69DF4^3'
+'751BA6BAC1EDB4^3'
+'-FF87811EF1963^0'
+'-47D6848B5019FC^1'
+'-E5D020DF2573B^0'
+'-C2818F8B35A4F8^3'
+'3C189129349B9E^3'
+'742C6F332A25A4^3'
+'-F4F6F5C1100ED^0'
+'-480D039FBE33F^1'
+'-EC292934DB0218^0'
+'-C37642CCF0EBF8^3'
+'377DC798983578^3'
+'73380EC96D24C^3'
+'-EA4A6C331252F8^0'
+'-483FC38AEC618^1'
+'-F27D910E7E317^0'
+'-C45ECB09A71EE8^3'
+'32E6043365516E^3'
+'723E8826CEF25^3'
+'-DF8326AF008FD8^0'
+'-486EB8D6E22858^1'
+'-F8CC7F4046AC4^0'
+'-C53B3D40865608^3'
+'2E512BFE07C6CA^3'
+'713FDD615B853C^3'
+'-D4A27030F23D78^0'
+'-4899D8BE9E33D8^1'
+'-FF1519DC52F74^0'
+'-C60BAD3DF5A5B8^3'
+'29BF241A739B18^3'
+'703C0FFD744498^3'
+'-C9A99C25D28018^0'
+'-48C1193EE13B34^1'
+'-1055686862CEC7^1'
+'-C6D02D9E2FF688^3'
+'252FD1C7F2CC18^3'
+'6F3320EF1DF5BC^3'
+'-BE9A0593DCD18^0'
+'-48E47124B6424C^1'
+'-10B8FEB0172E14^1'
+'-C788CFCF150458^3'
+'20A31A62875B88^3'
+'6E25109AECD7E8^3'
+'-B3750DDDFE06^0'
+'-4903D81402B688^1'
+'-111C06DC8856B8^1'
+'-C835A41101AAD8^3'
+'1C18E3627C2DD6^3'
+'6D11DED6AEFF7C^3'
+'-A83C1B88470F1^0'
+'-491F4683C351E8^1'
+'-117E7366305DB2^1'
+'-C8D6B976F8A018^3'
+'1791125CB32064^3'
+'6BF98AEA2DD014^3'
+'-9CF0997DAFB9D^0'
+'-4936B5B377D0B4^1'
+'-11E036D5986D14^1'
+'-C96C1DE6CC1178^3'
+'130B8D03D7741^3'
+'6ADC139056CE2^3'
+'-9193F71E70E4E^0'
+'-494A1FA1F6DA8C^1'
+'-124143BF83C527^1'
+'-C9F5DE19FFFE48^3'
+'E88392A1154E88^2'
+'69B976F8C289CC^3'
+'-8627A8E070D7E^0'
+'-49597F0D4EDA1C^1'
+'-12A18CC55D62A5^1'
+'-CA74059FA85498^3'
+'A06FCC28D33B4^2'
+'6891B2C91EF98^3'
+'-7AAD28DBE18C04^0'
+'-4964CF7C9B715^1'
+'-1301049FD924E1^1'
+'-CAE69EDED8A8C8^3'
+'587BDE262E5EB8^2'
+'6764C41DDD395C^3'
+'-6F25F6A168EBC^0'
+'-496C0D4C6DCCC^1'
+'-135F9E322AF594^1'
+'-CB4DB318DA5348^3'
+'10A62C10033C63^2'
+'6632A789E3E3DC^3'
+'-6393964377A1D8^0'
+'-496F35B3F72D9C^1'
+'-13BD4C9BE6209F^1'
+'-CBA94A6AA2BCF^3'
+'-3712E47536EC18^2'
+'64FB5915B97F6^3'
+'-57F78F29E26FB8^0'
+'-496E46C00BA438^1'
+'-141A033E5C62EC^1'
+'-CBF96BCDBD134^3'
+'-7EB0EB86E2CA4C^2'
+'63BED43F0CB7F^3'
+'-4C536B74A31024^0'
+'-49693F4C0AD6AC^1'
+'-1475B5B323A36E^1'
+'-CC3E1D195EEFB^3'
+'-C6357EEFBE5A98^2'
+'627D13F93D75^3'
+'-40A8B81F086EBC^0'
+'-49601F04ECE904^1'
+'-14D057BDF7FEB8^1'
+'-CC776304206CF^3'
+'-10DA2321CC0F2F^3'
+'613612AEB2F4A8^3'
+'-34F90537B5A24C^0'
+'-4952E679E8F0A8^1'
+'-1529DD491794BB^1'
+'-CCA54125F20AC8^3'
+'-154F89624A4B94^3'
+'5FE9CA42148578^3'
+'-2945E536EC391E^0'
+'-4941972ED4382C^1'
+'-15823A7269814F^1'
+'-CCC7B9F93F04A8^3'
+'-19C3A39DB1D523^3'
+'5E98340E96213^3'
+'-1D90EB2D92E039^0'
+'-492C339DA3BDC^1'
+'-15D9639FBC5B53^1'
+'-CCDECEDA735F18^3'
+'-1E368A9DA56569^3'
+'5D4148E77798C8^3'
+'-11DBA8A7265C04^0'
+'-4912BF1FEC6E6C^1'
+'-162F4D87D69C99^1'
+'-CCEA80063EFA9^3'
+'-22A85707090BC8^3'
+'5BE50117C756B8^3'
+'-627AC8E51AE0D^-1'
+'-48F53DCF30E5EC^1'
+'-1683ED265A36FA^1'
+'-CCEACC97EB7528^3'
+'-271921575AB18A^3'
+'5A83546384FD4^3'
+'5897C63621E52^-1'
+'-48D3B476E60BF^1'
+'-16D737A39A0BF2^1'
+'-CCDFB288F48798^3'
+'-2B8901E235B0DA^3'
+'591C3A0A3C4258^3'
+'11364685A0EEB^0'
+'-48AE28A72C6D84^1'
+'-172922461F4D3F^1'
+'-CCC92EB1D2E89^3'
+'-2FF810D0CDC388^3'
+'57AFA8C9F57F28^3'
+'1CDD26F57D9DB6^0'
+'-4884A0DAE242E8^1'
+'-1779A27CF5FAD9^1'
+'-CCA73CCAB70608^3'
+'-34666623AAD898^3'
+'563D96E108A1BC^3'
+'287C94D182CF5E^0'
+'-4857248FE1914^1'
+'-17C8ADFC8F5E02^1'
+'-CC79D76B060CB^3'
+'-38D419B4FB44D^3'
+'54C5FA0E557D8C^3'
+'34130B0FD79EB6^0'
+'-4825BC38DD773C^1'
+'-18163AD70471C8^1'
+'-CC40F807DE63E^3'
+'-3D4143392D24A6^3'
+'5348C790D54C64^3'
+'3F9F091A3B5A1A^0'
+'-47F0711071DB7^1'
+'-18623F7BC9AD8B^1'
+'-CBFC96F3740D7^3'
+'-41ADFA3CE6842C^3'
+'51C5F4281A8FE4^3'
+'4B1F112C0B467^0'
+'-47B74CF1754D6^1'
+'-18ACB2A08DCD4C^1'
+'1FCC1E5B4FF4E9^8'
+'1FCC1E79AFCC16^8'
+'1FCC1E97855ED2^8'
+'1FCC1EB4D491C7^8'
+'1FCC1ED1A1300C^8'
+'1FCC1EEDEEEBD8^8'
+'1FCC1F09C15F3A^8'
+'1FCC1F251C0CD^8'
+'1FCC1F4002607^8'
+'1FCC1F5A77AFD3^8'
+'1FCC1F747F3B3A^8'
+'1FCC1F8E1C2E11^8'
+'1FCC1FA7519F8D^8'
+'1FCC1FC022933F^8'
+'1FCC1FD891F9B5^8'
+'1FCC1FF0A2B0FF^8'
+'1FCC2008578548^8'
+'1FCC201FB3315D^8'
+'1FCC2036B85F34^8'
+'1FCC204D69A86C^8'
+'1FCC2063C996DA^8'
+'1FCC2079DAA4FC^8'
+'1FCC208F9F3E73^8'
+'1FCC20A519C086^8'
+'1FCC20BA4C7A8C^8'
+'1FCC20CF39AE63^8'
+'1FCC20E3E390DE^8'
+'1FCC20F84C4A31^8'
+'1FCC210C75F66^8'
+'1FCC212062A59C^8'
+'1FCC2134145CBA^8'
+'1FCC21478D1584^8'
+'1FCC215ACEBF22^8'
+'1FCC216DDB3E76^8'
+'1FCC2180B46E83^8'
+'1FCC21935C20B4^8'
+'1FCC21A5D41D44^8'
+'1FCC21B81E238F^8'
+'1FCC21CA3BEA65^8'
+'1FCC21DC2F2061^8'
+'1FCC21EDF96C36^8'
+'1FCC21FF9C6D02^8'
+'1FCC221119BA98^8'
+'1FCC222272E5D^8'
+'1FCC2233A978CF^8'
+'1FCC2244BEF751^8'
+'1FCC2255B4DEF7^8'
+'1FCC22668CA781^8'
+'1FCC227747C32^8'
+'1FCC2287E79EB3^8'
+'1FCC22986DA212^8'
+'1FCC22A8DB3042^8'
+'1FCC22B931A7C5^8'
+'1FCC22C97262D^8'
+'1FCC22D99EB78F^8'
+'1FCC22E9B7F861^8'
+'1FCC22F9BF7413^8'
+'1FCC2309B67624^8'
+'1FCC23199E46FB^8'
+'1FCC2329782C23^8'
+'1FCC2339456888^8'
+'1FCC2349073CAE^8'
+'1FCC2358BEE6EC^8'
+'1FCC23686DA3A5^8'
+'1FCC237814AD7F^8'
+'1FCC2387B53D9C^8'
+'1FCC2397508BD4^8'
+'1FCC23A6E7CEE6^8'
+'1FCC23B67C3CB9^8'
+'1FCC23C60F0A87^8'
+'1FCC23D5A16D2^8'
+'1FCC23E5349918^8'
+'1FCC23F4C9C3^8'
+'1FCC2404621FA2^8'
+'1FCC2413FEE42F^8'
+'1FCC2423A14675^8'
+'1FCC24334A7D2^8'
+'1FCC2442FBBFE8^8'
+'1FCC2452B647C5^8'
+'1FCC24627B4F31^8'
+'2^1'
+'6^1'
+'5^2'
+'1FCC1E5B4FF4E9^8'
+'1FCC24627B4F31^8'
+'1^1'
+'234^3'
+'1^1'
+'1^1'
+END_ARRAY 4 569
+TOTAL_ARRAYS 4
+ ~NAIF/SPC BEGIN COMMENTS~
+; /home/kberry/kernel_sliced_tgo_two/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1.bsp LOG FILE
+
+; Created 2019-09-06/14:09:03.00.
+;
+; BEGIN SPKMERGE COMMANDS
+
+LEAPSECONDS_KERNEL   = /usgs/cpkgs/isis3/data/base/kernels/lsk/naif0012.tls
+
+SPK_KERNEL = /home/kberry/kernel_sliced_tgo_two/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1.bsp
+  SOURCE_SPK_KERNEL  = /usgs/cpkgs/isis3/data/tgo/kernels/tspk/mar097.bsp
+    INCLUDE_COMMENTS = NO
+    BODIES           = 4, 10, 499
+    BEGIN_TIME       = 2016 NOV 26 22:20:25.908
+    END_TIME         = 2016 NOV 26 22:44:03.256
+SOURCE_SPK_KERNEL = /usgs/cpkgs/isis3/data/tgo/kernels/spk/em16_tgo_fsp_048_01_20160314_20181231_v02.bsp
+    INCLUDE_COMMENTS = NO
+    BODIES           = -143
+    BEGIN_TIME       = 2016 NOV 26 22:20:25.908
+    END_TIME         = 2016 NOV 26 22:44:03.256
+
+; END SPKMERGE COMMANDS
+ ~NAIF/SPC END COMMENTS~
diff --git a/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1_isis.lbl b/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1_isis.lbl
new file mode 100644
index 0000000..58f1e89
--- /dev/null
+++ b/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1_isis.lbl
@@ -0,0 +1,473 @@
+Object = IsisCube
+  Object = Core
+    StartByte   = 65537
+    Format      = Tile
+    TileSamples = 512
+    TileLines   = 256
+
+    Group = Dimensions
+      Samples = 2048
+      Lines   = 256
+      Bands   = 1
+    End_Group
+
+    Group = Pixels
+      Type       = Real
+      ByteOrder  = Lsb
+      Base       = 0.0
+      Multiplier = 1.0
+    End_Group
+  End_Object
+
+  Group = Instrument
+    SpacecraftName            = "TRACE GAS ORBITER"
+    InstrumentId              = CaSSIS
+    TargetName                = Mars
+    StartTime                 = 2016-11-26T22:32:14.582
+    SpacecraftClockStartCount = 2f01543131b1aa13
+    ExposureDuration          = 1.920e-003 <seconds>
+    Filter                    = RED
+    Expanded                  = 1
+    SummingMode               = 0
+  End_Group
+
+  Group = Archive
+    DataSetId                    = TBD
+    ProductVersionId             = UNK
+    ProducerId                   = UBE
+    ProducerName                 = "Nicolas Thomas"
+    ProductCreationTime          = 2017-10-03T10:49:49
+    FileName                     = CAS-MCO-2016-11-26T22.32.14.582-RED-01000--
+                                   B1
+    ScalingFactor                = 1.00
+    Offset                       = 0.00
+    PredictMaximumExposureTime   = 1.5274 <ms>
+    CassisOffNadirAngle          = 50.470 <deg>
+    PredictedRepetitionFrequency = 351.9 <ms>
+    GroundTrackVelocity          = 3.2356 <km/s>
+    ForwardRotationAngle         = 68.821 <deg>
+    SpiceMisalignment            = 8.487 <deg>
+    FocalLength                  = 0.8770 <m>
+    FNumber                      = 6.50
+    ExposureTimeCommand          = 200
+    FrameletNumber               = 0
+    NumberOfFramelets            = 40
+    ImageFrequency               = 1000000 <ms>
+    NumberOfWindows              = 6
+    UniqueIdentifier             = 100797368
+    UID                          = 100797368
+    ExposureTimestamp            = 2f01543131b1aa13
+    ExposureTimePEHK             = 1.920e-003 <ms>
+    PixelsPossiblySaturated      = 0.39
+    IFOV                         = 1.140e-005
+    IFOVUnit                     = rad/px
+    FiltersAvailable             = "BLU RED NIR PAN"
+    FocalLengthUnit              = M
+    TelescopeType                = "Three-mirror anastigmat with powered fold
+                                    mirror"
+    DetectorDescription          = "2D Array"
+    PixelHeight                  = 10.0
+    PixelHeightUnit              = MICRON
+    PixelWidth                   = 10.0
+    PixelWidthUnit               = MICRON
+    DetectorType                 = "SI CMOS HYBRID (OSPREY 2K)"
+    ReadNoise                    = 61.0
+    ReadNoiseUnit                = ELECTRON
+    MissionPhase                 = MCO
+    SubInstrumentIdentifier      = 61.0
+    WindowCount                  = 1
+    Window1Binning               = 0
+    Window1StartSample           = 0
+    Window1EndSample             = 2047
+    Window1StartLine             = 354
+    Window1EndLine               = 632
+    Window2Binning               = 0
+    Window2StartSample           = 0
+    Window2EndSample             = 2047
+    Window2StartLine             = 712
+    Window2EndLine               = 967
+    Window3Binning               = 0
+    Window3StartSample           = 0
+    Window3EndSample             = 2047
+    Window3StartLine             = 1048
+    Window3EndLine               = 1302
+    Window4Binning               = 0
+    Window4StartSample           = 0
+    Window4EndSample             = 2047
+    Window4StartLine             = 1409
+    Window4EndLine               = 1662
+    Window5Binning               = 0
+    Window5StartSample           = 640
+    Window5EndSample             = 767
+    Window5StartLine             = 200
+    Window5EndLine               = 208
+    Window6Binning               = 0
+    Window6StartSample           = 1280
+    Window6EndSample             = 1407
+    Window6StartLine             = 1850
+    Window6EndLine               = 1858
+    YearDoy                      = 2016331
+    ObservationId                = CRUS_049217_238_0
+  End_Group
+
+  Group = BandBin
+    FilterName = RED
+    Center     = 840 <nm>
+    Width      = 100 <nm>
+    NaifIkCode = -143422
+  End_Group
+
+  Group = Kernels
+    NaifFrameCode             = -143400
+    LeapSecond                = $base/kernels/lsk/naif0012.tls
+    TargetAttitudeShape       = ($tgo/kernels/pck/pck00010.tpc,
+                                 $tgo/kernels/pck/de-403-masses.tpc)
+    TargetPosition            = (Table, $tgo/kernels/tspk/de432s.bsp,
+                                 $tgo/kernels/tspk/mar097.bsp)
+    InstrumentPointing        = (Table,
+                                 $tgo/kernels/ck/em16_tgo_sc_spm_20161101_2017-
+                                 0301_s20190703_v01.bc,
+                                 $tgo/kernels/ck/cassis_ck_p_160312_191231_190-
+                                 601.bc, $tgo/kernels/fk/em16_tgo_v18.tf,
+                                 $tgo/kernels/fk/em16_tgo_ops_v02.tf,
+                                 $tgo/kernels/fk/rssd0002.tf)
+    Instrument                = $tgo/kernels/ik/em16_tgo_cassis_v07.ti
+    SpacecraftClock           = $tgo/kernels/sclk/em16_tgo_step_20190823.tsc
+    InstrumentPosition        = (Table,
+                                 $tgo/kernels/spk/em16_tgo_fsp_048_01_20160314-
+                                 _20181231_v02.bsp)
+    InstrumentAddendum        = $tgo/kernels/iak/tgoCassisAddendum007.ti
+    ShapeModel                = $base/dems/molaMarsPlanetaryRadius0005.cub
+    InstrumentPositionQuality = Predicted
+    InstrumentPointingQuality = Reconstructed
+    CameraVersion             = 1
+  End_Group
+
+  Group = AlphaCube
+    AlphaSamples        = 2048
+    AlphaLines          = 2048
+    AlphaStartingSample = 0.5
+    AlphaStartingLine   = 712.5
+    AlphaEndingSample   = 2048.5
+    AlphaEndingLine     = 968.5
+    BetaSamples         = 2048
+    BetaLines           = 256
+  End_Group
+End_Object
+
+Object = Label
+  Bytes = 65536
+End_Object
+
+Object = Table
+  Name                = InstrumentPointing
+  StartByte           = 2176659
+  Bytes               = 64
+  Records             = 1
+  ByteOrder           = Lsb
+  TimeDependentFrames = (-143410, -143400, -143000, 1)
+  ConstantFrames      = (-143420, -143410)
+  ConstantRotation    = (0.0021039880161896, -5.08910327554815e-04,
+                         0.99999765711961, 0.98482103650022, 0.17356149021485,
+                         -0.0019837290716917, -0.17356007404082,
+                         0.98482290292452, 8.66356891752243e-04)
+  CkTableStartTime    = 533471602.76595
+  CkTableEndTime      = 533471602.76595
+  CkTableOriginalSize = 1
+  FrameTypeCode       = 3
+  Description         = "Created by spiceinit"
+  Kernels             = ($tgo/kernels/ck/em16_tgo_sc_spm_20161101_20170301_s2-
+                         0190703_v01.bc,
+                         $tgo/kernels/ck/cassis_ck_p_160312_191231_190601.bc,
+                         $tgo/kernels/fk/em16_tgo_v18.tf,
+                         $tgo/kernels/fk/em16_tgo_ops_v02.tf,
+                         $tgo/kernels/fk/rssd0002.tf)
+
+  Group = Field
+    Name = J2000Q0
+    Type = Double
+    Size = 1
+  End_Group
+
+  Group = Field
+    Name = J2000Q1
+    Type = Double
+    Size = 1
+  End_Group
+
+  Group = Field
+    Name = J2000Q2
+    Type = Double
+    Size = 1
+  End_Group
+
+  Group = Field
+    Name = J2000Q3
+    Type = Double
+    Size = 1
+  End_Group
+
+  Group = Field
+    Name = AV1
+    Type = Double
+    Size = 1
+  End_Group
+
+  Group = Field
+    Name = AV2
+    Type = Double
+    Size = 1
+  End_Group
+
+  Group = Field
+    Name = AV3
+    Type = Double
+    Size = 1
+  End_Group
+
+  Group = Field
+    Name = ET
+    Type = Double
+    Size = 1
+  End_Group
+End_Object
+
+Object = Table
+  Name                 = InstrumentPosition
+  StartByte            = 2176723
+  Bytes                = 56
+  Records              = 1
+  ByteOrder            = Lsb
+  CacheType            = Linear
+  SpkTableStartTime    = 533471602.76595
+  SpkTableEndTime      = 533471602.76595
+  SpkTableOriginalSize = 1.0
+  Description          = "Created by spiceinit"
+  Kernels              = $tgo/kernels/spk/em16_tgo_fsp_048_01_20160314_201812-
+                         31_v02.bsp
+
+  Group = Field
+    Name = J2000X
+    Type = Double
+    Size = 1
+  End_Group
+
+  Group = Field
+    Name = J2000Y
+    Type = Double
+    Size = 1
+  End_Group
+
+  Group = Field
+    Name = J2000Z
+    Type = Double
+    Size = 1
+  End_Group
+
+  Group = Field
+    Name = J2000XV
+    Type = Double
+    Size = 1
+  End_Group
+
+  Group = Field
+    Name = J2000YV
+    Type = Double
+    Size = 1
+  End_Group
+
+  Group = Field
+    Name = J2000ZV
+    Type = Double
+    Size = 1
+  End_Group
+
+  Group = Field
+    Name = ET
+    Type = Double
+    Size = 1
+  End_Group
+End_Object
+
+Object = Table
+  Name                = BodyRotation
+  StartByte           = 2176779
+  Bytes               = 64
+  Records             = 1
+  ByteOrder           = Lsb
+  TimeDependentFrames = (10014, 1)
+  CkTableStartTime    = 533471602.76595
+  CkTableEndTime      = 533471602.76595
+  CkTableOriginalSize = 1
+  FrameTypeCode       = 2
+  PoleRa              = (317.68143, -0.1061, 0.0)
+  PoleDec             = (52.8865, -0.0609, 0.0)
+  PrimeMeridian       = (176.63, 350.89198226, 0.0)
+  Description         = "Created by spiceinit"
+  Kernels             = ($tgo/kernels/tspk/de432s.bsp,
+                         $tgo/kernels/tspk/mar097.bsp,
+                         $tgo/kernels/pck/pck00010.tpc,
+                         $tgo/kernels/pck/de-403-masses.tpc)
+  SolarLongitude      = 269.12863680949
+
+  Group = Field
+    Name = J2000Q0
+    Type = Double
+    Size = 1
+  End_Group
+
+  Group = Field
+    Name = J2000Q1
+    Type = Double
+    Size = 1
+  End_Group
+
+  Group = Field
+    Name = J2000Q2
+    Type = Double
+    Size = 1
+  End_Group
+
+  Group = Field
+    Name = J2000Q3
+    Type = Double
+    Size = 1
+  End_Group
+
+  Group = Field
+    Name = AV1
+    Type = Double
+    Size = 1
+  End_Group
+
+  Group = Field
+    Name = AV2
+    Type = Double
+    Size = 1
+  End_Group
+
+  Group = Field
+    Name = AV3
+    Type = Double
+    Size = 1
+  End_Group
+
+  Group = Field
+    Name = ET
+    Type = Double
+    Size = 1
+  End_Group
+End_Object
+
+Object = Table
+  Name                 = SunPosition
+  StartByte            = 2176843
+  Bytes                = 56
+  Records              = 1
+  ByteOrder            = Lsb
+  CacheType            = Linear
+  SpkTableStartTime    = 533471602.76595
+  SpkTableEndTime      = 533471602.76595
+  SpkTableOriginalSize = 1.0
+  Description          = "Created by spiceinit"
+  Kernels              = ($tgo/kernels/tspk/de432s.bsp,
+                          $tgo/kernels/tspk/mar097.bsp)
+
+  Group = Field
+    Name = J2000X
+    Type = Double
+    Size = 1
+  End_Group
+
+  Group = Field
+    Name = J2000Y
+    Type = Double
+    Size = 1
+  End_Group
+
+  Group = Field
+    Name = J2000Z
+    Type = Double
+    Size = 1
+  End_Group
+
+  Group = Field
+    Name = J2000XV
+    Type = Double
+    Size = 1
+  End_Group
+
+  Group = Field
+    Name = J2000YV
+    Type = Double
+    Size = 1
+  End_Group
+
+  Group = Field
+    Name = J2000ZV
+    Type = Double
+    Size = 1
+  End_Group
+
+  Group = Field
+    Name = ET
+    Type = Double
+    Size = 1
+  End_Group
+End_Object
+
+Object = History
+  Name      = IsisCube
+  StartByte = 2176899
+  Bytes     = 1487
+End_Object
+
+Object = OriginalXmlLabel
+  Name      = IsisCube
+  StartByte = 2163248
+  Bytes     = 13411
+  ByteOrder = Lsb
+End_Object
+
+Object = NaifKeywords
+  BODY_CODE                       = 499
+  BODY499_RADII                   = (3396.19, 3396.19, 3376.2)
+  BODY_FRAME_CODE                 = 10014
+  INS-143400_SWAP_OBSERVER_TARGET = TRUE
+  INS-143400_LIGHTTIME_CORRECTION = LT+S
+  INS-143400_LT_SURFACE_CORRECT   = TRUE
+  INS-143400_FOCAL_LENGTH         = 874.9
+  INS-143400_PIXEL_PITCH          = 0.01
+  INS-143400_TRANSX               = (0.0, 0.01, 0.0)
+  INS-143400_TRANSY               = (0.0, 0.0, 0.01)
+  INS-143400_ITRANSS              = (0.0, 100.0, 0.0)
+  INS-143400_ITRANSL              = (0.0, 0.0, 100.0)
+  INS-143400_BORESIGHT_SAMPLE     = 1024.5
+  INS-143400_BORESIGHT_LINE       = 1024.5
+  INS-143400_OD_A1_CORR           = (0.0037613053094827, -0.013415415606581,
+                                     -1.86749521007237e-05, 1.0002135268184,
+                                     -4.32362371703953e-04,
+                                     -9.48065735350123e-04)
+  INS-143400_OD_A2_CORR           = (9.9842559363676e-05, 0.0037354370795816,
+                                     -0.013329991887393, -2.15311328389359e-04,
+                                     0.99529601553729, -0.018354271771078)
+  INS-143400_OD_A3_CORR           = (-3.13320167004204e-05,
+                                     -7.35655125749807e-06,
+                                     -1.57664245066771e-05, 0.0037354946543915,
+                                     -0.014167194693093, 1.0)
+  INS-143400_OD_A1_DIST           = (0.0021365879556062, -0.007117857650642,
+                                     1.10355974742147e-05, 0.57360718262538,
+                                     2.50884350194894e-04,
+                                     5.50623913037132e-04)
+  INS-143400_OD_A2_DIST           = (-5.69725741015406e-05,
+                                     0.0021515590567915, -0.0071639299176719,
+                                     1.24152787728634e-04, 0.57645954439243,
+                                     0.010576940564854)
+  INS-143400_OD_A3_DIST           = (1.78250771483506e-05,
+                                     4.24592743471094e-06,
+                                     9.51220699036653e-06, 0.0021515842542074,
+                                     -0.0066835595774833, 0.57374154097161)
+  INS-143400_FILTER_SAMPLES       = 2048.0
+  INS-143400_FILTER_LINES         = 2048.0
+End_Object
+End
diff --git a/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/cassis_ck_p_160312_191231_190601_sliced-143410.xc b/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/cassis_ck_p_160312_191231_190601_sliced-143410.xc
new file mode 100644
index 0000000..6c46fd0
--- /dev/null
+++ b/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/cassis_ck_p_160312_191231_190601_sliced-143410.xc
@@ -0,0 +1,136 @@
+DAFETF NAIF DAF ENCODED TRANSFER FILE
+'DAF/CK  '
+'2'
+'6'
+'CASSIS TELESCOPE FRAME CRUISE PHASE ORIENTATION             '
+BEGIN_ARRAY 1 115
+'TGO_CASSIS_TEL FRAME CRUISE PHASE ORIENT'
+'1542E6D0527^B'
+'15433F65E21^B'
+'-23032'
+'-23028'
+'3'
+'1'
+115
+'FFA75CABA1919^0'
+'0^0'
+'-D4F5C3AF67F31^-1'
+'0^0'
+'0^0'
+'F06DBB34D9B1F^-2'
+'0^0'
+'D2F374546798C8^0'
+'0^0'
+'-91096CD2A95F18^0'
+'0^0'
+'0^0'
+'0^0'
+'0^0'
+'D2F374546798C8^0'
+'0^0'
+'-91096CD2A95F18^0'
+'0^0'
+'0^0'
+'0^0'
+'0^0'
+'D2F374546798C8^0'
+'0^0'
+'-91096CD2A95F18^0'
+'0^0'
+'0^0'
+'-30CD8DAD988BD^-2'
+'0^0'
+'D937F727AAE078^0'
+'0^0'
+'-87784666EA028^0'
+'0^0'
+'0^0'
+'0^0'
+'0^0'
+'D937F727AAE078^0'
+'0^0'
+'-87784666EA028^0'
+'0^0'
+'0^0'
+'0^0'
+'0^0'
+'D937F727AAE078^0'
+'0^0'
+'-87784666EA028^0'
+'0^0'
+'0^0'
+'0^0'
+'0^0'
+'D937F727AAE078^0'
+'0^0'
+'-87784666EA028^0'
+'0^0'
+'0^0'
+'31F55371BE21E4^1'
+'0^0'
+'8560E321A801B8^0'
+'0^0'
+'DA824E17C5B2B^0'
+'0^0'
+'0^0'
+'0^0'
+'0^0'
+'8560E321A801B8^0'
+'0^0'
+'DA824E17C5B2B^0'
+'0^0'
+'0^0'
+'0^0'
+'0^0'
+'8560E321A801B8^0'
+'0^0'
+'DA824E17C5B2B^0'
+'0^0'
+'0^0'
+'-23BE8D44A53A14^-1'
+'0^0'
+'818B6DC3927A38^0'
+'0^0'
+'DCCDB221991F38^0'
+'0^0'
+'0^0'
+'0^0'
+'0^0'
+'818B6DC3927A38^0'
+'0^0'
+'DCCDB221991F38^0'
+'0^0'
+'0^0'
+'0^0'
+'0^0'
+'818B6DC3927A38^0'
+'0^0'
+'DCCDB221991F38^0'
+'0^0'
+'0^0'
+'0^0'
+'0^0'
+'1542E6D0527^B'
+'1542F7F1CB1375^B'
+'15430AB1CA9A4A^B'
+'15431231CA69D3^B'
+'154319B1CA395B^B'
+'15431D71CA211F^B'
+'15431F51CA1501^B'
+'15432121CA094B^B'
+'15432131CA08E3^B'
+'15432141CA087C^B'
+'154329F1C9D058^B'
+'15432A31C9CEBA^B'
+'15432D21C9BBBF^B'
+'15433F65E21^B'
+'1542E6D0527^B'
+'1^1'
+'E^1'
+END_ARRAY 1 115
+TOTAL_ARRAYS 1
+ ~NAIF/SPC BEGIN COMMENTS~
+This CK is for testing with the image: /home/kberry/kernel_sliced_tgo/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1.cub
+
+This CK was generated using the following command: {}
+ ~NAIF/SPC END COMMENTS~
diff --git a/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/de-403-masses.tpc b/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/de-403-masses.tpc
new file mode 100644
index 0000000..cbc4f4f
--- /dev/null
+++ b/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/de-403-masses.tpc
@@ -0,0 +1,65 @@
+This file was produced by Bill Taber on October 3, 1997.  
+
+The values in this file are taken from the JPL Interoffice Memorandum
+(IOM 314.10-127 May 22, 1995) "JPL Planetary and Lunar Ephemerides,
+DE403/LE403" by Myles Standish, et al.
+
+
+The masses for the sun and planetary barycenters given in this file are
+derived from the masses used for the integration of the planetary
+ephemeris DE-403.  In the ephemeris the values of the masses are given
+as ratios to of Solar GM to barycenter GM.  These values are given here.
+
+	BODY1_GMSUN/GM  =   6023600.0
+	BODY2_GMSUN/GM  =    408523.71
+	BODY3_GMSUN/GM  =    332946.048134
+	BODY4_GMSUN/GM  =   3098708.0
+	BODY5_GMSUN/GM  =      1047.3486
+	BODY6_GMSUN/GM  =      3497.898
+	BODY7_GMSUN/GM  =     22902.98
+	BODY8_GMSUN/GM  =     19412.24
+	BODY9_GMSUN/GM  = 135200000.0
+
+These values are used by other products that use DE-403 to provide
+gravitational force models for integration of trajectories.  
+
+Given the mass ratios and the mass of the sun, you can compute the mass
+of any barycenter.  These values are supplied in the text data given
+below.  Note that the values provided are rounded to three decimal
+places.
+
+
+
+\begindata
+
+AU         =      149597870.691 
+
+BODY1_GM   =          22032.080
+BODY2_GM   =         324858.599
+BODY3_GM   =         403503.235
+BODY4_GM   =          42828.314
+BODY5_GM   =      126712767.863
+BODY6_GM   =       37940626.063
+BODY7_GM   =        5794549.007
+BODY8_GM   =        6836534.064
+BODY9_GM   =            981.601
+BODY10_GM  =   132712440023.310
+
+\begintext
+
+The masses of bodies other than the earth and moon are simply taken to
+be the masses of the barycenters given above.  The masses of the earth
+and moon are taken from the referenced IOM.
+
+\begindata
+
+BODY199_GM   =          22032.080 
+BODY299_GM   =         324858.599
+BODY301_GM   =           4902.799
+BODY399_GM   =         398600.436
+BODY499_GM   =          42828.314
+BODY599_GM   =      126712767.863
+BODY699_GM   =       37940626.063
+BODY799_GM   =        5794549.007
+BODY899_GM   =        6836534.064
+BODY999_GM   =            981.601
diff --git a/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/em16_tgo_cassis_v07.ti b/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/em16_tgo_cassis_v07.ti
new file mode 100644
index 0000000..39c9cfb
--- /dev/null
+++ b/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/em16_tgo_cassis_v07.ti
@@ -0,0 +1,608 @@
+KPL/IK
+
+CaSSIS Instrument Kernel
+===============================================================================
+ 
+   This instrument kernel (I-kernel) contains the ExoMars-2016 Trace Gas
+   Orbiter (TGO) Colour and Stereo Surface Imaging System (CaSSIS) 
+   instrument optics, detector and field-of-view (FOV) parameters
+   definitions.
+
+
+Version and Date
+-------------------------------------------------------------------------------
+
+   Version 0.7 -- May 11, 2018 -- Stepanov Tulyakov, EPFL
+                                  Marc Costa Sitja, ESAC/ESA
+
+      Updated distortion model and focal length (all depended values,
+      like field of view, boresight are also updated).
+
+   Version 0.6 -- October 16, 2017 -- Jeannie Backer, USGS
+                                      Marc Costa Sitja, ESAC/ESA
+
+      Added description and keywords for distortion model.
+
+   Version 0.5 -- July 20, 2017 -- Marc Costa Sitja, ESAC/ESA
+                                   Antoine Pommerol, SPACE/UNIBE
+
+      Corrected typo as specified in [6]. Added FoV names and performed
+      minor decription data updates.
+
+   Version 0.4 -- January 31, 2017 -- Marc Costa Sitja, ESAC/ESA
+                                      Antoine Pommerol, SPACE/UNIBE
+
+      Corrected CaSSIS Filters' (TGO_CASSIS_*) FoVs boresights and the
+      corresponding diagram for since the +Yfsa axis was flipped as
+      indicated in [6].
+
+   Version 0.3 -- September 8, 2016 -- Marc Costa Sitja, ESAC/ESA
+                                       Jorge Diaz del Rio, ODC Space
+
+      Corrected cross angle values for CaSSIS Filters' (TGO_CASSIS_*) FoVs
+      since they were full angle instead of half angle. 
+      Corrected minor text typos.
+
+   Version 0.2 -- August 2, 2016 -- Marc Costa Sitja, ESAC/ESA
+
+      Updated the NAIF IDs for CASSIS definitions.
+      Corrected all INS_*_FOV_REF_ANGLE from 1.333 deg (full-angle)
+      to 0.6665 (half-angle).
+      Corrected minor typos.
+
+      Preliminary version. Pending review by the CaSSIS instrument team.
+
+   Version 0.1 -- May 24, 2016 -- Jorge Diaz del Rio, ODC Space
+   
+      Improved FoV definition comments by adding reference to the instrument
+      name on the definitions section header.
+
+   Version 0.0 -- May 22, 2016 -- Jorge Diaz del Rio, ODC Space
+   
+      Preliminary version. Pending review by the TGO Science Operations and
+      CaSSIS instrument teams.
+
+
+References
+-------------------------------------------------------------------------------
+
+   1. ``Frames Required Reading''
+
+   2. ``Kernel Pool Required Reading''
+   
+   3. ``C-kernel Required Reading''
+
+   4. ExoMars-2016 Frames Definition Kernel (FK), latest version.
+   
+   5. ``Colour and Stereo Surface Imaging System - CaSSIS,'' experiment
+      overview: http://www.cassis.unibe.ch/instrument/experiment_overview
+
+   6. E-mail "CaSSIS kernel error?" from
+      Antoine Pommerol (antoine.pommerol@space.unibe.ch), 2017-01-25
+
+   7. E-mail ``I-kernel. Follow-up on meeting'' from Nicholas Thomas 
+      (nicolas.thomas@space.unibe.ch), 2017-09-18.
+
+   8.  E-mail ``CaSSIS IK update'' from Jeannie Backer
+      (jwbacker@usgs.gov), 2017-09-27.
+   
+
+Contact Information
+-------------------------------------------------------------------------------
+
+   If you have any questions regarding this file contact SPICE support at ESA:
+
+           Marc Costa Sitja
+           (+34) 91-8131-457
+           mcosta@sciops.esa.int, esa_spice@sciops.esa.int
+           
+   or SPICE support at IKI:
+   
+           Alexander Abbakumov
+           +7 (495) 333-40-13
+           aabbakumov@romance.iki.rssi.ru
+           
+   or NAIF at JPL:
+   
+           Boris Semenov
+           (818) 354-8136
+           Boris.Semenov@jpl.nasa.gov
+      
+     
+Implementation Notes
+------------------------------------------------------------------------------
+
+   Applications that need SPICE I-kernel data must ``load'' the I-kernel file,
+   normally during program initialization. The SPICE routine FURNSH loads a
+   kernel file into the pool as shown below.
+
+      CALL FURNSH ( 'frame_kernel_name' )    -- FORTRAN
+      furnsh_c ( "frame_kernel_name" );      -- C
+      cspice_furnsh, frame_kernel_name       -- IDL
+      cspice_furnsh( 'frame_kernel_name' )   -- MATLAB
+      furnsh( frame_kernel_name )            -- PYTHON*
+
+   Loading the kernel using the SPICELIB routine FURNSH causes the data
+   items and their associated values present in the kernel to become
+   associated with a data structure called the ``kernel pool''. 
+   
+   Once the file has been loaded, the SPICE routine GETFOV (getfov_c in
+   C, cspice_getfov in IDL and MATLAB and cspice.getfov in PYTHON) can be 
+   used to retrieve FOV parameters for a given instrument or structure.
+   
+   The application program may obtain the value(s) for any other IK data
+   item using the SPICELIB routines GDPOOL, GIPOOL, GCPOOL (gdpool_c, gipool_c,
+   gcpool_c in C, cspice_gdpool, cspice_gipool, cspice_gcpool in IDL and
+   MATLAB, cspice.gcpool in PYTHON). See [2] for details.
+
+   This file was created with, and can be updated with a text editor or
+   word processor.
+
+   * SPICEPY is a non-official, community developed Python wrapper for the
+     NAIF SPICE toolkit. Its development is managed on Github.
+     It is available at: https://github.com/AndrewAnnex/SpiceyPy
+
+   
+Naming Conventions and Conventions for Specifying Data
+----------------------------------------------------------------------------
+
+   Data items are specified using ``keyword=value'' assignments [2].
+   All keywords referencing values in this I-kernel start with the
+   characters `INS' followed by the NAIF TGO instrument ID code,
+   constructed using the spacecraft ID number (-143) followed by the
+   NAIF three digit ID number for CaSSIS module. These IDs are
+   defined in [4] as follows:
+   
+      Name                         NAIF ID
+     ---------------------        ---------
+      TGO_CASSIS                   -143400
+      TGO_CASSIS_PAN               -143421
+      TGO_CASSIS_RED               -143422
+      TGO_CASSIS_NIR               -143423
+      TGO_CASSIS_BLU               -143424
+
+
+   The remainder of the keyword name is an underscore character
+   followed by the unique name of the data item. For example, the
+   CaSSIS camera boresight direction in the TGO_CASSIS frame is
+   specified by:
+
+           INS-143400_BORESIGHT
+
+
+   The upper bound on the length of the name of any data item is 32
+   characters.
+
+   If the same item is included in more than one file, or if the same
+   item appears more than once within a single file, the latest value
+   supersedes any earlier values.
+
+
+Instrument Description
+----------------------------------------------------------------------------
+
+   CaSSIS (Colour and Stereo Surface Imaging System) is a high resolution
+   imaging system designed to complement the data acquired by the other
+   payload on the ExoMars-2016 TGO. The instrument comprises a number of
+   sub-elements (see [5]):
+
+   Telescope:
+   ----------
+   
+      The CaSSIS telescope was originally conceived as a three-mirror
+      anastigmat system (off-axis) with a fold mirror. The absence of a
+      central obscuration reduces the straylight by allowing simplified
+      baffling. The primary mirror is around 13.5 cm in diameter. The
+      mirrors are held in a carbon fiber reinforced polymer (CFRP)
+      structure. The focal plane will comprise a single silicon hybrid
+      detector with 4 colour filters mounted on it following the push-frame
+      technique.
+      
+   Focal Plane System:
+   -------------------
+   
+      The system is based upon a Raytheon Osprey 2048x2048 hybrid CMOS
+      detector. The detector can be read-out extremely quickly with 14
+      bit digital resolution. However, it remains a framing device
+      meaning that acquiring an un-smeared image along a rapidly moving
+      ground-track requires short exposures and a rapid imaging sequence.
+      The along-track dimension of the image is then built up and put
+      together on ground.
+
+      To avoid mechanisms the detector is covered with a single monolithic
+      rad-hard fused silica substrate with filters deposited on it.
+      Different coatings with different transmission properties cover the
+      substrate to produce the CaSSIS Filter Strip Assembly (FSA). The
+      transmissions are relatively broad because of signal to noise
+      considerations. Between the filters are small dark bands needed
+      to reduce spectral cross-talk.
+      
+   Rotation mechanism:
+   -------------------
+   
+      The telescope and focal plane are mounted on a rotation mechanism. This
+      solves two key problems. Firstly, the rotation of the spacecraft about
+      the nadir direction can be compensated for. Prior to image acquisition,
+      the imager can be rotated so that the lines are orthogonal to the
+      direction of motion. (In case of rotation mechanism failure, the
+      system would be able to acquire data but at reduced resolution and lower
+      signal to noise) Secondly, the rotation mechanism can be swiveled by
+      ~180 degrees to acquire a stereo image. Hence, the imager has been
+      designed to look 10 degrees ahead of the spacecraft for the first image
+      and 10 degrees behind to acquire the stereo pair. The time necessary to
+      complete the rotation drives the design of the rotation mechanism.
+      
+      The rotation mechanism consists of a hollow shaft supported by two
+      ceramic bearings and driven by a worm gear, whereby the worm wheel is
+      integral part of the hollow shaft. The reduction ratio is ca. 200:1.
+
+      High-strength titanium alloys are used for the gear component, which
+      are hard coated to provide durability. The housing is made of AlBeMet.
+      A stepper motor (modified Port Escap P430) is connected to the worm 
+      shaft via a bellow coupling. End switches are used for zeroing; backlash
+      is compensated by software and is calibrated in-flight.
+
+      A cable management system (the twist capsule) has been implemented to
+      support cables which go from the rotating part of the instrument to
+      fixed electronics box.
+      
+      
+   The following table provides the CaSSIS camera main parameters:
+   
+      --------------------------------------------------
+       Parameter                           Value
+      ---------------------------------  ---------------
+       Focal length, mm                    874.9
+       
+       Aperture diameter, mm               135.0
+       
+       Nominal F#                          6.48
+       
+       Pixel size, microns                 10.00x10.00
+       
+       FoV, degrees
+          Full                              1.341x1.341
+          Used                              1.339x0.845
+       
+       IFOV, micro-radians                  114.31x114.31
+       
+       Time between stereo images, s       46.91
+       
+       Bits/px                             14
+       
+       Detector size, px                   2048x2048
+       
+       Image size, px                      2048x256
+       
+       #images/exposure                    4
+       
+       Filter center wavelength/bw, nm
+          PAN                              675/250   
+          Blue-Green                       485/165
+          Red                              840/100
+          IR                               985/220
+      -------------------------------------------------   
+       
+       
+Mounting Alignment
+----------------------------------------------------------------------------
+
+   Refer to the latest version of the ExoMars-2016 Frames Definition
+   Kernel (FK) [4] for the CaSSIS reference frame definitions and mounting
+   alignment information.
+  
+   
+CaSSIS Camera and Filters Apparent Field-of-View Layouts
+----------------------------------------------------------------------------
+
+   This diagram illustrates the CaSSIS Camera and Filters apparent FOV
+   layouts in the CaSSIS Filter Strip Assembly (TGO_CASSIS_FSA) reference
+   frame.
+
+
+              (1,1)                                 (1,2048)
+                .-------------------------------------.      ------------
+                |                                     |              ^
+                :=====================================: 354          |
+                :               PAN Filter            :              |
+                :=====================================: 633          |
+                |                                     |              |
+                :=====================================: 712          |
+                :               RED Filter            :              |
+                :=====================================: 967          |
+        <--------------------------o                  |         1.3330 deg
+      +Xfsa     :==================|==================:1048          |
+                :               NIR Filter            :              |
+                :==================|==================:1303          |
+                |                  |                  |              |
+                :==================|==================:1389          |
+                :               BLU Filter            :              |
+                :==================|==================:1644          |
+                |                  |                  |              v
+                '------------------|------------------'      ------------
+           (2048,1)                v             (2048,2048)
+                                     +Yfsa
+                |                                     |
+                |<----------------------------------->|
+                |                1.341 deg            |
+
+         
+   The Filters FoV angles are as follows:
+   
+      ------------------------------------------------------------------------
+       Filter     Size (Px)     Bsight offset,px(deg)      FoV dim (x,y)
+      --------   -----------   ------------------------   --------------------
+       PAN         2048x280     -530px (-0.347073 deg)     1.3413 x 0.1834 deg
+       RED         2048x256     -184px (-0.120493 deg)     1.3413 x 0.1677 deg
+       NIR         2048x256     +152px (+0.099538 deg)     1.3413 x 0.1677 deg
+       BLU         2048x256     +493px (+0.322843 deg)     1.3413 x 0.1677 deg
+      ------------------------------------------------------------------------
+
+
+FOV Definition
+---------------------------------------------------------------------------
+
+   This section contains assignments defining the CaSSIS camera and its
+   filters FOVs. These definitions are based on the camera parameters
+   provided in the previous sections and are provided in a format
+   consistent with/required by the SPICE TOOLKIT function GETFOV.
+   
+
+   CaSSIS Full (TGO_CASSIS) FoV:
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+   The CaSSIS FOV is defined as a square pyramid with a full angle of
+   1.340 degrees. It is defined with respect to the TGO_CASSIS_FSA
+   frame. The boresight and the cross-reference vectors are unit along
+   the +Z axis and the +X axis of the frame, respectively.
+
+   Please note that the FOV reference and cross angles are defined with half 
+   angle values. The FoV definition corresponds to the NAIF Body Name: 
+   TGO_CASSIS.
+   
+   \begindata
+
+      INS-143400_NAME                      = 'TGO_CASSIS'
+      INS-143400_BORESIGHT                 = (
+                     0.000000       0.000000     1.000000
+                                             )
+      INS-143400_FOV_FRAME                 = 'TGO_CASSIS_FSA'
+      INS-143400_FOV_SHAPE                 = 'RECTANGLE'
+      INS-143400_FOV_CLASS_SPEC            = 'ANGLES'
+      INS-143400_FOV_REF_VECTOR            = (
+                     1.000000       0.000000     0.000000
+                                             )
+      INS-143400_FOV_REF_ANGLE             = (   0.670570 )
+      INS-143400_FOV_CROSS_ANGLE           = (   0.670570 )
+      INS-143400_FOV_ANGLE_UNITS           = 'DEGREES'
+
+   \begintext
+
+
+   CaSSIS Filters' (TGO_CASSIS_*) FoVs:
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+   The CaSSIS Filters (PAN, RED, NIR, BLU) FOVs are defined as rectangular
+   pyramids with respect to the TGO_CASSIS_FSA frame. The full-angle along
+   the cross-reference vector is the same for all filters and corresponds
+   to the full CaSSIS Field-of-View in that direction, 1.333000 degrees.
+   On the +Y direction, the Field-of-View is defined by the filter's
+   size in pixels. See the ``CaSSIS Camera and Filters Apparent Field-of-View
+   Layouts'' for further information.
+   
+   The boresight of each filter is defined by the direction of the center
+   pixel of the given filter. Based on the offset in pixels (given in
+   the ``CaSSIS Camera and Filters Apparent Field-of-View Layouts'' section),
+   the required rotation angle, along the +X TGO_CASSIS_FSA axis is
+   computed, from which the filter's boresight is obtained:
+   
+       Filter    NAIF ID     Angle, deg    Bsight (x,y,z) in TGO_CASSIS_FSA
+      --------   -------   ------------   ----------------------------------
+       PAN      -143421      -0.347073     ( 0.00000, -0.00606,  1 )
+       RED      -143422      -0.120493     ( 0.00000, -0.00210,  1 )
+       NIR      -143423      +0.099538     ( 0.00000,  0.00174,  1 )
+       BLU      -143424      +0.322843     ( 0.00000,  0.00563,  1 )
+  
+
+   Please note that the FoV reference and cross angles are defined with half 
+   angle values. The FoV definitions correspond to the NAIF Body Names: 
+   TGO_CASSIS_PAN, TGO_CASSIS_RED, TGO_CASSIS_NIR and TGO_CASSIS_BLU.
+
+  \begindata
+
+      INS-143421_NAME                      = 'TGO_CASSIS_PAN'
+      INS-143421_BORESIGHT                 = (
+                     0.0000000000     -0.0060578352     1.0000000000
+                                             )
+      INS-143421_FOV_FRAME                 = 'TGO_CASSIS_FSA'
+      INS-143421_FOV_SHAPE                 = 'RECTANGLE'
+      INS-143421_FOV_CLASS_SPEC            = 'ANGLES'
+      INS-143421_FOV_REF_VECTOR            = (
+                     1.0000000000      0.0000000000     0.0000000000
+                                             )
+      INS-143421_FOV_REF_ANGLE             = (   0.6705703437 )
+      INS-143421_FOV_CROSS_ANGLE           = (   0.0916795392 )
+      INS-143421_FOV_ANGLE_UNITS           = 'DEGREES'
+      
+     
+      INS-143422_NAME                      = 'TGO_CASSIS_RED'
+      INS-143422_BORESIGHT                 = (
+                     0.0000000000     -0.0021030975     1.0000000000
+                                             )       
+      INS-143422_FOV_FRAME                 = 'TGO_CASSIS_FSA'
+      INS-143422_FOV_SHAPE                 = 'RECTANGLE'
+   
+      INS-143422_FOV_CLASS_SPEC            = 'ANGLES'
+      INS-143422_FOV_REF_VECTOR            = (
+                     1.0000000000      0.0000000000     0.0000000000
+                                             )
+      INS-143422_FOV_REF_ANGLE             = (   0.6705703437 )
+      INS-143422_FOV_CROSS_ANGLE           = (   0.0838212930 )
+      INS-143422_FOV_ANGLE_UNITS           = 'DEGREES'
+   
+   
+      INS-143423_NAME                      = 'TGO_CASSIS_NIR'
+      INS-143423_BORESIGHT                 = (
+                     0.0000000000      0.0017373414     1.0000000000
+                                             )
+      INS-143423_FOV_FRAME                 = 'TGO_CASSIS_FSA'
+      INS-143423_FOV_SHAPE                 = 'RECTANGLE'
+      INS-143423_FOV_CLASS_SPEC            = 'ANGLES'
+      INS-143423_FOV_REF_VECTOR            = (
+                     1.000000       0.000000     0.000000
+                                             )
+      INS-143423_FOV_REF_ANGLE             = (   0.6705703437 )
+      INS-143423_FOV_CROSS_ANGLE           = (   0.0838212930 )
+      INS-143423_FOV_ANGLE_UNITS           = 'DEGREES'
+      
+      
+      INS-143424_NAME                      = 'TGO_CASSIS_BLU'
+      INS-143424_BORESIGHT                 = (
+                     0.0000000000      0.0056349297      1.0000000000
+                                             )         
+      INS-143424_FOV_FRAME                 = 'TGO_CASSIS_FSA'
+      INS-143424_FOV_SHAPE                 = 'RECTANGLE'
+      INS-143424_FOV_CLASS_SPEC            = 'ANGLES'
+      INS-143424_FOV_REF_VECTOR            = (
+                     1.0000000000      0.0000000000      0.0000000000
+                                             )
+      INS-143424_FOV_REF_ANGLE             = (   0.6705703437 )
+      INS-143424_FOV_CROSS_ANGLE           = (   0.0838212930 )
+      INS-143424_FOV_ANGLE_UNITS           = 'DEGREES'
+
+  \begintext
+
+
+Optical Distortion
+--------------------------------------------------------
+
+   From [7] and [8]:
+
+   Given ideal image coordinates (x, y) and parameters of rational distortion 
+   model A1, A2, A3 returns distorted image coordinates (i, j).
+
+
+   Correcting distorted coordinates:
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   
+   Converting from distorted (i,j) to ideal (x,y).
+   
+   Rational correction model provided by Stepan Tulyakov and Anoton Ivanov, 
+   EPFL (Ecole Polytechnique Federale de Lausanne).
+   
+   Model is described by following equations:
+   
+    chi = [ i*i i*j, j*j, i, j, 1]
+   
+             A1_corr * chi'
+    x =  ----------------------
+             A3_corr * chi'
+   
+             A2_corr * chi'
+    y =  ----------------------
+             A3_corr * chi'
+   
+    where (i, j) are distorted focal plane coordinates in millimeters,
+          (x, y) are ideal focal plane coordinates in millimeters, and
+          A1_corr, A2_corr, A3_corr are 1x6 vectors, parameters of the 
+          \rational correction model. 
+   
+   \begindata
+   
+         INS-143400_OD_A1_CORR = (  0.00544124551618559,
+                                    0.00242058700718023,
+                                   -2.48577907043558e-05,
+                                    0.999359573639265,
+                                   -0.000130945991526083,
+                                    0.00161016464782889 )
+         INS-143400_OD_A2_CORR = (  9.8077090575503e-05,
+                                    0.00543196976741689,
+                                    0.00248552506455258,
+                                   -0.000360689689268798,
+                                    0.997230456361333,
+                                   -0.01765423906529 )
+         INS-143400_OD_A3_CORR = ( -2.66362211929368e-05,
+                                   -4.18111444381442e-06,
+                                   -2.60434019407289e-05,
+                                    0.00542860345347002,
+                                    0.00164668822925175,
+                                    1 )
+
+
+   \begintext
+   
+     
+      From this equation it follows that for every distorted coordinates 
+      (i, j), there is a unique pair of undistorted coordinates (x, y). 
+      However, converse is not true. To find distorted coordinates from ideal 
+      coordinates we need to solve system of equations, that potentially has 
+      several solutions.
+   
+
+   Distorting ideal coordinates:
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+   Converting from ideal (x,y) to distorted (i,j).
+   
+   Rational correction model provided by Stepan Tulyakov and Anoton Ivanov, 
+   EPFL (Ecole Polytechnique Federale de Lausanne).
+   
+   Model is described by following equations:
+   
+    chi = [ x*x, x*y, y*y, x, y, 1]
+   
+             A1_dist * chi'
+    i =  ----------------------
+             A3_dist * chi'
+   
+             A2_dist * chi'
+    j =  ----------------------
+             A3_dist * chi'
+   
+    where (i, j) are distorted focal plane coordinates in millimeters,
+          (x, y) are ideal focal plane coordinates in millimeters, and 
+          A1_dist, A2_dist, A3_dist are 1x6 vectors, parameters of the rational 
+          distortion model, derived by Stepan Tulyakov and Anoton Ivanov, EPFL 
+          (Ecole Polytechnique Federale de Lausanne).
+
+   \begindata
+   
+         INS-143400_OD_A1_DIST = (  0.0030962215897376,
+                                    0.00193659543570966,
+                                    1.43799661742481e-05,
+                                    0.575732495892843,
+                                    7.45445812599102e-05,
+                                   -0.000924338558685123 )
+         INS-143400_OD_A2_DIST = ( -5.61600987759384e-05,
+                                    0.0031016957502374,
+                                    0.00190053792058327,
+                                    0.000208146838499972,
+                                    0.576977522640326,
+                                    0.010177651661487)
+         INS-143400_OD_A3_DIST = (  1.52240896709669e-05,
+                                    2.40452524963973e-06,
+                                    1.5382711014407e-05,
+                                    0.00310362726634607,
+                                    0.00238330278037335,
+                                    0.575374652906421 )
+
+   \begintext
+
+
+Platform ID
+---------------------------------------------------------------------------
+
+   This number is the NAIF instrument ID of the platform on which the
+   instrument mounted. For all CaSSIS components it is the spacecraft.
+
+  \begindata
+
+      INS-143421_PLATFORM_ID  = ( -143000 )
+      INS-143422_PLATFORM_ID  = ( -143000 )
+      INS-143423_PLATFORM_ID  = ( -143000 )
+      INS-143424_PLATFORM_ID  = ( -143000 )
+
+  \begintext
+
+
+End of IK file.
\ No newline at end of file
diff --git a/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/em16_tgo_ops_v02.tf b/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/em16_tgo_ops_v02.tf
new file mode 100644
index 0000000..939f020
--- /dev/null
+++ b/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/em16_tgo_ops_v02.tf
@@ -0,0 +1,258 @@
+KPL/FK
+
+Frame (FK) SPICE kernel file for TGO science operations frames
+===============================================================================
+
+   This frames kernel defines a number of frames used by the TGO
+   science operations centre to perform mission analysis and attitude
+   dependent science opportunity identification.
+   
+   These frames can be used stand-alone, i.e. referring directly to them and
+   assuming they correspond to the TGO spacecraft reference frame, or
+   in combination with the TGO spacecraft frames. The latter will allow the
+   user to use the existing alignments and instrument frame definitions to
+   perform instrument specific mission analysis and attitude dependent
+   science opportunity identification. Please refer to the section ``Using
+   these frames'' for further details.
+
+
+Version and Date
+-------------------------------------------------------------------------------
+
+   Version 0.2 -- August 2, 2016 -- Marc Costa Sitja, ESAC/ESA
+   
+      Removed ``TGO Mars Nadir orbit-aligned pointing'' frame definition for 
+      there is no use case in ExoMars 2016 for it.
+      Corrected minor typos.
+
+   Version 0.1 -- June 6, 2016 -- Jorge Diaz del Rio, ODC Space
+   
+      Update comments to reflect new file naming conventions for ExoMars 2016
+      frame kernels.
+
+   Version 0.0 -- May 22, 2016 -- Jorge Diaz del Rio, ODC Space
+   
+      Initial version.
+
+
+References
+-------------------------------------------------------------------------------
+
+   [1]   "Frames Required Reading"
+   
+   [2]   "Kernel Pool Required Reading"
+   
+   [3]   ``Science Operations Centre - Flight Dynamics - Pointing
+         Timeline-ICD'' EXM-GS-ICD-ESC-50003 Issue 1.4, 15-12-2015
+   
+
+Contact Information
+-------------------------------------------------------------------------------
+
+   If you have any questions regarding this file contact SPICE support at
+   ESAC:
+
+           Marc Costa Sitja
+           (+34) 91-8131-457
+           mcosta@sciops.esa.int, esa_spice@sciops.esa.int
+           
+   or SPICE support at IKI:
+   
+           Anton Ledkov
+           +7 (495) 333-12-66
+           aledkov@rssi.ru
+           
+   or NAIF at JPL:
+   
+           Boris Semenov
+           (818) 354-8136
+           Boris.Semenov@jpl.nasa.gov
+      
+     
+Implementation Notes
+-------------------------------------------------------------------------------
+
+   This file is used by the SPICE system as follows: programs that make
+   use of this frame kernel must "load" the kernel normally during 
+   program initialization. Loading the kernel associates the data items 
+   with their names in a data structure called the "kernel pool". The 
+   routine that loads a kernel into the pool is shown below:
+                                                                               
+      FORTRAN: (SPICELIB)
+
+         CALL FURNSH ( frame_kernel_name )
+
+      C: (CSPICE)
+
+         furnsh_c ( frame_kernel_name );
+
+      IDL: (ICY)
+
+         cspice_furnsh, frame_kernel_name
+         
+      MATLAB: (MICE)
+      
+         cspice_furnsh ( 'frame_kernel_name' )
+
+   This file was created and may be updated with a text editor or word
+   processor.
+
+
+TGO Science Operations frame names and NAIF ID Codes
+-------------------------------------------------------------------------------
+ 
+   The following frame is defined in this kernel file:
+
+      SPICE Frame Name          Long-name
+      ------------------------  ---------------------------------------------
+      TGO_MARS_NPO              TGO Mars Nadir power-optimized pointing
+
+
+   These frame has the following centers, frame class and NAIF
+   ID:
+   
+      SPICE Frame Name          Center                 Class     NAIF ID
+      ------------------------  ---------------------  -------  ---------
+      TGO_MARS_NPO              TGO                    DYNAMIC   -143910
+
+
+   The keywords implementing that frame definitions is located in the 
+   "TGO Science Operations Frame Definitions" section.
+               
+
+General Notes About This File
+-------------------------------------------------------------------------------
+
+   About Required Data:
+   --------------------
+   All the dynamic frames defined in this file require at least one
+   of the following kernel types to be loaded prior to their evaluation, 
+   normally during program initialization:
+
+     - Planetary and Satellite ephemeris data (SPK), i.e. de432, de405, etc;
+     - Spacecraft ephemeris data (SPK);
+
+   Note that loading different kernels will lead to different
+   orientations of the same frame at a given epoch, providing different
+   results from each other, in terms of state vectors referred to these 
+   frames.
+
+
+   Using these frames
+   ------------------
+   These frames have been implemented to define the different pointing
+   profiles for the TGO spacecraft. These pointing profiles can be
+   used in two different ways:
+
+      [1] ``As is'' for analysis of offsets between the spacecraft
+          attitude defined in the corresponding CK and a given pointing
+          profile. Loading this kernel in combination with any TGO CK
+          will allow the user to perform this comparison between the
+          TGO_SPACECRAFT frame and any of the different frames defined
+          within this kernel.
+   
+      [2] In combination with the TGO Frames kernel, to define
+          a default pointing profile for the whole duration of the mission
+          together with the spacecraft and instrument frames defined in the
+          TGO FK. In this way, instrument-specific mission analysis
+          activities, for which a particular pointing profile and knowledge
+          of the instruments is required, can be conducted without the need
+          for a spacecraft CK.
+      
+          In order to define such default pointing profile, the latest
+          TGO frames kernel and this file shall be loaded before the
+          selected ``TGO spacecraft frame overwrite'' frame kernel. As
+          an example, imagine that the desired default pointing profile is
+          "Nadir power optimized with respect to Mars", then the furnish
+          (metakernel) file should contain the following sequence of frames
+          kernels, in the following order:
+      
+              ...
+         
+              $DATA/fk/em16_tgo_v00.tf
+              $DATA/fk/em16_tgo_ops_v00.tf
+              $DATA/fk/em16_tgo_sc_mars_npo_v01.tf
+         
+              ...
+         
+            (*) the example presents version 0.0 of the ExoMars-2016 frames
+            and TGO Science Operations frames kernels. Newer versions of
+            these files will produce the same results. 
+   
+          By loading the ``em16_tgo_sc_mars_npo_vNN.tf'' frames kernel last,
+          the spacecraft frame TGO_SPACECRAFT, which is defined as a CK-based
+          frame in the ``TGO frames kernel'', will be overwritten as a
+          type-4 fixed offset frame, mapping the TGO_SPACECRAFT frame to
+          the TGO_MARS_NPO frame defined in the ``TGO Science
+          Operations Frames Kernel'' (this) file.
+      
+
+TGO Science Operations Frame Definitions
+-------------------------------------------------------------------------------
+
+   This section contains the definition of the TGO science operations
+   frames.
+
+   
+TGO Mars Nadir power-optimized pointing frame (TGO_MARS_NPO)
+------------------------------------------------------------------------
+
+   Definition:
+   -----------
+   The TGO Mars Nadir power-optimized pointing frame is defined as follows
+   (from [3]):
+
+      -  -Y axis is the primary vector and points from TGO to the
+         center of Mars (Nadir direction);
+         
+      -  -X axis is the secondary vector and is the orthogonal component
+         to the -Y axis of the Sun position relative to TGO;
+         
+      -  +Z axis completes the right-handed system;
+      
+      -  the original of this frame is the spacecraft's center of mass.
+      
+   All vectors are geometric: no corrections are used.
+   
+   
+   Required Data:
+   --------------
+   This frame is defined as a two-vector frame.
+   
+   Both the primary and the secondary vector are defined as an 
+   'observer-target position' vectors, therefore, the ephemeris data
+   required to compute both the TGO-Mars position and the TGO-Sun
+   position in J2000 frame have to be loaded before using this frame.
+
+
+   Remarks:
+   --------
+   Since the primary and secondary vectors of this frame are defined
+   based on the TGO-Mars position and TGO-Sun position vectors, the usage
+   of different ephemerides to compute these vectors may lead to different
+   frame orientation at given time.
+   
+  \begindata
+      
+      FRAME_TGO_MARS_NPO            = -143910
+      FRAME_-143910_NAME            = 'TGO_MARS_NPO'
+      FRAME_-143910_CLASS           =  5
+      FRAME_-143910_CLASS_ID        = -143910
+      FRAME_-143910_CENTER          = -143
+      FRAME_-143910_RELATIVE        = 'J2000'
+      FRAME_-143910_DEF_STYLE       = 'PARAMETERIZED'
+      FRAME_-143910_FAMILY          = 'TWO-VECTOR'
+      FRAME_-143910_PRI_AXIS        = '-Y'
+      FRAME_-143910_PRI_VECTOR_DEF  = 'OBSERVER_TARGET_POSITION'
+      FRAME_-143910_PRI_OBSERVER    = 'TGO'
+      FRAME_-143910_PRI_TARGET      = 'MARS'
+      FRAME_-143910_PRI_ABCORR      = 'NONE'
+      FRAME_-143910_SEC_AXIS        = '-X'
+      FRAME_-143910_SEC_VECTOR_DEF  = 'OBSERVER_TARGET_POSITION'
+      FRAME_-143910_SEC_OBSERVER    = 'TGO'
+      FRAME_-143910_SEC_TARGET      = 'SUN'
+      FRAME_-143910_SEC_ABCORR      = 'NONE'
+      FRAME_-143910_SEC_FRAME       = 'J2000'
+  
+  \begintext
+
diff --git a/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/em16_tgo_sc_spm_20161101_20170301_s20190703_v01_sliced-143000.xc b/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/em16_tgo_sc_spm_20161101_20170301_s20190703_v01_sliced-143000.xc
new file mode 100644
index 0000000..bde9a4f
--- /dev/null
+++ b/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/em16_tgo_sc_spm_20161101_20170301_s20190703_v01_sliced-143000.xc
@@ -0,0 +1,2845 @@
+DAFETF NAIF DAF ENCODED TRANSFER FILE
+'DAF/CK  '
+'2'
+'6'
+'TGO CK; MEASURED; OBTAINED FROM TELEMETRY                   '
+BEGIN_ARRAY 1 2822
+'TGO MEASURED ATTITUDE                   '
+'1542E6D0527^B'
+'15433F65E21^B'
+'-22E98'
+'1'
+'3'
+'1'
+1024
+'4FAEF4DC8A0F34^0'
+'-D68C9AD74A0F5^0'
+'6FB81C93BB4104^0'
+'-19F625947FF1AA^0'
+'162CF208B9BBF6^-5'
+'-46D9B98810BE74^-5'
+'E0ED7769D42^-8'
+'4FAEF10000000C^0'
+'-D68C9AFFFFFFF^0'
+'6FB81D8000000C^0'
+'-19F62A80000004^0'
+'1BFFC59251F4FD^-5'
+'-327E90A96E3A38^-5'
+'-160A7F147FCB3E^-5'
+'4FAEEB8000001C^0'
+'-D68C99FFFFFFE^0'
+'6FB821FFFFFFE4^0'
+'-19F62D60000016^0'
+'-2A3AD15176238C^-5'
+'-5B53A1C36CCF8C^-5'
+'52BCE2D8257508^-5'
+'4FAEE9FFFFFFE^0'
+'-D68C9C^0'
+'6FB81C7FFFFFFC^0'
+'-19F63C80000007^0'
+'-440284BDCD0BE8^-5'
+'-1888C97EADAA25^-4'
+'642AA54C85DC1C^-5'
+'4FAEDA7FFFFFE^0'
+'-D68C99FFFFFFE^0'
+'6FB8207FFFFFF^0'
+'-19F66D40000015^0'
+'74588764203048^-5'
+'-13613C53C2D236^-6'
+'-643C16A6A3FFF8^-5'
+'4FAECF80000008^0'
+'-D68C990000002^0'
+'6FB82C80000024^0'
+'-19F6631FFFFFE6^0'
+'-324568DF824402^-5'
+'-97E3CF2D945EA^-5'
+'498B3959E2F54C^-5'
+'4FAECB8000001^0'
+'-D68C990000002^0'
+'6FB82A0000002^0'
+'-19F6789FFFFFFD^0'
+'-626D6B9C84376C^-5'
+'460A4D363E4E9C^-5'
+'-6DD8276B837E74^-5'
+'4FAEDB0000000C^0'
+'-D68C9000000018^0'
+'6FB8317FFFFFE4^0'
+'-19F6725FFFFFF3^0'
+'-9289530F91EB18^-5'
+'D2DBA00D30D1B^-5'
+'1654E770F264BC^-5'
+'4FAEF57FFFFFE4^0'
+'-D68C8DFFFFFFF8^0'
+'6FB82500000014^0'
+'-19F66520000007^0'
+'-C0DA92EEF76048^-5'
+'D9EC0EEEE37828^-5'
+'16663F2101C4D4^-5'
+'4FAF157FFFFFF4^0'
+'-D68C8B00000018^0'
+'6FB8180000001C^0'
+'-19F659C000001D^0'
+'-66E059D2D779F^-5'
+'975C9B9751D728^-5'
+'-A038F0C00D829^-5'
+'4FAF2A7FFFFFE^0'
+'-D68C7FFFFFFFE8^0'
+'6FB8218^0'
+'-19F6494000000E^0'
+'B518FB142E3B^-5'
+'-E24D094EBC662^-5'
+'-47E6434A8CC8F4^-5'
+'4FAF0C0000000C^0'
+'-D68C7FFFFFFFE8^0'
+'6FB833FFFFFFEC^0'
+'-19F6543FFFFFE8^0'
+'8545663EC98C3^-5'
+'-11A75E9FB0BEA3^-5'
+'-48BD819742DE68^-5'
+'4FAEFE00000004^0'
+'-D68C81^0'
+'6FB83DFFFFFFFC^0'
+'-19F64C00000005^0'
+'95FBBDBEFBDBE8^-5'
+'-515C0789DF2658^-5'
+'235F1100EDDF6C^-5'
+'4FAEE97FFFFFFC^0'
+'-D68C8800000028^0'
+'6FB83F7FFFFFF^0'
+'-19F64DBFFFFFEB^0'
+'3587286709AD8A^-5'
+'-428F0D29962774^-5'
+'4188564A35B02C^-5'
+'4FAEDF7FFFFFEC^0'
+'-D68C8CFFFFFFE8^0'
+'6FB83C00000024^0'
+'-19F65460000005^0'
+'519B68793E4054^-5'
+'92D2831651F018^-5'
+'-CE617A5B9CBCF^-6'
+'4FAEDF00000008^0'
+'-D68C90FFFFFFE^0'
+'6FB8388000000C^0'
+'-19F6400000001C^0'
+'35DAE3FFFBB964^-5'
+'-B0914862220FE8^-5'
+'-11F9C490DC125B^-5'
+'4FAECFFFFFFFEC^0'
+'-D68C9000000018^0'
+'6FB841FFFFFFF4^0'
+'-19F64EE0000019^0'
+'3FB51827569A3C^-5'
+'6C865E253B5E6C^-5'
+'5FDABC670CC0E8^-5'
+'4FAECE00000014^0'
+'-D68C990000002^0'
+'6FB83480000014^0'
+'-19F643C0000022^0'
+'A80EB34A06C6C^-6'
+'-22FE002DE6816C^-5'
+'-1A57AD4DA3AC6C^-5'
+'4FAECB8000001^0'
+'-D68C9800000008^0'
+'6FB838FFFFFFF^0'
+'-19F645E0000018^0'
+'20360B609A694^-6'
+'-830A731F2FFEE^-5'
+'3093FCDE8E33EC^-5'
+'4FAEC38000001C^0'
+'-D68C990000002^0'
+'6FB838FFFFFFF^0'
+'-19F65560000016^0'
+'5CCB747206DA5^-5'
+'-2C809959330372^-5'
+'-415358A8FDB5E^-5'
+'4FAEB800000018^0'
+'-D68C9800000008^0'
+'6FB8428000002^0'
+'-19F6525FFFFFE6^0'
+'863B8A61123C28^-6'
+'-8100C64C11489^-5'
+'2BC385D05B09E6^-5'
+'4FAEAF7FFFFFFC^0'
+'-D68C990000002^0'
+'6FB84300000004^0'
+'-19F6612000000D^0'
+'7CB07DCCA4450C^-5'
+'-F78CE69A733AE8^-6'
+'5230F2036A4244^-5'
+'4FAEA07FFFFFE^0'
+'-D68CA20000002^0'
+'6FB83C80000004^0'
+'-19F65F1FFFFFEE^0'
+'8B430581CBB8B^-5'
+'6359C42CC1D1D4^-5'
+'-CC9D2A135D8D3^-6'
+'4FAE8E80000024^0'
+'-D68CAE00000008^0'
+'6FB83B0000001^0'
+'-19F63A2000001F^0'
+'-3EBB383E446C76^-5'
+'-3D8A1E307B1AAA^-5'
+'-372E03D10F87F8^-5'
+'4FAE928000001C^0'
+'-D68CA7FFFFFFE8^0'
+'6FB8428000002^0'
+'-19F641E000001E^0'
+'-DCFF074BAA796^-5'
+'-36F7A3A93D9E^-5'
+'69FF101D320728^-5'
+'4FAEA57FFFFFE8^0'
+'-D68CA5^0'
+'6FB8370000001C^0'
+'-19F657E000001A^0'
+'-474957766B105C^-5'
+'4320386E744E6^-5'
+'-2DF0FDAA58E92^-5'
+'4FAEB0FFFFFFF^0'
+'-D68CA^0'
+'6FB837FFFFFFE^0'
+'-19F652E0000011^0'
+'8C32EEB1282338^-6'
+'22F2AA2BA6D314^-5'
+'-A01EE455B0651^-5'
+'4FAEB40000002^0'
+'-D68C9800000008^0'
+'6FB8477FFFFFE^0'
+'-19F6487FFFFFF^0'
+'-CC57C865AC756^-6'
+'-292A0F632B237^-5'
+'-88A36929684E88^-5'
+'4FAEB4FFFFFFE4^0'
+'-D68C9000000018^0'
+'6FB8578000000C^0'
+'-19F6483FFFFFFE^0'
+'41CA6A6B140B68^-5'
+'992986315A3F3^-5'
+'-2C835EE13FE2AE^-5'
+'4FAEB700000008^0'
+'-D68C91FFFFFFF8^0'
+'6FB856FFFFFFE^0'
+'-19F632E0000004^0'
+'531895106F6298^-5'
+'51FC81C6920568^-5'
+'-6C27D38997E964^-5'
+'4FAEB40000002^0'
+'-D68C9000000018^0'
+'6FB85FFFFFFFE^0'
+'-19F62180000001^0'
+'-39B5F10FFAF71^-5'
+'8E99063DCA2EC8^-5'
+'-6379BF393AF314^-7'
+'4FAEC1FFFFFFE^0'
+'-D68C9000000018^0'
+'6FB85A0000000C^0'
+'-19F615C0000009^0'
+'-5B3CF93E492A14^-6'
+'-1163E6776FDC3F^-5'
+'-72F8E136D0FD6C^-5'
+'4FAEC2FFFFFFF^0'
+'-D68C88FFFFFFE8^0'
+'6FB86680000028^0'
+'-19F61360000022^0'
+'4796936100326^-5'
+'-172287078D4DFF^-6'
+'-567F5D50DDDFC8^-5'
+'4FAEBC7FFFFFF4^0'
+'-D68C8700000018^0'
+'6FB8707FFFFFF^0'
+'-19F60C40000025^0'
+'-4EA42C738CECDC^-7'
+'-AA74D63911C1B8^-5'
+'-37265875175822^-5'
+'4FAEB40000002^0'
+'-D68C8200000008^0'
+'6FB87D00000004^0'
+'-19F61C00000015^0'
+'-FFDCC8D68D8EF^-6'
+'-7CC6AB6275A968^-5'
+'240AD899E8B6B4^-5'
+'4FAEAE7FFFFFEC^0'
+'-D68C8200000008^0'
+'6FB87E00000014^0'
+'-19F62B5FFFFFF7^0'
+'6A5967CFD072A^-5'
+'-59BB4535C888F^-5'
+'3F16E55CF79E58^-5'
+'4FAE9D7FFFFFF8^0'
+'-D68C8800000028^0'
+'6FB87BFFFFFFF4^0'
+'-19F6316000001^0'
+'3074E715D73BDE^-5'
+'46C837735F2E94^-5'
+'-29CFCC7506EA8E^-5'
+'4FAE9D00000014^0'
+'-D68C88FFFFFFE8^0'
+'6FB87E7FFFFFFC^0'
+'-19F625BFFFFFEC^0'
+'-92300D06F3ABF8^-6'
+'13036098F8261E^-5'
+'-3B2A633E5B56BC^-5'
+'4FAE9F80000018^0'
+'-D68C84FFFFFFF8^0'
+'6FB8838^0'
+'-19F621E0000011^0'
+'-1E145BEF830253^-5'
+'-3C2808FD5DD322^-5'
+'-5B75AB0C3E020C^-5'
+'4FAEA07FFFFFE^0'
+'-D68C7E00000018^0'
+'6FB88F0000000C^0'
+'-19F62640000019^0'
+'-3149146803D968^-5'
+'8842B54829A1D8^-5'
+'-1562EDFEE05AB^-5'
+'4FAEAD80000024^0'
+'-D68C7D00000008^0'
+'6FB88B7FFFFFF4^0'
+'-19F619E000001F^0'
+'-1192A9F5A95BAC^-5'
+'B37DFEDF510CF^-6'
+'4AD29B9D01D6AC^-6'
+'4FAEAFFFFFFFDC^0'
+'-D68C7D00000008^0'
+'6FB88A7FFFFFE4^0'
+'-19F619E000001F^0'
+'78C95E25A85448^-6'
+'-55B7D376E0D71C^-5'
+'-1546EC88129928^-6'
+'4FAEAA7FFFFFF^0'
+'-D68C7BFFFFFFF8^0'
+'6FB88DFFFFFFFC^0'
+'-19F6225FFFFFF6^0'
+'1C2E869A584157^-5'
+'-8202EF3620386^-5'
+'-376B61CDE347F2^-5'
+'4FAEA10000000C^0'
+'-D68C78^0'
+'6FB8990000001C^0'
+'-19F62C3FFFFFEA^0'
+'6123D9DA6FE69C^-5'
+'-3630CC12F4C2E4^-5'
+'4665B08AAD0358^-5'
+'4FAE93^0'
+'-D68C7F00000028^0'
+'6FB8950000002^0'
+'-19F62F5FFFFFEF^0'
+'2D01AB72F1D^-6'
+'-9A3FD508E171B8^-7'
+'1AA3CFADCC9B83^-5'
+'4FAE928000001C^0'
+'-D68C81^0'
+'6FB8928000001C^0'
+'-19F6305FFFFFFF^0'
+'402B6CE7BFC46C^-5'
+'-9232ACC4295F7^-6'
+'A6631C3436A^-5'
+'4FAE88FFFFFFF^0'
+'-D68C8C0000002^0'
+'6FB8820000001^0'
+'-19F63440000023^0'
+'61AA3739847914^-5'
+'-B5FF3126D6119^-5'
+'4C5751C33B3414^-5'
+'4FAE7400000004^0'
+'-D68C91FFFFFFF8^0'
+'6FB8827FFFFFF^0'
+'-19F64500000023^0'
+'27D6D67D370D4A^-5'
+'-44B8D891569968^-5'
+'-6B38B95EEA39E4^-5'
+'4FAE6D80000008^0'
+'-D68C8CFFFFFFE8^0'
+'6FB890FFFFFFE^0'
+'-19F645E0000018^0'
+'-2DDEA2C77B7D72^-5'
+'92BBA41B08B748^-5'
+'-5D5DE1D63AF3C4^-5'
+'4FAE7B80000014^0'
+'-D68C8800000028^0'
+'6FB8947FFFFFF4^0'
+'-19F63560000008^0'
+'-2EFD54B71B5E66^-5'
+'58A927279125BC^-6'
+'-21A1F55C5EB1D2^-5'
+'4FAE80FFFFFFFC^0'
+'-D68C83FFFFFFE8^0'
+'6FB896FFFFFFFC^0'
+'-19F63600000009^0'
+'24C577C7298E4E^-5'
+'3249B87D2B6B58^-5'
+'-29CEB7EA4BEE46^-5'
+'4FAE808000001C^0'
+'-D68C83FFFFFFE8^0'
+'6FB899FFFFFFE^0'
+'-19F62D1FFFFFDD^0'
+'7363E01C208508^-5'
+'-734A77D500213C^-5'
+'EAD65E048878B^-6'
+'4FAE6DFFFFFFEC^0'
+'-D68C8800000028^0'
+'6FB89E80000004^0'
+'-19F63380000005^0'
+'1A5AA805D6BEA1^-5'
+'-336A8FC6292DFC^-5'
+'45422702CDF12^-5'
+'4FAE677FFFFFEC^0'
+'-D68C8C0000002^0'
+'6FB8998^0'
+'-19F63A2000001F^0'
+'1558D8B964E135^-5'
+'6224BDFFC20A0C^-5'
+'-6E78A98510C34C^-5'
+'4FAE6C00000014^0'
+'-D68C8800000028^0'
+'6FB8A17FFFFFF^0'
+'-19F62A5FFFFFE6^0'
+'592FAA4499851C^-5'
+'-1CD4164463B5DC^-5'
+'-3ECFC2391A17A4^-5'
+'4FAE62^0'
+'-D68C8800000028^0'
+'6FB8AA7FFFFFF^0'
+'-19F6261FFFFFFC^0'
+'28595B3138897E^-5'
+'-5C2AD20A462CA^-5'
+'2EA934F461D11A^-6'
+'4FAE588000001C^0'
+'-D68C8800000028^0'
+'6FB8AE00000004^0'
+'-19F62DA0000009^0'
+'1330CB72CC6DD6^-5'
+'16BE41AD19DA1^-5'
+'1D261DDE747BA5^-5'
+'4FAE578000000C^0'
+'-D68C8B00000018^0'
+'6FB8AA7FFFFFF^0'
+'-19F62B5FFFFFF7^0'
+'-5B6BC9E3570414^-5'
+'4307BBDBA0653C^-6'
+'65B5270782CB8^-5'
+'4FAE5FFFFFFFE^0'
+'-D68C8CFFFFFFE8^0'
+'6FB89E80000004^0'
+'-19F633E0000014^0'
+'-5A11FFB67BD9B^-5'
+'7D41247179A028^-5'
+'127D6587A922AA^-5'
+'4FAE7000000008^0'
+'-D68C8C0000002^0'
+'6FB89680000014^0'
+'-19F62C60000007^0'
+'-51923F24918F28^-5'
+'AAB9854BA5A6B8^-6'
+'-1626EAD926F50A^-5'
+'4FAE797FFFFFF^0'
+'-D68C8800000028^0'
+'6FB8977FFFFFE^0'
+'-19F62EE000000A^0'
+'-1DEABC9C7289DB^-5'
+'-B241EEEE20CB7^-5'
+'36F4BA241138B6^-5'
+'4FAE71FFFFFFE4^0'
+'-D68C8700000018^0'
+'6FB8980000000C^0'
+'-19F64540000016^0'
+'-1413CCBC0FBCC^-5'
+'-516E11F1028C^-5'
+'3F1315E3D9E236^-5'
+'4FAE6EFFFFFFFC^0'
+'-D68C88FFFFFFE8^0'
+'6FB8947FFFFFF4^0'
+'-19F6516000001D^0'
+'1206A68BE3BD17^-5'
+'C19BA6724A867^-6'
+'-1BD8720DD11CAE^-5'
+'4FAE6DFFFFFFEC^0'
+'-D68C8800000028^0'
+'6FB896FFFFFFFC^0'
+'-19F64DFFFFFFDE^0'
+'-34D9991DCCF49E^-5'
+'10AD6E42753DAB^-5'
+'-749369F60424DC^-5'
+'4FAE7600000024^0'
+'-D68C7FFFFFFFE8^0'
+'6FB8A20000001C^0'
+'-19F64A9FFFFFE6^0'
+'-10581333435F53^-5'
+'38711DF6A88A0C^-5'
+'-1283674EA314C1^-5'
+'4FAE7AFFFFFFE4^0'
+'-D68C7F00000028^0'
+'6FB8A17FFFFFF^0'
+'-19F644E0000007^0'
+'29EE75FAC2A2C8^-5'
+'D7AAD7C22A678^-6'
+'6EA587542AC0B8^-5'
+'4FAE7600000024^0'
+'-D68C8700000018^0'
+'6FB895FFFFFFEC^0'
+'-19F64580000008^0'
+'8436A807C5BBB8^-5'
+'-48901510DDAD4C^-5'
+'5A0235E9B93438^-5'
+'4FAE630000001^0'
+'-D68C9000000018^0'
+'6FB890FFFFFFE^0'
+'-19F6495FFFFFE3^0'
+'-18D11A67A7507A^-5'
+'36396501CC144^-6'
+'-768F73643E58E8^-6'
+'4FAE65FFFFFFFC^0'
+'-D68C8F00000008^0'
+'6FB8918000000C^0'
+'-19F64A20000001^0'
+'-2EBC6928EDE67^-5'
+'-A37FFA7DDD3058^-5'
+'63FE1F4FA71C1^-5'
+'4FAE608000000C^0'
+'-D68C9000000018^0'
+'6FB88C80000004^0'
+'-19F6619FFFFFF2^0'
+'-47DB35C42478EC^-5'
+'422FB0CD316BB4^-5'
+'-16BF9119DCE0A3^-5'
+'4FAE6C00000014^0'
+'-D68C8CFFFFFFE8^0'
+'6FB88B7FFFFFF4^0'
+'-19F65DC0000016^0'
+'-86FDEE2CB27A3^-5'
+'91329593C4FC6^-5'
+'2C45056B259C46^-5'
+'4FAE817FFFFFE4^0'
+'-D68C8C0000002^0'
+'6FB87F8000000C^0'
+'-19F6579FFFFFE1^0'
+'-38DC32D2AFA9F4^-5'
+'CB5108D5177FD8^-5'
+'-4E214FE9EB617^-5'
+'4FAE937FFFFFE4^0'
+'-D68C8800000028^0'
+'6FB87F00000024^0'
+'-19F64260000003^0'
+'598FCE7C39AC68^-6'
+'1B2058477713EB^-5'
+'-2407075F264462^-5'
+'4FAE9500000024^0'
+'-D68C8700000018^0'
+'6FB8820000001^0'
+'-19F63DDFFFFFDE^0'
+'-6EF363B9AE1CB4^-5'
+'77E765662F204C^-5'
+'33B348C543487C^-5'
+'4FAEA67FFFFFF8^0'
+'-D68C8700000018^0'
+'6FB8768000000C^0'
+'-19F63960000001^0'
+'-7418C0A63C0DC8^-5'
+'B9DECFF67237D^-6'
+'-18934B5E39E06E^-5'
+'4FAEB37FFFFFF4^0'
+'-D68C81^0'
+'6FB876FFFFFFEC^0'
+'-19F63D80000016^0'
+'1B056BD8E22C0A^-5'
+'-D9C3EBC9A4B59^-5'
+'678A7AA518E598^-5'
+'4FAEA38000001^0'
+'-D68C84FFFFFFF8^0'
+'6FB87500000014^0'
+'-19F656E000000A^0'
+'-262C249744A624^-5'
+'-B7BFDBCF53D5D^-5'
+'53E5D15623D698^-5'
+'4FAE9C7FFFFFE4^0'
+'-D68C860000001^0'
+'6FB872FFFFFFF4^0'
+'-19F66F7FFFFFDF^0'
+'2DB27928B7CA8C^-5'
+'-9D9012CDBC11A^-5'
+'-53B8275CB1171^-6'
+'4FAE8F00000008^0'
+'-D68C84FFFFFFF8^0'
+'6FB87A0000002^0'
+'-19F67D3FFFFFF8^0'
+'61AE6BC3631AF4^-5'
+'7CB4D3C05DFCF8^-5'
+'-115D1F93024BC2^-5'
+'4FAE8C0000002^0'
+'-D68C8A^0'
+'6FB8787FFFFFE^0'
+'-19F66A3FFFFFE4^0'
+'A226409FD39B08^-5'
+'-EF2A0E291BA368^-7'
+'-3580E606579C44^-5'
+'4FAE7B80000014^0'
+'-D68C8CFFFFFFE8^0'
+'6FB87FFFFFFFF^0'
+'-19F65F5FFFFFDF^0'
+'92B182983AFC78^-6'
+'C7C896F62F0A28^-5'
+'3F8D62EA1FE638^-5'
+'4FAE8480000014^0'
+'-D68C93^0'
+'6FB8718^0'
+'-19F64C60000014^0'
+'-B3317FE75B6358^-6'
+'3C3FDCF0E9359C^-5'
+'-1F5F219495689C^-5'
+'4FAE898000001C^0'
+'-D68C91FFFFFFF8^0'
+'6FB8728000001^0'
+'-19F64580000008^0'
+'-82FAA9BAAF1208^-5'
+'24434B13F81C7^-5'
+'-D38AF366721618^-6'
+'4FAE997FFFFFFC^0'
+'-D68C8CFFFFFFE8^0'
+'6FB8710000001C^0'
+'-19F6486000001C^0'
+'-1DF8CB601B8DF6^-5'
+'-74E2D5A1C909F8^-5'
+'5AC61BCB0FEEEC^-5'
+'4FAE9500000024^0'
+'-D68C8F00000008^0'
+'6FB86B7FFFFFE4^0'
+'-19F659C000001D^0'
+'308FAC59D5A26A^-5'
+'-3FA6E511DB04EC^-5'
+'9F77AC52703238^-5'
+'4FAE8A7FFFFFE4^0'
+'-D68C990000002^0'
+'6FB85E0000000C^0'
+'-19F66400000021^0'
+'886AAD198E37D8^-5'
+'-7DD2CA61912BC8^-5'
+'6476281AF56128^-5'
+'4FAE7400000004^0'
+'-D68CA20000002^0'
+'6FB85A0000000C^0'
+'-19F66DA0000023^0'
+'-39B7DE323B3F6E^-5'
+'-14DD024136BC0E^-5'
+'742BA5F69C386C^-5'
+'4FAE7780000018^0'
+'-D68CA600000018^0'
+'6FB84E00000024^0'
+'-19F67780000019^0'
+'-D0FBA74C52804^-6'
+'-170F347FE561AD^-5'
+'C60F5E6F8EB59^-6'
+'4FAE7780000018^0'
+'-D68CA600000018^0'
+'6FB84D7FFFFFF8^0'
+'-19F67B20000003^0'
+'-5D79063FC36E1C^-5'
+'C4483DC57A3CE8^-6'
+'136FCF290BA677^-5'
+'4FAE817FFFFFE4^0'
+'-D68CA2FFFFFFE^0'
+'6FB8498^0'
+'-19F67F9FFFFFDF^0'
+'-281C4AEA06E356^-5'
+'-30B8ACDFD35EB8^-5'
+'-481CD26771D158^-5'
+'4FAE83FFFFFFE4^0'
+'-D68C9D0000001^0'
+'6FB8528^0'
+'-19F68420000004^0'
+'3BFD67099E1E2E^-5'
+'E3751C3E9CB5D8^-7'
+'-16566033A9D202^-5'
+'4FAE7E00000014^0'
+'-D68C9E0000002^0'
+'6FB8557FFFFFEC^0'
+'-19F67FE0000019^0'
+'34EA54DA341DF6^-5'
+'100E694CD0C27A^-5'
+'33B16B79DDFDAA^-6'
+'4FAE797FFFFFF^0'
+'-D68CA100000008^0'
+'6FB8557FFFFFEC^0'
+'-19F67B80000011^0'
+'-3C0040740E1A36^-5'
+'7793899DA12C3C^-5'
+'-1E67AC7DF6C83A^-5'
+'4FAE867FFFFFEC^0'
+'-D68C9E0000002^0'
+'6FB852FFFFFFE4^0'
+'-19F6710000001C^0'
+'-21DE385A1FB142^-5'
+'64467D34ECCCE4^-5'
+'-701F46A2AE8044^-5'
+'4FAE90FFFFFFE^0'
+'-D68C9800000008^0'
+'6FB85A7FFFFFF4^0'
+'-19F66400000021^0'
+'-4F98A1351D55D4^-5'
+'66C967205F1C94^-5'
+'9E3B0232873BE^-5'
+'4FAE9D00000014^0'
+'-D68C9EFFFFFFE8^0'
+'6FB8450000002^0'
+'-19F663BFFFFFE7^0'
+'-397CA3C44672DC^-5'
+'-629DAD00022A48^-6'
+'7A65EF09612358^-5'
+'4FAEA10000000C^0'
+'-D68CA2FFFFFFE^0'
+'6FB8378^0'
+'-19F66C40000005^0'
+'-61BCB55B245E2C^-5'
+'-7886449F2133A^-5'
+'1F44A038EFCDFF^-5'
+'4FAEA48000002^0'
+'-D68CA^0'
+'6FB837FFFFFFE^0'
+'-19F67F8000000A^0'
+'8F2C2DDF84FAB8^-6'
+'-B1058E94C34C9^-5'
+'21B4174074C9D6^-5'
+'4FAE997FFFFFFC^0'
+'-D68CA^0'
+'6FB83B7FFFFFF4^0'
+'-19F692DFFFFFE4^0'
+'16CF9B6AF74AC^-5'
+'-3834BDF6A900B^-5'
+'654A7164AA11FC^-5'
+'4FAE928000001C^0'
+'-D68CA5^0'
+'6FB8330000002^0'
+'-19F69B60000001^0'
+'85F398051AF7^-5'
+'-3CAE8459174A6C^-5'
+'DE43BE77EDAF7^-5'
+'4FAE7E7FFFFFFC^0'
+'-D68CB5FFFFFFF8^0'
+'6FB8200000001^0'
+'-19F6A320000001^0'
+'21DE028AD87CDE^-5'
+'186C3D1BA601D2^-5'
+'3DD7C31B1810CE^-5'
+'4FAE7B80000014^0'
+'-D68CBB^0'
+'6FB818FFFFFFE4^0'
+'-19F6A11FFFFFE1^0'
+'C1E4C5D160F518^-6'
+'6726F2B0D0DB14^-5'
+'-1D67CF67079DD6^-6'
+'4FAE7FFFFFFFEC^0'
+'-D68CBD0000002^0'
+'6FB8158000001C^0'
+'-19F695A0000022^0'
+'-472A54C80C820C^-5'
+'8EF77FA3F4F74^-5'
+'-69F85B5D091A2^-5'
+'4FAE907FFFFFFC^0'
+'-D68CB5FFFFFFF8^0'
+'6FB819FFFFFFF4^0'
+'-19F68660000016^0'
+'43AB76EA798EFC^-5'
+'-3C18C8CADDA776^-5'
+'-45FC29A8B4CD94^-5'
+'4FAE8700000018^0'
+'-D68CB400000018^0'
+'6FB8247FFFFFEC^0'
+'-19F6863FFFFFF9^0'
+'5FF61752AA87DC^-5'
+'-721688E128B978^-5'
+'-47EB1EDFAD0CF8^-5'
+'4FAE7780000018^0'
+'-D68CB2^0'
+'6FB8317FFFFFE4^0'
+'-19F68A2000001D^0'
+'76BAF32CD3CF8C^-5'
+'-97AEE15CA6A5D8^-5'
+'62E2F67A2C8DA^-5'
+'4FAE618000001C^0'
+'-D68CB9FFFFFFE8^0'
+'6FB82E7FFFFFFC^0'
+'-19F69760000009^0'
+'23FC9943DDAA9A^-5'
+'4F7DFA36E239C^-5'
+'-377F6249EB8F02^-5'
+'4FAE630000001^0'
+'-D68CB9FFFFFFE8^0'
+'6FB8320000001^0'
+'-19F68B0000001^0'
+'-40DABAF5FCEB8C^-5'
+'59E8A37404BFFC^-5'
+'A5BDB12833F1C^-6'
+'4FAE6E80000018^0'
+'-D68CB8FFFFFFE^0'
+'6FB82C80000024^0'
+'-19F68580000023^0'
+'83755EFCE62A18^-5'
+'5B2DA7DDF8A698^-5'
+'-93D796DA05DC48^-5'
+'4FAE677FFFFFEC^0'
+'-D68CB700000008^0'
+'6FB83A^0'
+'-19F66EFFFFFFFB^0'
+'7C7B011709A228^-6'
+'87CBC605015338^-5'
+'338CEFCF0971F4^-5'
+'4FAE6D80000008^0'
+'-D68CBC00000018^0'
+'6FB82F8000000C^0'
+'-19F6626000001^0'
+'5AEBAD7046F314^-5'
+'-505796656443C4^-5'
+'9F28EF4B420A68^-5'
+'4FAE5D80000024^0'
+'-D68CC6FFFFFFE8^0'
+'6FB822FFFFFFF4^0'
+'-19F66C00000012^0'
+'-4605738FE1E728^-5'
+'5032F89A43053C^-5'
+'651B87F5995514^-5'
+'4FAE680000001C^0'
+'-D68CCAFFFFFFE^0'
+'6FB81480000004^0'
+'-19F66B60000011^0'
+'-1C478C206FE15A^-5'
+'-4EEFF7732C6038^-5'
+'112A9F94EBB8AC^-5'
+'4FAE6680000024^0'
+'-D68CCA0000002^0'
+'6FB8158000001C^0'
+'-19F675E0000008^0'
+'-6ACA9B497B5DA^-5'
+'2DB7CA86C313E6^-5'
+'-7079D67C24A814^-5'
+'4FAE757FFFFFF8^0'
+'-D68CC000000008^0'
+'6FB81DFFFFFFEC^0'
+'-19F6728000001^0'
+'-3DB985ED5F211^-5'
+'-2F4C48C503A46^-5'
+'-292CCF9F0C2834^-5'
+'4FAE7A0000001C^0'
+'-D68CBB^0'
+'6FB8238000002^0'
+'-19F6793FFFFFFF^0'
+'-7B152F9373CD74^-5'
+'-1873E1FA1893DC^-5'
+'-6E4088B4D65A58^-5'
+'4FAE8700000018^0'
+'-D68CB000000028^0'
+'6FB82E7FFFFFFC^0'
+'-19F67E40000008^0'
+'-C8CE246041B4A8^-5'
+'78BAD071CB3ABC^-5'
+'4715FF73BAB214^-5'
+'4FAEA17FFFFFF^0'
+'-D68CACFFFFFFF8^0'
+'6FB81F7FFFFFE^0'
+'-19F67F40000018^0'
+'1D9FDE36009554^-5'
+'390E7C773E7A0C^-5'
+'-18C8E0E9FB48E8^-5'
+'4FAEA20000001C^0'
+'-D68CAE00000008^0'
+'6FB8207FFFFFF^0'
+'-19F676BFFFFFFB^0'
+'-27977624DE8314^-6'
+'-4658B2CB465C88^-5'
+'-4DF94E1B6C5E9C^-5'
+'4FAE9F80000018^0'
+'-D68CA9^0'
+'6FB82B80000014^0'
+'-19F67B4000001F^0'
+'813901B6E629A8^-5'
+'-4235DC86F550A4^-5'
+'13CD30606203B4^-5'
+'4FAE8DFFFFFFF8^0'
+'-D68CAE00000008^0'
+'6FB82D7FFFFFEC^0'
+'-19F67BE0000021^0'
+'8F917A366BF8B^-5'
+'16D15992609C2B^-5'
+'2D58F20A0B2172^-5'
+'4FAE7F8000000C^0'
+'-D68CB5FFFFFFF8^0'
+'6FB8297FFFFFF4^0'
+'-19F67360000003^0'
+'6EEB115D4409A^-5'
+'405018A43DCB4C^-5'
+'20DED30887CB4E^-5'
+'4FAE76FFFFFFEC^0'
+'-D68CBD0000002^0'
+'6FB82500000014^0'
+'-19F667DFFFFFFD^0'
+'531A68F737F138^-5'
+'-9F0F85705EE338^-5'
+'C63B43AA4945D8^-6'
+'4FAE6580000018^0'
+'-D68CBEFFFFFFF8^0'
+'6FB82AFFFFFFE4^0'
+'-19F6747FFFFFE8^0'
+'-36EFA0661DC98E^-5'
+'-8C7DF332EF3978^-5'
+'D203404682F2C8^-6'
+'4FAE637FFFFFF8^0'
+'-D68CBC00000018^0'
+'6FB82E7FFFFFFC^0'
+'-19F686BFFFFFDD^0'
+'-372C131C24A59A^-5'
+'-A38A38FA34715^-5'
+'-D16804CF76D798^-6'
+'4FAE608000000C^0'
+'-D68CB700000008^0'
+'6FB83580000024^0'
+'-19F69A5FFFFFF2^0'
+'-8D9BD3CE148C9^-5'
+'A71AB3BA684F08^-5'
+'-85D2BD3EE1BD08^-6'
+'4FAE787FFFFFE^0'
+'-D68CB300000008^0'
+'6FB82E0000001C^0'
+'-19F6904000000A^0'
+'33FE0AC1506416^-5'
+'-A7AEC0A51986A^-6'
+'-4AC8C4D052D524^-5'
+'4FAE738000002^0'
+'-D68CB0FFFFFFE8^0'
+'6FB8370000001C^0'
+'-19F68BA0000011^0'
+'2542E9D3B0027C^-5'
+'335B25F72016B8^-5'
+'3BF46B29AC9E82^-5'
+'4FAE718^0'
+'-D68CB5FFFFFFF8^0'
+'6FB82EFFFFFFE^0'
+'-19F6867FFFFFEB^0'
+'909E67C99F698^-5'
+'-494540B3DDFF64^-5'
+'24AAEE66C9B406^-5'
+'4FAE5E00000008^0'
+'-D68CBD0000002^0'
+'6FB82FFFFFFFF^0'
+'-19F687BFFFFFEE^0'
+'29DEC702FA2AD2^-5'
+'1FAD16149C1978^-5'
+'60C441DE09105C^-5'
+'4FAE5A0000001^0'
+'-D68CC4^0'
+'6FB82500000014^0'
+'-19F685DFFFFFEA^0'
+'-4FAEB81AD1DDD4^-5'
+'6C3A88AEDFCE24^-5'
+'-7BCE8027830794^-5'
+'4FAE69FFFFFFF4^0'
+'-D68CBC00000018^0'
+'6FB82D00000004^0'
+'-19F67A1FFFFFF2^0'
+'5725D6D03ECF0C^-6'
+'22A97032EFF33E^-5'
+'-AF021759501C6^-5'
+'4FAE6D80000008^0'
+'-D68CB300000008^0'
+'6FB83DFFFFFFFC^0'
+'-19F66F6000000A^0'
+'369561BD6D27FE^-5'
+'F1FE6F9246C69^-6'
+'AF6B07D9093668^-6'
+'4FAE687FFFFFFC^0'
+'-D68CB5FFFFFFF8^0'
+'6FB83CFFFFFFEC^0'
+'-19F66B3FFFFFF4^0'
+'3E6456041444C4^-5'
+'-6D135D420050D^-6'
+'-C54D83C3F0A1D^-6'
+'4FAE618000001C^0'
+'-D68CB700000008^0'
+'6FB83F0000000C^0'
+'-19F6680000001A^0'
+'1D89CEE05E5BC3^-5'
+'450E0E32805D58^-5'
+'-3B3A84CF8D6196^-5'
+'4FAE630000001^0'
+'-D68CB5FFFFFFF8^0'
+'6FB84300000004^0'
+'-19F65CE0000023^0'
+'35B29A89F1F996^-5'
+'-15330A8936312B^-5'
+'5F639C8B697D9C^-5'
+'4FAE5B0000002^0'
+'-D68CBD0000002^0'
+'6FB83A7FFFFFE4^0'
+'-19F65FE000000C^0'
+'-66759E1CA5F04^-5'
+'-4445386A091EFC^-5'
+'2FA083A43CE3BC^-5'
+'4FAE618000001C^0'
+'-D68CBB^0'
+'6FB8370000001C^0'
+'-19F66E80000018^0'
+'78B0E9CA104D1^-6'
+'-1A8EB4BBDB8A28^-5'
+'-5D82439AA484D8^-5'
+'4FAE608000000C^0'
+'-D68CB5FFFFFFF8^0'
+'6FB841FFFFFFF4^0'
+'-19F66D40000015^0'
+'-40713364722FA4^-5'
+'-552B7555799734^-6'
+'45795ADF28EBC4^-5'
+'4FAE65FFFFFFFC^0'
+'-D68CB700000008^0'
+'6FB83A^0'
+'-19F67400000004^0'
+'-3E366487092144^-5'
+'-58CDAA4DAA5968^-5'
+'87E3B020E0FA98^-5'
+'4FAE65FFFFFFFC^0'
+'-D68CBB^0'
+'6FB82E7FFFFFFC^0'
+'-19F68600000007^0'
+'1FF60087251604^-5'
+'1D14BC83CBD5BF^-5'
+'8813706684357^-5'
+'4FAE627FFFFFE4^0'
+'-D68CC4^0'
+'6FB81F7FFFFFE^0'
+'-19F6867FFFFFEB^0'
+'-86C46160EE8E28^-6'
+'E6398930D9FCD^-6'
+'-39786C298857BC^-5'
+'4FAE64FFFFFFE8^0'
+'-D68CC100000018^0'
+'6FB82500000014^0'
+'-19F68340000011^0'
+'4CFB620E077558^-5'
+'-5527BEA9B467F8^-5'
+'-41B4DC748ADCE4^-5'
+'4FAE59^0'
+'-D68CBEFFFFFFF8^0'
+'6FB82FFFFFFFF^0'
+'-19F68560000007^0'
+'BDA97B6B9151D8^-5'
+'-40A982C83C217^-5'
+'-745C8C91D5A8CC^-5'
+'4FAE4300000004^0'
+'-D68CBEFFFFFFF8^0'
+'6FB840FFFFFFE4^0'
+'-19F67D3FFFFFF8^0'
+'2A67A5C4C90406^-5'
+'4B61FA2709E158^-5'
+'-5C511290E062F^-5'
+'4FAE4400000014^0'
+'-D68CBD0000002^0'
+'6FB8487FFFFFF^0'
+'-19F66F7FFFFFDF^0'
+'4139774733D47^-5'
+'-1FEEC008355763^-5'
+'16AF300D9C791E^-5'
+'4FAE3B00000014^0'
+'-D68CC000000008^0'
+1024
+'6FB8480000000C^0'
+'-19F6701FFFFFE^0'
+'160B8CCDEDD62E^-5'
+'-1F4BDF38F11AE4^-5'
+'-2B6FE8314BD04C^-5'
+'4FAE377FFFFFFC^0'
+'-D68CBDFFFFFFE8^0'
+'6FB84E00000024^0'
+'-19F6707FFFFFEF^0'
+'874C4EC0331F58^-5'
+'-4F383638F4A3A4^-5'
+'-4E40F702E56BEC^-5'
+'4FAE25FFFFFFDC^0'
+'-D68CBDFFFFFFE8^0'
+'6FB85B0000002^0'
+'-19F66E5FFFFFF9^0'
+'-92937E7AEE8FB8^-5'
+'BE3B1307A0C3F^-5'
+'-35D76F7B05EAE8^-5'
+'4FAE408^0'
+'-D68CB800000018^0'
+'6FB8578000000C^0'
+'-19F6605FFFFFEF^0'
+'-279212EA3677E2^-5'
+'65E79757DDB914^-5'
+'3A021EEF581D3^-5'
+'4FAE498^0'
+'-D68CBB^0'
+'6FB84D00000014^0'
+'-19F65A1FFFFFE4^0'
+'-2683D08FA0D0DC^-5'
+'-506A3AF1393C2^-5'
+'-41209BE7AAB0AC^-5'
+'4FAE49FFFFFFE4^0'
+'-D68CB4FFFFFFE8^0'
+'6FB8567FFFFFFC^0'
+'-19F6622000001E^0'
+'-3ADF51E795E70C^-6'
+'-2FC54FF734F1A2^-5'
+'67ABB0ED8AD718^-5'
+'4FAE4680000018^0'
+'-D68CB9FFFFFFE8^0'
+'6FB84D7FFFFFF8^0'
+'-19F66B60000011^0'
+'-5B3A359BA8D12^-5'
+'4BF74B3F552C48^-5'
+'CB7181645E103^-6'
+'4FAE53FFFFFFF4^0'
+'-D68CB800000018^0'
+'6FB8480000000C^0'
+'-19F668E000000D^0'
+'C25318FBC40D68^-5'
+'-1FF203BDB3A4C9^-6'
+'7774AA0DFB8204^-5'
+'4FAE3DFFFFFFFC^0'
+'-D68CC60000002^0'
+'6FB83DFFFFFFFC^0'
+'-19F6631FFFFFE6^0'
+'-2056A354FFCC0E^-5'
+'-15574A7DD304DF^-5'
+'-DB480F6A0DCD88^-6'
+'4FAE408^0'
+'-D68CC4^0'
+'6FB8400000001C^0'
+'-19F6669FFFFFFB^0'
+'56E51CA9E4E188^-6'
+'977CA2EDB12B9^-5'
+'-214DE4736C0AD^-5'
+'4FAE487FFFFFF^0'
+'-D68CC4^0'
+'6FB83D80000014^0'
+'-19F65520000023^0'
+'3193ADB9099F^-5'
+'-9A5D489A9FE908^-5'
+'-7FA19ABF22722^-5'
+'4FAE3C80000004^0'
+'-D68CBD0000002^0'
+'6FB8517FFFFFF^0'
+'-19F65D9FFFFFF9^0'
+'-3310410DF6578E^-5'
+'8A94A961D1BD08^-5'
+'-C81AD003420F9^-5'
+'4FAE4C00000004^0'
+'-D68CB2^0'
+'6FB8608000000C^0'
+'-19F64A20000001^0'
+'-3F7FF880583C4C^-5'
+'4A1BD3FFFFDC2C^-5'
+'265D8BE8BC7E9^-5'
+'4FAE5600000018^0'
+'-D68CB2^0'
+'6FB8588000001C^0'
+'-19F6473FFFFFEE^0'
+'6D0F1386041254^-5'
+'472BEDD581E12C^-5'
+'5F15B3AA1A5A6^-5'
+'4FAE4D7FFFFFF8^0'
+'-D68CBD0000002^0'
+'6FB84D7FFFFFF8^0'
+'-19F63D9FFFFFEB^0'
+'3DCAB31FCD1EE8^-5'
+'2F5940F71B652C^-5'
+'1DBBF664EC5A0D^-5'
+'4FAE490000001C^0'
+'-D68CC100000018^0'
+'6FB8490000001C^0'
+'-19F63660000019^0'
+'5DCF86FB4E9C84^-5'
+'-9EC70219CB3C^-5'
+'4FE3A327060DE8^-5'
+'4FAE3580000024^0'
+'-D68CC6FFFFFFE8^0'
+'6FB8480000000C^0'
+'-19F64500000023^0'
+'36355C0CA02656^-5'
+'-C642CB7B784828^-5'
+'1002A8BA0E2BB1^-5'
+'4FAE2500000018^0'
+'-D68CC7FFFFFFF8^0'
+'6FB84EFFFFFFEC^0'
+'-19F6578000000A^0'
+'-643EA4C4ADFC2^-5'
+'-35F1DEC03A2BA8^-5'
+'-1D5B519006F5E^-5'
+'4FAE2D00000008^0'
+'-D68CC1FFFFFFE^0'
+'6FB852FFFFFFE4^0'
+'-19F6618000001D^0'
+'-5305A16CC9BEC4^-5'
+'450FC8A483F2B8^-5'
+'-395AA86C503568^-5'
+'4FAE3A00000004^0'
+'-D68CBC00000018^0'
+'6FB85500000004^0'
+'-19F65C80000014^0'
+'-34D197C1E562F6^-5'
+'7B3D4FB71DCA5C^-5'
+'-18667369D7A7EF^-5'
+'4FAE4680000018^0'
+'-D68CB9FFFFFFE8^0'
+'6FB8520000002^0'
+'-19F6517FFFFFF2^0'
+'9CCEC2841356F^-5'
+'11C3CF2169B688^-5'
+'5455898A175CCC^-5'
+'4FAE360000000C^0'
+'-D68CC500000018^0'
+'6FB84A8000001^0'
+'-19F64A5FFFFFF4^0'
+'F936553BD9D96^-6'
+'77F0E7098C884^-5'
+'-44503C9363343^-5'
+'4FAE3C00000024^0'
+'-D68CC4^0'
+'6FB84D7FFFFFF8^0'
+'-19F63A60000011^0'
+'240A6B984F7314^-5'
+'-264FF637D85924^-6'
+'-325B317D57E334^-5'
+'4FAE388000000C^0'
+'-D68CC1FFFFFFE^0'
+'6FB852FFFFFFE4^0'
+'-19F636A000000A^0'
+'-59D4C2889069C^-5'
+'81947030C21078^-5'
+'-8DF1AA0B24F14^-5'
+'4FAE4AFFFFFFF4^0'
+'-D68CB8FFFFFFE^0'
+'6FB85BFFFFFFE4^0'
+'-19F6287FFFFFE3^0'
+'-3072D21B305314^-5'
+'-BF8B321FF20658^-5'
+'-3E6BB040DD090A^-6'
+'4FAE4580000008^0'
+'-D68CB400000018^0'
+'6FB8630000001^0'
+'-19F63F0000000A^0'
+'-32247AFA04468C^-5'
+'-220222D7D2D67E^-5'
+'4707EEBC24D0B^-5'
+'4FAE4A8000001^0'
+'-D68CB700000008^0'
+'6FB8557FFFFFEC^0'
+'-19F6511FFFFFE3^0'
+'-4ECEECB624FD64^-5'
+'36DC1C4E9A2B8C^-5'
+'-EBA18C781B93A8^-6'
+'4FAE5600000018^0'
+'-D68CB400000018^0'
+'6FB853FFFFFFF4^0'
+'-19F64F2000000A^0'
+'-36211D5FF34334^-6'
+'-5664BA2CD3E8D4^-7'
+'-3725DA7EAF1F72^-6'
+'4FAE567FFFFFFC^0'
+'-D68CB400000018^0'
+'6FB85480000024^0'
+'-19F64F3FFFFFDF^0'
+'-1D73CA0FC7EB6F^-5'
+'-A32B5C89E224^-5'
+'-3427353D02F5D6^-6'
+'4FAE507FFFFFE^0'
+'-D68CB000000028^0'
+'6FB85A7FFFFFF4^0'
+'-19F661C000000E^0'
+'46E21122F7C634^-6'
+'-30C1DEC6CC8C4A^-5'
+'-247795A92BAEE4^-5'
+'4FAE4E00000024^0'
+'-D68CAE00000008^0'
+'6FB8608000000C^0'
+'-19F66540000023^0'
+'2B49B28B8DD99C^-6'
+'8455E57D56BB2^-5'
+'976C29762C98C8^-5'
+'4FAE52FFFFFFE4^0'
+'-D68CB800000018^0'
+'6FB84B8000002^0'
+'-19F65D20000015^0'
+'1615DC707332D4^-5'
+'-5813E100C7F22C^-5'
+'963CB55308B9C^-5'
+'4FAE49FFFFFFE4^0'
+'-D68CC000000008^0'
+'6FB83F7FFFFFF^0'
+'-19F66B00000003^0'
+'-1D76E4E7BB3671^-5'
+'8148966C9B8B88^-5'
+'-270F4C086DEB1A^-5'
+'4FAE5480000024^0'
+'-D68CBDFFFFFFE8^0'
+'6FB83DFFFFFFFC^0'
+'-19F65D80000025^0'
+'-5657DEED92B008^-5'
+'-275828D6B1629A^-5'
+'2111CB2C376E1A^-5'
+'4FAE5B0000002^0'
+'-D68CBC00000018^0'
+'6FB83B0000001^0'
+'-19F667A000000B^0'
+'-5EBB8A956673A^-5'
+'9F4FBF61EF135^-5'
+'30BAAE0D3D8164^-5'
+'4FAE6D00000024^0'
+'-D68CBD0000002^0'
+'6FB82E7FFFFFFC^0'
+'-19F65E00000008^0'
+'-2F40227C67C2D2^-5'
+'A2E3DFF99188B8^-5'
+'69A7E769400E08^-5'
+'4FAE797FFFFFF^0'
+'-D68CC2FFFFFFF8^0'
+'6FB81C7FFFFFFC^0'
+'-19F6539FFFFFE7^0'
+'81D2D08EA0D08^-5'
+'1F648B62138D01^-5'
+'8617232B9D1888^-5'
+'4FAE6C00000014^0'
+'-D68CCFFFFFFFE8^0'
+'6FB80F0000001C^0'
+'-19F64E8000000A^0'
+'763CF80D3EA4B8^-5'
+'-115BED2115F266^-4'
+'-330D43FD4A61BE^-5'
+'4FAE510000000C^0'
+'-D68CCE00000018^0'
+'6FB8207FFFFFF^0'
+'-19F6631FFFFFE6^0'
+'5305DC08A8D2F8^-5'
+'-7AE80A6DA9637C^-5'
+'-10175AD2D60C83^-4'
+'4FAE4500000024^0'
+'-D68CC1FFFFFFE^0'
+'6FB8418000001^0'
+'-19F6618000001D^0'
+'-A311140AE792A8^-5'
+'27EF358AC2E72E^-5'
+'1163623423516D^-5'
+'4FAE57FFFFFFF^0'
+'-D68CBD0000002^0'
+'6FB83C00000024^0'
+'-19F666DFFFFFEC^0'
+'-56E8A1EC23845^-5'
+'21023135B4C2CC^-5'
+'-4EC29E766A0E1C^-5'
+'4FAE6400000024^0'
+'-D68CB5FFFFFFF8^0'
+'6FB841FFFFFFF4^0'
+'-19F66520000007^0'
+'-54B286FA0F9AC^-5'
+'87B5949F74B04^-5'
+'5A53BD9022A02C^-5'
+'4FAE72FFFFFFF4^0'
+'-D68CB8FFFFFFE^0'
+'6FB8320000001^0'
+'-19F65F00000019^0'
+'345FE25B990A16^-5'
+'-392960D048BD76^-5'
+'-F463CBF7836B^-5'
+'4FAE6D80000008^0'
+'-D68CACFFFFFFF8^0'
+'6FB84E8000000C^0'
+'-19F6589FFFFFF^0'
+'7078599401249C^-7'
+'-50FB535527D14C^-5'
+'13606D6EBC62FF^-6'
+'4FAE68FFFFFFE4^0'
+'-D68CABFFFFFFE^0'
+'6FB8517FFFFFF^0'
+'-19F6612000000D^0'
+'-2E30FC00A4197^-5'
+'-1F98C45BC0F505^-5'
+'2B7735E22A3158^-5'
+'4FAE6B7FFFFFE4^0'
+'-D68CABFFFFFFE^0'
+'6FB84D7FFFFFF8^0'
+'-19F668A000001C^0'
+'56B00B5E9FCB2^-5'
+'44C2652E37C6AC^-5'
+'-CCAE91ACD49118^-6'
+'4FAE6680000024^0'
+'-D68CB000000028^0'
+'6FB84D7FFFFFF8^0'
+'-19F65C40000022^0'
+'-1F5FA954419B6E^-5'
+'B4EF72F8D74FC8^-5'
+'3F0840440D4568^-6'
+'4FAE738000002^0'
+'-D68CB0FFFFFFE8^0'
+'6FB8458000000C^0'
+'-19F64B20000012^0'
+'5CB373EBC895EC^-5'
+'-FD276A1EF3C17^-5'
+'-51FD7948F5C9F8^-6'
+'4FAE5BFFFFFFE8^0'
+'-D68CB0FFFFFFE8^0'
+'6FB8510000001^0'
+'-19F6605FFFFFEF^0'
+'-BF8906077A453^-6'
+'-1CDE2F2AB3CF7A^-5'
+'8B4BC860155FE8^-5'
+'4FAE5A0000001^0'
+'-D68CB800000018^0'
+'6FB8437FFFFFE4^0'
+'-19F6698000000E^0'
+'A03F7892CD9E28^-6'
+'-20002374972656^-5'
+'585102C992E09C^-5'
+'4FAE52FFFFFFE4^0'
+'-D68CC000000008^0'
+'6FB83580000024^0'
+'-19F67460000014^0'
+'8DF8A2D13EEF28^-6'
+'-157C2CE07C8FBB^-5'
+'78913A7026D94^-5'
+'4FAE4F8000001C^0'
+'-D68CC6FFFFFFE8^0'
+'6FB82A0000002^0'
+'-19F67AE000001^0'
+'2E1271ACC9AA82^-5'
+'-2431490CA4944^-5'
+'-3DE7D02BFDDD98^-5'
+'4FAE498^0'
+'-D68CC500000018^0'
+'6FB8327FFFFFF4^0'
+'-19F679BFFFFFE3^0'
+'58F6BE90ECAD68^-5'
+'574052DC3FA464^-5'
+'-53B1938ED24B6^-5'
+'4FAE45FFFFFFEC^0'
+'-D68CC500000018^0'
+'6FB838FFFFFFF^0'
+'-19F6687FFFFFFD^0'
+'-7F5719469E5168^-5'
+'45F60BFC8491A^-5'
+'3686B4C17EB53E^-5'
+'4FAE567FFFFFFC^0'
+'-D68CC4^0'
+'6FB82EFFFFFFE^0'
+'-19F66A3FFFFFE4^0'
+'-3F49347F4AECCA^-5'
+'-1448490FFB12CD^-4'
+'-5273E108DA8CC8^-5'
+'4FAE4C7FFFFFE8^0'
+'-D68CB8FFFFFFE^0'
+'6FB8437FFFFFE4^0'
+'-19F68C80000004^0'
+'-1BD6B5016D7BBE^-5'
+'103327D5526F15^-4'
+'-3199DE6A591472^-5'
+'4FAE5E00000008^0'
+'-D68CB800000018^0'
+'6FB83DFFFFFFFC^0'
+'-19F670DFFFFFFF^0'
+'8BD8DDC606E0A8^-5'
+'3F4F8570F3157E^-5'
+'115F4A221A7123^-4'
+'4FAE4F8000001C^0'
+'-D68CCE00000018^0'
+'6FB8207FFFFFF^0'
+'-19F66D80000007^0'
+'2C37A23B2BBD6C^-5'
+'94705500853438^-5'
+'-2D946DA4805E5E^-5'
+'4FAE5380000014^0'
+'-D68CCF0000002^0'
+'6FB8200000001^0'
+'-19F659C000001D^0'
+'-1FC1640B9CA5B6^-5'
+'-1494542D4E5DB^-5'
+'-96699CFA28443^-5'
+'4FAE578000000C^0'
+'-D68CC500000018^0'
+'6FB82FFFFFFFF^0'
+'-19F657BFFFFFFD^0'
+'-CA9C14757AD45^-5'
+'-49167FAE134E1^-5'
+'-155CE2CFA0A0D4^-5'
+'4FAE68FFFFFFE4^0'
+'-D68CBB^0'
+'6FB8327FFFFFF4^0'
+'-19F6699FFFFFE3^0'
+'-2917939DA9D954^-5'
+'89960FD72A45E^-5'
+'-3868DE587ABD3E^-5'
+'4FAE757FFFFFF8^0'
+'-D68CB800000018^0'
+'6FB8327FFFFFF4^0'
+'-19F65B40000012^0'
+'-61356A4ADA753C^-5'
+'-94437D5F751498^-5'
+'A5E47F880A98D8^-6'
+'4FAE7780000018^0'
+'-D68CB300000008^0'
+'6FB8360000000C^0'
+'-19F6707FFFFFEF^0'
+'12A3AD80306889^-5'
+'6D86686B6CFE78^-5'
+'-1B121A78951DE6^-5'
+'4FAE7BFFFFFFF4^0'
+'-D68CB400000018^0'
+'6FB834FFFFFFFC^0'
+'-19F66300000011^0'
+'21B40C7C0A9D34^-5'
+'-25841CD0E216F4^-5'
+'-170BDC09BE2B9^-5'
+'4FAE7680000008^0'
+'-D68CB300000008^0'
+'6FB838FFFFFFF^0'
+'-19F6641FFFFFF7^0'
+'72F30985478348^-5'
+'-4D2FBFA06F59F4^-5'
+'3E3927AD5B51B4^-5'
+'4FAE6580000018^0'
+'-D68CB9FFFFFFE8^0'
+'6FB8370000001C^0'
+'-19F6685FFFFFE1^0'
+'1085F8F0ED64E4^-5'
+'E6156937543B18^-5'
+'-573BFCECB8F208^-5'
+'4FAE718^0'
+'-D68CB8FFFFFFE^0'
+'6FB8378^0'
+'-19F64C00000005^0'
+'-4C768DE53076B^-5'
+'-3B0D1B53908AFA^-5'
+'8221F4EA073A4^-5'
+'4FAE747FFFFFE8^0'
+'-D68CBC00000018^0'
+'6FB82AFFFFFFE4^0'
+'-19F65B5FFFFFE7^0'
+'-579C6B0B2DC37^-5'
+'-52D516EDFE3668^-5'
+'-1BB68BDD7A0F5E^-5'
+'4FAE797FFFFFF^0'
+'-D68CB5FFFFFFF8^0'
+'6FB82FFFFFFFF^0'
+'-19F667BFFFFFE^0'
+'64E8358CD59168^-5'
+'-6C4A09EC15D368^-5'
+'51294D6708D528^-5'
+'4FAE680000001C^0'
+'-D68CBD0000002^0'
+'6FB82D00000004^0'
+'-19F670BFFFFFE2^0'
+'1D5D25D05FA0E7^-5'
+'-83B6CC39805AB8^-5'
+'-32FE9CDAAE9D24^-5'
+'4FAE5E7FFFFFEC^0'
+'-D68CB9FFFFFFE8^0'
+'6FB837FFFFFFE^0'
+'-19F67AFFFFFFE4^0'
+'-12A9CE80FE5B2B^-5'
+'33DA56C41E27BA^-5'
+'-5C87917CB2015C^-5'
+'4FAE6480000004^0'
+'-D68CB4FFFFFFE8^0'
+'6FB83F7FFFFFF^0'
+'-19F672FFFFFFF4^0'
+'-220179C4537EF^-5'
+'479B35001CD278^-5'
+'1E2FE67962E1CF^-5'
+'4FAE6B7FFFFFE4^0'
+'-D68CB5FFFFFFF8^0'
+'6FB838FFFFFFF^0'
+'-19F66E80000018^0'
+'F2AEC6385E4678^-6'
+'2B7B2E93EBC738^-5'
+'-2DEA8751932B88^-5'
+'4FAE6D00000024^0'
+'-D68CB4FFFFFFE8^0'
+'6FB83C80000004^0'
+'-19F66760000019^0'
+'318DFEBBFC957A^-5'
+'38727395F7A716^-5'
+'-306511D34683F6^-5'
+'4FAE6B7FFFFFE4^0'
+'-D68CB4FFFFFFE8^0'
+'6FB8400000001C^0'
+'-19F65CE0000023^0'
+'-1BA49147893CBD^-6'
+'-117326ADED4114^-6'
+'75CCEF13CB526^-5'
+'4FAE69FFFFFFF4^0'
+'-D68CBB^0'
+'6FB83380000004^0'
+'-19F6619FFFFFF2^0'
+'B38CA45C068328^-5'
+'47993C2DED7D98^-5'
+'-1656A5E0548AE9^-5'
+'4FAE5B80000004^0'
+'-D68CC1FFFFFFE^0'
+'6FB83580000024^0'
+'-19F64F8000001A^0'
+'-18D8CB253D457A^-5'
+'3A7EB13A77277A^-5'
+'B766BB4506E758^-6'
+'4FAE60FFFFFFF^0'
+'-D68CC1FFFFFFE^0'
+'6FB8317FFFFFE4^0'
+'-19F64B20000012^0'
+'542D84A2B362C4^-5'
+'5C7604B29B27F8^-5'
+'-18A8E4FF2209D^-5'
+'4FAE5D80000024^0'
+'-D68CC500000018^0'
+'6FB8317FFFFFE4^0'
+'-19F63BE0000005^0'
+'267E682AFD536A^-5'
+'9FF929F37B2868^-5'
+'-34F34E1A74FC04^-5'
+'4FAE630000001^0'
+'-D68CC60000002^0'
+'6FB8317FFFFFE4^0'
+'-19F626FFFFFFEF^0'
+'616C6229CB9CA4^-5'
+'-4C3B28CBFAC3^-5'
+'115EF484947BD4^-5'
+'4FAE5480000024^0'
+'-D68CCA0000002^0'
+'6FB833FFFFFFEC^0'
+'-19F62A5FFFFFE6^0'
+'-460D49EF571998^-5'
+'-40008A81DB7384^-6'
+'1226F58884DC9B^-6'
+'4FAE5B80000004^0'
+'-D68CC6FFFFFFE8^0'
+'6FB8330000002^0'
+'-19F62EA0000019^0'
+'-14530C429BD4CC^-5'
+'3F46D7F3F2B25C^-5'
+'3356EC689A5D1E^-5'
+'4FAE608000000C^0'
+'-D68CCA0000002^0'
+'6FB82AFFFFFFE4^0'
+'-19F62B20000004^0'
+'-45E9493D113224^-5'
+'C808D101756CE8^-6'
+'-503AB6D8E21348^-5'
+'4FAE698000000C^0'
+'-D68CC2FFFFFFF8^0'
+'6FB8320000001^0'
+'-19F62A80000004^0'
+'BB98804D37E82^-6'
+'-1C880B7C45D09E^-5'
+'10BF6231B49F84^-5'
+'4FAE6680000024^0'
+'-D68CC4^0'
+'6FB8317FFFFFE4^0'
+'-19F62D7FFFFFEC^0'
+'75072398372CD8^-5'
+'131390F8310A78^-4'
+'435E480E545EE8^-5'
+'4FAE69FFFFFFF4^0'
+'-D68CCFFFFFFFE8^0'
+'6FB8200000001^0'
+'-19F609C000001F^0'
+'1693063EC46A28^-4'
+'520D0397E1623^-4'
+'7483B5EACAE7DC^-4'
+'4FAE7400000004^0'
+'-D68D540000002^0'
+'6FB72DFFFFFFF4^0'
+'-19F5B50000000A^0'
+'11F7AFA7DB7083^-4'
+'-1F015D20EEB029^-4'
+'3670AC43FB6CCC^-4'
+'4FAE2FFFFFFFF^0'
+'-D68D8900000018^0'
+'6FB6E9FFFFFFE^0'
+'-19F5FB3FFFFFEA^0'
+'-1DCC1D7183AB11^-4'
+'-93E209CB98594^-4'
+'-399DA939021E58^-4'
+'4FADEC80000008^0'
+'-D68D26^0'
+'6FB7A080000004^0'
+'-19F6E94000000A^0'
+'-455753698532AC^-4'
+'-B433239EEA20B8^-4'
+'-85FA8BC403E65^-4'
+'4FADDE7FFFFFFC^0'
+'-D68C60FFFFFFF8^0'
+'6FB8E3^0'
+'-19F8006000001^0'
+'-1F089728407048^-4'
+'-850706616842E^-5'
+'-66102FE9D184FC^-4'
+'4FAE200000000C^0'
+'-D68BF300000008^0'
+'6FB98D0000000C^0'
+'-19F7E9DFFFFFE7^0'
+'1C3AC3FA7EA3E4^-4'
+'B24DAD61FD35A^-4'
+'-19DDB6E6FE9566^-4'
+'4FAE918000000C^0'
+'-D68C12^0'
+'6FB94F0000001^0'
+'-19F69640000023^0'
+'36024565963866^-4'
+'900E01CA34B41^-4'
+'1A34FCD7D3E3A7^-4'
+'4FAEAF7FFFFFFC^0'
+'-D68C6800000018^0'
+'6FB8D48000001^0'
+'-19F585FFFFFFE3^0'
+'1C1B226943C234^-4'
+'3BCFE3E59A1818^-4'
+'253ABEF530DBAA^-4'
+'4FAEACFFFFFFF4^0'
+'-D68CA600000018^0'
+'6FB8768000000C^0'
+'-19F5205FFFFFF8^0'
+'8E93CBA5E63338^-5'
+'981CBC2FA48CB8^-5'
+'98A656E3C951D8^-5'
+'4FAEA48000002^0'
+'-D68CB5FFFFFFF8^0'
+'6FB8627FFFFFE4^0'
+'-19F50E9FFFFFE7^0'
+'-1FD2E741440F11^-6'
+'-2F589C10D4D3CA^-4'
+'21FB3E23601A26^-4'
+'4FAE747FFFFFE8^0'
+'-D68CCA0000002^0'
+'6FB846FFFFFFFC^0'
+'-19F57340000009^0'
+'-147FE5432B1B19^-4'
+'-136064DF9E33DF^-4'
+'9D2C70A098138^-5'
+'4FAE83FFFFFFE4^0'
+'-D68CC1FFFFFFE^0'
+'6FB83E7FFFFFE^0'
+'-19F5ABC0000018^0'
+'-55F009BA3BF80C^-5'
+'-20F36F8313116E^-4'
+'A9E32FB49A6688^-5'
+'4FAE6DFFFFFFEC^0'
+'-D68CC100000018^0'
+'6FB8400000001C^0'
+'-19F5EE3FFFFFEF^0'
+'-9216035C762CA^-5'
+'-13DB0AD049F3D6^-4'
+'C3E3BAC6BA26B^-5'
+'4FAE698000000C^0'
+'-D68CC1FFFFFFE^0'
+'6FB8360000000C^0'
+'-19F61F2000001A^0'
+'-A01ECD27026D3^-6'
+'-79ABFA7D01961C^-5'
+'-4EEF3C347A9334^-5'
+'4FAE64FFFFFFE8^0'
+'-D68CBC00000018^0'
+'6FB84300000004^0'
+'-19F6296000001E^0'
+'-499D40A343FF64^-5'
+'-608329E564F99^-5'
+'7094382BCF8ED^-5'
+'4FAE65FFFFFFFC^0'
+'-D68CBDFFFFFFE8^0'
+'6FB83A^0'
+'-19F63BE0000005^0'
+'-516BD0F563BB5^-5'
+'508AD58356142^-5'
+'-ABC0EC8C18811^-7'
+'4FAE72FFFFFFF4^0'
+'-D68CBC00000018^0'
+'6FB8360000000C^0'
+'-19F637E000000D^0'
+'-1F5C3DDC8802D9^-5'
+'380F056F3C3A5A^-5'
+'-3B4BB5D5CC4DA8^-5'
+'4FAE7A0000001C^0'
+'-D68CB800000018^0'
+'6FB8398000002^0'
+'-19F6316000001^0'
+'4C3E72482D2464^-5'
+'-4236D37213F7D8^-5'
+'-80ECDBC51177A^-5'
+'4FAE7000000008^0'
+'-D68CB300000008^0'
+'6FB84A8000001^0'
+'-19F62F1FFFFFFD^0'
+'-294C34EB8C40EC^-5'
+'8115C64DC9DEF8^-5'
+'-2A129F13D0FE62^-5'
+'4FAE7BFFFFFFF4^0'
+'-D68CB0FFFFFFE8^0'
+'6FB8498^0'
+'-19F6224000001F^0'
+'449B280368AE38^-5'
+'-BAB5407906A1B8^-5'
+'A2AD01AB946748^-5'
+'4FAE687FFFFFFC^0'
+'-D68CB9FFFFFFE8^0'
+'6FB8408^0'
+'-19F6385FFFFFF^0'
+'-3B696AB4E82886^-5'
+'78EE4490F9BA48^-5'
+'1DCBFDF2751FCF^-5'
+'4FAE7500000014^0'
+'-D68CBB^0'
+'6FB837FFFFFFE^0'
+'-19F6302000000D^0'
+'776C355BA0CE2C^-5'
+'39D909AB39755C^-5'
+'-7115405976E8E8^-5'
+'4FAE6D00000024^0'
+'-D68CB9FFFFFFE8^0'
+'6FB84300000004^0'
+'-19F61F2000001A^0'
+'40EC7B1CD11528^-5'
+'16AC4B619C9696^-5'
+'-B2253A58CD01D^-6'
+'4FAE677FFFFFEC^0'
+'-D68CBC00000018^0'
+'6FB84400000014^0'
+'-19F618BFFFFFF3^0'
+'37F40054FB2B66^-5'
+'6FAD443BEFF77^-5'
+'-3FE0E550356494^-5'
+'4FAE687FFFFFFC^0'
+'-D68CBC00000018^0'
+'6FB846FFFFFFFC^0'
+'-19F6078000000D^0'
+'-39E24C8FFC8196^-5'
+'-F4B04E7D45993^-6'
+'-28E93CC3378444^-5'
+'4FAE6E80000018^0'
+'-D68CB800000018^0'
+'6FB84B8000002^0'
+'-19F60ABFFFFFE8^0'
+'58D1A88D519BDC^-5'
+'-F0209013BE6778^-6'
+'5F2EE959649D1C^-5'
+'4FAE630000001^0'
+'-D68CC000000008^0'
+'6FB84300000004^0'
+'-19F60B1FFFFFF7^0'
+'-72D95CB908AEA^-5'
+'9F6F42C0EEA548^-6'
+'-1F974CB0ED067D^-5'
+'4FAE7000000008^0'
+'-D68CB9FFFFFFE8^0'
+'6FB8447FFFFFF4^0'
+'-19F60F1FFFFFEF^0'
+'-4833388AA6742C^-5'
+'-28A3295DC8A4B8^-5'
+'4A79945D526F1^-5'
+'4FAE747FFFFFE8^0'
+'-D68CBB^0'
+'6FB83D80000014^0'
+'-19F61A3FFFFFE6^0'
+'117A9A006CA3A4^-5'
+'-9B63B6B16A455^-6'
+'-BEB8E988B396C8^-5'
+'4FAE747FFFFFE8^0'
+'-D68CB0FFFFFFE8^0'
+'6FB8520000002^0'
+'-19F612DFFFFFF7^0'
+'-637E01D9DF15DC^-5'
+'87E49FC1EA34^-5'
+'629DC65404B464^-5'
+'4FAE84FFFFFFF8^0'
+'-D68CB400000018^0'
+'6FB840FFFFFFE4^0'
+'-19F60DDFFFFFEE^0'
+'9B7F1A88648C6^-5'
+'-3E7439F30F7B36^-5'
+'684FF96222BFD4^-5'
+'4FAE7000000008^0'
+'-D68CBEFFFFFFF8^0'
+'6FB83A7FFFFFE4^0'
+'-19F60FFFFFFFE3^0'
+'-B5296048F2EA18^-5'
+'C3102B251B612^-5'
+'-8CD07EE206D128^-5'
+'4FAE8F7FFFFFEC^0'
+'-D68CB300000008^0'
+'6FB83F7FFFFFF^0'
+'-19F6^0'
+'B225B6C76ADBA^-5'
+'-114BAD86444C9E^-4'
+'3390B463D6EA32^-5'
+'4FAE6D00000024^0'
+'-D68CB8FFFFFFE^0'
+'6FB846FFFFFFFC^0'
+'-19F6153FFFFFDE^0'
+'-58BA39CC684F98^-5'
+'91F49121356E6^-5'
+'-8856C156414DF8^-5'
+'4FAE7FFFFFFFEC^0'
+'-D68CB000000028^0'
+'6FB84E8000000C^0'
+'-19F6057FFFFFEC^0'
+'16FECFF4550D47^-5'
+'97D775914C538^-6'
+'-17537F98E822CF^-5'
+'4FAE7E7FFFFFFC^0'
+'-D68CB000000028^0'
+'6FB8510000001^0'
+'-19F6025FFFFFE7^0'
+'-3DE21E1AEEE402^-5'
+'-3B819336995A52^-5'
+'AB3A0075907BD^-5'
+'4FAE7F8000000C^0'
+'-D68CB5FFFFFFF8^0'
+'6FB8408^0'
+'-19F612A0000004^0'
+'4A0D7E96CE607^-5'
+'399CB7E3F93C3^-6'
+'378FB2F7F1B8B2^-5'
+'4FAE6EFFFFFFFC^0'
+'-D68CC1FFFFFFE^0'
+'6FB8367FFFFFEC^0'
+'-19F60E1FFFFFDF^0'
+'AD3DEE125A06F8^-5'
+'31646ACED993D^-5'
+'6E7293AC50D514^-5'
+'4FAE5E00000008^0'
+'-D68CCF0000002^0'
+'6FB82AFFFFFFE4^0'
+'-19F603C0000007^0'
+'-89C628575D425^-6'
+'-1AAD4E5C183C76^-5'
+'2BB5D6C9E3D8C8^-5'
+'4FAE5CFFFFFFF8^0'
+'-D68CD1^0'
+'6FB8278000001C^0'
+'-19F608C000001^0'
+'-84D8988697ED98^-5'
+'-2AEE78F9E6A3F^-5'
+'300D66BD6735FE^-5'
+'4FAE680000001C^0'
+'-D68CCE00000018^0'
+'6FB8228000001^0'
+'-19F6166000000A^0'
+'-2304A7D520DFDC^-5'
+'7A28AE56C7C554^-6'
+'-1191BB029103D4^-4'
+'4FAE6F7FFFFFDC^0'
+'-D68CBD0000002^0'
+'6FB83F0000000C^0'
+'-19F60C80000016^0'
+'-63EBB51FDFE2F4^-5'
+'-522208B5139BD^-5'
+'-726318528F022^-5'
+'4FAE76FFFFFFEC^0'
+'-D68CB2^0'
+'6FB84D00000014^0'
+'-19F61620000019^0'
+'-797A8BEDDFA1DC^-5'
+'-486D983E7A7E74^-5'
+'-3BD81EE9F3B608^-5'
+'4FAE808000001C^0'
+'-D68CA9^0'
+'6FB85480000024^0'
+'-19F621FFFFFFE6^0'
+'-D4D3F8D164E7F8^-5'
+'40DBC179F38674^-5'
+'2141DF80A0CF18^-7'
+'4FAE9A8000001^0'
+'-D68CA20000002^0'
+'6FB84F8000001C^0'
+'-19F626E000001A^0'
+'1C89CF286E5273^-5'
+'-272C80F278DFEA^-5'
+'-AC420A78A764D^-6'
+'4FAE9580000004^0'
+'-D68CA20000002^0'
+'6FB8528^0'
+'-19F6290000000E^0'
+'20D8766B803EA8^-5'
+'-7930DD6E7B4CB4^-5'
+'-866A7D3BEE9098^-5'
+'4FAE8CFFFFFFE8^0'
+'-D68C99FFFFFFE^0'
+'6FB86580000014^0'
+'-19F62EA0000019^0'
+'-203D9F134988C4^-5'
+'1C154C303ED3AA^-5'
+'2D1DACB9B75432^-5'
+'4FAE918000000C^0'
+'-D68C9C^0'
+'6FB85F7FFFFFFC^0'
+'-19F62F4000001A^0'
+'-27BE3FBB7764FE^-5'
+'5B1330AFBA40B8^-5'
+'-289776837CC60C^-5'
+'4FAE9AFFFFFFF4^0'
+'-D68C990000002^0'
+'6FB85F7FFFFFFC^0'
+'-19F62640000019^0'
+'5B3C233770F70C^-5'
+'9D25BB1F7C9718^-5'
+'-45DA17BAAA86E4^-5'
+'4FAE9AFFFFFFF4^0'
+'-D68C9AFFFFFFF^0'
+'6FB862^0'
+'-19F60E1FFFFFDF^0'
+'-31698EDC595AE^-5'
+'-2C5B44E39B37AC^-5'
+'-94F247B44AD1A^-5'
+'4FAE9F80000018^0'
+'-D68C9000000018^0'
+'6FB8728000001^0'
+'-19F60FA000001C^0'
+'676423F3E6957^-5'
+'8DF023E7A3A6E^-6'
+'E63032A0438FC^-6'
+'4FAE9500000024^0'
+'-D68C950000002^0'
+'6FB871FFFFFFE4^0'
+'-19F609A0000003^0'
+'-5625548D7B3D7^-5'
+'B3CA60871CF^-5'
+'-F8B86C7381FAD^-6'
+'4FAEA7FFFFFFEC^0'
+'-D68C93^0'
+'6FB86B7FFFFFE4^0'
+'-19F5FAE0000022^0'
+'-6186C59AE050C^-5'
+'2B62E596442ED^-5'
+'-1528C8674694DD^-5'
+'4FAEB4FFFFFFE4^0'
+'-D68C8F00000008^0'
+'6FB86B^0'
+'-19F5FAE0000022^0'
+'-3F5B128C4500CA^-5'
+'2B9E21A865FBB4^-5'
+'-BC3C0E6750F128^-6'
+'4FAEBDFFFFFFE8^0'
+'-D68C8C0000002^0'
+'6FB8698000001^0'
+'-19F5F940000011^0'
+'1A39EA08B23F33^-5'
+'-37A21B4CE0B3F^-5'
+'4A9E0069D898FC^-5'
+'4FAEB77FFFFFEC^0'
+'-D68C90FFFFFFE^0'
+'6FB86480000004^0'
+'-19F600A0000001^0'
+'-323C6DA94F35^-5'
+'-1D39616662262A^-5'
+'8C834E0A320818^-6'
+'4FAEBB^0'
+'-D68C8F00000008^0'
+'6FB8640000002^0'
+'-19F606BFFFFFEF^0'
+'-4DC2CAD86865CC^-5'
+'1C20BD4E73C331^-5'
+'-3E70337F59659^-5'
+'4FAEC57FFFFFF4^0'
+'-D68C88FFFFFFE8^0'
+'6FB8688^0'
+'-19F605A000000A^0'
+'2BCB7BA8974E74^-5'
+'-65F9804DB5DFE4^-5'
+'-3A39970D2D6342^-5'
+'4FAEBC0000001^0'
+'-D68C860000001^0'
+'6FB872FFFFFFF4^0'
+'-19F60BA0000023^0'
+'-4F5513FA0AC878^-5'
+'D97E2EC1EAD948^-5'
+'90A5BF0029D43^-6'
+'4FAECFFFFFFFEC^0'
+'-D68C860000001^0'
+'6FB8688^0'
+'-19F5F980000003^0'
+'-1B5E49F48763DF^-5'
+'9DEF92606C801^-5'
+'-258D290CAB3AF4^-5'
+'4FAEDC0000001C^0'
+'-D68C84FFFFFFF8^0'
+'6FB865FFFFFFFC^0'
+'-19F5E8FFFFFFF4^0'
+'-37E7AF77B72C94^-5'
+'CD294C0096CFE^-5'
+'-6940E42FED5D8^-5'
+'4FAEEE80000004^0'
+'-D68C7FFFFFFFE8^0'
+'6FB8688^0'
+'-19F5D280000014^0'
+774
+'78D94F59EB33BC^-5'
+'32721FF2A9AF7^-5'
+'-4C88571EE2EB2C^-5'
+'4FAEE580000004^0'
+'-D68C81^0'
+'6FB8700000000C^0'
+'-19F5C3A0000016^0'
+'-668FA80A1B33F^-5'
+'-46B342FE98786^-5'
+'-2A6D1D7FA9A328^-5'
+'4FAEED0000001^0'
+'-D68C7A0000002^0'
+'6FB87600000024^0'
+'-19F5CF^0'
+'-22CBFDAC55282E^-5'
+'-617A07C855B3C4^-5'
+'675866933FA604^-5'
+'4FAEE9FFFFFFE^0'
+'-D68C7D00000008^0'
+'6FB86E80000014^0'
+'-19F5DF2^0'
+'-103150BD793D53^-5'
+'-B8AEC2DDF5438^-5'
+'-225D455629B5B^-5'
+'4FAEE1FFFFFFEC^0'
+'-D68C78^0'
+'6FB8790000000C^0'
+'-19F5F1FFFFFFF6^0'
+'-27D6E8711D5E52^-5'
+'-3E88281C74CDB2^-5'
+'-5A1780848A6D84^-5'
+'4FAEE40000001^0'
+'-D68C7100000018^0'
+'6FB88480000014^0'
+'-19F5F73FFFFFF^0'
+'-59A21D958FC5C^-5'
+'-3C34E24CA29F3^-5'
+'-456EC76111111^-5'
+'4FAEEAFFFFFFF^0'
+'-D68C68FFFFFFE^0'
+'6FB88CFFFFFFE4^0'
+'-19F5FFC000000E^0'
+'2F94CEF28F38CE^-6'
+'-6EF2CED3F6599C^-5'
+'-3DDD0E1C392716^-6'
+'4FAEE47FFFFFF4^0'
+'-D68C6700000008^0'
+'6FB8918000000C^0'
+'-19F60B00000022^0'
+'-1450E959C0220F^-5'
+'-16A86B4B343A01^-5'
+'2356BA48F46B6A^-5'
+'4FAEE50000002^0'
+'-D68C6800000018^0'
+'6FB88E80000024^0'
+'-19F60FE000000D^0'
+'-ECAF88B9594308^-6'
+'-AB81BC8F54B37^-5'
+'59CD7F8A312D88^-5'
+'4FAEDC0000001C^0'
+'-D68C69FFFFFFF8^0'
+'6FB88B7FFFFFF4^0'
+'-19F6261FFFFFFC^0'
+'827409C4CB3838^-5'
+'225A92C7D129EA^-5'
+'-EA2F43C2E7CF78^-6'
+'4FAED080000018^0'
+'-D68C6F^0'
+'6FB88D80000014^0'
+'-19F61ADFFFFFE7^0'
+'-4AE0E70B18C9AC^-5'
+'A6E1E63884E12^-5'
+'479B063771BB94^-5'
+'4FAEE07FFFFFFC^0'
+'-D68C71FFFFFFE^0'
+'6FB87E7FFFFFFC^0'
+'-19F6104000001D^0'
+'30EEF436908A1C^-5'
+'5C3F5BCA9EE72C^-5'
+'220D156CD775A8^-5'
+'4FAEE000000018^0'
+'-D68C76FFFFFFE8^0'
+'6FB877FFFFFFFC^0'
+'-19F6053FFFFFFB^0'
+'1E032CA72DD277^-5'
+'CD0C2E121B976^-6'
+'23AE081DE4406E^-5'
+'4FAEDCFFFFFFE4^0'
+'-D68C7A0000002^0'
+'6FB87400000004^0'
+'-19F6039FFFFFEA^0'
+'-76813AEF7B146C^-5'
+'-B6369519D87F98^-6'
+'-2EC4E6B6F24A98^-5'
+'4FAEE97FFFFFFC^0'
+'-D68C72FFFFFFF8^0'
+'6FB877FFFFFFFC^0'
+'-19F6097FFFFFE5^0'
+'-3423BDC6692B56^-5'
+'12500A4BF5AE33^-5'
+'22421B7B55A32C^-5'
+'4FAEEF80000014^0'
+'-D68C72FFFFFFF8^0'
+'6FB872FFFFFFF4^0'
+'-19F60BBFFFFFF8^0'
+'328EB69C6B15E4^-5'
+'52DAE06F95CAB8^-5'
+'-5F55F63FFA9AB^-5'
+'4FAEEFFFFFFFF8^0'
+'-D68C7100000018^0'
+'6FB87A8^0'
+'-19F5FCA0000008^0'
+'-FEF63C2E8C9D68^-5'
+'-6A732432F7F3^-5'
+'-1676A6D70F012B^-5'
+'4FAF04FFFFFFE4^0'
+'-D68C640000002^0'
+'6FB87D7FFFFFEC^0'
+'-19F614BFFFFFF9^0'
+'264AB9BE07BE88^-5'
+'-B3BE6DA7E60BD^-5'
+'3F77B113FEECBE^-5'
+'4FAEF67FFFFFF4^0'
+'-D68C6700000008^0'
+'6FB87E7FFFFFFC^0'
+'-19F627FFFFFFFF^0'
+'-34D292FFB961F4^-5'
+'-B7A46FF1A043C^-5'
+'-2C35726D691EE4^-5'
+'4FAEF27FFFFFFC^0'
+'-D68C5FFFFFFFE^0'
+'6FB8898000001C^0'
+'-19F63C5FFFFFEA^0'
+'D0D76A4D9AF36^-5'
+'-7B8FC7A0ED0B18^-5'
+'1BD2E49EAEAC46^-5'
+'4FAED58000002^0'
+'-D68C6800000018^0'
+'6FB88DFFFFFFFC^0'
+'-19F63F0000000A^0'
+'940A722B7EEB4^-5'
+'320748B50719FC^-5'
+'49CE8B5C532C44^-5'
+'4FAEC7FFFFFFF8^0'
+'-D68C72FFFFFFF8^0'
+'6FB8867FFFFFEC^0'
+'-19F6349FFFFFEA^0'
+'FC70467568E99^-5'
+'-4005336F069DF^-5'
+'72F807C7F43904^-5'
+'4FAEA88000001C^0'
+'-D68C8200000008^0'
+'6FB87FFFFFFFF^0'
+'-19F63200000011^0'
+'-514D0B023197E8^-5'
+'104910CDB34D35^-4'
+'-4605284F64F6F^-5'
+'4FAEC000000008^0'
+'-D68C7E00000018^0'
+'6FB87BFFFFFFF4^0'
+'-19F6185FFFFFE3^0'
+'-94B76998C5641^-5'
+'14065CD2B883C9^-4'
+'-185F5FC9529C4F^-4'
+'4FAEE5FFFFFFE8^0'
+'-D68C6700000008^0'
+'6FB89680000014^0'
+'-19F5EFBFFFFFE3^0'
+'-EA2737105606D8^-5'
+'7D960ED2CAC514^-5'
+'-EB7303D4EFE74^-5'
+'4FAF087FFFFFFC^0'
+'-D68C52FFFFFFE8^0'
+'6FB8A780000008^0'
+'-19F5E63FFFFFFD^0'
+'-1BA85696C16198^-5'
+'BFD8CB1C1F089^-5'
+'-8FECFA99E90338^-5'
+'4FAF1780000014^0'
+'-D68C4C^0'
+'6FB8AE7FFFFFEC^0'
+'-19F5CDFFFFFFEF^0'
+'5C005D8297F5A^-5'
+'62E7A604A6EEE4^-5'
+'-118E5DCC3F5E35^-4'
+'4FAF16FFFFFFE8^0'
+'-D68C41FFFFFFF8^0'
+'6FB8C97FFFFFF^0'
+'-19F5B3C0000009^0'
+'-9A11FFDE6D731^-6'
+'135EBD8C8F4444^-4'
+'-198B2E5C95D77A^-4'
+'4FAF2DFFFFFFF4^0'
+'-D68C2EFFFFFFE^0'
+'6FB8E80000000C^0'
+'-19F583DFFFFFEE^0'
+'-A3FB6F1640013^-5'
+'B0DC69E63A1AE8^-5'
+'-B12F516DDE26^-5'
+'4FAF4B0000001C^0'
+'-D68C210000002^0'
+'6FB8F17FFFFFEC^0'
+'-19F5735FFFFFDF^0'
+'-102B1484DAD42E^-4'
+'1214C9711B1FF6^-4'
+'-704806BB4ECD2^-5'
+'4FAF777FFFFFF4^0'
+'-D68C14FFFFFFE8^0'
+'6FB8EEFFFFFFEC^0'
+'-19F55EE000001F^0'
+'-BCA1F22FD135C8^-5'
+'8BDAC1A0F7DE9^-5'
+'-393946C5A5AE74^-5'
+'4FAF938000000C^0'
+'-D68C0BFFFFFFE8^0'
+'6FB8ED0000001^0'
+'-19F55840000005^0'
+'3AA2FCD07A96F^-5'
+'-7DA98F0AECF644^-5'
+'-78E78EB46A5E2C^-5'
+'4FAF7C7FFFFFFC^0'
+'-D68C^0'
+'6FB9117FFFFFFC^0'
+'-19F562BFFFFFFB^0'
+'-13D51546F68F66^-5'
+'-52B6C8BC01D954^-5'
+'D32DFFD3063E2^-5'
+'4FAF777FFFFFF4^0'
+'-D68C0A00000018^0'
+'6FB8FE7FFFFFE4^0'
+'-19F574BFFFFFFE^0'
+'-79EB665500D7AC^-5'
+'-C999BCA3841D3^-5'
+'B931F6375BF7E^-5'
+'4FAF770000001^0'
+'-D68C0CFFFFFFF8^0'
+'6FB8F17FFFFFEC^0'
+'-19F597BFFFFFF4^0'
+'-775D1D83F4A79^-5'
+'C36B67B86A34B8^-5'
+'-4FD92BBEA01014^-5'
+'4FAF8EFFFFFFE4^0'
+'-D68C0600000018^0'
+'6FB8F080000024^0'
+'-19F5869FFFFFE4^0'
+'2350E0CA409E7^-5'
+'-74160FDF5ABE94^-5'
+'1D14F0C4CE12E1^-7'
+'4FAF850000001C^0'
+'-D68C0600000018^0'
+'6FB8F57FFFFFE4^0'
+'-19F590DFFFFFE8^0'
+'22AC3D63FC4616^-5'
+'-6AB35F5C9A917C^-5'
+'C968C9133B5D08^-5'
+'4FAF78FFFFFFE8^0'
+'-D68C10FFFFFFF8^0'
+'6FB8E50000002^0'
+'-19F5A1FFFFFFF8^0'
+'3EFD2A8471AC8A^-5'
+'-17F5FB67610553^-4'
+'117A447998FE0B^-4'
+'4FAF59FFFFFFEC^0'
+'-D68C1DFFFFFFE8^0'
+'6FB8D77FFFFFFC^0'
+'-19F5D1A0000021^0'
+'54CB716C9A1EBC^-5'
+'-A52FD5E7920FE8^-5'
+'19C0E45417EBAA^-4'
+'4FAF42FFFFFFE^0'
+'-D68C3600000008^0'
+'6FB8B40000002^0'
+'-19F5EE6000000C^0'
+'234D20290C7A14^-5'
+'-13E4EE4E3CE01B^-4'
+'B6F453F7414^-5'
+'4FAF2B7FFFFFF^0'
+'-D68C3CFFFFFFE8^0'
+'6FB8AD8000002^0'
+'-19F614E0000016^0'
+'-162AE5AC53605B^-5'
+'A802B83408E6A8^-6'
+'-63C8657A88A40C^-6'
+'4FAF2E8000002^0'
+'-D68C3C0000002^0'
+'6FB8AD8000002^0'
+'-19F614BFFFFFF9^0'
+'-11F8551922874F^-5'
+'560D6D8F81B0E8^-5'
+'-1C8A5CC12C6888^-5'
+'4FAF358^0'
+'-D68C3B00000018^0'
+'6FB8ACFFFFFFF4^0'
+'-19F60BA0000023^0'
+'532DA29D17C46^-5'
+'6CEDDC2BF3FDF^-5'
+'-1A7A598216B28D^-5'
+'4FAF32FFFFFFFC^0'
+'-D68C3DFFFFFFF8^0'
+'6FB8AC8000001^0'
+'-19F5FA9FFFFFE8^0'
+'1724CF5B53BADC^-5'
+'BBF52FCE7D5B28^-5'
+'68CF76DC820EB^-5'
+'4FAF397FFFFFFC^0'
+'-D68C47^0'
+'6FB89A8000001^0'
+'-19F5E9C0000012^0'
+'ED6C8637686FD^-5'
+'-111D1BC1C4C974^-5'
+'8D67CD6767673^-5'
+'4FAF1E00000014^0'
+'-D68C57FFFFFFF^0'
+'6FB88F7FFFFFEC^0'
+'-19F5E420000008^0'
+'23506DF93246BC^-5'
+'7534FBDB53284C^-5'
+'387D6BCF041F9A^-5'
+'4FAF1FFFFFFFE8^0'
+'-D68C5E00000008^0'
+'6FB88580000024^0'
+'-19F5D82000001E^0'
+'12CE3473471A84^-4'
+'12A16776E0B4F4^-5'
+'-563EA79F2B7224^-5'
+'4FAF027FFFFFE^0'
+'-D68C64FFFFFFE8^0'
+'6FB8918000000C^0'
+'-19F5C260000015^0'
+'-108C7D42AAEE79^-6'
+'-3F5175C0D3D662^-5'
+'E30246A5C67A9^-6'
+'4FAEFF00000014^0'
+'-D68C64FFFFFFE8^0'
+'6FB8928000001C^0'
+'-19F5C99FFFFFE7^0'
+'-11097DC3BF6D5^-4'
+'27E8B462CEB9B8^-5'
+'5EF9FBFBD6E954^-5'
+'4FAF1C8000001C^0'
+'-D68C5FFFFFFFE^0'
+'6FB8838^0'
+'-19F5D800000001^0'
+'-480652454E662^-5'
+'-11B9D147439641^-4'
+'9DA862107323F8^-5'
+'4FAF128000000C^0'
+'-D68C62^0'
+'6FB87D00000004^0'
+'-19F5FFC000000E^0'
+'-2282C3EE10AA^-5'
+'-83AF3097B98898^-5'
+'6F43D927FED624^-5'
+'4FAF0D80000004^0'
+'-D68C64FFFFFFE8^0'
+'6FB87600000024^0'
+'-19F613BFFFFFEA^0'
+'781EED13C2096^-5'
+'-7A39B40DF92518^-5'
+'B3A192BBF4C7F8^-5'
+'4FAEF7FFFFFFEC^0'
+'-D68C71FFFFFFE^0'
+'6FB8698000001^0'
+'-19F6210000001E^0'
+'-2851D4628C59B8^-5'
+'-267FAFCA2D73CA^-5'
+'80DF55ADFB3B5^-5'
+'4FAEF880000018^0'
+'-D68C76FFFFFFE8^0'
+'6FB85CFFFFFFF4^0'
+'-19F62C3FFFFFEA^0'
+'159B713F66CE1^-5'
+'39BC75A588448A^-5'
+'-7B1DEC067208BC^-5'
+'4FAEFB0000001C^0'
+'-D68C71FFFFFFE^0'
+'6FB8680000001C^0'
+'-19F6204^0'
+'-4BE9D4D798D6B8^-5'
+'44BCDD46F8B104^-5'
+'3815103E8DDE2^-5'
+'4FAF05FFFFFFF4^0'
+'-D68C72FFFFFFF8^0'
+'6FB85E7FFFFFEC^0'
+'-19F61F6000000C^0'
+'-41CA7543BF9C78^-5'
+'38FE8FBE08AA22^-5'
+'-C9BC1492E2DD6^-5'
+'4FAF128000000C^0'
+'-D68C65FFFFFFF8^0'
+'6FB8707FFFFFF^0'
+'-19F61520000009^0'
+'-449DC1BDBA2D5^-5'
+'C2F012BEF58458^-5'
+'-7FA18ACF3EA478^-5'
+'4FAF2600000004^0'
+'-D68C5F00000018^0'
+'6FB8757FFFFFFC^0'
+'-19F5FF8000001C^0'
+'-60D8C6798BF8FC^-5'
+'7858BDE58856A8^-5'
+'9220516635EEE8^-6'
+'4FAF3680000014^0'
+'-D68C5CFFFFFFF8^0'
+'6FB86E80000014^0'
+'-19F5F87FFFFFF3^0'
+'A0F0C133811AC^-6'
+'-6D6B6559D9C79^-5'
+'A89BC63A0A4928^-6'
+'4FAF366029BA98^0'
+'-D68C5D2B9D90E^0'
+'6FB86EAEBACA4C^0'
+'-19F5F8D3560C4C^0'
+'951C13ED286B48^-6'
+'-6986FB49AAA29C^-5'
+'9D98591E14FBB8^-6'
+'1542E6D0527^B'
+'1542E6F42ABFD2^B'
+'1542E7342AC044^B'
+'1542E7742ABFB7^B'
+'1542E7B42AC029^B'
+'1542E7F42ABF9C^B'
+'1542E8342AC01E^B'
+'1542E8742AD05^B'
+'1542E8B42ACFC3^B'
+'1542E8F42AD035^B'
+'1542E9342ACFA8^B'
+'1542E9742AD02A^B'
+'1542E9B42ACF9D^B'
+'1542E9F42AD00F^B'
+'1542EA342ACF81^B'
+'1542EA742ACFF4^B'
+'1542EAB42AD076^B'
+'1542EAF42ACFE9^B'
+'1542EB342AD05B^B'
+'1542EB742ACFCE^B'
+'1542EBB42AD05^B'
+'1542EBF42ACFB2^B'
+'1542EC342AD035^B'
+'1542ECB42AD01A^B'
+'1542ECF42ACF8C^B'
+'1542ED342AD00E^B'
+'1542ED742AD081^B'
+'1542EDB42ACFF3^B'
+'1542EDF42AD066^B'
+'1542EE342ACFD8^B'
+'1542EE742AD05A^B'
+'1542EEB42ACFCD^B'
+'1542EEF42AD03F^B'
+'1542EF342ACFB2^B'
+'1542EF742AD034^B'
+'1542EFB42ACF96^B'
+'1542EFF42AD019^B'
+'1542F0342ACF8B^B'
+'1542F0742ACFFE^B'
+'1542F0B42AD08^B'
+'1542F0F42ACFE2^B'
+'1542F1342AD065^B'
+'1542F1742ACFD7^B'
+'1542F1B42AD04A^B'
+'1542F1F42ACFBC^B'
+'1542F2342AD03F^B'
+'1542F2742ACFB1^B'
+'1542F2B42AD023^B'
+'1542F2F42ACF96^B'
+'1542F3342AD008^B'
+'1542F3742ACF7B^B'
+'1542F3B42ACFFD^B'
+'1542F3F42AD07^B'
+'1542F4342ACFE2^B'
+'1542F4742AD064^B'
+'1542F4B42ACFC7^B'
+'1542F4F42AD049^B'
+'1542F5342ACFBC^B'
+'1542F5742AD02E^B'
+'1542F5B42ACFA^B'
+'1542F5F42AD013^B'
+'1542F6342ACF85^B'
+'1542F6742AD008^B'
+'1542F6B42ACF7A^B'
+'1542F6F42ACFEC^B'
+'1542F7342AD06F^B'
+'1542F7742ACFE1^B'
+'1542F7B42AD054^B'
+'1542F7F42ACFC6^B'
+'1542F8342AD038^B'
+'1542F8742ACFAB^B'
+'1542F8B42AD02D^B'
+'1542F8F42ACF9^B'
+'1542F9342AD012^B'
+'1542F9742ACF84^B'
+'1542F9B42ACFF7^B'
+'1542F9F42AD079^B'
+'1542FA342ACFEC^B'
+'1542FA742AD05E^B'
+'1542FAB42ACFD1^B'
+'1542FAF42AD053^B'
+'1542FB342ACFB5^B'
+'1542FB742AD038^B'
+'1542FBB42ACFAA^B'
+'1542FBF42AD01D^B'
+'1542FC342ACF8F^B'
+'1542FC742AD012^B'
+'1542FCB42AD084^B'
+'1542FCF42ACFF6^B'
+'1542FD342AD079^B'
+'1542FD742ACFDB^B'
+'1542FDB42AD05E^B'
+'1542FDF42ACFD^B'
+'1542FE342AD042^B'
+'1542FE742ACFB5^B'
+'1542FEB42AD027^B'
+'1542FEF42ACF9A^B'
+'1542FF342AD01C^B'
+'1542FF742ACF8E^B'
+'1542FFB42AD001^B'
+'1542FFF42AD083^B'
+'154300342ACFF6^B'
+'154300742AD068^B'
+'154300B42ACFDA^B'
+'154300F42AD04D^B'
+'154301342ACFBF^B'
+'154301742AD042^B'
+'154301B42ACFA4^B'
+'154301F42AD026^B'
+'154302342ACF99^B'
+'154302742AD00B^B'
+'154302B42ACF7E^B'
+'154302F42AD^B'
+'154303342AD073^B'
+'154303742ACFE5^B'
+'154303B42AD068^B'
+'154303F42ACFCA^B'
+'154304342AD04C^B'
+'154304742ACFBF^B'
+'154304B42AD031^B'
+'154304F42ACFA4^B'
+'154305342AD026^B'
+'154305742ACF88^B'
+'154305B42AD00B^B'
+'154305F42ACF7D^B'
+'154306342ACFF^B'
+'154306742AD072^B'
+'154306B42ACFE4^B'
+'154306F42AD057^B'
+'154307342ACFC9^B'
+'154307742AD03C^B'
+'154307B42ACFAE^B'
+'154307F42AD03^B'
+'154308342ACFA3^B'
+'154308742AD015^B'
+'154308B42ACF88^B'
+'154308F42AD00A^B'
+'154309342AD07C^B'
+'154309742ACFEF^B'
+'154309B42AD061^B'
+'154309F42ACFD4^B'
+'15430A342AD056^B'
+'15430A742ACFB8^B'
+'15430AB42AD03B^B'
+'15430AF42ACFAD^B'
+'15430B342AD02^B'
+'15430B742ACF92^B'
+'15430BB42AD015^B'
+'15430BF42AD087^B'
+'15430C342ACFFA^B'
+'15430C742AD07C^B'
+'15430CB42ACFDE^B'
+'15430CF42AD061^B'
+'15430D342ACFD3^B'
+'15430D742AD046^B'
+'15430DB42ACFB8^B'
+'15430DF42AD03A^B'
+'15430E342ACF9D^B'
+'15430E742AD01F^B'
+'15430EB42ACF92^B'
+'15430EF42AD004^B'
+'15430F342AD086^B'
+'15430F742ACFF9^B'
+'15430FB42AD06B^B'
+'15430FF42ACFDE^B'
+'154310342AD05^B'
+'154310742ACFC2^B'
+'154310B42AD045^B'
+'154310F42ACFB7^B'
+'154311342AD02A^B'
+'154311742ACF9C^B'
+'154311B42AD01E^B'
+'154312342AD003^B'
+'154312742AD076^B'
+'154312B42ACFE8^B'
+'154312F42AD06B^B'
+'154313342ACFCD^B'
+'154313742AD04F^B'
+'154313B42ACFC2^B'
+'154313F42AD034^B'
+'154314342ACFA7^B'
+'154314742AD029^B'
+'154314B42ACF8C^B'
+'154314F42AD00E^B'
+'154315342ACF8^B'
+'154315742ACFF3^B'
+'154315B42AD075^B'
+'154315F42ACFE8^B'
+'154316342AD05A^B'
+'154316742ACFCC^B'
+'154316B42AD04F^B'
+'154316F42ACFB1^B'
+'154317342AD034^B'
+'154317742ACFA6^B'
+'154317B42AD018^B'
+'154317F42ACF8B^B'
+'154318642ACFD7^B'
+'154318A42AD05A^B'
+'154318E42ACFCC^B'
+'154319242AD03E^B'
+'154319642ACFB1^B'
+'154319A42AD033^B'
+'154319E42ACF96^B'
+'15431A242AD018^B'
+'15431A642ACF8A^B'
+'15431AA42ACFFD^B'
+'15431AE42AD07F^B'
+'15431B242ACFE2^B'
+'15431B642AD064^B'
+'15431BA42ACFD6^B'
+'15431BE42AD049^B'
+'15431C242ACFBB^B'
+'15431C642AD03E^B'
+'15431CA42ACFB^B'
+'15431CE42AD022^B'
+'15431D242ACF95^B'
+'15431D642AD007^B'
+'15431DA42ACF7A^B'
+'15431DE42ACFFC^B'
+'15431E242AD06E^B'
+'15431E642ACFE1^B'
+'15431EA42AD063^B'
+'15431EE42ACFC6^B'
+'15431F242AD048^B'
+'15431F642ACFBA^B'
+'15431FA42AD02D^B'
+'15431FE42ACF9F^B'
+'154320242AD022^B'
+'154320642ACF84^B'
+'154320A42AD007^B'
+'154320E42ACF79^B'
+'154321242ACFEC^B'
+'154321642AD06E^B'
+'154321A42ACFE^B'
+'154321E42AD053^B'
+'154322242ACFC5^B'
+'154322642AD048^B'
+'154322A42ACFAA^B'
+'154322E42AD02C^B'
+'154323242ACF9F^B'
+'154323642AD011^B'
+'154323A42ACF84^B'
+'154323E42ACFF6^B'
+'154324242AD078^B'
+'154324642ACFEB^B'
+'154324A42AD05D^B'
+'154324E42ACFD^B'
+'154325242AD052^B'
+'154325642ACFC4^B'
+'154325A42AD037^B'
+'154325E42ACFA9^B'
+'154326242AD01C^B'
+'154326642ACF8E^B'
+'154326A42AD01^B'
+'154326E42AD083^B'
+'154327242ACFF5^B'
+'154327642AD078^B'
+'154327A42ACFDA^B'
+'154327E42AD05D^B'
+'154328242ACFCF^B'
+'154328642AD041^B'
+'154328A42AE084^B'
+'154328E42ADFE6^B'
+'154329242AE069^B'
+'154329642ADFDB^B'
+'154329A42AE04E^B'
+'154329E42ADFC^B'
+'15432A242AE032^B'
+'15432AA42AE027^B'
+'15432AE42ADF9A^B'
+'15432B242AE00C^B'
+'15432B642ADF7E^B'
+'15432BA42AE001^B'
+'15432BE42AE073^B'
+'15432C242ADFE6^B'
+'15432C642AE058^B'
+'15432CA42ADFCA^B'
+'15432CE42AE04D^B'
+'15432D242ADFAF^B'
+'15432D642AE032^B'
+'15432DA42ADFA4^B'
+'15432DE42AE016^B'
+'15432E242ADF89^B'
+'15432E642AE00B^B'
+'15432EA42AE07E^B'
+'15432EE42ADFF^B'
+'15432F242AE062^B'
+'15432F642ADFD5^B'
+'15432FA42AE057^B'
+'15432FE42ADFCA^B'
+'154330242AE03C^B'
+'154330642ADFAF^B'
+'154330A42AE031^B'
+'154330E42ADF93^B'
+'154331242AE016^B'
+'154331642ADF88^B'
+'154331A42ADFFB^B'
+'154331E42AE07D^B'
+'154332242ADFE^B'
+'154332642AE062^B'
+'154332A42ADFD4^B'
+'154332E42AE047^B'
+'154333242ADFB9^B'
+'154333642AE03C^B'
+'154333A42ADFAE^B'
+'154333E42AE02^B'
+'154334242ADF93^B'
+'154334642AE005^B'
+'154334A42AE088^B'
+'154334E42ADFFA^B'
+'154335242AE06C^B'
+'154335642ADFDF^B'
+'154335A42AE061^B'
+'154335E42ADFC4^B'
+'154336242AE046^B'
+'154336642ADFB8^B'
+'154336A42AE02B^B'
+'154336E42ADF9D^B'
+'154337242AE02^B'
+'154337642ADF82^B'
+'154337A42AE004^B'
+'154337E42AE077^B'
+'154338242ADFE9^B'
+'154338642AE06C^B'
+'154338E42AE051^B'
+'154339242ADFC3^B'
+'154339642AE045^B'
+'154339A42ADFA8^B'
+'154339E42AE02A^B'
+'15433A242ADF9D^B'
+'15433A642AE00F^B'
+'15433AA42ADF82^B'
+'15433AE42ADFF4^B'
+'15433B242AE076^B'
+'15433B642ADFE9^B'
+'15433BA42AE05B^B'
+'15433BE42ADFCE^B'
+'15433C242AE05^B'
+'15433C642ADFC2^B'
+'15433CA42AE035^B'
+'15433CE42ADFA7^B'
+'15433D242AE01A^B'
+'15433D642ADF8C^B'
+'15433DA42AE00E^B'
+'15433DE42AE081^B'
+'15433E242ADFF3^B'
+'15433E642AE076^B'
+'15433EA42ADFD8^B'
+'15433EE42AE05A^B'
+'15433F242ADFCD^B'
+'15433F642AE03F^B'
+'15433F65E21^B'
+'1542FFB42AD001^B'
+'154319242AD03E^B'
+'154332642AE062^B'
+'1542E6D0527^B'
+'1^1'
+'16^3'
+END_ARRAY 1 2822
+TOTAL_ARRAYS 1
+ ~NAIF/SPC BEGIN COMMENTS~
+This CK is for testing with the image: /home/kberry/kernel_sliced_tgo/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1.cub
+
+This CK was generated using the following command: {}
+ ~NAIF/SPC END COMMENTS~
diff --git a/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/em16_tgo_step_20190823.tsc b/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/em16_tgo_step_20190823.tsc
new file mode 100644
index 0000000..b42d085
--- /dev/null
+++ b/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/em16_tgo_step_20190823.tsc
@@ -0,0 +1,225 @@
+KPL/SCLK
+
+ExoMars2016 TGO SCLK File by ESA SPICE Service
+===========================================================================
+
+   This file is a SPICE spacecraft clock (SCLK) kernel containing
+   information required for the ExoMars2016 TGO spacecraft
+   on-board clock to UTC conversion. This file was generated by the
+   ESA SPICE Service ADCSng TCP2SCLK Module from the most recent
+   TGO Time Correlation Packet (TCP) data on August 25, 2019.
+
+
+Production/History of this SCLK file
+--------------------------------------------------------
+
+   This SCLK kernel is intended to be used with CK files with
+   structure IDs on board the spacecraft TGO_SPACECRAFT.
+   The NAIF ID code for TGO_SPACECRAFT is -143000.
+
+
+Usage
+--------------------------------------------------------
+
+   This file must be loaded into the user's program by a call to the
+   FURNSH subroutine
+
+          CALL FURNSH ( 'this_file_name; )    -- FORTRAN
+          furnsh_c ( "this_file_name" );      -- C
+          cspice_furnsh, 'this_file_name'     -- IDL
+          cspice_furnsh( 'this_file_name' )   -- MATLAB
+          spiceypy.furnsh( 'this_file_name' ) -- PYTHON
+
+   in order to use the SPICELIB SCLK family of subroutines to convert
+   TGO_SPACECRAFT spacecraft on-board clock to ET and vice versa.
+
+
+SCLK Format
+--------------------------------------------------------
+
+   The on-board clock, the conversion for which is provided by this SCLK
+   file, consists of two fields:
+
+          SSSSSSSSSS:FFFFF
+
+   where:
+
+          SSSSSSSSSS -- count of on-board seconds
+
+          FFFFF      -- count of fractions of a second with one fraction
+                        being 1/65536 of a second; normally this field value
+                        is within 0..65536 range.
+
+
+References
+--------------------------------------------------------
+
+     [1] SCLK Required Reading Document
+
+     [2] TIME Required Reading Document
+
+     [3] KERNEL Pool Required Reading Document
+
+     [4] "ExoMars MCS Packetiser ICD'',
+         EXM-GS-ICD-ESC-32003, issue 1.1, 2014-02-05
+
+
+Contact Information
+------------------------------------------------------------------------
+
+   If you have any questions regarding this file contact the
+   ESA SPICE Service (ESS) at ESAC:
+
+           Marc Costa Sitja
+           (+34) 91-8131-457
+           esa_spice@sciops.esa.int, marc.costa@esa.int
+
+
+Kernel DATA
+--------------------------------------------------------
+
+   The data used to generate this kernels has been obtained from the
+   GDDS for TGO_SPACECRAFT and processed in order to insert an additional
+   time correlation packet (TCP) between each pair of original valid TCP
+   records to force continuity between them.
+
+   Each TCP record inserted has the UTC "validity start time" equal to
+   the time of the second TCP record in each pair minus 60 seconds. The
+   on-board clock (OBT) value for this extra packet is computed using the
+   gradient from the first TCP record in the pair, while the gradient of
+   the extra packet is computed so that the linear function ``passes''
+   through the extra packet's UTC/OBT point and through the second
+   packet's UTC/OBT point, thus forcing continuity between the two original
+   trends. When such a ``continuous'' data stream is processed, no additional
+   adjustments to the gradients are performed and the correlation function
+   stored in this SPICE SCLK file almost completely matches time correlation
+   in the GDDS (except for short intervals before each TCP record.)
+
+
+   \begindata
+
+      SCLK_KERNEL_ID            = ( @2019-08-23/03:52:13.213796 )
+
+      SCLK_DATA_TYPE_143        = ( 1 )
+      SCLK01_TIME_SYSTEM_143    = ( 2 )
+      SCLK01_N_FIELDS_143       = ( 2 )
+      SCLK01_MODULI_143         = ( 4294967296 65536 )
+      SCLK01_OFFSETS_143        = ( 0 0 )
+      SCLK01_OUTPUT_DELIM_143   = ( 2 )
+
+      SCLK_PARTITION_START_143  = ( 0.0000000000000E+00 )
+
+      SCLK_PARTITION_END_143    = ( 2.8147497671065E+15 )
+
+      SCLK01_COEFFICIENTS_143   = (
+
+          0.0000000000000E+00     5.1117692137800E+08     9.9999999998741E-01
+          6.5176792440000E+09     5.1127637327191E+08     1.0000000382038E+00
+          6.8056288860000E+09     5.1128076703493E+08     9.8323534029297E-01
+          6.8096280910000E+09     5.1128082703493E+08     1.0000000819091E+00
+          9.1947900100000E+09     5.1131722139914E+08     9.9999633671719E-01
+          9.1987221850000E+09     5.1131728139914E+08     1.0000002399383E+00
+          9.3561158640000E+09     5.1131968303667E+08     1.0055689243396E+00
+          9.3600262470000E+09     5.1131974303667E+08     1.0000002363393E+00
+          1.6967140493000E+10     5.1143581841575E+08     9.9435849043473E-01
+          1.6971094962000E+10     5.1143587841575E+08     1.0000002548873E+00
+          1.7077160760000E+10     5.1143749685180E+08     1.0057166901818E+00
+          1.7081070569000E+10     5.1143755685180E+08     1.0000002934337E+00
+          4.2293552044000E+10     5.1182226890126E+08     9.9959856067290E-01
+          4.2297485783000E+10     5.1182232890126E+08     9.9998501457631E-01
+          6.0298036312000E+10     5.1209699138879E+08     1.0020249410187E+00
+          6.0301960526000E+10     5.1209705138879E+08     9.9999678119977E-01
+          6.0349497730000E+10     5.1209777674662E+08     9.9785708299893E-01
+          6.0353438334000E+10     5.1209783674662E+08     9.9998503186882E-01
+          7.2246476542100E+11     5.2220070259924E+08     9.9956165152538E-01
+          7.2246869930500E+11     5.2220076259924E+08     1.0000003295215E+00
+          1.3115685270120E+12     5.3118971556902E+08     1.0019847130248E+00
+          1.3115724513840E+12     5.3118977556902E+08     1.0000003851839E+00
+          1.6660560882050E+12     5.3659876869285E+08     9.9882865234051E-01
+          1.6660600249760E+12     5.3659882869285E+08     1.0000004470160E+00
+          1.7356436472620E+12     5.3766059098214E+08     9.9860453658936E-01
+          1.7356475849170E+12     5.3766065098214E+08     1.0000003598279E+00
+          1.7486013697810E+12     5.3785831012480E+08     9.9995951797786E-01
+          1.7486053021000E+12     5.3785837012480E+08     1.0000003997164E+00
+          1.7487863794260E+12     5.3786113314661E+08     9.9999945499033E-01
+          1.7487903115880E+12     5.3786119314661E+08     1.0000003742636E+00
+          1.8372551944540E+12     5.3921106063891E+08     9.9968525444791E-01
+          1.8372591278520E+12     5.3921112063891E+08     1.0000003774712E+00
+          2.3016422312920E+12     5.4629704713322E+08     9.9885701632191E-01
+          2.3016461679510E+12     5.4629710713322E+08     1.0000003435989E+00
+          2.7365798326800E+12     5.5293367046727E+08     1.0006242891921E+00
+          2.7365837623860E+12     5.5293373046727E+08     1.0000004025987E+00
+          2.9765234507030E+12     5.5659492101459E+08     1.0008241968782E+00
+          2.9765273796240E+12     5.5659498101459E+08     1.0000003988299E+00
+          3.2565247054780E+12     5.6086740285207E+08     1.0011369927221E+00
+          3.2565286331720E+12     5.6086746285207E+08     1.0000004218724E+00
+          3.8641162366190E+12     5.7013851784161E+08     1.0013798069006E+00
+          3.8641201633610E+12     5.7013857784161E+08     1.0000005897670E+00
+          3.8995489208390E+12     5.7067917809947E+08     9.9902967730341E-01
+          3.8995528568180E+12     5.7067923809948E+08     1.0000009708673E+00
+          3.9052685097450E+12     5.7076645213157E+08     9.9886047070852E-01
+          3.9052724463910E+12     5.7076651213157E+08     1.0000000863927E+00
+          3.9092888945290E+12     5.7082779826481E+08     1.0008979935327E+00
+          3.9092928231610E+12     5.7082785826481E+08     1.0000027314491E+00
+          3.8995295489030E+12     5.7067888211959E+08     1.0054710268725E+00
+          3.8995334596670E+12     5.7067894211959E+08     1.0000006765868E+00
+          3.9211766563660E+12     5.7100919132029E+08     9.9871367984990E-01
+          3.9211805935900E+12     5.7100925132029E+08     1.0000005610472E+00
+          3.9831775128370E+12     5.7195524970077E+08     1.0000006391892E+00
+          4.0187537248830E+12     5.7249809996934E+08     9.9829314098378E-01
+          4.0187576637670E+12     5.7249815996934E+08     1.0000004707657E+00
+          4.0239352700490E+12     5.7257716401154E+08     1.0000245084163E+00
+          4.0239392021130E+12     5.7257722401154E+08     1.0000004712584E+00
+          4.1659783347690E+12     5.7474457019675E+08     1.0002177869135E+00
+          4.1659822660730E+12     5.7474463019675E+08     1.0000005061981E+00
+          4.1771209497590E+12     5.7491459310748E+08     9.9995899741097E-01
+          4.1771248820800E+12     5.7491465310748E+08     1.0000004914049E+00
+          5.5349343336310E+12     5.9563319129696E+08     1.0017151571376E+00
+          5.5349382590590E+12     5.9563325129696E+08     1.0000005107393E+00
+          5.5632737381540E+12     5.9606561661629E+08     1.0000006357833E+00
+          5.5632776703120E+12     5.9606567661629E+08     1.0000005125693E+00
+          5.8480758997090E+12     6.0041135495150E+08     1.0000869056603E+00
+          5.8480798315280E+12     6.0041141495150E+08     1.0000005160884E+00
+          5.9207778610480E+12     6.0152069942169E+08     1.0000660207245E+00
+          5.9207817929480E+12     6.0152075942169E+08     1.0000005188089E+00
+          6.3049109638150E+12     6.0738210845362E+08     1.0003327721703E+00
+          6.3049148946670E+12     6.0738216845362E+08     1.0000005221856E+00
+          6.1875946446460E+12     6.0559200257100E+08     9.9982999846058E-01
+          6.1875985774750E+12     6.0559206257100E+08     1.0000005299101E+00
+          6.4416906851120E+12     6.0946920249841E+08     9.9972076715041E-01
+          6.4416946183700E+12     6.0946926249841E+08     1.0000005273844E+00
+          6.5341727467970E+12     6.1088036749717E+08     1.0000592840589E+00
+          6.5341766787240E+12     6.1088042749717E+08     1.0000005358402E+00
+          6.5732215046050E+12     6.1147620457852E+08     9.9997922870946E-01
+          6.5732254368470E+12     6.1147626457852E+08     1.0000004938450E+00
+          6.5593014728630E+12     6.1126380164424E+08     9.9987052890275E-01
+          6.5593054055320E+12     6.1126386164424E+08     1.0000005354385E+00
+          6.5938644901690E+12     6.1179119170927E+08     9.9987435454477E-01
+          6.5938684228230E+12     6.1179125170927E+08     1.0000005176865E+00
+          6.7144032523760E+12     6.1363046820025E+08     1.0000453485251E+00
+          6.7144071843580E+12     6.1363052820025E+08     1.0000005217165E+00
+          6.7301726871490E+12     6.1387109080731E+08     9.9999707242710E-01
+          6.7301766193210E+12     6.1387115080731E+08     1.0000005204626E+00
+          6.7362094712880E+12     6.1396320487084E+08     9.9999584805702E-01
+          6.7362134034650E+12     6.1396326487084E+08     1.0000005127281E+00
+          6.7417734770140E+12     6.1404810490380E+08     1.0000106186802E+00
+          6.7417774091320E+12     6.1404816490380E+08     1.0000005074975E+00
+          6.7968824430750E+12     6.1488900141974E+08     1.0002406686958E+00
+          6.7968863742890E+12     6.1488906141974E+08     1.0000005377167E+00
+          6.9108352006520E+12     6.1662778346007E+08     9.9996478184917E-01
+          6.9108391329500E+12     6.1662784346007E+08     1.0000005317068E+00
+          6.9557725011520E+12     6.1731347261189E+08     9.9995283632405E-01
+          6.9557764334970E+12     6.1731353261189E+08     1.0000005323549E+00
+          6.9974617478630E+12     6.1794960036942E+08     9.9995131158471E-01
+          6.9974656802140E+12     6.1794966036942E+08     1.0000005239968E+00
+          7.0637106938690E+12     6.1896047958889E+08     1.0000460404989E+00
+          7.0637146258480E+12     6.1896053958889E+08     1.0000005308853E+00
+          7.0884026932440E+12     6.1933724980163E+08     9.9998401130968E-01
+          7.0884066254670E+12     6.1933730980163E+08     1.0000005268305E+00
+
+                                  )
+
+   \begintext
+
+
+End of SCLK file.
\ No newline at end of file
diff --git a/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/em16_tgo_v18.tf b/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/em16_tgo_v18.tf
new file mode 100644
index 0000000..b5ea617
--- /dev/null
+++ b/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/em16_tgo_v18.tf
@@ -0,0 +1,3662 @@
+KPL/FK
+
+Trace Gas Orbiter (TGO) Spacecraft Frames Kernel
+===============================================================================
+
+   This frame kernel contains a complete set of frame definitions for the
+   ExoMars 2016 Trace Gas Orbiter Spacecraft (TGO) including definitions for
+   the TGO structures and TGO science instrument frames. This kernel also
+   contains NAIF ID/name mapping for the TGO instruments.
+
+
+Version and Date
+------------------------------------------------------------------------
+
+   Version 1.8 -- August 8, 2019 --  Marc Costa Sitja, ESAC/ESA
+                                     Boris Semenov, NAIF/JPL
+
+      Corrected TGO_ACS_TIRVIM_SCAN_BASE frame to TGO_ACS_TIRVIM_SCAN.
+      Removed TGO_NOMAD_LNO_SCAN references in favour of TGO_NOMAD_LNO_FMM.
+      Renamed TGO_ACS_TIRVIM_SCAN_OCC_BSR references to
+      TGO_ACS_TIRVIM_SCAN_OCC_BS. Corrected several typos and diagrams.
+
+   Version 1.7 -- March 6, 2019 --  Marc Costa Sitja, ESAC/ESA
+                                    Marty Jean-Charles, CNES
+
+      Updated SA+Z_ZERO and SA-Z_ZERO frames; the normal of the SA was
+      antiparallel to the Sun vector.
+
+   Version 1.6 -- July 3, 2018 --  Marc Costa Sitja, ESAC/ESA
+                                   Nikolay Ignatiev, IKI
+
+      Corrected typo in TGO_ACS_TIRVIM_SUN frame definition and added
+      TGO_ACS_TIRVIM_SUN_BSR ID.
+
+   Version 1.5 -- June 18, 2018 --  Marc Costa Sitja, ESAC/ESA
+
+      Updated NOMAD UVIS Occultation and NOMAD SO Boresight alignments.
+
+   Version 1.4 -- May 15, 2018 -- Stepanov Tulyakov, EPFL
+                                  Marc Costa Sitja, ESAC/ESA
+
+      Updated CaSSIS rotations of CRU with respect to SC and FSA with
+      respect to TEL.
+      Added LGAs reference frames, corrected STR IDs and added
+      Structures IDs.
+
+   Version 1.3 -- March 29, 2018 -- Marc Costa Sitja, ESAC/ESA
+                                    Boris Semenov, NAIF/JPL
+
+      Added Star Tracker reference frames and spacecraft reference
+      frame for planning CKs.
+
+   Version 1.2 -- July 20, 2017 -- Marc Costa Sitja, ESAC/ESA
+
+      Corrected typo in NOMAD UVIS reference frame.
+
+   Version 1.1 -- July 20, 2017 -- Marc Costa Sitja, ESAC/ESA
+                                   Bernhard Geiger, ESAC/ESA
+
+      Updated ACS frame definitions, added TIRVIM frames and
+      implemented boresight misalignments.
+      Corrected typos in NOMAD frame and ID descriptions.
+
+   Version 1.0 -- January 15, 2017 -- Marc Costa Sitja, ESAC/ESA
+
+      Corrected several HGA IDs from -226 to -143.
+
+   Version 0.9 -- December 15, 2016 -- Marc Costa Sitja, ESAC/ESA
+
+      Updated NOMAD_SO definitions with Alejandro Cardesin.
+
+   Version 0.8 -- September 26, 2016 -- Marc Costa Sitja, ESAC/ESA
+
+      Corrected NOMAD UVIS Nadir Boresight misalignment.
+      Renamed the NOMAD LNO Scan mirror frame (TGO_NOMAD_LNO_SCAN) to
+      NOMAD LNO Flip Mirror Mechanism frame (TGO_NOMAD_LNO_FMM).
+      Renamed the NOMAD LNO nadir and occultation frames
+      (TGO_NOMAD_LNO_*) to NOMAD LNO nadir and occultation operations
+      frames (TGO_NOMAD_LNO_OPS_*).
+      Minor edits to some text after NOMAD instrument team review.
+      Added reference [18].
+
+   Version 0.7 -- August 11, 2016 -- Marc Costa Sitja, ESAC/ESA
+                                     Bernhard Geiger, ESAC/ESA
+                                     Alejandro Cardesin, ESAC/ESA
+
+      Added references [13], [14], [15], [16] and [17].
+      Updated Spacecraft drawings with Main Engine.
+      Corrected TGO Solar Array Frames and TGO High Gain Antenna
+      definitions as described in reference [13].
+      Separated the ACS NIR and the TRIVIM frames definitions sections.
+      Corrected rotation of the CaSSIS Filter Strip Assembly Frame.
+      Updated the NAIF IDs for CaSSIS definitions.
+      Corrected several typos and updated text and diagram information.
+      Updated NOMAD frames orientation with information provided by
+      I. Thomas ([15]).
+      Removed references to flip/scanning mirror in ACS NIR channel
+      frame definitions.
+      Updated ACS frames orientation with information provided by
+      A. Trokhimovskiy ([16]).
+      Corrected TGO_ACS_TIRVIM_SCAN frame definition.
+
+   Version 0.6 -- June 6, 2016 -- Jorge Diaz del Rio, ODC Space
+
+      Updated comments to exchange the Science Operations Frame Definitions
+      Kernel file name by the description of the data.
+
+   Version 0.5 -- May 31, 2016 -- Jorge Diaz del Rio, ODC Space
+
+      TGO_SA*_GIMBAL frame renamed to TGO_SA*_ZERO. Corrected typos in
+      comments. Added ``EXOMARS 2016 TGO'' and ``TRACE GAS ORBITER'' as
+      synonyms for TGO.
+
+   Version 0.4 -- May 20, 2016 -- Jorge Diaz del Rio, ODC Space
+                                  Anton Ledkov, IKI
+
+      Preliminary Version. Added ACS and NOMAD frames. Modified FREND
+      frame chain upon request from FREND Instrument Team. Corrected
+      CaSSIS CRU and FSA frames orientations. Added CaSSIS filter
+      name/ID mappings. Added SA and HGA frames. Added list of science
+      operations frames.
+
+   Version 0.3 -- March 17, 2016 -- Jorge Diaz del Rio, ODC Space
+
+      Preliminary Version. Corrected rotations in TGO_CASSIS_CRU and in
+      TGO_CASSIS_FSA frame definitions. Added FREND frames.
+
+   Version 0.2 -- March 11, 2016 -- Jorge Diaz del Rio, ODC Space
+
+      Preliminary Version. Added CaSSIS frames.
+
+   Version 0.1 -- January 26, 2016 --  Jorge Diaz del Rio, ODC Space
+
+      Preliminary Version. Added TGO_SPACECRAFT frame for its use with
+      test CK kernel.
+
+   Version 0.0 -- December 17, 2015 -- Jorge Diaz del Rio, ODC Space
+
+      Preliminary Version. Only TGO Name to NAIF ID mappings for their
+      use with test SPK kernel.
+
+   Version 0.0-draft -- May 26, 2015 -- Anton Ledkov, IKI
+
+      Draft Version.
+
+
+References
+------------------------------------------------------------------------
+
+    1. ``Frames Required Reading'', NAIF
+
+    2. ``Kernel Pool Required Reading'', NAIF
+
+    3. ``C-Kernel Required Reading'', NAIF
+
+    4. ``ExoMars: Science Operations Centre - Flight Dynamics - Pointing
+       Timeline-ICD,'' EXM-GS-ICD-ESC-50003, Issue 1.4, 15 December 2015
+
+    5. ``CaSSIS Rotation Axis Determination Report'', EXM-CA-TRE-UBE-00112
+       Issue 0.7, 1 March 2016
+
+    6. ``The Color and Stereo Surface Imaging System (CaSSIS) for ESA's
+       Trace Gas Orbiter.'' Eighth International Conference on Mars (2014)
+       N. Thomas et al.
+
+    7. ``FREND Mechanical ICD Drawings,'' EXM-FR-DRW-IKI-0020, Issue 1.2,
+       1 March 2015
+
+    8. Email from FREND PM (Alexey Malakhov) on March 17, 2016 (Re. TGO FREND
+       FK/IK approach)
+
+    9. ``High Resolution Middle Infrared Spectrometer, a Part of Atmospheric
+       Chemistry Suite (ACS) for ExoMars 2016 Trace Gas Orbiter'',
+       International Conference on Space Optics, Tenerife 7-10 October 2014
+
+   10. ``NOMAD Experiment ICD'', EXM-PL-ICD-ESA-00025, Issue 2.7 2014-09-23
+
+   11. ``Atmospheric Chemistry Suite (ACS): a Set of Infrared Spectrometers
+       for Atmospheric Measurements onboard ExoMars Trace Gas Orbiter'', A.
+       Trokhimovskiy et al.
+
+   12. TGO Science Operations Frames Definition Kernel, latest version.
+
+   13. ``EXOMARS OMB frame definitions and conventions'',
+       EXM-OM-TNO-AF-0361, Issue 3, 2011-10-14, Thales Alenia Space.
+
+   14. ``EXOMARS Spacecraft Mechanical Interface Control Document'',
+       EXM-MS-ICD-AI-0019, Issue 12, 2015-08-10, Thales Alenia Space.
+
+   15. Email from Ian Thomas <ian.thomas@aeronomie.be> ``[EM16-SOC]
+       [TGO] [SGS] [EM16.NOMAD] SPICE review and misalignment update by
+       25th July'' on 25 July 2016.
+
+   16. Email from Alexander Trokhimovskiy <a.trokh@gmail.com>
+       ``Re: [EM16-SOC] [TGO] [SGS] [EM16.ACS] [EM16.NOMAD] SPICE review
+       and misalignment update by 25th July'' on 27 July 2016.
+
+   17. Email from Alexander Trokhimovskiy <a.trokh@gmail.com>
+       ``Re: [EM16-SOC] [TGO] [SGS] [EM16.ACS] [EM16.NOMAD] SPICE review
+       and misalignment update by 25th July'' on 11 August 2016.
+
+   18. Email from Ian Thomas <ian.thomas@aeronomie.be> ``UVIS Nadir
+       Boresight Correction'' on 16 September 2016.
+
+   19. ``Boresight Alignment'', ExoMars 2016 Confluence Page,
+       https://issues.cosmos.esa.int/exomarswiki/display/OE/Boresight+Alignment
+       Bernhard Geiger (ESAC/ESA), accessed on 19th July 2017.
+
+   20. Email from Bernhard Geiger (ESAC/ESA) ``TGO Star Tracker boresights and
+       frames'' on 7th November 2017.
+
+   21. ``ICD, EXOMARS HGA-A'', EXM-OM-ICD-MDA-0041-7, Louis-Philippe Lebel,
+       MacDonald, Dettwiler and Associates Corporation on 21st January 2015.
+
+   22. Email from Ian Thomas <ian.thomas@aeronomie.be>``New SO and UVIS solar
+       boresight vectors' on 13 June 2018.
+
+
+Contact Information
+------------------------------------------------------------------------
+
+   If you have any questions regarding this file contact the
+   ESA SPICE Service (ESS) at ESAC:
+
+           Marc Costa Sitja
+           (+34) 91-8131-457
+           esa_spice@sciops.esa.int, marc.costa@esa.int
+
+   or SPICE support at IKI:
+
+           Alexander Abbakumov
+           +7 (495) 333-40-13
+           aabbakumov@romance.iki.rssi.ru
+
+   or NAIF at JPL:
+
+           Boris Semenov
+           +1 (818) 354-8136
+           Boris.Semenov@jpl.nasa.gov
+
+
+Implementation Notes
+------------------------------------------------------------------------
+
+  This file is used by the SPICE system as follows: programs that make use
+  of this frame kernel must "load" the kernel normally during program
+  initialization. Loading the kernel associates the data items with
+  their names in a data structure called the "kernel pool".  The SPICELIB
+  routine FURNSH loads a kernel into the pool as shown below:
+
+    FORTRAN: (SPICELIB)
+
+      CALL FURNSH ( frame_kernel_name )
+
+    C: (CSPICE)
+
+      furnsh_c ( frame_kernel_name );
+
+    IDL: (ICY)
+
+      cspice_furnsh, frame_kernel_name
+
+    MATLAB: (MICE)
+
+         cspice_furnsh ( 'frame_kernel_name' )
+
+    PYTHON: (SPICEYPY)*
+
+         furnsh( frame_kernel_name )
+
+  In order for a program or routine to extract data from the pool, the
+  SPICELIB routines GDPOOL, GIPOOL, and GCPOOL are used.  See [2] for
+  more details.
+
+  This file was created and may be updated with a text editor or word
+  processor.
+
+  * SPICEPY is a non-official, community developed Python wrapper for the
+    NAIF SPICE toolkit. Its development is managed on Github.
+    It is available at: https://github.com/AndrewAnnex/SpiceyPy
+
+
+TGO NAIF ID Codes -- Summary Section
+------------------------------------------------------------------------
+
+   The following names and NAIF ID codes are assigned to the TGO spacecraft,
+   its structures and science instruments (the keywords implementing these
+   definitions are located in the section "TGO NAIF ID Codes -- Definition
+   Section" at the end of this file):
+
+   TGO Spacecraft and Spacecraft Structures names/IDs:
+
+            TGO                      -143     (synonyms: EXOMARS 2016 TGO,
+                                                         EXOMARS TGO,
+                                                    and  TRACE GAS ORBITER)
+            TGO_STR-1                -143031
+            TGO_STR-2                -143032
+
+   ACS names/IDs:
+
+            TGO_ACS                  -143100
+            TGO_ACS_NIR_NAD          -143111
+            TGO_ACS_NIR_OCC          -143112
+            TGO_ACS_MIR              -143120
+            TGO_ACS_TIRVIM           -143130
+            TGO_ACS_TIRVIM_BBY       -143131
+            TGO_ACS_TIRVIM_SPC       -143132
+            TGO_ACS_TIRVIM_NAD       -143133
+            TGO_ACS_TIRVIM_OCC       -143134
+            TGO_ACS_TIRVIM_SUN       -143140
+
+   FREND names/IDs:
+
+            TGO_FREND                -143200
+            TGO_FREND_HE             -143210
+            TGO_FREND_SC             -143220
+
+   NOMAD names/IDs:
+
+            TGO_NOMAD                -143300
+            TGO_NOMAD_LNO            -143310
+            TGO_NOMAD_LNO_OPS_NAD    -143311
+            TGO_NOMAD_LNO_OPS_OCC    -143312
+            TGO_NOMAD_SO             -143320
+            TGO_NOMAD_UVIS_NAD       -143331
+            TGO_NOMAD_UVIS_OCC       -143332
+
+   CaSSIS names/IDs:
+
+            TGO_CASSIS               -143400
+            TGO_CASSIS_PAN           -143421
+            TGO_CASSIS_RED           -143422
+            TGO_CASSIS_NIR           -143423
+            TGO_CASSIS_BLU           -143424
+
+
+TGO Frames
+------------------------------------------------------------------------
+
+   The following TGO frames are defined in this kernel file:
+
+        Name                      Relative to                 Type    NAIF ID
+      ======================    ==========================   =======  =======
+
+   TGO Spacecraft and Spacecraft Structures frames:
+   ------------------------------------------------
+      TGO_SPACECRAFT              J2000,                     CK       -143000
+                                  TGO_SPACECRAFT_PLAN
+      TGO_SPACECRAFT_PLAN         J2000                      CK       -143002
+      TGO_SA+Z_ZERO               TGO_SPACECRAFT             FIXED    -143010
+      TGO_SA+Z                    TGO_SA+Z_ZERO              CK       -143011
+      TGO_SA-Z_ZERO               TGO_SPACECRAFT             FIXED    -143012
+      TGO_SA-Z                    TGO_SA-Z_ZERO              CK       -143013
+      TGO_HGA_EL                  TGO_SPACECRAFT             CK       -143021
+      TGO_HGA_AZ                  TGO_HGA_EL                 CK       -143022
+      TGO_HGA                     TGO_HGA_AZ                 FIXED    -143025
+      TGO_LGA+Z                   TGO_SPACECRAFT             FIXED    -143031
+      TGO_LGA-Z                   TGO_SPACECRAFT             FIXED    -143032
+      TGO_LGA-X                   TGO_SPACECRAFT             FIXED    -143033
+      TGO_STR-1                   TGO_SPACECRAFT             FIXED    -143041
+      TGO_STR-2                   TGO_SPACECRAFT             FIXED    -143042
+
+   ACS frames:
+   -----------
+      TGO_ACS_NIR_BASE            TGO_SPACECRAFT             FIXED    -143100
+      TGO_ACS_NIR_NAD             TGO_ACS_NIR_BASE           FIXED    -143111
+      TGO_ACS_NIR_OCC             TGO_ACS_NIR_BASE           FIXED    -143112
+      TGO_ACS_MIR                 TGO_SPACECRAFT             FIXED    -143120
+      TGO_ACS_TIRVIM_BASE         TGO_SPACECRAFT             FIXED    -143105
+      TGO_ACS_TIRVIM_SCAN_ROT     TGO_ACS_TIRVIM_BASE        FIXED    -143106
+      TGO_ACS_TIRVIM_SCAN         TGO_ACS_TIRVIM_SCAN_ROT    CK       -143107
+      TGO_ACS_TIRVIM              TGO_ACS_TIRVIM_SCAN        FIXED    -143130
+      TGO_ACS_TIRVIM_SCAN_BBY     TGO_ACS_TIRVIM_BASE        FIXED    -143131
+      TGO_ACS_TIRVIM_SCAN_SPC     TGO_ACS_TIRVIM_BASE        FIXED    -143132
+      TGO_ACS_TIRVIM_SCAN_NAD     TGO_ACS_TIRVIM_BASE        FIXED    -143133
+      TGO_ACS_TIRVIM_SCAN_OCC     TGO_ACS_TIRVIM_BASE        FIXED    -143134
+      TGO_ACS_TIRVIM_SCAN_OCC_BS  TGO_ACS_TIRVIM_BASE        FIXED    -143135
+      TGO_ACS_TIRVIM_SUN          TGO_ACS_TIRVIM_BASE        FIXED    -143140
+      TGO_ACS_TIRVIM_SUN_BSR      TGO_ACS_TIRVIM_BASE        FIXED    -143141
+
+   FREND frames:
+   -------------
+      TGO_FREND                   TGO_SPACECRAFT             FIXED    -143200
+
+   NOMAD frames:
+   -------------
+      TGO_NOMAD_LNO_BASE          TGO_SPACECRAFT             FIXED    -143300
+      TGO_NOMAD_LNO_FMM           TGO_NOMAD_LNO_BASE         CK       -143305
+      TGO_NOMAD_LNO               TGO_NOMAD_LNO_BASE         FIXED    -143310
+      TGO_NOMAD_LNO_OPS_NAD       TGO_NOMAD_LNO_BASE         FIXED    -143311
+      TGO_NOMAD_LNO_OPS_OCC       TGO_NOMAD_LNO_BASE         FIXED    -143312
+      TGO_NOMAD_SO                TGO_SPACECRAFT             FIXED    -143320
+      TGO_NOMAD_UVIS_BASE         TGO_SPACECRAFT             FIXED    -143330
+      TGO_NOMAD_UVIS_NAD          TGO_NOMAD_UVIS_BASE        FIXED    -143331
+      TGO_NOMAD_UVIS_OCC          TGO_NOMAD_UVIS_BASE        FIXED    -143332
+
+   CaSSIS frames:
+   --------------
+      TGO_CASSIS_CRU              TGO_SPACECRAFT             FIXED    -143400
+      TGO_CASSIS_TEL              TGO_CASSIS_CRU             CK       -143410
+      TGO_CASSIS_FSA              TGO_CASSIS_TEL             FIXED    -143420
+
+
+   In addition, the following frames, in use by the ExoMars 2016 mission, are
+   defined in another kernel:
+
+        Name                      Relative to                 Type    NAIF ID
+      ======================    ==========================   =======  =======
+
+   ExoMars 2016 mission science operations frames (1):
+   ---------------------------------------------------
+      TGO_MARS_NPO                J2000                    DYNAMIC   -143900
+
+      (1) This frame is defined in the ExoMars 2016 Science Operations
+          Frame Definitions kernel file (see [12]). This frame can be used
+          'as is' or to define default TGO attitude profiles. In order
+          to use it for the latter together with this frames kernel,
+          additional fixed-offset frames kernel(s) need to be loaded. See
+          the section ``Using this frame'' in the comment area of this file
+          for further details.
+
+
+ExoMars 2016 Frames Hierarchy
+--------------------------------------------------------------------------
+
+   The diagram below shows the ExoMars 2016 frames hierarchy (except
+   for science operations frames):
+
+
+                               "J2000" INERTIAL
+           +-----------------------------------------------------+
+           |                          |      |                   |
+           |<-pck                     |      |                   |<-pck
+           |                          |      |                   |
+           v                          |      |                   v
+       "IAU_MARS"                     |      |              "IAU_EARTH"
+     MARS BODY-FIXED                  |      |<-ck        EARTH BODY-FIXED
+     ---------------                  |      |            ----------------
+                                      |      v
+       "TGO_LGA+Z"    "TGO_LGA+X"     |   "TGO_SPACECRAFT_PLAN"
+       -----------    -----------     |   ---------------------
+           ^               ^          |      |
+           |               |          |<-ck  |<-ck
+           |<-fixed        |<-fixed   |      |
+           |               |          |      |
+           |  "TGO_LGA-Z"  |          |      |
+           |  -----------  |          |      |
+           |      ^        |          |      |
+           |      |        |          |      |
+           |      |<-fixed |          v      v
+           |      |        |     "TGO_SPACECRAFT"
+           +------------------------------------------------------------+
+           |              |           .      |          |               |
+           |<-fixed       |<-fixed    .      |<-fixed   |<-fixed    ck->|
+           |              |           .      |          |               |
+           v              |           .      v          v               v
+   "TGO_SA+Z_ZERO"        |           . "TGO_STR-1"  "TGO_STR-2"  "TGO_HGA_EL"
+   ---------------        |           . -----------  -----------  ------------
+           |              |           .                                 |
+           |<-ck          v           .                             ck->|
+           |      "TGO_SA-Z_ZERO"     .                                 |
+           v      ---------------     .                                 v
+      "TGO_SA+Z"          |           .                           "TGO_HGA_AZ"
+      ----------          |<-ck       .                           ------------
+                          |           .                                 |
+                          v           .                          fixed->|
+                     "TGO_SA-Z"       .                                 |
+                     ----------       .                                 v
+                                      .                             "TGO_HGA"
+                                      .                             ---------
+                                      V
+                Individual instrument frame trees are provided
+                      in the other sections of this file
+
+
+   Please refer to the ACS, CaSSIS, FREND and NOMAD sections for the frame
+   hierarchy of each payload; and to the TGO science operations frame
+   definitions kernel [12] for further details on these frame definitions.
+
+
+TGO Spacecraft and Spacecraft Structures Frames
+------------------------------------------------------------------------
+
+   This section of the file contains the definitions of the spacecraft
+   and spacecraft structures frames.
+
+   DISCLAIMER: The origin of the frames specified in the following
+   definitions are not implemented. The ``true'' origin of all frames
+   is in the center of the TGO_SPACECRAFT frame, the center of which
+   is defined by the position given by the SPK (ephemeris) kernel in
+   use.
+
+
+TGO Spacecraft Frames
+--------------------------------------
+
+   According to [4] the TGO spacecraft reference frame -- TGO_SPACECRAFT --
+   is defined as follows:
+
+      -  +X axis is perpendicular to the launch vehicle interface plane
+         and points towards the Schiaparelli Entry, Descent and Landing
+         Demonstrator Module (EDM) attachment point;
+
+      -  -Y axis is perpendicular to the payload Science Deck and points
+         towards the payload side; representing the reference spacecraft
+         line of sight towards Mars during science operations;
+
+      -  +Z axis completes the right-handed frame.
+
+      -  the origin of this frame is located at the centre of the launch
+         vehicle interface ring: at the bottom of the interface cylinder and
+         the top of the launch vehicle specific interface frame.
+
+
+   These diagrams illustrate the TGO_SPACECRAFT frame:
+
+   -X S/C side (Main Engine side) view:
+   ------------------------------------
+
+                                    ^
+                                    | toward Mars
+                                    |
+
+                               Science Deck
+                             ._____________.
+   .__  _______________.     |             |     .______________  ___.
+   |  \ \               \    |             |    /               \ \  |
+   |  / /                \   |     ___     |   /                / /  |
+   |  \ \               +Zsc |    / _ +Xsc | .'                 \ \  |
+   |  / /                  <--------x)     |o |                 / /  |
+   |  \ \                 .' |    \_|_/    | `.                 \ \  |
+   |  / /                /   | Main |Engine|   \                / /  |
+   .__\ \_______________/    | (ME) |      |    \_______________\ \__.
+       +Z Solar Array        ._____ v +Ysc .      -Z Solar Array
+                                 ._____.
+                               .'       `.
+                              /           \
+                             .   `.   .'   .             +Xsc is into
+                             |     `o'     |              the page.
+                             .      |      .
+                              \     |     /
+                               `.       .'
+                            HGA  ` --- '
+
+
+   -Y S/C side (Science Deck side) view:
+   -------------------------------------
+                                  _____
+                                 /     \  EDM
+                                |       |
+                             ._____________.
+                             |   |     |   |
+                             |nom|     |acs|
+                             |___'     '___|
+   o==/ /==================o<|             |>o==================/ /==o
+     +Z Solar Array          |--.       .--|        -Z Solar Array
+                             |ca|       |fr|
+                             |--' +Xsc  '--|
+                             |      ^      |
+                             |      |      |
+                             |      |      |
+                        +Zsc .______|______.
+                            <-------x\  `. ME
+                              /______+Ysc_\
+                           HGA    `.|.'                 +Ysc is into the
+                                                         page.
+
+      ``nom'' corresponds to ``NOMAD'';
+      ``acs'' corresponds to ``ACS'';
+      ``ca'' corresponds to ``CaSSIS''; and
+      ``fr'' corresponds to ``FREND''.
+
+
+   +Z S/C side view:
+   -----------------
+
+                         ._________________.
+                         |                 |
+                        ============o=     |
+                         | SA+Z          +Zsc_..--,
+                         |            <-----o-..__|
+                         |          +Xsc   ||     ME
+                         ._________________.|
+                                         o-o|/|
+                                          \|V +Ysc
+                                           o  | :
+                                            \ |/
+                                             \|
+                                                 HGA
+
+
+   Since the S/C bus attitude with respect to an inertial frame is provided
+   by a C-kernel (see [3] for more information), this frame is defined as
+   a CK-based frame.
+
+   These sets of keywords define the TGO_SPACECRAFT frame:
+
+   \begindata
+
+      FRAME_TGO_SPACECRAFT             = -143000
+      FRAME_-143000_NAME               = 'TGO_SPACECRAFT'
+      FRAME_-143000_CLASS              =  3
+      FRAME_-143000_CLASS_ID           = -143000
+      FRAME_-143000_CENTER             = -143
+      CK_-143000_SCLK                  = -143
+      CK_-143000_SPK                   = -143
+      OBJECT_-143_FRAME                = 'TGO_SPACECRAFT'
+
+   \begintext
+
+
+   An additional S/C bus reference frame is defined in order to accommodate
+   the C-kernels that have been generated with a fictional SCLK kernel. These
+   CK kernels contain predicted data and are used for long and mid term
+   planning.
+
+   The before-mentioned CKs are generated with a fictional SCLK kernel due to
+   the fact that successive updates of the real SCLK kernel will lead to
+   erroneous results for the predicted data provided by those kernels after
+   the last Time Correlation Packet that the real SCLK contains. The
+   alternative of re-generating the planning CKs with the latest SCLK kernel
+   is not considered.
+
+   In order to be able to use the long and mid term planning CKs with the
+   measured and short term planning CKs the planning CKs are generated with the
+   fictional SCLK and are defined relative to the TGO spacecraft planning
+   reference frame -- TGO_SPACECRAFT_PLAN --. Those planning CKs are then
+   appended with a CK segment generated with the real SCLK that maps the
+   TGO_SPACECRAFT_PLAN to the TGO_SPACECRAFT reference frame thus allowing
+   to use both planning and measured CK files together with correct results.
+
+   Note that when new SCLK are available the segment boundaries of the
+   planning CKs will be affected. Due to this reason, the mapping segments
+   boundaries are adjusted inwards by a minute on each side to get a better
+   chance of them always being within the original CK segment boundaries.
+
+   The TGO_SPACECRAFT_PLAN frame is defined as a CK-based frame. These sets of
+   keywords define the TGO_SPACECRAFT_PLAN frame.
+
+   \begindata
+
+      FRAME_TGO_SPACECRAFT_PLAN        = -143002
+      FRAME_-143002_NAME               = 'TGO_SPACECRAFT_PLAN'
+      FRAME_-143002_CLASS              =  3
+      FRAME_-143002_CLASS_ID           = -143002
+      FRAME_-143002_CENTER             = -143
+      CK_-143002_SCLK                  = -143999
+      CK_-143002_SPK                   = -143
+
+   \begintext
+
+
+TGO Solar Array Frames
+--------------------------------------------------------------------------
+
+   TGO solar arrays are articulated (having one degree of freedom),
+   therefore the Solar Array frames, TGO_SA+Z and TGO_SA-Z, are
+   defined as CK frames with their orientation given relative to
+   TGO_SA+Z_ZERO and TGO_SA-Z_ZERO respectively.
+
+   TGO_SA+Z_ZERO and TGO_SA-Z_ZERO are two ``fixed-offset'' frames,
+   defined with respect to TGO_SPACECRAFT, as follows:
+
+      -  +Z is parallel to the longest side of the array, positively
+         oriented from the yoke to the end of the wing;
+
+      -  +X is antiparallel to the spacecraft bus +X axis, pointing
+         on the opposite direction to the EDM attachment side;
+
+      -  +Y completes the right-handed frame.
+
+      -  the origin of the frame is located at the yoke geometric
+         center.
+
+
+   Both Solar Array frames (TGO_SA+Z and TGO_SA-Z) are defined as
+   follows:
+
+      -  +Z is parallel to the longest side of the array, positively oriented
+         from the yoke to the end of the wing;
+
+      -  +X is normal to the solar array plane, the solar cells facing +Z;
+
+      -  +Y completes the right-handed frame;
+
+      -  the origin of the frame is located at the yoke geometric center.
+
+
+   The axis of rotation is parallel to the Z axis of the spacecraft and the
+   solar array frames.
+
+   This diagram illustrates the TGO_SA+Z_ZERO, TGO_SA+Z, TGO_SA-Z_ZERO
+   and TGO_SA-Z frames:
+
+   -X S/C side (Main Engine side) view:
+   ------------------------------------
+
+                                    ^
+                                    | toward Mars
+                                    |
+
+                     +Ysa+z0  Science Deck
+                     +Ysa+z  ._____________.
+   .__  _______________.    ^|             |     .______________  ___.
+   |  \ \               \   ||             |    /               \ \  |
+   |  / /       +Zsa+z0  \  ||      _  +Xsa-z0 /     +Zsa-z0    / /  |
+   |  \ \       +Zsa+z    `.||+Zsc/ _  +Xsa-z.'     +Zsa-z      \ \  |
+   |  / /           <-------o| <----x)+Xsc |o-------->          / /  |
+   |  \ \                 .' +Xsa+z0|_/    ||`.                 \ \  |
+   |  / /                /   +Xsa+z |      ||  \                / /  |
+   .__\ \_______________/    |      v +Ysc |v   \_______________\ \__.
+       +Z Solar Array        .____________+Ysa-z0   -Z Solar Array
+                        +Zsc     ._____.  +Ysa-z0
+                               .'       `.
+                              /           \
+                             .   `.   .'   .          +Xsc is into the page;
+                             |     `o'     |          +Xsa+z, +Xsa+z0,
+                             .      |      .          +Xsa-z and +Xsa-z0 are
+                              \     |     /            out of the page.
+                               `.       .'
+                            HGA  ` --- '
+
+
+   These sets of keywords define solar array frames:
+
+   \begindata
+
+      FRAME_TGO_SA+Z_ZERO             = -143010
+      FRAME_-143010_NAME              = 'TGO_SA+Z_ZERO'
+      FRAME_-143010_CLASS             =  4
+      FRAME_-143010_CLASS_ID          = -143010
+      FRAME_-143010_CENTER            = -143
+      TKFRAME_-143010_RELATIVE        = 'TGO_SPACECRAFT'
+      TKFRAME_-143010_SPEC            = 'ANGLES'
+      TKFRAME_-143010_UNITS           = 'DEGREES'
+      TKFRAME_-143010_AXES            = (     3,      1,     2 )
+      TKFRAME_-143010_ANGLES          = ( 180.0,    0.0,   0.0 )
+
+      FRAME_TGO_SA+Z                  = -143011
+      FRAME_-143011_NAME              = 'TGO_SA+Z'
+      FRAME_-143011_CLASS             =  3
+      FRAME_-143011_CLASS_ID          = -143011
+      FRAME_-143011_CENTER            = -143
+      CK_-143011_SCLK                 = -143
+      CK_-143011_SPK                  = -143
+
+      FRAME_TGO_SA-Z_ZERO             = -143012
+      FRAME_-143012_NAME              = 'TGO_SA-Z_ZERO'
+      FRAME_-143012_CLASS             =  4
+      FRAME_-143012_CLASS_ID          = -143012
+      FRAME_-143012_CENTER            = -143
+      TKFRAME_-143012_RELATIVE        = 'TGO_SPACECRAFT'
+      TKFRAME_-143012_SPEC            = 'ANGLES'
+      TKFRAME_-143012_UNITS           = 'DEGREES'
+      TKFRAME_-143012_AXES            = (      1,      2,     3 )
+      TKFRAME_-143012_ANGLES          = (  180.0,    0.0,  180.0 )
+
+      FRAME_TGO_SA-Z                  = -143013
+      FRAME_-143013_NAME              = 'TGO_SA-Z'
+      FRAME_-143013_CLASS             =  3
+      FRAME_-143013_CLASS_ID          = -143013
+      FRAME_-143013_CENTER            = -143
+      CK_-143013_SCLK                 = -143
+      CK_-143013_SPK                  = -143
+
+   \begintext
+
+
+TGO High Gain Antenna Frame
+---------------------------
+
+   The TGO High Gain Antenna is attached to the +Y panel of the S/C bus
+   in the corner with the -X panel by a gimbal providing two degrees of
+   freedom and it articulates during flight to track Earth. To incorporate
+   rotations in the gimbal the HGA frame chain includes three frames:
+   TGO_HGA_EL, TGO_HGA_AZ, and TGO_HGA.
+
+   The first two frames are defined as CK-based frames and are
+   co-aligned with the spacecraft frame in the zero gimbal position. In
+   a non-zero position the TGO_HGA_EL is rotated from the spacecraft
+   frame by an elevation angle about +Y and the TGO_TGO_AZ frame is
+   rotated from the TGO_HGA_EL frame by an azimuth angle about +Z. These
+   rotations are stored in separated segments in CK files.
+
+   In [21] TGO_HGA frame is equivalent to the ``High Gain Antenna Functional
+   Frame (HGAF)''.
+
+   The TGO_HGA frame is defined as follows:
+
+      -  +Z axis is in the antenna boresight direction;
+
+      -  +X axis points from the gimbal toward the antenna dish
+         symmetry axis;
+
+      -  +Y axis completes the right hand frame;
+
+      -  the origin of the frame is located at the phase center
+         (theoretical and nominal location).
+
+   The TGO_HGA frame is defined a fixed offset frame relative to the
+   TGO_HGA_AZ frame and is rotated by -90 degrees about +X from it.
+
+   This diagram illustrates the TGO_HGA frames in the zero gimbal
+   position:
+
+   -X S/C side (Main Engine side) view:
+   ------------------------------------
+                                    ^
+                                    | toward Mars
+                                    |
+
+                               Science Deck
+                             ._____________.
+   .__  _______________.     |             |     .______________  ___.
+   |  \ \               \    |             |    /               \ \  |
+   |  / /                \   |     __      |   /                / /  |
+   |  \ \                 +Zsc    / _ +Xsc | .'                 \ \  |
+   |  / /                    <------x)     |o |                 / /  |
+   |  \ \                 .' |    \_|_/    | `.                 \ \  |
+   |  / /                /   |      |      |   \                / /  |
+   .__\ \_______________+Zhga_az(*) |      |    \_______________\ \__.
+       +Z Solar Array   +Zhga_el(*) v_+Ysc .     -Z Solar Array
+                             <------x +Xhga_az(*) +Xhga_el(*)
+                               .'   |   `.
+                              /     | +Yhga_az(*)
+                             .   `. v +Zhga_el(*)       +Xsc, +Xhga_az(*)
+                             | Zhga o------->            and +Xhga_el(*) are
+                             .      |      . +Yhga       into the page; +Zhga
+                              \     |     /              is out of the page.
+                               `.   |   .'
+                            HGA  ` -V- '
+                                      +Xhga
+
+
+  * The TGO_HGA_AZ and TGO_HGA_EL frames are in zero gimbal position.
+
+
+   This set of keywords defines the HGA frame as a CK frame:
+
+   \begindata
+
+      FRAME_TGO_HGA_EL                 = -143021
+      FRAME_-143021_NAME               = 'TGO_HGA_EL'
+      FRAME_-143021_CLASS              =  3
+      FRAME_-143021_CLASS_ID           = -143021
+      FRAME_-143021_CENTER             = -143
+      CK_-143021_SCLK                  = -143
+      CK_-143021_SPK                   = -143
+
+      FRAME_TGO_HGA_AZ                 = -143022
+      FRAME_-143022_NAME               = 'TGO_HGA_AZ'
+      FRAME_-143022_CLASS              =  3
+      FRAME_-143022_CLASS_ID           = -143022
+      FRAME_-143022_CENTER             = -143
+      CK_-143022_SCLK                  = -143
+      CK_-143022_SPK                   = -143
+
+      FRAME_TGO_HGA                    =  -143025
+      FRAME_-143025_NAME               = 'TGO_HGA'
+      FRAME_-143025_CLASS              =  4
+      FRAME_-143025_CLASS_ID           =  -143025
+      FRAME_-143025_CENTER             =  -143
+      TKFRAME_-143025_RELATIVE         = 'TGO_HGA_AZ'
+      TKFRAME_-143025_SPEC             = 'ANGLES'
+      TKFRAME_-143025_UNITS            = 'DEGREES'
+      TKFRAME_-143025_ANGLES           = (   0.000,  90.000,   0.000 )
+      TKFRAME_-143025_AXES             = (   2,       1,       3     )
+
+   \begintext
+
+
+TGO Low Gain Antennae Frames
+----------------------------
+
+   The low gain antenna is an essential component of the S/C in an
+   emergency case. During and after separation, full antenna coverage is
+   necessary before a stable attitude is achieved, requiring three antennas
+   with spherical coverage. In case of S/C survival mode, the LGAs provide
+   the communication capability for recovery by ground operation.
+
+   TGO has three Low Gain Antennae installed in the +Z, -Z and -X panels of
+   the S/C bus -- TGO_LGA+Z, TGO_LGA-Z, TGO_LGA-X -- and are defined as
+   ``fixed-offset'', defined with respect to the TGO_SPACECRAFT frame as
+   follows (from [13]):
+
+      -  +X axis is in the antenna boresight direction (nominally
+         co-aligned to the spacecraft +Z, -Z and -X axis);
+
+      -  +Y axis is in the direction of the spacecraft +X axis;
+
+      -  +Z completes the right hand frame;
+
+      -  the origin of the frame is defined as a reference mounting hole
+         of each LGA.
+
+
+   This diagram illustrates the TGO Low Gain Antennae frames:
+
+   -X S/C side (Main Engine side) view:
+   ------------------------------------
+
+                                    ^
+                                    | toward Mars
+                                    |
+
+                               Science Deck
+                             ._____________.
+   .__  _______________.     |             |     .______________  ___.
+   |  \ \            +Zlga+z ^             ^ +Zlga-z            \ \  |
+   |  / /                \   | +Zlga-x     |   /                / /  |
+   |  \ \                 `. | ^  / _ \    | .'                 \ \  |
+   |  / /     +Xlga+z <------o | | +Ylga-z x------> +Xlga-z     / /  |
+   |  \ \               +Ylga+z|  \___/    | `.                 \ \  |
+   |  / /                /   | o----> +Ylga-x  \                / /  |
+   .__\ \_______________/    +Xlga-x       |    \_______________\ \__.
+       +Z Solar Array        ._____________.      -Z Solar Array
+                                 ._____.
+                               .'       `.
+        <--------x +Xsc       /           \          The TGO_SPACECRAFT frame
+      +Zsc       |           .   `.   .'   .         origin is conveniently
+                 |           |     `o'     |         moved.
+                 |           .      |      .
+                 v            \     |     /
+                +Ysc           `.       .'           +Xsc, +Ylga-z is into
+                            HGA  ` --- '              the page; +Xlga-x and
+                                                     +Ylga+z are out of
+                                                      the page.
+
+
+   Since the SPICE frames subsystem calls for specifying the reverse
+   transformation--going from the instrument or structure frame to the
+   base frame--as compared to the description given above, the order of
+   rotations assigned to the TKFRAME_*_AXES keyword is also reversed
+   compared to the above text, and the signs associated with the
+   rotation angles assigned to the TKFRAME_*_ANGLES keyword are the
+   opposite from what is written in the above text.
+
+   \begindata
+
+      FRAME_TGO_LGA+Z                   =  -143031
+      FRAME_-143031_NAME                = 'TGO_LGA+Z'
+      FRAME_-143031_CLASS               =  4
+      FRAME_-143031_CLASS_ID            =  -143031
+      FRAME_-143031_CENTER              =  -143
+      TKFRAME_-143031_RELATIVE          = 'TGO_SPACECRAFT'
+      TKFRAME_-143031_SPEC              = 'ANGLES'
+      TKFRAME_-143031_UNITS             = 'DEGREES'
+      TKFRAME_-143031_AXES              = (     2,     1,       3 )
+      TKFRAME_-143031_ANGLES            = (   0.0, -90.0,   -90.0 )
+
+      FRAME_TGO_LGA-Z                   =  -143032
+      FRAME_-143032_NAME                = 'TGO_LGA-Z'
+      FRAME_-143032_CLASS               =  4
+      FRAME_-143032_CLASS_ID            =  -143032
+      FRAME_-143032_CENTER              =  -143
+      TKFRAME_-143032_RELATIVE          = 'TGO_SPACECRAFT'
+      TKFRAME_-143032_SPEC              = 'ANGLES'
+      TKFRAME_-143032_UNITS             = 'DEGREES'
+      TKFRAME_-143032_AXES              = (     2,     1,       3 )
+      TKFRAME_-143032_ANGLES            = (   0.0, -90.0,   +90.0 )
+
+      FRAME_TGO_LGA-X                   =  -143033
+      FRAME_-143033_NAME                = 'TGO_LGA-X'
+      FRAME_-143033_CLASS               =  4
+      FRAME_-143033_CLASS_ID            =  -143033
+      FRAME_-143033_CENTER              =  -143
+      TKFRAME_-143033_RELATIVE          = 'TGO_SPACECRAFT'
+      TKFRAME_-143033_SPEC              = 'ANGLES'
+      TKFRAME_-143033_UNITS             = 'DEGREES'
+      TKFRAME_-143033_AXES              = (     3,     1,       2 )
+      TKFRAME_-143033_ANGLES            = (   0.0, +90.0,   180.0 )
+
+   \begintext
+
+
+TGO Star Trackers Frames
+--------------------------------------------------------------------------
+
+   There are two Star Trackers (STRs) mounted  mounted close to the PLM
+   Instruments, on a dedicated panel attached to the 2 PLM Bench panels with
+   their boresight canted 42 degrees from the spacecraft +X axis and with 5 deg
+   above the XZ plane towards the +Y axis. The nominal and redundant STR are
+   in mirror position with respect to the XY plane. This layout ensures a
+   large angle between STR boresight and Sun whatever mission phase and that
+   all S/C appendages (especially the Solar Arrays) are maintained outside of
+   the Sun Exclusion Angle. The redundant STR is not co-aligned with main unit
+   to minimize the risk of failure propagation in case of an unexpected
+   external straylight perturbation. The angle between the two boresight is
+   83 degrees. The on-board software manages fully autonomously the power-on
+   of the STR until operational tracking mode is reached.
+
+   The Star Tracker STR-1 and STR-2 frames -- TGO_STR-1 and TGO_STR-2 -- are
+   defined as follows:
+
+      -  +Z axis is anti-parallel to the direction of an incoming collimated
+         light ray which is parallel to the optical axis;
+
+      -  +X axis is in the plane formed by the +Z axis and the vector from
+         the detector centre pointing along the positively counted detector
+         rows, perpendicular to the +Z axis
+
+      -  +Y axis completes the right hand frame;
+
+      -  the origin of the frame is is defined as the intersection of the
+         mounting interface plane and the +X Panel mounting hole.
+
+
+   These diagrams illustrate the Star Trackers frames:
+
+
+   -Y S/C side (Science Deck side) view:
+   -------------------------------------
+
+                    +Zstr-2       _____       +Zstr-1
+                         ^       /     \  EDM  ^
+                          \     |       |     /
+                           \ ._____________. /
+                            \|   |     |   |/
+                   +Xstr-2  .o   |     |   x. +Ystr-1
+                          .' |___'     '___| '.
+   o==/ /===============.' o |             |>o='. ==============/ /==o
+                       V     | -.       .--|     V
+                  -Ystr-2    |  |       |  |     +Xstr-1
+                             |--' +Xsc  '--|
+                             |      ^      |
+                             |      |      |            Ysc and +Ystr-1 are
+                             |      |      |            into the page.
+                        +Zsc .______|______.            Xstr-2 is out of the
+                            <-------x   `. ME           page.
+                              /______+Ysc \
+                           HGA    `.|.'
+
+
+   The rotation matrices from the Star Tracker frames to the S/C frame are
+   the matrices that result of the following quaternions (from [20]):
+
+
+     Quaternion = (  0.40858701, 0.01988630, -0.91164303, -0.03958660  )
+         STR-1 -> SC          q_0         q_1          q_2          q_3
+
+
+     Quaternion = (  0.65510702, 0.31692499, -0.25880700,  0.63514697  )
+         STR-2 -> SC          q_0         q_1          q_2          q_3
+
+
+   This is incorporated by the frame definitions below.
+
+   \begindata
+
+      FRAME_TGO_STR-1               = -143041
+      FRAME_-143041_NAME            = 'TGO_STR-1'
+      FRAME_-143041_CLASS           =  4
+      FRAME_-143041_CLASS_ID        = -143041
+      FRAME_-143041_CENTER          = -143
+      TKFRAME_-143041_RELATIVE      = 'TGO_SPACECRAFT'
+      TKFRAME_-143041_SPEC          = 'MATRIX'
+      TKFRAME_-143041_MATRIX        = ( -0.66532202, -0.00390928, -0.74654627,
+                                        -0.06860763,  0.99607487,  0.05592719,
+                                         0.74339734,  0.08842836, -0.66297875 )
+
+      FRAME_TGO_STR-2               = -143042
+      FRAME_-143042_NAME            = 'TGO_STR-2'
+      FRAME_-143042_CLASS           =  4
+      FRAME_-143042_CLASS_ID        = -143042
+      FRAME_-143042_CENTER          = -143
+      TKFRAME_-143042_RELATIVE      = 'TGO_SPACECRAFT'
+      TKFRAME_-143042_SPEC          = 'MATRIX'
+      TKFRAME_-143042_MATRIX        = (  0.05921395, -0.99622389,  0.06349536,
+                                         0.66813407, -0.00770686, -0.74400099,
+                                         0.74168091,  0.08647865,  0.66515477 )
+
+   \begintext
+
+
+ACS Frames
+------------------------------------------------------------------------
+
+   This section of the file contains the definitions of the Atmospheric
+   Chemistry Suite (ACS) instrument frames.
+
+
+ACS Frame Tree
+~~~~~~~~~~~~~~
+
+   The diagram below shows the ACS frame hierarchy.
+
+
+                               "J2000" INERTIAL
+           +-----------------------------------------------------+
+           |                          |                          |
+           |<-pck                     |                          |<-pck
+           |                          |                          |
+           v                          |                          v
+       "IAU_MARS"                     |                     "IAU_EARTH"
+     MARS BODY-FIXED                  |<-ck               EARTH BODY-FIXED
+     ---------------                  |                   ----------------
+                                      v
+                               "TGO_SPACECRAFT"
+                    +-----------------------------------------+
+                    |                    |                    |
+                    |<-fixed             |<-fixed             |<-fixed
+                    |                    |                    |
+                    v                    v                    |
+           "TGO_ACS_NIR_BASE"      "TGO_ACS_MIR"              |
+         +---------------------+   -------------              |
+         |                     |                              |
+         |<-fixed              |<-fixed                       |
+         |                     |                              |
+         v                     v                              |
+   "TGO_ACS_NIR_NAD"    "TGO_ACS_NIR_OCC"                     |
+   -----------------    -----------------                     |
+                                                              |
+                                                              v
+                                                 "TGO_ACS_TIRVIM_BASE"
+   +-------------------------------------------------------------------------+
+   |      |      |      |      |                    |         |              |
+   |<-fxd |<-fxd |<-fxd |<-fxd |<-fxd        fixed->|  fixed->|       fixed->|
+   |      |      |      |      |                    |         |              |
+   |      |      |      |      v                    |         v              |
+   |      |      |      | "TGO_ACS_TIRVIM_SCAN_BBY" |  "TGO_ACS_TIRVIM_SUN"  |
+   |      |      |      | ------------------------- |  --------------------  |
+   |      |      |      v                           |                        v
+   |      |      |   "TGO_ACS_TIRVIM_SCAN_SPC"      |  "TGO_ACS_TIRVIM_SUN_BSR"
+   |      |      |   -------------------------      |  ------------------------
+   |      |      v                                  |
+   |      |     "TGO_ACS_TIRVIM_SCAN_NAD"           |
+   |      |     -------------------------           |
+   |      v                                         v
+   |     "TGO_ACS_TIRVIM_SCAN_OCC"      "TGO_ACS_TIRVIM_SCAN_ROT"
+   |     -------------------------      -------------------------
+   v                                                |
+   "TGO_ACS_TIRVIM_SCAN_OCC_BS"                 ck->|
+   ----------------------------                     |
+                                                    v
+                                          "TGO_ACS_TIRVIM_SCAN"
+                                          ---------------------
+                                                    |
+                                             fixed->|
+                                                    |
+                                                    v
+                                            "TGO_ACS_TIRVIM"
+                                            ----------------
+
+
+ACS TIRVIM Base Frame
+~~~~~~~~~~~~~~~~~~~~~
+
+   The ACS Thermal Infrared V-shape Interferometer Mounting Spectrometer
+   (TIRVIM) is rigidly mounted on the spacecraft Science Deck. Therefore,
+   the base frame associated with it -- the ACS TIRVIM Base frame,
+   TGO_ACS_TIRVIM_BASE --  is specified as a fixed offset frame
+   with its orientation given relative to the TGO_SPACECRAFT frame.
+
+   The ACS TIRVIM Base frame are defined as follows (from [9]):
+
+      -  +X axis is along the nominal spectrometer mirror rotation axis, and
+         it is nominally co-aligned with the spacecraft +Z axis;
+
+      -  +Z axis is co-aligned with the -Y spacecraft axis and it is along
+         the spectrometer boresight in "nadir" position;
+
+      -  +Y axis completes the right-handed frame;
+
+      -  the origin of this frame is located at the intersection of the
+         spectrometer scanning mirror rotation axis and mirror central axis.
+
+
+   These diagrams illustrate the nominal TGO_ACS_TIRVIM_BASE frame with
+   respect to the spacecraft frame.
+
+
+   -X S/C side (Main Engine side) view:
+   ------------------------------------
+
+
+                                    ^
+                                    | toward Mars
+                                    |
+                                    |    ^ +Zacs_tirvim_base
+                                         |
+                           Science deck  |
+                             .___________|_.
+   .__  _______________.     |   <-------o +Yacs_tirvim_base____  ___.
+   |  \ \               \    | +Xacs_tirvim_base/               \ \  |
+   |  / /                \   |     ___     |   /                / /  |
+   |  \ \               +Zsc |    / _ +Xsc | .'                 \ \  |
+   |  / /                  <--------x)     |o |                 / /  |
+   |  \ \                 .' |    \_|_/    | `.                 \ \  |
+   |  / /                /   |      |      |   \                / /  |
+   .__\ \_______________/    |      |      |    \_______________\ \__.
+       +Z Solar Array        ._____ v +Ysc .      -Z Solar Array
+                                 ._____.
+                               .'       `.
+                              /           \
+                             .   `.   .'   .          +Xsc is into the page;
+                             |     `o'     |          +Yacs_tirvim_base is
+                             .      |      .           out of the page.
+                              \     |     /
+                               `.       .'
+                            HGA  ` --- '
+
+
+   -Y S/C side (Science Deck side) view:
+   -------------------------------------
+                                  _____
+                                 /     \  EDM
+                                |       |
+                             ._____________.
+                             |+Xacs_tirvim_base
+                             |    <------o | +Zacs_tirvim_base
+                      +Zsc   |        '__|_|
+   o==/ /==================o<|           | |>o==================/ /==o
+     +Z Solar Array          |           | |        -Z Solar Array
+                             |           v +Yacs_tirvim_base
+                             |    +Xsc     |
+                             |      ^      |
+                             |      |      |
+                             |      |      |
+                        +Zsc .______|______.            +Ysc is into the
+                            <-------x   `. ME            page;
+                              /______+Ysc \             +Zacs_tirvim_base
+                           HGA    `.|.'                  is out of the page.
+
+
+   Nominally, a rotation of -90 degrees about +Y spacecraft axis and then
+   a rotation of  90 degrees about the +X resulting axis are required to
+   align the TGO_SPACECRAFT to the TGO_ACS_TIRVIM_BASE frame.
+
+
+   Since the SPICE frames subsystem calls for specifying the reverse
+   transformation--going from the instrument or structure frame to the
+   base frame--as compared to the description given above, the order of
+   rotations assigned to the TKFRAME_*_AXES keyword is also reversed
+   compared to the above text, and the signs associated with the
+   rotation angles assigned to the TKFRAME_*_ANGLES keyword are the
+   opposite from what is written in the above text.
+
+   \begindata
+
+      FRAME_TGO_ACS_TIRVIM_BASE        =  -143105
+      FRAME_-143105_NAME               = 'TGO_ACS_TIRVIM_BASE'
+      FRAME_-143105_CLASS              =   4
+      FRAME_-143105_CLASS_ID           =  -143105
+      FRAME_-143105_CENTER             =  -143
+      TKFRAME_-143105_RELATIVE         = 'TGO_SPACECRAFT'
+      TKFRAME_-143105_SPEC             = 'ANGLES'
+      TKFRAME_-143105_UNITS            = 'DEGREES'
+      TKFRAME_-143105_AXES             = ( 3,     2,      1   )
+      TKFRAME_-143105_ANGLES           = ( 0.0,  90.0,  -90.0 )
+
+   \begintext
+
+
+ACS TIRVIM Scanning Mirror frames
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+   The Thermal Infrared V-shape Interferometer Mounting Spectrometer
+   (TIRVIM) has a single-axis scanning mirror that provide the possibility
+   of observation in nadir and any position from it (360 degrees of positive
+   rotation only) (see [11]).
+
+   Since this scanning mirrors rotate with respect to the TIRVIM base,
+   the TGO_ACS_TIRVIM_SCAN frame is defined as a CK frame with its orientation
+   provided in a CK file relative to the TGO_ACS_TIRVIM_SCAN_ROT frames. The
+   TGO_ACS_TIRVIM_SCAN_ROT frame is then defined to incorporate misalignments
+   in the Scanner rotation axis.
+
+   The ACS TIRVIM scanning mirror rotation frame and the ACS TIRVIM scanning
+   mirror frames -- TGO_ACS_TIRVIM_SCAN_ROT and TGO_ACS_TIRVIM_SCAN -- are
+   defined as (from [9]):
+
+      -  +X axis is along the nominal spectrometer scanning mirror rotation
+         axis, and it is nominally co-aligned with the spectrometer base +X
+         axis;
+
+      -  +Z axis is parallel to the scanning mirror boresight that defines
+         the spectrometer boresight; in 'nadir' scanner position is co-aligned
+         with the -Y spacecraft axis -- this is the 'fixed' position for
+         the TGO_ACS_TIRVIM_SCAN_ROT frame --; in 'space' scanner position is
+         co-aligned with the +X spacecraft axis;
+
+      -  +Y axis completes the right-handed frame;
+
+      -  the origin of this frame is located at the intersection of the
+         spectrometer scanning mirror rotation axis and mirror central axis.
+
+
+   For an arbitrary scanner angle, the scanning mirror frame base is rotated
+   by this angle about the +X axis with respect to its rotation frame. The
+   sense of rotation is:
+
+      (1) nadir - (2) space - (3) black body - (4) occultation - (1) nadir
+
+   These diagrams illustrate the TGO_ACS_TIRVIM frames for nominal scanner
+   positions 'nadir' (~0.0 degrees), equivalent to TGO_ACS_TIRVIM_SCAN_ROT,
+   solar 'occultation' (~67.07 deg from the spacecraft -Y axis to the -X in
+   the XY plane) and 'space' (~90.00 deg from the spacecraft -Y axis to the
+   +X in the XY plane). All diagrams are +Z S/C side view:
+
+
+    Scanner in 'nadir' position        Scanner in 'occ' position
+    ---------------------------        -------------------------
+
+      (1)         +Zbase                 (4)    +Zbase
+                ^ +Zscan                           ^
+                |                                  |         +Zscan
+                |       Science                    |_~67deg .^
+                | ACS     Deck                     |  \  .'    Science Deck
+          ._____|___________.                ._ACS_| .'________.
+          |     o------->   |                |     o------->   |
+         ============o= +Ybase             ========\===o= +Ybase
+        SA+Z            +Yscan_..--,        SA+Z     \         |__..--,
+          |            <-----o-..__|         |       \    <-----o-..__|
+          |          +Xsc   ||     ME        |        v  +Xsc  ||     ME
+          ._________________.|               ._________+Yscan_.||
+                          o-o|/|                             o-o|/|
+                           \|V +Ysc                           \|V +Ysc
+                            o  | :                             o  | :
+                             \ |/                               \ |/
+                              \|                                 \|
+                                  HGA                               HGA
+
+
+     Scanner in 'space' position        Scanner in 'black body' position
+     ---------------------------        --------------------------------
+
+       (2)        +Zbase                   (3)       +Zbase
+                ^ +Yscan                           ^
+                |                                  |
+                |       Science                    |       Science
+        ~90deg.-| ACS     Deck            ~180deg.-| ACS     Deck
+    +Zscan _/___|___________.                ._/___|___________.
+        <-------o------->   |              <-------o------->   |
+         ============o= +Ybase          +Yscan=\===|====o= +Ybase
+        SA+Z                |__..--,        SA+Z'._|           |__..--,
+          |            <-----o-..__|         |     |      <-----o-..__|
+          |          +Xsc   ||     ME        |     V     +Xsc   ||     ME
+          ._________________.|               .___+Zscan_________.|
+                          o-o|/|                              o-o|/|
+                           \|V +Ysc                            \|V +Ysc
+                            o  | :                              o  | :
+                             \ |/                                \ |/
+                              \|                                  \|
+                                  HGA                                 HGA
+
+
+                                              +Zsc, +Xbase, and +Xscan are
+                                               out of the page.
+
+
+   Nominally the TGO_ACS_TIRVIM_SCAN_ROT frame is equivalent to the
+   TGO_ACS_TIRVIM_BASE frame.
+
+   These sets of keywords define the TIRVIM scanning mirror frame as a
+   CK based frame and the TIRVIM scanning mirror rotation frame as a
+   fixed-offset frame. Since the SPICE frames subsystem calls for specifying
+   the reverse transformation--going from the instrument or structure frame to
+   the base frame--as compared to the description given above, the order of
+   rotations assigned to the TKFRAME_*_AXES keyword is also reversed compared
+   to the above text, and the signs associated with the rotation angles
+   assigned to the TKFRAME_*_ANGLES keyword are the opposite from what is
+   written in the above text.:
+
+   \begindata
+
+      FRAME_TGO_ACS_TIRVIM_SCAN_ROT    =  -143106
+      FRAME_-143106_NAME               = 'TGO_ACS_TIRVIM_SCAN_ROT'
+      FRAME_-143106_CLASS              =   4
+      FRAME_-143106_CLASS_ID           =  -143106
+      FRAME_-143106_CENTER             =  -143
+      TKFRAME_-143106_RELATIVE         = 'TGO_ACS_TIRVIM_BASE'
+      TKFRAME_-143106_SPEC             = 'ANGLES'
+      TKFRAME_-143106_UNITS            = 'DEGREES'
+      TKFRAME_-143106_AXES             = ( 3,     2,      1   )
+      TKFRAME_-143106_ANGLES           = ( 0.0,   0.0,    0.0 )
+
+      FRAME_TGO_ACS_TIRVIM_SCAN        = -143107
+      FRAME_-143107_NAME               = 'TGO_ACS_TIRVIM_SCAN'
+      FRAME_-143107_CLASS              =  3
+      FRAME_-143107_CLASS_ID           = -143107
+      FRAME_-143107_CENTER             = -143
+      CK_-143107_SCLK                  = -143
+      CK_-143107_SPK                   = -143
+
+   \begintext
+
+
+ACS TIRVIM Detector Frames
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+   Since the TIRVIM detector receives radiation through the scanner
+   and has a single pixel, its frame, TGO_ACS_TIRVIM is defined to be
+   nominally co-aligned with the TIRVIM scanner frame TGO_ACS_TIRVIM_SCAN.
+   This frame is introduced to allow incorporating into the TIRVIM frame
+   chain any misalignment between the scanner boresight direction and the
+   detector view directions.
+
+   The following in-flight calibrated rotation axis misalignment, provided as
+   the boresight in 'nadir' position was provided by A. Trokhimovskiy on 10th
+   May, 2017 [19] please note that the scanner channel in 'nadir' position was
+   not measured, but inferred from an offset in the 'solar direction':
+
+      ACS_TIRVIM Boresight: ( 0.0, -0.99905, -0.04362 )
+
+   The boresights is defined relative to the TGO_SPACECRAFT frame. Given
+   the boresight the rotation from the TGO_ACS_TIRVIM_SCAN frame to the
+   TGO_ACS_TIRVIM frames determined from the in-flight calibration data
+   can be represented by the following rotation angles in degrees:
+
+       nad
+      M    = |0.0|  * |-2.5000306232819502|  * |3.6615346000217E-15|
+       base       Z                        Y                        X
+
+
+   This set of keywords define the TIRVIM frame as a fixed-offset frame. Since
+   the SPICE frames subsystem calls for specifying the reverse transformation
+   --going from the instrument or structure frame to the base frame-- as
+   compared to the description given above, the order of rotations assigned to
+   the TKFRAME_*_AXES keyword is also reversed compared to the above text, and
+   the signs associated with the rotation angles assigned to the
+   TKFRAME_*_ANGLES keyword are the opposite from what is written in the above
+   text.:
+
+   \begindata
+
+      FRAME_TGO_ACS_TIRVIM             =  -143110
+      FRAME_-143110_NAME               = 'TGO_ACS_TIRVIM'
+      FRAME_-143110_CLASS              =   4
+      FRAME_-143110_CLASS_ID           =  -143110
+      FRAME_-143110_CENTER             =  -143
+      TKFRAME_-143110_RELATIVE         = 'TGO_ACS_TIRVIM_SCAN'
+      TKFRAME_-143110_SPEC             = 'ANGLES'
+      TKFRAME_-143110_UNITS            = 'DEGREES'
+      TKFRAME_-143110_AXES             = ( 3,     2,      1   )
+      TKFRAME_-143110_ANGLES           = (
+                            0.0,  2.5000306232819502, 0.000000000000003661535
+                                         )
+
+   \begintext
+
+
+ACS TIRVIM fixed scanner position frames
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+   The ACS TIRVIM scanning mirror can be used in several positions for
+   external observations, being the most common 'nadir' and
+   cold 'space.' In addition, and through the usage of an off-pointed
+   periscope and an off-axis parabolic mirror, a solar 'occultation'
+   observation can be performed in parallel to the use of the scanning
+   mirror. For the solar 'occultation' position a boresight for the position
+   of the best spectral resolution within the FoV is also provided. This
+   boresight will be used for pointings driven by TIRVIM using the scanner
+   channel. The 'black body' position of the scanning mirror is also
+   considered.
+
+   Therefore, for the ACS TIRVIM a set of 'fixed-mirror-position'
+   frames -- 'nadir', 'solar occultation', 'solar occultation best spectral
+   resolution', 'space' and 'black body' -- are defined as fixed-offset
+   frames to allow computing these orientations without needing to use a CK:
+
+       Frame Name                  Fixed-mirror-position
+      ---------------------------- ------------------------------------------
+       TGO_ACS_TIRVIM_SCAN_BBY     Black Body
+       TGO_ACS_TIRVIM_SCAN_SPC     Cold Space
+       TGO_ACS_TIRVIM_SCAN_NAD     Nadir
+       TGO_ACS_TIRVIM_SCAN_OCC     Solar Occultation
+       TGO_ACS_TIRVIM_SCAN_OCC_BS  Solar Occultation Best Spectral Resolution
+
+
+   Each of these 'fixed-position' frames are defined as a fixed
+   offset frame with respect to the corresponding base frame for each of
+   the spectrometers as follows (from [9]):
+
+      -  +X axis is along the nominal spectrometer mirror rotation
+         axis, and it is nominally co-aligned with the spectrometer
+         base +X axis;
+
+      -  +Z axis is parallel to the scanning mirror boresight that defines
+         the spectrometer boresight at a particular angle;
+
+      -  +Y axis completes the right-handed frame;
+
+      -  the origin of this frame is located at the intersection of the
+         spectrometer scanning mirror rotation axis and mirror central axis.
+
+
+   These diagrams illustrate fixed mirror pointing directions co-aligned
+   with the +Z axis of the corresponding 'fixed-mirror-position' frame
+   -- the 'solar occultation best spectral resolution' and 'black body'
+   positions are not represented --:
+
+   +Z S/C side view
+   ----------------
+
+                  +Z*base                        +Z*base
+                ^ +Z*nad                           ^
+                |                                  |         +Z*occ
+                |       Science                    |_~67deg .^
+                | ACS     Deck                     |  \  .'    Science Deck
+          ._____|___________.                ._ACS_| .'________.
+          |     o------->   |                |     o------->   |
+         ============o= +Y*base             ========\===o= +Y*base
+         SA+Z             +Y*nad.--,        SA+Z     \         |__..--,
+          |            <-----o-..__|         |        \   <-----o-..__|
+          |          +Xsc   ||     ME        |         v +Xsc  ||     ME
+          ._________________.|               .______+Y*occ_____.|
+                          o-o|/|                             o-o|/|
+                           \|V +Ysc                           \|V +Ysc
+                            o  | :                             o  | :
+                             \ |/                               \ |/
+                              \|                                 \|
+                                  HGA                               HGA
+
+
+                +Zbase
+                +Zbase                             +Zbase
+                ^ +Y*spc                           ^ +Y*bby
+                |                                  |
+                |       Science                    |       Science
+        ~90deg.-| ACS     Deck            ~180deg.-| ACS     Deck
+    +Z*spc _/___|___________.                ._/___|___________.
+        <-------o------->   |                ||    o------->   |
+         ============o= +Ybase              ===\===|====o= +Ybase
+         SA+Z               |__..--,        SA+Z'._|    +Xsc   |__..--,
+          |            <-----o-..__|         |     |      <-----o-..__|
+          |          +Xsc   ||     ME        |     v +Z*bby    ||     ME
+          ._________________.|               ._________________.|
+                          o-o|/|                             o-o|/|
+                           \|V +Ysc                           \|V +Ysc
+                            o  | :                             o  | :
+                             \ |/                               \ |/
+                              \|                                 \|
+                                  HGA                               HGA
+
+
+                                              +Zsc, +Xbase, +X*nad, +X*occ,
+                                              +X*bby and +X*spc are out of
+                                              the page;
+
+
+      ``*base'' corresponds to ``acs_tirvim_base'';
+      ``*nad'' corresponds to ``acs_tirvim_scan_nad'';
+      ``*occ'' corresponds to ``acs_tirvim_scan_occ'';
+      ``*spc'' corresponds to ``acs_tirvim_scan_spc'' and
+      ``*bby'' corresponds to ``acs_tirvim_scan_bby''.
+
+
+   These 'fixed-position' frames are nominally rotated about the
+   +X axis of the corresponding spectrometer base frames by the following
+   angles:
+
+      Frame name                    Rotation Angle, deg
+      ---------------------------  -------------------
+      TGO_ACS_TIRVIM_SCAN_BBY        180.00
+      TGO_ACS_TIRVIM_SCAN_SPC        +90.00
+      TGO_ACS_TIRVIM_SCAN_NAD          0.00
+      TGO_ACS_TIRVIM_SCAN_OCC        -67.07
+      TGO_ACS_TIRVIM_SCAN_OCC_BS     -67.07
+
+
+   The following in-flight calibrated rotation axis misalignment, provided as
+   the boresight in 'nadir' position was provided by A. Trokhimovskiy on 25th
+   and 27th April and on the 10th May, 2017 [19]:
+
+      ACS_TIRVIM_SCAN_NAD Boresight:     (  0.00000, -0.99905, -0.04362 )
+
+      ACS_TIRVIM_SCAN_OCC Boresight:     ( -0.89699, -0.44081, -0.04362 )
+
+      ACS_TIRVIM_SCAN_OCC_BS Boresight:  ( -0.90139, -0.43102, -0.04028 )
+
+   The boresights is defined relative to the TGO_SPACECRAFT frame. Given
+   the boresight the rotation from the TGO_ACS_TIRVIM_BASE frame to the
+   TGO_ACS_TIRVIM_SCAN_ROT frames determined from the in-flight calibration
+   data can be represented by the following rotation angles in degrees:
+
+       nad
+      M    = |0.0|  * |-2.5000306232819502|  * |3.6615346000217E-15|
+       base       Z                        Y                        X
+
+       occ
+      M    = |0.0|  * |-2.4990260652816447|  * |-63.829000275807154|
+       base       Z                        Y                        X
+
+       bsr
+      M    = |0.0|  * |-2.3086086582635210|  * |-64.444150970533260|
+       base       Z                        Y                        X
+
+
+   Since the SPICE frames subsystem calls for specifying the reverse
+   transformation--going from the instrument or structure frame to the
+   base frame--as compared to the description given above, the order of
+   rotations assigned to the TKFRAME_*_AXES keyword is also reversed
+   compared to the above text, and the signs associated with the
+   rotation angles assigned to the TKFRAME_*_ANGLES keyword are the
+   opposite from what is written in the above text.
+
+   \begindata
+
+      FRAME_TGO_ACS_TIRVIM_SCAN_BBY    =  -143131
+      FRAME_-143131_NAME               = 'TGO_ACS_TIRVIM_SCAN_BBY'
+      FRAME_-143131_CLASS              =   4
+      FRAME_-143131_CLASS_ID           =  -143131
+      FRAME_-143131_CENTER             =  -143
+      TKFRAME_-143131_RELATIVE         = 'TGO_ACS_TIRVIM_BASE'
+      TKFRAME_-143131_SPEC             = 'ANGLES'
+      TKFRAME_-143131_UNITS            = 'DEGREES'
+      TKFRAME_-143131_AXES             = ( 3,     2,      1    )
+      TKFRAME_-143131_ANGLES           = ( 0.0,   0.0,  180.00 )
+
+      FRAME_TGO_ACS_TIRVIM_SCAN_SPC    =  -143132
+      FRAME_-143132_NAME               = 'TGO_ACS_TIRVIM_SCAN_SPC'
+      FRAME_-143132_CLASS              =   4
+      FRAME_-143132_CLASS_ID           =  -143132
+      FRAME_-143132_CENTER             =  -143
+      TKFRAME_-143132_RELATIVE         = 'TGO_ACS_TIRVIM_BASE'
+      TKFRAME_-143132_SPEC             = 'ANGLES'
+      TKFRAME_-143132_UNITS            = 'DEGREES'
+      TKFRAME_-143132_AXES             = ( 3,     2,      1    )
+      TKFRAME_-143132_ANGLES           = ( 0.0,   0.0,  -90.00 )
+
+      FRAME_TGO_ACS_TIRVIM_SCAN_NAD    =  -143133
+      FRAME_-143133_NAME               = 'TGO_ACS_TIRVIM_SCAN_NAD'
+      FRAME_-143133_CLASS              =   4
+      FRAME_-143133_CLASS_ID           =  -143133
+      FRAME_-143133_CENTER             =  -143
+      TKFRAME_-143133_RELATIVE         = 'TGO_ACS_TIRVIM_BASE'
+      TKFRAME_-143133_SPEC             = 'ANGLES'
+      TKFRAME_-143133_UNITS            = 'DEGREES'
+      TKFRAME_-143133_AXES             = ( 3,     2,      1   )
+      TKFRAME_-143133_ANGLES           = (
+                            0.0,  2.5000306232819502, 0.000000000000003661535
+                                         )
+
+      FRAME_TGO_ACS_TIRVIM_SCAN_OCC    =  -143134
+      FRAME_-143134_NAME               = 'TGO_ACS_TIRVIM_SCAN_OCC'
+      FRAME_-143134_CLASS              =   4
+      FRAME_-143134_CLASS_ID           =  -143134
+      FRAME_-143134_CENTER             =  -143
+      TKFRAME_-143134_RELATIVE         = 'TGO_ACS_TIRVIM_BASE'
+      TKFRAME_-143134_SPEC             = 'ANGLES'
+      TKFRAME_-143134_UNITS            = 'DEGREES'
+      TKFRAME_-143134_AXES             = ( 3,     2,      1    )
+      TKFRAME_-143134_ANGLES           = (
+                             0.0,  2.4990260652816447,  +63.829000275807154
+                                          )
+
+      FRAME_TGO_ACS_TIRVIM_SCAN_OCC_BS  =  -143135
+      FRAME_-143135_NAME                = 'TGO_ACS_TIRVIM_SCAN_OCC_BS'
+      FRAME_-143135_CLASS               =   4
+      FRAME_-143135_CLASS_ID            =  -143135
+      FRAME_-143135_CENTER              =  -143
+      TKFRAME_-143135_RELATIVE          = 'TGO_ACS_TIRVIM_BASE'
+      TKFRAME_-143135_SPEC              = 'ANGLES'
+      TKFRAME_-143135_UNITS             = 'DEGREES'
+      TKFRAME_-143135_AXES              = ( 3,     2,      1    )
+      TKFRAME_-143135_ANGLES            = (
+                              0.0,   2.3086086582635210,  +64.444150970533260
+                                          )
+
+   \begintext
+
+
+ACS TIRVIM Sun Channel frames
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+   The ACS TIRVIM instrument has a Sun Channel for which two reference
+   frames are defined: the ACS TIRVIM Sun Channel frame that is defined by the
+   center of the FoV and the ACS TIRVIM Sun Channel Best Spectral Resolution
+   -- TGO_ACS_TIRVIM_SUN_BSR and TGO_ACS_TIRVIM_SUN -- which is defined by a
+   boresight to be used for pointings driven by TIRVIM (using the Sun channel)
+   that corresponds to the pixel of best spectral resolution of the slit. Note
+   that the sensitivity is not uniform within the FOV and peaks close to the
+   MIR slit.
+
+   Each of these frames are defined as a fixed offset frame with respect to
+   the corresponding base frame for each of the spectrometers as follows (from
+   [9]):
+
+      -  +X axis is nominally co-aligned with the spectrometer
+         base +X axis;
+
+      -  +Z axis is parallel to the Sun Channel boresight (the
+         nominal and the BSR one respectively);
+
+      -  +Y axis completes the right-handed frame;
+
+      -  the origin of this frame is located at the intersection of the
+         spectrometer scanning mirror rotation axis and mirror central axis.
+
+
+   These diagram illustrates fixed mirror pointing directions co-aligned
+   with the +Z axis of the corresponding 'fixed-mirror-position' frame:
+
+   +Z S/C side view
+   ----------------
+
+          +Z*base
+            ^
+            |         +Zsun
+            |_~67deg .^
+            |  \  .'    Science Deck
+      ._ACS_| .'________.
+      |     o------->   |
+     ========\===o= +Y*base
+     SA+Z     \         |__..--,
+      |        \   <-----o-..__|
+      |         v +Xsc   ||     ME
+      ._______+Ysun______.|
+                       o-o|/|
+                        \|V +Ysc
+                         o  | :         +Zsc and +Xsun
+                          \ |/           and +Xspc are out of the page.
+                           \|
+                               HGA
+
+
+   Nominally, a rotation of 90 degrees about +X spacecraft axis and then
+   a rotation of -67.07 degrees about the +Y resulting axis are required to
+   align the TGO_SPACECRAFT to the TGO_ACS_MIR frames.
+
+   The following in-flight calibrated misalignment boresight was provided
+   by A. Trokhimovskiy on April 25 and 27, 2017 [19]:
+
+      ACS_TIRVIM_SUN Boresight:      ( -0.92070, -0.39000, -0.01420 )
+
+      ACS_TIRVIM_SUN_BSR Boresight:  ( -0.92169, -0.38739, -0.02042 )
+
+
+   These boresights are defined relative to the TGO_SPACECRAFT frame. Given
+   these boresights the rotation from the TGO_ACS_TIRVIM_BASE frame to the
+   TGO_ACS_TIRVIM_SUN and TGO_ACS_TIRVIM_SUN_BSR frames determined from the
+   in-flight calibration data can be represented by the following rotation
+   angles in degrees:
+
+       sun
+      M    = |0.0|  * |-0.8136314295043187|  * |-67.04293381739603|
+       base       Z                        Y                       X
+
+       bsr
+      M    = |0.0|  * |-1.1700608817724396|  * |-67.20278942918976|
+       base       Z                        Y                       X
+
+
+   Since the SPICE frames subsystem calls for specifying the reverse
+   transformation--going from the instrument or structure frame to the
+   base frame--as compared to the description given above, the order of
+   rotations assigned to the TKFRAME_*_AXES keyword is also reversed
+   compared to the above text, and the signs associated with the
+   rotation angles assigned to the TKFRAME_*_ANGLES keyword are the
+   opposite from what is written in the above text.
+
+   \begindata
+
+      FRAME_TGO_ACS_TIRVIM_SUN         =  -143140
+      FRAME_-143140_NAME               = 'TGO_ACS_TIRVIM_SUN'
+      FRAME_-143140_CLASS              =   4
+      FRAME_-143140_CLASS_ID           =  -143140
+      FRAME_-143140_CENTER             =  -143
+      TKFRAME_-143140_RELATIVE         = 'TGO_ACS_TIRVIM_BASE'
+      TKFRAME_-143140_SPEC             = 'ANGLES'
+      TKFRAME_-143140_UNITS            = 'DEGREES'
+      TKFRAME_-143140_AXES             = ( 3,     2,      1   )
+      TKFRAME_-143140_ANGLES           = (
+                   0.0, +0.8136314295043187,  +67.04293381739603
+                                         )
+
+      FRAME_TGO_ACS_TIRVIM_SUN_BSR     =  -143141
+      FRAME_-143141_NAME               = 'TGO_ACS_TIRVIM_SUN_BSR'
+      FRAME_-143141_CLASS              =   4
+      FRAME_-143141_CLASS_ID           =  -143141
+      FRAME_-143141_CENTER             =  -143
+      TKFRAME_-143141_RELATIVE         = 'TGO_ACS_TIRVIM_BASE'
+      TKFRAME_-143141_SPEC             = 'ANGLES'
+      TKFRAME_-143141_UNITS            = 'DEGREES'
+      TKFRAME_-143141_AXES             = ( 3,     2,      1    )
+      TKFRAME_-143141_ANGLES           = (
+                   0.0, +1.1700608817724396,  +67.20278942918976
+                                         )
+
+   \begintext
+
+
+ACS Near Infrared (NIR) Base
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+   The ACS Near Infrared (NIR) spectrometer is rigidly mounted on the
+   spacecraft Science Deck. Therefore, the base frame associated with
+   it -- the ACS NIR Base frame, TGO_ACS_NIR_BASE -- is specified as
+   a fixed offset frame with its orientation given relative to the
+   TGO_SPACECRAFT frame.
+
+   The ACS NIR Base frame is defined as follows (from [9]):
+
+      -  +X axis is along the nominal spectrometer boresight, and
+         it is nominally co-aligned with the spacecraft +Z axis;
+
+      -  +Z axis is co-aligned with the -Y spacecraft axis and it is along
+         the spectrometer boresight in "nadir" position;
+
+      -  +Y axis completes the right-handed frame;
+
+      -  the origin of this frame is located at geometrical centre of the
+         first folding mirror at the entry optics of the spectrometer.
+
+
+   These diagrams illustrate the nominal TGO_ACS_NIR_BASE frame with respect
+  to the spacecraft frame.
+
+
+   -X S/C side (Main Engine side) view:
+   ------------------------------------
+                                    ^
+                                    | toward Mars
+                                    |
+                                    |    ^ +Zacs_nir_base
+                                         |
+                           Science deck  |
+                             .___________|_.
+   .__  _______________.     |   <-------o +Yacs_nir_base_______  ___.
+   |  \ \               \    | +Xacs_nir_base   /               \ \  |
+   |  / /                \   |     ___     |   /                / /  |
+   |  \ \               +Zsc |    / _ +Xsc | .'                 \ \  |
+   |  / /                  <--------x)     |o |                 / /  |
+   |  \ \                 .' |    \_|_/    | `.                 \ \  |
+   |  / /                /   |      |      |   \                / /  |
+   .__\ \_______________/    |      |      |    \_______________\ \__.
+       +Z Solar Array        ._____ v +Ysc .      -Z Solar Array
+                                 ._____.
+                               .'       `.
+                              /           \
+                             .   `.   .'   .        +Xsc is into the page;
+                             .      |      .        +Yacs_nir_base is out
+                              \     |     /          of the page.
+                               `.       .'
+                            HGA  ` --- '
+
+
+   -Y S/C side (Science Deck side) view:
+   -------------------------------------
+                                  _____
+                                 /     \  EDM
+                                |       |
+                             ._____________.
+                             |+Xacs_nir_base
+                             |    <------o | +Zacs_nir_base
+                      +Zsc   |        '__|_|
+   o==/ /==================o<|           | |>o==================/ /==o
+     +Z Solar Array          |           | |        -Z Solar Array
+                             |           v +Yacs_nir_base
+                             |    +Xsc     |
+                             |      ^      |
+                             |      |      |
+                             |      |      |
+                        +Zsc .______|______.            +Ysc is into the
+                            <-------x   `. ME            page;
+                              /______+Ysc \             +Zacs_nir_base
+                           HGA    `.|.'                  is out of the page.
+
+
+
+   Nominally, a rotation of -90 degrees about +Y spacecraft axis and then
+   a rotation of  90 degrees about the +X resulting axis are required to
+   align the TGO_SPACECRAFT to the TGO_ACS_NIR_BASE frame.
+
+
+   Since the SPICE frames subsystem calls for specifying the reverse
+   transformation--going from the instrument or structure frame to the
+   base frame--as compared to the description given above, the order of
+   rotations assigned to the TKFRAME_*_AXES keyword is also reversed
+   compared to the above text, and the signs associated with the
+   rotation angles assigned to the TKFRAME_*_ANGLES keyword are the
+   opposite from what is written in the above text.
+
+   \begindata
+
+      FRAME_TGO_ACS_NIR_BASE           =  -143100
+      FRAME_-143100_NAME               = 'TGO_ACS_NIR_BASE'
+      FRAME_-143100_CLASS              =   4
+      FRAME_-143100_CLASS_ID           =  -143100
+      FRAME_-143100_CENTER             =  -143
+      TKFRAME_-143100_RELATIVE         = 'TGO_SPACECRAFT'
+      TKFRAME_-143100_SPEC             = 'ANGLES'
+      TKFRAME_-143100_UNITS            = 'DEGREES'
+      TKFRAME_-143100_AXES             = ( 3,     2,      1   )
+      TKFRAME_-143100_ANGLES           = ( 0.0,  90.0,  -90.0 )
+
+   \begintext
+
+
+ACS NIR nadir and occultation position frames
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+   The ACS NIR spectrometer is capable of performing parallel nadir and
+   limb/solar occultation measurements (see [11]) using the two periscope
+   apertures (one of them "looking" nadir) and an off-axis parabolic
+   mirror that defines the NIR occultation boresight to be at 67.07
+   degrees from -Y spacecraft axis towards the -X spacecraft axis in the
+   XY plane, therefore two frames -- TGO_ACS_NIR_NAD and TGO_ACS_NIR_OCC
+   -- are defined as fixed-offset frames to allow computing the
+   orientation of the ACS NIR field-of-view in both cases.
+
+   Each of these 'fixed-position' frames is defined as a fixed
+   offset frame with respect to the corresponding base frame for each of
+   the spectrometers as follows (from [9]):
+
+      -  +X axis is along the nominal spectrometer boresight, and it is
+         nominally co-aligned with the spectrometer base +X axis;
+
+      -  +Z axis is parallel to the spectrometer detector array's lines;
+
+      -  +Y axis completes the right-handed frame;
+
+      -  the origin of this frame is located at geometrical centre of the
+         first folding mirror at the entry optics of the spectrometer.
+
+
+   These diagram illustrates fixed mirror pointing directions co-aligned
+   with the +Z axis of the corresponding 'fixed-mirror-position' frame:
+
+   +Z S/C side view
+   ----------------
+
+                  +Z*base                        +Z*base
+                ^ +Z*nad                           ^
+                |                                  |         +Z*occ
+                |       Science                    |_~67deg .^
+                | ACS     Deck                     |  \  .'    Science Deck
+          ._____|___________.                ._ACS_| .'________.
+          |     o------->   |                |     o------->   |
+         ============o= +Y*base             ========\===o= +Y*base
+         SA+Z             +Y*nad.--,        SA+Z     \         |__..--,
+          |            <-----o-..__|         |        \   <-----o-..__|
+          |          +Xsc   ||     ME        |         v +Xsc  ||     ME
+          ._________________.|               .______+Y*occ_____.|
+                          o-o|/|                             o-o|/|
+                           \|V +Ysc                           \|V +Ysc
+                            o  | :                             o  | :
+                             \ |/                               \ |/
+                              \|                                 \|
+                                  HGA                               HGA
+
+
+                +Zbase
+                ^ +Yspc                        +Zsc, +X*base, +X*nad, +X*occ
+                |                               and +Xspc are out of the page.
+                |       Science
+         90deg.-| ACS     Deck
+    +Zspc  _/___|___________.
+        <-------o------->   |
+         ============o= +Ybase
+         SA+Z               |__..--,
+          |            <-----o-..__|
+          |          +Xsc   ||     ME
+          ._________________.|
+                          o-o|/|
+                           \|V +Ysc
+                            o  | :
+                             \ |/
+                              \|
+                                  HGA
+
+
+      ``*base'' corresponds to ``acs_nir_base'';
+      ``*nad'' corresponds to ``acs_nir_nad''; and
+      ``*occ'' corresponds to ``acs_nir_occ''.
+
+
+   These 'fixed-position' frames are nominally rotated about the
+   +X axis of the corresponding spectrometer base frames by the following
+   angles:
+
+      Frame name              Rotation Angle, deg
+      ----------------------  -------------------
+      TGO_ACS_NIR_NAD           0.00
+      TGO_ACS_NIR_OCC         -67.07
+
+
+   The following in-flight calibrated misalignment boresights were provided
+   by A. Trokhimovskiy on June 13, 2016 [17]. The boresight vector is provided
+   as is and the the cross vector, that completes the reference frame is
+   defined as the composition of the boresight and the reference vector: :
+
+      ACS_NIR_OCC Boresight:         ( -0.9231, -0.3845, -0.0069 )
+
+      ACS_NIR_OCC Reference Vector:  ( -0.9220, -0.3860,  0.0025 )
+
+
+   This boresight is relative to the TGO_SPACECRAFT frame. Given this
+   boresight the rotation from the TGO_ACS_NIR_BASE frame to the
+   TGO_ACS_NIR_OCC frame determined from the in-flight calibration
+   data can be represented by the following rotation angles in degrees:
+
+      occ
+     M  = |-10.888905099180327| * |-0.3953437251552117| * |-67.38674625597875|
+      base                    Z                       Y                      X
+
+
+   The TGO_ACS_NIR_NAD misalignment will updated during the Science phase.
+   For the time being the available measurements are not sufficient to
+   determine the boresight reliably according to Alexander Trokhimovskiy
+   on 29th June 2017.
+
+   Since the SPICE frames subsystem calls for specifying the reverse
+   transformation--going from the instrument or structure frame to the
+   base frame--as compared to the description given above, the order of
+   rotations assigned to the TKFRAME_*_AXES keyword is also reversed
+   compared to the above text, and the signs associated with the
+   rotation angles assigned to the TKFRAME_*_ANGLES keyword are the
+   opposite from what is written in the above text.
+
+   \begindata
+
+      FRAME_TGO_ACS_NIR_NAD            =  -143111
+      FRAME_-143111_NAME               = 'TGO_ACS_NIR_NAD'
+      FRAME_-143111_CLASS              =   4
+      FRAME_-143111_CLASS_ID           =  -143111
+      FRAME_-143111_CENTER             =  -143
+      TKFRAME_-143111_RELATIVE         = 'TGO_ACS_NIR_BASE'
+      TKFRAME_-143111_SPEC             = 'ANGLES'
+      TKFRAME_-143111_UNITS            = 'DEGREES'
+      TKFRAME_-143111_AXES             = ( 3,     2,      1   )
+      TKFRAME_-143111_ANGLES           = ( 0.0,   0.0,    0.0 )
+
+      FRAME_TGO_ACS_NIR_OCC            =  -143112
+      FRAME_-143112_NAME               = 'TGO_ACS_NIR_OCC'
+      FRAME_-143112_CLASS              =   4
+      FRAME_-143112_CLASS_ID           =  -143112
+      FRAME_-143112_CENTER             =  -143
+      TKFRAME_-143112_RELATIVE         = 'TGO_ACS_NIR_BASE'
+      TKFRAME_-143112_SPEC             = 'ANGLES'
+      TKFRAME_-143112_UNITS            = 'DEGREES'
+      TKFRAME_-143112_AXES             = ( 1,     2,      3      )
+      TKFRAME_-143112_ANGLES           = ( +67.38674625597875,
+                                           +0.3953437251552117,
+                                           +10.888905099180327   )
+
+   \begintext
+
+
+ACS High Resolution Middle Infrared Spectrometer (MIR) frame:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+   The ACS High Resolution Middle Infrared Spectrometer (MIR) is rigidly
+   mounted on the spacecraft Science Deck. Therefore, the frame associated
+   with it -- the ACS MIR frame, TGO_ACS_MIR -- is specified as a fixed
+   offset frame with its orientation given relative to the TGO_SPACECRAFT
+   frame.
+
+   The ACS MIR spectrometer operates in occultation mode only and its
+   boresight is pointing +67.07 deg from the spacecraft -Y axis to the -X
+   in the XY plane.
+
+   Therefore, the ACS MIR frame is defined as follows (from [9]):
+
+      -  +Z axis is parallel to the spectrometer boresight, pointing
+         at +67.07 degrees from the spacecraft -Y axis towards the -X
+         axis in the XY plane;
+
+      -  +X axis is parallel to the spectrometer detector array's lines,
+         and it is nominally co-aligned with the spacecraft +Z axis;
+
+      -  +Y axis completes the right handed-frame
+
+      -  the origin of this frame is located at geometrical centre of the
+         first folding mirror at the entry optics of the spectrometer.
+
+
+   This diagrams illustrates the nominal TGO_ACS_MIR frame with respect
+   to the spacecraft frame.
+
+   +Z S/C side view
+   ----------------
+
+                'Nadir'  Towards Mars
+                         ^
+               +Xmir ^   |         +Zmir
+                      \  |_~67deg .^
+                       \ |  \  .'    Science Deck
+                   ._ACS\| .'________.
+                   |     o           |
+                  ============o=======
+                  SA+Z               |__..--,
+                   |            <-----o-..__|
+                   |          +Xsc   ||     ME
+                   ._________________.|
+                                   o-o|/|
+                                    \|V +Ysc
+                                     o  | :
+                                      \ |/
+                                       \|
+                                           HGA
+
+                                    +Zsc and +Ymir are out of the page.
+
+
+   Nominally, a rotation of 90 degrees about +X spacecraft axis and then
+   a rotation of -67.07 degrees about the +Y resulting axis are required to
+   align the TGO_SPACECRAFT to the TGO_ACS_MIR frames.
+
+   The following in-flight calibrated misalignment boresight was provided
+   by A. Trokhimovskiy on May 10, 2017 [19]:
+
+     ACS_MIR Boresight:   ( -0.9215, -0.3884, -0.0003 )
+
+
+   This boresight is relative to the TGO_SPACECRAFT frame. Given this
+   boresight the rotation from the TGO_SPACECRAFT frame to the
+   TGO_ACS_MIR frame determined from the in-flight calibration
+   data can be represented by the following rotation angles in degrees:
+
+       mir
+      M    = |0.0|  * |-67.14521755516077|  * |90.0442552276922|
+       base       Z                      Y                        X
+
+
+   Since the SPICE frames subsystem calls for specifying the reverse
+   transformation--going from the instrument or structure frame to the
+   base frame--as compared to the description given above, the order of
+   rotations assigned to the TKFRAME_*_AXES keyword is also reversed
+   compared to the above text, and the signs associated with the
+   rotation angles assigned to the TKFRAME_*_ANGLES keyword are the
+   opposite from what is written in the above text.
+
+   \begindata
+
+      FRAME_TGO_ACS_MIR                =  -143120
+      FRAME_-143120_NAME               = 'TGO_ACS_MIR'
+      FRAME_-143120_CLASS              =   4
+      FRAME_-143120_CLASS_ID           =  -143120
+      FRAME_-143120_CENTER             =  -143
+      TKFRAME_-143120_RELATIVE         = 'TGO_SPACECRAFT'
+      TKFRAME_-143120_SPEC             = 'ANGLES'
+      TKFRAME_-143120_UNITS            = 'DEGREES'
+      TKFRAME_-143120_AXES             = ( 1,     2,      3    )
+      TKFRAME_-143120_ANGLES           = ( -90.0442552276922,
+                                           +67.14521755516077,
+                                           +0.000000000000000  )
+
+   \begintext
+
+
+FREND Frames
+------------------------------------------------------------------------
+
+   This section of the file contains the definitions of the
+   Fine-Resolution Epithermal Neutron Detector (FREND) instrument
+   frames.
+
+
+FREND Frame Tree
+~~~~~~~~~~~~~~~~
+
+   The diagram below shows the FREND frame hierarchy.
+
+
+                               "J2000" INERTIAL
+           +-----------------------------------------------------+
+           |                          |                          |
+           |<-pck                     |                          |<-pck
+           |                          |                          |
+           V                          |                          V
+       "IAU_MARS"                     |                     "IAU_EARTH"
+     MARS BODY-FIXED                  |<-ck               EARTH BODY-FIXED
+     ---------------                  |                   ----------------
+                                      V
+                               "TGO_SPACECRAFT"
+                               ----------------
+                                      |
+                                      |<-fixed
+                                      |
+                                      V
+                                 "TGO_FREND"
+                                 -----------
+
+
+FREND base frame
+~~~~~~~~~~~~~~~~
+
+   The Fine-Resolution Epithermal Neutron Detector (FREND) is rigidly mounted
+   on the spacecraft Science Deck. The base frame -- TGO_FREND, associated to
+   it, maps the TGO spacecraft reference axis defined in the mechanical
+   drawings and it is specified as a fixed-offset frame with its orientation
+   aligned to the TGO_SPACECRAFT frame in order to simplify the science
+   operations and commanding of the instrument, as requested by the FREND
+   Instrument Team (see [8]).
+
+   The FREND base frame is defined by the detector design and its mounting on
+   the spacecraft as follows (from [8]):
+
+      -  -Y axis is along the nominal FREND 3He counters and stilbene-based
+         scintillator boresights; and it is nominally co-aligned with the
+         spacecraft -Y axis;
+
+      -  +Z axis is nominally co-aligned with the spacecraft +Z axis;
+
+      -  +X axis completes the right-handed frame;
+
+      -  the origin of the frame is located at the geometrical center of
+         the FREND stilbene scintillator detector.
+
+   These diagrams illustrate the TGO_FREND frame with respect to the
+   TGO_SPACECRAFT frame:
+
+   -X S/C side (HGA side) view:
+   ----------------------------
+                                    ^
+                                    | toward Mars
+                                    |
+
+                                    Science deck
+                             ._____________.
+   .__  _______________      |    <-------x|+Zfrend_____________  ___.
+   |  \ \               \    |   +Xfrend  ||    /               \ \  |
+   |  / /                \   |     ___    ||   /                / /  |
+   |  \ \                 `. |    / _+Xsc || .'                 \ \  |
+   |  / /             +Zsc <--------x) |  v|o |                 / /  |
+   |  \ \                 .' |    \_|_+Yfrend`.                 \ \  |
+   |  / /                /   |      |      |   \                / /  |
+   .__\ \_______________/    |      |      |    \_______________\ \__.
+       +Z Solar Array        ._____ v +Ysc .      -Z Solar Array
+                               .'       `.
+                              /           \
+                             .   `.   .'   .             +Xsc and +Xfrend
+                             |     `o'     |              are into the page.
+                             .      |      .
+                              \     |     /
+                               `.       .'
+                            HGA  ` --- '
+
+
+   -Y S/C side (Science Deck side) view:
+   -------------------------------------
+
+                                  _____
+                                 /     \  EDM
+                                |       |
+                             ._____________.
+                             |             |
+                             |            ^|+Xfrend
+                      +Zsc   |            ||
+   o==/ /==================o |            | >o==================/ /==o
+     +Z Solar Array          |          .-||        -Z Solar Array
+                         +Zfrend <--------x|+Yfrend
+                             |    +Xsc     |
+                             |      ^      |
+                             |      |      |
+                             |      |      |
+                        +Zsc .______|______.            +Ysc is into the
+                            <-------x   `. ME            page;
+                              /______+Ysc \             +Ysc and +Yfrend
+                           HGA    `.|.'                  are into the page.
+
+
+   -Y FREND side (spacecraft Science Deck) view:
+   ---------------------------------------------
+
+
+    +Ysc                         .-----------.
+       X--------->              |  Dosimeter  |
+       |       +Zsc             |             |
+       |        .---------------------------------------------.
+       |        |        _____________________________        |
+       | +Xsc   |     .'                               '.     |
+       v        |   .'   . --- .               . --- .   '.   |
+                |  /   /         \           /         \   \  |
+                | .   .           .         .           .   . |
+                | |   |           |         |           |   | |
+                | |   .           .         .           .   | |
+                | |    \         /           \         /    | |
+                | |      . ___ .     . - .     . ___ .      | |
+                | |                /       \   +Zfrend      | |
+                | |           +Yfrend  x--------->          | |
+                | |                \   |   /                | |
+                | |      . --- .     . | .     . --- .      | |
+                | |    /         \     |     /         \    | |
+                | |   .           .    |    .           .   | |
+                | |   |           |    v    |           |   | |
+                | .   .           .    +Xfrend          .   . |
+                |  \   \         /           \         /   /  |
+                |    .   . ___ .               . ___ .   .    |
+                |     '.                               .'     |
+                |        '---------------------------'        |
+                '---------------------------------------------'
+
+
+                                                    +Ysc and +Yfrend are
+                                                     into the page.
+
+
+   Nominally, the TGO_FREND and the TGO_SPACECRAFT frames are co-aligned.
+
+   \begindata
+
+      FRAME_TGO_FREND                  =  -143200
+      FRAME_-143200_NAME               = 'TGO_FREND'
+      FRAME_-143200_CLASS              =   4
+      FRAME_-143200_CLASS_ID           =  -143200
+      FRAME_-143200_CENTER             =  -143
+      TKFRAME_-143200_RELATIVE         = 'TGO_SPACECRAFT'
+      TKFRAME_-143200_SPEC             = 'ANGLES'
+      TKFRAME_-143200_UNITS            = 'DEGREES'
+      TKFRAME_-143200_AXES             = ( 1,   2,      3   )
+      TKFRAME_-143200_ANGLES           = ( 0.0, 0.0,    0.0 )
+
+   \begintext
+
+
+NOMAD Frames
+------------------------------------------------------------------------
+
+   This section of the file contains the definitions of the Nadir and
+   Occultation for MArs Discovery (NOMAD) instrument frames.
+
+
+NOMAD Frame Tree
+~~~~~~~~~~~~~~~~
+
+   The diagram below shows the NOMAD frame hierarchy.
+
+
+                               "J2000" INERTIAL
+           +-----------------------------------------------------+
+           |                          |                          |
+           |<-pck                     |<-ck                      |<-pck
+           |                          |                          |
+           V                          |                          V
+       "IAU_MARS"                     |                     "IAU_EARTH"
+     MARS BODY-FIXED                  |                   EARTH BODY-FIXED
+     ---------------                  |                   ----------------
+                                      V
+                               "TGO_SPACECRAFT"
+                        +---------------------------+
+                        |             |             |
+                        |<-fixed      |<-fixed      |
+                        |             |             |
+                        |             V             |
+                        |       "TGO_NOMAD_SO"      |
+                        |       --------------      |
+                        v                           |
+               "TGO_NOMAD_LNO_BASE"                 |
+            +------------------------+              |
+            |             |          |              |
+            |<-fixed      |<-ck      |<-fixed       |
+            |             |          |              |
+            V             |          V              |
+  "TGO_NOMAD_LNO_OPS_NAD" | "TGO_NOMAD_LNO_OPS_OCC" |
+  ----------------------- | ----------------------  |
+                          |                         |
+                          v                         |<-fixed
+                "TGO_NOMAD_LNO_FMM"                 |
+                --------------------                v
+                         |                "TGO_NOMAD_UVIS_BASE"
+                         |<-fixed       +-----------------------+
+                         |              |                       |
+                         v              |                       |
+                  "TGO_NOMAD_LNO"       |<-fixed                |<-fixed
+                  ---------------       |                       |
+                                        v                       v
+                               "TGO_NOMAD_UVIS_NAD"    "TGO_NOMAD_UVIS_OCC"
+                               --------------------    --------------------
+
+
+NOMAD LNO Base Frame
+~~~~~~~~~~~~~~~~~~~~
+
+   The NOMAD Limb Nadir and Occultation (LNO) spectrometer is rigidly mounted
+   on the spacecraft Science Deck. Therefore, the base frame associated with
+   it -- the NOMAD LNO Base frame, TGO_NOMAD_LNO_BASE --  is specified as a
+   fixed offset frame with its orientation given relative to the
+   TGO_SPACECRAFT frame.
+
+   The NOMAD LNO Base frame is defined as follows (from [10]):
+
+      -  +Y axis is along the nominal spectrometer flip mirror rotation
+         axis, and it is nominally co-aligned with the spacecraft +Z axis;
+
+      -  +Z axis is co-aligned with the -Y spacecraft axis and it is along
+         the spectrometer boresight in "zero" scanning position;
+
+      -  +X axis completes the right-handed frame, and it is parallel to the
+         detector array lines and the wide side of the slit;
+
+      -  the origin of this frame is located at the intersection of the
+         spectrometer flip mirror rotation axis and mirror central axis.
+
+
+   These diagrams illustrate the nominal TGO_NOMAD_LNO_BASE and the
+   TGO_NOMAD_UVIS_BASE frame with respect to the spacecraft frame.
+
+
+   -X S/C side (Main Engine side) view:
+   ------------------------------------
+
+
+                                    ^
+                                    | toward Mars
+                                    |
+            +Znomad_lno_base  ^     |
+                              |
+                              | Science deck
+        +Ynomad_lno_base     .|____________.
+   .__  _____________<--------x            |     _______________  ___.
+   |  \ \               \  +Xnomad_lno_base|    /               \ \  |
+   |  / /                \   |     ___     |   /                / /  |
+   |  \ \                 `. |    / _+Xsc || .'                 \ \  |
+   |  / /             +Zsc <--------x) |  v|o |                 / /  |
+   |  \ \                 .' |    \_|_+Yfrend`.                 \ \  |
+   |  / /                /   |      |      |   \                / /  |
+   .__\ \_______________/    |      |      |    \_______________\ \__.
+       +Z Solar Array        ._____ v +Ysc .      -Z Solar Array
+                               .'       `.
+                              /           \
+                             .   `.   .'   .             +Xsc and
+                             |     `o'     |             +Xnomad_lno_base
+                             .      |      .              are into the page.
+                              \     |     /
+                               `.       .'
+                            HGA  ` --- '
+
+
+   -Y S/C side (Science Deck side) view:
+   -------------------------------------
+
+                                  _____
+              +Xnomad_lno_base ^ /     \ EDM
+                               ||       |
+                             ._|___________.
+            +Ynomad_lno_base | | |         |
+                        <------o |         |
+                             |__+Znomad_lno_base
+   o==/ /==================o<|             |>o==================/ /==o
+     +Z Solar Array          |             |        -Z Solar Array
+                             |             |
+                             |    +Xsc     |
+                             |      ^      |
+                             |      |      |
+                             |      |      |
+                        +Zsc .______|______.            +Ysc is into the
+                            <-------x   `. ME            page;
+                              /______+Ysc \             +Znomad_lno_base is
+                           HGA    `.|.'                  out of the page.
+
+
+   Nominally, a single rotation of 90 degrees about +X spacecraft axis is
+   required to align the TGO_SPACECRAFT to the TGO_NOMAD_LNO_BASE frame.
+
+
+   Since the SPICE frames subsystem calls for specifying the reverse
+   transformation--going from the instrument or structure frame to the
+   base frame--as compared to the description given above, the order of
+   rotations assigned to the TKFRAME_*_AXES keyword is also reversed
+   compared to the above text, and the signs associated with the
+   rotation angles assigned to the TKFRAME_*_ANGLES keyword are the
+   opposite from what is written in the above text.
+
+   \begindata
+
+      FRAME_TGO_NOMAD_LNO_BASE         =  -143300
+      FRAME_-143300_NAME               = 'TGO_NOMAD_LNO_BASE'
+      FRAME_-143300_CLASS              =   4
+      FRAME_-143300_CLASS_ID           =  -143300
+      FRAME_-143300_CENTER             =  -143
+      TKFRAME_-143300_RELATIVE         = 'TGO_SPACECRAFT'
+      TKFRAME_-143300_SPEC             = 'ANGLES'
+      TKFRAME_-143300_UNITS            = 'DEGREES'
+      TKFRAME_-143300_AXES             = ( 3,     2,      1   )
+      TKFRAME_-143300_ANGLES           = ( 0.0,   0.0,  -90.0 )
+
+   \begintext
+
+
+NOMAD UVIS Base Frame
+~~~~~~~~~~~~~~~~~~~~~
+
+   The NOMAD Ultraviolet and Visible Spectrometer (UVIS) is rigidly mounted
+   on the spacecraft Science Deck. Therefore, the base frames associated with
+   it -- the NOMAD UVIS Base frame, TGO_NOMAD_UVIS_BASE --  are specified as
+   a fixed offset frame with its orientation given relative to the
+   TGO_SPACECRAFT frame.
+
+   The NOMAD UVIS Base frame is defined as follows (from [10]):
+
+      -  +Y axis is along the nominal spectrometer fibre optic switch rotation
+         axis, and it is nominally co-aligned with the spacecraft +Z axis;
+
+      -  +Z axis is co-aligned with the -Y spacecraft axis and it is along
+         the spectrometer boresight in "zero" scanning position;
+
+      -  +X axis completes the right-handed frame, and it is parallel to the
+         detector array lines and the wide side of the slit;
+
+      -  the origin of this frame is located at the intersection of the
+         spectrometer fibre optic switch rotation axis and mirror central
+         axis.
+
+
+   These diagrams illustrate the nominal TGO_NOMAD_UVIS_BASE frame with
+   respect to the spacecraft frame.
+
+
+   -X S/C side (HGA side) view:
+   ----------------------------
+
+
+                                    ^
+                                    | toward Mars
+                                    |
+           +Znomad_uvis_base  ^     |
+                              |
+                              | Science deck
+       +Ynomad_uvis_base     .|____________.
+   .__  _____________<--------x            |     _______________  ___.
+   |  \ \               \  +Xnomad_uvis_base    /               \ \  |
+   |  / /                \   |     ___     |   /                / /  |
+   |  \ \                 `. |    / _+Xsc || .'                 \ \  |
+   |  / /             +Zsc <--------x) |  v|o |                 / /  |
+   |  \ \                 .' |    \_|_+Yfrend`.                 \ \  |
+   |  / /                /   |      |      |   \                / /  |
+   .__\ \_______________/    |      |      |    \_______________\ \__.
+       +Z Solar Array        ._____ v +Ysc .      -Z Solar Array
+                               .'       `.
+                              /           \
+                             .   `.   .'   .             +Xsc and
+                             |     `o'     |             +Xnomad_uvis_base
+                             .      |      .              are into the page.
+                              \     |     /
+                               `.       .'
+                            HGA  ` --- '
+
+
+   -Y S/C side (Science Deck side) view:
+   -------------------------------------
+
+                                  _____
+             +Xnomad_uvis_base ^ /     \ EDM
+                               ||       |
+                             ._|___________.
+           +Ynomad_uvis_base | | |         |
+                        <------o |         |
+                             |___'+Znomad_uvis_base
+   o==/ /==================o<|             |>o==================/ /==o
+     +Z Solar Array          |             |        -Z Solar Array
+                             |             |
+                             |    +Xsc     |
+                             |      ^      |
+                             |      |      |
+                             |      |      |
+                        +Zsc .______|______.            +Ysc is into the
+                            <-------x   `. ME            page;
+                              /______+Ysc \             +Znomad_uvis_base is
+                           HGA    `.|.'                  out of the page.
+
+
+   Nominally, a single rotation of 90 degrees about +X spacecraft axis is
+   required to align the TGO_SPACECRAFT to the TGO_NOMAD_UVIS_BASE frame.
+
+   Since the SPICE frames subsystem calls for specifying the reverse
+   transformation -- going from the instrument or structure frame to the
+   base frame -- as compared to the description given above, the order of
+   rotations assigned to the TKFRAME_*_AXES keyword is also reversed
+   compared to the above text, and the signs associated with the
+   rotation angles assigned to the TKFRAME_*_ANGLES keyword are the
+   opposite from what is written in the above text.
+
+   \begindata
+
+      FRAME_TGO_NOMAD_UVIS_BASE        =  -143330
+      FRAME_-143330_NAME               = 'TGO_NOMAD_UVIS_BASE'
+      FRAME_-143330_CLASS              =   4
+      FRAME_-143330_CLASS_ID           =  -143330
+      FRAME_-143330_CENTER             =  -143
+      TKFRAME_-143330_RELATIVE         = 'TGO_SPACECRAFT'
+      TKFRAME_-143330_SPEC             = 'ANGLES'
+      TKFRAME_-143330_UNITS            = 'DEGREES'
+      TKFRAME_-143330_AXES             = ( 3,     2,      1   )
+      TKFRAME_-143330_ANGLES           = ( 0.0,   0.0,  -90.0 )
+
+   \begintext
+
+
+NOMAD LNO flip mirror mechanism frame
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+   The NOMAD Limb Nadir and Occultation (LNO) spectrometer has a flip
+   mirror that provides the possibility of observation in both nadir and
+   solar occultation modes.
+
+   Since this flip mirror rotates with respect to the LNO base, the
+   TGO_NOMAD_LNO_FMM frame is defined as a CK frame with its orientation
+   provided in a CK file relative to the TGO_NOMAD_LNO_BASE frames.
+
+   The NOMAD LNO flip mirror mechanism frame -- TGO_NOMAD_LNO_FMM -- is defined
+   as (from [10]):
+
+      -  +Y axis is along the nominal spectrometer flip mirror rotation
+         axis, and it is nominally co-aligned with the spectrometer base +Y
+         axis;
+
+      -  +Z axis is parallel to the flip mirror boresight that defines
+         the spectrometer boresight; in 'nadir' scanner position is co-aligned
+         with the -Y spacecraft axis;
+
+      -  +X axis completes the right-handed frame; and it is parallel to the
+         detector array lines and the wide side of the slit;
+
+      -  the origin of this frame is located at the intersection of the
+         spectrometer flip mirror rotation axis and mirror central axis.
+
+
+   These diagrams illustrate the TGO_NOMAD_LNO_FMM frame for scanner
+   positions 'nadir' ( 0.0 degrees) and solar 'occultation' (+67.07 deg from
+   the spacecraft -Y axis to the -X in the XY plane). Both diagrams are +Z S/C
+   side view:
+
+
+    Scanner in 'nadir' position        Scanner in 'occultation' position
+    ---------------------------        ---------------------------------
+
+                +Zbase                             +Zbase
+                ^ +Zfmm                            ^
+                |                       +Xfmm  ^   |         +Zfmm
+                |       Science                 \  |_~67deg .^
+     +Xfmm      | NOMAD   Deck                   \ |  \  .'    Science Deck
+   +Xbase. _____|___________.               NOMAD_\| .'________.
+        <-------o           |              <-------o           |
+         ============o========         +Xbase ==========o========
+        SA+Z                |__..--,       SA+Z                |__..--,
+          |            <-----o-..__|         |            <-----o-..__|
+          |          +Xsc   ||     ME        |          +Xsc   ||     ME
+          ._________________.|               ._________________.|
+                          o-o|/|                             o-o|/|
+                           \|V +Ysc                           \|V +Ysc
+                            o  | :                             o  | :
+                             \ |/                               \ |/
+                              \|                                 \|
+                                  HGA                                HGA
+
+      +Zsc, +Ybase, and +Yfmm are out of the page;
+
+
+   These sets of keywords define the NOMAD LNO flip mirror frames:
+
+   \begindata
+
+      FRAME_TGO_NOMAD_LNO_FMM        = -143305
+      FRAME_-143305_NAME              = 'TGO_NOMAD_LNO_FMM'
+      FRAME_-143305_CLASS             =  3
+      FRAME_-143305_CLASS_ID          = -143305
+      FRAME_-143305_CENTER            = -143
+      CK_-143305_SCLK                 = -143
+      CK_-143305_SPK                  = -143
+
+   \begintext
+
+
+NOMAD LNO Detector Frame
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+   Since the LNO detector receives radiation through the scanner, its frame
+   TGO_NOMAD_LNO is defined to be nominally co-aligned with the LNO scanner
+   frame TGO_NOMAD_LNO_FMM. This frame is introduced to allow incorporating
+   into the LNO frame chain any misalignment between the scanner boresight
+   direction and the detector view directions.
+
+   Currently no misalignment data are available, and, therefore, the set of
+   keywords below makes these frames co-aligned with their reference.
+
+   \begindata
+
+      FRAME_TGO_NOMAD_LNO             =  -143310
+      FRAME_-143310_NAME              = 'TGO_NOMAD_LNO'
+      FRAME_-143310_CLASS             =  4
+      FRAME_-143310_CLASS_ID          =  -143310
+      FRAME_-143310_CENTER            =  -143
+      TKFRAME_-143310_RELATIVE        = 'TGO_NOMAD_LNO_FMM'
+      TKFRAME_-143310_SPEC            = 'ANGLES'
+      TKFRAME_-143310_UNITS           = 'DEGREES'
+      TKFRAME_-143310_AXES            = ( 1,   2,   3   )
+      TKFRAME_-143310_ANGLES          = ( 0.0, 0.0, 0.0 )
+
+   \begintext
+
+
+NOMAD LNO nadir and occultation science operations frames
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+   Because the NOMAD LNO flip mirrors can be rotated to only
+   a limited number of positions for external observations -- 'nadir' and
+   'occultation' -- a fixed frame co-aligned with the flip mirror
+   frame in each of these positions is defined to allow computing mirror
+   orientation without needing to use CK.
+
+   IMPORTANT: Please note that using these frames will not reflect the
+   behaviour of the LNO Detector and therefore these frames should only be
+   used for science operations purposes.
+
+   Each of these 'fixed-mirror-position science operations' frames is defined
+   as a fixed offset frame with respect to the corresponding base frame for
+   each of the spectrometers as follows (from [10]):
+
+      -  +Y axis is along the nominal spectrometer flip mirror rotation
+         axis, and it is nominally co-aligned with the spectrometer base +Y
+         axis;
+
+      -  +Z axis is parallel to the flip mirror boresight that defines
+         the spectrometer boresight at a particular angle;
+
+      -  +X axis completes the right-handed frame; and it is parallel to the
+         detector array lines and the wide side of the slit;
+
+      -  the origin of this frame is located at the intersection of the
+         spectrometer flip mirror rotation axis and mirror central axis.
+
+
+   These diagrams illustrate fixed mirror pointing directions co-aligned
+   with the +Z axis of the corresponding 'fixed-mirror-position' frame:
+
+   +Z S/C side view
+   ----------------
+
+
+                +Z*base                            +Z*base
+                ^ +Z*nad                           ^
+                |                       +X*occ ^   |         +Z*occ
+                |       Science                 \  |_~67deg .^
+     +X*nad     | NOMAD   Deck                   \ |  \  .'    Science Deck
+   +X*base _____|___________.               NOMAD_\| .'________.
+        <-------o           |              <-------o           |
+         ============o========         +X*base =========o========
+           SA+Z             |__..--,          SA+Z             |__..--,
+          |            <-----o-..__|         |            <-----o-..__|
+          |          +Xsc   ||     ME        |          +Xsc   ||     ME
+          ._________________.|               ._________________.|
+                          o-o|/|                             o-o|/|
+                           \|V +Ysc                           \|V +Ysc
+                            o  | :                             o  | :
+                             \ |/                               \ |/
+                              \|                                 \|
+                                  HGA                                HGA
+
+
+      +Zsc, +Y*base, +Y*nad and +Y*occ are out of the page;
+      ``*base'' corresponds to ``nomad_lno_base'';
+      ``*nad'' corresponds to ``nomad_lno_ops_nad''; and
+      ``*occ'' corresponds to ``nomad_lno_ops_occ''.
+
+
+   These 'fixed-mirror-position operations' frames are nominally rotated about
+   the +X axis of the corresponding spectrometer base frames by the following
+   angles:
+
+      Frame name              Rotation Angle, deg
+      ----------------------  -------------------
+      TGO_NOMAD_LNO_OPS_NAD         0.00
+      TGO_NOMAD_LNO_OPS_OCC       -67.07
+
+   The following in-flight calibrated misalignment boresight was provided
+   by Ian Thomas on July 26, 2016 [15] and on May 16, 2017 [19]:
+
+      NOMAD_LNO_OPS_NAD Boresight: ( -0.001047198, -0.9999786, 0.006457718 )
+      NOMAD_LNO_OPS_OCC Boresight: ( -0.92148,     -0.38838,   0.00628     )
+
+   These boresights are relative to the TGO_SPACECRAFT frame. Given these
+   boresights the rotation from the TGO_NOMAD_LNO_BASE frame to the
+   TGO_NOMAD_LNO_NAD and TGO_NOMAD_LNO_NAD frames determined from the
+   in-flight calibration data can be represented by the following rotation
+   angles in degrees:
+
+       nad
+      M      |0.0| *  |-0.06000003670468607|  * |-0.37000276139181304|
+       base       Z                         Y                         X
+
+       occ
+      M    = |0.0|  * |-67.1431540428917|  * |-0.9263765923679103|
+       base       Z                      Y                        X
+
+
+   Since the SPICE frames subsystem calls for specifying the reverse
+   transformation--going from the instrument or structure frame to the
+   base frame--as compared to the description given above, the order of
+   rotations assigned to the TKFRAME_*_AXES keyword is also reversed
+   compared to the above text, and the signs associated with the
+   rotation angles assigned to the TKFRAME_*_ANGLES keyword are the
+   opposite from what is written in the above text.
+
+   \begindata
+
+      FRAME_TGO_NOMAD_LNO_OPS_NAD      =  -143311
+      FRAME_-143311_NAME               = 'TGO_NOMAD_LNO_OPS_NAD'
+      FRAME_-143311_CLASS              =   4
+      FRAME_-143311_CLASS_ID           =  -143311
+      FRAME_-143311_CENTER             =  -143
+      TKFRAME_-143311_RELATIVE         = 'TGO_NOMAD_LNO_BASE'
+      TKFRAME_-143311_SPEC             = 'ANGLES'
+      TKFRAME_-143311_UNITS            = 'DEGREES'
+      TKFRAME_-143311_AXES             = ( 1,     2,      3   )
+      TKFRAME_-143311_ANGLES           = ( +0.37000276139181304,
+                                           +0.06000003670468607,
+                                           +0.00000000000000000 )
+
+      FRAME_TGO_NOMAD_LNO_OPS_OCC      =  -143312
+      FRAME_-143312_NAME               = 'TGO_NOMAD_LNO_OPS_OCC'
+      FRAME_-143312_CLASS              =   4
+      FRAME_-143312_CLASS_ID           =  -143312
+      FRAME_-143312_CENTER             =  -143
+      TKFRAME_-143312_RELATIVE         = 'TGO_NOMAD_LNO_BASE'
+      TKFRAME_-143312_SPEC             = 'ANGLES'
+      TKFRAME_-143312_UNITS            = 'DEGREES'
+      TKFRAME_-143312_AXES             = ( 1,     2,      3    )
+      TKFRAME_-143312_ANGLES           = ( +0.9263765923679103,
+                                           +67.1431540428917,
+                                           +0.0000000000000000 )
+
+   \begintext
+
+
+NOMAD UVIS nadir and occultation frames
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+   Because the NOMAD LNO UVIS fibre optic switch can only adopt
+   a limited number of positions for external observations -- 'nadir' and
+   'occultation' -- a fixed frame co-aligned with the fibre optic switch
+   frame in each of these positions is defined to allow computing mirror
+   orientation without needing to use CK.
+
+   Each of these 'fixed-switch-position' frames is defined as a fixed
+   offset frame with respect to the corresponding base frame for each of
+   the spectrometers as follows (from [10]):
+
+      -  +Y axis is along the nominal spectrometer fibre optic switch rotation
+         axis, and it is nominally co-aligned with the spectrometer base +Y
+         axis;
+
+      -  +Z axis is parallel to the fibre optic switch boresight that defines
+         the spectrometer boresight at a particular angle;
+
+      -  +X axis completes the right-handed frame; and it is parallel to the
+         detector array lines and the wide side of the slit;
+
+      -  the origin of this frame is located at the intersection of the
+         spectrometer optic fibre switch rotation axis and mirror central
+         axis.
+
+
+   These diagram illustrates fixed mirror pointing directions co-aligned
+   with the +Z axis of the corresponding 'fixed-mirror-position' frame:
+
+   +Z S/C side view
+   ----------------
+
+
+                +Z*base                            +Z*base
+                ^ +Z*nad                           ^
+                |                       +X*occ ^   |         +Z*occ
+                |       Science                 \  |_~67deg .^
+     +X*nad     | NOMAD   Deck                   \ |  \  .'    Science Deck
+   +X*base _____|___________.               NOMAD_\| .'________.
+        <-------o           |              <-------o           |
+         ============o========         +X*base =========o========
+           SA+Z             |__..--,          SA+Z             |__..--,
+          |            <-----o-..__|         |            <-----o-..__|
+          |          +Xsc   ||     ME        |          +Xsc   ||     ME
+          ._________________.|               ._________________.|
+                          o-o|/|                             o-o|/|
+                           \|V +Ysc                           \|V +Ysc
+                            o  | :                             o  | :
+                             \ |/                               \ |/
+                              \|                                 \|
+                                  HGA                                HGA
+
+
+      +Zsc, +Y*base, +Y*nad and +Y*occ are out of the page;
+      ``*base'' corresponds to ``nomad_uvis_base'';
+      ``*nad'' corresponds to ``nomad_uvis_nad''; and
+      ``*occ'' corresponds to ``nomad_uvis_occ''.
+
+
+   These 'fixed-mirror-position' frames are nominally rotated about the
+   +X axis of the corresponding spectrometer base frames by the following
+   angles:
+
+      Frame name              Rotation Angle, deg
+      ----------------------  -------------------
+      TGO_NOMAD_UVIS_NAD         0.00
+      TGO_NOMAD_UVIS_OCC       -67.07
+
+
+   The following in-flight calibrated misalignment boresights were provided
+   by Ian Thomas on July 26, 2016 [15]; September 16, 2016 [18]; May 16, 2017
+   [19] and on June 13 2018 [22]:
+
+   NOMAD_UVIS_NAD: ( -0.002312108759,   -0.999990516156,   0.003690765731    )
+   NOMAD_UVIS_OCC: ( -0.922221097920913,-0.386613383297695,0.006207330031467 )
+
+
+   These boresights are relative to the TGO_SPACECRAFT frame. Given these
+   boresights the rotation from the TGO_NOMAD_UVIS_BASE frame to the
+   TGO_NOMAD_UVIS_NAD and TGO_NOMAD_UVIS_NAD frames determined from the
+   in-flight calibration data can be represented by the following rotation
+   angles in degrees:
+
+       nad
+      M    = |0.0|  * |-0.13247419169719835|  * |-0.21146634488534072|
+       base       Z                         Y                        X
+
+       occ
+      M    = |0.0|  * |-67.25296897005113|  * |-0.9198420756243424|
+       base       Z                      Y                        X
+
+
+   Since the SPICE frames subsystem calls for specifying the reverse
+   transformation--going from the instrument or structure frame to the
+   base frame--as compared to the description given above, the order of
+   rotations assigned to the TKFRAME_*_AXES keyword is also reversed
+   compared to the above text, and the signs associated with the
+   rotation angles assigned to the TKFRAME_*_ANGLES keyword are the
+   opposite from what is written in the above text.
+
+   \begindata
+
+      FRAME_TGO_NOMAD_UVIS_NAD         =  -143331
+      FRAME_-143331_NAME               = 'TGO_NOMAD_UVIS_NAD'
+      FRAME_-143331_CLASS              =   4
+      FRAME_-143331_CLASS_ID           =  -143331
+      FRAME_-143331_CENTER             =  -143
+      TKFRAME_-143331_RELATIVE         = 'TGO_NOMAD_UVIS_BASE'
+      TKFRAME_-143331_SPEC             = 'ANGLES'
+      TKFRAME_-143331_UNITS            = 'DEGREES'
+      TKFRAME_-143331_AXES             = ( 1,     2,      3      )
+      TKFRAME_-143331_ANGLES           = ( +0.21146634488534072,
+                                           +0.13247419169719835,
+                                           +0.00000000000000000  )
+
+      FRAME_TGO_NOMAD_UVIS_OCC         =  -143332
+      FRAME_-143332_NAME               = 'TGO_NOMAD_UVIS_OCC'
+      FRAME_-143332_CLASS              =   4
+      FRAME_-143332_CLASS_ID           =  -143332
+      FRAME_-143332_CENTER             =  -143
+      TKFRAME_-143332_RELATIVE         = 'TGO_NOMAD_UVIS_BASE'
+      TKFRAME_-143332_SPEC             = 'ANGLES'
+      TKFRAME_-143332_UNITS            = 'DEGREES'
+      TKFRAME_-143332_AXES             = ( 1,     2,      3     )
+      TKFRAME_-143332_ANGLES           = ( +0.9198420756243424,
+                                           +67.252968970051130,
+                                           +0.0000000000000000  )
+
+   \begintext
+
+
+NOMAD Solar Occultation (SO) spectrometer frame:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+   The NOMAD Solar Occultation (SO) spectrometer is rigidly mounted on
+   the spacecraft Science Deck. Therefore, the frame associated with
+   it -- the NOMAD SO frame, TGO_NOMAD_SO -- is specified as a fixed
+   offset frame with its orientation given relative to the TGO_SPACECRAFT
+   frame.
+
+   The NOMAD SO spectrometer operates in occultation mode only and its
+   boresight is pointing approximately +67.07 deg from the
+   spacecraft -Y axis to the -X in the XY plane.
+
+   Therefore, the NOMAD SO frame is defined as follows (from [10]):
+
+      -  +Z axis is parallel to the spectrometer boresight, pointing
+         approximately at +67.07 degrees from the spacecraft -Y axis
+         towards the -X axis in the XY plane;
+
+      -  +X axis is parallel to the spectrometer detector array's lines,
+         and it is approximately at +67.07 degrees from the spacecraft
+         +X axis;
+
+      -  +Y axis completes the right-handed frame and it is nominally
+         aligned with the spacecraft +Z axis;
+
+      -  the origin of this frame is located at geometrical centre of the
+         first folding mirror at the entry optics of the spectrometer.
+
+
+   This diagrams illustrates the nominal TGO_NOMAD_SO frame with respect
+   to the spacecraft frame.
+
+   +Z S/C side view
+   ----------------
+
+                'Nadir'  Towards Mars
+                         ^
+                +Xso ^   |         +Zso
+                      \  |_~67deg .^
+                       \ |  \  .'    Science Deck
+                   NOMAD\| .'________.
+                   |     o +Yso      |
+                  ============o=======
+                  SA+Z               |__..--,
+                   |            <-----o-..__|
+                   |          +Xsc   ||     ME
+                   ._________________.|                +Zsc and +Ymir are
+                                   o-o|/|               out of the page.
+                                    \|V +Ysc
+                                     o  | :
+                                      \ |/
+                                       \|
+                                           HGA
+
+
+   Nominally, a rotation of 90 degrees about +X spacecraft axis and then
+   a rotation of -67.07 degrees about the +Y spacecraft axis are required to
+   align the TGO_SPACECRAFT to the TGO_NOMAD_SO frames.
+
+   The following in-flight calibrated misalignment boresight was provided
+   by Ian Thomas on July 26, 2016 [15] and June 13, 2018 [22]:
+
+      NOMAD_SO Boresight:  ( -0.9218973, -0.38738526, 0.00616719 )
+
+
+   This boresight is relative to the TGO_SPACECRAFT frame. Given this
+   boresight the rotation from the TGO_SPACECRAFT frame to the
+   TGO_NOMAD_SO frame determined from the in-flight calibration
+   data can be represented by the following rotation angles in degrees:
+
+       so
+      M    = |0.0|  * |-67.20504912816348|  * |89.0879257751404|
+       sc         Z                       Y                     X
+
+
+   Since the SPICE frames subsystem calls for specifying the reverse
+   transformation--going from the instrument or structure frame to the
+   base frame--as compared to the description given above, the order of
+   rotations assigned to the TKFRAME_*_AXES keyword is also reversed
+   compared to the above text, and the signs associated with the
+   rotation angles assigned to the TKFRAME_*_ANGLES keyword are the
+   opposite from what is written in the above text.
+
+   \begindata
+
+      FRAME_TGO_NOMAD_SO               =  -143320
+      FRAME_-143320_NAME               = 'TGO_NOMAD_SO'
+      FRAME_-143320_CLASS              =   4
+      FRAME_-143320_CLASS_ID           =  -143320
+      FRAME_-143320_CENTER             =  -143
+      TKFRAME_-143320_RELATIVE         = 'TGO_SPACECRAFT'
+      TKFRAME_-143320_SPEC             = 'ANGLES'
+      TKFRAME_-143320_UNITS            = 'DEGREES'
+      TKFRAME_-143320_AXES             = ( 1,     2,      3    )
+      TKFRAME_-143320_ANGLES           = ( -89.08792577514040
+                                           +67.20504912816348,
+                                           +0.000000000000000  )
+
+   \begintext
+
+
+CaSSIS Frames
+------------------------------------------------------------------------
+
+   This section of the file contains the definitions of the Colour and
+   Stereo Surface Imaging System (CaSSIS) instrument frames.
+
+
+CaSSIS Frame Tree
+~~~~~~~~~~~~~~~~~
+
+   The diagram below shows the CaSSIS frame hierarchy.
+
+
+                               "J2000" INERTIAL
+           +-----------------------------------------------------+
+           |                          |                          |
+           |<-pck                     |                          |<-pck
+           |                          |                          |
+           V                          |                          V
+       "IAU_MARS"                     |                     "IAU_EARTH"
+     MARS BODY-FIXED                  |<-ck               EARTH BODY-FIXED
+     ---------------                  |                   ----------------
+                                      V
+                               "TGO_SPACECRAFT"
+                               ----------------
+                                      |
+                                      |<-fixed
+                                      |
+                                      V
+                               "TGO_CASSIS_CRU"
+                               ----------------
+                                      |
+                                      |<-ck
+                                      |
+                                      V
+                               "TGO_CASSIS_TEL"
+                               ----------------
+                                      |
+                                      |<-fixed
+                                      |
+                               "TGO_CASSIS_FSA"
+                               ----------------
+
+
+CaSSIS Camera Rotation Unit frame
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+   The CaSSIS Camera Rotation Unit (CRU) is rigidly mounted on the spacecraft
+   Science Deck. Therefore, the frame associated with it -- the CaSSIS CRU
+   frame, TGO_CASSIS_CRU --  is specified as a fixed offset frame relative
+   with its orientation given relative to the TGO_SPACECRAFT frame.
+
+   The CaSSIS CRU frame is defined by the camera rotation unit design and
+   its mounting on the spacecraft as follows (from [5]):
+
+      -  +Y axis is along the nominal CaSSIS CRU rotation axis, and it is
+         nominally co-aligned with the spacecraft -Y axis
+
+      -  +Z axis is co-aligned with the +Z spacecraft axis;
+
+      -  +X axis completes the right-handed frame;
+
+      -  the origin of the frame is located at the center of the CaSSIS
+         reference hole (RH) at the instrument's interface plane, i.e. the
+         unit mounting plane to the spacecraft.
+
+   Any misalignment between the nominal and actual CaSSIS CRU rotation axis
+   measured pre-launch or during in-flight calibration should be incorporated
+   into the definition of this frame.
+
+
+   These diagrams illustrate the nominal TGO_CASSIS_CRU frame with respect to
+   the spacecraft frame.
+
+
+   -X S/C side (Main Engine side) view:
+   ------------------------------------
+                                    ^
+                                    | toward Mars
+                       +Ycru  ^
+                              |
+                              | Science deck
+                    +Zcru    .|____________.
+   .__  _____________<--------o            |     .______________  ___.
+   |  \ \               \   +Xcru          |    /               \ \  |
+   |  / /                \   |     ___     |   /                / /  |
+   |  \ \                 `. |    / _+Xsc || .'                 \ \  |
+   |  / /             +Zsc <--------x) |  v|o |                 / /  |
+   |  \ \                 .' |    \_|_+Yfrend`.                 \ \  |
+   |  / /                /   |      |      |   \                / /  |
+   .__\ \_______________/    |      |      |    \_______________\ \__.
+       +Z Solar Array        ._____ v +Ysc .      -Z Solar Array
+                               .'       `.
+                              /           \
+                             .   `.   .'   .           +Xsc is into
+                             |     `o'     |            the page and +Xcru
+                             .      |      .            is out of the page.
+                              \     |     /
+                               `.       .'
+                            HGA  ` --- '
+
+
+   -Y S/C side (Science Deck side) view:
+   -------------------------------------
+
+                                  _____
+                                 /     \  EDM
+                                |       |
+                             ._____________.
+                             |             |
+                             |             |
+                             |             |
+   o==/ /==================o<|             |>o==================/ /==o
+     +Z Solar Array          |--.          |        -Z Solar Array
+                      <--------o|+Ycru     |
+                    +Zcru    |-|'          |
+                             | |    ^ +Xsc |
+                             | |    |      |
+                         +Xcru v    |      |            +Ysc is into the
+                        +Zsc .______|______.             page; +Ycru is out
+                            <-------x   `. ME            of the page
+                              /______+Ysc \
+                           HGA    `.|.'
+
+
+   +Z CaSSIS Rotation Unit side view (motor in "Launch" position: 180 deg):
+   ----------------------------------------------------------------------------
+
+
+        <-------x +Zsc      +Xcru
+     +Ysc       |             ^
+                |             |
+                |             |
+          +Xsc  v           .-|.                             .
+                            |.||                         . ' /
+                             |||      ______________ . '    /
+                            /-|-.  .-|  ___    ____ ' \    ,
+                          /'  | |  | | /   \  /    '. '.\  /
+                         / |  | |  | ||     ||       '  ' .'
+                  .-----.  |  | |  | ||     ||         '.  '.
+                 /___,    ,|  | |  | ||     ||            '.  '.
+                    /    / |  | |= | | \___/ \_____________/    '.    +Ycru
+                   /     \ |  x--------------------------------------------->
+                  /       '+Zcru|  |.|  /    | |  rotation axis   | | |
+                 /         |    |  '-'_._____| |_______' '________' | |
+                /          |    |     | |           .---  .------.  '-'
+               /           '----|     | |     , -- .  '.          \  \_.-.
+              /                 |     | |    |        '.  '.       \   | |
+             /__________________|     '-'_   |            '. .      |  | |
+            ||             |.--.|         \   \______________.         | |
+            ||             ||  ||          \ .-------------------------'-'
+      .-----''-------------''--''--------.  \|
+      |                                  |
+      '----------------------------------'
+
+
+                                                           +Zsc and +Zcru are
+                                                            into the page.
+
+
+   Nominally, a single rotation of 180 degrees about +Z axis is required to
+   co-align the TGO_CASSIS_CRU and the TGO_SPACECRAFT frames. The current
+   rotation is derived form Mars Commissioning data and data from MTP000
+   (MCO, bands misalignment is <2 pixel) 21].
+
+   Since the SPICE frames subsystem calls for specifying the reverse
+   transformation--going from the instrument or structure frame to the
+   base frame--as compared to the description given above, the order of
+   rotations assigned to the TKFRAME_*_AXES keyword is also reversed
+   compared to the above text, and the signs associated with the
+   rotation angles assigned to the TKFRAME_*_ANGLES keyword are the
+   opposite from what is written in the above text.
+
+   \begindata
+
+      FRAME_TGO_CASSIS_CRU             =  -143400
+      FRAME_-143400_NAME               = 'TGO_CASSIS_CRU'
+      FRAME_-143400_CLASS              =   4
+      FRAME_-143400_CLASS_ID           =  -143400
+      FRAME_-143400_CENTER             =  -143
+      TKFRAME_-143400_RELATIVE         = 'TGO_SPACECRAFT'
+      TKFRAME_-143400_SPEC             = 'ANGLES'
+      TKFRAME_-143400_UNITS            = 'DEGREES'
+      TKFRAME_-143400_AXES             = ( 1,   2,       3   )
+      TKFRAME_-143400_ANGLES           = ( 0.021, 0.120, -179.881 )
+
+   \begintext
+
+
+CaSSIS Telescope frame
+~~~~~~~~~~~~~~~~~~~~~~
+
+   The CaSSIS telescope rotates counterclockwise around the +Y CaSSIS Camera
+   Rotation Unit by an angle commanded from ground which ranges from 0
+   degrees in the homing position to 360.0 degrees at the end of the range.
+
+   The CaSSIS Telescope frame is defined by the camera rotation unit design
+   as follows (from [5]):
+
+      -  +Y axis is along the nominal CaSSIS CRU rotation axis, and it is
+         'zero' position is co-aligned with the TGO_CASSIS_CRU +Y axis
+
+      -  +Z axis is co-aligned with the TGO_CASSIS_CRU +Z axis, when the
+         motor is in its 'zero' position;
+
+      -  +X axis completes the right-handed frame;
+
+      -  the origin of the frame is located at the focal point of the CaSSIS
+         telescope.
+
+
+   This diagram illustrates the TGO_CASSIS_TEL frame with respect to
+   the TGO_CASSIS_CRU frame for different motor rotations.
+
+
+   +Y CaSSIS Camera Rotation Unit view:
+   ------------------------------------
+
+
+                                  ^ +Xtel            ^ +Xcru
+                            0 deg |                  |
+                         position |                  |
+                              ....|....              |
+                           .'     |     `.           |         +Zcru
+                         .'       |       `.         o--------->
+                        '         |         '      +Ycru
+                       .          |          .
+                       .          |          .
+           90 deg ---- .          o--------------> +Ztel
+           position    .           +Ytel     .
+                       .                     .
+                     .-'.                   .'-.
+                    '    .                 .    '
+               120 deg    `.             .'     240 deg
+               position     ` ......... '       position
+                                  |
+                                  |
+                                180 deg
+                                position
+         +Xsc ^
+              |
+              |                                    +Ytel and +Ycru are out of
+              |                                    the page; +Ysc is into
+              |                                    the page.
+     <--------x
+   +Zsc        +Ysc
+
+
+   For an arbitrary scanner angle, the TGO_CASSIS_TEL frame is rotated by
+   this angle about the +Y axis with respect to the TGO_CASSIS_CRU frame.
+
+   This set of keywords define the CaSSIS Telescope frame:
+
+   \begindata
+
+      FRAME_TGO_CASSIS_TEL             = -143410
+      FRAME_-143410_NAME               = 'TGO_CASSIS_TEL'
+      FRAME_-143410_CLASS              =  3
+      FRAME_-143410_CLASS_ID           = -143410
+      FRAME_-143410_CENTER             = -143
+      CK_-143410_SCLK                  = -143
+      CK_-143410_SPK                   = -143
+
+   \begintext
+
+
+CaSSIS Filter Strip Assembly (FSA) frame:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+   The CaSSIS Camera Rotation Unit is designed to support quasi-simultaneous
+   stereo imaging by aligning the image columns to the orbital track
+   (see [6]). Above the detector surface, a filter strip is placed in order
+   providing images in 4 different wavelength bands.
+
+   The CaSSIS Filter Strip Assembly -- TGO_CASSIS_FSA frame is defined based
+   on the telescope pointing axis and the detector surface orientation as
+   follows:
+
+      -  +Z axis points along the telescope optical boresight;
+
+      -  +X axis is aligned to the detector rows; and it is nominally aligned
+         to the +Ztel axis.
+
+      -  +Y axis is aligned to the detector columns;
+
+      -  the origin of the frame is located at the focal point of the CaSSIS
+         telescope.
+
+   The CaSSIS telescope optical boresight nominally points 10 degrees off
+   from the CaSSIS rotation axis -- TGO_CASSIS_TEL +Y axis, towards the
+   + X TGO_CASSIS_TEL axis.
+
+   This diagram illustrates the TGO_CASSIS_FSA frame with respect to
+   the TGO_CASSIS_TEL frame.
+
+
+   +Z CaSSIS Rotation Unit side view:
+   ----------------------------------
+
+
+                           ^ +Ytel (rotation axis)
+              ^            |    towards Mars
+               \           |
+          +Zfsa \          |    .---------.
+                 \    .----|-.  .---------|   .> +Ysfa
+                  \   '----|-'.'    .-.   | .'
+           ..      \ /     |      .'   |  .'
+           \ `.     \  ..  |-.  .'    .'.'|
+            \  `.  / \/ |  | | |    .'.'  |
+             \   `/  /\ |  | | |  .'.' .  |
+              \  /  /  \|  | | |.'.' .' | |
+               \/  /    \  | |  .' .'   | |
+               /  /     |\ |.'.'  |     | |
+              |  |      | \|.' .  |     | |
+              |  |      |  o +Xfsa      | |
+              |  |      |  |'   | |     | |
+              |   \___.'   |    | |     | |
+              |    ____    |    | |     | |
+              |   /    \   |    | |     | |
+              |  |      |  |----' '-----' '__
+              |  |      |  |---.             .'         +Ztel and +Xfsa
+              |  |      |  |   |          .'            are out of the page
+              |  |      |  |   |.________'
+              |   \____/   |---'|'------'
+              '____________|____'
+               '-----------|---'                   +Xtel
+                           o-------------------------->
+                         +Ztel
+
+   Nominally, the off-pointing from the CaSSIS Filter Strip Assembly
+   boresight and the CaSSIS Telescope rotation axis is 10 degrees towards
+   the -X CaSSIS Telescope axis.
+
+   During the geometrical measurements performed before the integration
+   on the spacecraft, the angle between the rotation axis and the instrument
+   optical boresight at 5 different positions (see p.34 of [6]) was:
+
+       alpha = 9.89 +/- 0.1 degrees
+
+   Therefore, in order to transform the CaSSIS Telescope frame into the
+   CaSSIS Filter Strip Assembly frame, first an initial rotation of -90
+   degrees about the +Y axis is required, followed by a -80.11 degrees
+   rotation about the resulting +X axis.
+
+   Later on as a result from the Mars Commissioning and MTP000 science data
+   it the rotations have been adjusted [21].
+
+   Since the SPICE frames subsystem calls for specifying the reverse
+   transformation--going from the instrument or structure frame to the
+   base frame--as compared to the description given above, the order of
+   rotations assigned to the TKFRAME_*_AXES keyword is also reversed
+   compared to the above text, and the signs associated with the
+   rotation angles assigned to the TKFRAME_*_ANGLES keyword are the
+   opposite from what is written in the above text.
+
+   \begindata
+
+      FRAME_TGO_CASSIS_FSA             =  -143420
+      FRAME_-143420_NAME               = 'TGO_CASSIS_FSA'
+      FRAME_-143420_CLASS              =  4
+      FRAME_-143420_CLASS_ID           =  -143420
+      FRAME_-143420_CENTER             =  -143
+      TKFRAME_-143420_RELATIVE         = 'TGO_CASSIS_TEL'
+      TKFRAME_-143420_SPEC             = 'ANGLES'
+      TKFRAME_-143420_UNITS            = 'DEGREES'
+      TKFRAME_-143420_AXES             = (  2,      1,      3     )
+      TKFRAME_-143420_ANGLES           = ( 89.714, 80.005,  0.168 )
+
+   \begintext
+
+
+TGO NAIF ID Codes -- Definitions
+===============================================================================
+
+   This section contains name to NAIF ID mappings for the ExoMars 2016 mission.
+   Once the contents of this file is loaded into the KERNEL POOL, these
+   mappings become available within SPICE, making it possible to use names
+   instead of ID code in the high level SPICE routine calls.
+
+      Name                     ID       Synonyms
+      ---------------------    -------  -----------------------
+
+   Spacecraft:
+   -----------
+      TGO                      -143     TRACE GAS ORBITER
+                                        EXOMARS 2016 TGO
+                                        EXOMARS TGO
+      TGO_SPACECRAFT           -143000
+      TGO_HGA_STOWED           -143020
+      TGO_HGA                  -143025
+      TGO_LGA+Z                -143031
+      TGO_LGA-Z                -143032
+      TGO_LGA+X                -143033
+      TGO_STR-1                -143041
+      TGO_STR-2                -143042
+      TGO_SA+Z_GIMBAL          -143060
+      TGO_SA+Z_C1              -143061
+      TGO_SA+Z_C2              -143062
+      TGO_SA+Z_C3              -143063
+      TGO_SA+Z_C4              -143064
+      TGO_SA-Z_GIMBAL          -143070
+      TGO_SA-Z_C1              -143071
+      TGO_SA-Z_C2              -143072
+      TGO_SA-Z_C3              -143073
+      TGO_SA-Z_C4              -143074
+
+   ACS:
+   ----
+      TGO_ACS                  -143100
+      TGO_ACS_NIR_NAD          -143111
+      TGO_ACS_NIR_OCC          -143112
+      TGO_ACS_MIR              -143120
+      TGO_ACS_TIRVIM           -143130
+      TGO_ACS_TIRVIM_SCAN_BBY  -143131
+      TGO_ACS_TIRVIM_SCAN_SPC  -143132
+      TGO_ACS_TIRVIM_SCAN_NAD  -143133
+      TGO_ACS_TIRVIM_SCAN_OCC  -143134
+      TGO_ACS_TIRVIM_SUN       -143140
+      TGO_ACS_TIRVIM_SUN_BSR   -143141
+
+   FREND:
+   ------
+      TGO_FREND                -143200
+      TGO_FREND_HE             -143210
+      TGO_FREND_SC             -143220
+
+   NOMAD:
+   ------
+      TGO_NOMAD                -143300
+      TGO_NOMAD_LNO            -143310
+      TGO_NOMAD_LNO_OPS_NAD    -143311
+      TGO_NOMAD_LNO_OPS_OCC    -143312
+      TGO_NOMAD_SO             -143320
+      TGO_NOMAD_UVIS_NAD       -143331
+      TGO_NOMAD_UVIS_OCC       -143332
+
+   CaSSIS:
+   -------
+      TGO_CASSIS               -143400
+      TGO_CASSIS_PAN           -143421
+      TGO_CASSIS_RED           -143422
+      TGO_CASSIS_NIR           -143423
+      TGO_CASSIS_BLU           -143424
+
+
+   The mappings summarized in this table are implemented by the keywords
+   below.
+
+   \begindata
+
+      NAIF_BODY_NAME += ( 'TRACE GAS ORBITER'           )
+      NAIF_BODY_CODE += ( -143                          )
+
+      NAIF_BODY_NAME += ( 'TGO'                         )
+      NAIF_BODY_CODE += ( -143                          )
+
+      NAIF_BODY_NAME += ( 'EXOMARS TGO'                 )
+      NAIF_BODY_CODE += ( -143                          )
+
+      NAIF_BODY_NAME += ( 'EXOMARS 2016 TGO'            )
+      NAIF_BODY_CODE += ( -143                          )
+
+      NAIF_BODY_NAME += ( 'TGO_PLAN'                    )
+      NAIF_BODY_CODE += ( -143999                       )
+
+      NAIF_BODY_NAME += ( 'TGO PLAN'                    )
+      NAIF_BODY_CODE += ( -143999                       )
+
+      NAIF_BODY_NAME += ( 'TGO_SPACECRAFT'              )
+      NAIF_BODY_CODE += ( -143000                       )
+
+      NAIF_BODY_NAME += ( 'TGO_HGA_STOWED'              )
+      NAIF_BODY_CODE += ( -143020                       )
+
+      NAIF_BODY_NAME += ( 'TGO_HGA'                     )
+      NAIF_BODY_CODE += ( -143025                       )
+
+      NAIF_BODY_NAME += ( 'TGO_LGA+Z'                   )
+      NAIF_BODY_CODE += ( -143031                       )
+
+      NAIF_BODY_NAME += ( 'TGO_LGA-Z'                   )
+      NAIF_BODY_CODE += ( -143032                       )
+
+      NAIF_BODY_NAME += ( 'TGO_LGA+X'                   )
+      NAIF_BODY_CODE += ( -143033                       )
+
+      NAIF_BODY_NAME += ( 'TGO_STR-1'                   )
+      NAIF_BODY_CODE += ( -143041                       )
+
+      NAIF_BODY_NAME += ( 'TGO_STR-2'                   )
+      NAIF_BODY_CODE += ( -143042                       )
+
+      NAIF_BODY_NAME += ( 'TGO_SA+Z_GIMBAL'             )
+      NAIF_BODY_CODE += ( -143060                       )
+
+      NAIF_BODY_NAME += ( 'TGO_SA+Z_C1'                 )
+      NAIF_BODY_CODE += ( -143061                       )
+
+      NAIF_BODY_NAME += ( 'TGO_SA+Z_C2'                 )
+      NAIF_BODY_CODE += ( -143062                       )
+
+      NAIF_BODY_NAME += ( 'TGO_SA+Z_C3'                 )
+      NAIF_BODY_CODE += ( -143063                       )
+
+      NAIF_BODY_NAME += ( 'TGO_SA+Z_C4'                 )
+      NAIF_BODY_CODE += ( -143064                       )
+
+      NAIF_BODY_NAME += ( 'TGO_SA-Z_GIMBAL'             )
+      NAIF_BODY_CODE += ( -143070                       )
+
+      NAIF_BODY_NAME += ( 'TGO_SA-Z_C1'                 )
+      NAIF_BODY_CODE += ( -143071                       )
+
+      NAIF_BODY_NAME += ( 'TGO_SA-Z_C2'                 )
+      NAIF_BODY_CODE += ( -143072                       )
+
+      NAIF_BODY_NAME += ( 'TGO_SA-Z_C3'                 )
+      NAIF_BODY_CODE += ( -143073                       )
+
+      NAIF_BODY_NAME += ( 'TGO_SA-Z_C4'                 )
+      NAIF_BODY_CODE += ( -143074                       )
+
+
+      NAIF_BODY_NAME += ( 'TGO_ACS'                     )
+      NAIF_BODY_CODE += ( -143100                       )
+
+      NAIF_BODY_NAME += ( 'TGO_ACS_NIR_NAD'             )
+      NAIF_BODY_CODE += ( -143111                       )
+
+      NAIF_BODY_NAME += ( 'TGO_ACS_NIR_OCC'             )
+      NAIF_BODY_CODE += ( -143112                       )
+
+      NAIF_BODY_NAME += ( 'TGO_ACS_MIR'                 )
+      NAIF_BODY_CODE += ( -143120                       )
+
+      NAIF_BODY_NAME += ( 'TGO_ACS_TIRVIM'              )
+      NAIF_BODY_CODE += ( -143130                       )
+
+      NAIF_BODY_NAME += ( 'TGO_ACS_TIRVIM_SCAN_BBY'     )
+      NAIF_BODY_CODE += ( -143131                       )
+
+      NAIF_BODY_NAME += ( 'TGO_ACS_TIRVIM_SCAN_SPC'     )
+      NAIF_BODY_CODE += ( -143132                       )
+
+      NAIF_BODY_NAME += ( 'TGO_ACS_TIRVIM_SCAN_NAD'     )
+      NAIF_BODY_CODE += ( -143133                       )
+
+      NAIF_BODY_NAME += ( 'TGO_ACS_TIRVIM_SCAN_OCC'     )
+      NAIF_BODY_CODE += ( -143134                       )
+
+      NAIF_BODY_NAME += ( 'TGO_ACS_TIRVIM_SCAN_OCC_BS'  )
+      NAIF_BODY_CODE += ( -143135                       )
+
+      NAIF_BODY_NAME += ( 'TGO_ACS_TIRVIM_SUN'          )
+      NAIF_BODY_CODE += ( -143140                       )
+
+      NAIF_BODY_NAME += ( 'TGO_ACS_TIRVIM_SUN_BSR'      )
+      NAIF_BODY_CODE += ( -143141                       )
+
+
+      NAIF_BODY_NAME += ( 'TGO_FREND'                   )
+      NAIF_BODY_CODE += ( -143200                       )
+
+      NAIF_BODY_NAME += ( 'TGO_FREND_HE'                )
+      NAIF_BODY_CODE += ( -143210                       )
+
+      NAIF_BODY_NAME += ( 'TGO_FREND_SC'                )
+      NAIF_BODY_CODE += ( -143220                       )
+
+
+      NAIF_BODY_NAME += ( 'TGO_NOMAD'                   )
+      NAIF_BODY_CODE += ( -143300                       )
+
+      NAIF_BODY_NAME += ( 'TGO_NOMAD_LNO'               )
+      NAIF_BODY_CODE += ( -143310                       )
+
+      NAIF_BODY_NAME += ( 'TGO_NOMAD_LNO_OPS_NAD'       )
+      NAIF_BODY_CODE += ( -143311                       )
+
+      NAIF_BODY_NAME += ( 'TGO_NOMAD_LNO_OPS_OCC'       )
+      NAIF_BODY_CODE += ( -143312                       )
+
+      NAIF_BODY_NAME += ( 'TGO_NOMAD_SO'                )
+      NAIF_BODY_CODE += ( -143320                       )
+
+      NAIF_BODY_NAME += ( 'TGO_NOMAD_UVIS_NAD'          )
+      NAIF_BODY_CODE += ( -143331                       )
+
+      NAIF_BODY_NAME += ( 'TGO_NOMAD_UVIS_OCC'          )
+      NAIF_BODY_CODE += ( -143332                       )
+
+
+      NAIF_BODY_NAME += ( 'TGO_CASSIS'                  )
+      NAIF_BODY_CODE += ( -143400                       )
+
+      NAIF_BODY_NAME += ( 'TGO_CASSIS_PAN'              )
+      NAIF_BODY_CODE += ( -143421                       )
+
+      NAIF_BODY_NAME += ( 'TGO_CASSIS_RED'              )
+      NAIF_BODY_CODE += ( -143422                       )
+
+      NAIF_BODY_NAME += ( 'TGO_CASSIS_NIR'              )
+      NAIF_BODY_CODE += ( -143423                       )
+
+      NAIF_BODY_NAME += ( 'TGO_CASSIS_BLU'              )
+      NAIF_BODY_CODE += ( -143424                       )
+
+   \begintext
+
+
+End of FK file.
\ No newline at end of file
diff --git a/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/naif0012.tls b/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/naif0012.tls
new file mode 100644
index 0000000..e1afdee
--- /dev/null
+++ b/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/naif0012.tls
@@ -0,0 +1,152 @@
+KPL/LSK
+
+
+LEAPSECONDS KERNEL FILE
+===========================================================================
+
+Modifications:
+--------------
+
+2016, Jul. 14   NJB  Modified file to account for the leapsecond that
+                     will occur on December 31, 2016.
+
+2015, Jan. 5    NJB  Modified file to account for the leapsecond that
+                     will occur on June 30, 2015.
+
+2012, Jan. 5    NJB  Modified file to account for the leapsecond that
+                     will occur on June 30, 2012.
+                     
+2008, Jul. 7    NJB  Modified file to account for the leapsecond that
+                     will occur on December 31, 2008.
+                     
+2005, Aug. 3    NJB  Modified file to account for the leapsecond that
+                     will occur on December 31, 2005.
+                     
+1998, Jul  17   WLT  Modified file to account for the leapsecond that
+                     will occur on December 31, 1998.
+                     
+1997, Feb  22   WLT  Modified file to account for the leapsecond that
+                     will occur on June 30, 1997.
+                     
+1995, Dec  14   KSZ  Corrected date of last leapsecond from 1-1-95
+                     to 1-1-96.
+
+1995, Oct  25   WLT  Modified file to account for the leapsecond that
+                     will occur on Dec 31, 1995.
+
+1994, Jun  16   WLT  Modified file to account for the leapsecond on
+                     June 30, 1994.
+
+1993, Feb. 22  CHA   Modified file to account for the leapsecond on
+                     June 30, 1993.
+
+1992, Mar. 6   HAN   Modified file to account for the leapsecond on
+                     June 30, 1992.
+
+1990, Oct. 8   HAN   Modified file to account for the leapsecond on 
+                     Dec. 31, 1990.  
+
+
+Explanation:
+------------
+
+The contents of this file are used by the routine DELTET to compute the 
+time difference
+
+[1]       DELTA_ET  =  ET - UTC                                         
+          
+the increment to be applied to UTC to give ET. 
+
+The difference between UTC and TAI,
+
+[2]       DELTA_AT  =  TAI - UTC
+
+is always an integral number of seconds. The value of DELTA_AT was 10
+seconds in January 1972, and increases by one each time a leap second
+is declared. Combining [1] and [2] gives
+
+[3]       DELTA_ET  =  ET - (TAI - DELTA_AT)
+
+                    =  (ET - TAI) + DELTA_AT
+
+The difference (ET - TAI) is periodic, and is given by
+
+[4]       ET - TAI  =  DELTA_T_A  + K sin E 
+
+where DELTA_T_A and K are constant, and E is the eccentric anomaly of the 
+heliocentric orbit of the Earth-Moon barycenter. Equation [4], which ignores 
+small-period fluctuations, is accurate to about 0.000030 seconds.
+
+The eccentric anomaly E is given by 
+
+[5]       E = M + EB sin M
+
+where M is the mean anomaly, which in turn is given by 
+
+[6]       M = M  +  M t
+               0     1
+
+where t is the number of ephemeris seconds past J2000.
+
+Thus, in order to compute DELTA_ET, the following items are necessary.
+
+          DELTA_TA
+          K
+          EB
+          M0
+          M1
+          DELTA_AT      after each leap second.
+
+The numbers, and the formulation, are taken from the following sources.
+
+     1) Moyer, T.D., Transformation from Proper Time on Earth to 
+        Coordinate Time in Solar System Barycentric Space-Time Frame
+        of Reference, Parts 1 and 2, Celestial Mechanics 23 (1981),
+        33-56 and 57-68.
+
+     2) Moyer, T.D., Effects of Conversion to the J2000 Astronomical
+        Reference System on Algorithms for Computing Time Differences
+        and Clock Rates, JPL IOM 314.5--942, 1 October 1985.
+
+The variable names used above are consistent with those used in the 
+Astronomical Almanac.
+
+\begindata
+
+DELTET/DELTA_T_A       =   32.184
+DELTET/K               =    1.657D-3
+DELTET/EB              =    1.671D-2
+DELTET/M               = (  6.239996D0   1.99096871D-7 )
+
+DELTET/DELTA_AT        = ( 10,   @1972-JAN-1
+                           11,   @1972-JUL-1     
+                           12,   @1973-JAN-1     
+                           13,   @1974-JAN-1     
+                           14,   @1975-JAN-1          
+                           15,   @1976-JAN-1          
+                           16,   @1977-JAN-1          
+                           17,   @1978-JAN-1          
+                           18,   @1979-JAN-1          
+                           19,   @1980-JAN-1          
+                           20,   @1981-JUL-1          
+                           21,   @1982-JUL-1          
+                           22,   @1983-JUL-1          
+                           23,   @1985-JUL-1          
+                           24,   @1988-JAN-1 
+                           25,   @1990-JAN-1
+                           26,   @1991-JAN-1 
+                           27,   @1992-JUL-1
+                           28,   @1993-JUL-1
+                           29,   @1994-JUL-1
+                           30,   @1996-JAN-1 
+                           31,   @1997-JUL-1
+                           32,   @1999-JAN-1
+                           33,   @2006-JAN-1
+                           34,   @2009-JAN-1
+                           35,   @2012-JUL-1
+                           36,   @2015-JUL-1 
+                           37,   @2017-JAN-1 )
+
+\begintext
+
+
diff --git a/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/pck00010.tpc b/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/pck00010.tpc
new file mode 100644
index 0000000..efa0209
--- /dev/null
+++ b/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/pck00010.tpc
@@ -0,0 +1,4061 @@
+KPL/PCK
+ 
+ 
+P_constants (PcK) SPICE kernel file
+===========================================================================
+
+        By: Nat Bachman (NAIF)    2011 October 21
+ 
+ 
+Purpose
+--------------------------------------------------------
+
+     This file makes available for use in SPICE-based application
+     software orientation and size/shape data for natural bodies. The
+     principal source of the data is a published report by the IAU
+     Working Group on Cartographic Coordinates and Rotational Elements
+     [1].
+
+     Orientation and size/shape data not provided by this file may be
+     available in mission-specific PCK files. Such PCKs may be the
+     preferred data source for mission-related applications.
+     Mission-specific PCKs can be found in PDS archives or on the NAIF
+     web site at URL:
+
+        http://naif.jpl.nasa.gov/naif/data
+
+
+File Organization
+--------------------------------------------------------
+ 
+     The contents of this file are as follows.
+ 
+     Introductory Information:
+
+         --   Purpose
+
+         --   File Organization
+ 
+         --   Version description
+ 
+         --   Disclaimer
+ 
+         --   Sources
+ 
+         --   Explanatory notes
+ 
+         --   Body numbers and names
+ 
+
+     PcK Data:
+ 
+
+        Orientation Data
+        ----------------
+
+         --   Orientation constants for the Sun, planets, and
+              Pluto. Additional items included in this section:
+
+                 - Earth north geomagnetic centered dipole value
+                   for the epochs 2012
+
+         --   Orientation constants for satellites
+ 
+         --   Orientation constants for asteroids 
+
+                 Davida
+                 Eros
+                 Gaspra
+                 Ida
+                 Itokawa
+                 Lutetia
+                 Pallas
+                 Steins
+                 Vesta
+ 
+         --   Orientation constants for comets 
+
+                 19P/Borrelly
+                 9P/Tempel 1
+
+
+         Orientation data provided in this file are used
+         by the SPICE Toolkit to evaluate the orientation
+         of body-fixed, body-centered reference frames
+         with respect to the ICRF frame ("J2000" in
+         SPICE documentation). These body-fixed frames
+         have names of the form
+
+            IAU_<body name>
+
+         for example
+
+            IAU_JUPITER
+
+         See the PCK Required Reading file pck.req for details.
+
+
+
+        Radii of Bodies
+        ---------------
+
+         --   Radii of Sun, planets, and Pluto
+         
+         --   Radii of satellites, where available
+         
+         --   Radii of asteroids 
+
+                 Ceres
+                 Davida
+                 Eros
+                 Gaspra
+                 Ida 
+                 Itokawa
+                 Lutetia
+                 Mathilde
+                 Steins
+                 Toutatis
+                 Vesta
+            
+         --   Radii of comets 
+
+                 19P/Borrelly
+                 81P/Wild 2
+                 9P/Tempel 1
+                 Halley
+
+
+
+Version Description
+--------------------------------------------------------
+ 
+     This file was created on October 21, 2011 at NASA's Navigation and
+     Ancillary Information Facility (NAIF), located at the Jet
+     Propulsion Laboratory, Pasadena, CA.
+
+     The previous version of the file was
+     
+        pck00009.tpc
+
+     That file was published March 3 2010.
+
+     This version incorporates data from reference [1]. This file
+     contains size, shape, and orientation data for all objects covered
+     by the previous version of the file.
+
+     New objects covered by this file but not the previous
+     version are:
+
+        Anthe
+        Daphnis
+        Davida
+        Lutetia
+        Methone
+        Pallas
+        Pallene
+        Polydeuces
+        Steins
+ 
+                         
+ 
+Disclaimer
+--------------------------------------------------------
+ 
+Applicability of Data
+
+     This P_constants file may not contain the parameter values that
+     you prefer. NAIF suggests that you inspect this file visually
+     before proceeding with any critical or extended data processing.
+
+File Modifications by Users
+
+     Note that this file may be readily modified by you to change
+     values or add/delete parameters. NAIF requests that you update the
+     "by line," date, version description section, and file name
+     if you modify this file.
+     
+     A user-modified file should be thoroughly tested before 
+     being published or otherwise distributed.
+
+     P_constants files must conform to the standards described
+     in the two SPICE technical reference documents:
+
+        PCK Required Reading
+        Kernel Required Reading
+
+
+Known Limitations and Caveats
+
+     Accuracy
+     --------
+
+     In general, the orientation models given here are claimed by the
+     IAU Working Group Report [1] to be accurate to 0.1 degree
+     ([1], p.158). However, NAIF notes that orientation models for
+     natural satellites and asteroids have in some cases changed
+     substantially with the availability of new observational data, so
+     users are urged to investigate the suitability for their
+     applications of the models presented here.
+
+     Earth orientation
+     -----------------
+
+     NAIF strongly cautions against using the earth rotation model
+     (from [1]), corresponding to the SPICE reference frame name
+     IAU_EARTH, for work demanding high accuracy. This model has been
+     determined by NAIF to have an error in the prime meridian location
+     of magnitude at least 150 arcseconds, with a local minimum
+     occurring during the year 1999. Regarding availability of better
+     earth orientation data for use with the SPICE system:
+
+        Earth orientation data are available from NAIF in the form of
+        binary earth PCK files. These files provide orientation data
+        for the ITRF93 (terrestrial) reference frame relative to the
+        ICRF.
+
+        NAIF employs an automated process to create these files; each
+        time JPL's Tracking Systems and Applications Section produces a
+        new earth orientation parameter (EOP) file, a new PCK is
+        produced. These PCKs cover a roughly 10 year time span starting
+        at Jan. 1, 2000. In these PCK files, the following effects are
+        accounted for in modeling the earth's rotation:
+
+           - Precession:                   1976 IAU model
+
+           - Nutation:                     1980 IAU model, plus interpolated
+                                           EOP nutation corrections
+
+           - Polar motion:                 interpolated from EOP file
+
+           - True sidereal time:
+
+                  UT1 - UT1R (if needed):  given by analytic formula
+                + TAI - UT1 (or UT1R):     interpolated from EOP file
+                + UT1 - GMST:              given by analytic formula
+                + equation of equinoxes:   given by analytic formula
+
+             where
+
+                TAI    =   International Atomic Time
+                UT1    =   Greenwich hour angle of computed mean sun - 12h
+                UT1R   =   Regularized UT1
+                GMST   =   Greenwich mean sidereal time                   
+
+        These kernels are available from the NAIF web site
+
+           http://naif.jpl.nasa.gov
+
+        (follow the links to Data, generic_kernels, and PCK data) or
+
+           ftp://naif.jpl.nasa.gov/pub/naif/generic_kernels/pck
+
+        or via anonymous ftp from the server
+ 
+           naif.jpl.nasa.gov
+
+        The kernels are in the path
+
+           pub/naif/generic_kernels/pck
+
+        At this time, these kernels have file names of the form
+
+           earth_000101_yymmdd_yymmdd.bpc
+
+        The first date in the file name, meaning 2000 January 1, is the
+        file's coverage begin time. The second and third dates are,
+        respectively, the file's coverage end time and the epoch of the
+        last datum.
+ 
+        These binary PCK files are very accurate (error < 0.1
+        microradian) for epochs preceding the epoch of the last datum.
+        For later epochs, the error rises to several microradians.
+
+        Binary PCK files giving accurate earth orientation from 1972 to
+        2007 and *low accuracy* predicted earth orientation from
+        2007 to 2037 are also available in the same location. See the
+        aareadme.txt file at the "pck" URL above for details.
+
+        Characteristics and names of the binary kernels described here
+        are subject to change. See the "pck" URL above for information
+        on current binary earth PCKs.
+
+
+     Lunar orientation
+     -----------------
+
+     The lunar orientation formula provided by this file is a
+     trigonometric polynomial approximation yielding the orientation of
+     the lunar "Mean Earth/Polar Axis" (ME) reference frame. The
+     SPICE reference frame name corresponding to this model is
+     IAU_MOON.
+
+     A more accurate approximation can be obtained by using both the
+     NAIF lunar frame kernel and the binary lunar orientation PCK file.
+     These files provide orientation data for the both the Mean
+     Earth/Polar Axis frame, which has the SPICE name MOON_ME, and the
+     Lunar Principal Axes frame, which has the SPICE name MOON_PA.
+
+     These files are available on the NAIF web site (see URLs above)
+     and in the NAIF server's ftp area. The lunar frame kernel is
+     located in the path
+ 
+        pub/naif/generic_kernels/fk/satellites
+
+     and has a name of the form
+
+        moon_yymmdd.tf
+
+     The binary lunar PCK is in the path
+
+        pub/naif/generic_kernels/pck
+
+     and has a name of the form
+
+        moon_pa_dennn_yyyy-yyyy.bpc
+
+     See the "aareadme.txt" files in the paths shown above for details
+     on file contents and versions. We also suggest you refer to the
+     SPICE tutorial named "lunar_earth_pck-fk," which is available from
+     the NAIF web site.
+
+
+     Earth geomagnetic dipole
+     ------------------------
+
+     The SPICE Toolkit doesn't currently contain software to model the
+     earth's north geomagnetic centered dipole as a function of time.
+     As a convenience for users, the north dipole location from the
+     epoch 2012.0 was selected as a representative datum, and the
+     planetocentric longitude and latitude of this location have been
+     associated with the keywords
+       
+        BODY399_N_GEOMAG_CTR_DIPOLE_LON
+        BODY399_N_GEOMAG_CTR_DIPOLE_LAT
+     
+     Values for the earth's north geomagnetic centered dipole are
+     presented in comments as a discrete time series for the time range
+     1945-2000. For details concerning the geomagnetic field model from
+     which these values were derived, including a discussion of the
+     model's accuracy, see [9] and [11].
+ 
+
+     Prime meridian offsets
+     ----------------------
+
+     Prime meridian offset kernel variables, which have names
+     of the form
+
+        BODYnnn_LONG_AXIS
+
+     are not used by SPICE geometry software. These variables should be
+     considered deprecated; however, they will be retained for
+     backwards compatibility.
+
+     Users wishing to specify an offset reflecting the orientation of a
+     reference ellipsoid relative to a body-fixed reference frame
+     specified here should do so by creating a constant-offset frame
+     (also called a "TK" frame) specification. See the Frames Required
+     Reading frames.req for details.
+ 
+     The Mars prime meridian offset given by [5] is provided for 
+     informational purposes only.
+
+
+     Software limitations
+     --------------------
+
+     SPICE Toolkits prior to version N0057 cannot make use of
+     trigonometric polynomial terms in the formulas for orientation of
+     the planets.
+ 
+     The second nutation precession angle (M2) for Mars is represented
+     by a quadratic polynomial in the 2006 IAU report. The SPICELIB
+     subroutine BODEUL can not handle this term (which is extremely
+     small), so we truncate the polynomial to a linear one. The 
+     resulting orientation error has a maximum magnitude of less
+     than 0.0032 degrees over the time span 1996-2015 and less than
+     0.0082 degrees over the time span 1986-2025.
+
+
+Sources and References
+--------------------------------------------------------
+ 
+     The sources for the constants listed in this file are:
+
+
+        [1]   Archinal, B.A., A'Hearn, M.F., Bowell, E., Conrad, A.,
+              Consolmagno, G.J., Courtin, R., Fukushima, T., 
+              Hestroffer, D., Hilton, J.L., Krasinsky, G.A.,
+              Neumann, G., Oberst, J., Seidelmann, P.K., Stooke, P.,
+              Tholen, D.J., Thomas, P.C., and Williams, I.P. 
+              "Report of the IAU Working Group on Cartographic Coordinates 
+              and Rotational Elements: 2009."
+
+        [2]   Archinal, B.A., A'Hearn, M.F., Conrad, A.,
+              Consolmagno, G.J., Courtin, R., Fukushima, T., 
+              Hestroffer, D., Hilton, J.L., Krasinsky, G.A.,
+              Neumann, G., Oberst, J., Seidelmann, P.K., Stooke, P.,
+              Tholen, D.J., Thomas, P.C., and Williams, I.P. 
+              "Erratum to: Reports of the IAU Working Group on
+              Cartographic Coordinates and Rotational Elements: 2006 &
+              2009."
+
+        [3]   Seidelmann, P.K., Archinal, B.A., A'Hearn, M.F., 
+              Conrad, A., Consolmagno, G.J., Hestroffer, D.,
+              Hilton, J.L., Krasinsky, G.A., Neumann, G.,
+              Oberst, J., Stooke, P., Tedesco, E.F., Tholen, D.J., 
+              and Thomas, P.C. "Report of the IAU/IAG Working Group 
+              on cartographic coordinates and rotational elements: 2006."
+ 
+        [4]   Nautical Almanac Office, United States Naval Observatory
+              and H.M. Nautical Almanac Office, Rutherford Appleton
+              Laboratory (2010). "The Astronomical Almanac for
+              the Year 2010," U.S. Government Printing Office,
+              Washington, D.C.: and The Stationary Office, London.
+
+        [5]   Duxbury, Thomas C. (2001). "IAU/IAG 2000 Mars Cartographic
+              Conventions,"  presentation to the Mars Express Data
+              Archive Working Group, Dec. 14, 2001.
+
+        [6]   Russell, C.T. and Luhmann, J.G. (1990). "Earth: Magnetic 
+              Field and Magnetosphere." <http://www-ssc.igpp.ucla.
+              edu/personnel/russell/papers/earth_mag>. Originally
+              published in "Encyclopedia of Planetary Sciences," J.H.
+              Shirley and R.W. Fainbridge, eds. Chapman and Hall,
+              New York, pp 208-211.
+
+        [7]   Russell, C.T. (1971). "Geophysical Coordinate 
+              Transformations," Cosmic Electrodynamics 2  184-186.
+              NAIF document 181.0.
+     
+        [8]   ESA/ESTEC Space Environment Information System (SPENVIS)
+              (2003). Web page:  "Dipole approximations of the
+              geomagnetic field."  <http://www.spenvis.oma.be/spenvis/
+              help/background/magfield/cd.html>.
+ 
+        [9]   International Association of Geomagnetism and Aeronomy
+              and International Union of Geodesy and Geophysics (2004).
+              Web page:  "The 9th Generation International Geomagnetic
+              Reference Field." <http://www.ngdc.noaa.gov/
+              IAGA/vmod/igrf.html>.
+                             
+        [10]  Davies, M.E., Abalakin, V.K., Bursa, M., Hunt, G.E.,
+              and Lieske, J.H. (1989). "Report of the IAU/IAG/COSPAR
+              Working Group on Cartographic Coordinates and Rotational
+              Elements of the Planets and Satellites: 1988," Celestial
+              Mechanics and Dynamical Astronomy, v.46, no.2, pp.
+              187-204.
+
+        [11]  International Association of Geomagnetism and Aeronomy
+              Web page:  "International Geomagnetic Reference Field."  
+              Discussion URL:
+
+                 http://www.ngdc.noaa.gov/IAGA/vmod/igrf.html
+
+              Coefficients URL:
+
+                 http://www.ngdc.noaa.gov/IAGA/vmod/igrf11coeffs.txt
+
+         
+
+     Most values are from [1]. All exceptions are 
+     commented where they occur in this file. The exceptions are:
+ 
+                 
+         --   Radii for the Sun are from [4].
+
+         --   Prime meridian constant (W0) terms for Pluto, Charon,
+              and Ida are from [2].
+             
+         --   The second nutation precession angle (M2) for Mars is
+              represented by a quadratic polynomial in the 2000
+              IAU report. The SPICELIB subroutine BODEUL can not
+              handle this term (which is extremely small), so we
+              truncate the polynomial to a linear one.
+           
+          --  Earth north geomagnetic centered dipole values are from
+              [11]. The values were also computed from the 11th
+              generation IGRF by Nat Bachman.
+         
+
+     "Old values" listed are from the SPICE P_constants file
+     pck00009.tpc dated March 3, 2010. Most of these values came
+     from the 2006 IAU report [3].
+ 
+ 
+ 
+ 
+Explanatory Notes
+--------------------------------------------------------
+
+     This file, which is logically part of the SPICE P-kernel, contains
+     constants used to model the orientation, size and shape of the
+     Sun, planets, natural satellites, and selected comets and
+     asteroids. The orientation models express the direction of the
+     pole and location of the prime meridian of a body as a function of
+     time. The size/shape models ("shape models" for short) represent
+     all bodies as ellipsoids, using two equatorial radii and a polar
+     radius. Spheroids and spheres are obtained when two or all three
+     radii are equal.
+
+     The SPICE Toolkit routines that use this file are documented in
+     the SPICE "Required Reading" file pck.req. They are also 
+     documented in the "PCK" SPICE tutorial, which is available on
+     the NAIF web site.
+
+File Format
+        
+     A terse description of the PCK file format is given here. See the
+     SPICE "Required Reading" files pck.req and kernel.req for a
+     detailed explanation of the SPICE text kernel file format. The
+     files pck.req and kernel.req are included in the documentation
+     provided with the SPICE Toolkit.
+
+     The file starts out with the ``ID word'' string
+
+        KPL/PCK
+
+     This string identifies the file as a text kernel containing PCK 
+     data.
+
+     This file consists of a series of comment blocks and data blocks.
+     Comment blocks, which contain free-form descriptive or explanatory
+     text, are preceded by a \begintext token. Data blocks follow a
+     \begindata token. In order to be recognized, each of these tokens
+     must be placed on a line by itself.
+
+     The portion of the file preceding the first data block is treated
+     as a comment block; it doesn't require an initial \begintext
+     token.
+
+     This file identifies data using a series of
+
+        KEYWORD = VALUE
+
+     assignments. The left hand side of each assignment is a
+     "kernel variable" name; the right hand side is an associated value
+     or list of values. The SPICE subroutine API allows SPICE routines
+     and user applications to retrieve the set of values associated
+     with each kernel variable name.
+
+     Kernel variable names are case-sensitive and are limited to
+     32 characters in length. 
+
+     Numeric values may be integer or floating point. String values
+     are normally limited to 80 characters in length; however, SPICE
+     provides a mechanism for identifying longer, "continued" strings.
+     See the SPICE routine STPOOL for details.
+
+     String values are single quoted.
+
+     When the right hand side of an assignment is a list of values,
+     the list items may be separated by commas or simply by blanks.
+     The list must be bracketed by parentheses. Example:
+
+        BODY399_RADII     = ( 6378.1366   6378.1366   6356.7519 )
+ 
+     Any blanks preceding or following keyword names, values and equal
+     signs are ignored.
+  
+     Assignments may be spread over multiple lines, for example:
+
+        BODY399_RADII     = ( 6378.1366  
+                              6378.1366
+                              6356.7519 )
+
+     This file may contain blank lines anywhere. Non-printing
+     characters including TAB should not be present in the file: the
+     presence of such characters may cause formatting errors when the
+     file is viewed.
+
+Time systems and reference frames
+
+     The 2009 IAU Working Group Report [1] states the time scale used
+     as the independent variable for the rotation formulas is
+     Barycentric Dynamical Time (TDB) and that the epoch of variable
+     quantities is J2000 TDB (2000 Jan 1 12:00:00 TDB, Julian ephemeris
+     date 2451545.0 TDB). Throughout SPICE documentation and in this
+     file, we use the names "J2000 TDB" and "J2000" for this epoch. The
+     name "J2000.0" is equivalent.
+
+     SPICE documentation refers to the time system used in this file 
+     as either "ET" or "TDB." SPICE software makes no distinction 
+     between TDB and the time system associated with the independent
+     variable of the JPL planetary ephemerides T_eph.
+ 
+     The inertial reference frame used for the rotational elements in
+     this file is identified by [1] as the ICRF (International
+     Celestial Reference Frame). 
+
+     The SPICE PCK software that reads this file uses the label "J2000"
+     to refer to the ICRF; this is actually a mislabeling which has
+     been retained in the interest of backward compatibility. Using
+     data from this file, by means of calls to the SPICE frame
+     transformation routines, will actually compute orientation
+     relative to the ICRF.
+
+     The difference between the J2000 frame and the ICRF is
+     on the order of tens of milliarcseconds and is well below the
+     accuracy level of the formulas in this file.
+
+Orientation models
+ 
+     All of the orientation models use three Euler angles to describe
+     the orientation of the coordinate axes of the "Body Equator and
+     Prime Meridian" system with respect to an inertial system. By
+     default, the inertial system is the ICRF (labeled as "J2000"), but
+     other inertial frames can be specified in the file. See the PCK
+     Required Reading for details.
+ 
+     The first two angles, in order, are the ICRF right ascension and
+     declination (henceforth RA and DEC) of the north pole of a body as
+     a function of time. The third angle is the prime meridian location
+     (represented by "W"), which is expressed as a rotation about the
+     north pole, and is also a function of time.
+ 
+     For each body, the expressions for the north pole's right
+     ascension and declination, as well as prime meridian location, are
+     sums (as far as the models that appear in this file are concerned)
+     of quadratic polynomials and trigonometric polynomials, where the
+     independent variable is time.
+ 
+     In this file, the time arguments in expressions always refer to
+     Barycentric Dynamical Time (TDB), measured in centuries or days
+     past a reference epoch. By default, the reference epoch is the
+     J2000 epoch, which is Julian ephemeris date 2451545.0 (2000 Jan 1
+     12:00:00 TDB), but other epochs can be specified in the file. See
+     the PCK Required Reading for details.
+
+     Orientation models for satellites and some planets (including
+     Jupiter) involve both polynomial terms and trigonometric terms.
+     The arguments of the trigonometric terms are linear polynomials.
+     In this file, we call the arguments of these trigonometric terms
+     "nutation precession angles."
+
+     Example: 2009 IAU Model for orientation of Jupiter.  Note that 
+     these values are used as an example only; see the data area below 
+     for current values.
+
+        Right ascension
+        ---------------
+ 
+        alpha   =  268.056595 - 0.006499 T        +  0.000117 sin(Ja) 
+             0                + 0.000938 sin(Jb)  +  0.001432 sin(Jc)
+                              + 0.000030 sin(Jd)  +  0.002150 sin(Je)
+
+        Declination
+        -----------
+ 
+        delta   =   64.495303 + 0.002413 T        +  0.000050 cos(Ja)
+             0                + 0.000404 cos(Jb)  +  0.000617 cos(Jc)
+                              - 0.000013 cos(Jd)  +  0.000926 cos(Je)
+
+        Prime meridian
+        --------------
+
+        W       =  284.95  + 870.5366420 d
+ 
+
+     Here
+
+        T represents centuries past J2000 ( TDB ),
+ 
+        d represents days past J2000 ( TDB ).
+
+        Ja-Je are nutation precession angles.
+
+     In this file, the polynomials' coefficients above are assigned 
+     to kernel variable names (left-hand-side symbols) as follows
+
+        BODY599_POLE_RA        = (   268.056595     -0.006499       0. )
+        BODY599_POLE_DEC       = (    64.495303      0.002413       0. )
+        BODY599_PM             = (   284.95        870.5360000      0. )
+
+     and the trigonometric polynomials' coefficients are assigned 
+     as follows
+
+        BODY599_NUT_PREC_RA  = ( 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.  0.000117
+                                                                0.000938
+                                                                0.001432
+                                                                0.000030
+                                                                0.002150 )
+
+        BODY599_NUT_PREC_DEC = ( 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.  0.000050
+                                                                0.000404
+                                                                0.000617
+                                                               -0.000013
+                                                                0.000926 )
+
+        BODY599_NUT_PREC_PM  = ( 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.  0.0
+                                                                0.0
+                                                                0.0
+                                                                0.0
+                                                                0.0  ) 
+
+     Note the number "599"; this is the NAIF ID code for Jupiter.
+
+     In this file, the polynomial expressions for the nutation
+     precession angles are listed along with the planet's RA, DEC, and
+     prime meridian terms. Below are the 2006 IAU nutation precession
+     angles for the Jupiter system.
+
+        J1  =   73.32      +  91472.9 T
+        J2  =   24.62      +  45137.2 T
+        J3  =  283.90      +   4850.7 T
+        J4  =  355.80      +   1191.3 T
+        J5  =  119.90      +    262.1 T
+        J6  =  229.80      +     64.3 T
+        J7  =  352.25      +   2382.6 T
+        J8  =  113.35      +   6070.0 T
+
+        J9  =  146.64      + 182945.8 T
+        J10 =   49.24      +  90274.4 T 
+
+        Ja  =   99.360714  +   4850.4046 T
+        Jb  =  175.895369  +   1191.9605 T
+        Jc  =  300.323162  +    262.5475 T
+        Jd  =  114.012305  +   6070.2476 T
+        Je  =   49.511251  +     64.3000 T
+
+     Here
+
+        T represents centuries past J2000 ( TDB )
+
+        J1-J10 and Ja-Je are the nutation precession angles. The angles
+        J9 and J10 are equal to 2*J1 and 2*J2, respectively.
+ 
+        Angles J9 and J10 are not present in [1]; they have been added
+        to fit the terms 2*J1 and 2*J2, which appear in the orientation
+        models of several satellites, into a form that can be accepted
+        by the PCK system.
+
+     The assignment of the nutation precession angles for the
+     Jupiter system is as follows:
+ 
+        BODY5_NUT_PREC_ANGLES  = (    73.32      91472.9
+                                      24.62      45137.2
+                                     283.90       4850.7
+                                     355.80       1191.3
+                                     119.90        262.1
+                                     229.80         64.3
+                                     352.25       2382.6
+                                     113.35       6070.0   
+                                     146.64     182945.8
+                                      49.24      90274.4  
+                                      99.360714   4850.4046
+                                     175.895369   1191.9605
+                                     300.323162    262.5475
+                                     114.012305   6070.2476
+                                      49.511251     64.3000  )
+
+     You'll see an additional symbol grouped with the ones listed
+     above; it is
+ 
+        BODY599_LONG_AXIS
+ 
+     This is a deprecated feature; see the note on "Prime meridian
+     offsets" under "Known Limitations and Caveats" above.
+
+     The pattern of the formulas for satellite orientation is similar
+     to that for Jupiter. Example: 2006 IAU values for Io. Again, these
+     values are used as an example only; see the data area below for
+     current values.
+ 
+        Right ascension
+        ---------------
+
+        alpha  = 268.05  -  0.009 T  + 0.094 sin(J3)  +  0.024 sin(J4)
+             0  
+
+        Declination
+        -----------
+
+        delta  =  64.50  +  0.003 T  + 0.040 cos(J3)  +  0.011 cos(J4)
+             0           
+                          
+        Prime meridian
+        --------------
+
+        W      = 200.39  +  203.4889538 d  -  0.085 sin(J3)  -  0.022 sin(J4)
+
+ 
+        d represents days past J2000.
+ 
+        J3 and J4 are nutation precession angles.
+ 
+     The polynomial terms are assigned to symbols by the statements
+ 
+        BODY501_POLE_RA       = (  268.05          -0.009      0. )
+        BODY501_POLE_DEC      = (   64.50           0.003      0. )
+        BODY501_PM            = (  200.39         203.4889538  0. )
+ 
+     The coefficients of the trigonometric terms are assigned to symbols by
+     the statements
+
+        BODY501_NUT_PREC_RA   = (    0.   0.     0.094    0.024   )
+        BODY501_NUT_PREC_DEC  = (    0.   0.     0.040    0.011   )
+        BODY501_NUT_PREC_PM   = (    0.   0.    -0.085   -0.022   )
+
+     501 is the NAIF ID code for Io.
+ 
+     SPICE software expects the models for satellite orientation to
+     follow the form of the model shown here: the polynomial portions of the
+     RA, DEC, and W expressions are expected to be quadratic, the 
+     trigonometric terms for RA and W (satellite prime meridian) are expected 
+     to be linear combinations of sines of nutation precession angles, the 
+     trigonometric terms for DEC are expected to be linear combinations of 
+     cosines of nutation precession angles, and the polynomials for the 
+     nutation precession angles themselves are expected to be linear.
+ 
+     Eventually, the software will handle more complex expressions, we
+     expect.
+ 
+ 
+Shape models
+ 
+     There is only one kind of shape model supported by the SPICE
+     Toolkit software at present: the triaxial ellipsoid. The 2009 IAU
+     report [1] does not use any other models, except in the case of
+     Mars, where separate values are given for the north and south
+     polar radii. In this file, we provide as a datum the mean Mars
+     polar radius provided by [1]. The North and South values are
+     included as comments.
+
+     For each body, three radii are listed:  The first number is
+     the largest equatorial radius (the length of the semi-axis
+     containing the prime meridian), the second number is the smaller
+     equatorial radius, and the third is the polar radius.
+ 
+     Example: Radii of the Earth.
+ 
+        BODY399_RADII     = ( 6378.1366   6378.1366   6356.7519 )
+
+ 
+ 
+Body Numbers and Names
+--------------------------------------------------------
+ 
+ 
+     The following NAIF body ID codes and body names appear in this
+     file. See the NAIF IDs Required Reading file naif_ids.req for
+     a detailed discussion and a complete list of ID codes and names.
+
+
+        1  Mercury barycenter
+        2  Venus barycenter
+        3  Earth barycenter
+        4  Mars barycenter
+        5  Jupiter barycenter
+        6  Saturn barycenter
+        7  Uranus barycenter
+        8  Neptune barycenter
+        9  Pluto barycenter
+        10 Sun
+
+ 
+        199 Mercury
+ 
+ 
+        299 Venus
+ 
+ 
+        399 Earth
+ 
+        301 Moon
+ 
+ 
+        499 Mars
+ 
+        401 Phobos      402 Deimos
+ 
+ 
+        599 Jupiter
+ 
+        501 Io          502 Europa      503 Ganymede    504 Callisto
+        505 Amalthea    506 Himalia     507 Elara       508 Pasiphae
+        509 Sinope      510 Lysithea    511 Carme       512 Ananke
+        513 Leda        514 Thebe       515 Adrastea    516 Metis
+ 
+ 
+        699 Saturn
+ 
+        601 Mimas       602 Enceladus   603 Tethys      604 Dione
+        605 Rhea        606 Titan       607 Hyperion    608 Iapetus
+        609 Phoebe      610 Janus       611 Epimetheus  612 Helene
+        613 Telesto     614 Calypso     615 Atlas       616 Prometheus
+        617 Pandora     618 Pan         632 Methone     633 Pallene
+        634 Polydeuces  635 Daphnis     649 Anthe
+ 
+ 
+        799 Uranus
+ 
+        701 Ariel       702 Umbriel     703 Titania     704 Oberon
+        705 Miranda     706 Cordelia    707 Ophelia     708 Bianca
+        709 Cressida    710 Desdemona   711 Juliet      712 Portia
+        713 Rosalind    714 Belinda     715 Puck
+ 
+ 
+        899 Neptune
+ 
+        801 Triton      802 Nereid      803 Naiad       804 Thalassa
+        805 Despina     806 Galatea     807 Larissa     808 Proteus
+ 
+ 
+        999 Pluto
+ 
+        901 Charon
+ 
+ 
+        1000005 Comet 19P/Borrelly
+        1000036 Comet Halley
+        1000093 Comet 9P/Tempel 1
+        1000107 Comet 81P/Wild 2
+
+        2000001 Asteroid Ceres
+        2000002 Asteroid Pallas
+        2000004 Asteroid Vesta
+        2000021 Asteroid Lutetia
+        2000216 Asteroid Kleopatra
+        2000253 Asteroid Mathilde
+        2000433 Asteroid Eros
+        2000511 Asteroid Davida
+        2002867 Asteroid Steins
+        2004179 Asteroid Toutatis
+        2025143 Asteroid Itokawa
+        2431010 Asteroid Ida
+        9511010 Asteroid Gaspra
+        
+ 
+Orientation Constants for the Sun and Planets
+--------------------------------------------------------
+ 
+
+Sun
+ 
+     Old values:
+
+        Values are unchanged in the 2009 IAU report.
+
+     Current values:
+ 
+        \begindata
+ 
+        BODY10_POLE_RA         = (  286.13       0.          0. )
+        BODY10_POLE_DEC        = (   63.87       0.          0. )
+        BODY10_PM              = (   84.176     14.18440     0. )
+        BODY10_LONG_AXIS       = (    0.                        )
+
+        \begintext
+ 
+Mercury
+ 
+     Old values:
+ 
+        Values are from the 2006 IAU report.
+
+        body199_pole_ra          = (  281.01     -0.033      0. )
+        body199_pole_dec         = (   61.45     -0.005      0. )
+        body199_pm               = (  329.548     6.1385025  0. )
+
+
+     Current values:
+  
+        \begindata
+
+        BODY199_POLE_RA          = (  281.0097   -0.0328     0. )
+        BODY199_POLE_DEC         = (   61.4143   -0.0049     0. )
+        BODY199_PM               = (  329.5469    6.1385025  0. )
+ 
+        BODY199_LONG_AXIS        = (    0.                        )
+
+        BODY199_NUT_PREC_RA  = ( 0. 0. 0. 0. 0. )
+
+        BODY199_NUT_PREC_DEC = ( 0. 0. 0. 0. 0. )
+
+        BODY199_NUT_PREC_PM  = (    0.00993822
+                                   -0.00104581
+                                   -0.00010280
+                                   -0.00002364
+                                   -0.00000532  )  
+        \begintext 
+
+           The linear coefficients have been scaled up from degrees/day
+           to degrees/century, because the SPICELIB PCK reader expects
+           these units.  The original constants were:
+                         
+                                    174.791086      4.092335
+                                    349.582171      8.184670
+                                    164.373257     12.277005
+                                    339.164343     16.369340
+                                    153.955429     20.461675
+
+
+        \begindata
+
+        BODY1_NUT_PREC_ANGLES  = ( 174.791086  0.14947253587500003E+06   
+                                   349.582171  0.29894507175000006E+06
+                                   164.373257  0.44841760762500006E+06  
+                                   339.164343  0.59789014350000012E+06    
+                                   153.955429  0.74736267937499995E+06 )
+        \begintext
+ 
+  
+Venus
+ 
+     Old values:
+ 
+        Values are unchanged in the 2009 IAU report. 
+ 
+     Current values:
+ 
+        \begindata
+ 
+        BODY299_POLE_RA          = (  272.76       0.          0. )
+        BODY299_POLE_DEC         = (   67.16       0.          0. )
+        BODY299_PM               = (  160.20      -1.4813688   0. )
+ 
+        BODY299_LONG_AXIS        = (    0.                        )
+ 
+        \begintext
+
+
+Earth
+ 
+     Old values:
+ 
+        Values are unchanged in the 2009 report.
+ 
+     Current values:
+ 
+        \begindata 
+ 
+        BODY399_POLE_RA        = (    0.      -0.641         0. )
+        BODY399_POLE_DEC       = (   90.      -0.557         0. )
+        BODY399_PM             = (  190.147  360.9856235     0. )
+        BODY399_LONG_AXIS      = (    0.                        )
+
+        \begintext
+
+
+        Nutation precession angles for the Earth-Moon system:
+
+           The linear coefficients have been scaled up from degrees/day
+           to degrees/century, because the SPICELIB PCK reader expects
+           these units.  The original constants were:
+        
+                                    125.045D0   -0.0529921D0
+                                    250.089D0   -0.1059842D0
+                                    260.008D0   13.0120009D0
+                                    176.625D0   13.3407154D0
+                                    357.529D0    0.9856003D0
+                                    311.589D0   26.4057084D0
+                                    134.963D0   13.0649930D0
+                                    276.617D0    0.3287146D0
+                                     34.226D0    1.7484877D0
+                                     15.134D0   -0.1589763D0
+                                    119.743D0    0.0036096D0
+                                    239.961D0    0.1643573D0
+                                     25.053D0   12.9590088D0 
+
+
+        \begindata
+
+       
+        BODY3_NUT_PREC_ANGLES  = (  125.045         -1935.5364525000
+                                    250.089         -3871.0729050000
+                                    260.008        475263.3328725000  
+                                    176.625        487269.6299850000
+                                    357.529         35999.0509575000
+                                    311.589        964468.4993100000
+                                    134.963        477198.8693250000
+                                    276.617         12006.3007650000
+                                     34.226         63863.5132425000 
+                                     15.134         -5806.6093575000
+                                    119.743           131.8406400000
+                                    239.961          6003.1503825000 
+                                     25.053        473327.7964200000 )
+
+
+        \begintext
+ 
+
+     Earth north geomagnetic centered dipole:
+
+           The north dipole location is time-varying.  The values shown
+           below, taken from [8], represent a discrete sampling of the
+           north dipole location from 1945 to 2000. The terms DGRF and
+           IGRF refer to, respectively, "Definitive Geomagnetic
+           Reference Field" and "International Geomagnetic Reference
+           Field."  See references [6], [8], and [9] for details.
+
+           Coordinates are planetocentric. 
+
+             Data source    Lat      Lon
+             -----------   -----    ------
+              DGRF 1945    78.47    291.47
+              DGRF 1950    78.47    291.15
+              DGRF 1955    78.46    290.84
+              DGRF 1960    78.51    290.53
+              DGRF 1965    78.53    290.15
+              DGRF 1970    78.59    289.82
+              DGRF 1975    78.69    289.53
+              DGRF 1980    78.81    289.24 
+              DGRF 1985    78.97    289.10
+              DGRF 1990    79.13    288.89
+              IGRF 1995    79.30    288.59
+              IGRF 2000    79.54    288.43      
+
+        Original values:
+
+           Values are from [7].  Note the year of publication was 1971.
+
+           body399_mag_north_pole_lon  =  ( -69.761 )
+           body399_mag_north_pole_lat  =  (  78.565 )
+
+        Previous values:
+
+           body399_n_geomag_ctr_dipole_lon  =  ( 288.43 )
+           body399_n_geomag_ctr_dipole_lat  =  (  79.54 )
+
+
+        Current values:
+
+           Values are given for the epoch 2012.0 and were derived
+           by Nat Bachman from constants provided by [11].
+
+        \begindata
+       
+        BODY399_N_GEOMAG_CTR_DIPOLE_LON  =  ( 287.62 )
+        BODY399_N_GEOMAG_CTR_DIPOLE_LAT  =  (  80.13 )
+
+        \begintext
+
+
+
+ 
+Mars
+ 
+     Old values:
+ 
+        Values are unchanged in the 2009 IAU report.
+   
+     Current values:
+ 
+        \begindata
+ 
+        BODY499_POLE_RA          = (  317.68143   -0.1061      0.  )
+        BODY499_POLE_DEC         = (   52.88650   -0.0609      0.  )
+        BODY499_PM               = (  176.630    350.89198226  0.  )
+
+        \begintext
+ 
+        Source [5] specifies the following value for the lambda_a term
+        (BODY499_LONG_AXIS ) for Mars. This term is the POSITIVE EAST
+        LONGITUDE, measured from the prime meridian, of the meridian
+        containing the longest axis of the reference ellipsoid.
+        (CAUTION: previous values were POSITIVE WEST.)
+
+           body499_long_axis        = (  252.  )
+ 
+        We list this lambda_a value for completeness. The IAU report
+        [1] gives equal values for both equatorial radii, so the
+        lambda_a offset does not apply to the IAU model.
+ 
+        The 2003 IAU report defines M2, the second nutation precession angle,
+        by:
+ 
+                                                2
+           192.93  +  1128.4096700 d  +  8.864 T
+ 
+        We truncate the M2 series to a linear expression, because the PCK
+        software cannot handle the quadratic term.
+ 
+        Again, the linear terms are scaled by 36525.0:
+ 
+            -0.4357640000000000       -->     -15916.28010000000
+          1128.409670000000           -->   41215163.19675000
+            -1.8151000000000000E-02   -->       -662.9652750000000
+ 
+        We also introduce a fourth nutation precession angle, which
+        is the pi/2-complement of the third angle.  This angle is used
+        in computing the prime meridian location for Deimos.  See the
+        discussion of this angle below in the section containing orientation
+        constants for Deimos.
+ 
+        \begindata
+
+        BODY4_NUT_PREC_ANGLES  = (  169.51     -15916.2801
+                                    192.93   41215163.19675
+                                     53.47       -662.965275
+                                     36.53        662.965275  )
+ 
+        \begintext
+ 
+ 
+Jupiter
+ 
+     Old values:
+ 
+        The rotation rate is from the 2006 IAU report; all other
+        values are unchanged in the 2009 report.
+
+           body599_pm             = (   284.95        870.5366420      0. )
+
+                   
+     Current values:
+ 
+        The number of nutation precession angles is 15. The ninth and
+        tenth are twice the first and second, respectively. The
+        eleventh through fifteenth correspond to angles JA-JE in
+        the 2006 IAU report; angles JA-JE were not used prior to that
+        report.
+
+        \begindata
+ 
+ 
+        BODY599_POLE_RA        = (   268.056595     -0.006499       0. )
+        BODY599_POLE_DEC       = (    64.495303      0.002413       0. )
+        BODY599_PM             = (   284.95        870.5360000      0. )
+        BODY599_LONG_AXIS      = (     0.                        )
+ 
+        BODY599_NUT_PREC_RA  = ( 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.  0.000117
+                                                                0.000938
+                                                                0.001432
+                                                                0.000030
+                                                                0.002150 )
+
+        BODY599_NUT_PREC_DEC = ( 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.  0.000050
+                                                                0.000404
+                                                                0.000617
+                                                               -0.000013
+                                                                0.000926 )
+
+        BODY599_NUT_PREC_PM  = ( 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.  0.0
+                                                                0.0
+                                                                0.0
+                                                                0.0
+                                                                0.0  ) 
+
+
+        BODY5_NUT_PREC_ANGLES  = (    73.32      91472.9
+                                      24.62      45137.2
+                                     283.90       4850.7
+                                     355.80       1191.3
+                                     119.90        262.1
+                                     229.80         64.3
+                                     352.25       2382.6
+                                     113.35       6070.0   
+                                     146.64     182945.8
+                                      49.24      90274.4  
+                                      99.360714   4850.4046
+                                     175.895369   1191.9605
+                                     300.323162    262.5475
+                                     114.012305   6070.2476
+                                      49.511251     64.3000  )
+        \begintext
+ 
+ 
+Saturn
+ 
+     Old values:
+ 
+        Values are from the 2006 IAU report.
+
+
+        body699_pole_ra        = (    40.589    -0.036      0.  )
+        body699_pole_dec       = (    83.537    -0.004      0.  )
+        body699_pm             = (    38.90    810.7939024  0.  )
+        body699_long_axis      = (     0.                       )
+ 
+ 
+        The first seven angles given here are the angles S1 
+        through S7 from the 2000 report; the eighth and
+        ninth angles are 2*S1 and 2*S2, respectively.
+ 
+ 
+        body6_nut_prec_angles  = (  353.32   75706.7
+                                     28.72   75706.7  
+                                    177.40  -36505.5 
+                                    300.00   -7225.9 
+                                    316.45     506.2
+                                    345.20   -1016.3  
+                                     29.80     -52.1
+                                    706.64  151413.4
+                                     57.44  151413.4  )
+
+
+     Current values:
+ 
+
+        The change from the previous set of values is the
+        removal of S7. This causes BODY6_NUT_PREC_ANGLES 
+        elements that formerly corresponded to 2*S1 and 2*S1
+        to be shifted toward the start of the array.
+
+        \begindata
+
+        BODY699_POLE_RA        = (    40.589    -0.036      0.  )
+        BODY699_POLE_DEC       = (    83.537    -0.004      0.  )
+        BODY699_PM             = (    38.90    810.7939024  0.  )
+        BODY699_LONG_AXIS      = (     0.                       )
+ 
+        \begintext
+ 
+        The first six angles given here are the angles S1 
+        through S6 from the 2009 report; the seventh and
+        eigth angles are 2*S1 and 2*S2, respectively.
+ 
+ 
+        \begindata
+
+        BODY6_NUT_PREC_ANGLES  = (  353.32   75706.7
+                                     28.72   75706.7  
+                                    177.40  -36505.5 
+                                    300.00   -7225.9 
+                                    316.45     506.2
+                                    345.20   -1016.3  
+                                    706.64  151413.4
+                                     57.44  151413.4  )
+        \begintext
+ 
+ 
+Uranus
+ 
+     Old values:
+ 
+        Values are unchanged in the 2009 IAU report.
+ 
+     Current values:
+ 
+        \begindata
+ 
+        BODY799_POLE_RA        = (  257.311     0.         0.  )
+        BODY799_POLE_DEC       = (  -15.175     0.         0.  )
+        BODY799_PM             = (  203.81   -501.1600928  0.  )
+        BODY799_LONG_AXIS      = (    0.                       )
+ 
+        \begintext
+        
+        The first 16 angles given here are the angles U1 
+        through U16 from the 2000 report; the 17th and
+        18th angles are 2*U11 and 2*U12, respectively.
+        
+        \begindata
+         
+        BODY7_NUT_PREC_ANGLES  = (  115.75   54991.87
+                                    141.69   41887.66
+                                    135.03   29927.35
+                                     61.77   25733.59  
+                                    249.32   24471.46
+                                     43.86   22278.41 
+                                     77.66   20289.42  
+                                    157.36   16652.76  
+                                    101.81   12872.63   
+                                    138.64    8061.81
+                                    102.23   -2024.22 
+                                    316.41    2863.96  
+                                    304.01     -51.94  
+                                    308.71     -93.17 
+                                    340.82     -75.32 
+                                    259.14    -504.81 
+                                    204.46   -4048.44
+                                    632.82    5727.92     )
+                                    
+        \begintext
+ 
+ 
+ 
+Neptune
+ 
+     Old values:
+ 
+        Values are unchanged in the 2009 IAU report. 
+ 
+     Current values:
+
+        \begindata        
+ 
+           BODY899_POLE_RA        = (  299.36     0.         0. )
+           BODY899_POLE_DEC       = (   43.46     0.         0. )
+           BODY899_PM             = (  253.18   536.3128492  0. )
+           BODY899_LONG_AXIS      = (    0.                     )
+
+
+           BODY899_NUT_PREC_RA    = (  0.70 0. 0. 0. 0. 0. 0. 0. ) 
+           BODY899_NUT_PREC_DEC   = ( -0.51 0. 0. 0. 0. 0. 0. 0. )
+           BODY899_NUT_PREC_PM    = ( -0.48 0. 0. 0. 0. 0. 0. 0. )
+
+        \begintext
+ 
+           The 2000 report defines the nutation precession angles
+ 
+              N, N1, N2, ... , N7
+ 
+           and also uses the multiples of N1 and N7
+ 
+              2*N1
+ 
+           and
+ 
+              2*N7, 3*N7, ..., 9*N7
+ 
+           In this file, we treat the angles and their multiples as
+           separate angles.  In the kernel variable
+ 
+              BODY8_NUT_PREC_ANGLES
+ 
+           the order of the angles is
+ 
+              N, N1, N2, ... , N7, 2*N1, 2*N7, 3*N7, ..., 9*N7
+ 
+           Each angle is defined by a linear polynomial, so two
+           consecutive array elements are allocated for each
+           angle.  The first term of each pair is the constant term,
+           the second is the linear term.
+ 
+        \begindata 
+
+              BODY8_NUT_PREC_ANGLES = (   357.85         52.316
+                                          323.92      62606.6
+                                          220.51      55064.2 
+                                          354.27      46564.5
+                                           75.31      26109.4 
+                                           35.36      14325.4
+                                          142.61       2824.6  
+                                          177.85         52.316 
+                                          647.840    125213.200
+                                          355.700       104.632
+                                          533.550       156.948
+                                          711.400       209.264
+                                          889.250       261.580
+                                         1067.100       313.896
+                                         1244.950       366.212
+                                         1422.800       418.528
+                                         1600.650       470.844   )
+                                         
+        \begintext
+ 
+ 
+ 
+
+Orientation Constants for the Dwarf Planet Pluto
+--------------------------------------------------------
+ 
+Pluto
+ 
+     Old values:
+ 
+        Values are from the 2006 IAU report. 
+
+        body999_pole_ra        = (  312.993   0.          0. )
+        body999_pole_dec       = (    6.163   0.          0. )
+        body999_pm             = (  237.305  -56.3625225  0. )
+        body999_long_axis      = (    0.                     )
+
+
+     Current values:
+
+        Due to the new definition of planetocentric coordinates
+        for small bodies, and to the reclassification of Pluto
+        as a dwarf planet, Pluto's north pole direction has been
+        inverted. 
+
+        The PM constant W0 is from [2]. 
+
+        \begindata
+ 
+        BODY999_POLE_RA        = (  132.993   0.          0. )
+        BODY999_POLE_DEC       = (   -6.163   0.          0. )
+        BODY999_PM             = (  302.695   56.3625225  0. )
+        BODY999_LONG_AXIS      = (    0.                     )
+
+        \begintext
+ 
+ 
+ 
+ 
+Orientation constants for the satellites
+--------------------------------------------------------
+ 
+ 
+Satellites of Earth
+ 
+     Old values:
+ 
+        Values are unchanged in the 2009 IAU report. 
+ 
+     New values:
+ 
+        \begindata
+ 
+
+        BODY301_POLE_RA      = (  269.9949        0.0031        0.      )
+        BODY301_POLE_DEC     = (   66.5392        0.0130        0.      )
+        BODY301_PM           = (   38.3213       13.17635815   -1.4D-12 )
+        BODY301_LONG_AXIS    = (    0.                                  )
+   
+        BODY301_NUT_PREC_RA  = (   -3.8787   -0.1204   0.0700   -0.0172
+                                    0.0       0.0072   0.0       0.0
+                                    0.0      -0.0052   0.0       0.0
+                                    0.0043                              )
+        
+        BODY301_NUT_PREC_DEC = (   1.5419     0.0239  -0.0278    0.0068
+                                   0.0       -0.0029   0.0009    0.0
+                                   0.0        0.0008   0.0       0.0     
+                                  -0.0009                               )
+        
+        BODY301_NUT_PREC_PM  = (   3.5610     0.1208  -0.0642    0.0158
+                                   0.0252    -0.0066  -0.0047   -0.0046
+                                   0.0028     0.0052   0.0040    0.0019
+                                  -0.0044                               )
+        \begintext
+ 
+
+ 
+Satellites of Mars
+ 
+ 
+     Phobos
+ 
+          Old values:
+ 
+             Values are unchanged in the 2009 IAU report.
+ 
+
+          Current values:
+ 
+            The quadratic prime meridian term is scaled by 1/36525**2:
+ 
+               8.864000000000000   --->   6.6443009930565219E-09
+ 
+        \begindata
+ 
+          BODY401_POLE_RA  = ( 317.68    -0.108     0.                     )
+          BODY401_POLE_DEC = (  52.90    -0.061     0.                     )
+          BODY401_PM       = (  35.06  1128.8445850 6.6443009930565219E-09 )
+                                       
+          BODY401_LONG_AXIS     = (    0.   )
+ 
+          BODY401_NUT_PREC_RA   = (   1.79    0.    0.   0. )
+          BODY401_NUT_PREC_DEC  = (  -1.08    0.    0.   0. )
+          BODY401_NUT_PREC_PM   = (  -1.42   -0.78  0.   0. )
+
+
+        \begintext
+ 
+ 
+     Deimos
+ 
+        Old values:
+ 
+           Values are unchanged in the 2009 IAU report.
+  
+        New values:
+ 
+           The Deimos prime meridian expression is:
+ 
+ 
+                                                     2
+              W = 79.41  +  285.1618970 d  -  0.520 T  -  2.58 sin M
+                                                                    3
+ 
+                                                       +  0.19 cos M .
+                                                                    3
+ 
+ 
+           At the present time, the PCK kernel software (the routine
+           BODEUL in particular) cannot handle the cosine term directly,
+           but we can represent it as
+ 
+              0.19 sin M
+                        4
+ 
+           where
+ 
+              M   =  90.D0 - M
+               4              3
+ 
+           Therefore, the nutation precession angle assignments for Phobos
+           and Deimos contain four coefficients rather than three.
+ 
+           The quadratic prime meridian term is scaled by 1/36525**2:
+ 
+              -0.5200000000000000  --->   -3.8978300049519307E-10
+ 
+        \begindata
+ 
+           BODY402_POLE_RA       = (  316.65     -0.108       0.           )
+           BODY402_POLE_DEC      = (   53.52     -0.061       0.           )
+           BODY402_PM            = (   79.41    285.1618970  -3.897830D-10 )
+           BODY402_LONG_AXIS     = (    0.                                 )
+ 
+           BODY402_NUT_PREC_RA   = (    0.   0.   2.98    0.   )
+           BODY402_NUT_PREC_DEC  = (    0.   0.  -1.78    0.   )
+           BODY402_NUT_PREC_PM   = (    0.   0.  -2.58    0.19 )
+
+        \begintext
+ 
+ 
+ 
+ 
+Satellites of Jupiter
+ 
+ 
+     Io
+ 
+          Old values:
+ 
+             Values are unchanged in the 2009 IAU report.
+ 
+          Current values:
+         
+        \begindata
+ 
+        BODY501_POLE_RA       = (  268.05          -0.009      0. )
+        BODY501_POLE_DEC      = (   64.50           0.003      0. )
+        BODY501_PM            = (  200.39         203.4889538  0. )
+        BODY501_LONG_AXIS     = (    0.                           )
+ 
+        BODY501_NUT_PREC_RA   = (    0.   0.     0.094    0.024   )
+        BODY501_NUT_PREC_DEC  = (    0.   0.     0.040    0.011   )
+        BODY501_NUT_PREC_PM   = (    0.   0.    -0.085   -0.022   )
+
+        \begintext
+ 
+ 
+ 
+     Europa
+ 
+ 
+        Old values:
+
+           Values are unchanged in the 2009 IAU report.      
+
+
+        Current values:
+ 
+        \begindata 
+ 
+        BODY502_POLE_RA       = (  268.08          -0.009      0.   )
+        BODY502_POLE_DEC      = (   64.51           0.003      0.   )
+        BODY502_PM            = (   36.022        101.3747235  0.   )
+        BODY502_LONG_AXIS     = (    0.                             )
+ 
+        BODY502_NUT_PREC_RA   = ( 0. 0. 0.   1.086   0.060   0.015   0.009 )
+        BODY502_NUT_PREC_DEC  = ( 0. 0. 0.   0.468   0.026   0.007   0.002 )
+        BODY502_NUT_PREC_PM   = ( 0. 0. 0.  -0.980  -0.054  -0.014  -0.008 )
+ 
+        \begintext
+ 
+ 
+     Ganymede
+ 
+        Old values:
+ 
+             Values are unchanged in the 2009 IAU report.
+
+        Current values:
+        
+        \begindata
+    
+        BODY503_POLE_RA       = (  268.20         -0.009       0.  )
+        BODY503_POLE_DEC      = (   64.57          0.003       0.  )
+        BODY503_PM            = (   44.064        50.3176081   0.  )
+        BODY503_LONG_AXIS     = (    0.                            )
+
+        BODY503_NUT_PREC_RA   = ( 0. 0. 0.  -0.037   0.431   0.091   )
+        BODY503_NUT_PREC_DEC  = ( 0. 0. 0.  -0.016   0.186   0.039   )
+        BODY503_NUT_PREC_PM   = ( 0. 0. 0.   0.033  -0.389  -0.082   )
+ 
+        \begintext
+ 
+ 
+     Callisto
+ 
+        Old values:
+
+             Values are unchanged in the 2009 IAU report.
+                
+        Current values:
+        
+        
+        \begindata
+  
+        BODY504_POLE_RA       = (   268.72    -0.009       0.  )
+        BODY504_POLE_DEC      = (    64.83     0.003       0.  )
+        BODY504_PM            = (   259.51    21.5710715   0.  )
+        BODY504_LONG_AXIS     = (     0.                       )
+ 
+        BODY504_NUT_PREC_RA   = ( 0. 0. 0. 0.  -0.068   0.590  0.   0.010 )
+        BODY504_NUT_PREC_DEC  = ( 0. 0. 0. 0.  -0.029   0.254  0.  -0.004 )
+        BODY504_NUT_PREC_PM   = ( 0. 0. 0. 0.   0.061  -0.533  0.  -0.009 )
+ 
+        \begintext
+ 
+ 
+     Amalthea
+ 
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report.        
+        
+        Current values:
+         
+        \begindata
+ 
+        BODY505_POLE_RA       = (   268.05    -0.009      0.  )
+        BODY505_POLE_DEC      = (    64.49     0.003      0.  )
+        BODY505_PM            = (   231.67   722.6314560  0.  )
+        BODY505_LONG_AXIS     = (     0.                      )
+ 
+        BODY505_NUT_PREC_RA  = ( -0.84  0. 0. 0. 0. 0. 0. 0.   0.01  0. )
+        BODY505_NUT_PREC_DEC = ( -0.36  0. 0. 0. 0. 0. 0. 0.   0.    0. )
+        BODY505_NUT_PREC_PM  = (  0.76  0. 0. 0. 0. 0. 0. 0.  -0.01  0. )
+ 
+        \begintext
+ 
+ 
+     Thebe
+ 
+ 
+        Old values:
+                
+           Values are unchanged in the 2009 IAU report.                
+          
+        Current values:
+        
+        \begindata
+ 
+        BODY514_POLE_RA       = (  268.05     -0.009       0.  )
+        BODY514_POLE_DEC      = (   64.49      0.003       0.  )
+        BODY514_PM            = (    8.56    533.7004100   0.  )
+        BODY514_LONG_AXIS     = (    0.                        )
+ 
+        BODY514_NUT_PREC_RA  = ( 0.  -2.11  0. 0. 0. 0. 0. 0. 0.  0.04 )
+        BODY514_NUT_PREC_DEC = ( 0.  -0.91  0. 0. 0. 0. 0. 0. 0.  0.01 )
+        BODY514_NUT_PREC_PM  = ( 0.   1.91  0. 0. 0. 0. 0. 0. 0. -0.04 )
+ 
+        \begintext
+ 
+ 
+     Adrastea
+ 
+        Old values:
+                
+           Values are unchanged in the 2009 IAU report.                
+        
+        Current values:
+        
+        \begindata 
+ 
+        BODY515_POLE_RA       = (  268.05     -0.009       0.  )
+        BODY515_POLE_DEC      = (   64.49      0.003       0.  )
+        BODY515_PM            = (   33.29   1206.9986602   0.  )
+        BODY515_LONG_AXIS     = (    0.                        )
+
+        \begintext
+ 
+ 
+     Metis
+  
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report.  
+              
+        Current values:
+           
+        \begindata
+
+        BODY516_POLE_RA       = (  268.05     -0.009       0.  )
+        BODY516_POLE_DEC      = (   64.49      0.003       0.  )
+        BODY516_PM            = (  346.09   1221.2547301   0.  )
+        BODY516_LONG_AXIS     = (    0.                        )
+ 
+        \begintext
+ 
+ 
+ 
+Satellites of Saturn
+      
+     
+     Mimas
+ 
+        Old values:
+        
+           Values are from the 2006 IAU report.
+               
+           body601_pole_ra       = (   40.66     -0.036      0.  )
+           body601_pole_dec      = (   83.52     -0.004      0.  )
+           body601_pm            = (  337.46    381.9945550  0.  )
+           body601_long_axis     = (     0.                      )
+ 
+           body601_nut_prec_ra   = ( 0. 0.   13.56  0.    0.    0. 0. 0. 0. )
+           body601_nut_prec_dec  = ( 0. 0.   -1.53  0.    0.    0. 0. 0. 0. )
+           body601_nut_prec_pm   = ( 0. 0.  -13.48  0.  -44.85  0. 0. 0. 0. )
+
+
+        Current values:
+
+        \begindata
+  
+           BODY601_POLE_RA       = (   40.66     -0.036      0.  )
+           BODY601_POLE_DEC      = (   83.52     -0.004      0.  )
+           BODY601_PM            = (  333.46    381.9945550  0.  )
+           BODY601_LONG_AXIS     = (     0.                      )
+ 
+           BODY601_NUT_PREC_RA   = ( 0. 0.   13.56  0.    0.    0. 0. 0.  )
+           BODY601_NUT_PREC_DEC  = ( 0. 0.   -1.53  0.    0.    0. 0. 0.  )
+           BODY601_NUT_PREC_PM   = ( 0. 0.  -13.48  0.  -44.85  0. 0. 0.  )
+
+        \begintext
+ 
+ 
+     Enceladus
+ 
+ 
+        Old values:
+        
+           Values are from the 2006 IAU report.  
+               
+           body602_pole_ra       = (   40.66    -0.036       0. )
+           body602_pole_dec      = (   83.52    -0.004       0. )
+           body602_pm            = (    2.82   262.7318996   0. )
+           body602_long_axis     = (    0.                      )
+
+
+        Current values:
+ 
+        \begindata
+ 
+           BODY602_POLE_RA       = (   40.66    -0.036       0. )
+           BODY602_POLE_DEC      = (   83.52    -0.004       0. )
+           BODY602_PM            = (    6.32   262.7318996   0. )
+           BODY602_LONG_AXIS     = (    0.                      )
+
+        \begintext
+ 
+ 
+ 
+     Tethys
+ 
+ 
+        Old values:
+        
+           Values are from the 2006 IAU report. 
+ 
+           body603_pole_ra       = (   40.66    -0.036       0. )
+           body603_pole_dec      = (   83.52    -0.004       0. )
+           body603_pm            = (   10.45   190.6979085   0. )
+           body603_long_axis     = (    0.                      )
+ 
+           body603_nut_prec_ra   = ( 0. 0. 0.   9.66   0.    0.  0.  0.  0. )
+           body603_nut_prec_dec  = ( 0. 0. 0.  -1.09   0.    0.  0.  0.  0. )
+           body603_nut_prec_pm   = ( 0. 0. 0.  -9.60   2.23  0.  0.  0.  0. )
+
+
+        Current values:
+ 
+        \begindata
+ 
+           BODY603_POLE_RA       = (   40.66    -0.036       0. )
+           BODY603_POLE_DEC      = (   83.52    -0.004       0. )
+           BODY603_PM            = (    8.95   190.6979085   0. )
+           BODY603_LONG_AXIS     = (    0.                      )
+ 
+           BODY603_NUT_PREC_RA   = ( 0. 0. 0.   9.66   0.    0.  0.  0. )
+           BODY603_NUT_PREC_DEC  = ( 0. 0. 0.  -1.09   0.    0.  0.  0. )
+           BODY603_NUT_PREC_PM   = ( 0. 0. 0.  -9.60   2.23  0.  0.  0. )
+
+        \begintext
+ 
+ 
+     Dione
+ 
+ 
+        Old values:
+        
+           Values are from the 2006 IAU report. 
+ 
+           body604_pole_ra       = (  40.66      -0.036      0.  )
+           body604_pole_dec      = (  83.52      -0.004      0.  )
+           body604_pm            = (  357.00    131.5349316  0.  )
+           body604_long_axis     = (    0.                       )
+
+
+        Current values:
+ 
+        \begindata
+   
+           BODY604_POLE_RA       = (  40.66      -0.036      0.  )
+           BODY604_POLE_DEC      = (  83.52      -0.004      0.  )
+           BODY604_PM            = (  357.6     131.5349316  0.  )
+           BODY604_LONG_AXIS     = (    0.                       )
+
+        \begintext
+ 
+ 
+ 
+     Rhea
+     
+ 
+        Old values:
+        
+           Values are from the 2009 IAU report.
+
+           body605_pole_ra       = (   40.38   -0.036       0. )
+           body605_pole_dec      = (   83.55   -0.004       0. )
+           body605_pm            = (  235.16   79.6900478   0. )
+           body605_long_axis     = (    0.                     )
+ 
+           body605_nut_prec_ra   = ( 0. 0. 0. 0. 0.   3.10   0. 0. 0. )
+           body605_nut_prec_dec  = ( 0. 0. 0. 0. 0.  -0.35   0. 0. 0. )
+           body605_nut_prec_pm   = ( 0. 0. 0. 0. 0.  -3.08   0. 0. 0. )
+
+ 
+        Current values:
+ 
+           Data values are unchanged in the 2009 IAU report. However
+           the kernel variable contents have changed due to removal of
+           the angle S7.
+
+        \begindata
+   
+           BODY605_POLE_RA       = (   40.38   -0.036       0. )
+           BODY605_POLE_DEC      = (   83.55   -0.004       0. )
+           BODY605_PM            = (  235.16   79.6900478   0. )
+           BODY605_LONG_AXIS     = (    0.                     )
+ 
+           BODY605_NUT_PREC_RA   = ( 0. 0. 0. 0. 0.   3.10   0. 0. )
+           BODY605_NUT_PREC_DEC  = ( 0. 0. 0. 0. 0.  -0.35   0. 0. )
+           BODY605_NUT_PREC_PM   = ( 0. 0. 0. 0. 0.  -3.08   0. 0. )
+ 
+        \begintext
+ 
+ 
+ 
+     Titan
+ 
+ 
+        Old values:
+        
+           Values are from the 2006 IAU report. 
+
+           BODY606_POLE_RA       = (    36.41   -0.036      0. )
+           BODY606_POLE_DEC      = (    83.94   -0.004      0. )
+           BODY606_PM            = (   189.64   22.5769768  0. )
+           BODY606_LONG_AXIS     = (     0.                    )
+ 
+           BODY606_NUT_PREC_RA   = ( 0. 0. 0. 0. 0. 0.  2.66  0. 0 )
+           BODY606_NUT_PREC_DEC  = ( 0. 0. 0. 0. 0. 0. -0.30  0. 0 )
+           BODY606_NUT_PREC_PM   = ( 0. 0. 0. 0. 0. 0. -2.64  0. 0 )
+
+
+        Current values:
+
+              Note removal of dependence on the nutation precession
+              angles.
+ 
+        \begindata
+ 
+           BODY606_POLE_RA       = (    39.4827    0.         0. )
+           BODY606_POLE_DEC      = (    83.4279    0.         0. )
+           BODY606_PM            = (   186.5855   22.5769768  0. )
+           BODY606_LONG_AXIS     = (     0.                      )
+ 
+           BODY606_NUT_PREC_RA   = ( 0. 0. 0. 0. 0. 0. 0. 0 )
+           BODY606_NUT_PREC_DEC  = ( 0. 0. 0. 0. 0. 0. 0. 0 )
+           BODY606_NUT_PREC_PM   = ( 0. 0. 0. 0. 0. 0. 0. 0 )
+
+        \begintext
+ 
+ 
+ 
+     Hyperion
+ 
+         The IAU report does not give an orientation model for Hyperion.
+         Hyperion's rotation is in chaotic and is not predictable for
+         long periods.
+
+ 
+     Iapetus
+ 
+ 
+        Old values:
+        
+           Values are from the 2006 IAU report. 
+
+           body608_pole_ra       = (   318.16  -3.949      0.  )
+           body608_pole_dec      = (    75.03  -1.143      0.  )
+           body608_pm            = (   350.20   4.5379572  0.  )
+           body608_long_axis     = (     0.                    )
+
+
+        Current values:
+ 
+        \begindata
+ 
+           BODY608_POLE_RA       = (   318.16  -3.949      0.  )
+           BODY608_POLE_DEC      = (    75.03  -1.143      0.  )
+           BODY608_PM            = (   355.2    4.5379572  0.  )
+           BODY608_LONG_AXIS     = (     0.                    )
+
+        \begintext
+ 
+ 
+ 
+     Phoebe
+ 
+
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+  
+        Current values:
+ 
+        \begindata 
+  
+           BODY609_POLE_RA       = ( 356.90       0.         0.  )
+           BODY609_POLE_DEC      = (  77.80       0.         0.  )
+           BODY609_PM            = ( 178.58     931.639      0.  )
+           BODY609_LONG_AXIS     = (    0.                       )
+
+        \begintext
+ 
+ 
+     Janus
+ 
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+
+        Current values:
+
+           Data values are unchanged in the 2009 IAU report. However
+           the kernel variable contents have changed due to removal of
+           the angle S7.
+ 
+        \begindata
+
+           BODY610_POLE_RA       = (  40.58    -0.036       0. )
+           BODY610_POLE_DEC      = (  83.52    -0.004       0. )
+           BODY610_PM            = (  58.83   518.2359876   0. )
+           BODY610_LONG_AXIS     = (   0.                      )
+ 
+           BODY610_NUT_PREC_RA   = ( 0. -1.623  0. 0. 0. 0. 0.  0.023 )
+           BODY610_NUT_PREC_DEC  = ( 0. -0.183  0. 0. 0. 0. 0.  0.001 )
+           BODY610_NUT_PREC_PM   = ( 0.  1.613  0. 0. 0. 0. 0. -0.023 )
+ 
+        \begintext
+ 
+ 
+ 
+     Epimetheus
+ 
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+         
+        Current values:
+ 
+           Data values are unchanged in the 2009 IAU report. However
+           the kernel variable contents have changed due to removal of
+           the angle S7.
+
+        \begindata 
+  
+           BODY611_POLE_RA       = (  40.58    -0.036        0. )
+           BODY611_POLE_DEC      = (  83.52    -0.004        0. )
+           BODY611_PM            = ( 293.87   518.4907239    0. )
+           BODY611_LONG_AXIS     = (   0.                       )
+ 
+           BODY611_NUT_PREC_RA   = ( -3.153   0. 0. 0. 0. 0.   0.086  0. )
+           BODY611_NUT_PREC_DEC  = ( -0.356   0. 0. 0. 0. 0.   0.005  0. )
+           BODY611_NUT_PREC_PM   = (  3.133   0. 0. 0. 0. 0.  -0.086  0. )
+
+        \begintext
+ 
+ 
+ 
+     Helene
+ 
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+        \begindata 
+ 
+           BODY612_POLE_RA       = (  40.85     -0.036        0. )
+           BODY612_POLE_DEC      = (  83.34     -0.004        0. )
+           BODY612_PM            = ( 245.12    131.6174056    0. )
+           BODY612_LONG_AXIS     = (   0.                        )
+
+        \begintext
+ 
+ 
+ 
+     Telesto
+ 
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+        \begindata 
+ 
+           BODY613_POLE_RA       = ( 50.51    -0.036      0.  )
+           BODY613_POLE_DEC      = ( 84.06    -0.004      0.  )
+           BODY613_PM            = ( 56.88   190.6979332  0.  )
+           BODY613_LONG_AXIS     = (  0.                      )
+
+        \begintext
+
+ 
+ 
+     Calypso
+ 
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+        \begindata
+  
+           BODY614_POLE_RA       = (   36.41    -0.036        0.  )
+           BODY614_POLE_DEC      = (   85.04    -0.004        0.  )
+           BODY614_PM            = (  153.51   190.6742373    0.  )
+           BODY614_LONG_AXIS     = (    0.                        )
+ 
+        \begintext
+ 
+ 
+ 
+     Atlas
+ 
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+        \begindata
+ 
+           BODY615_POLE_RA       = (   40.58     -0.036      0. )
+           BODY615_POLE_DEC      = (   83.53     -0.004      0. )  
+           BODY615_PM            = (  137.88    598.3060000  0. )
+           BODY615_LONG_AXIS     = (    0.                      )
+
+        \begintext
+ 
+ 
+ 
+     Prometheus
+ 
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+        \begindata
+  
+           BODY616_POLE_RA       = (  40.58      -0.036    )
+           BODY616_POLE_DEC      = (  83.53      -0.004    )
+           BODY616_PM            = ( 296.14     587.289000 )
+           BODY616_LONG_AXIS     = (   0.                  )
+ 
+        \begintext
+ 
+ 
+ 
+     Pandora
+ 
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+        \begindata
+ 
+           BODY617_POLE_RA       = (   40.58     -0.036      0.  )
+           BODY617_POLE_DEC      = (   83.53     -0.004      0.  )
+           BODY617_PM            = (  162.92    572.7891000  0.  )
+           BODY617_LONG_AXIS     = (     0.                      )
+ 
+        \begintext
+ 
+ 
+ 
+     Pan
+ 
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+        \begindata
+ 
+           BODY618_POLE_RA       = (   40.6     -0.036       0. )
+           BODY618_POLE_DEC      = (   83.5     -0.004       0. )
+           BODY618_PM            = (   48.8    626.0440000   0. )
+           BODY618_LONG_AXIS     = (    0.                      )
+
+        \begintext
+ 
+ 
+ 
+ 
+ 
+Satellites of Uranus
+ 
+  
+ 
+     Ariel
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+ 
+        Current values:
+
+        \begindata 
+
+           BODY701_POLE_RA       = ( 257.43     0.          0. )
+           BODY701_POLE_DEC      = ( -15.10     0.          0. )
+           BODY701_PM            = ( 156.22  -142.8356681   0. )
+           BODY701_LONG_AXIS     = (   0.                      )
+ 
+           BODY701_NUT_PREC_RA   = (  0. 0. 0. 0. 0.
+                                      0. 0. 0. 0. 0.  0.    0.    0.29 )
+ 
+           BODY701_NUT_PREC_DEC  = (  0. 0. 0. 0. 0.
+                                      0. 0. 0. 0. 0.  0.    0.    0.28 )
+ 
+           BODY701_NUT_PREC_PM   = (  0. 0. 0. 0. 0.
+                                      0. 0. 0. 0. 0.  0.   0.05   0.08 )
+        \begintext
+ 
+ 
+ 
+     Umbriel
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+        \begindata 
+ 
+           BODY702_POLE_RA       = (  257.43     0.          0. )
+           BODY702_POLE_DEC      = (  -15.10     0.          0. )
+           BODY702_PM            = (  108.05   -86.8688923   0. )
+           BODY702_LONG_AXIS     = (    0.                      )
+ 
+           BODY702_NUT_PREC_RA   = ( 0. 0. 0. 0. 0. 
+                                     0. 0. 0. 0. 0.   0.   0.    0.   0.21 )
+ 
+           BODY702_NUT_PREC_DEC  = ( 0. 0. 0. 0. 0. 
+                                     0. 0. 0. 0. 0.   0.   0.    0.   0.20 )
+ 
+           BODY702_NUT_PREC_PM   = ( 0. 0. 0. 0. 0.  
+                                     0. 0. 0. 0. 0.   0.  -0.09  0.   0.06 )
+
+        \begintext
+ 
+ 
+ 
+     Titania
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+        \begindata
+ 
+           BODY703_POLE_RA       = (  257.43    0.          0. )
+           BODY703_POLE_DEC      = (  -15.10    0.          0. )
+           BODY703_PM            = (   77.74  -41.3514316   0. )
+           BODY703_LONG_AXIS     = (    0.                     )
+ 
+           BODY703_NUT_PREC_RA   = ( 0. 0. 0. 0. 0. 
+                                     0. 0. 0. 0. 0.   0. 0. 0. 0.   0.29 )
+ 
+           BODY703_NUT_PREC_DEC  = ( 0. 0. 0. 0. 0. 
+                                     0. 0. 0. 0. 0.   0. 0. 0. 0.   0.28 )
+ 
+           BODY703_NUT_PREC_PM   = ( 0. 0. 0. 0. 0.  
+                                     0. 0. 0. 0. 0.   0. 0. 0. 0.   0.08 )
+        \begintext
+ 
+ 
+ 
+     Oberon
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+        \begindata
+  
+           BODY704_POLE_RA       = (  257.43    0.          0. )
+           BODY704_POLE_DEC      = (  -15.10    0.          0. )
+           BODY704_PM            = (    6.77  -26.7394932   0. )
+           BODY704_LONG_AXIS     = (    0.                     )
+ 
+ 
+           BODY704_NUT_PREC_RA   = ( 0. 0. 0. 0. 0. 
+                                     0. 0. 0. 0. 0. 
+                                     0. 0. 0. 0. 0.   0.16 )
+ 
+           BODY704_NUT_PREC_DEC  = ( 0. 0. 0. 0. 0. 
+                                     0. 0. 0. 0. 0. 
+                                     0. 0. 0. 0. 0.   0.16 )
+ 
+           BODY704_NUT_PREC_PM   = ( 0. 0. 0. 0. 0.  
+                                     0. 0. 0. 0. 0.  
+                                     0. 0. 0. 0. 0.   0.04 )
+        \begintext
+ 
+ 
+ 
+     Miranda
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+        \begindata
+ 
+           BODY705_POLE_RA      = (  257.43     0.         0. )
+           BODY705_POLE_DEC     = (  -15.08     0.         0. )
+           BODY705_PM           = (   30.70  -254.6906892  0. )
+           BODY705_LONG_AXIS    = (    0.                     )
+ 
+           BODY705_NUT_PREC_RA  = ( 0.     0.     0.    0.    0.  
+                                    0.     0.     0.    0.    0. 
+                                    4.41   0.     0.    0.    0. 
+                                    0.    -0.04   0.             )
+ 
+           BODY705_NUT_PREC_DEC = ( 0.     0.     0.    0.    0.  
+                                    0.     0.     0.    0.    0. 
+                                    4.25   0.     0.    0.    0. 
+                                    0.    -0.02   0.             )
+ 
+           BODY705_NUT_PREC_PM  = ( 0.     0.     0.    0.    0.  
+                                    0.     0.     0.    0.    0. 
+                                    1.15  -1.27   0.    0.    0.  
+                                    0.    -0.09   0.15           )
+        \begintext
+ 
+ 
+ 
+     Cordelia
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+        \begindata
+  
+           BODY706_POLE_RA      = (   257.31      0.         0.  )
+           BODY706_POLE_DEC     = (   -15.18      0.         0.  )
+           BODY706_PM           = (   127.69  -1074.5205730  0.  )
+           BODY706_LONG_AXIS    = (     0.                       )
+ 
+           BODY706_NUT_PREC_RA  = (   -0.15    0.     0.    0.    0.
+                                       0.      0.     0.    0.    0.
+                                       0.      0.     0.    0.    0.
+                                       0.      0.     0.             )
+
+           BODY706_NUT_PREC_DEC = (    0.14    0.     0.    0.    0.
+                                       0.      0.     0.    0.    0.
+                                       0.      0.     0.    0.    0.
+                                       0.      0.     0.             )  
+
+           BODY706_NUT_PREC_PM  = (   -0.04    0.     0.    0.    0.
+                                       0.      0.     0.    0.    0.
+                                       0.      0.     0.    0.    0.
+                                       0.      0.     0.             ) 
+ 
+        \begintext
+ 
+ 
+
+     Ophelia
+ 
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+        \begindata
+   
+           BODY707_POLE_RA      = (  257.31     0.         0. )
+           BODY707_POLE_DEC     = (  -15.18     0.         0. )
+           BODY707_PM           = (  130.35  -956.4068150  0. )
+           BODY707_LONG_AXIS    = (    0.                     )
+ 
+           BODY707_NUT_PREC_RA  = (    0.     -0.09   0.    0.    0.
+                                       0.      0.     0.    0.    0.
+                                       0.      0.     0.    0.    0.
+                                       0.      0.     0.             )
+
+           BODY707_NUT_PREC_DEC = (    0.      0.09   0.    0.    0.
+                                       0.      0.     0.    0.    0.
+                                       0.      0.     0.    0.    0.
+                                       0.      0.     0.             )
+
+           BODY707_NUT_PREC_PM  = (    0.     -0.03   0.    0.    0.
+                                       0.      0.     0.    0.    0.
+                                       0.      0.     0.    0.    0.
+                                       0.      0.     0.             )
+ 
+        \begintext
+ 
+ 
+ 
+     Bianca
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+        \begindata
+ 
+           BODY708_POLE_RA      = (  257.31     0.         0.  )
+           BODY708_POLE_DEC     = (  -15.18     0.         0.  )
+           BODY708_PM           = (  105.46  -828.3914760  0.  )
+           BODY708_LONG_AXIS    = (    0.                      )
+ 
+           BODY708_NUT_PREC_RA  = (    0.      0.    -0.16    0.    0.
+                                       0.      0.     0.      0.    0.
+                                       0.      0.     0.      0.    0.
+                                       0.      0.     0.               )
+
+           BODY708_NUT_PREC_DEC = (    0.      0.     0.16    0.    0.
+                                       0.      0.     0.      0.    0.
+                                       0.      0.     0.      0.    0.
+                                       0.      0.     0.               )
+
+           BODY708_NUT_PREC_PM  = (    0.      0.    -0.04    0.    0.
+                                       0.      0.     0.      0.    0.
+                                       0.      0.     0.      0.    0.
+                                       0.      0.     0.               )
+
+        \begintext
+ 
+ 
+ 
+     Cressida
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+        \begindata
+ 
+ 
+           BODY709_POLE_RA      = (  257.31      0.          0.  )
+           BODY709_POLE_DEC     = (  -15.18      0.          0.  )
+           BODY709_PM           = (   59.16   -776.5816320   0.  )
+           BODY709_LONG_AXIS    = (    0.                        )
+ 
+
+           BODY709_NUT_PREC_RA  = (    0.      0.     0.     -0.04   0.
+                                       0.      0.     0.      0.     0.
+                                       0.      0.     0.      0.     0.
+                                       0.      0.     0.                )
+
+
+           BODY709_NUT_PREC_DEC = (    0.      0.     0.      0.04   0.
+                                       0.      0.     0.      0.     0.
+                                       0.      0.     0.      0.     0.
+                                       0.      0.     0.                )
+
+
+           BODY709_NUT_PREC_PM  = (    0.      0.     0.     -0.01   0.
+                                       0.      0.     0.      0.     0.
+                                       0.      0.     0.      0.     0.
+                                       0.      0.     0.                )
+
+
+        \begintext
+ 
+ 
+ 
+     Desdemona
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+        \begindata 
+  
+           BODY710_POLE_RA      = ( 257.31      0.           0.  )
+           BODY710_POLE_DEC     = ( -15.18      0.           0.  )
+           BODY710_PM           = (  95.08   -760.0531690    0.  )
+           BODY710_LONG_AXIS    = (   0.                         )
+ 
+           BODY710_NUT_PREC_RA  = (   0.      0.     0.      0.    -0.17 
+                                      0.      0.     0.      0.     0.
+                                      0.      0.     0.      0.     0.
+                                      0.      0.     0.                  )
+
+           BODY710_NUT_PREC_DEC = (   0.      0.     0.      0.     0.16 
+                                      0.      0.     0.      0.     0.
+                                      0.      0.     0.      0.     0.
+                                      0.      0.     0.                  )
+
+           BODY710_NUT_PREC_PM  = (   0.      0.     0.      0.    -0.04  
+                                      0.      0.     0.      0.     0.
+                                      0.      0.     0.      0.     0.
+                                      0.      0.     0.                 )
+
+        \begintext
+ 
+ 
+ 
+     Juliet
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+        \begindata
+  
+           BODY711_POLE_RA      = (  257.31     0.           0.   )
+           BODY711_POLE_DEC     = (  -15.18     0.           0.   )
+           BODY711_PM           = (  302.56  -730.1253660    0.   )
+           BODY711_LONG_AXIS    = (    0.                         )
+ 
+           BODY711_NUT_PREC_RA  = (   0.      0.     0.      0.     0.  
+                                     -0.06    0.     0.      0.     0.
+                                      0.      0.     0.      0.     0.
+                                      0.      0.     0.                 )
+ 
+           BODY711_NUT_PREC_DEC = (   0.      0.     0.      0.     0. 
+                                      0.06    0.     0.      0.     0.
+                                      0.      0.     0.      0.     0.
+                                      0.      0.     0.                 )
+  
+           BODY711_NUT_PREC_PM  = (   0.      0.     0.      0.     0. 
+                                     -0.02    0.     0.      0.     0.
+                                      0.      0.     0.      0.     0.
+                                      0.      0.     0.                 )
+ 
+        \begintext
+ 
+ 
+ 
+     Portia
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+        \begindata
+    
+           BODY712_POLE_RA      = (  257.31      0.           0.   )
+           BODY712_POLE_DEC     = (  -15.18      0.           0.   )
+           BODY712_PM           = (   25.03   -701.4865870    0.   )
+           BODY712_LONG_AXIS    = (    0.                          )
+ 
+           BODY712_NUT_PREC_RA  = (   0.      0.     0.      0.     0. 
+                                      0.     -0.09   0.      0.     0.
+                                      0.      0.     0.      0.     0.
+                                      0.      0.     0.                )
+
+           BODY712_NUT_PREC_DEC = (   0.      0.     0.      0.     0. 
+                                      0.      0.09   0.      0.     0.
+                                      0.      0.     0.      0.     0.
+                                      0.      0.     0.               )
+
+           BODY712_NUT_PREC_PM  = (   0.      0.     0.      0.     0. 
+                                      0.     -0.02   0.      0.     0.
+                                      0.      0.     0.      0.     0.
+                                      0.      0.     0.               )
+
+        \begintext
+ 
+ 
+ 
+     Rosalind
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+        \begindata
+   
+           BODY713_POLE_RA      = ( 257.31      0.          0.  )
+           BODY713_POLE_DEC     = ( -15.18      0.          0.  )
+           BODY713_PM           = ( 314.90   -644.6311260   0.  )
+           BODY713_LONG_AXIS    = (   0.                        )
+ 
+           BODY713_NUT_PREC_RA  = (   0.      0.     0.      0.     0. 
+                                      0.      0.    -0.29    0.     0.
+                                      0.      0.     0.      0.     0.
+                                      0.      0.     0.               )
+
+           BODY713_NUT_PREC_DEC = (   0.      0.     0.      0.     0. 
+                                      0.      0.     0.28    0.     0.
+                                      0.      0.     0.      0.     0.
+                                      0.      0.     0.              )
+
+           BODY713_NUT_PREC_PM  = (   0.      0.     0.      0.     0. 
+                                      0.      0.    -0.08    0.     0.
+                                      0.      0.     0.      0.     0.
+                                      0.      0.     0.              )
+ 
+        \begintext
+ 
+ 
+ 
+     Belinda
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+        \begindata 
+ 
+           BODY714_POLE_RA      = (   257.31      0.         0. )
+           BODY714_POLE_DEC     = (   -15.18      0.         0. )
+           BODY714_PM           = (   297.46   -577.3628170  0. )
+           BODY714_LONG_AXIS    = (     0.                      )
+ 
+           BODY714_NUT_PREC_RA  = (   0.      0.     0.      0.     0. 
+                                      0.      0.     0.     -0.03   0.
+                                      0.      0.     0.      0.     0.
+                                      0.      0.     0.                )
+
+           BODY714_NUT_PREC_DEC = (   0.      0.     0.      0.     0. 
+                                      0.      0.     0.      0.03   0.
+                                      0.      0.     0.      0.     0.
+                                      0.      0.     0.                )
+
+           BODY714_NUT_PREC_PM  = (   0.      0.     0.      0.     0. 
+                                      0.      0.     0.     -0.01   0.
+                                      0.      0.     0.      0.     0.
+                                      0.      0.     0.                )
+        \begintext
+ 
+ 
+ 
+     Puck
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+        \begindata
+  
+           BODY715_POLE_RA      = (  257.31      0.         0.  )
+           BODY715_POLE_DEC     = (  -15.18      0.         0.  )
+           BODY715_PM           = (   91.24   -472.5450690  0.  )
+           BODY715_LONG_AXIS    = (    0.                       )
+ 
+           BODY715_NUT_PREC_RA  = (   0.      0.     0.      0.     0. 
+                                      0.      0.     0.      0.    -0.33 
+                                      0.      0.     0.      0.     0.
+                                      0.      0.     0.                  )
+
+           BODY715_NUT_PREC_DEC = (   0.      0.     0.      0.     0. 
+                                      0.      0.     0.      0.     0.31
+                                      0.      0.     0.      0.     0.
+                                      0.      0.     0.                  )
+
+           BODY715_NUT_PREC_PM  = (   0.      0.     0.      0.     0. 
+                                      0.      0.     0.      0.    -0.09
+                                      0.      0.     0.      0.     0.
+                                      0.      0.     0.                  )
+  
+        \begintext
+ 
+ 
+ 
+ 
+Satellites of Neptune
+ 
+ 
+     Triton
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+ 
+        Current values:
+ 
+        \begindata
+
+           BODY801_POLE_RA       = ( 299.36     0.         0.  )
+           BODY801_POLE_DEC      = (  41.17     0.         0.  )
+           BODY801_PM            = ( 296.53   -61.2572637  0.  )
+           BODY801_LONG_AXIS     = (   0.                      )
+ 
+ 
+           BODY801_NUT_PREC_RA   = (  0.      0.      0.      0.  
+                                      0.      0.      0.    -32.35    
+                                      0.     -6.28   -2.08   -0.74       
+                                     -0.28   -0.11   -0.07   -0.02    
+                                     -0.01                         )
+ 
+ 
+           BODY801_NUT_PREC_DEC  = (  0.      0.      0.      0.  
+                                      0.      0.      0.     22.55    
+                                      0.      2.10    0.55    0.16   
+                                      0.05    0.02    0.01    0.
+                                      0.                           )
+ 
+ 
+           BODY801_NUT_PREC_PM   = (  0.      0.      0.      0.  
+                                      0.      0.      0.     22.25   
+                                      0.      6.73    2.05    0.74   
+                                      0.28    0.11    0.05    0.02
+                                      0.01                         )
+  
+        \begintext
+ 
+ 
+ 
+ 
+     Nereid
+ 
+        Old values:
+ 
+           Values are from the 1988 IAU report [10].  Note that this 
+           rotation model pre-dated the 1989 Voyager 2 Neptune
+           encounter.
+
+ 
+           body802_pole_ra       = (    273.48    0.        0.  )
+           body802_pole_dec      = (     67.22    0.        0.  )
+           body802_pm            = (    237.22    0.9996465 0.  )
+           body802_long_axis     = (      0.                    )
+ 
+ 
+           The report seems to have a typo:  in the nut_prec_ra expression,
+           where the report gives  -0.51 sin 3N3, we use -0.51 3N2.
+ 
+           body802_nut_prec_ra   = (  0.    -17.81
+                                      0.      0.     0.      0.
+                                      0.      0.     0.
+                                      2.56   -0.51   0.11   -0.03  )
+ 
+           body802_nut_prec_dec  = (  0.     -6.67
+                                      0.      0.     0.      0.
+                                      0.      0.     0.
+                                      0.47   -0.07   0.01          )
+ 
+           body802_nut_prec_pm   = (  0.     16.48
+                                      0.      0.     0.      0.
+                                      0.      0.     0.
+                                     -2.57    0.51 -0.11    0.02  )
+ 
+ 
+ 
+        Current values:
+ 
+           The 2009 report [1] states that values for Nereid are not
+           given because Nereid is not in synchronous rotation with Neptune
+           (notes following table 2).
+ 
+ 
+ 
+     Naiad
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+ 
+        \begindata
+  
+           BODY803_POLE_RA       = (  299.36      0.          0.  )
+           BODY803_POLE_DEC      = (   43.36      0.          0.  )
+           BODY803_PM            = (  254.06  +1222.8441209   0.  )
+           BODY803_LONG_AXIS     = (    0.                        )
+ 
+ 
+           BODY803_NUT_PREC_RA   = (    0.70     -6.49     0.      0.
+                                        0.        0.       0.      0.
+                                        0.25      0.       0.      0.
+                                        0.        0.       0.      0.
+                                        0.                            )
+ 
+           BODY803_NUT_PREC_DEC  = (   -0.51     -4.75     0.      0.
+                                        0.        0.       0.      0.
+                                        0.09      0.       0.      0.
+                                        0.        0.       0.      0.
+                                        0.                            )
+ 
+           BODY803_NUT_PREC_PM   = (   -0.48      4.40     0.      0.
+                                        0.        0.       0.      0.
+                                       -0.27      0.       0.      0.
+                                        0.        0.       0.      0.
+                                        0.                            )
+    
+        \begintext
+ 
+ 
+ 
+ 
+     Thalassa
+ 
+
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+        \begindata
+
+           BODY804_POLE_RA       = (  299.36      0.          0. )
+           BODY804_POLE_DEC      = (   43.45      0.          0. )
+           BODY804_PM            = (  102.06   1155.7555612   0. )  
+           BODY804_LONG_AXIS     = (    0.                       )
+ 
+ 
+           BODY804_NUT_PREC_RA   = (    0.70      0.      -0.28    0.
+                                        0.        0.       0.      0.
+                                        0.        0.       0.      0.
+                                        0.        0.       0.      0.
+                                        0.                             )
+   
+  
+           BODY804_NUT_PREC_DEC  = (   -0.51      0.      -0.21    0.
+                                        0.        0.       0.      0.
+                                        0.        0.       0.      0.
+                                        0.        0.       0.      0. 
+                                        0.                             )
+ 
+           BODY804_NUT_PREC_PM   = (   -0.48      0.       0.19    0.
+                                        0.        0.       0.      0.
+                                        0.        0.       0.      0.
+                                        0.        0.       0.      0. 
+                                        0.                             )
+                                                                 
+        \begintext
+ 
+ 
+ 
+     Despina
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+ 
+        \begindata
+  
+           BODY805_POLE_RA       = (  299.36      0.          0. )
+           BODY805_POLE_DEC      = (   43.45      0.          0. )
+           BODY805_PM            = (  306.51  +1075.7341562   0. )
+           BODY805_LONG_AXIS     = (    0.                       )
+ 
+ 
+           BODY805_NUT_PREC_RA   = (    0.70      0.       0.     -0.09
+                                        0.        0.       0.      0.
+                                        0.        0.       0.      0.
+                                        0.        0.       0.      0.
+                                        0.                              )
+ 
+           BODY805_NUT_PREC_DEC  = (   -0.51      0.       0.     -0.07
+                                        0.        0.       0.      0.
+                                        0.        0.       0.      0.
+                                        0.        0.       0.      0.
+                                        0.                              )
+ 
+           BODY805_NUT_PREC_PM   = (   -0.49      0.       0.      0.06
+                                        0.        0.       0.      0.
+                                        0.        0.       0.      0.
+                                        0.        0.       0.      0.
+                                        0.                              )
+        \begintext
+ 
+ 
+ 
+     Galatea
+ 
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+ 
+        \begindata
+  
+           BODY806_POLE_RA       = (   299.36      0.          0. )
+           BODY806_POLE_DEC      = (    43.43      0.          0. )
+           BODY806_PM            = (   258.09    839.6597686   0. )
+           BODY806_LONG_AXIS     = (     0.                       )
+ 
+ 
+           BODY806_NUT_PREC_RA   = (    0.70      0.       0.      0.
+                                       -0.07      0.       0.      0.
+                                        0.        0.       0.      0.
+                                        0.        0.       0.      0.
+                                        0.                             )
+ 
+           BODY806_NUT_PREC_DEC  = (   -0.51      0.       0.      0.
+                                       -0.05      0.       0.      0.
+                                        0.        0.       0.      0.
+                                        0.        0.       0.      0.
+                                        0.                             )
+ 
+           BODY806_NUT_PREC_PM   = (   -0.48      0.       0.      0.
+                                        0.05      0.       0.      0.
+                                        0.        0.       0.      0.
+                                        0.        0.       0.      0.
+                                        0.                             ) 
+        \begintext
+
+ 
+     Larissa
+ 
+ 
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+  
+        \begindata
+
+           BODY807_POLE_RA       = (   299.36     0.           0. )
+           BODY807_POLE_DEC      = (    43.41     0.           0. )
+           BODY807_PM            = (   179.41  +649.0534470    0. )
+           BODY807_LONG_AXIS     = (     0.                       )
+ 
+ 
+           BODY807_NUT_PREC_RA   = (    0.70      0.       0.      0.
+                                        0.       -0.27     0.      0.
+                                        0.        0.       0.      0.
+                                        0.        0.       0.      0.
+                                        0.                            )
+ 
+           BODY807_NUT_PREC_DEC  = (   -0.51      0.       0.      0.
+                                        0.       -0.20     0.      0.
+                                        0.        0.       0.      0.
+                                        0.        0.       0.      0.
+                                        0.                            )
+ 
+           BODY807_NUT_PREC_PM   = (   -0.48      0.       0.      0.
+                                        0.        0.19     0.      0.
+                                        0.        0.       0.      0.
+                                        0.        0.       0.      0.
+                                        0.                            )
+        \begintext
+ 
+ 
+ 
+     Proteus
+ 
+
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+        \begindata
+
+           BODY808_POLE_RA       = (  299.27      0.          0.  )
+           BODY808_POLE_DEC      = (   42.91      0.          0.  )
+           BODY808_PM            = (   93.38   +320.7654228   0.  )
+           BODY808_LONG_AXIS     = (    0.                        )
+ 
+ 
+           BODY808_NUT_PREC_RA   = (    0.70      0.       0.      0.
+                                        0.        0.      -0.05    0.
+                                        0.        0.       0.      0.
+                                        0.        0.       0.      0.
+                                        0.                             )
+ 
+           BODY808_NUT_PREC_DEC  = (   -0.51      0.       0.      0.
+                                        0.        0.      -0.04    0.
+                                        0.        0.       0.      0.
+                                        0.        0.       0.      0.
+                                        0.                             )
+ 
+           BODY808_NUT_PREC_PM   = (   -0.48      0.       0.      0.
+                                        0.        0.       0.04    0.
+                                        0.        0.       0.      0.
+                                        0.        0.       0.      0.
+                                        0.                             )
+   
+        \begintext
+  
+ 
+ 
+ 
+ 
+Satellites of Pluto
+ 
+     Charon
+ 
+        Old values:
+        
+           Values are from the 2006 IAU report. 
+ 
+           body901_pole_ra       = (   312.993    0.         0. )
+           body901_pole_dec      = (     6.163    0.         0. )
+           body901_pm            = (    57.305  -56.3625225  0. )
+           body901_long_axis     = (     0.                     )
+
+               
+        Current values:
+ 
+        Due to the new definition of planetocentric coordinates
+        for small bodies, and to the reclassification of Pluto
+        as a dwarf planet, Charon's north pole direction has been
+        inverted. 
+
+        The PM constant W0 is from [2]. 
+
+        \begindata
+ 
+           BODY901_POLE_RA       = (   132.993    0.         0. )
+           BODY901_POLE_DEC      = (    -6.163    0.         0. )
+           BODY901_PM            = (   122.695   56.3625225  0. )
+           BODY901_LONG_AXIS     = (     0.                     )
+
+        \begintext
+ 
+ 
+ 
+Orientation constants for Selected Comets and Asteroids
+--------------------------------------------------------
+
+
+
+Ceres
+
+        Current values:
+ 
+        \begindata
+
+           BODY2000001_POLE_RA       = (   291.       0.         0.  )
+           BODY2000001_POLE_DEC      = (    59.       0.         0.  )
+           BODY2000001_PM            = (   170.90   952.1532     0.  )
+           BODY2000001_LONG_AXIS     = (     0.                      )
+ 
+        \begintext
+
+
+
+Pallas
+
+        Current values:
+ 
+        \begindata
+
+           BODY2000002_POLE_RA       = (    33.       0.         0.  )
+           BODY2000002_POLE_DEC      = (    -3.       0.         0.  )
+           BODY2000002_PM            = (    38.    1105.8036     0.  )
+           BODY2000002_LONG_AXIS     = (     0.                      )
+ 
+        \begintext
+
+
+
+Vesta
+
+        Old values:
+        
+           Values are from the 2009 IAU report. 
+
+           body2000004_pole_ra       = (   301.      0.         0.  )
+           body2000004_pole_dec      = (    41.      0.         0.  )
+           body2000004_pm            = (   292.   1617.332776   0.  )
+           body2000004_long_axis     = (     0.                     )
+
+        Current values:
+ 
+        \begindata
+
+           BODY2000004_POLE_RA       = (   305.8     0.         0.  )
+           BODY2000004_POLE_DEC      = (    41.4     0.         0.  )
+           BODY2000004_PM            = (   292.   1617.332776   0.  )
+           BODY2000004_LONG_AXIS     = (     0.                     )
+ 
+        \begintext
+
+
+
+Lutetia
+
+        Current values:
+ 
+        \begindata
+
+           BODY2000021_POLE_RA       = (    52.       0.         0.  )
+           BODY2000021_POLE_DEC      = (    12.       0.         0.  )
+           BODY2000021_PM            = (    94.    1057.7515     0.  )
+           BODY2000021_LONG_AXIS     = (     0.                      )
+ 
+        \begintext
+
+
+
+Ida
+
+        Old values:
+        
+           BODY2431010_POLE_RA       = (  168.76      0.         0. )
+           BODY2431010_POLE_DEC      = (   -2.88      0.         0. )
+           BODY2431010_PM            = (  265.95  +1864.6280070  0. )
+           BODY2431010_LONG_AXIS     = (    0.                      )
+
+        Current values:
+ 
+        The PM constant W0 is from [2]. 
+
+        \begindata
+ 
+           BODY2431010_POLE_RA       = (  168.76      0.         0. )
+           BODY2431010_POLE_DEC      = (   -2.88      0.         0. )
+           BODY2431010_PM            = (  274.05  +1864.6280070  0. )
+           BODY2431010_LONG_AXIS     = (    0.                      )
+ 
+        \begintext
+
+
+
+Eros
+
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+        \begindata
+
+           BODY2000433_POLE_RA       = (   11.35       0.           0. )
+           BODY2000433_POLE_DEC      = (   17.22       0.           0. )
+           BODY2000433_PM            = (  326.07    1639.38864745   0. )
+           BODY2000433_LONG_AXIS     = (    0.                         )
+ 
+        \begintext
+
+
+
+Davida
+
+        Current values:
+ 
+        \begindata
+
+           BODY2000511_POLE_RA       = (  297.        0.           0. )
+           BODY2000511_POLE_DEC      = (    5.        0.           0. )
+           BODY2000511_PM            = (  268.1    1684.4193549    0. )
+           BODY2000511_LONG_AXIS     = (    0.                        )
+ 
+        \begintext
+
+
+
+Gaspra
+
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+               
+        Current values:
+ 
+        \begindata 
+ 
+           BODY9511010_POLE_RA       = (   9.47     0.         0. )
+           BODY9511010_POLE_DEC      = (  26.70     0.         0. )
+           BODY9511010_PM            = (  83.67  1226.9114850  0. )
+           BODY9511010_LONG_AXIS     = (   0.                     )
+
+        \begintext
+
+
+
+Steins
+
+        Current values:
+ 
+        \begindata 
+ 
+           BODY2002867_POLE_RA       = (  90.        0.        0. )
+           BODY2002867_POLE_DEC      = ( -62.        0.        0. )
+           BODY2002867_PM            = (  93.94   1428.852332  0. )
+           BODY2002867_LONG_AXIS     = (   0.                     )
+
+        \begintext
+
+
+
+Itokawa
+
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+        \begindata
+
+           BODY2025143_POLE_RA       = (   90.53       0.           0. )
+           BODY2025143_POLE_DEC      = (  -66.30       0.           0. )
+           BODY2025143_PM            = (  000.0      712.143        0. )
+           BODY2025143_LONG_AXIS     = (    0.                         )
+ 
+        \begintext
+
+
+
+9P/Tempel 1
+
+
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+        \begindata
+
+           BODY1000093_POLE_RA       = (   294.       0.         0.  )
+           BODY1000093_POLE_DEC      = (    73.       0.         0.  )
+           BODY1000093_PM            = (   252.63   212.064      0.  )
+           BODY1000093_LONG_AXIS     = (     0.                      )
+ 
+        \begintext
+
+
+
+19P/Borrelly
+
+        Old values:
+        
+           Values are unchanged in the 2009 IAU report. 
+
+        Current values:
+ 
+        \begindata
+
+           BODY1000005_POLE_RA       = (   218.5      0.         0.  )
+           BODY1000005_POLE_DEC      = (   -12.5      0.         0.  )
+           BODY1000005_PM            = (   000.     390.0        0.  )
+           BODY1000005_LONG_AXIS     = (     0.                      )
+ 
+        \begintext
+
+
+
+
+
+
+ 
+Radii of Sun and Planets
+--------------------------------------------------------
+ 
+ 
+Sun
+ 
+        \begindata
+ 
+        BODY10_RADII      = (  696000.  696000.  696000.  )
+ 
+        \begintext
+ 
+ 
+Mercury
+ 
+     Old values:
+ 
+        Values are unchanged in the 2009 IAU report.
+ 
+     Current values:
+ 
+        \begindata
+ 
+        BODY199_RADII     = ( 2439.7   2439.7   2439.7 )
+ 
+        \begintext
+ 
+ 
+Venus
+ 
+     Old values:
+ 
+        Values are unchanged in the 2009 IAU report.
+ 
+     Current values:
+ 
+        \begindata
+ 
+        BODY299_RADII     = ( 6051.8   6051.8   6051.8 )
+ 
+        \begintext
+ 
+ 
+Earth
+ 
+     Old values:
+ 
+        Values are from the 2006 IAU report.
+ 
+        body399_radii     = ( 6378.14   6378.14   6356.75 )
+
+
+     Current values:
+ 
+
+        \begindata
+ 
+        BODY399_RADII     = ( 6378.1366   6378.1366   6356.7519 )
+ 
+        \begintext
+ 
+ 
+Mars
+ 
+ 
+     Old values:
+
+        Values are from the 2006 IAU report.
+
+        body499_radii       = (  3397.  3397.  3375.  )
+
+ 
+     Current values:
+
+        The 2009 IAU report gives separate values for the north and
+        south polar radii:
+
+           north:  3373.19
+           south:  3379.21 
+
+        The report provides the average of these values as well,
+        which we use as the polar radius for the triaxial model.
+ 
+        \begindata
+ 
+        BODY499_RADII       = ( 3396.19   3396.19   3376.20 )
+ 
+        \begintext
+ 
+ 
+ 
+Jupiter
+ 
+     Old values:
+ 
+        Values are unchanged in the 2009 IAU report.
+ 
+     Current values:
+ 
+        \begindata
+ 
+        BODY599_RADII     = ( 71492   71492   66854 )
+ 
+        \begintext
+ 
+ 
+ 
+Saturn
+ 
+     Old values:
+ 
+        Values are unchanged in the 2009 IAU report.
+ 
+     Current values:
+ 
+        \begindata
+ 
+        BODY699_RADII     = ( 60268   60268   54364 )
+ 
+        \begintext
+ 
+ 
+ 
+Uranus
+ 
+     Old values:
+ 
+        Values are unchanged in the 2009 IAU report.
+ 
+     Current values:
+ 
+        \begindata
+ 
+        BODY799_RADII     = ( 25559   25559   24973 )
+ 
+        \begintext
+ 
+ 
+ 
+Neptune
+ 
+     Old values:
+ 
+        Values are unchanged in the 2009 IAU report.
+  
+     Current values:
+ 
+        (Values are for the 1 bar pressure level.)
+ 
+        \begindata
+ 
+        BODY899_RADII     = ( 24764   24764  24341 )
+ 
+        \begintext
+ 
+ 
+
+Radii of the Dwarf Planet Pluto
+--------------------------------------------------------
+
+ 
+Pluto
+ 
+     Old values:
+ 
+        Values are unchanged in the 2009 IAU report.
+ 
+     Current values:
+ 
+        \begindata
+ 
+        BODY999_RADII     = ( 1195   1195   1195 )
+ 
+        \begintext
+ 
+
+
+
+Radii of Satellites
+--------------------------------------------------------
+ 
+ 
+Moon
+ 
+     Old values:
+ 
+        Values are unchanged in the 2009 IAU report. 
+ 
+     Current values:
+ 
+        \begindata
+ 
+        BODY301_RADII     = ( 1737.4   1737.4   1737.4 )
+ 
+        \begintext
+ 
+ 
+ 
+Satellites of Mars
+ 
+     Old values:
+ 
+        Values are from the 2006 IAU report. 
+ 
+        body401_radii     = ( 13.4    11.2    9.2 )
+        body402_radii     = (  7.5     6.1    5.2 )
+
+     Current values:
+ 
+        \begindata
+ 
+        BODY401_RADII     = ( 13.0    11.4    9.1 )
+        BODY402_RADII     = (  7.8     6.0    5.1 )
+ 
+        \begintext
+ 
+ 
+ 
+Satellites of Jupiter
+ 
+     Old values:
+ 
+        Values are unchanged in the 2009 IAU report,
+        except for those of Europa, Ganymede, Callisto, 
+        and Metis. For Metis, now all three radii are
+        provided.
+ 
+           body502_radii     = ( 1564.13  1561.23  1560.93 )
+           body503_radii     = ( 2632.4   2632.29  2632.35 )
+           body504_radii     = ( 2409.4   2409.2   2409.3  )
+
+           The value for the second radius for body 516 is not given in 
+           2003 IAU report.   The values given are:
+
+              body516_radii    = (  30   ---   20   )
+
+           For use within the SPICE system, we use only the mean radius.
+
+           body516_radii    = (  21.5   21.5  21.5  )
+
+
+
+
+     Current values:
+         
+        Note that for Ganymede and Callisto only mean radii
+        are provided.
+
+        \begindata
+ 
+        BODY501_RADII     = ( 1829.4   1819.4   1815.7  )
+        BODY502_RADII     = ( 1562.6  1560.3    1559.5  )
+        BODY503_RADII     = ( 2631.2  2631.2    2631.2  )
+        BODY504_RADII     = ( 2410.3  2410.3    2410.3  )
+        BODY505_RADII     = (  125       73       64    )
+ 
+        \begintext
+ 
+        Only mean radii are available in the 2003 IAU report for bodies
+        506-513.
+ 
+        \begindata
+ 
+        BODY506_RADII    = (    85       85       85   )
+        BODY507_RADII    = (    40       40       40   )
+        BODY508_RADII    = (    18       18       18   )
+        BODY509_RADII    = (    14       14       14   )
+        BODY510_RADII    = (    12       12       12   )
+        BODY511_RADII    = (    15       15       15   )
+        BODY512_RADII    = (    10       10       10   )
+        BODY513_RADII    = (     5        5        5   )
+        BODY514_RADII    = (    58       49       42   )
+        BODY515_RADII    = (    10        8        7   )
+        BODY516_RADII    = (    30       20       17   )
+ 
+        \begintext
+ 
+ 
+ 
+Satellites of Saturn
+ 
+ 
+     Old values:
+ 
+        Values are from the 2006 IAU report.
+    
+        body601_radii     = (  207.4     196.8     190.6  )
+        body602_radii     = (  256.6     251.4     248.3  )
+        body603_radii     = (  540.4     531.1     527.5  )
+        body604_radii     = (  563.8     561.0     560.3  )
+        body605_radii     = (  767.2     762.5     763.1  )
+        body606_radii     = ( 2575      2575      2575    )
+        body607_radii     = (  164       130       107    )
+        body608_radii     = (  747.4     747.4     712.4  )
+        body609_radii     = (  108.6     107.7     101.5  )
+        body610_radii     = (   97.0      95.0      77.0  )
+        body611_radii     = (   69.0      55.0      55.0  )
+ 
+ 
+        Only the first equatorial radius for Helene (body 612) is given in the
+        2006 IAU report:
+ 
+            body612_radii     = (       17.5        ---          ---     )
+ 
+        The mean radius is 16km; we use this radius for all three axes, as
+        we do for the satellites for which only the mean radius is available.
+  
+        body612_radii     = (  17.5      17.5      17.5  )
+        body613_radii     = (  15        12.5       7.5  )
+        body614_radii     = (  15.0       8.0       8.0  )
+        body615_radii     = (  18.5      17.2      13.5  )
+        body616_radii     = (  74.0      50.0      34.0  )
+        body617_radii     = (  55.0      44.0      31.0  )
+ 
+         For Pan, only a mean radius is given in the 2006 report.
+ 
+        body618_radii     = (   10       10     10   )
+ 
+  
+       
+     Current values:
+ 
+        \begindata
+ 
+        BODY601_RADII     = (  207.8     196.7     190.6   )
+        BODY602_RADII     = (  256.6     251.4     248.3   )
+        BODY603_RADII     = (  538.4     528.3     526.3   )
+        BODY604_RADII     = (  563.4     561.3     559.6   )
+        BODY605_RADII     = (  765.0     763.1     762.4   )
+        BODY606_RADII     = ( 2575.15    2574.78   2574.47 )
+        BODY607_RADII     = (  180.1      133.0    102.7   )
+        BODY608_RADII     = (  745.7     745.7     712.1   )
+        BODY609_RADII     = (  109.4     108.5     101.8   )
+        BODY610_RADII     = (  101.5      92.5      76.3   )
+        BODY611_RADII     = (   64.9      57.0      53.1   ) 
+        BODY612_RADII     = (   21.7      19.1      13.0   )
+        BODY613_RADII     = (   16.3      11.8      10.0   )
+        BODY614_RADII     = (   15.1      11.5       7.0   )
+        BODY615_RADII     = (   20.4      17.7       9.4   )
+        BODY616_RADII     = (   67.8      39.7      29.7   )
+        BODY617_RADII     = (   52.0      40.5      32.0   ) 
+        BODY618_RADII     = (   17.2      15.7      10.4   )
+
+        BODY632_RADII     = (    1.6       1.6       1.6   )
+        BODY633_RADII     = (    2.9       2.8       2.0   )
+        BODY634_RADII     = (    1.5       1.2       1.0   )
+        BODY635_RADII     = (    4.3       4.1       3.2   )
+        BODY649_RADII     = (    1         1         1     )
+ 
+        \begintext
+ 
+ 
+ 
+Satellites of Uranus
+ 
+     Old values:
+ 
+        Values are unchanged in the 2009 IAU report. 
+ 
+     Current values:
+ 
+        \begindata
+ 
+        BODY701_RADII     = (  581.1   577.9   577.7 )
+        BODY702_RADII     = (  584.7   584.7   584.7 )
+        BODY703_RADII     = (  788.9   788.9   788.9 )
+        BODY704_RADII     = (  761.4   761.4   761.4 )
+        BODY705_RADII     = (  240.4   234.2   232.9 )
+ 
+        \begintext
+ 
+        The 2000 report gives only mean radii for satellites 706--715.
+ 
+        \begindata
+ 
+        BODY706_RADII     = (   13      13      13 )
+        BODY707_RADII     = (   15      15      15 )
+        BODY708_RADII     = (   21      21      21 )
+        BODY709_RADII     = (   31      31      31 )
+        BODY710_RADII     = (   27      27      27 )
+        BODY711_RADII     = (   42      42      42 )
+        BODY712_RADII     = (   54      54      54 )
+        BODY713_RADII     = (   27      27      27 )
+        BODY714_RADII     = (   33      33      33 )
+        BODY715_RADII     = (   77      77      77 )
+ 
+        \begintext
+ 
+ 
+ 
+ 
+Satellites of Neptune
+ 
+ 
+     Old values:
+ 
+        Values are unchanged in the 2009 IAU report. 
+ 
+     Current values:
+ 
+        The 2009 report gives mean radii only for bodies 801-806.
+ 
+        \begindata
+ 
+        BODY801_RADII     = ( 1352.6  1352.6  1352.6 )
+        BODY802_RADII     = (  170     170     170   )
+        BODY803_RADII     = (   29      29     29    )
+        BODY804_RADII     = (   40      40     40    )
+        BODY805_RADII     = (   74      74     74    )
+        BODY806_RADII     = (   79      79     79    )
+ 
+        \begintext 
+ 
+        The second equatorial radius for Larissa is not given in the 2009
+        report.  The available values are:
+ 
+            BODY807_RADII     = (   104     ---     89   )
+ 
+        For use within the SPICE system, we use only the mean radius.
+
+        \begindata
+ 
+        BODY807_RADII     = (   96      96     96   )
+        BODY808_RADII     = (  218     208    201   )
+ 
+        \begintext
+ 
+ 
+ 
+ 
+Satellites of Pluto
+ 
+     
+     Old values:
+ 
+        Values are unchanged in the 2009 IAU report. 
+             
+     Current values:
+ 
+        \begindata
+ 
+        BODY901_RADII     = (  605     605    605   )
+ 
+        \begintext
+ 
+
+
+Radii for Selected Comets and Asteroids
+--------------------------------------------------------
+
+
+
+
+
+Ceres
+
+     Old values:
+ 
+        Values are unchanged in the 2009 IAU report. 
+
+     Current values:
+
+
+        \begindata
+ 
+        BODY2000001_RADII     = ( 487.3  487.3  454.7 )
+ 
+        \begintext
+
+
+
+Vesta
+
+
+     Old values:
+ 
+        Values are unchanged in the 2009 IAU report. 
+
+     Current values:
+
+
+        \begindata
+ 
+        BODY2000004_RADII     = ( 289.  280.  229.  )
+ 
+        \begintext
+
+
+
+Lutetia
+
+
+     Current values:
+
+
+        \begindata
+ 
+        BODY2000021_RADII     = (  62.0   50.5   46.5  )
+ 
+        \begintext
+
+
+           
+Ida
+
+     
+     Old values:
+ 
+        Values are unchanged in the 2009 IAU report. 
+
+     Current values:
+ 
+ 
+        \begindata
+ 
+        BODY2431010_RADII     = (   26.8   12.0    7.6 )
+ 
+        \begintext
+
+
+
+Mathilde
+
+
+     Old values:
+ 
+        Values are unchanged in the 2009 IAU report. 
+
+     Current values:
+
+
+        \begindata
+ 
+        BODY2000253_RADII     = (  33.   24.   23.  )
+ 
+        \begintext
+
+
+      
+Eros
+ 
+
+     Old values:
+ 
+        Values are unchanged in the 2009 IAU report. 
+
+     Current values:
+ 
+ 
+        \begindata
+ 
+        BODY2000433_RADII     = (  17.0   5.5   5.5  )
+ 
+        \begintext
+
+
+
+Davida
+ 
+
+     Current values:
+ 
+ 
+        \begindata
+ 
+        BODY2000511_RADII     = (  180.   147.   127.  )
+ 
+        \begintext
+
+
+
+Gaspra
+
+     
+     Old values:
+ 
+        Values are unchanged in the 2009 IAU report. 
+
+     Current values:
+ 
+ 
+        \begindata
+ 
+        BODY9511010_RADII     = (    9.1    5.2    4.4 )
+ 
+        \begintext
+
+
+ 
+Steins
+ 
+
+     Current values:
+ 
+ 
+        \begindata
+ 
+        BODY2002867_RADII     = (  3.24     2.73     2.04  )
+ 
+        \begintext
+
+
+
+Toutatis
+
+
+     Old values:
+ 
+        Values are unchanged in the 2009 IAU report. 
+
+     Current values:
+
+
+        \begindata
+ 
+        BODY2004179_RADII     = (  2.13  1.015  0.85  )
+ 
+        \begintext
+
+
+ 
+Itokawa
+
+
+     Old values:
+ 
+        Values are unchanged in the 2009 IAU report. 
+
+     Current values:
+
+
+        \begindata
+ 
+        BODY2025143_RADII     = (  0.535   0.294   0.209  )
+ 
+        \begintext
+
+
+Kleopatra
+
+
+     Old values:
+
+        Values are from the 2003 report.
+
+ 
+        body2000216_radii     = (   108.5      47    40.5  )
+ 
+
+     Current values:
+ 
+ 
+        No values are provided in the 2009 report.
+
+        
+   
+
+
+Halley
+
+
+     Old values:
+ 
+        Values are unchanged in the 2009 IAU report. 
+
+     Current values:
+
+        \begindata
+ 
+        BODY1000036_RADII     = (  8.0   4.0   4.0  )
+ 
+        \begintext
+
+
+
+9P/Tempel 1
+
+
+     Old values:
+ 
+        The effective radius is unchanged in the 2009 IAU report. 
+
+     Current values:
+
+
+        The value in the data assignment below is the 
+        "effective radius."
+            
+        According to [1]:
+
+           The maximum and minimum radii are not properly 
+           the values of the principal semi-axes, they
+           are half the maximum and minimum values of the
+           diameter. Due to the large deviations from a
+           simple ellipsoid, they may not correspond with
+           measurements along the principal axes, or be
+           orthogonal to each other.
+
+        \begindata
+ 
+        BODY1000093_RADII     = (  3.0   3.0   3.0  )
+ 
+        \begintext
+
+
+19P/Borrelly
+
+
+     Old values:
+
+        Values are unchanged in the 2009 report.
+
+     Current values:
+
+
+        The value in the data assignment below is the 
+        "effective radius."
+
+        The first principal axis length is 
+
+           3.5 km
+
+        The lengths of the other semi-axes are not provided
+        by [1].
+
+        \begindata
+ 
+        BODY1000005_RADII     = (  4.22   4.22   4.22  )
+
+        \begintext
+
+
+
+81P/Wild 2
+
+
+     Old values:
+
+        Values are unchanged in the 2009 report.
+
+     Current values:
+
+
+        \begindata
+ 
+        BODY1000107_RADII     = (  2.7   1.9   1.5 )
+ 
+        \begintext
+
+        
+
+===========================================================================
+End of file pck00010.tpc
+===========================================================================
+
+
+
diff --git a/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/rssd0002.tf b/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/rssd0002.tf
new file mode 100644
index 0000000..e5e3026
--- /dev/null
+++ b/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/rssd0002.tf
@@ -0,0 +1,1424 @@
+KPL/FK
+
+Generic Frame Definition Kernel File for ESA Planetary Missions
+===========================================================================
+
+   This frame kernel defines a number of mission independent frames that
+   could be used by any of the users of any of the ESA planetary missions,
+   and that are not ``built'' in the SPICE toolkit.
+
+
+Version and Date
+========================================================================
+
+   Version 2.0 -- August 15, 2008 -- Jorge Diaz del Rio, MIG/ESA
+
+      Corrected error in HCI frame definition and updated comments
+      for this frame.
+
+   Version 1.0 -- May 03, 2006 -- Jorge Diaz del Rio, RSSD/ESA
+
+      Complete new kernel.
+
+   Version 0.0 -- July 19, 2005 -- Jorge Diaz del Rio, RSSD/ESA
+
+      Initial version.
+
+
+References
+========================================================================
+
+   1. ``Frames Required Reading''
+
+   2. ``Kernel Pool Required Reading''
+
+   3. Franz and Harper. (2002) ``Heliospheric Coordinate Systems''
+      Space Science, 50, 217ff.
+
+   4. Hapgood,M. (1992). ``Space physics coordinate transformations: A user
+      guide'' Planetary and Space Science, 40, 711-717
+
+   5. ``STK: Technical Notes - Coordinate System Computations''
+
+   6. Seidelmann, P.K., Abalakin, V.K., Bursa, M., Davies, M.E., Bergh, C
+      de, Lieske, J.H., Oberst, J., Simon, J.L., Standish, E.M., Stooke,
+      and Thomas, P.C. (2002). ``Report of the IAU/IAG Working Group on
+      Cartographic Coordinates and Rotational Elements of the Planets and
+      Satellites: 2000'' Celestial Mechanics and Dynamical Astronomy, v.8
+      Issue 1, pp. 83-111.
+
+   7. Russell, C.T. (1971). ``Geophysical Coordinate Transformations''
+      Cosmic Electrodynamics, v.2, 184-196
+
+
+Contact Information
+========================================================================
+
+   Jorge Diaz del Rio, RSSD/ESA, (31) 71-565-5175, jdiaz@rssd.esa.int
+
+
+Implementation Notes
+========================================================================
+
+   This file is used by the SPICE system as follows: programs that make
+   use of this frame kernel must 'load' the kernel, normally during
+   program initialization. The SPICELIB routine FURNSH, the CSPICE
+   function furnsh_c and the ICY function cspice_furnsh load a kernel
+   file into the kernel pool as shown below.
+
+      CALL FURNSH   ( 'frame_kernel_name' )
+      furnsh_c      ( "frame_kernel_name" );
+      cspice_furnsh ( 'frame_kernel_name' )
+
+   This file was created and may be updated with a text editor or word
+   processor.
+
+
+ESA/RSSD Generic Frame Names and NAIF ID Codes
+========================================================================
+ 
+   The following names and NAIF ID codes are assigned to the generic
+   frames defined in this kernel file:
+
+      Frame Name     NAIF ID    Center   Description
+      ------------   -------    -------  -------------------------------
+
+   Generic Dynamic Frames names/IDs:
+
+      HEE            1500010    SUN      Heliocentric Earth Ecliptic
+      HEEQ           1501010    SUN      Heliocentric Earth Equatorial
+      ------------------------------------------------------------------
+      VSO            1500299    VENUS    Venus-centric Solar Orbital
+      VME            1501299    VENUS    Venus Mean Equator of date
+      ------------------------------------------------------------------
+      LSE            1500301    MOON     Moon-centric Solar Ecliptic
+      LME            1501301    MOON     Moon Mean Equator of date
+      ------------------------------------------------------------------
+      GSE            1500399    EARTH    Geocentric Solar Ecliptic
+      EME            1501399    EARTH    Earth Mean Equator and Equinox
+      GSEQ           1502399    EARTH    Geocentric Solar Equatorial
+      ECLIPDATE      1503399    EARTH    Earth Mean Ecliptic and Equinox
+      ------------------------------------------------------------------
+      MME            1500499    MARS     Mars Mean Equator of date
+      MME_IAU2000    1501499    MARS     Mars Mean Equator of date
+                                         using IAU 2000 report constants.
+      MSO            1502499    MARS     Mars-centric Solar Orbital
+
+   Generic Inertial Frames names/IDs:
+
+      HCI            1502010    SUN      Heliocentric Inertial
+      ------------------------------------------------------------------
+      VME2000        1503299    VENUS    VME of date J2000 (1)
+      ------------------------------------------------------------------
+      LME2000        1502301    MOON     LME of date J2000 (1)
+      ------------------------------------------------------------------
+      MME2000        1503499    MARS     MME_IAU2000 of date J2000 (1)
+
+
+   (1) These frames are defined using the IAU 2000 Report Constants
+       described at [6].
+
+
+General Notes About This File
+========================================================================
+
+   About Required Data:
+   --------------------
+
+   Most of the dynamic frames defined in this file require at least one
+   of the following kernels to be loaded prior to their evaluation, 
+   normally during program initialization:
+
+     - Planetary ephemeris data (SPK), i.e. DE403, DE405, etc.
+     - Planetary Constants data (PCK), i.e. PCK00007.TPC, PCK00008.TPC.
+
+   Note that loading different kernels will lead to different
+   implementations of the same frame, providing different results from
+   each other, in terms of state vectors referred to these frames.
+
+   About 'of Date' Frames:
+   -----------------------
+
+   This file contains two or more implementations for the 'of Date' 
+   frame, i.e. Mars Mean Equator of date (MME).
+
+   Usually, one of these implementations is a PCK-based frame, which
+   gives the user the ability of selecting the planetary constants
+   used in the evaluation of the frame by changing the PCK file.
+
+   In addition to this PCK-based frame, and whenever feasible, one more
+   frame is implemented using the latest IAU report constants, included
+   directly into the frame definition. In this case, the frame name is
+   made up by adding the '_IAUxxxx' suffix to the PCK-based frame name,
+   where xxxx is the IAU report date, i.e. MME_IAU2000. It is
+   recommended to use this implementation of the frame instead of the
+   PCK-based whenever possible since these frames do not depend on the
+   loaded PCK data.
+
+   In many cases, an instance of an 'of Date' frame frozen at J2000
+   epoch is desired. For this reason, an to improve computing 
+   efficiency, another implementation of this frame is provided. For 
+   such frozen 'of Date' frame, its name is made up by appending the
+   character string '2000' to the PCK-based frame name, i.e. MME2000.
+
+       
+Generic Dynamic Frames
+========================================================================
+
+   This section contains the definition of the Generic Dynamic Frames.
+
+
+Heliocentric Earth Ecliptic frame (HEE)
+---------------------------------------
+
+   Definition:
+   -----------
+   The Heliocentric Earth Ecliptic frame is defined as follows (from [3]):
+
+      -  X-Y plane is defined by the Earth Mean Ecliptic plane of date,
+         therefore, the +Z axis is the primary vector,and it defined as
+         the normal vector to the Ecliptic plane that points toward the
+         north pole of date;
+
+      -  +X axis is the component of the Sun-Earth vector that is
+         orthogonal to the +Z axis;
+
+      -  +Y axis completes the right-handed system;
+
+      -  the origin of this frame is the Sun's center of mass.
+
+   All vectors are geometric: no aberration corrections are used.
+
+
+   Required Data:
+   --------------
+   This frame is defined as a two-vector frame using two different types
+   of specifications for the primary and secondary vectors.
+
+   The primary vector is defined as a constant vector in the ECLIPDATE
+   frame and therefore no additional data is required to compute this
+   vector.
+
+   The secondary vector is defined as an 'observer-target position' vector,
+   therefore, the ephemeris data required to compute the Sun-Earth vector
+   in J2000 frame have to be loaded prior to using this frame.
+
+
+   Remarks:
+   --------
+   SPICE imposes a constraint in the definition of dynamic frames:
+
+   When the definition of a parameterized dynamic frame F1 refers to a
+   second frame F2 the referenced frame F2 may be dynamic, but F2 must not
+   make reference to any dynamic frame. For further information on this
+   topic, please refer to [1].
+
+   Therefore, no other dynamic frame should make reference to this frame.
+
+   Since the secondary vector of this frame is defined as an
+   'observer-target position' vector, the usage of different planetary
+   ephemerides conduces to different implementations of this frame,
+   but only when these data lead to different projections of the
+   Sun-Earth vector on the Earth Ecliptic plane of date.
+
+   As an example, note that the average difference in position of the +X
+   axis of this frame, when using DE405 vs. DE403 ephemerides, is about
+   14.3 micro-radians, with a maximum of 15.0 micro-radians.
+
+
+  \begindata
+
+      FRAME_HEE                     =  1500010
+      FRAME_1500010_NAME            = 'HEE' 
+      FRAME_1500010_CLASS           =  5
+      FRAME_1500010_CLASS_ID        =  1500010
+      FRAME_1500010_CENTER          =  10
+      FRAME_1500010_RELATIVE        = 'J2000'
+      FRAME_1500010_DEF_STYLE       = 'PARAMETERIZED'
+      FRAME_1500010_FAMILY          = 'TWO-VECTOR'
+      FRAME_1500010_PRI_AXIS        = 'Z'
+      FRAME_1500010_PRI_VECTOR_DEF  = 'CONSTANT'
+      FRAME_1500010_PRI_FRAME       = 'ECLIPDATE'
+      FRAME_1500010_PRI_SPEC        = 'RECTANGULAR'
+      FRAME_1500010_PRI_VECTOR      = ( 0, 0, 1 )
+      FRAME_1500010_SEC_AXIS        = 'X'
+      FRAME_1500010_SEC_VECTOR_DEF  = 'OBSERVER_TARGET_POSITION'
+      FRAME_1500010_SEC_OBSERVER    = 'SUN'
+      FRAME_1500010_SEC_TARGET      = 'EARTH'
+      FRAME_1500010_SEC_ABCORR      = 'NONE'
+
+  \begintext
+
+
+
+Heliocentric Earth Equatorial frame (HEEQ)
+------------------------------------------
+
+   Definition:
+   -----------
+   The Heliocentric Earth Equatorial frame is defined as follows (from [3]
+   and [4]):
+
+      -  X-Y plane is the solar equator of date, therefore, the +Z axis 
+         is the primary vector and it is aligned to the Sun's north pole
+         of date;
+
+      -  +X axis is defined by the intersection between the Sun equatorial
+         plane and the solar central meridian of date as seen from the Earth.
+         The solar central meridian of date is defined as the meridian of the
+         Sun that is turned toward the Earth. Therefore, +X axis is the
+         component of the Sun-Earth vector that is orthogonal to the +Z axis;
+
+      -  +Y axis completes the right-handed system;
+
+      -  the origin of this frame is the Sun's center of mass.
+
+   All vectors are geometric: no aberration corrections are used.
+
+
+   Required Data:
+   --------------
+   This frame is defined as a two-vector frame using two different types
+   of specifications for the primary and secondary vectors.
+
+   The primary vector is defined as a constant vector in the IAU_SUN
+   frame, which is a PCK-based frame, therefore a PCK file containing
+   the orientation constants for the Sun has to be loaded before any
+   evaluation of this frame.
+
+   The secondary vector is defined as an 'observer-target position' vector,
+   therefore, the ephemeris data required to compute the Sun-Earth vector
+   in J2000 frame have to be loaded before using this frame.
+
+
+   Remarks:
+   --------
+   This frame is defined based on the IAU_SUN frame, whose evaluation is
+   based on the data included in the loaded PCK file: different
+   orientation constants for the Sun's spin axis will lead to different
+   frames. It is strongly recommended to indicate what data have been
+   used in the evaluation of this frame when referring to it, i.e. HEEQ
+   using IAU 2000 constants.
+
+   Since the secondary vector of this frame is defined as an
+   'observer-target position' vector, the usage of different planetary
+   ephemerides conduces to different implementations of this frame,
+   but only when these data lead to different solar central meridians,
+   i.e. the projection of the Sun-Earth vector on the Sun equatorial
+   plane obtained from the different ephemerides has a non-zero angular
+   separation.
+
+   Note that the effect of using different SPK files is smaller, in general,
+   that using different Sun's spin axis constants. As an example, the
+   average difference in the position of the +X axis of the frame, when
+   using DE405 or DE403 ephemerides is about 14.3 micro-radians, with a
+   maximum of 15.3 micro-radians.
+
+
+  \begindata
+
+      FRAME_HEEQ                    =  1501010
+      FRAME_1501010_NAME            = 'HEEQ'
+      FRAME_1501010_CLASS           =  5
+      FRAME_1501010_CLASS_ID        =  1501010
+      FRAME_1501010_CENTER          =  10
+      FRAME_1501010_RELATIVE        = 'J2000'
+      FRAME_1501010_DEF_STYLE       = 'PARAMETERIZED'
+      FRAME_1501010_FAMILY          = 'TWO-VECTOR'
+      FRAME_1501010_PRI_AXIS        = 'Z'
+      FRAME_1501010_PRI_VECTOR_DEF  = 'CONSTANT'
+      FRAME_1501010_PRI_FRAME       = 'IAU_SUN'
+      FRAME_1501010_PRI_SPEC        = 'RECTANGULAR'
+      FRAME_1501010_PRI_VECTOR      = ( 0, 0, 1 )
+      FRAME_1501010_SEC_AXIS        = 'X'
+      FRAME_1501010_SEC_VECTOR_DEF  = 'OBSERVER_TARGET_POSITION'
+      FRAME_1501010_SEC_OBSERVER    = 'SUN'
+      FRAME_1501010_SEC_TARGET      = 'EARTH'
+      FRAME_1501010_SEC_ABCORR      = 'NONE'
+
+  \begintext
+
+
+Venus-centric Solar Orbital frame (VSO)
+----------------------------------------
+   
+   Definition:
+   -----------
+   The Venus-centric Solar Orbital frame is defined as follows:
+
+      -  The position of the Sun relative to Venus is the primary vector:
+         +X axis points from Venus to the Sun;
+
+      -  The inertially referenced velocity of the Sun relative to Venus
+         is the secondary vector: +Y axis is the component of this
+         velocity vector orthogonal to the +X axis;
+
+      -  +Z axis completes the right-handed system;
+
+      -  the origin of this frame is Venus' center of mass.
+
+   All vectors are geometric: no corrections are used.
+
+
+   Required Data:
+   --------------
+   This frame is defined as a two-vector frame using two different types
+   of specifications for the primary and secondary vectors.
+
+   The primary vector is defined as an 'observer-target position' vector,
+   therefore, the ephemeris data required to compute the Venus-Sun vector
+   in J2000 frame have to be loaded before using this frame.
+
+   The secondary vector is defined as an 'observer-target velocity' vector,
+   therefore, the ephemeris data required to compute the Venus-Sun velocity
+   vector in the J2000 frame have to be loaded before using this frame.
+
+
+   Remarks:
+   --------
+   This frame is defined based on SPK data: different planetary 
+   ephemerides (DE families) for Venus, the Sun and the Solar System
+   Barycenter will lead to different frames. 
+
+
+  \begindata
+
+      FRAME_VSO                     =  1500299
+      FRAME_1500299_NAME            = 'VSO' 
+      FRAME_1500299_CLASS           =  5
+      FRAME_1500299_CLASS_ID        =  1500299
+      FRAME_1500299_CENTER          =  299
+      FRAME_1500299_RELATIVE        = 'J2000'
+      FRAME_1500299_DEF_STYLE       = 'PARAMETERIZED'
+      FRAME_1500299_FAMILY          = 'TWO-VECTOR'
+      FRAME_1500299_PRI_AXIS        = 'X'
+      FRAME_1500299_PRI_VECTOR_DEF  = 'OBSERVER_TARGET_POSITION'
+      FRAME_1500299_PRI_OBSERVER    = 'VENUS'
+      FRAME_1500299_PRI_TARGET      = 'SUN'
+      FRAME_1500299_PRI_ABCORR      = 'NONE'
+      FRAME_1500299_SEC_AXIS        = 'Y'
+      FRAME_1500299_SEC_VECTOR_DEF  = 'OBSERVER_TARGET_VELOCITY'
+      FRAME_1500299_SEC_OBSERVER    = 'VENUS'
+      FRAME_1500299_SEC_TARGET      = 'SUN'
+      FRAME_1500299_SEC_ABCORR      = 'NONE'
+      FRAME_1500299_SEC_FRAME       = 'J2000'
+
+  \begintext
+
+
+Venus Mean Equator of Date frame (VME)
+--------------------------------------
+
+   Definition:
+   -----------   
+   The Venus Mean Equatorial of Date frame (also known as Venus Mean
+   Equator and IAU vector of Date frame) is defined as follows (from [5]):
+
+      -  X-Y plane is defined by the Venus equator of date, and
+         the +Z axis is parallel to the Venus' rotation axis of date,
+         pointing toward the North side of the invariant plane;
+
+      -  +X axis is defined by the intersection of the Venus' equator
+         of date with the Earth Mean Equator of J2000;
+
+      -  +Y axis completes the right-handed system;
+
+      -  the origin of this frame is Venus' center of mass.
+
+   All vectors are geometric: no corrections are used.
+
+
+   Required Data:
+   --------------
+   This frame is defined as a two-vector frame using constant vectors as
+   the specification method. The secondary vector is defined in the J2000
+   frame and therefore it does not require to load any additional data.
+
+   The primary vector is defined as a constant vector in the IAU_VENUS
+   frame, which is a PCK-based frame, therefore a PCK file containing
+   the orientation constants for Venus has to be loaded before using this
+   frame.
+
+
+   Remarks:
+   --------
+   This frame is defined based on the IAU_VENUS frame, whose evaluation is
+   based on the data included in the loaded PCK file: different orientation
+   constants for Venus' spin axis will lead to different frames. It is
+   strongly recommended to indicate what data have been used in the
+   evaluation of this frame when referring to it, i.e. VME using IAU 2000
+   constants.
+
+   This frame is provided as the ``most generic'' Venus Mean Equator of
+   date frame since the user has the possibility of loading different Venus
+   orientation constants that would help him/her to define different
+   implementations of this frame.
+
+
+  \begindata
+
+      FRAME_VME                     =  1501299
+      FRAME_1501299_NAME            = 'VME' 
+      FRAME_1501299_CLASS           =  5
+      FRAME_1501299_CLASS_ID        =  1501299
+      FRAME_1501299_CENTER          =  299
+      FRAME_1501299_RELATIVE        = 'J2000'
+      FRAME_1501299_DEF_STYLE       = 'PARAMETERIZED'
+      FRAME_1501299_FAMILY          = 'TWO-VECTOR'
+      FRAME_1501299_PRI_AXIS        = 'Z'
+      FRAME_1501299_PRI_VECTOR_DEF  = 'CONSTANT'
+      FRAME_1501299_PRI_FRAME       = 'IAU_VENUS' 
+      FRAME_1501299_PRI_SPEC        = 'RECTANGULAR'
+      FRAME_1501299_PRI_VECTOR      = ( 0, 0, 1 )
+      FRAME_1501299_SEC_AXIS        = 'Y'
+      FRAME_1501299_SEC_VECTOR_DEF  = 'CONSTANT'                
+      FRAME_1501299_SEC_FRAME       = 'J2000'
+      FRAME_1501299_SEC_SPEC        = 'RECTANGULAR'
+      FRAME_1501299_SEC_VECTOR      = ( 0, 0, 1 )
+
+  \begintext
+
+
+Moon-centric Solar Ecliptic frame (LSE)
+---------------------------------------
+
+   Definition:
+   -----------     
+   The Moon-centric Solar Ecliptic frame is defined as follows:
+
+      -  The position of the Sun relative to Moon is the primary vector:
+         +X axis points from Moon to the Sun;
+ 
+      -  The inertially referenced velocity of the Sun relative to Moon
+         is the secondary vector: +Y axis is the component of this
+         velocity vector orthogonal to the +X axis;
+
+      -  +Z axis completes the right-handed system;
+
+      -  the origin of this frame is Moon's center of mass.
+
+   All vectors are geometric: no corrections are used.
+
+
+   Required Data:
+   --------------
+   This frame is defined as a two-vector frame using two different types
+   of specifications for the primary and secondary vectors.
+
+   The primary vector is defined as an 'observer-target position' vector,
+   therefore, the ephemeris data required to compute the Moon-Sun vector
+   in J2000 frame have to be loaded before using this frame.
+
+   The secondary vector is defined as an 'observer-target velocity' vector,
+   therefore, the ephemeris data required to compute the Moon-Sun velocity
+   vector in the J2000 frame have to be loaded before using this frame.
+
+
+   Remarks:
+   --------
+   This frame is defined based on SPK data: different planetary 
+   ephemerides (DE families) for the Moon, the Sun, the Solar System
+   Barycenter and the Earth-Moon Barycenter will lead to different frames. 
+
+
+  \begindata
+
+      FRAME_LSE                     =  1500301
+      FRAME_1500301_NAME            = 'LSE'
+      FRAME_1500301_CLASS           =  5
+      FRAME_1500301_CLASS_ID        =  1500301
+      FRAME_1500301_CENTER          =  301
+      FRAME_1500301_RELATIVE        = 'J2000'
+      FRAME_1500301_DEF_STYLE       = 'PARAMETERIZED'
+      FRAME_1500301_FAMILY          = 'TWO-VECTOR'
+      FRAME_1500301_PRI_AXIS        = 'X'
+      FRAME_1500301_PRI_VECTOR_DEF  = 'OBSERVER_TARGET_POSITION'
+      FRAME_1500301_PRI_OBSERVER    = 'MOON' 
+      FRAME_1500301_PRI_TARGET      = 'SUN'
+      FRAME_1500301_PRI_ABCORR      = 'NONE'
+      FRAME_1500301_SEC_AXIS        = 'Y'
+      FRAME_1500301_SEC_VECTOR_DEF  = 'OBSERVER_TARGET_VELOCITY'
+      FRAME_1500301_SEC_OBSERVER    = 'MOON' 
+      FRAME_1500301_SEC_TARGET      = 'SUN'
+      FRAME_1500301_SEC_ABCORR      = 'NONE'
+      FRAME_1500301_SEC_FRAME       = 'J2000'
+
+  \begintext
+
+
+Moon Mean Equator of Date frame (LME)
+-------------------------------------
+
+   Definition:
+   -----------   
+   The Moon Mean Equator of Date frame (also known as Moon Mean Equator
+   and IAU vector of Date frame) is defined as follows (from [5]):
+
+      -  X-Y plane is defined by the Moon equator of date, and the
+         +Z axis, primary vector of this frame, is parallel to the
+         Moon's rotation axis of date, pointing toward the North side
+         of the invariant plane;
+
+      -  +X axis is defined by the intersection of the Moon's equator
+         of date with the Earth Mean Equator of J2000;
+
+      -  +Y axis completes the right-handed system;
+
+      -  the origin of this frame is Moon's center of mass.
+
+   All vectors are geometric: no corrections are used.
+
+
+   Required Data:
+   --------------
+   This frame is defined as a two-vector frame using constant vectors as
+   the specification method. The secondary vector is defined in the J2000
+   frame and it therefore does not require to load any additional data.
+
+   The primary vector is defined as a constant vector in the IAU_MOON
+   frame, which is a PCK-based frame, therefore a PCK file containing
+   the orientation constants for the Moon has to be loaded before using
+   this frame.
+
+
+   Remarks:
+   --------
+   This frame is defined based on the IAU_MOON frame, whose evaluation is
+   based on the data included in the loaded PCK file: different orientation
+   constants for the Moon's spin axis will lead to different frames. It is
+   strongly recommended to indicate what data have been used in the
+   evaluation of this frame when referring to it, i.e. LME using IAU 2000
+   constants.
+
+
+  \begindata
+
+      FRAME_LME                     =  1501301
+      FRAME_1501301_NAME            = 'LME' 
+      FRAME_1501301_CLASS           =  5
+      FRAME_1501301_CLASS_ID        =  1501301
+      FRAME_1501301_CENTER          =  301
+      FRAME_1501301_RELATIVE        = 'J2000'
+      FRAME_1501301_DEF_STYLE       = 'PARAMETERIZED'
+      FRAME_1501301_FAMILY          = 'TWO-VECTOR'
+      FRAME_1501301_PRI_AXIS        = 'Z'
+      FRAME_1501301_PRI_VECTOR_DEF  = 'CONSTANT'
+      FRAME_1501301_PRI_FRAME       = 'IAU_MOON'  
+      FRAME_1501301_PRI_SPEC        = 'RECTANGULAR'
+      FRAME_1501301_PRI_VECTOR      = ( 0, 0, 1 )
+      FRAME_1501301_SEC_AXIS        = 'Y'
+      FRAME_1501301_SEC_VECTOR_DEF  = 'CONSTANT'                
+      FRAME_1501301_SEC_FRAME       = 'J2000'
+      FRAME_1501301_SEC_SPEC        = 'RECTANGULAR'
+      FRAME_1501301_SEC_VECTOR      = ( 0, 0, 1 )
+
+  \begintext
+
+Geocentric Solar Ecliptic frame (GSE)
+---------------------------------------
+
+   Definition:
+   -----------
+   The Geocentric Solar Ecliptic frame is defined as follows (from [3]):
+
+      -  X-Y plane is defined by the Earth Mean Ecliptic plane of date:
+         the +Z axis, primary vector, is the normal vector to this plane,
+         always pointing toward the North side of the invariant plane;
+
+      -  +X axis is the component of the Earth-Sun vector that is orthogonal
+         to the +Z axis;
+
+      -  +Y axis completes the right-handed system;
+
+      -  the origin of this frame is the Sun's center of mass.
+
+   All the vectors are geometric: no aberration corrections are used.
+
+
+   Required Data:
+   --------------
+   This frame is defined as a two-vector frame using two different types
+   of specifications for the primary and secondary vectors.
+
+   The primary vector is defined as a constant vector in the ECLIPDATE
+   frame and therefore, no additional data is required to compute this
+   vector.
+
+   The secondary vector is defined as an 'observer-target position' vector,
+   therefore, the ephemeris data required to compute the Earth-Sun vector
+   in J2000 frame have to be loaded prior to using this frame.
+
+
+   Remarks:
+   --------
+   SPICE imposes a constraint in the definition of dynamic frames:
+
+   When the definition of a parameterized dynamic frame F1 refers to a
+   second frame F2 the referenced frame F2 may be dynamic, but F2 must not
+   make reference to any dynamic frame. For further information on this
+   topic, please refer to [1].
+
+   Therefore, no other dynamic frame should make reference to this frame.
+
+   Since the secondary vector of this frame is defined as an
+   'observer-target position' vector, the usage of different planetary
+   ephemerides conduces to different implementations of this frame,
+   but only when these data lead to different projections of the
+   Earth-Sun vector on the Earth Ecliptic plane of date.
+
+   As an example, note that the average difference in position of the +X
+   axis of this frame, when using DE405 vs. DE403 ephemerides, is about
+   14.3 micro-radians, with a maximum of 15.0 micro-radians.
+
+
+  \begindata
+
+      FRAME_GSE                     =  1500399
+      FRAME_1500399_NAME            = 'GSE' 
+      FRAME_1500399_CLASS           =  5
+      FRAME_1500399_CLASS_ID        =  1500399
+      FRAME_1500399_CENTER          =  399
+      FRAME_1500399_RELATIVE        = 'J2000'
+      FRAME_1500399_DEF_STYLE       = 'PARAMETERIZED'
+      FRAME_1500399_FAMILY          = 'TWO-VECTOR'
+      FRAME_1500399_PRI_AXIS        = 'Z'
+      FRAME_1500399_PRI_VECTOR_DEF  = 'CONSTANT'
+      FRAME_1500399_PRI_FRAME       = 'ECLIPDATE'
+      FRAME_1500399_PRI_SPEC        = 'RECTANGULAR'
+      FRAME_1500399_PRI_VECTOR      = ( 0, 0, 1 )
+      FRAME_1500399_SEC_AXIS        = 'X'
+      FRAME_1500399_SEC_VECTOR_DEF  = 'OBSERVER_TARGET_POSITION'
+      FRAME_1500399_SEC_OBSERVER    = 'EARTH'
+      FRAME_1500399_SEC_TARGET      = 'SUN'  
+      FRAME_1500399_SEC_ABCORR      = 'NONE'
+
+  \begintext
+
+Earth Mean Equator and Equinox of Date frame (EME)
+--------------------------------------------------
+
+   Definition:
+   -----------
+   The Earth Mean Equator and Equinox of Date frame is defined as follows:
+
+      -  +Z axis is aligned with the north-pointing vector normal to the
+         mean equatorial plane of the Earth;
+
+      -  +X axis points along the ``mean equinox'', which is defined as the
+         intersection of the Earth's mean orbital plane with the Earth's mean
+         equatorial plane. It is aligned with the cross product of the
+         north-pointing vectors normal to the Earth's mean equator and mean
+         orbit plane of date;
+
+      -  +Y axis is the cross product of the Z and X axes and completes the
+         right-handed frame;
+
+      -  the origin of this frame is the Earth's center of mass.
+
+   The mathematical model used to obtain the orientation of the Earth's mean
+   equator and equinox of date frame is the 1976 IAU precession model, built
+   into SPICE.
+
+   The base frame for the 1976 IAU precession model is J2000.
+
+
+   Required Data:
+   --------------
+   The usage of this frame does not require additional data since the
+   precession model used to define this frame is already built into
+   SPICE.
+
+
+   Remarks:
+   --------
+   None.
+
+
+  \begindata
+
+      FRAME_EME                     =  1501399
+      FRAME_1501399_NAME            =  'EME'        
+      FRAME_1501399_CLASS           =  5
+      FRAME_1501399_CLASS_ID        =  1501399
+      FRAME_1501399_CENTER          =  399
+      FRAME_1501399_RELATIVE        = 'J2000'
+      FRAME_1501399_DEF_STYLE       = 'PARAMETERIZED'
+      FRAME_1501399_FAMILY          = 'MEAN_EQUATOR_AND_EQUINOX_OF_DATE'
+      FRAME_1501399_PREC_MODEL      = 'EARTH_IAU_1976'
+      FRAME_1501399_ROTATION_STATE  = 'ROTATING'        
+ 
+  \begintext
+
+
+Geocentric Solar Equatorial frame (GSEQ)
+----------------------------------------
+
+   Definition:
+   -----------
+   The Geocentric Solar Equatorial frame is defined as follows (from [7]):
+
+      -  +X axis is the position of the Sun relative to the Earth; it's
+         the primary vector and points from the Earth to the Sun;
+
+      -  +Z axis is the component of the Sun's north pole of date orthogonal
+         to the +X axis;
+
+      -  +Y axis completes the right-handed reference frame;
+
+      -  the origin of this frame is the Earth's center of mass.
+
+   All the vectors are geometric: no aberration corrections are used.
+
+   Required Data:
+   --------------
+   This frame is defined as a two-vector frame using two different types
+   of specifications for the primary and secondary vectors.
+
+   The primary vector is defined as an 'observer-target position' vector,
+   therefore, the ephemeris data required to compute the Earth-Sun vector
+   in J2000 frame have to be loaded before using this frame.
+
+   The secondary vector is defined as a constant vector in the IAU_SUN
+   frame, which is a PCK-based frame, therefore a PCK file containing
+   the orientation constants for the Sun has to be loaded before using
+   this frame.
+
+
+   Remarks:
+   --------
+   This frame is defined based on the IAU_SUN frame, whose evaluation is
+   based on the data included in the loaded PCK file: different orientation
+   constants for the Sun's spin axis will lead to different frames. It is
+   strongly recommended to indicate what data have been used in the
+   evaluation of this frame when referring to it, i.e.GSEQ using IAU 2000
+   constants.
+
+   Since the primary vector of this frame is defined as an 'observer-target
+   position' vector, the usage of different planetary ephemerides
+   conduces to different implementations of this frame. As an example,
+   the difference between using DE405 or DE403 ephemerides is, in average,
+   approximately 10.9 micro-radians, with a maximum of 21.6 micro-radians.
+
+
+  \begindata
+
+      FRAME_GSEQ                    =  1502399
+      FRAME_1502399_NAME            = 'GSEQ'
+      FRAME_1502399_CLASS           =  5
+      FRAME_1502399_CLASS_ID        =  1502399
+      FRAME_1502399_CENTER          =  399
+      FRAME_1502399_RELATIVE        = 'J2000'
+      FRAME_1502399_DEF_STYLE       = 'PARAMETERIZED'
+      FRAME_1502399_FAMILY          = 'TWO-VECTOR'
+      FRAME_1502399_PRI_AXIS        = 'X'
+      FRAME_1502399_PRI_VECTOR_DEF  = 'OBSERVER_TARGET_POSITION'
+      FRAME_1502399_PRI_OBSERVER    = 'EARTH'
+      FRAME_1502399_PRI_TARGET      = 'SUN'
+      FRAME_1502399_PRI_ABCORR      = 'NONE'
+      FRAME_1502399_SEC_AXIS        = 'Z'
+      FRAME_1502399_SEC_VECTOR_DEF  = 'CONSTANT'
+      FRAME_1502399_SEC_FRAME       = 'IAU_SUN'
+      FRAME_1502399_SEC_SPEC        = 'RECTANGULAR'
+      FRAME_1502399_SEC_VECTOR      = ( 0, 0, 1 )
+
+  \begintext
+
+Earth Mean Ecliptic and Equinox of Date frame (ECLIPDATE)
+---------------------------------------------------------
+
+   Definition:
+   -----------
+   The Earth Mean Ecliptic and Equinox of Date frame is defined as follows:
+
+      -  +Z axis is aligned with the north-pointing vector normal to the
+         mean orbital plane of the Earth;
+
+      -  +X axis points along the ``mean equinox'', which is defined as the
+         intersection of the Earth's mean orbital plane with the Earth's mean
+         equatorial plane. It is aligned with the cross product of the
+         north-pointing vectors normal to the Earth's mean equator and mean
+         orbit plane of date;
+
+      -  +Y axis is the cross product of the Z and X axes and completes the
+         right-handed frame;
+
+      -  the origin of this frame is the Earth's center of mass.
+
+   The mathematical model used to obtain the orientation of the Earth's mean
+   equator and equinox of date frame is the 1976 IAU precession model, built
+   into SPICE.
+
+   The mathematical model used to obtain the mean orbital plane of the Earth
+   is the 1980 IAU obliquity model, also built into SPICE.
+
+   The base frame for the 1976 IAU precession model is J2000.
+
+   Required Data:
+   --------------
+   The usage of this frame does not require additional data since both the
+   precession and the obliquity models used to define this frame are already
+   built into SPICE.
+
+
+   Remarks:
+   --------
+   None.
+
+
+  \begindata
+
+      FRAME_ECLIPDATE                =  1503399   
+      FRAME_1503399_NAME             = 'ECLIPDATE'
+      FRAME_1503399_CLASS            =  5
+      FRAME_1503399_CLASS_ID         =  1503399
+      FRAME_1503399_CENTER           =  399
+      FRAME_1503399_RELATIVE         = 'J2000'
+      FRAME_1503399_DEF_STYLE        = 'PARAMETERIZED'
+      FRAME_1503399_FAMILY           = 'MEAN_ECLIPTIC_AND_EQUINOX_OF_DATE
+      FRAME_1503399_PREC_MODEL       = 'EARTH_IAU_1976'
+      FRAME_1503399_OBLIQ_MODEL      = 'EARTH_IAU_1980'
+      FRAME_1503399_ROTATION_STATE   = 'ROTATING'
+ 
+  \begintext
+
+
+
+Mars Mean Equator of Date frame (MME)
+-------------------------------------
+
+   Definition:
+   -----------   
+   The Mars Mean Equator of Date frame (also known as Mars Mean Equator
+   and IAU vector of Date frame) is defined as follows (from [5]):
+
+      -  X-Y plane is defined by the Mars equator of date: the
+         +Z axis, primary vector, is parallel to the Mars' rotation
+         axis of date, pointing toward the North side of the invariant
+         plane;
+
+      -  +X axis is defined by the intersection of the Mars' equator of
+         date with the J2000 equator;
+
+      -  +Y axis completes the right-handed system;
+
+      -  the origin of this frame is Mars' center of mass.
+
+
+   All vectors are geometric: no corrections are used.
+
+
+   Required Data:
+   --------------
+   This frame is defined as a two-vector frame using constant vectors as
+   the specification method. The secondary vector is defined in the J2000
+   frame and therefore it does not require to load any additional data.
+
+   The primary vector is defined as a constant vector in the IAU_MARS
+   frame, which is a PCK-based frame, therefore a PCK file containing
+   the orientation constants for Mars has to be loaded before using this
+   frame.
+
+
+   Remarks:
+   --------
+   This frame is defined based on the IAU_MARS frame, whose evaluation is
+   based on the data included in the loaded PCK file: different orientation
+   constants for Mars' spin axis will lead to different frames. It is
+   strongly recommended to indicate which data have been used in the
+   evaluation of this frame when referring to it, i.e. MME using IAU 2000
+   constants.
+
+   This frame is provided as the ``most generic'' Mars Mean Equator of
+   Date frame since the user has the possibility of loading different Mars
+   orientation constants that would help him/her to define different
+   implementations of this frame.
+
+
+  \begindata
+
+      FRAME_MME                     =  1500499
+      FRAME_1500499_NAME            = 'MME' 
+      FRAME_1500499_CLASS           =  5
+      FRAME_1500499_CLASS_ID        =  1500499
+      FRAME_1500499_CENTER          =  499
+      FRAME_1500499_RELATIVE        = 'J2000'
+      FRAME_1500499_DEF_STYLE       = 'PARAMETERIZED'
+      FRAME_1500499_FAMILY          = 'TWO-VECTOR'
+      FRAME_1500499_PRI_AXIS        = 'Z'
+      FRAME_1500499_PRI_VECTOR_DEF  = 'CONSTANT'
+      FRAME_1500499_PRI_FRAME       = 'IAU_MARS' 
+      FRAME_1500499_PRI_SPEC        = 'RECTANGULAR'
+      FRAME_1500499_PRI_VECTOR      = ( 0, 0, 1 )
+      FRAME_1500499_SEC_AXIS        = 'Y'
+      FRAME_1500499_SEC_VECTOR_DEF  = 'CONSTANT'                
+      FRAME_1500499_SEC_FRAME       = 'J2000'
+      FRAME_1500499_SEC_SPEC        = 'RECTANGULAR'
+      FRAME_1500499_SEC_VECTOR      = ( 0, 0, 1 )
+
+  \begintext
+
+
+Mars Mean Equator of Date frame based on IAU 2000 Mars Constants (MME_IAU2000)
+------------------------------------------------------------------------------
+
+   Definition:
+   -----------   
+   The MME_IAU2000 frame is based on Mean Mars Equator and IAU
+   vector of date evaluated using IAU 2000 Mars rotation constants.
+
+   This frame is implemented as as Euler frame, mathematically identical
+   to the PCK frame IAU_MARS based on IAU 2000 Mars rotation constants
+   but without prime meridian rotation terms.
+
+   The PCK data defining the IAU_MARS frame are:
+
+      BODY499_POLE_RA          = (  317.68143   -0.1061      0.  )
+      BODY499_POLE_DEC         = (   52.88650   -0.0609      0.  )
+      BODY499_PM               = (  176.630    350.89198226  0.  )
+
+   These values are from [6].
+
+   Here pole RA/Dec terms in the PCK are in degrees and degrees/century;
+   the rates have been converted to degrees/sec. Prime meridian terms
+   from the PCK are disregarded.
+
+   The 3x3 transformation matrix M defined by the angles is
+
+      M = [    0.0]   [angle_2]   [angle_3]
+                   3           1           3
+
+   Vectors are mapped from the J2000 base frame to the MME_IAU2000
+   frame via left multiplication by M.
+
+   The relationship of these Euler angles to RA/Dec for the
+   J2000-to-IAU Mars Mean Equator of Date transformation is as follows:
+
+      angle_1 is        0.0
+      angle_2 is pi/2 - Dec * (radians/degree)
+      angle_3 is pi/2 + RA  * (radians/degree), mapped into the
+                                                range 0 < angle_3 < 2*pi
+                                                        -
+
+   Since when we define the MME_IAU2000 frame we're defining the
+   *inverse* of the above transformation, the angles for our Euler frame
+   definition are reversed and the signs negated:
+
+      angle_1 is -pi/2 - RA  * (radians/degree), mapped into the
+                                                 range 0 < angle_3 < 2*pi
+                                                         -
+      angle_2 is -pi/2 + Dec * (radians/degree)
+      angle_3 is         0.0
+
+   The resulting values for the coefficients are (in degrees):
+
+      ANGLE_1 = -47.68143   0.33621061170684714E-10
+      ANGLE_2 = -37.11350  -0.19298045478743630E-10
+      ANGLE_3 =   0.00000   0.0000
+
+
+   Required Data:
+   --------------
+   Since the frame definition incorporates all the required data for
+   evaluating this frame's orientation, the usage of this frame does not
+   require additional data
+
+
+   Remarks:
+   --------
+   None.
+
+
+  \begindata
+
+      FRAME_MME_IAU2000             =  1501499
+      FRAME_1501499_NAME            = 'MME_IAU2000'    
+      FRAME_1501499_CLASS           =  5
+      FRAME_1501499_CLASS_ID        =  1501499
+      FRAME_1501499_CENTER          =  499
+      FRAME_1501499_RELATIVE        = 'J2000'
+      FRAME_1501499_DEF_STYLE       = 'PARAMETERIZED'
+      FRAME_1501499_FAMILY          = 'EULER'
+      FRAME_1501499_EPOCH           =  @2000-JAN-1/12:00:00
+      FRAME_1501499_AXES            =  ( 3  1  3 )
+      FRAME_1501499_UNITS           = 'DEGREES'
+      FRAME_1501499_ANGLE_1_COEFFS  = (  -47.68143
+                                          0.33621061170684714E-10  )
+      FRAME_1501499_ANGLE_2_COEFFS  = (  -37.1135
+                                         -0.19298045478743630E-10  )
+      FRAME_1501499_ANGLE_3_COEFFS  = (    0.0                     )
+
+  \begintext
+
+
+Mars-centric Solar Orbital frame (MSO)
+--------------------------------------------------------
+
+   Definition:
+   -----------      
+   The Mars-centric Solar Orbital frame is defined as follows:
+
+      -  The position of the Sun relative to Mars is the primary vector:
+         +X axis points from Mars to the Sun;
+
+      -  The inertially referenced velocity of the Sun relative to Mars
+         is the secondary vector: +Y axis is the component of this
+         velocity vector orthogonal to the +X axis;
+
+      -  +Z axis completes the right-handed system;
+
+      -  the origin of this frame is Mars' center of mass.
+
+   All vectors are geometric: no corrections are used.
+
+
+   Required Data:
+   --------------
+   This frame is defined as a two-vector frame using two different types
+   of specifications for the primary and secondary vectors.
+
+   The primary vector is defined as an 'observer-target position' vector,
+   therefore, the ephemeris data required to compute the Mars-Sun vector
+   in J2000 frame have to be loaded before using this frame.
+
+   The secondary vector is defined as an 'observer-target velocity' vector,
+   therefore, the ephemeris data required to compute the Mars-Sun velocity
+   vector in the J2000 frame have to be loaded before using this frame.
+
+
+   Remarks:
+   --------
+   This frame is defined based on SPK data: different planetary 
+   ephemerides (DE families) for Mars, the Sun and the Solar System
+   Barycenter will lead to different implementations of the frame. As an
+   example, the difference between using DE405 and DE403 ephemerides is,
+   on average, approximately 11.1 micro-radians, with a maximum of 13.4
+   micro-radians.
+   
+
+  \begindata
+
+      FRAME_MSO                     =  1502499
+      FRAME_1502499_NAME            = 'MSO'
+      FRAME_1502499_CLASS           =  5
+      FRAME_1502499_CLASS_ID        =  1502499
+      FRAME_1502499_CENTER          =  499
+      FRAME_1502499_RELATIVE        = 'J2000'
+      FRAME_1502499_DEF_STYLE       = 'PARAMETERIZED'
+      FRAME_1502499_FAMILY          = 'TWO-VECTOR'
+      FRAME_1502499_PRI_AXIS        = 'X'
+      FRAME_1502499_PRI_VECTOR_DEF  = 'OBSERVER_TARGET_POSITION'
+      FRAME_1502499_PRI_OBSERVER    = 'MARS' 
+      FRAME_1502499_PRI_TARGET      = 'SUN'
+      FRAME_1502499_PRI_ABCORR      = 'NONE'
+      FRAME_1502499_SEC_AXIS        = 'Y'
+      FRAME_1502499_SEC_VECTOR_DEF  = 'OBSERVER_TARGET_VELOCITY'
+      FRAME_1502499_SEC_OBSERVER    = 'MARS' 
+      FRAME_1502499_SEC_TARGET      = 'SUN'
+      FRAME_1502499_SEC_ABCORR      = 'NONE'
+      FRAME_1502499_SEC_FRAME       = 'J2000'
+
+  \begintext
+
+
+
+Generic Inertial Frames
+========================================================================
+
+   This section contains the definitions of the Generic Inertial Frames
+   used within the ESA Planetary Missions, which are not 'built-in' into
+   the SPICE toolkit.
+
+
+Heliocentric Inertial frame (HCI)
+------------------------------------------------------
+
+   The Heliocentric Inertial Frame is defined as follows (from [3]):
+
+    -  X-Y plane is defined by the Sun's equator of epoch J2000: the +Z
+       axis, primary vector, is parallel to the Sun's rotation axis of
+       epoch J2000, pointing toward the Sun's north pole;
+
+    -  +X axis is defined by the ascending node of the Sun's equatorial
+       plane on the ecliptic plane of J2000;
+
+    -  +Y completes the right-handed frame;
+
+    -  the origin of this frame is the Sun's center of mass.
+
+   Note that even when the original frame defined in [3] is referenced
+   to the orientation of the Solar equator in J1900, the HCI frame is
+   based on J2000 instead.
+
+   It is possible to define this frame as a dynamic frame frozen at
+   J2000 epoch, using the following set of keywords:
+
+      FRAME_HCI                     =  1502010
+      FRAME_1502010_NAME            = 'HCI' 
+      FRAME_1502010_CLASS           =  5
+      FRAME_1502010_CLASS_ID        =  1502010
+      FRAME_1502010_CENTER          =  10
+      FRAME_1502010_RELATIVE        = 'J2000'
+      FRAME_1502010_DEF_STYLE       = 'PARAMETERIZED'
+      FRAME_1502010_FAMILY          = 'TWO-VECTOR'
+      FRAME_1502010_PRI_AXIS        = 'Z'
+      FRAME_1502010_PRI_VECTOR_DEF  = 'CONSTANT'
+      FRAME_1502010_PRI_FRAME       = 'IAU_SUN'
+      FRAME_1502010_PRI_SPEC        = 'RECTANGULAR'
+      FRAME_1502010_PRI_VECTOR      = ( 0, 0, 1 )
+      FRAME_1502010_SEC_AXIS        = 'Y'
+      FRAME_1502010_SEC_VECTOR_DEF  = 'CONSTANT'
+      FRAME_1502010_SEC_FRAME       = 'ECLIPJ2000'
+      FRAME_1502010_SEC_SPEC        = 'RECTANGULAR'
+      FRAME_1502010_SEC_VECTOR      = ( 0, 0, 1 )
+
+   In the above implementation of this frame, the primary vector is
+   defined as a constant vector in the IAU_SUN frame, which is a
+   PCK-based frame, therefore a PCK file containing the orientation
+   constants for the Sun has to be loaded before using this frame.
+
+   Due to the fact that the transformation between the HCI frame and J2000
+   frame is fixed and time independent, the HCI frame can be implemented
+   as a fixed offset frame relative to the J2000 frame. The rotation matrix
+   provided in the definition was computed using the following PXFORM call:
+
+      CALL PXFORM( 'HCI', 'J2000', 0.D0, MATRIX )
+
+   using the implementation of the frame given above, and the following PCK:
+
+      PCK00008.TPC
+
+   which contains the following constants for the SUN (from [5]):
+
+      BODY10_POLE_RA         = (  286.13       0.          0. )
+      BODY10_POLE_DEC        = (   63.87       0.          0. )
+
+   This new implementation of the frame is preferred for computing efficiency
+   reasons.
+
+  \begindata
+
+      FRAME_HCI                     = 1502010
+      FRAME_1502010_NAME            = 'HCI'         
+      FRAME_1502010_CLASS           = 4
+      FRAME_1502010_CLASS_ID        = 1502010
+      FRAME_1502010_CENTER          = 10 
+      TKFRAME_1502010_SPEC          = 'MATRIX'
+      TKFRAME_1502010_RELATIVE      = 'J2000'
+      TKFRAME_1502010_MATRIX        = (
+
+         0.2458856764679510       0.8893142951159845       0.3855649343628876
+        -0.9615455562494245       0.1735802308455697       0.2128380762847277
+         0.1223534934723278      -0.4230720836476433       0.8977971010607901
+
+                                     )
+
+  \begintext
+
+   
+Venus Mean Equator of Date J2000 frame (VME2000)
+------------------------------------------------
+
+   The Venus Mean Equator of Date J2000 is defined as follows:
+
+    -  +Z axis points toward Venus North Pole of date J2000;
+
+    -  +X axis points toward the Venus IAU vector of date J2000. Venus
+       IAU vector of date is defined as the intersection between the
+       Venus equator of date and the J2000 equator;
+
+    -  +Y axis completes the right-hand frame;
+
+    -  the origin of this frame is Venus center of mass.
+
+   The VME2000 frame is the VME frame frozen at J2000 (using the IAU
+   2000 constants for Venus' North Pole and prime meridian). For
+   computing efficiency reasons this frame is defined as a fixed offset
+   frame relative to the J2000 frame. The rotation matrix provided in
+   the definition was computed using the following PXFORM call:
+
+      CALL PXFORM( 'VME', 'J2000', 0.D0, MATRIX )
+
+   using the following kernel file:
+
+      PCK00008.TPC
+
+   which implements the following IAU constants for Venus (from [5]): 
+
+      BODY299_POLE_RA          = (  272.76       0.          0. )
+      BODY299_POLE_DEC         = (   67.16       0.          0. )
+      BODY299_PM               = (  160.20      -1.4813688   0. )
+
+   Note that the prime meridian terms are not used on the evaluation of
+   the VME frame.
+
+
+  \begindata
+
+      FRAME_VME2000                 = 1503299
+      FRAME_1503299_NAME            = 'VME2000'     
+      FRAME_1503299_CLASS           = 4
+      FRAME_1503299_CLASS_ID        = 1503299
+      FRAME_1503299_CENTER          = 299
+      TKFRAME_1503299_SPEC          = 'MATRIX'
+      TKFRAME_1503299_RELATIVE      = 'J2000'
+      TKFRAME_1503299_MATRIX        = (
+
+         0.9988399975085458       0.0481524597204341       0.0000000000000000
+        -0.0443769404401835       0.9205233405740161       0.3881590738545506
+         0.0186908141689023      -0.3877088083617988       0.9215923900425704
+ 
+                                     )
+
+  \begintext
+
+
+Moon Mean Equator of Date J2000 frame (LME2000)
+-----------------------------------------------
+
+   The Moon Mean Equator of Date J2000 is defined as follows:
+
+    -  +Z axis points toward Moon's North Pole of date J2000;
+
+    -  +X axis points toward the Moon's equinox of date J2000. Moon's
+       equinox of date J2000 is defined as the intersection between the
+       Moon's equator of date and the J2000 equator;
+
+    -  +Y axis completes the right-hand frame;
+
+    -  the origin of this frame is Moon's center of mass.
+
+  The LME2000 frame is the LME frame frozen at J2000 (using the IAU 2000
+  constants for the Moon's North Pole, prime meridian and nutation model).
+  For computing efficiency reasons this frame is defined as a fixed offset
+  frame relative to the J2000 frame. The rotation matrix provided in the
+  definition was computed using the following PXFORM call:
+
+        CALL PXFORM( 'LME', 'J2000', 0.D0, MATRIX )
+
+  using the following kernel files:
+
+        PCK00008.TPC
+
+  which implements the following IAU constants for the Moon (from [5]):
+   
+    - Moon's J2000 right ascension and declination (RA and DEC) of the
+      north pole. 
+
+        BODY301_POLE_RA      = (  269.9949        0.0031        0.      )
+        BODY301_POLE_DEC     = (   66.5392        0.0130        0.      )
+
+
+    - Coefficients of the trigonometric terms for the computation of the
+      nutation and precession of the Moon:
+
+        BODY301_NUT_PREC_RA  = (   -3.8787   -0.1204   0.0700   -0.0172
+                                    0.0       0.0072   0.0       0.0
+                                    0.0      -0.0052   0.0       0.0
+                                    0.0043                              )
+        
+        BODY301_NUT_PREC_DEC = (   1.5419     0.0239  -0.0278    0.0068
+                                   0.0       -0.0029   0.0009    0.0
+                                   0.0        0.0008   0.0       0.0     
+                                  -0.0009                               )
+        
+     The effective RA/DEC of the Moon's North pole is computed, for a given
+     time as:
+
+        alpha   =  269.9949 +  0.0031 T  -  3.8787 sin(E1)  - 0.1204 sin(E2)
+             0
+                                         +  0.0700 sin(E3)  - 0.0172 sin(E4) 
+                                        
+                                         +  0.0072 sin(E6)  - 0.0052 sin(E10)
+ 
+                                         +  0.0043 sin(E13)           
+ 
+ 
+        delta   =  66.5392  +  0.013 T   +  1.5419 cos(E1)  + 0.0239 cos(E2)
+             0
+                                         -  0.0278 cos(E3)  + 0.0068 cos(E4)
+                                      
+                                         -  0.0029 cos(E6)  + 0.0009 cos(E7)
+   
+                                         +  0.0008 cos(E10) - 0.0009 cos(E13)
+
+      where T represents centuries past J2000 ( TDB ), and the nutation 
+      precession angles for the Earth-Moon system are:
+
+                          E1  =   125.045 -  0.0529921 d
+                          E2  =   250.089 -  0.1059842 d
+                          E3  =   260.008 + 13.0120009 d
+                          E4  =   176.625 + 13.3407154 d
+                          E5  =   357.529 +  0.9856003 d
+                          E6  =   311.589 + 26.4057084 d
+                          E7  =   134.963 + 13.0649930 d
+                          E8  =   276.617 -  0.3287146 d
+                          E9  =    34.226 -  1.7484877 d
+                          E10 =    15.134 -  0.1589763 d
+                          E11 =   119.743 +  0.0036096 d
+                          E12 =   239.961 +  0.1643573 d
+                          E13 =    25.053 + 12.9590088 d
+       
+      where d represents days past J2000 ( TDB )           
+
+
+  \begindata
+
+      FRAME_LME2000                 = 1502301
+      FRAME_1502301_NAME            = 'LME2000'     
+      FRAME_1502301_CLASS           = 4
+      FRAME_1502301_CLASS_ID        = 1502301
+      FRAME_1502301_CENTER          = 301
+      TKFRAME_1502301_SPEC          = 'MATRIX'
+      TKFRAME_1502301_RELATIVE      = 'J2000'
+      TKFRAME_1502301_MATRIX        = (
+
+         0.9984965052050879      -0.0548154092680678       0.0000000000000000
+         0.0499357293985326       0.9096101252380440       0.4124510189026893
+        -0.0226086714041825      -0.4118309009426129       0.9109797785934293
+ 
+                                     )
+
+  \begintext
+
+
+Mars Mean Equator of Date J2000 frame (MME2000)
+-----------------------------------------------
+
+   The Mars Mean Equator of Date J2000 is defined as follows:
+
+    -  +Z axis points toward Mars North Pole of date J2000;
+
+    -  +X axis points toward the Mars IAU vector of date J2000. Mars
+       IAU vector of date is defined as the intersection between the
+       Mars equator of date and the J2000 equator;
+
+    -  +Y axis completes the right-hand frame;
+
+    -  the origin of this frame is Mars center of mass.
+
+  The MME2000 frame is the MME_IAU2000 frame frozen at J2000. For computing
+  efficiency reasons this frame is defined as a fixed offset frame relative
+  to the J2000 frame. The rotation matrix provided in the definition was
+  computed using the following PXFORM call:
+
+      CALL PXFORM( 'MME_IAU2000', 'J2000', 0.D0, MATRIX )
+
+  \begindata
+
+      FRAME_MME2000                 = 1503499
+      FRAME_1503499_NAME            = 'MME2000'     
+      FRAME_1503499_CLASS           = 4
+      FRAME_1503499_CLASS_ID        = 1503499
+      FRAME_1503499_CENTER          = 499
+      TKFRAME_1503499_SPEC          = 'MATRIX'
+      TKFRAME_1503499_RELATIVE      = 'J2000'
+      TKFRAME_1503499_MATRIX        = (
+
+         0.6732521982472339       0.7394129276360180       0.0000000000000000
+        -0.5896387605430040       0.5368794307891331       0.6033958972853946
+         0.4461587269353556      -0.4062376142607541       0.7974417791532832
+
+                                     )
+
+  \begintext
+
diff --git a/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/tgoCassisAddendum007.ti b/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/tgoCassisAddendum007.ti
new file mode 100644
index 0000000..ce10214
--- /dev/null
+++ b/tests/pytests/data/CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1/tgoCassisAddendum007.ti
@@ -0,0 +1,194 @@
+\begintext 
+The instrument addendum kernel for TGO CaSSIS camera.
+
+history 2017-01-13 Jeannie Backer - Original version.
+history 2017-02-03 Kris Becker - Added light time correction flags
+                       and filter offsets from beginning of CCD.
+history 2017-09-05 Stuart Sides - Added distortion coefficients (no longer appearing in IK).
+history 2017-09-13 Jeannie Backer - Updated distortion coefficients provided by S.Tulyakov (EPFL)
+                       and added documentation.
+history 2017-09-20 Kristin Berry - Moved unneeded filter offsets to text area and cleaned up file. 
+history 2018-03-13 Jeannie Backer - Updated focal length from 880.0 to 876, as
+                       recommended by S.Tulyakov (EPFL). Also updated filter boresight line/samp.
+history 2018-07-01 Kristin Berry - Updated focal length from 876 to 874.9 mm, as
+                       recommended by S.Tulyakov (EPFL). Also updated filter offset. 
+
+\begintext
+Values below come from the camera kernel.
+ 
+\begindata
+ INS-143400_PIXEL_PITCH      = 0.010
+ INS-143400_FOCAL_LENGTH     = 874.9
+ INS-143400_BORESIGHT_SAMPLE = 1024.5
+ INS-143400_BORESIGHT_LINE   = 1024.5
+ INS-143400_FILTER_LINES     = 2048
+ INS-143400_FILTER_SAMPLES   = 2048
+
+ INS-143421_FOCAL_LENGTH     = 874.9
+ INS-143421_BORESIGHT_SAMPLE = 1024.5
+ INS-143421_BORESIGHT_LINE   = 493.5
+ INS-143421_FILTER_LINES     = 280
+ INS-143421_FILTER_SAMPLES   = 2048
+
+ INS-143422_FOCAL_LENGTH     = 874.9
+ INS-143422_BORESIGHT_SAMPLE = 1024.5
+ INS-143422_BORESIGHT_LINE   = 839.5
+ INS-143422_FILTER_LINES     = 256
+ INS-143422_FILTER_SAMPLES   = 2048
+
+ INS-143423_FOCAL_LENGTH     = 874.9
+ INS-143423_BORESIGHT_SAMPLE = 1024.5
+ INS-143423_BORESIGHT_LINE   = 1175.5
+ INS-143423_FILTER_LINES     = 256
+ INS-143423_FILTER_SAMPLES   = 2048
+
+ INS-143424_FOCAL_LENGTH     = 874.9
+ INS-143424_BORESIGHT_SAMPLE = 1024.5
+ INS-143424_BORESIGHT_LINE   = 1516.5
+ INS-143424_FILTER_LINES     = 256
+ INS-143424_FILTER_SAMPLES   = 2048
+
+\begintext
+Filter Offsets, for reference. (No longer required by ISIS3.)
+
+ INS-143421_FILTER_OFFSET    = 354.0
+ INS-143422_FILTER_OFFSET    = 712.0
+ INS-143423_FILTER_OFFSET    = 1048.0
+ INS-143424_FILTER_OFFSET    = 1389.0
+
+\begintext
+Calculated using pixel pitch and 1/pixel pitch
+
+\begindata
+ INS-143400_TRANSX = ( 0.0, 0.010, 0.0 )
+ INS-143400_TRANSY  = ( 0.0, 0.0, 0.010 )
+ INS-143400_ITRANSS = ( 0.0, 100.0, 0.0 ) 
+ INS-143400_ITRANSL = ( 0.0, 0.0, 100.0 )
+
+\begintext
+
+ CASSIS OBSERVER/TARGET SWAPPING, STELLAR ABERRATION & LIGHT TIME CORRECTION:
+------------------------------------------------------------------------------
+
+The following table lists the TGO/CASSIS NAIF Ids that need to have parameters
+set that will provide the settings for handling light time/stellar aberration
+corrections as well as swap observer/target to set the correct order for NAIF
+calls to get s/c and target postion and attitude data.
+
+      Name                         NAIF ID
+     ---------------------        ---------
+      TGO_CASSIS                   -143400
+      TGO_CASSIS_PAN               -143421
+      TGO_CASSIS_RED               -143422
+      TGO_CASSIS_NIR               -143423
+      TGO_CASSIS_BLU               -143424
+
+
+\begindata
+
+  INS-143400_SWAP_OBSERVER_TARGET = 'TRUE'
+  INS-143400_LIGHTTIME_CORRECTION = 'LT+S'
+  INS-143400_LT_SURFACE_CORRECT   = 'TRUE'
+
+  INS-143421_SWAP_OBSERVER_TARGET = 'TRUE'
+  INS-143421_LIGHTTIME_CORRECTION = 'LT+S'
+  INS-143421_LT_SURFACE_CORRECT   = 'TRUE'
+
+  INS-143422_SWAP_OBSERVER_TARGET = 'TRUE'
+  INS-143422_LIGHTTIME_CORRECTION = 'LT+S'
+  INS-143422_LT_SURFACE_CORRECT   = 'TRUE'
+
+  INS-143423_SWAP_OBSERVER_TARGET = 'TRUE'
+  INS-143423_LIGHTTIME_CORRECTION = 'LT+S'
+  INS-143423_LT_SURFACE_CORRECT   = 'TRUE'
+
+  INS-143424_SWAP_OBSERVER_TARGET = 'TRUE'
+  INS-143424_LIGHTTIME_CORRECTION = 'LT+S'
+  INS-143424_LT_SURFACE_CORRECT   = 'TRUE'
+
+
+\begintext
+
+Optical Distortion -   Correcting distorted coordinates
+--------------------------------------------------------
+ Converting from distorted (i,j) to ideal (x,y).
+
+Rational correction model is described by following equation
+
+ chi = [ i^2, i*j, j^2, i, j, 1]
+
+          A_corr_1 * chi'
+ x =  ----------------------
+          A_corr_3 * chi'
+
+          A_corr_2 * chi'
+ y =  ----------------------
+          A_corr_3 * chi'
+
+ where (i, j) are distorted focal plane coordinates in millimeters
+       (x, y) are ideal focal plane coordinates in millimeters
+       A_corr_1, A_corr_2, A_corr_3 are 1x6 vectors, parameters of the rational correction model
+
+\begindata
+
+         INS-143400_OD_A1_CORR = (  0.00376130530948266,
+                                   -0.0134154156065812,
+                                   -1.86749521007237e-05,
+                                    1.00021352681836,
+                                   -0.000432362371703953,
+                                   -0.000948065735350123 )
+         INS-143400_OD_A2_CORR = (  9.9842559363676e-05,
+                                    0.00373543707958162,
+                                   -0.0133299918873929,
+                                   -0.000215311328389359,
+                                    0.995296015537294,
+                                   -0.0183542717710778 )
+         INS-143400_OD_A3_CORR = ( -3.13320167004204e-05,
+                                   -7.35655125749807e-06,
+                                   -1.57664245066771e-05,
+                                    0.00373549465439151,
+                                   -0.0141671946930935,
+                                    1.0 )
+\begintext
+
+Optical Distortion - Distorting ideal coordinates
+--------------------------------------------------------
+ Converting from ideal (x,y) to distorted (i,j).
+
+ Rational distortion model is described by following equation
+
+ chi = [ x^2, x*y, y^2, x, y, 1]
+
+          A_dist_1 * chi'
+ i =  ----------------------
+          A_dist_3 * chi'
+
+          A_dist_2 * chi'
+ j =  ----------------------
+          A_dist_3 * chi'
+
+ where (i, j) are distorted focal plane coordinates in millimeters
+       (x, y) are ideal focal plane coordinates in millimeters
+       A_dist_1, A_dist_2, A_dist_3 are 1x6 vectors, parameters of the rational distortion model
+
+\begindata
+
+         INS-143400_OD_A1_DIST = (  0.00213658795560622,
+                                   -0.00711785765064197,
+                                    1.10355974742147e-05,
+                                    0.573607182625377,
+                                    0.000250884350194894,
+                                    0.000550623913037132 )
+         INS-143400_OD_A2_DIST = ( -5.69725741015406e-05,
+                                    0.00215155905679149,
+                                   -0.00716392991767185,
+                                    0.000124152787728634,
+                                    0.576459544392426,
+                                    0.010576940564854 )
+         INS-143400_OD_A3_DIST = (  1.78250771483506e-05,
+                                    4.24592743471094e-06,
+                                    9.51220699036653e-06,
+                                    0.00215158425420738,
+                                   -0.0066835595774833,
+                                    0.573741540971609 )
+
diff --git a/tests/pytests/test_cassis_drivers.py b/tests/pytests/test_cassis_drivers.py
new file mode 100644
index 0000000..339c7b4
--- /dev/null
+++ b/tests/pytests/test_cassis_drivers.py
@@ -0,0 +1,294 @@
+import pytest
+import ale
+import os
+import json
+
+import numpy as np
+from ale.formatters.isis_formatter import to_isis
+from ale.base.data_isis import IsisSpice
+import unittest
+from unittest.mock import patch
+
+from conftest import get_image_label, get_image_kernels, convert_kernels, compare_dicts
+
+from ale.drivers.tgo_drivers import TGOCassisIsisLabelNaifSpiceDriver
+from conftest import get_image_kernels, convert_kernels, get_image_label
+
+@pytest.fixture()
+def isis_compare_dict():
+    return {
+  "CameraVersion": 1,
+  "NaifKeywords": {
+    "BODY499_RADII": [3396.19, 3396.19, 3376.2],
+    "BODY_FRAME_CODE": 10014,
+    "BODY_CODE": 499,
+    "INS-143400_FOV_ANGLE_UNITS": "DEGREES",
+    "INS-143400_OD_A3_DIST": [
+      1.78250771483506e-05,
+      4.24592743471094e-06,
+      9.51220699036653e-06,
+      0.00215158425420738,
+      -0.0066835595774833,
+      0.573741540971609
+    ],
+    "TKFRAME_-143400_ANGLES": [0.021, 0.12, -179.881],
+    "FRAME_-143400_CENTER": -143.0,
+    "INS-143400_FOV_CLASS_SPEC": "ANGLES",
+    "INS-143400_OD_A3_CORR": [
+      -3.13320167004204e-05,
+      -7.35655125749807e-06,
+      -1.57664245066771e-05,
+      0.00373549465439151,
+      -0.0141671946930935,
+      1.0
+    ],
+    "INS-143400_FOV_REF_VECTOR": [1.0, 0.0, 0.0],
+    "TKFRAME_-143400_AXES": [1.0, 2.0, 3.0],
+    "TKFRAME_-143400_SPEC": "ANGLES",
+    "INS-143400_OD_A2_DIST": [
+      -5.69725741015406e-05,
+      0.00215155905679149,
+      -0.00716392991767185,
+      0.000124152787728634,
+      0.576459544392426,
+      0.010576940564854
+    ],
+    "FRAME_-143400_NAME": "TGO_CASSIS_CRU",
+    "INS-143400_BORESIGHT": [0.0, 0.0, 1.0],
+    "INS-143400_ITRANSL": [0.0, 0.0, 100.0],
+    "TKFRAME_-143400_RELATIVE": "TGO_SPACECRAFT",
+    "INS-143400_ITRANSS": [0.0, 100.0, 0.0],
+    "INS-143400_FOV_CROSS_ANGLE": 0.67057,
+    "INS-143400_BORESIGHT_LINE": 1024.5,
+    "INS-143400_OD_A2_CORR": [
+      9.9842559363676e-05,
+      0.00373543707958162,
+      -0.0133299918873929,
+      -0.000215311328389359,
+      0.995296015537294,
+      -0.0183542717710778
+    ],
+    "INS-143400_SWAP_OBSERVER_TARGET": "TRUE",
+    "FRAME_-143400_CLASS_ID": -143400.0,
+    "INS-143400_LIGHTTIME_CORRECTION": "LT+S",
+    "INS-143400_BORESIGHT_SAMPLE": 1024.5,
+    "INS-143400_PIXEL_PITCH": 0.01,
+    "INS-143400_FOV_REF_ANGLE": 0.67057,
+    "INS-143400_FOV_SHAPE": "RECTANGLE",
+    "INS-143400_OD_A1_DIST": [
+      0.00213658795560622,
+      -0.00711785765064197,
+      1.10355974742147e-05,
+      0.573607182625377,
+      0.000250884350194894,
+      0.000550623913037132
+    ],
+    "INS-143400_FILTER_SAMPLES": 2048.0,
+    "INS-143400_FILTER_LINES": 2048.0,
+    "INS-143400_OD_A1_CORR": [
+      0.00376130530948266,
+      -0.0134154156065812,
+      -1.86749521007237e-05,
+      1.00021352681836,
+      -0.000432362371703953,
+      -0.000948065735350123
+    ],
+    "INS-143400_FOV_FRAME": "TGO_CASSIS_FSA",
+    "INS-143400_LT_SURFACE_CORRECT": "TRUE",
+    "INS-143400_NAME": "TGO_CASSIS",
+    "INS-143400_FOCAL_LENGTH": 874.9,
+    "FRAME_-143400_CLASS": 4.0,
+    "INS-143400_TRANSX": [0.0, 0.01, 0.0],
+    "INS-143400_TRANSY": [0.0, 0.0, 0.01],
+    "TKFRAME_-143400_UNITS": "DEGREES",
+    "FRAME_1503499_CLASS": 4.0,
+    "FRAME_1500499_SEC_FRAME": "J2000",
+    "FRAME_1500499_DEF_STYLE": "PARAMETERIZED",
+    "TKFRAME_1503499_SPEC": "MATRIX",
+    "FRAME_1500499_PRI_AXIS": "Z",
+    "BODY499_POLE_DEC": [52.8865, -0.0609, 0.0],
+    "FRAME_1502499_PRI_TARGET": "SUN",
+    "FRAME_1502499_CENTER": 499.0,
+    "FRAME_1501499_ANGLE_1_COEFFS": [-47.68143, 3.362106117068471e-11],
+    "FRAME_1502499_FAMILY": "TWO-VECTOR",
+    "FRAME_1503499_NAME": "MME2000",
+    "FRAME_1502499_SEC_TARGET": "SUN",
+    "FRAME_1501499_EPOCH": 0.0,
+    "FRAME_1500499_SEC_SPEC": "RECTANGULAR",
+    "FRAME_1501499_UNITS": "DEGREES",
+    "FRAME_1500499_CENTER": 499.0,
+    "FRAME_1502499_PRI_OBSERVER": "MARS",
+    "FRAME_1500499_FAMILY": "TWO-VECTOR",
+    "FRAME_1502499_SEC_VECTOR_DEF": "OBSERVER_TARGET_VELOCITY",
+    "FRAME_1500499_CLASS": 5.0,
+    "FRAME_1500499_SEC_VECTOR_DEF": "CONSTANT",
+    "FRAME_1501499_ANGLE_2_COEFFS": [-37.1135, -1.929804547874363e-11],
+    "FRAME_1500499_PRI_SPEC": "RECTANGULAR",
+    "BODY499_POLE_RA": [317.68143, -0.1061, 0.0],
+    "FRAME_1500499_PRI_VECTOR": [0.0, 0.0, 1.0],
+    "FRAME_1502499_PRI_VECTOR_DEF": "OBSERVER_TARGET_POSITION",
+    "TKFRAME_1503499_RELATIVE": "J2000",
+    "FRAME_1500499_NAME": "MME",
+    "FRAME_1500499_PRI_VECTOR_DEF": "CONSTANT",
+    "FRAME_1500499_SEC_VECTOR": [0.0, 0.0, 1.0],
+    "BODY499_PM": [176.63, 350.89198226, 0.0],
+    "FRAME_1502499_SEC_FRAME": "J2000",
+    "FRAME_1502499_PRI_ABCORR": "NONE",
+    "FRAME_1503499_CENTER": 499.0,
+    "FRAME_1502499_DEF_STYLE": "PARAMETERIZED",
+    "FRAME_1503499_CLASS_ID": 1503499.0,
+    "FRAME_1502499_RELATIVE": "J2000",
+    "FRAME_1502499_SEC_ABCORR": "NONE",
+    "FRAME_1501499_CLASS": 5.0,
+    "TKFRAME_1503499_MATRIX": [
+      0.6732521982472339,
+      0.7394129276360181,
+      0.0,
+      -0.589638760543004,
+      0.536879430789133,
+      0.6033958972853946,
+      0.4461587269353556,
+      -0.4062376142607541,
+      0.7974417791532832
+    ],
+    "FRAME_1502499_CLASS_ID": 1502499.0,
+    "FRAME_1501499_ANGLE_3_COEFFS": 0.0,
+    "FRAME_1501499_RELATIVE": "J2000",
+    "FRAME_1501499_NAME": "MME_IAU2000",
+    "FRAME_1501499_CENTER": 499.0,
+    "FRAME_1501499_CLASS_ID": 1501499.0,
+    "FRAME_1500499_RELATIVE": "J2000",
+    "FRAME_1501499_FAMILY": "EULER",
+    "FRAME_1502499_SEC_AXIS": "Y",
+    "FRAME_1502499_CLASS": 5.0,
+    "FRAME_1501499_DEF_STYLE": "PARAMETERIZED",
+    "FRAME_1500499_CLASS_ID": 1500499.0,
+    "FRAME_1500499_PRI_FRAME": "IAU_MARS",
+    "BODY499_GM": 42828.314,
+    "FRAME_1502499_PRI_AXIS": "X",
+    "FRAME_1502499_SEC_OBSERVER": "MARS",
+    "FRAME_1502499_NAME": "MSO",
+    "FRAME_1501499_AXES": [3.0, 1.0, 3.0],
+    "FRAME_1500499_SEC_AXIS": "Y"
+  },
+  "InstrumentPointing": {
+    "TimeDependentFrames": [-143410, -143400, -143000, 1],
+    "ConstantFrames" : [-143420, -143410],
+    "CkTableStartTime": 533471602.76595,
+    "CkTableEndTime": 533471602.76595,
+    "CkTableOriginalSize": 1,
+    "EphemerisTimes": [533471602.76595],
+    "Quaternions": [
+      [-0.38852078202718,
+       -0.53534661398878,
+       -0.74986993015978,
+       0.012275694110544
+      ]
+    ],
+    "AngularVelocity": [
+      [-5.18973909108511e-04,
+       -2.78782123621868e-04,
+       2.84462861654798e-04
+      ]
+    ],
+    "ConstantRotation": [
+        0.0021039880161896,
+        -5.08910327554815e-04,
+        0.99999765711961,
+        0.98482103650022,
+        0.17356149021485,
+        -0.0019837290716917,
+        -0.17356007404082,
+        0.98482290292452,
+        8.66356891752243e-04
+    ]
+  },
+  "BodyRotation": {
+    "TimeDependentFrames": [10014, 1],
+    "CkTableStartTime": 533471602.76595,
+    "CkTableEndTime": 533471602.76595,
+    "CkTableOriginalSize": 1,
+    "EphemerisTimes": [533471602.76595],
+    "Quaternions": [
+      [-0.84364286886959,
+       0.083472339272581,
+       0.30718999789287,
+       -0.43235793455935
+      ]
+    ],
+    "AngularVelocity": [
+        [3.16231952619494e-05,
+         -2.8811745785852e-05,
+         5.6516725802331e-05
+      ]
+    ]
+  },
+  "InstrumentPosition": {
+    "SpkTableStartTime": 533471602.76595,
+    "SpkTableEndTime": 533471602.76595,
+    "SpkTableOriginalSize": 1,
+    "EphemerisTimes": [533471602.76595],
+    "Positions": [
+      [-2707.0266303122,
+       2307.373459613,
+       2074.8887762465]
+    ],
+    "Velocities": [
+      [-1.6101681507607,
+       -4.1440662687653,
+       -0.48379032129765
+      ]
+    ]
+  },
+  "SunPosition": {
+    "SpkTableStartTime": 533471602.76595,
+    "SpkTableEndTime": 533471602.76595,
+    "SpkTableOriginalSize": 1,
+    "EphemerisTimes": [533471602.76595],
+    "Positions": [
+      [-206349081.4204,
+       17157784.002827,
+       13440194.20453
+      ]
+    ],
+    "Velocities": [
+      [-3.3908615862221,
+       -23.832213042409,
+       -10.839726759899
+      ]
+    ]
+  }
+}
+
+
+@pytest.fixture()
+def test_kernels(scope="module"):
+    kernels = get_image_kernels("CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1")
+    updated_kernels, binary_kernels = convert_kernels(kernels)
+    yield updated_kernels
+    for kern in binary_kernels:
+        os.remove(kern)
+
+def test_cassis_load(test_kernels, isis_compare_dict):
+    label_file = get_image_label("CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1", "isis")
+    isis_isd = ale.load(label_file, props={'kernels': test_kernels}, formatter="isis")
+
+    assert compare_dicts(isis_isd, isis_compare_dict) == []
+
+# ========= Test cassis ISIS label and naifspice driver =========
+class test_cassis_isis_naif(unittest.TestCase):
+
+    def setUp(self):
+      label = get_image_label("CAS-MCO-2016-11-26T22.32.14.582-RED-01000-B1", "isis")
+      self.driver = TGOCassisIsisLabelNaifSpiceDriver(label)
+
+    def test_short_mission_name(self):
+      assert self.driver.short_mission_name == "tgo"
+
+    def test_instrument_id(self):
+        assert self.driver.instrument_id == "TGO_CASSIS"
+
+    def test_ephemeris_start_time(self):
+        with patch("ale.drivers.viking_drivers.spice.utc2et", return_value=12345) as utc2et:
+            assert self.driver.ephemeris_start_time == 12345
+            utc2et.assert_called_with("2016-11-26 22:32:14.582000")
diff --git a/tests/pytests/test_kaguya_drivers.py b/tests/pytests/test_kaguya_drivers.py
index 3e874e5..a357707 100644
--- a/tests/pytests/test_kaguya_drivers.py
+++ b/tests/pytests/test_kaguya_drivers.py
@@ -102,18 +102,18 @@ def test_load(test_kernels):
             'semiminor': 1737.4,
             'unit': 'km'},
         'sensor_position': {
-            'positions': np.array([[  195493.28614388,   211984.05137213, -1766966.32185819],
-                                   [  194937.01104181,   211343.39987087, -1767100.47633473],
-                                   [  194380.68920347,   210702.70097122, -1767234.22276254],
-                                   [  193824.32093681,   210061.95495794, -1767367.56104995],
-                                   [  193267.90484827,   209421.16305764, -1767500.49120063],
-                                   [  192711.44397634,   208780.32318594, -1767633.01318365]]),
-            'velocities': np.array([[-1069.71225785, -1231.97438089,  -258.37880523],
-                                    [-1069.80205939, -1232.06556741,  -257.5939851 ],
-                                    [-1069.89161639, -1232.15647191,  -256.80910187],
-                                    [-1069.98092881, -1232.24709434,  -256.02415587],
-                                    [-1070.06999666, -1232.33743471,  -255.2391471 ],
-                                    [-1070.15881991, -1232.42749298,  -254.4540759 ]]),
+            'positions': np.array([[195490.61933009, 211972.79163854, -1766965.21759375],
+                                   [194934.34274256, 211332.14192709, -1767099.36601459],
+                                   [194378.02078141, 210691.44358962, -1767233.10640484],
+                                   [193821.65246371, 210050.69819792, -1767366.43865632],
+                                   [193265.23762617, 209409.90567475, -1767499.36279925],
+                                   [192708.77531467, 208769.0676026, -1767631.87872367]]),
+            'velocities': np.array([[-1069.71186948, -1231.97377674, -258.3672068 ],
+                                    [-1069.80166655, -1232.06495814, -257.58238805],
+                                    [-1069.89121909, -1232.15585752, -256.7975062 ],
+                                    [-1069.98052705, -1232.24647484, -256.01256158],
+                                    [-1070.06959044, -1232.3368101, -255.2275542 ],
+                                    [-1070.15840923, -1232.42686325, -254.44248439]]),
              'unit': 'm'},
          'sun_position': {
             'positions': np.array([[9.50465237e+10, 1.15903815e+11, 3.78729685e+09]]),
-- 
GitLab