{"_id":"t-a-i","_rev":"49-52cd04ed8ce14ace4b2d55080e12e5cf","name":"t-a-i","dist-tags":{"latest":"5.2.1"},"versions":{"1.0.0":{"name":"t-a-i","version":"1.0.0","author":"","license":"MIT","_id":"t-a-i@1.0.0","maintainers":[{"name":"ferno","email":"ferno.code@gmail.com"}],"dist":{"shasum":"bc28ef109b2881e675e174a7d25cdb7acfd95ba6","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-1.0.0.tgz","integrity":"sha512-pqToRR0+dUY3AGKuH6W2wutqB8GIJCDBDj/ca7DemxZiJz+2/T5OJtPHAfu1uuC0bNK3bfUJ8va7C9rgP38uHw==","signatures":[{"sig":"MEUCIQCPq09pA+thnHxFo56Hk2flx5+GmlfXx6ioyihfqc++hwIgK2WRxJP1aXg5ddRoePLBNBUKnMVh2Ruj8nlHEbrnuJ4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/t-a-i.js","_from":"t-a-i","_shasum":"bc28ef109b2881e675e174a7d25cdb7acfd95ba6","gitHead":"390c76d6f3731dc3a13023192776cf7f8980961e","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ferno","email":"ferno.code@gmail.com"},"_resolved":"file:t-a-i","deprecated":"t-a-i@1 is unmaintained and future leap seconds will not be added to it. Upgrading to a later version is highly encouraged. Check the CHANGELOG for the later version for upgrade instructions.","_npmVersion":"3.3.12","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"5.5.0","_npmOperationalInternal":{"tmp":"tmp/t-a-i-1.0.0.tgz_1477689266656_0.47598677314817905","host":"packages-12-west.internal.npmjs.com"}},"1.0.1":{"name":"t-a-i","version":"1.0.1","author":"","license":"MIT","_id":"t-a-i@1.0.1","maintainers":[{"name":"ferno","email":"ferno.code@gmail.com"}],"dist":{"shasum":"f264625de7b4b26c64b73ac2b8156ff3bdd6503e","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-1.0.1.tgz","integrity":"sha512-tfC2xNe/BFPE1JAkom+xGkQpT6M9lqcnyxv/e+LhVFu1Xf7Yl0M5uQiL6gvY00XjNpdDRM2EW822iQgxuO2wew==","signatures":[{"sig":"MEQCIEN/XmYtL0TtxRiQXBFQIjYT+qwfFiN0Dgcld1K+JlX7AiAGhmjlcaEF85psxd+DUxmyRAwvrp17ddE3V75y36z+ZA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/t-a-i.js","_from":".","_shasum":"f264625de7b4b26c64b73ac2b8156ff3bdd6503e","gitHead":"e9872e61dbd83037f30592cb31ac31f01b49e530","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ferno","email":"ferno.code@gmail.com"},"deprecated":"t-a-i@1 is unmaintained and future leap seconds will not be added to it. Upgrading to a later version is highly encouraged. Check the CHANGELOG for the later version for upgrade instructions.","_npmVersion":"3.3.12","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"5.5.0","_npmOperationalInternal":{"tmp":"tmp/t-a-i-1.0.1.tgz_1477689477060_0.3037631008774042","host":"packages-18-east.internal.npmjs.com"}},"1.0.2":{"name":"t-a-i","version":"1.0.2","author":"","license":"MIT","_id":"t-a-i@1.0.2","maintainers":[{"name":"ferno","email":"ferno.code@gmail.com"}],"dist":{"shasum":"1c0aaad19913199fdb426f038bf716d916032f07","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-1.0.2.tgz","integrity":"sha512-bIyjAIO/S1HNQXNq778Srx6YtjmO4ZW6hmHrwRUxTlbs7Gh0kEIWR3kVl+kgr24bQIBtwhXLv/hvEVb3sIsDew==","signatures":[{"sig":"MEQCICjoWtRGIxLjellCUPblTeH3sp5F0amonyE6DuxoZzOqAiB9s9FQq98GJ9QxX+g5lXUT8Lk+YesacS9qNxuw+K8LMA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/t-a-i.js","_from":".","_shasum":"1c0aaad19913199fdb426f038bf716d916032f07","gitHead":"1d841d384bc98d8107bfbf3e5b67b2aa668f45d9","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ferno","email":"ferno.code@gmail.com"},"deprecated":"t-a-i@1 is unmaintained and future leap seconds will not be added to it. Upgrading to a later version is highly encouraged. Check the CHANGELOG for the later version for upgrade instructions.","_npmVersion":"3.3.12","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"5.5.0","_npmOperationalInternal":{"tmp":"tmp/t-a-i-1.0.2.tgz_1477842330482_0.07987449085339904","host":"packages-12-west.internal.npmjs.com"}},"1.0.3":{"name":"t-a-i","version":"1.0.3","author":"","license":"MIT","_id":"t-a-i@1.0.3","maintainers":[{"name":"ferno","email":"ferno.code@gmail.com"}],"dist":{"shasum":"1c873f82fe0acce16eeaaddee01c01fe57da8d75","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-1.0.3.tgz","integrity":"sha512-75EJ6dVgZPezsd009CTmcVPnUogGtk9Pp6RJ29LY/kz1TftelVC5S3HWWSnWaUXXj5PiC7lTeJNDRfoGo1q/9w==","signatures":[{"sig":"MEQCICWzWPLZgAo8sbhFMr+bCPsPUEa6UyT9a40EePfvZwWnAiBD5LXD7XBo+leocUsawCpvfRc56AayhQeZSp13QYgcxQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/t-a-i.js","_from":".","_shasum":"1c873f82fe0acce16eeaaddee01c01fe57da8d75","gitHead":"804c3417a69a31f901ebf5af2d4f20c5f4d40189","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ferno","email":"ferno.code@gmail.com"},"deprecated":"t-a-i@1 is unmaintained and future leap seconds will not be added to it. Upgrading to a later version is highly encouraged. Check the CHANGELOG for the later version for upgrade instructions.","_npmVersion":"3.3.12","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"5.5.0","_npmOperationalInternal":{"tmp":"tmp/t-a-i-1.0.3.tgz_1477845001663_0.45601559057831764","host":"packages-18-east.internal.npmjs.com"}},"1.0.4":{"name":"t-a-i","version":"1.0.4","author":"","license":"MIT","_id":"t-a-i@1.0.4","maintainers":[{"name":"ferno","email":"ferno.code@gmail.com"}],"dist":{"shasum":"f82d7dd0aa917fb8e44f227a915c8c041a62ae40","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-1.0.4.tgz","integrity":"sha512-DjC5uhAWtZP2WzZBT554Xa14gnwCzPHgdMpSrTTJYZiP4TqWebBIShM9vwYk9DGlmGTneSYIgcAHByIXoSBEuQ==","signatures":[{"sig":"MEUCIHR0r6XdPH+wXkXrx2ZurnGqHowF+FMLRurqbNJxmqHJAiEA4VWKsmIly4h5MwCeNo21biR87DET468PpE7GAcuhcI4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/t-a-i.js","_from":".","_shasum":"f82d7dd0aa917fb8e44f227a915c8c041a62ae40","gitHead":"90ad8c25f0f71afc6af8f86e789ee3dc83c6d030","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ferno","email":"ferno.code@gmail.com"},"deprecated":"t-a-i@1 is unmaintained and future leap seconds will not be added to it. Upgrading to a later version is highly encouraged. Check the CHANGELOG for the later version for upgrade instructions.","_npmVersion":"3.3.12","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"5.5.0","_npmOperationalInternal":{"tmp":"tmp/t-a-i-1.0.4.tgz_1477846369442_0.11281116842292249","host":"packages-18-east.internal.npmjs.com"}},"1.0.5":{"name":"t-a-i","version":"1.0.5","author":"","license":"MIT","_id":"t-a-i@1.0.5","maintainers":[{"name":"ferno","email":"ferno.code@gmail.com"}],"dist":{"shasum":"14eb164aedc7f65273bc6e8c443045d5d3c36599","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-1.0.5.tgz","integrity":"sha512-wVesl99Ql5Zh/MAc5oV1puMFDgDXpu6I844GS39TbHnNh0MJ7kceY1KFY+Wt7lG/4FvPo7mJKZ12bC4ukDzZag==","signatures":[{"sig":"MEUCIQDbQmMeueN37xyOXlLapCuxYo2iEqMmTbsisNgtBp21YwIgTAeQ3IKADCBP2VwTcVy/FIvEKHxkAVnow4UAdzEPjD8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/t-a-i.js","_from":".","_shasum":"14eb164aedc7f65273bc6e8c443045d5d3c36599","gitHead":"b9bb7590e64a53a2eb772d253814980060b47b0c","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ferno","email":"ferno.code@gmail.com"},"deprecated":"t-a-i@1 is unmaintained and future leap seconds will not be added to it. Upgrading to a later version is highly encouraged. Check the CHANGELOG for the later version for upgrade instructions.","_npmVersion":"3.3.12","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"5.5.0","_npmOperationalInternal":{"tmp":"tmp/t-a-i-1.0.5.tgz_1477847684058_0.9846278470940888","host":"packages-12-west.internal.npmjs.com"}},"1.0.6":{"name":"t-a-i","version":"1.0.6","author":"","license":"MIT","_id":"t-a-i@1.0.6","maintainers":[{"name":"ferno","email":"ferno.code@gmail.com"}],"dist":{"shasum":"1c74fe973a9bfaaf005cb58bf11650d28a76fa05","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-1.0.6.tgz","integrity":"sha512-xasxfEGdYvBnFAQLftnR1lwAEiyVPtvbMZT0mbSYGTceqzBVjDRV7fssiINvWiZU1XpXXPOi5C2GDZCqU1QbAQ==","signatures":[{"sig":"MEYCIQDlKp+yANzNgi0zBoZ2JH3lxrCop1936UogVgcsI09ZsAIhAOB+iy+IKV2/1JmGKwlK3lkxVt1GI2YaFrKbkIog507B","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/t-a-i.js","_from":".","_shasum":"1c74fe973a9bfaaf005cb58bf11650d28a76fa05","gitHead":"af8d161c43e9d9dade1b682bd1eba40f08711eec","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ferno","email":"ferno.code@gmail.com"},"deprecated":"t-a-i@1 is unmaintained and future leap seconds will not be added to it. Upgrading to a later version is highly encouraged. Check the CHANGELOG for the later version for upgrade instructions.","_npmVersion":"3.3.12","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"5.5.0","_npmOperationalInternal":{"tmp":"tmp/t-a-i-1.0.6.tgz_1477956165980_0.10472545097582042","host":"packages-12-west.internal.npmjs.com"}},"1.0.7":{"name":"t-a-i","version":"1.0.7","author":"","license":"MIT","_id":"t-a-i@1.0.7","maintainers":[{"name":"ferno","email":"ferno.code@gmail.com"}],"dist":{"shasum":"7717a28ff77ed00018781b4a4b43da14c3f4ceb7","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-1.0.7.tgz","integrity":"sha512-CuWN3MaJLp+BmwI840LSrTKPm8H5WFLiy/lSSmnna80aHuO7A22Zcu+Izcl/m/n9HiErSiZk2M8aAbZq0A10FQ==","signatures":[{"sig":"MEUCIQDAAm6D3yEKQIzGrk2RsS92QIkuIElm6lkzWNVgB4orZAIgS2Vvd/B3ldIc+CGyuRtd+uvm9Bsb09C7FAdNCnP06Xs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/t-a-i.js","_from":".","_shasum":"7717a28ff77ed00018781b4a4b43da14c3f4ceb7","gitHead":"6820b7841d4b43d5691127197facee1b1d3de7a6","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ferno","email":"ferno.code@gmail.com"},"deprecated":"t-a-i@1 is unmaintained and future leap seconds will not be added to it. Upgrading to a later version is highly encouraged. Check the CHANGELOG for the later version for upgrade instructions.","_npmVersion":"3.3.12","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"5.5.0","_npmOperationalInternal":{"tmp":"tmp/t-a-i-1.0.7.tgz_1478048075625_0.48352507199160755","host":"packages-12-west.internal.npmjs.com"}},"1.0.8":{"name":"t-a-i","version":"1.0.8","author":"","license":"MIT","_id":"t-a-i@1.0.8","maintainers":[{"name":"ferno","email":"ferno.code@gmail.com"}],"dist":{"shasum":"1182b1142b7fe14ae39369f02fc1b3865bb28421","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-1.0.8.tgz","integrity":"sha512-j0Th1HsqY15Pw/Xe3DZmwJ/myrUdx3vmLaUHm2Ip/K6FdZXE+4xQyaCgLzM2qDg7M5xlAkNn4589zop8e0wcFw==","signatures":[{"sig":"MEUCIQCiVGp91G/A+N8aCQYe1mn8NxPWargsENO8olJkcxjjkQIgUvj//sJ+HSn2iTsBW/+tbvQY2ltl64xb4NXoqKbv8RA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/t-a-i.js","_from":".","_shasum":"1182b1142b7fe14ae39369f02fc1b3865bb28421","gitHead":"1682dd39ab1ab922094d6026e8bcaa3d9c9e4ff2","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ferno","email":"ferno.code@gmail.com"},"deprecated":"t-a-i@1 is unmaintained and future leap seconds will not be added to it. Upgrading to a later version is highly encouraged. Check the CHANGELOG for the later version for upgrade instructions.","_npmVersion":"3.3.12","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"5.5.0","_npmOperationalInternal":{"tmp":"tmp/t-a-i-1.0.8.tgz_1478133079062_0.38425821461714804","host":"packages-18-east.internal.npmjs.com"}},"1.0.9":{"name":"t-a-i","version":"1.0.9","author":"","license":"MIT","_id":"t-a-i@1.0.9","maintainers":[{"name":"ferno","email":"ferno.code@gmail.com"}],"dist":{"shasum":"f738485bac238f9c61e208a863c8c8f426bf272d","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-1.0.9.tgz","integrity":"sha512-YT+K9Ml4UfuEfKA3fizZ1F0Ke68jXh/yVCNnx0sHjRin5HJGofTXEOQtJPfUYTCs5xXJurTNPBRDMj2BWt6YvA==","signatures":[{"sig":"MEUCIQD+3Vt3lYFAwr3cXSG1Oa/ww+Xi12ndWNEnmQ90vAkOLwIgDd8nNryQpKUYOovrrZwjXGHPJ7MVtbG6vzI+bz61C4o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/t-a-i.js","_from":".","_shasum":"f738485bac238f9c61e208a863c8c8f426bf272d","gitHead":"e4d3b7fa9ea71d68b7f1a001c98fe5f8410ea14b","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ferno","email":"ferno.code@gmail.com"},"deprecated":"t-a-i@1 is unmaintained and future leap seconds will not be added to it. Upgrading to a later version is highly encouraged. Check the CHANGELOG for the later version for upgrade instructions.","_npmVersion":"3.3.12","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"5.5.0","_npmOperationalInternal":{"tmp":"tmp/t-a-i-1.0.9.tgz_1478214137271_0.7596788632217795","host":"packages-12-west.internal.npmjs.com"}},"1.0.10":{"name":"t-a-i","version":"1.0.10","author":"","license":"MIT","_id":"t-a-i@1.0.10","maintainers":[{"name":"ferno","email":"ferno.code@gmail.com"}],"dist":{"shasum":"b6405887ab2a8ba2dce9a372a18258824c818411","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-1.0.10.tgz","integrity":"sha512-C56XW2cEvEObq2GqPqgZoVVmWDUD3AS2UfR0wCqglQT8sh8obZw8aVNqz01saqewgttq2QYPT1zyCSWniuLlsg==","signatures":[{"sig":"MEYCIQC8Geo9ABbC5XPvuOhCgqb6N371kmmKUwfJKoT5MT5XXAIhAOGG6C/I1empzP+hAZ5M1xnHshQEghO3mcBM77OC0q3m","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/t-a-i.js","_from":".","_shasum":"b6405887ab2a8ba2dce9a372a18258824c818411","gitHead":"680457886264d951946cc77570b61eceb1369e43","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ferno","email":"ferno.code@gmail.com"},"deprecated":"t-a-i@1 is unmaintained and future leap seconds will not be added to it. Upgrading to a later version is highly encouraged. Check the CHANGELOG for the later version for upgrade instructions.","_npmVersion":"3.3.12","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"5.5.0","_npmOperationalInternal":{"tmp":"tmp/t-a-i-1.0.10.tgz_1478302637924_0.396080274367705","host":"packages-18-east.internal.npmjs.com"}},"1.0.11":{"name":"t-a-i","version":"1.0.11","author":"","license":"MIT","_id":"t-a-i@1.0.11","maintainers":[{"name":"ferno","email":"ferno.code@gmail.com"}],"homepage":"https://github.com/ferno/t-a-i#readme","bugs":{"url":"https://github.com/ferno/t-a-i/issues"},"dist":{"shasum":"5bf077c78e34372f7ea57bc0e7b6eec92bb706db","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-1.0.11.tgz","integrity":"sha512-P3/HphKI9ws6oBUEyaiHC5QC8iqDAEFlGwH80ztAPxLGbW/yX5G2XSOdeRa88TRMymjMyYfu3CDfU7c6fc80Mw==","signatures":[{"sig":"MEUCICg+8K54AhM28kViAs2y5Ep6viDG4D/DXWzWDioQB/n/AiEAzgGa9ujyuc6HNSEAty6y3sL3R0wP5XRPJT5cG5EnyeM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/t-a-i.js","_from":".","_shasum":"5bf077c78e34372f7ea57bc0e7b6eec92bb706db","gitHead":"278085ab5007f5ba5f9b20feb4fe159ddf68a087","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ferno","email":"ferno.code@gmail.com"},"deprecated":"t-a-i@1 is unmaintained and future leap seconds will not be added to it. Upgrading to a later version is highly encouraged. Check the CHANGELOG for the later version for upgrade instructions.","repository":{"url":"git+https://github.com/ferno/t-a-i.git","type":"git"},"_npmVersion":"3.3.12","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"5.5.0","_npmOperationalInternal":{"tmp":"tmp/t-a-i-1.0.11.tgz_1478353138439_0.8863029284402728","host":"packages-18-east.internal.npmjs.com"}},"1.0.12":{"name":"t-a-i","version":"1.0.12","author":"","license":"MIT","_id":"t-a-i@1.0.12","maintainers":[{"name":"ferno","email":"ferno.code@gmail.com"}],"homepage":"https://github.com/ferno/t-a-i#readme","bugs":{"url":"https://github.com/ferno/t-a-i/issues"},"dist":{"shasum":"86b1158c5dfed01a389ec2900769cb00a4d2462c","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-1.0.12.tgz","integrity":"sha512-RBOm+7yrl6oJQmv2RHWVtqMn96ybfAkP8lA6pvU6R0Oy5qufKexIGV8+ZG2I+5AIRslE51kAl1VlbF34EgD7qw==","signatures":[{"sig":"MEYCIQCAjO51oA4bZS5V9UJVey9SfXs28UarSpv3XwwO4PIfMAIhAJHi2WjQoPZ40xDNhRBBJ1RmeptfE2OrDZ3EckXKBqUp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/t-a-i.js","_from":".","_shasum":"86b1158c5dfed01a389ec2900769cb00a4d2462c","gitHead":"779c9d46f6f5e29a16d1f0ae186781a92fb6164c","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ferno","email":"ferno.code@gmail.com"},"deprecated":"t-a-i@1 is unmaintained and future leap seconds will not be added to it. Upgrading to a later version is highly encouraged. Check the CHANGELOG for the later version for upgrade instructions.","repository":{"url":"git+https://github.com/ferno/t-a-i.git","type":"git"},"_npmVersion":"3.3.12","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"5.5.0","_npmOperationalInternal":{"tmp":"tmp/t-a-i-1.0.12.tgz_1479414648150_0.2988792546093464","host":"packages-18-east.internal.npmjs.com"}},"1.0.13":{"name":"t-a-i","version":"1.0.13","author":"","license":"MIT","_id":"t-a-i@1.0.13","maintainers":[{"name":"ferno","email":"ferno.code@gmail.com"}],"homepage":"https://github.com/qntm/t-a-i#readme","bugs":{"url":"https://github.com/qntm/t-a-i/issues"},"dist":{"shasum":"3d1d1b78e80287455c238874b28df9b4f7ada100","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-1.0.13.tgz","integrity":"sha512-/i6TdV5L5Z15wTy+DNjsKGZrxC4tYvWUIrybJHLXw8yiA9114D29D9O9FfS2XR1FA0e50YhHS68XI0l23ynGTQ==","signatures":[{"sig":"MEUCICNYcUPlqF7gjf7BAV6c3UcV386VJPITsndOKzS4noNgAiEAruhEXksZr/eWzSSQyyQrnZJ53JKxc0e2J06azGIb5w8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/t-a-i.js","_from":".","_shasum":"3d1d1b78e80287455c238874b28df9b4f7ada100","gitHead":"65e4a8f8bf588609f323c2182865949a37278d62","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"ferno","email":"ferno.code@gmail.com"},"deprecated":"t-a-i@1 is unmaintained and future leap seconds will not be added to it. Upgrading to a later version is highly encouraged. Check the CHANGELOG for the later version for upgrade instructions.","repository":{"url":"git+https://github.com/qntm/t-a-i.git","type":"git"},"_npmVersion":"4.0.5","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"7.4.0","_npmOperationalInternal":{"tmp":"tmp/t-a-i-1.0.13.tgz_1495386880032_0.5847121016122401","host":"s3://npm-registry-packages"}},"1.0.14":{"name":"t-a-i","version":"1.0.14","author":{"name":"qntm"},"license":"MIT","_id":"t-a-i@1.0.14","maintainers":[{"name":"qntm","email":"qntm.code@gmail.com"}],"homepage":"https://github.com/qntm/t-a-i#readme","bugs":{"url":"https://github.com/qntm/t-a-i/issues"},"dist":{"shasum":"1c72eec057d430d64bfc37fd9d93f8f361e61ca6","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-1.0.14.tgz","integrity":"sha512-EPxugpezwoDQfQOyh9C9suXyI6gd7+eo8vbGfufWrVg+Be0n7641qx9AA+VBIezQbie/cPm9njdTuiRhUkocHg==","signatures":[{"sig":"MEUCIDmqEj7wJCLKZ2VLcutODa0Rn28OVZXMJYYuwVHT+wb9AiEAlaG8BN5e+OcDI8fcST47fjZvZdeYmWpavqrc7Nsq/7M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/t-a-i.js","_from":".","_shasum":"1c72eec057d430d64bfc37fd9d93f8f361e61ca6","gitHead":"65e4a8f8bf588609f323c2182865949a37278d62","scripts":{"test":"npm run jasmine -- test/*.js","jasmine":"jasmine","standard":"standard"},"_npmUser":{"name":"qntm","email":"qntm.code@gmail.com"},"deprecated":"t-a-i@1 is unmaintained and future leap seconds will not be added to it. Upgrading to a later version is highly encouraged. Check the CHANGELOG for the later version for upgrade instructions.","repository":{"url":"git+https://github.com/qntm/t-a-i.git","type":"git"},"_npmVersion":"4.0.5","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"7.4.0","devDependencies":{"jasmine":"^2.8.0","standard":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/t-a-i-1.0.14.tgz_1510358320122_0.3917146304156631","host":"s3://npm-registry-packages"}},"1.0.15":{"name":"t-a-i","version":"1.0.15","author":{"name":"qntm"},"license":"MIT","_id":"t-a-i@1.0.15","maintainers":[{"name":"qntm","email":"qntm.code@gmail.com"}],"homepage":"https://github.com/qntm/t-a-i#readme","bugs":{"url":"https://github.com/qntm/t-a-i/issues"},"dist":{"shasum":"d6f82343c572e59c06e6096f5ec2053afa2ae130","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-1.0.15.tgz","integrity":"sha512-Saw2wa2UKDX+sa3GFD0RjzRr8TRNKsl1isr7S4dA3gqjSVLYd3sKckaIs+RTpmqkw0k47xYuhxr3WjVT7cRwRg==","signatures":[{"sig":"MEUCIQDiMu9h5xmh6AI17RQxeTsMvwZgE6dPi1MlcMN+b6kq7wIgX33Y3xuRoM9sZkLwmR6fFiZxkJuXsuv0jDNhOmBYhPM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/t-a-i.js","_from":".","_shasum":"d6f82343c572e59c06e6096f5ec2053afa2ae130","gitHead":"65e4a8f8bf588609f323c2182865949a37278d62","scripts":{"test":"npm run jasmine -- test/*.js","jasmine":"jasmine","standard":"standard"},"_npmUser":{"name":"qntm","email":"qntm.code@gmail.com"},"deprecated":"t-a-i@1 is unmaintained and future leap seconds will not be added to it. Upgrading to a later version is highly encouraged. Check the CHANGELOG for the later version for upgrade instructions.","repository":{"url":"git+https://github.com/qntm/t-a-i.git","type":"git"},"_npmVersion":"4.0.5","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"7.4.0","devDependencies":{"jasmine":"^2.8.0","standard":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/t-a-i-1.0.15.tgz_1510358545228_0.0008055404759943485","host":"s3://npm-registry-packages"}},"1.0.16":{"name":"t-a-i","version":"1.0.16","author":{"name":"qntm"},"license":"MIT","_id":"t-a-i@1.0.16","maintainers":[{"name":"qntm","email":"qntm.code@gmail.com"}],"homepage":"https://github.com/qntm/t-a-i","bugs":{"url":"https://github.com/qntm/t-a-i/issues"},"dist":{"shasum":"1a9351af3708f76b990d541c151f068263323d2e","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-1.0.16.tgz","fileCount":10,"integrity":"sha512-4nw1X9uOEINPTCs8YnhQvOLllFz/Zrw3Amn2x05McY88BEu4BkMNWkKAWWeQJK9cEevCts5tA9PDh/ZSCnqG3g==","signatures":[{"sig":"MEUCIEWuHFxdABkd43ZNJ1aUgiOhhZG7U2SdeTI5JcHGryLCAiEApV1o+lE8z04frnyI48qUrTTEmhKz5v9dug5vk33QOV4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":187925,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfJwd0CRA9TVsSAnZWagAAHn0QAIXaYkVec/UeLhtoVtDC\ndzIAicOQw9XbogAzH2KBto6ZRvwZoTlrmy0v8j1l0IdIZFV+Kh46Omz1Vp3H\n01T4c8IPDjXuCcaQLv0Uhami2iENSEcp1TVX1Bg9U6btqXvvDwNoWnHIUXCh\nnssfVak6Bcg/2ussRPQ8eKUsyTGZfl+bxWPVmlk5tfQh6vhVbNw/uyMi36nY\nravgj/WdE3J/baeCIU5+CYPur4UMMo9dZyLdp+qPwjTMQjS/L/Xo8Ca99eMZ\nRog7uhkXrQvO55oYDM/iS0eyRZzVNDXpE4xDqJ/OJOpoK5ohrVy8sQ9jEOqJ\nI43C0aqE8TyctcR5nPdLzAcTSAW+npYPSOE7yy4MhtazynONhpjMNcFQUl9u\ntcmJ2l2bjSoQLrDz2BeasyAVnwbWpdB9jBWCVYIpoRE851bFDU712VlGtI5y\nNoJNLRBp+qJqU4G3Fev0igfyKvkofTn2c+usvkSCX52hTvhBypQqVQ7e989f\n0WjL2GUvkD3ZOgYjlys6FRab/9m3I19GbWh+aSztHmsvDUcwjh8giAFRJCZc\n7kuZBb6YSUvC38bJDielesfwhuCE9Z0BcqYcILjOxXX5EIheNI4f3/bSghuY\nd2yUG/clsG2nAaR/TCi6LE8CFLHwFuNGBk9pjOWNIrd7XTF3u9bHPoAk1E0D\njp3u\r\n=Fj8Y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/t-a-i.js","gitHead":"1f5e951be000ba13ec61bbb25570c1c38d582dd0","scripts":{"test":"npm run jasmine -- test/*.js","jasmine":"jasmine","standard":"standard"},"_npmUser":{"name":"qntm","email":"qntm.code@gmail.com"},"deprecated":"t-a-i@1 is unmaintained and future leap seconds will not be added to it. Upgrading to a later version is highly encouraged. Check the CHANGELOG for the later version for upgrade instructions.","repository":{"url":"git://github.com/qntm/t-a-i.git","type":"git"},"_npmVersion":"6.12.0","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"12.13.0","_hasShrinkwrap":false,"devDependencies":{"jasmine":"^2.8.0","standard":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/t-a-i_1.0.16_1596393331853_0.5813752368534859","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"t-a-i","version":"2.0.0","author":{"name":"qntm"},"license":"MIT","_id":"t-a-i@2.0.0","maintainers":[{"name":"qntm","email":"qntm.code@gmail.com"}],"homepage":"https://github.com/qntm/t-a-i","bugs":{"url":"https://github.com/qntm/t-a-i/issues"},"dist":{"shasum":"4eb45947460839fb99098b7e14a39d3a61b63854","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-2.0.0.tgz","fileCount":8,"integrity":"sha512-fmkPiw7Gp1II3aQELCQIuIJwYKxQTWWKVJIAHevXEJuA+LhDJmWNm+TE8ETek2rd24hklz/kbPr9HJ4/EoMIug==","signatures":[{"sig":"MEYCIQCN0Khv1UmO+v+I2hMzWu/hPdMRdd23AyPUoA0AcBV7vwIhALJ4hCdO0BpSHmVEGazytS5dAPm1r8fFs5zAZFCkv3t8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26766,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3Ss8CRA9TVsSAnZWagAAzDsP/RMsEPXO8G5VZ2lvYT9F\nJOV44mco9853CnBhW+jIoMzTfpm/Kyjuq22O2xPq8Sfa0vWzXTFLbI4mMVmr\nTFxXJ8DGsfdMZeHLqSrFcTSVHGXmAoaIEtL16uM0U9T7e6tQ0NEuVr5f/tc3\n+QBJFZMMew5Vk+B8TC69ccuS+oIMcd+mUPjzr1NEt9QNMwcgN9WO3XboNbYH\nhW0yIAw/xgugp6VY3n87wdiWmF8zDuaZaNVU8cksEq7ZSkhuairtr6oE98QH\nr6XCG8WlUPmaBiDakmuR1dECZHts7m8H0WbtI/9rCJjLpt/ICnmMVITqLPOV\nSYRVb0xoe/hG6dyFALQKZ7qKl2y4gzxwh/vq61VIKg/JTas/Q95/1uLSDoDa\n/6Bno1YnNjBtTLzsn+k3qK4PXvSmMDdxG0jeAMufel1FEVf6QQCdrdkFfq/8\ngIaRh8hfZj/lczsbvPRPyaX7TkhW/2FzckBGS34qS9iFLOT6vmO8rbsfhDEE\n2VRJJGz/0znqzZKaR7DFbt8V/45ldMrQPEiya9R72TqC8/NKeyS9PcYzKXNR\np5+6Wj11jGJ0bP2cMQdKC+1p9CbfkCje0GEsWsCBTLfMg+aMEQZmqfMwcAH0\npgY2dG0WrmBVEwdzPBYMG1gLyAALXJLlau3ZyK6bK8/tGA653kL78MNFnqbJ\nfbXP\r\n=ezx+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src","gitHead":"9df36567d8340ef9d323f11ce93ed59a4fdfbb11","scripts":{"test":"standard --fix && jest","postpublish":"npm version patch && git push"},"_npmUser":{"name":"qntm","email":"qntm.code@gmail.com"},"deprecated":"t-a-i@2 is unmaintained and future leap seconds will not be added to it. Upgrading to a later version is highly encouraged. Check the CHANGELOG for the later version for upgrade instructions.","repository":{"url":"git://github.com/qntm/t-a-i.git","type":"git"},"_npmVersion":"6.12.0","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"12.13.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^25.2.3","standard":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/t-a-i_2.0.0_1608330043693_0.7991693216123092","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"t-a-i","version":"2.0.1","author":{"name":"qntm"},"license":"MIT","_id":"t-a-i@2.0.1","maintainers":[{"name":"qntm","email":"qntm.code@gmail.com"}],"homepage":"https://github.com/qntm/t-a-i","bugs":{"url":"https://github.com/qntm/t-a-i/issues"},"dist":{"shasum":"7eb7e9ec6215943afa037bee36df6867e3d305aa","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-2.0.1.tgz","fileCount":8,"integrity":"sha512-955ecjuBxmYpGv0O4zU1WGPoI4cwY62+MQh5gAimqg6IFQVOvANJ3F/6KnNo6qfUvibx7g6AvJ4A3o9ChQAFpg==","signatures":[{"sig":"MEQCICHUCfbipEr7UcDzJXI12d88taU3tEm0gFoDUiMFBisXAiBQcLzufaLgRTb0BlaQFFI3chlGtCGeWqhaj4qT3Thr1w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27635,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3hCYCRA9TVsSAnZWagAAx1kP/jNRMYUPquJR2OIkNqsI\nNaHaK/Vr51raR4W52Z30OixZ/orFi4nrvy4Nksw+PuSpEGt/xceXp3uXw4xf\nSew6NkMuq6Q61h+0WgoeJBPmaQaevKt/PqX/pVgLcTeN/nIpqY3VOwdxhpkk\ngWkQgcAmPIee6r0TI1HrxVCoLP5MA1n1Q91DLBf5llo4gWn8sBDS8STutZg9\ni5nSp4K3XJUv4ZC49RzHD6FcuueT1f/it+6nirLqOCUZYU8nN3xAaTz6Hgdz\nQ2BSVdPV6LRciGpxb/24PKRNDkyOE+BmTkmdhP6DrZcqiDGXxSH1gsaffSZx\nykNOD2Sh1wjCfSCyF8BD9SDIAFo6bNK38BkT1iG+uHWfQC/xRkbEKKi1wCtx\nj0nuz4OXd3+KTGa3NLnXj8tWyQ2TihiyeFDwFCJ0BxmiLP5G30qbYwwkddoC\n492ig8NkNd0me/WJgVS2xy4RUYVYm1P2jALBs34Xe0gBrd1gHVsqBRFYDWyN\nkIK1L3yp3/N/D6mCOYlkJ2bkxQybZDqqSOu3EvcGI4Qp8/y89GYjiutoJotT\nVpxVN57CYOHTVlYHUAjAun2K3Mn7rruD5vaVX6MWK9HS4Xl0kcU2TCgMbEhT\najb+DKnakjXdSHfIMbu+dsB7Nqgi+vXimO4Krb3ZVDbKvAuvVTvmW2YYoWoi\n9U99\r\n=UGCh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src","gitHead":"16866433148d8c8bfe87326aa09c558cc2f6eb79","scripts":{"test":"standard && jest","postpublish":"npm version patch && git push"},"_npmUser":{"name":"qntm","email":"qntm.code@gmail.com"},"deprecated":"t-a-i@2 is unmaintained and future leap seconds will not be added to it. Upgrading to a later version is highly encouraged. Check the CHANGELOG for the later version for upgrade instructions.","repository":{"url":"git://github.com/qntm/t-a-i.git","type":"git"},"_npmVersion":"6.12.0","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"12.13.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^25.2.3","standard":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/t-a-i_2.0.1_1608388760258_0.831849965088514","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"t-a-i","version":"2.1.0","author":{"name":"qntm"},"license":"MIT","_id":"t-a-i@2.1.0","maintainers":[{"name":"qntm","email":"qntm.code@gmail.com"}],"homepage":"https://github.com/qntm/t-a-i","bugs":{"url":"https://github.com/qntm/t-a-i/issues"},"dist":{"shasum":"8eed2a51f29a63afba79932902bdafe06d56739a","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-2.1.0.tgz","fileCount":8,"integrity":"sha512-RgruH+RMf6WMJS0d/qwxuZTIRzLyUSCEeM2+e8pFs2UvMxm44hqreh3lmGn6VHwkhfjKgb4lhflu3jY3Fug8jQ==","signatures":[{"sig":"MEUCIQD0KggbRe3XBbwW/WxxoTRwa9XCQYhD1H6KVTFINCsqbgIgYp1byxxUNlqZZq3f9I2IsygbNU6MsVun9RtTQTbvl4w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30643,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZ4iQCRA9TVsSAnZWagAAXqwP/ipjMfk5MAxDpF1vZ0HG\n456wLhv7anqT5lllYavLTjycAUk+md9DFSOnhNIPTrjWPSbYltRNRYpHzNcv\n3Xje1G/Vnzkx5rapneARlmVvPFjYqYlBXu+0j5573S3tUjLU1Qu0m3mPJ+jt\nWAkDOHwEnlRTCUYEu83Kq3QmNTg8nyrY5GkgQXsLaGqU+s7RC2zV/ufkkPEk\nXCPraaYVV7nf/4oxBpQyFEejkXY4xKuu/+XID+nCvR30fQ34qBWMH2m2SdIn\nWdTgt7A5RZ0gJiaibtNatOl95saJLKTcqI3NxJ50rNVoqU6VbAUFgM8FWo9j\nTZxsyBkUEN5OVtxwBEl0wyi+IQkxIQkzToaNLOeN+EhFOiTYRU+DT/Z8QZ7N\n/sqcSRbtxFm+mRcfXi8thH+E8i17isohi1pGHBgxNEIqcTIzh4bwMrwsWTkn\n/krrbnxHGySiXpSCOPwEBS4WBYx4GUe+UOwb82HKma5f788kal4WXzPIGkpi\nExsapZaKVWb7UDxfYP7aFYgZsbXC9fW5aP1NFP6POEgHJT59j1hYuVaEuOU+\nBn5hhKOdpAV5ED2FEx41rIC+M8iwltzEuxxcJhcAl5HU+JqXxe+WcqotyM3J\nr2EH1qlqUrl7rtqflNgmyUYgz++1JgeMYzcD/hwebEvM4MF2ANhoG2dB4PNy\nZVj7\r\n=U23S\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src","gitHead":"a12daf7a2ca6b628d5a87e12295da6ea6d7195bb","scripts":{"test":"standard && jest","postpublish":"npm version patch && git push"},"_npmUser":{"name":"qntm","email":"qntm.code@gmail.com"},"deprecated":"t-a-i@2 is unmaintained and future leap seconds will not be added to it. Upgrading to a later version is highly encouraged. Check the CHANGELOG for the later version for upgrade instructions.","repository":{"url":"git://github.com/qntm/t-a-i.git","type":"git"},"_npmVersion":"6.12.0","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"12.13.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","standard":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/t-a-i_2.1.0_1617397904373_0.946563085382014","host":"s3://npm-registry-packages"}},"2.1.1":{"name":"t-a-i","version":"2.1.1","author":{"name":"qntm"},"license":"MIT","_id":"t-a-i@2.1.1","maintainers":[{"name":"qntm","email":"qntm.code@gmail.com"}],"homepage":"https://github.com/qntm/t-a-i","bugs":{"url":"https://github.com/qntm/t-a-i/issues"},"dist":{"shasum":"9722fbd9e36baf9c213b6726cbd6b0051fcfd2d4","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-2.1.1.tgz","fileCount":8,"integrity":"sha512-XMGqHBorNa6UllW4CBSSDULmOeobqjJRhtehZwEeF7Vtr6nJ5Zl8qzIDrsxD64Bq0+HzTFgRKV7gXEN27nSpWQ==","signatures":[{"sig":"MEUCIGsuCW2dROSsl0Wwh8iCCLtZvKjgslzh8LFvgiCxfTKUAiEA653D6VuEN80XqRr5Ly796NyE/0yahbfPvHiGG9I10Gc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30619,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJga4gPCRA9TVsSAnZWagAAxqkQAIxt2/ieyBDUuKPsG2k9\nMiAMbu5bmNspKUujMu1D3xMSUMoBUsc3GKD3bqM50/dr+0IGxQl9EISwI1P/\nLr0zo1nZpZY+ThduJ05SCYkzIaa3F55pR95pxwUwkgZ8yLpyoPKcfOV/OOjP\nBvxjCzEiMka912ecmAjnH7NkHYnxQdHsvAlgr0W1i9W+YY2aqeAFqugLdMGy\nsg+NPnNEyqOFCxF36aY0riEnwuOp3qV6mPCUFXlwhjaDWl/+5QLyglqn6J3Y\nvNP3tjvruPN97e+HngrOYMTBQFFo/PZIGOd2yKgundjM4eEdd7WPN3hjRrjl\nLycVcoouN7Vttmc2s+4lYQYGCXDbrtC7iWAGPovrClWoiGJiopObK1Rda0zm\nuKDkdIx41KPYqBqeq+K68j+F+5knmDl1yPmMbfPRXcCSyQS4GoC1IugA3C82\nHrj8JQdV0UUj/l41ISllYhHr7J82Re7R41JUh5riQTZPuumFSDRnU7222zs4\npWa1aIqqeMb2JEe7t9bq9eS7YyjM0cpz3eZ4Q2VG5/510PAllnqlvaphSZQr\n+wMH5y6L7cXvhV8Vkc+u2clWmqLZTzo1UeCf4XE9HdbpPgaoIaBhzbs6Eu9v\nUOzhHM+XtTsj1AKkZzyg7LBhXSTX+ex8wfXLrpGgSG1bx5O+4kkQx8eLQJPk\n7ymk\r\n=d8oT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src","gitHead":"5187e0ef992bee1bbb87eef53cbf58ddc68a869a","scripts":{"test":"standard && jest","postpublish":"npm version patch && git push"},"_npmUser":{"name":"qntm","email":"qntm.code@gmail.com"},"deprecated":"t-a-i@2 is unmaintained and future leap seconds will not be added to it. Upgrading to a later version is highly encouraged. Check the CHANGELOG for the later version for upgrade instructions.","repository":{"url":"git://github.com/qntm/t-a-i.git","type":"git"},"_npmVersion":"6.12.0","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"12.13.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","standard":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/t-a-i_2.1.1_1617659919058_0.462293413846508","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"t-a-i","version":"3.0.0","author":{"name":"qntm"},"license":"MIT","_id":"t-a-i@3.0.0","maintainers":[{"name":"qntm","email":"qntm.code@gmail.com"}],"homepage":"https://github.com/qntm/t-a-i","bugs":{"url":"https://github.com/qntm/t-a-i/issues"},"dist":{"shasum":"603ba5e9bfe35c0dee30568f819fc2509e04375b","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-3.0.0.tgz","fileCount":10,"integrity":"sha512-JILtA3zQqabbKLpR7RxU5/KYHbBxmdymvnKm8YJRMq0OJt5SPuXcTuDJoh3sBtBD301BFs04SHDmSUyDiMfnLA==","signatures":[{"sig":"MEYCIQCANCUTI2R3b46EnsozkyHQug+jtVXsj8Qwlnz6WvhuXwIhALuWsPI+S8aRherA/xdEYCYsLiALncWu2BBWnPrxtotP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42735,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgoWgVCRA9TVsSAnZWagAAJTUQAJT/4tveDTWEDfjcDJUn\nwBflVUTdoQlZiOZM9caF/oZ4v8YwGT6pjA3LIogFkhWza0hml3cOOugbtM9O\nWs8o8VHBZp40QKQe4V94V70zqIgh45Wc5XQjE3lFSAjWq11+ZcgVIFkKpbm1\nXi0xUIA8AO/RLpFg3/dkBX2/3xpF9FueDA36lQStQL9mpv7O/qodg+8+BCFY\ntO8RNWDDjXM6e4j6ATxx4usF/SnZ5tejfYZeGLTLub0RPPnHHrEBzg85qMyF\nVQXUWAhVbAG3+8w/0JREXOApKhsW+Mal3C7FhlCKsclF6qojyeX/2RTabxiZ\nZtYc6RyQkiG1igCrh8lIbVW+8T5Bw1dg5niw/+ytXLN6HDfDjrGbxV37f3Ed\nPBmw4Ax3WQxCTRiaMhQs+BYRd3t0JkutnCzMCk9B/2d5xT2dtrg8BT8aYpV7\nKYJU15xOWK0UcfjoRjAPmhdK8XcW7X4EDYc/O1NmvjVqn+DXK767gpKjii1J\ngSSdMiPuzddcvMEreO+oDVqLYroA+YZmIyBgCvBqJ/L0ASY32OZFSSJjcu3o\nfE1522YmHctd5YZan0fX/ITs6e9BRQ3tMpJ1L891MBUAZQCiVR4tkaMJIu+r\nd9YLAMIO4gLzm4O1BF/ZOsZLkTCv78EdV4Aid1KqRrv7axIpzl7JvPi/GJcz\nkbv5\r\n=4wQZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src","gitHead":"db017d6c77fec04ce5b43ddeab1ffac096937917","scripts":{"test":"standard && jest","postpublish":"npm version patch && git push"},"_npmUser":{"name":"qntm","email":"qntm.code@gmail.com"},"deprecated":"t-a-i@3 is unmaintained and future leap seconds will not be added to it. Upgrading to a later version is highly encouraged. Check the CHANGELOG for the later version for upgrade instructions.","repository":{"url":"git://github.com/qntm/t-a-i.git","type":"git"},"_npmVersion":"6.12.0","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"12.13.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","standard":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/t-a-i_3.0.0_1621190677150_0.9202829950297422","host":"s3://npm-registry-packages"}},"3.0.1":{"name":"t-a-i","version":"3.0.1","author":{"name":"qntm"},"license":"MIT","_id":"t-a-i@3.0.1","maintainers":[{"name":"qntm","email":"qntm.code@gmail.com"}],"homepage":"https://github.com/qntm/t-a-i","bugs":{"url":"https://github.com/qntm/t-a-i/issues"},"dist":{"shasum":"d0f7324c200d9fa34fc5f467163f5e38b45a130d","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-3.0.1.tgz","fileCount":11,"integrity":"sha512-gAUKvdu9w97uWAeDCGpNxgnHNJlI2Ji/Ej4JXsJHWwzwhY2YqTp2mVC//VwP6NBXXpNbix2nU4RAD+phtVjDRA==","signatures":[{"sig":"MEYCIQDhYnnTBVhbvmxYVNnA9GAkARHerRztiS6Bq0SgvzHxnAIhAOoNNhtWbyHex7Wbc5prhnephDriHQaPRrjnQ6UmlsFL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44569,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7V04CRA9TVsSAnZWagAASPsP/AyGVlAZ/VNG+qQsIQnL\nLLm9jrZhQnMo0YAHzbN2Qagak2vrQA4WfFHEwfvkxZorIf0ER7levQgMIsLc\n0Udv8AE7wFjq42VAto8eMEB51GE36ZnCA89DTMSELAUPQiOpB5uoDib6DXuV\nun1K6OI7b5eh4gt/R1miO0LxkkAoj3w4d9pUx2VqNikggZBzD+16dJhZAzpx\ndndPj4+HS2kNr9XpNUUzC1Lo85Ha/rXikgtRv/dwibpEd0TQbdB+7ENn8SWM\nKR5goceMo22C5iijAc1JSUQu3ZmUxnWgoGKcYB0fTP0wu/ApDlvOkfq647Rq\nUJuHtL7vZL+6mJJvr9jZPYll2+DT0I2BpONQU3vfn4BCRf4s/F1hu4Kss1dw\nwG8sIfIlval+HyzMa3lSbtsfKiotheNjV/ZKSCAvygTZ0mGcf++wBy4khkwu\nJs2dpCYdb5wJi5/cX4/OqFKAP2P2S2t7ze9wbSlQZVbWSD8U6jGgwLjobmnk\n2LDsUNhkn785Fc251jKIeb2jStdsyxCO6KKUh2P9CKqmbXQw+YyoIG/nvCBz\nrTSrT5YcC1hxadRS5OXI6p4Xj3MVHA9CcKgmZXkydNzw1qHwAEAo7M3nEAM4\nXTrPsmiuAv2RehAnP64yo0sprDlsFprmQM4ciLYGjqyiZ+8rGIaOFX7txKWO\n+Uj9\r\n=QGdk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src","gitHead":"71fcd9eb34b433cbb685b42a6dfc6a0617a6817a","scripts":{"test":"standard && jest","postpublish":"npm version patch && git push"},"_npmUser":{"name":"qntm","email":"qntm.code@gmail.com"},"deprecated":"t-a-i@3 is unmaintained and future leap seconds will not be added to it. Upgrading to a later version is highly encouraged. Check the CHANGELOG for the later version for upgrade instructions.","repository":{"url":"git://github.com/qntm/t-a-i.git","type":"git"},"_npmVersion":"6.14.13","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"14.17.3","_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.3","standard":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/t-a-i_3.0.1_1626168632052_0.48578265768843054","host":"s3://npm-registry-packages"}},"3.0.2":{"name":"t-a-i","version":"3.0.2","author":{"name":"qntm"},"license":"MIT","_id":"t-a-i@3.0.2","maintainers":[{"name":"qntm","email":"qntm.code@gmail.com"}],"homepage":"https://github.com/qntm/t-a-i","bugs":{"url":"https://github.com/qntm/t-a-i/issues"},"dist":{"shasum":"3f411e35db9d4fc61991861cc67723966db29fd7","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-3.0.2.tgz","fileCount":11,"integrity":"sha512-JVvOMxcslUJTRL3aPq9P5LUyDAfmFtNcrEGt8QzO5we0e151KtT3beoIBunR1KaS4IgCjaJNDrj5202Nm+4WgA==","signatures":[{"sig":"MEUCIFuOjiAShTVxiS5dE6fgcpbsziAUBA0hxE/Him0yIT21AiEAwsg51jaKCaZ8E7nRVttHU89SwBWBI3scYNPh1wfcQ/g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44569,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg71wDCRA9TVsSAnZWagAAumwP+gMYgWyZvjO4O4PLz8Ly\npoFIOqHQlgleRjbfnmkm7bFiMZz49MoDKpcR2QBUOa4q4PTGPPynpYE7GOtP\nmvWAQIQMYVQwkDQwB9ZI2eEen9MpFrzCuW2mM0Wm+sUcB2SgLlQFZweZGE5t\n/tAU7fJZOFC63N1REHZSIbDDftrbR1or1HMMjTU0EJJyN7OHbFWhQlVM566H\nr4O75wNL8t/wyeRN/kvlZMLFitf93IiIT9EWT24dvZKWEvegrKvS1QNAHBJ2\no8Q6d5xsOOR47DUwDeoaERgwmBGv0MLotmZiEdVVaE02ri64wSwPGHL6KtoY\nD7cYfBcJ3DxmE2ei2oDFLItZBN01mcFi1WoJp250KulTKD1YWhFlJE2AhY/R\nvx2J38m4PQ1OsCoF/qwse2HI2mJzfDg41dnUEjY/DRUoYHA6c+lU/+zJxvnp\ngo3asnDpn5rIdPJ7BQ5abhiP4GTcxIGd3AaBGTym/c/L3bHAm8gM32Fkq1JW\nqh4uLb0Ya9jV2x+U2R8hDRji7U069n0GHnhY6k+QW4g6AL+mzkb84dQyAti/\neCVxW4l4nBdAcT8LGEvwNq23JTIZIU4sIMTG+oFwDOMGzDT1rrKHemEuZ5ll\nb0FFpvcVPQQEzokP+piSqKMQUE3WYHOb/hgyUTOy5+dRBjltA54coehDvvsz\n25Wt\r\n=VO+e\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src","gitHead":"515fd50097bea47828bf332de6ef81f024b555b1","scripts":{"test":"standard && jest","postpublish":"npm version patch && git push"},"_npmUser":{"name":"qntm","email":"qntm.code@gmail.com"},"deprecated":"t-a-i@3 is unmaintained and future leap seconds will not be added to it. Upgrading to a later version is highly encouraged. Check the CHANGELOG for the later version for upgrade instructions.","repository":{"url":"git://github.com/qntm/t-a-i.git","type":"git"},"_npmVersion":"6.14.13","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"14.17.3","_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.3","standard":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/t-a-i_3.0.2_1626299395208_0.4144123588819284","host":"s3://npm-registry-packages"}},"3.0.3":{"name":"t-a-i","version":"3.0.3","author":{"name":"qntm"},"license":"MIT","_id":"t-a-i@3.0.3","maintainers":[{"name":"qntm","email":"qntm.code@gmail.com"}],"homepage":"https://github.com/qntm/t-a-i","bugs":{"url":"https://github.com/qntm/t-a-i/issues"},"dist":{"shasum":"702a1f1668cd624a20751252732f82d86290d296","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-3.0.3.tgz","fileCount":11,"integrity":"sha512-SrgyqqFfQQClTFJBor736AAwf6TKcCnuzq3NdYxi81NtM0oHA1z1AG/WC9VSuZPOdDkvJShmJNLM2FvOuAyHog==","signatures":[{"sig":"MEUCIQDqv+YuLiPnmuFAGppWPAK3F4cKNlMaUYbjBWu6UBn3xAIgfCssHVMQ3NzoZqeEAA0LktvdEyr1N7jhCkIqkKfPXks=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43908,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6AOeCRA9TVsSAnZWagAAwfQP/Apvo2rkDoBL1W15jGnC\nuv6JnvqgAeGx4XTABg7Mq0MqSiBzsO7NKA+qL+4zcvaG7Tzf4bi1ChQqEWec\n1V4g4eMTCzlWmlqLCZtmpwjiaRns+Gkca89UwPOlXwhMSAqn4dYgxjJRV5TD\nHM6wPx3v/iehx10d0GMfI1xWzX6wQw1d20iPZi/FFq49WUevJm+kHX1zxB04\nvaUPtSufzQ42WvTnZu1pvLRT+z2qKBfiM62UHEN8XeQ0ZKzEvetLHch0s7km\n4c8e1dg8ntQsVLuOpCnVCAONEBRmflY0qjmiuxEUi8ieTpAt2Mz0xhx4uQ0J\nuKyaSruXyjAowRCAXFeWlJ/mPY9Ez8bRBb+gSxpWSj5qI+OvQmmAMG5VT++x\nZWb/JTgtWrR3G17h7HhUKrikHz/ySKCwsc+kHPLmmDDlXY6PVyS+q0TZOXte\naejy/xxVprt87tflkGA89eH6mOjfmWQc64LaM7JdGRwqD6eVTs3hCx7jlLfY\n2x6eEzHhN4mqAKh/wAVEzbAJlA92K2AlCoDApMKztxqnXr4isbUiZZJlBs69\nn6+vclWNDcSqkPa0OFVpTwLeLICWW5Zr4grt6tZQF+29m20GyHCDk+7e/0dC\nvpjRCPSjc/6TJMdv0GD4HEJ5FNT05fpCnAVGRHIm4YC0dQEBX9Vwk7ZiW9s4\nA5Qk\r\n=MLgk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src","gitHead":"a2a5e97dca6b97f74758c7c7118eb61e408d92bf","scripts":{"test":"standard && jest","stryker":"stryker run","postpublish":"npm version patch && git push"},"_npmUser":{"name":"qntm","email":"qntm.code@gmail.com"},"deprecated":"t-a-i@3 is unmaintained and future leap seconds will not be added to it. Upgrading to a later version is highly encouraged. Check the CHANGELOG for the later version for upgrade instructions.","repository":{"url":"git://github.com/qntm/t-a-i.git","type":"git"},"_npmVersion":"6.14.13","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"14.17.3","_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.3","standard":"^16.0.3","@stryker-mutator/core":"^5.1.1","@stryker-mutator/jest-runner":"^5.1.1"},"_npmOperationalInternal":{"tmp":"tmp/t-a-i_3.0.3_1642595230462_0.964664751091086","host":"s3://npm-registry-packages"}},"3.0.4":{"name":"t-a-i","version":"3.0.4","author":{"name":"qntm"},"license":"MIT","_id":"t-a-i@3.0.4","maintainers":[{"name":"qntm","email":"qntm.code@gmail.com"}],"homepage":"https://github.com/qntm/t-a-i","bugs":{"url":"https://github.com/qntm/t-a-i/issues"},"dist":{"shasum":"e78a9fe725a81648a82c7e5b06f4c210662d3259","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-3.0.4.tgz","fileCount":13,"integrity":"sha512-OdF+rCCeMezq3+47nk+vXBCqB6QDfdmK+rY6a5dbdYydcnBI4WyHYn8lDQvX8sihMNxQKYyhndyaHLuOJ7Hj7Q==","signatures":[{"sig":"MEUCIQDnFV9lyRf3KiXJVi8KY+ayHxDO/YglrJ0ceE95xOV8gAIgD2UIJOIT3UxZvAUn6retFIW9VUqEgt9eDO5PVJQfGTo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41518,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJim2BAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqwrw/9EFZm8qD6bE7wQOSCATt2ljefpbsGxtPkBPXd/vFTg5KC6ebI\r\nREF/9vlBZlnHCZKxCIFxfbIhao/Z3qIzTleEojuV2cZ+IQTEkt60gfkTbuJV\r\nwVbFQ0EFJ4Q1JPnA2ugBE2EQqHsh6KZFb2M9fGlZxG8VIs61xYQ4PqxO1WVc\r\n+bIoErcdQHDHoKjNFxamVo5ZYbDZwcHpofzEaiMH218MZosKwhAhbrU+KoPH\r\nUJYWCW4Pbhn3lkqjssm+ZFmGVioQgiGoUe6xonxqSC1oqBTcARDszYoILHqL\r\nODKbOTeIgWJ/rvf37a6zn4Y1t3CIqksyBmSME/Ilret2vrtk6awz9v4aYQfO\r\n4QwIelU+XC2qv9kTlzKj1DmTDKGhSJkp8MfcFf8Mx0bSdkkz3ACe6Cu21ErD\r\nmyvpzJysjqMro9Ira6Bw8tKNsvMJZ24yM2Avr252Ld0k5DzwP2vYmxDsIlBH\r\n5AN8WdmWZ5VmtFg02Cc24RbNF8L6386+6CTLdriJlLwhD/VOxFwuHZQOuyGK\r\nSSqUbiHDA/oml44t28q0Sz4bbTJJD3vEISpn/KjBmGyOz+/16RNyFDR0CkEA\r\nXmpg5XAmvPNBcqetiL2pBL1ySsoc4toAMUhyYp77SEdtqk9NRMllBSMRbQJw\r\ngDdy68H0F4iCwZ0XsIQesZ104d4fBZGJfsM=\r\n=g/Hx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src","exports":{".":"./src/index.js","./exact":"./src/exact.js"},"gitHead":"58d0b256e4d551586dac4352c76d8fb9bd81fd7f","scripts":{"jest":"jest","test":"npm run standard && npm run jest","stryker":"stryker run","standard":"standard","postpublish":"npm version patch && git push"},"_npmUser":{"name":"qntm","email":"qntm.code@gmail.com"},"deprecated":"t-a-i@3 is unmaintained and future leap seconds will not be added to it. Upgrading to a later version is highly encouraged. Check the CHANGELOG for the later version for upgrade instructions.","repository":{"url":"git://github.com/qntm/t-a-i.git","type":"git"},"_npmVersion":"8.9.0","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"18.2.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.0.3","standard":"^17.0.0","@stryker-mutator/core":"^6.0.2","@stryker-mutator/jest-runner":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/t-a-i_3.0.4_1654349887834_0.10827970310459323","host":"s3://npm-registry-packages"}},"3.0.5":{"name":"t-a-i","version":"3.0.5","author":{"name":"qntm"},"license":"MIT","_id":"t-a-i@3.0.5","maintainers":[{"name":"qntm","email":"qntm.code@gmail.com"}],"homepage":"https://github.com/qntm/t-a-i","bugs":{"url":"https://github.com/qntm/t-a-i/issues"},"dist":{"shasum":"3c553ba5dd9c4e756e9e44a580515b865453781e","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-3.0.5.tgz","fileCount":14,"integrity":"sha512-bloJoYXf96BW+8+gwNCzJueiC9f7tCp/ZfTYTgOvPmkinEQuFdPwZB7hdhs0tDTAb8zbICco4kFFfzf5pINvKQ==","signatures":[{"sig":"MEUCIAGH3lTjmdqTRJf35hbgHBhz/sePhP5kFZFV1y9l/ZREAiEA6FEgT9Pjkfj9tjQy4zXIdfLuvvjyC8WhS5y9CbL/Zg4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43038,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi3uRqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoEDw/+NFy/ZEoyavJoIrVO/xym2n5vFT7bnSTKM95ZWtlDm7NMupYD\r\nYgQvmDBjWVVyOo4d4DcXtBW/6PBzkJ8Zux86qBp0mh6YioEbW/H16XZQX7Qu\r\nbqQKSxK2PqA9hshqhbPAlVMwxSSp985hfzHX+R1nqhlsEuidCLf8BwP9jpK5\r\n4CxDbkUJEZDAhm9fZgHZe4yTXqXKHbBIB7vSWrnBY/EVOJrWAghXB3VBUqY8\r\noYRNz085GQtYLkaSBCfFcsSeS4Ch+XEf0saW8zmZX/JJgzAEgdP/97ZRng8I\r\n2XIUbXpDqTrVoXd1ekNodWVVSnVOztlQISdN6+D7/JlwB0Szg8/RyQwUr6j3\r\ncmxbmdj74NmoMI+2QwGJNdtrM/Xp38VcOXxhRCdIS/dDyNfxaJxSb4hXX9hw\r\noJODP+EwdQRHFJmAP5E3A5rFP6Z+mxle/L/mpOQSRH85jiENDxcPQCkqMo5v\r\nA07OYcaQdyeuK1s8VivvX+2Nu79eaC6/hoQx3mcRQqzpQeOX26Jov0jNojsU\r\nokORUKpKg9cASFcEI5h4Rsd8pWDo6g5lCBLTWBOhA7AyBSQKcICfEQYucm6Q\r\ntic5cPaxkdS07oDk9HiIhipW892XueAlBNgF/KFq8DodrHlRe1VFnhoar5+e\r\nO7j4jbmBVK1ga1MVLblihvv+n4g0CaQ9bOc=\r\n=e0nd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src","exports":{".":"./src/index.js","./exact":"./src/exact.js"},"gitHead":"d2446790bc8cf179ed85a858f182a46ddf45d9a8","scripts":{"jest":"jest","test":"npm run standard && npm run jest","stryker":"stryker run","standard":"standard","postpublish":"npm version patch && git push"},"_npmUser":{"name":"qntm","email":"qntm.code@gmail.com"},"deprecated":"t-a-i@3 is unmaintained and future leap seconds will not be added to it. Upgrading to a later version is highly encouraged. Check the CHANGELOG for the later version for upgrade instructions.","repository":{"url":"git://github.com/qntm/t-a-i.git","type":"git"},"_npmVersion":"8.9.0","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"18.2.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.0.3","standard":"^17.0.0","@stryker-mutator/core":"^6.0.2","@stryker-mutator/jest-runner":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/t-a-i_3.0.5_1658774633720_0.836075825444031","host":"s3://npm-registry-packages"}},"3.0.6":{"name":"t-a-i","version":"3.0.6","author":{"name":"qntm"},"license":"MIT","_id":"t-a-i@3.0.6","maintainers":[{"name":"qntm","email":"qntm.code@gmail.com"}],"homepage":"https://github.com/qntm/t-a-i","bugs":{"url":"https://github.com/qntm/t-a-i/issues"},"dist":{"shasum":"8f75bd34e801c94320dfab12d36210282c47a528","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-3.0.6.tgz","fileCount":14,"integrity":"sha512-YzJhAGq/Pm19CCO4z+iOXrhBYP/YBVhjgb93Ciwn90OYm5OsBgKmS7EM1tpjbTsjflFnioB0jeMDxog/o0/BYQ==","signatures":[{"sig":"MEUCIAQIBp2Lj2zXwiPGQg6nYYva2P/yHXQLvRIAfsI/j27wAiEA/aZp1ja4pQucEE7cJeLFpmt2jU6C0vR60lywT30vNuE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43238,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj+j4uACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpg4g/+I4QY3oTCJPXGnK60KsYM3Gmw3yrVnWB9DRamqPgf+IDM4xco\r\nh8sVJ45Mxrt3gWs9LEJ+lLqE4Rn78wlDOFWrH2Avj7WDyJpnHjguPz9Jv+XN\r\nHAqWR2rjv0lVl67tbizT3dGVU6nw33PisNIuay5j5W58GsOg94/cdYvbZzsC\r\nFrhMBd4UJ3/+pO67zqz8EMvEY7j7Tv1EFOkXxcYp33JlnXLasily7aiYifCN\r\niNsteh0kYHxkNd/LhPKcD3Y20qfbkwWkoyg8g8vITyHDoGgHsDy/1QZMduki\r\nweSDzHTj1aYo8LvZV3bW3dGNzgvwQnzhdlEuffEqbr0rCMi7OQbVmF3rqmY9\r\nOhgp+W/9LSPoe9TRCEOfimSiNyNkq442hfwprIcPr+t889ncgwotZbnKTSuj\r\nmm9DfCDYuv4AOT5BwWk4sPVpNadQueRwFuKH6jQYc+PvF9BfULfKJfQ/Vjb9\r\nA+CQAgh1fu7nkuym22oq3/jH1cpFuNVDZ4goaY0l6mKf5I/gU0+UJQNyi3zK\r\nz6UBmAzFF82XMTdUBxJAXc9Vmc+MMWWOIop07/o2XSbYlvIYCKuefWQQm1hd\r\nXJrwf1QGGWLtB9o8Y7ApS8HG2l1JY8jdz7Nqw7uaAhGswIRkl65xO4yZnF0Y\r\n0HADpMbSjAHxni0j6klAMoaB3ADlxLB1fe0=\r\n=5EjF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src","exports":{".":"./src/index.js","./exact":"./src/exact.js"},"gitHead":"371cd72e9ea7cdffe5e0821d29db4aaabd75c338","scripts":{"tag":"node -e \"require('child_process').spawn('git', ['tag', `v${require('./package.json').version}`], { stdio: 'inherit' })\"","test":"npm run standard && npm run mocha","mocha":"c8 --100 mocha","standard":"standard","tag-and-publish":"npm run tag && git push --tags && npm publish && npm version patch --no-git-tag-version && git add . && git commit -m \"Bump patch\" && git push"},"_npmUser":{"name":"qntm","email":"qntm.code@gmail.com"},"deprecated":"t-a-i@3 is unmaintained and future leap seconds will not be added to it. Upgrading to a later version is highly encouraged. Check the CHANGELOG for the later version for upgrade instructions.","repository":{"url":"git://github.com/qntm/t-a-i.git","type":"git"},"_npmVersion":"8.9.0","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"18.2.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^7.13.0","jest":"^29.0.1","mocha":"^10.2.0","standard":"^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/t-a-i_3.0.6_1677344302253_0.6436170035867399","host":"s3://npm-registry-packages"}},"4.0.0":{"name":"t-a-i","version":"4.0.0","author":{"name":"qntm"},"license":"MIT","_id":"t-a-i@4.0.0","maintainers":[{"name":"qntm","email":"qntm.code@gmail.com"}],"homepage":"https://github.com/qntm/t-a-i","bugs":{"url":"https://github.com/qntm/t-a-i/issues"},"dist":{"shasum":"3aefd1abe5c6f9073f0e8cb01fb640c79749f723","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-4.0.0.tgz","fileCount":14,"integrity":"sha512-V8Q6bfVu3VqW6Pm7Fm71So4i6Lep/iCai/r2MCvX2tna0VB0wFBwQd/aaFfn8e5f7XRnxJinTEuaT/4k6sil8g==","signatures":[{"sig":"MEUCIAnUy7PQvG8KjOJER6ATBlCVjBOvweIlc9iG2k3uqniOAiEA6E5oA7oxOIzoyJngtLFZXUhy5ZTD8X+zFebFBAqDUxk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42705},"main":"./src","type":"module","exports":{".":"./src/index.js","./exact":"./src/exact.js"},"gitHead":"560cf89fa9ed74eab4e67993ba46dfab90167644","scripts":{"tag":"node -e \"require('child_process').spawn('git', ['tag', `v${require('./package.json').version}`], { stdio: 'inherit' })\"","test":"npm run standard && npm run mocha","mocha":"c8 --100 mocha","standard":"standard","tag-and-publish":"npm run tag && git push --tags && npm publish && npm version patch --no-git-tag-version && git add . && git commit -m \"Bump patch\" && git push"},"_npmUser":{"name":"qntm","email":"qntm.code@gmail.com"},"repository":{"url":"git://github.com/qntm/t-a-i.git","type":"git"},"_npmVersion":"9.5.0","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"18.15.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^7.13.0","mocha":"^10.2.0","standard":"^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/t-a-i_4.0.0_1686165302327_0.4102568908735702","host":"s3://npm-registry-packages"}},"4.0.1":{"name":"t-a-i","version":"4.0.1","author":{"name":"qntm"},"license":"MIT","_id":"t-a-i@4.0.1","maintainers":[{"name":"qntm","email":"qntm.code@gmail.com"}],"homepage":"https://github.com/qntm/t-a-i","bugs":{"url":"https://github.com/qntm/t-a-i/issues"},"dist":{"shasum":"ce54c1a8d755f570eb513a67a5cd6c6a1ef345f0","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-4.0.1.tgz","fileCount":14,"integrity":"sha512-58DpGZ3TY/SxKPPZdpzp5of9GOJ7jmxjySHbknSCyxFHCob/CV5jP6+QZJFJWptJMKl0oeKmJizfeyPCnrqK5w==","signatures":[{"sig":"MEQCIG5OlsaPaDRQVFHfQwJ82+D5WPFvwRQg43zppHZBmuZeAiBhQkNUs6zPdLxTFgCRFXi0ufnwZt6S5DqO2CemW/8UuA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42713},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./exact":"./src/exact.js"},"gitHead":"edabe56af4f72fe675aff3497ec4390fe6d3ee43","scripts":{"tag":"node -e \"require('child_process').spawn('git', ['tag', `v${require('./package.json').version}`], { stdio: 'inherit' })\"","test":"npm run standard && npm run mocha","mocha":"c8 --100 mocha","standard":"standard","tag-and-publish":"npm run tag && git push --tags && npm publish && npm version patch --no-git-tag-version && git add . && git commit -m \"Bump patch\" && git push"},"_npmUser":{"name":"qntm","email":"qntm.code@gmail.com"},"repository":{"url":"git://github.com/qntm/t-a-i.git","type":"git"},"_npmVersion":"9.7.2","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"20.4.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^8.0.0","mocha":"^10.2.0","standard":"^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/t-a-i_4.0.1_1704749878950_0.5894153882799351","host":"s3://npm-registry-packages"}},"4.0.2":{"name":"t-a-i","version":"4.0.2","author":{"name":"qntm"},"license":"MIT","_id":"t-a-i@4.0.2","maintainers":[{"name":"qntm","email":"qntm.code@gmail.com"}],"homepage":"https://github.com/qntm/t-a-i","bugs":{"url":"https://github.com/qntm/t-a-i/issues"},"dist":{"shasum":"9b4570ec8f516e068b8f3bc857769f206c09d6bf","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-4.0.2.tgz","fileCount":14,"integrity":"sha512-33vI/Ih9e3yWFf0ht4ZF/PJzA9mwbs0Jw1uGJnDwTm5jH3lG+O3RacbliN8jlwFoUhUtS4dVvV7i+5XEXWUZSg==","signatures":[{"sig":"MEUCIBcIypZNN+B/REloU0aLRebqBvQ7bW6fNQ3LHWIGfRc7AiEAmsbpZZPLSl7FQMsgZXZRQzpmdGUIib3jzB4wsd5mZYg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42716},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./exact":"./src/exact.js"},"gitHead":"d8ee0ad10625ce868c6a6a8a42b48cbfdae7cfb7","scripts":{"tag":"node -e \"require('child_process').spawn('git', ['tag', `v${require('./package.json').version}`], { stdio: 'inherit' })\"","test":"npm run standard && npm run mocha","mocha":"c8 --100 mocha","standard":"standard","tag-and-publish":"npm run tag && git push --tags && npm publish && npm version patch --no-git-tag-version && git add . && git commit -m \"Bump patch\" && git push"},"_npmUser":{"name":"qntm","email":"qntm.code@gmail.com"},"repository":{"url":"git://github.com/qntm/t-a-i.git","type":"git"},"_npmVersion":"10.5.0","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"18.20.2","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.2","mocha":"^10.2.0","standard":"^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/t-a-i_4.0.2_1720118370843_0.01666784089880924","host":"s3://npm-registry-packages"}},"4.0.3":{"name":"t-a-i","version":"4.0.3","author":{"name":"qntm"},"license":"MIT","_id":"t-a-i@4.0.3","maintainers":[{"name":"qntm","email":"qntm.code@gmail.com"}],"homepage":"https://github.com/qntm/t-a-i","bugs":{"url":"https://github.com/qntm/t-a-i/issues"},"dist":{"shasum":"6e4b7edd8c143f3bbae499dab61b98b07a70211d","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-4.0.3.tgz","fileCount":14,"integrity":"sha512-oWYUotYNPVsmJCVwct6T2h6mVhIIbS3cC3Vv5wc6ouLLirLGC9S3Kg5q7zFiF6AlIi/52lcJ77PfJyiIvrJGWA==","signatures":[{"sig":"MEUCIQC4wB2/WNyyieqiKzPwzq5StLcLVLmmnPmGqihCDwjCIgIgXUlkJoUMt9ZU48bvccyu5Q84OZaLuTtTdIz52kmEJEY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42706},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./exact":"./src/exact.js"},"gitHead":"c4c9ae360e87fe26724938f7830583cf7ceffe0c","scripts":{"tag":"node -e \"require('child_process').spawn('git', ['tag', `v${require('./package.json').version}`], { stdio: 'inherit' })\"","test":"npm run standard && npm run mocha","mocha":"c8 --100 mocha","standard":"standard","tag-and-publish":"npm run tag && git push --tags && npm publish && npm version patch --no-git-tag-version && git add . && git commit -m \"Bump patch\" && git push"},"_npmUser":{"name":"qntm","email":"qntm.code@gmail.com"},"repository":{"url":"git://github.com/qntm/t-a-i.git","type":"git"},"_npmVersion":"10.5.0","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"18.20.2","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.2","mocha":"^10.2.0","standard":"^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/t-a-i_4.0.3_1720119144096_0.39122687840937487","host":"s3://npm-registry-packages"}},"4.0.4":{"name":"t-a-i","version":"4.0.4","author":{"name":"qntm"},"license":"MIT","_id":"t-a-i@4.0.4","maintainers":[{"name":"qntm","email":"qntm.code@gmail.com"}],"homepage":"https://github.com/qntm/t-a-i","bugs":{"url":"https://github.com/qntm/t-a-i/issues"},"dist":{"shasum":"f4479cd3ba18144497f7279a7cc30e02a26bb6b8","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-4.0.4.tgz","fileCount":14,"integrity":"sha512-XaX/qAeRmwO/7+kqHtLR20TiDrg67w+NmJGri6NAdFMofqk58FTfOm9cWqx7VVNoN4/0ixV4esg/YLgmKNXTMw==","signatures":[{"sig":"MEQCIHuQYl2xxnYqd5kCCwMU+ITKup0EieJ6lLky1DjXWIyTAiAxIf1A42XIRHhLApIPI67ff04BKqegv2q0dJGbBemhOw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42604},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./exact":"./src/exact.js"},"gitHead":"03522ffb200d5f6a01737d81b8d96ab09c3259c9","scripts":{"tag":"node -e \"require('child_process').spawn('git', ['tag', `v${require('./package.json').version}`], { stdio: 'inherit' })\"","test":"npm run standard && npm run mocha","mocha":"c8 --100 mocha","standard":"standard","tag-and-publish":"npm run tag && git push --tags && npm publish && npm version patch --no-git-tag-version && git add . && git commit -m \"Bump patch\" && git push"},"_npmUser":{"name":"qntm","email":"qntm.code@gmail.com"},"repository":{"url":"git://github.com/qntm/t-a-i.git","type":"git"},"_npmVersion":"10.5.0","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"18.20.2","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.2","mocha":"^11.0.0","standard":"^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/t-a-i_4.0.4_1736281299959_0.314512096740343","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"t-a-i","version":"4.1.0","author":{"name":"qntm"},"license":"MIT","_id":"t-a-i@4.1.0","maintainers":[{"name":"qntm","email":"qntm.code@gmail.com"}],"homepage":"https://github.com/qntm/t-a-i","bugs":{"url":"https://github.com/qntm/t-a-i/issues"},"dist":{"shasum":"20bc6f7c1827db3c0aedbc8e097d570436a2f49b","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-4.1.0.tgz","fileCount":16,"integrity":"sha512-IWyWHzjJuT3tEYtunwE/TsQWciK5LS1Tyh/C0BWpqd08my7NSn2o4G+vhdVEVp/mykHdRCoGaTOerpX0wTNeZQ==","signatures":[{"sig":"MEUCIHbkrG3ZPUS3bPvKpUSBCADakSacXuoxOg0DBbaaMLC0AiEAndTTKsz1KLWwKi0zYgERlNArqw08v+4nPxzkdWTYh2U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44735},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./exact":"./src/exact.js","./nanos":"./src/nanos.js"},"gitHead":"669bb777806fa994612efc6bf2a231f0767fdd4a","scripts":{"tag":"node -e \"require('child_process').spawn('git', ['tag', `v${require('./package.json').version}`], { stdio: 'inherit' })\"","test":"npm run standard && npm run mocha","mocha":"c8 --100 mocha","standard":"standard","tag-and-publish":"npm run tag && git push --tags && npm publish && npm version patch --no-git-tag-version && git add . && git commit -m \"Bump patch\" && git push"},"_npmUser":{"name":"qntm","email":"qntm.code@gmail.com"},"repository":{"url":"git://github.com/qntm/t-a-i.git","type":"git"},"_npmVersion":"10.9.2","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.2","mocha":"^11.0.0","standard":"^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/t-a-i_4.1.0_1750088499550_0.3983508863469265","host":"s3://npm-registry-packages-npm-production"}},"4.1.1":{"name":"t-a-i","version":"4.1.1","author":{"name":"qntm"},"license":"MIT","_id":"t-a-i@4.1.1","maintainers":[{"name":"qntm","email":"qntm.code@gmail.com"}],"homepage":"https://github.com/qntm/t-a-i","bugs":{"url":"https://github.com/qntm/t-a-i/issues"},"dist":{"shasum":"1b8b211d52431f9ec31e3a1a7413586f8ce0e128","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-4.1.1.tgz","fileCount":16,"integrity":"sha512-5Yv71R0aC93X81JtGwKQLSrVmP8K/OSaaowhaRrIajQlWUhxEepUQRhUxp5594gbhSrLZIalv5VFq1v2Y+oeLg==","signatures":[{"sig":"MEQCIFdQ0TkkQXpwsNLqP+5g26AYJES8IIFKxoYhQstdi9KUAiAV8smOA0HXX/HRlwRYgN20zdcv6a5u0CFhoixmT/rqKA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44628},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./exact":"./src/exact.js","./nanos":"./src/nanos.js"},"gitHead":"e2c2bd246d6cd428f7d11bb916245024a4c5704d","scripts":{"tag":"node -e \"require('child_process').spawn('git', ['tag', `v${require('./package.json').version}`], { stdio: 'inherit' })\"","test":"npm run standard && npm run mocha","mocha":"c8 --100 mocha","standard":"standard","tag-and-publish":"npm run tag && git push --tags && npm publish && npm version patch --no-git-tag-version && git add . && git commit -m \"Bump patch\" && git push"},"_npmUser":{"name":"qntm","actor":{"name":"qntm","type":"user","email":"qntm.code@gmail.com"},"email":"qntm.code@gmail.com"},"repository":{"url":"git://github.com/qntm/t-a-i.git","type":"git"},"_npmVersion":"10.9.2","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.2","mocha":"^11.0.0","standard":"^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/t-a-i_4.1.1_1751884866903_0.9818624654654431","host":"s3://npm-registry-packages-npm-production"}},"4.1.2":{"name":"t-a-i","version":"4.1.2","author":{"name":"qntm"},"license":"MIT","_id":"t-a-i@4.1.2","maintainers":[{"name":"qntm","email":"qntm.code@gmail.com"}],"homepage":"https://github.com/qntm/t-a-i","bugs":{"url":"https://github.com/qntm/t-a-i/issues"},"dist":{"shasum":"d9e72086bf1fb45f785973c6b0c086f10d166991","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-4.1.2.tgz","fileCount":16,"integrity":"sha512-JmvE9QUnVZ8AGFyMPMrLTCHvBjL8Moug5FSnjyh2Pz94+ZBsFkfMVcrrHDwPRvQhDspwVlWkqVU4fEqYjbdx1A==","signatures":[{"sig":"MEQCIGZXHyQUBj/CGj6lhM0QuDnu2Ql37nDSLgAQcOsGW83PAiAxGlnwVB+hnbEhSWi6rnXzlwa4GC5n7oIpq8AXv8y7lA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48761},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./exact":"./src/exact.js","./nanos":"./src/nanos.js"},"gitHead":"088e83bc1c2e7e1249d2424d57068874a00ce572","scripts":{"tag":"node -e \"require('child_process').spawn('git', ['tag', `v${require('./package.json').version}`], { stdio: 'inherit' })\"","test":"npm run standard && npm run mocha","mocha":"c8 --100 mocha","standard":"standard","tag-and-publish":"npm run tag && git push --tags && npm publish && npm version patch --no-git-tag-version && git add . && git commit -m \"Bump patch\" && git push"},"_npmUser":{"name":"qntm","email":"qntm.code@gmail.com"},"repository":{"url":"git://github.com/qntm/t-a-i.git","type":"git"},"_npmVersion":"10.9.2","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.2","mocha":"^11.0.0","standard":"^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/t-a-i_4.1.2_1752492893266_0.8596916798122638","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"t-a-i","version":"5.0.0","author":{"name":"qntm"},"license":"MIT","_id":"t-a-i@5.0.0","maintainers":[{"name":"qntm","email":"qntm.code@gmail.com"}],"homepage":"https://github.com/qntm/t-a-i","bugs":{"url":"https://github.com/qntm/t-a-i/issues"},"dist":{"shasum":"db176dcff2d1374adcb763823cd862cab28238fb","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-5.0.0.tgz","fileCount":16,"integrity":"sha512-2t2xBvM+NiqxpSUn8pIpLc6Am1ziU9ILLhXztZOutPaUWGuNMU6d9QKBCe2kjjNZcIqyoHJ7DvPAzXvE4DS4Rw==","signatures":[{"sig":"MEUCIF6TX3T1HTwU8Jp2ojfxXlaz1PFD6pr6iS8MO4bpRIeSAiEAkROCKmnmGPN1UGILPez0LxiOeW1MWLXu+xVSwgzROQs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48838},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./exact":"./src/exact.js","./nanos":"./src/nanos.js"},"gitHead":"5b4db3a8640af693f573397df5c8fde72294cf96","scripts":{"tag":"node -e \"require('child_process').spawn('git', ['tag', `v${require('./package.json').version}`], { stdio: 'inherit' })\"","test":"npm run standard && npm run unit","unit":"node --test --experimental-test-coverage --test-coverage-functions=100 --test-coverage-lines=100 --test-coverage-branches=100","standard":"standard","tag-and-publish":"npm run tag && git push --tags && npm publish && npm version patch --no-git-tag-version && git add . && git commit -m \"Bump patch\" && git push"},"_npmUser":{"name":"qntm","email":"qntm.code@gmail.com"},"repository":{"url":"git://github.com/qntm/t-a-i.git","type":"git"},"_npmVersion":"11.6.2","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"standard":"^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/t-a-i_5.0.0_1767731137935_0.5944085755541468","host":"s3://npm-registry-packages-npm-production"}},"5.2.0":{"name":"t-a-i","version":"5.2.0","author":{"name":"qntm"},"license":"MIT","_id":"t-a-i@5.2.0","maintainers":[{"name":"qntm","email":"qntm.code@gmail.com"}],"homepage":"https://github.com/qntm/t-a-i","bugs":{"url":"https://github.com/qntm/t-a-i/issues"},"dist":{"shasum":"f1d3bc6dfee972d6210135537c5dc8a9fb7d3b38","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-5.2.0.tgz","fileCount":16,"integrity":"sha512-96nUKPELaCOHVoLXksOhc0WiZOthPeaTXsaf+5ITi4SjuqB2B2rni9pskPY5DidwGVYPkUrxg10p8v20Ue3g/Q==","signatures":[{"sig":"MEYCIQDDGdsNNoOjOnJkBtN60fBIUfT1c8UstTxG0PRGecM4owIhAPMKw3SGpb/Qbqk8hMGES+JxGEHY0rGJ6I98sEk+y85Z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54856},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./exact":"./src/exact.js","./nanos":"./src/nanos.js"},"gitHead":"1bfd6f9cd2d1ba3e034ae495c3526a3da45aaed7","scripts":{"tag":"node -e \"require('child_process').spawn('git', ['tag', `v${require('./package.json').version}`], { stdio: 'inherit' })\"","test":"npm run standard && npm run unit","unit":"node --test --experimental-test-coverage --test-coverage-functions=100 --test-coverage-lines=100 --test-coverage-branches=100","standard":"standard","tag-and-publish":"npm run tag && git push --tags && npm publish && npm version patch --no-git-tag-version && git add . && git commit -m \"Bump patch\" && git push"},"_npmUser":{"name":"qntm","email":"qntm.code@gmail.com"},"repository":{"url":"git://github.com/qntm/t-a-i.git","type":"git"},"_npmVersion":"11.6.2","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"standard":"^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/t-a-i_5.2.0_1771273718725_0.5108835893268748","host":"s3://npm-registry-packages-npm-production"}},"5.2.1":{"name":"t-a-i","version":"5.2.1","description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","homepage":"https://github.com/qntm/t-a-i","repository":{"type":"git","url":"git://github.com/qntm/t-a-i.git"},"main":"./src/index.js","type":"module","scripts":{"unit":"node --test --experimental-test-coverage --test-coverage-functions=100 --test-coverage-lines=100 --test-coverage-branches=100","standard":"standard","tag":"node -e \"require('child_process').spawn('git', ['tag', `v${require('./package.json').version}`], { stdio: 'inherit' })\"","tag-and-publish":"npm run tag && git push --tags && npm publish && npm version patch --no-git-tag-version && git add . && git commit -m \"Bump patch\" && git push","test":"npm run standard && npm run unit"},"author":{"name":"qntm"},"license":"MIT","devDependencies":{"standard":"^17.0.0"},"exports":{".":"./src/index.js","./exact":"./src/exact.js","./nanos":"./src/nanos.js"},"gitHead":"68d23f5a90e5576351d359d87b96eb7bcdfbfc6a","_id":"t-a-i@5.2.1","bugs":{"url":"https://github.com/qntm/t-a-i/issues"},"_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-tWymNIxLRFcMjPAUMcK0K5CS/KVieGGcNdSQu9TclVzV2H0bR7x1MPQmNaJ3/DjieSPP2C9KuYq6GM4orkQlHQ==","shasum":"299a3ec7c19f7ca67a8274b3cd9564cb10e46b11","tarball":"https://registry.npmjs.org/t-a-i/-/t-a-i-5.2.1.tgz","fileCount":16,"unpackedSize":54975,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCi+sFVU88nTbv+iZl3QuJCBLQOSP9+QSG4QJC6jRf4+QIhAPY7F3wG5kKWS5HeJi3AiNyeQr0PLn1Mm5fNZZwrQlW2"}]},"_npmUser":{"name":"qntm","email":"qntm.code@gmail.com"},"directories":{},"maintainers":[{"name":"qntm","email":"qntm.code@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/t-a-i_5.2.1_1783328925838_0.7979605118620867"},"_hasShrinkwrap":false}},"time":{"created":"2016-10-28T21:14:28.617Z","modified":"2026-07-06T09:08:46.200Z","1.0.0":"2016-10-28T21:14:28.617Z","1.0.1":"2016-10-28T21:17:59.930Z","1.0.2":"2016-10-30T15:45:32.307Z","1.0.3":"2016-10-30T16:30:02.346Z","1.0.4":"2016-10-30T16:52:50.275Z","1.0.5":"2016-10-30T17:14:46.256Z","1.0.6":"2016-10-31T23:22:48.179Z","1.0.7":"2016-11-02T00:54:37.645Z","1.0.8":"2016-11-03T00:31:19.743Z","1.0.9":"2016-11-03T23:02:19.505Z","1.0.10":"2016-11-04T23:37:18.611Z","1.0.11":"2016-11-05T13:38:59.112Z","1.0.12":"2016-11-17T20:30:48.858Z","1.0.13":"2017-05-21T17:14:41.162Z","1.0.14":"2017-11-10T23:58:41.215Z","1.0.15":"2017-11-11T00:02:26.301Z","1.0.16":"2020-08-02T18:35:31.983Z","2.0.0":"2020-12-18T22:20:43.849Z","2.0.1":"2020-12-19T14:39:20.426Z","2.1.0":"2021-04-02T21:11:44.507Z","2.1.1":"2021-04-05T21:58:39.223Z","3.0.0":"2021-05-16T18:44:37.364Z","3.0.1":"2021-07-13T09:30:32.201Z","3.0.2":"2021-07-14T21:49:55.365Z","3.0.3":"2022-01-19T12:27:10.637Z","3.0.4":"2022-06-04T13:38:07.990Z","3.0.5":"2022-07-25T18:43:53.972Z","3.0.6":"2023-02-25T16:58:22.408Z","4.0.0":"2023-06-07T19:15:02.814Z","4.0.1":"2024-01-08T21:37:59.105Z","4.0.2":"2024-07-04T18:39:31.050Z","4.0.3":"2024-07-04T18:52:24.269Z","4.0.4":"2025-01-07T20:21:40.200Z","4.1.0":"2025-06-16T15:41:39.788Z","4.1.1":"2025-07-07T10:41:07.185Z","4.1.2":"2025-07-14T11:34:53.479Z","5.0.0":"2026-01-06T20:25:38.059Z","5.2.0":"2026-02-16T20:28:38.868Z","5.2.1":"2026-07-06T09:08:46.078Z"},"bugs":{"url":"https://github.com/qntm/t-a-i/issues"},"author":{"name":"qntm"},"license":"MIT","homepage":"https://github.com/qntm/t-a-i","repository":{"type":"git","url":"git://github.com/qntm/t-a-i.git"},"description":"Converts Unix milliseconds to and from International Atomic Time (TAI) milliseconds","maintainers":[{"name":"qntm","email":"qntm.code@gmail.com"}],"readme":"# t-a-i\r\n\r\nIntroduces [International Atomic Time (TAI)](https://en.wikipedia.org/wiki/International_Atomic_Time) milliseconds, and methods for converting these to and from conventional [Unix milliseconds](https://en.wikipedia.org/wiki/Unix_time).\r\n\r\n**Unix time** tracks the number of elapsed UTC milliseconds since 1970-01-01 00:00:00 UTC, excluding [leap seconds](https://en.wikipedia.org/wiki/Leap_second). (Unix time can equally well be measured in seconds, but here we use milliseconds because this is how a JavaScript `Date` object works.)\r\n\r\nBecause Unix time ignores leap seconds, it is not generally possible to determine the *true* amount of elapsed time between any two Unix timestamps by simply subtracting one from the other. Equally, it is not safe to add a time interval to a Unix timestamp and expect to receive a new Unix timestamp which is separated from the first Unix timestamp by that interval. Results will be wrong by the number of leap seconds in the interval, which depends on when the interval started and ended.\r\n\r\n**TAI milliseconds** track the number of elapsed TAI milliseconds since 1970-01-01 00:00:00 TAI. TAI does not have leap seconds. Using TAI, all of the above problems are easily solved as follows:\r\n\r\n1. Convert your Unix milliseconds to TAI milliseconds.\r\n2. Perform your arithmetic.\r\n3. Convert the TAI results back to Unix time.\r\n\r\nThe relationship between TAI and UTC is well-defined as far back as 1 January 1961. Prior to 1 January 1972, the relationship was quite complex:\r\n\r\n* TAI seconds were not the same length as UTC seconds\r\n* time was inserted in fractions of TAI seconds\r\n* time was sometimes removed\r\n* time was modified at the beginning of any month, not just January or July\r\n\r\n`t-a-i` handles all of these conversions correctly and returns results truncated to the millisecond.\r\n\r\n### Modelling discontinuities\r\n\r\nOfficial sources are generally inconsistent and unclear about exactly how the relationship between TAI and Unix time should be modelled during leap seconds and other discontinuities. Rather than nominate any specific model as authoritative, `t-a-i` provides access to all of them:\r\n\r\n#### \"Overrun\" model\r\n\r\nWith this model, during inserted time, Unix time **overruns**. At the end of the inserted time, Unix time instantaneously backtracks, and then repeats itself. One instant in Unix time may therefore correspond to 0, 1 or 2 instants in TAI.\r\n\r\nWhen time is removed, Unix time jumps forward discontinuously between one TAI instant and the next.\r\n\r\n#### \"Break\" model\r\n\r\nWith this model, during inserted time, Unix time is **indeterminate**.\r\n\r\nWhen time is removed, Unix time jumps forward discontinuously between one TAI instant and the next.\r\n\r\n#### \"Stall\" model\r\n\r\nWith this model, during inserted time, Unix time **stalls**. One instant in Unix time may therefore correspond either to a single instant or a closed *range* of instants in TAI.\r\n\r\nWhen time is removed, Unix time jumps forward discontinuously between one TAI instant and the next.\r\n\r\n#### \"Smear\" model\r\n\r\nWith [this model](https://developers.google.com/time/smear), both inserted time and removed time are handled by **smearing** the discontinuity out over 24 Unix hours, starting 12 hours prior to the discontinuity and ending 12 hours after the discontinuity. For a typical leap second, this means Unix time runs very slightly slower than normal from midday to midday, so that 86,400,000 Unix milliseconds take 86,401,000 TAI milliseconds to elapse.\r\n\r\n#### Comparison of models\r\n\r\nNone these proposed/implied models are perfect; each has its own disadvantages, marked with ❌:\r\n\r\n| Disadvantage | \"Overrun\" model | \"Break\" model | \"Stall\" model | [\"Smear\" model](https://developers.google.com/time/smear) |\r\n| :--- | --- | --- | --- | --- |\r\n| TAI time can convert to `NaN` in Unix |  | ❌ |  |  |\r\n| Unix time can convert to `NaN` in TAI | ❌ | ❌ | ❌ |  |\r\n| Unix time can be ambiguous (two TAI times map to the same Unix time) | ❌ |  | ❌ |  |\r\n| Unix time can run backwards | ❌ |  |  |  |\r\n| Unix seconds vary in length\\* |  |  |  | ❌ |\r\n| Fractions of seconds can disagree between Unix and TAI\\* |  |  |  | ❌ |\r\n\r\n\\* From 1972 onwards. All models have this disadvantage prior to 1972.\r\n\r\n## Examples\r\n\r\nExactly how long was 1972?\r\n\r\n```javascript\r\nimport { TaiConverter, MODELS } from 't-a-i'\r\n\r\nconst unixStart = Date.UTC(1972, 0, 1) // 63_072_000_000\r\nconst unixEnd   = Date.UTC(1973, 0, 1) // 94_694_400_000\r\n\r\nconsole.log(unixEnd - unixStart)\r\n// 31_622_400_000 milliseconds - wrong answer!\r\n\r\nconst taiConverter = TaiConverter(MODELS.STALL)\r\nconst atomicStart = taiConverter.unixToAtomic(unixStart) // 63_072_010_000\r\nconst atomicEnd   = taiConverter.unixToAtomic(unixEnd)   // 94_694_412_000\r\n\r\nconsole.log(atomicEnd - atomicStart)\r\n// 31_622_402_000 milliseconds - right, including two leap seconds!\r\n```\r\n\r\nWhat is the current offset between TAI and Unix time?\r\n\r\n```javascript\r\nconst now = Date.now()\r\nconst offset = taiConverter.unixToAtomic(now) - now\r\n\r\nconsole.log(offset)\r\n// 37_000 at the time of writing; TAI is 37 seconds ahead of Unix time\r\n```\r\n\r\nWhat was TAI at the Unix epoch?\r\n\r\n```javascript\r\ntaiConverter.unixToAtomic(0)\r\n// 8_000, i.e. 1970-01-01 00:00:08.000_082 TAI, truncated to the millisecond\r\n```\r\n\r\n## Important notes!\r\n\r\n### Unit test your code\r\n\r\nIt is **strongly recommended** that you thoroughly unit test the behaviour of your code at leap second boundaries: before, during and after.\r\n\r\nThe nature of the relationship between Unix time and TAI - no matter how it is modelled - means that conversions behave consistently for years on end, and then, during leap seconds, suddenly display very different behaviour, **sometimes returning `NaN`**. Not only that, leap seconds are commonly inserted on New Year's Eve, which is a very inopportune time to be dealing with this kind of bug!\r\n\r\nFor your reference, at the time of writing:\r\n\r\n* The most recent inserted leap second was added at the very end of 31 December 2016.\r\n* The most recent removed time was 0.1 TAI seconds, removed from the very end of 31 January 1968.\r\n\r\n### Validity for the future\r\n\r\nLeap seconds (or the lack thereof) are announced in the International Earth Rotation and Reference Systems Service (IERS)'s six-monthly Bulletin C. For example, at the time of writing, [the latest such bulletin](https://hpiers.obspm.fr/iers/bul/bulc/bulletinc.72) was published on 6 July 2026 and announced that there will be no leap second at the end of December 2026. This means that `t-a-i`'s calculations are guaranteed to be correct up to, but not including, the *next* potential leap second, which in this case is at the end of June 2027. At or beyond this point, the introduction of leap seconds cannot be predicted in advance, and the correctness of `t-a-i`'s behaviour cannot be guaranteed.\r\n\r\nAs a result, `t-a-i`'s behaviour beyond the next-but-one (possible) leap second is considered to be undefined. Updates to the source data when new leap seconds are announced will not be considered breaking changes, and will not incur a major version bump.\r\n\r\n### JavaScript `Date`s should not be used to represent instants in TAI\r\n\r\nIt's not recommended to construct a `Date` object directly from a TAI millisecond count.\r\n\r\n```js\r\n// bad code, don't do this\r\nconst taiDate = new Date(taiConverter.unixToAtomic(unixDate.getTime()))\r\n```\r\n\r\nThis is because `Date` represents an instant in Unix time, not an instant in TAI. The `Date` object's [method names and method behaviours](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) reflect this.\r\n\r\nInstead, consider using a [`TaiDate`](https://github.com/ferno/tai-date)!\r\n\r\n```js\r\n// do this instead\r\nimport { TaiDate } from 'tai-date'\r\nconst taiDate = new TaiDate(taiConverter.unixToAtomic(unixDate.getTime())\r\n```\r\n\r\n## Installation\r\n\r\n```\r\nnpm install t-a-i\r\n```\r\n\r\n## API\r\n\r\n### UNIX_START\r\n\r\nThis constant is the Unix millisecond count at the beginning of TAI, which was, equivalently:\r\n\r\n* 1961-01-01 00:00:00.000_000 UTC\r\n* 1961-01-01 00:00:01.422_818 TAI\r\n* -283_996_800_000.000 Unix time\r\n* -283_996_798_577.182 TAI milliseconds\r\n\r\nConversions generally return `NaN` when the input Unix or TAI instant is before this.\r\n\r\n### UNIX_END\r\n\r\nThis constant is the Unix millisecond count when the next possible leap second may or may not occur. `t-a-i`'s behaviour at or beyond this point in time is considered to be undefined.\r\n\r\n### MODELS\r\n\r\nThis object contains constants corresponding to different possible models of the relationship between TAI and Unix time (see above). Pass one of these constants to the TaiConverter constructor:\r\n\r\n#### MODELS.OVERRUN\r\n#### MODELS.BREAK\r\n#### MODELS.STALL\r\n#### MODELS.SMEAR\r\n\r\n### TaiConverter(model)\r\n\r\nReturns a TAI/Unix converter object whose conversions obey the specified model. All `TaiConverter` objects provide the same methods, `unixToAtomic` and `atomicToUnix`, but they differ in what they return depending on the model used.\r\n\r\n### taiConverter.atomicToUnix(atomic)\r\n\r\nConverts the input TAI millisecond count to a Unix millisecond count. Throws if `atomic` is not an integer. Returns an integer. If the precise value to be returned is fractional, it is rounded towards negative infinity. If `atomic` is a BigInt, returns a BigInt. If `atomic` is prior to the beginning of TAI, `NaN` is returned (even if `atomic` is a BigInt).\r\n\r\nWhen Unix time is inserted,\r\n\r\n* with the `OVERRUN` model, Unix time overruns and then backtracks. This means that sometimes two TAI millisecond counts convert to the same Unix millisecond count.\r\n* with the `BREAK` model,  Unix time is indeterminate; `NaN` is returned (even if `atomic` is a BigInt).\r\n* with the `STALL` model, Unix time stalls. This means that a whole range of TAI millisecond counts all convert to the same Unix millisecond count.\r\n* with the `SMEAR` model, the discontinuity is smeared out from midday to midday across the discontinuity.\r\n\r\nWhen Unix time is removed,\r\n\r\n* with the `OVERRUN`, `BREAK` and `STALL` models, the returned Unix millisecond count jumps up discontinuously between one input TAI millisecond count and the next.\r\n* with the `SMEAR` model, the discontinuity is smeared out from midday to midday across the discontinuity.\r\n\r\n### taiConverter.atomicToOffset(atomic)\r\n\r\nConverts the input TAI millisecond count to the current difference in milliseconds between TAI and Unix time. Throws if `atomic` is not an integer. Returns an integer. If the precise value to be returned is fractional, it is rounded towards negative infinity. If `atomic` is a BigInt, returns a BigInt. If `atomic` is prior to the beginning of TAI, `NaN` is returned (even if `atomic` is a BigInt). It is recommend to use this instead of `atomic - taiConverter.atomicToOffset(atomic)` because it returns more accurate results.\r\n\r\nThe returned value is always positive, as TAI has been ahead of Unix time for as long as both have been well-defined. Prior to 1 January 1972, Unix seconds were slightly shorter than TAI seconds (the precise ratio varied), so the offset increased smoothly over the course of months and years. After 1 January 1972, Unix seconds and TAI seconds are precisely the same length, so the offset is fixed.\r\n\r\nWhen Unix time is inserted,\r\n\r\n* with the `OVERRUN` model, the offset jumps up discontinuously between one input TAI millisecond count and the next.\r\n* with the `BREAK` model,  Unix time is indeterminate; `NaN` is returned (even if `atomic` is a BigInt).\r\n* with the `STALL` model, the offset increases smoothly over the course of the inserted time.\r\n* with the `SMEAR` model, the offset increases smoothly from midday to midday across the discontinuity.\r\n\r\nWhen Unix time is removed,\r\n\r\n* with the `OVERRUN`, `BREAK` and `STALL` models, the offset jumps down discontinuously between input one TAI millisecond count and the next.\r\n* with the `SMEAR` model, the offset decreases smoothly from midday to midday across the discontinuity.\r\n\r\n### taiConverter.atomicToDriftRate(atomic)\r\n\r\nConverts the input TAI millisecond count to the current drift rate between TAI and Unix time in TAI milliseconds per Unix day. Throws if `atomic` is not an integer. Returns an integer. If the precise value to be returned is fractional, it is rounded towards negative infinity. If `atomic` is a BigInt, returns a BigInt. If `atomic` is prior to the beginning of TAI, `NaN` is returned (even if `atomic` is a BigInt).\r\n\r\nThis is the rate at which `atomicToOffset(atomic)` is changing (see above). Prior to 1 January 1972, Unix seconds were slightly shorter than TAI seconds (the precise ratio varied), so this value was a small positive number. After 1 January 1972, Unix seconds and TAI seconds are precisely the same length, so the drift rate is zero.\r\n\r\nWhen Unix time is inserted,\r\n\r\n* with the `OVERRUN` model, the drift rate is unchanged over the course of the discontinuity.\r\n* with the `BREAK` model, the drift rate is indeterminate; `NaN` is returned (even if `atomic` is a BigInt).\r\n* with the `STALL` model, the drift rate is infinite; `Infinity` is returned (even if `atomic` is a BigInt).\r\n* with the `SMEAR` model, the drift rate increases by 1000ms (or whatever amount of time is inserted) at midday prior to the discontinuity and returns to normal at midday after it.\r\n\r\nWhen Unix time is removed,\r\n\r\n* with the `OVERRUN`, `BREAK` and `STALL` models, the drift rate is unchanged over the course of the discontinuity.\r\n* with the `SMEAR` model, the drift rate decreases by 1000ms (or whatever amount of time is removed) at midday prior to the discontinuity and returns to normal at midday after it.\r\n\r\nDrift rates have historically been very small, which means the truncated millisecond results are inaccurate. It is recommended to use the nanoseconds API (see below), which returns precise results.\r\n\r\n### taiConverter.unixToAtomic(unix[, options])\r\n\r\nConverts the input Unix millisecond count to a TAI millisecond count. Throws if `unix` is not an integer. Under normal circumstances, returns a single integer. If the precise value to be returned is fractional, it is rounded towards negative infinity. If `unix` is a BigInt, a BigInt is returned. If `unix` is prior to the beginning of TAI (_i.e._ less than `UNIX_START`), `NaN` is returned (even if `unix` is a BigInt).\r\n\r\nWhen Unix time is inserted,\r\n\r\n* with the `OVERRUN` model, one Unix millisecond count corresponds to two TAI millisecond counts. The latter of the two, after the inserted time, is returned.\r\n* with the `BREAK` model, the input Unix millisecond count corresponds unambiguously to a TAI millisecond count time after the inserted time.\r\n* with the `STALL` model, one particular input Unix millisecond count corresponds to a closed range of TAI millisecond counts. The last TAI millisecond count in the range, at the end of the inserted time, is returned.\r\n* with the `SMEAR` model, the discontinuity is smeared out from midday to midday across the discontinuity.\r\n\r\nWhen Unix time is removed,\r\n\r\n* with the `OVERRUN`, `BREAK` and `STALL` models, some Unix millisecond counts never happened; `NaN` is returned.\r\n* with the `SMEAR` model, the discontinuity is smeared out from midday to midday across the discontinuity.\r\n\r\n#### Special options\r\n\r\nWith the `OVERRUN` model, you can do `taiConverter.unixToAtomic(unix, { array: true })` to receive an array of TAI millisecond counts. Normally this array has a single entry. If the input Unix millisecond count is prior to the beginning of TAI, or was removed, an empty array `[]` is returned. During inserted time, an array containing two entries is returned.\r\n\r\n```javascript\r\nimport { TaiConverter, MODELS } from 't-a-i'\r\n\r\nconst taiConverter = TaiConverter(MODELS.OVERRUN)\r\n\r\nconst unix = 915_148_800_500\r\n// 1999-01-01 00:00:00.500 UTC\r\n\r\ntaiConverter.unixToAtomic(unix)\r\n// 915_148_832_500\r\n// i.e. 1999-01-01 00:00:32.500 TAI\r\n\r\ntaiConverter.unixToAtomic(unix, { array: true })\r\n// [915_148_831_500, 915_148_832_500]\r\n// i.e. [1999-01-01 00:00:31.500 TAI, 1999-01-01 00:00:32.500 TAI]\r\n```\r\n\r\nWith the `STALL` model, you can do `taiConverter.unixToAtomic(unix, { range: true })` to receive a closed range `[first, last]` of TAI millisecond counts. Normally `first` and `last` will be equal. If the input Unix millisecond count is prior to the beginning of TAI, or was removed, `[NaN, NaN]` is returned. During inserted time, Unix time stalls; if the input Unix millisecond count is precisely the value at which Unix time stalled, the array's entries indicate the first and last TAI millisecond counts in the stall.\r\n\r\n```javascript\r\nimport { TaiConverter, MODELS } from 't-a-i'\r\n\r\nconst taiConverter = TaiConverter(MODELS.STALL)\r\n\r\nconst unix = 915_148_800_000\r\n// 1999-01-01 00:00:00.000 UTC\r\n\r\ntaiConverter.unixToAtomic(unix)\r\n// 915_148_832_000\r\n// i.e. 1999-01-01 00:00:32.000 TAI\r\n\r\ntaiConverter.unixToAtomic(unix, { range: true })\r\n// [915_148_831_000, 915_148_832_000]\r\n// i.e. [1999-01-01 00:00:31.000 TAI, 1999-01-01 00:00:32.000 TAI]\r\n```\r\n\r\n### Nanoseconds API\r\n\r\nAll of the above works with integer numbers of TAI or Unix milliseconds. You can also work in nanoseconds:\r\n\r\n```js\r\nimport { TaiConverter, MODELS, UNIX_START } from 't-a-i/nanos'\r\n\r\nconst taiConverter = TaiConverter(MODELS.STALL)\r\n\r\nconsole.log(UNIX_START)\r\n// -283_996_800_000_000_000 Unix nanoseconds\r\n\r\nconst taiStart = taiConverter.unixToAtomic(UNIX_START)\r\nconsole.log(taiStart)\r\n// -283_996_798_577_182_000 TAI nanoseconds\r\n\r\nconsole.log(taiConverter.atomicToOffset(taiStart))\r\n// 1_422_818_000n TAI nanoseconds\r\n\r\nconsole.log(taiConverter.atomicToDriftRate(taiStart))\r\n// 1_296_000n TAI nanoseconds per Unix day\r\n```\r\n\r\n#### A note on precision when using the nanoseconds API\r\n\r\nIt is highly recommended to use BigInts when working in nanoseconds.\r\n\r\nJavaScript numbers are IEEE 754 64-bit floats which cannot precisely represent all integers beyond a certain range. [`Number.MAX_SAFE_INTEGER`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER) is `9_007_199_254_740_991` which, when interpreted as a nanosecond count, is 104 days, 5 hours, 59 minutes, 59.254_740_991 seconds. This means that nanosecond counts for:\r\n\r\n* times before 1969-09-18 18:00:00.745_259_009\r\n* times after 1970-04-15 05:59:59.254_740_991\r\n\r\nare sometimes inaccessible. This affects both `unixToAtomic` and `atomicToUnix`, and it affects both the inputs and the return values of these methods.\r\n\r\nFor example, suppose it's one millisecond before the end of the 24-hour smear for the most recent leap second. Let's try to convert that Unix time to TAI, using ordinary floats:\r\n\r\n```js\r\nimport { TaiConverter, MODELS } from 't-a-i/nanos'\r\n\r\nconst taiConverter = TaiConverter(MODELS.SMEAR)\r\n\r\nconst unixNanos = Date.UTC(2017, 0 /* January */, 1, 11, 59, 59, 999) * 1_000_000\r\nconst taiNanos = taiConverter.unixToAtomic(unixNanos)\r\n```\r\n\r\nThe correct, exact values here *should* be:\r\n\r\n<table>\r\n<tr><td><b>UTC time</b></td><td>2017-01-01 11:59:59.999_000_000</td></tr>\r\n<tr><td><b>Unix nanosecond count</b></td><td>1_483_271_999_999_000_000</td></tr>\r\n<tr><td><b>TAI nanosecond count</b></td><td>1_483_272_036_998_999_988.425_925_925_925...</td></tr>\r\n<tr><td><b>Rounded TAI nanosecond count</b></td><td>1_483_272_036_998_999_988</td></tr>\r\n<tr><td><b>Returned value</b></td><td>1_483_272_036_998_999_988</td></tr>\r\n</table>\r\n\r\nHowever, because some of these numbers cannot be represented in JavaScript, the actual calculation which takes place is:\r\n\r\n<table>\r\n<tr><td><b><code>unixNanos</code></b></td><td>1_483_271_999_999_000_064 (off by 64)</td></tr>\r\n<tr><td><b>TAI nanosecond count</b></td><td>1_483_272_036_999_000_052.426_666_666_666 (off by 64.000_740_740_740...)</td></tr>\r\n<tr><td><b>Rounded TAI nanosecond count</b></td><td>1_483_272_036_999_000_052 (off by 64)</td></tr>\r\n<tr><td><b><code>taiNanos</code></b></td><td>1_483_272_036_999_000_064 (off by 76)</td></tr>\r\n</table>\r\n\r\nIf we use BigInts, these problems go away and we obtain precise results:\r\n\r\n```js\r\nimport { TaiConverter, MODELS } from 't-a-i/nanos'\r\n\r\nconst taiConverter = TaiConverter(MODELS.SMEAR)\r\n\r\nconst unixNanos = BigInt(Date.UTC(2017, 0 /* January */, 1, 11, 59, 59, 999)) * 1_000_000n\r\nconst taiNanos = taiConverter.unixToAtomic(unixNanos)\r\n```\r\n\r\n## Background: TAI vs UTC vs Unix\r\n\r\nThe relationship between UTC and TAI starts at 00:00:00 UTC on 1 January 1961. The relationship has always been [linear](https://en.wikipedia.org/wiki/Linear_function_(calculus)), but the nature of the linear relationship has changed on various discrete occasions.\r\n\r\nRaw data is provided by USNO (ftp://maia.usno.navy.mil/ser7/tai-utc.dat) or <a href=\"http://hpiers.obspm.fr/eop-pc/earthor/utc/TAI-UTC_tab.html\">IERS</a>.\r\n\r\n### 1961 to 1971 inclusive\r\n\r\nWhen TAI was first defined, it had the following relationship with UTC:\r\n\r\n```\r\n1961 JAN  1 =JD 2437300.5  TAI-UTC=   1.4228180 S + (MJD - 37300.) X 0.001296 S\r\n```\r\n\r\n* `1961 JAN  1` (midnight) is the UTC time when this relationship became effective.\r\n* `JD 2437300.5` is the [Julian date](https://en.wikipedia.org/wiki/Julian_day) when this relationship became effective. The Julian date is the number of UTC days elapsed since midday UTC on 24 November 4714 BCE (proleptic Gregorian calendar).\r\n* `0.001296 S` is the *drift rate* between TAI and UTC in TAI seconds per UTC day. For each full UTC day which elapses, a full TAI day plus 0.001296 TAI seconds elapses, causing TAI to progressively pull ahead of UTC.\r\n* `MJD` is the current Modified Julian date. The Modified Julian date is the Julian date minus 2_400_000.5, or equivalently the number of UTC days elapsed since midnight UTC on 17 November 1858.\r\n* `37300.` is the Modified Julian date of some (essentially arbitrary) root point, in this case midnight UTC on 1 January 1961.\r\n* So, `MJD - 37300.` is the number of UTC days since the root point.\r\n* And `(MJD - 37300.) X 0.001296 S` is offset accrued since the root point, in TAI seconds.\r\n* `1.4228180 S` is the absolute offset of TAI from UTC as of that root point, in TAI seconds.\r\n* So, `1.4228180 S + (MJD - 37300.) X 0.001296 S` is the total offset between TAI and UTC in TAI seconds as of the current Modified Julian date.\r\n\r\nFrom this we compute that initially, 1961-01-01 00:00:00.000_000 UTC was equal to 1961-01-01 00:00:01.422_818 TAI. After one (Modified) Julian day, TAI had pulled ahead by another 0.001_296 TAI seconds, so that 1961-01-02 00:00:00.000_000 UTC was equal to 1961-01-02 00:00:01.424_114 TAI.\r\n\r\nThis linear relationship was effective until the beginning of the next period (which we can compute as 1961-08-01 00:00:01.647_570 TAI), when the parameters were changed.\r\n\r\n### Discontinuities\r\n\r\nMore often than not, changing the parameters of the linear relationship introduces a discontinuity between the current UTC time as of the end of one period and the current UTC time as of the beginning of the next period. This discontinuity causes UTC to apparently repeat itself or to skip time.\r\n\r\n#### Example of inserted time\r\n\r\nAt 1965-01-01 00:00:03.540_130 TAI, the offset between TAI and UTC was increased by 0.1 TAI seconds, leaving all other parameters identical. At this instant, UTC jumped back 0.1 TAI seconds = 0.099_999_998_5... UTC seconds, from 1965-01-01 00:00:00.099_999_998_5... to 1965-01-01 00:00:00.000, and repeated that time. This means that a time like *e.g.* 1965-01-01 00:00:00.05 UTC is ambiguous, and has two meanings in TAI.\r\n\r\nEquivalently, we could say that the last minute of 1964 was 0.1 TAI seconds longer than normal, so UTC counted up as far as 1964-12-31 23:59:60.099_999_998_5... before advancing to 1965-01-01 00:00:00.000.\r\n\r\n#### Example of removed time\r\n\r\nAt 1968-02-01 00:00:06.185_682 TAI, the offset between TAI and UTC was decreased by 0.1 TAI seconds, leaving all other parameters identical. At this instant, UTC jumped forward 0.1 TAI seconds = 0.099_999_997... UTC seconds, from 1968-01-31 23:59:59.900_000_002_9... to 1968-02-01 00:00:00.000, skipping the intervening time. This means that a time like *e.g.* 1968-01-31 23:59:59:95 UTC never happened, and has no interpretation in TAI.\r\n\r\n### 1972 onwards\r\n\r\nStarting from midnight UTC on 1 January 1972, the relationship between TAI and UTC was simplified in several ways:\r\n\r\n* A UTC second is the same length as a TAI second. The drift rate is fixed at 0. The relationship is no longer merely linear but constant. There is no real need to nominate a specific root point.\r\n* The offset between TAI and UTC is always an integer number of seconds. It only ever changes by one full second at a time, referred to as a \"leap second\".\r\n* The relationship only changes on 1 January or 1 July.\r\n\r\nFor example:\r\n\r\n```\r\n1972 JAN  1 =JD 2441317.5  TAI-UTC=  10.0       S + (MJD - 41317.) X 0.0      S\r\n```\r\n\r\nThis indicates that 1972-01-01 00:00:00 UTC was 1972-01-01 00:00:10 TAI.\r\n\r\n#### Example of inserted time\r\n\r\nAt 2015-07-01 00:00:36 TAI, the offset between TAI and UTC was increased by 1 second. At this instant, UTC jumped back 1 second from 2015-07-01 00:00:01 to 2015-07-01 00:00:00 and repeated that time. This means that a time like *e.g.* 2015-07-01 00:00:00.5 UTC is ambiguous, and has two meanings in TAI: 2015-07-01 00:00:35.5 or 2015-07-01 00:00:36.5.\r\n\r\nIn fact, what we more normally say is that the last minute of June 2015 was 1 second longer than normal, so UTC counted up as far as 2015-06-30 23:59:60 before advancing to 2015-07-01 00:00:00.\r\n\r\n#### Example of removed time\r\n\r\nThis has not happened since 1972, and is unlikely to ever happen.\r\n\r\n### Unix time vs UTC\r\n\r\nUnix time seems to be built around an assumption that UTC follows an idealised Gregorian calendar with no such discontinuities. Unix time counts the number of elapsed UTC milliseconds since the Unix epoch at, equivalently:\r\n\r\n* 1970-01-01 00:00:00.000_000 UTC\r\n* 1970-01-01 00:00:08.000_082 TAI\r\n* 0.000 Unix time\r\n* 8_000.082 TAI milliseconds\r\n\r\n, not counting leap seconds. For example, 1999-01-01 00:00:00 UTC is 915_148_800_000 Unix milliseconds.\r\n\r\nUnix time can be computed from any Gregorian calendar date and time using a relatively simple piece of arithmetic, and the reverse calculation is also simple. Unix time can be extended backwards to negative numbers.\r\n\r\nUnix time therefore has the same issues as UTC when it comes to removed time; certain millisecond counts literally never happened. And during inserted time, since Unix time is a simple real number, it can't express a time like \"23:59:60\", so *something else must happen*.\r\n\r\nIronically, TAI fits the description of an idealised Gregorian calendar much better. Applying the same arithmetic to a TAI date yields TAI time, which is the number of TAI milliseconds since 1970-01-01 00:00:00 TAI.\r\n","readmeFilename":"README.md"}