{"_id":"timesync","_rev":"31-67de0115cdaed5338cb62128e4cee864","name":"timesync","description":"Time synchronization between peers","dist-tags":{"latest":"1.0.11"},"versions":{"0.0.1":{"name":"timesync","version":"0.0.1","description":"Time synchronization for peers","author":{"name":"Jos de Jong","email":"wjosdejong@gmail.com","url":"https://github.com/josdejong"},"main":"./timesync.js","keywords":["time","synchronization","ntp","client","server","isomorphic"],"repository":{"type":"git","url":"git://github.com/enmasseio/timesync.git"},"dependencies":{},"devDependencies":{},"scripts":{},"gitHead":"6cbbd0dbbf2a862d955268e7a5c4516b39888c9a","bugs":{"url":"https://github.com/enmasseio/timesync/issues"},"homepage":"https://github.com/enmasseio/timesync","_id":"timesync@0.0.1","_shasum":"15e49c65d4d3eaae261ec8467fd2e18a883286b8","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"josdejong","email":"wjosdejong@gmail.com"},"maintainers":[{"name":"josdejong","email":"wjosdejong@gmail.com"}],"dist":{"shasum":"15e49c65d4d3eaae261ec8467fd2e18a883286b8","tarball":"https://registry.npmjs.org/timesync/-/timesync-0.0.1.tgz","integrity":"sha512-Ws0pksVSpP71T83XL+38quxmVJpKfAht/BDAyGEQU04sQ7ZLLicpWFQ/a8MrlPhoCfEKzXn3zczusOAbiKvlWQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB10t05bNGQpzm5rjtda79/DTigTss/68FZ1G+Ac4ON2AiEAmzPx56nPQjhVGsi3mc/aApf8+ri7AdSPZcITdN7NwQk="}]},"directories":{}},"0.1.0":{"name":"timesync","version":"0.1.0","description":"Time synchronization between peers","author":{"name":"Jos de Jong","email":"wjosdejong@gmail.com","url":"https://github.com/josdejong"},"main":"./dist/timesync.min.js","keywords":["time","synchronization","ntp","client","server","isomorphic"],"repository":{"type":"git","url":"git://github.com/enmasseio/timesync.git"},"dependencies":{"body-parser":"^1.11.0","debug":"^2.1.1","express":"^4.11.2","promise":"^6.1.0","socket.io":"^1.3.2"},"devDependencies":{"6to5ify":"^4.0.0","browserify":"^8.1.1","uglify-js":"^2.4.16","watch":"^0.13.0"},"scripts":{"bundle":"browserify lib/timesync.js -t 6to5ify -s timesync -o dist/timesync.js --no-builtins","minify":"uglifyjs dist/timesync.js -o dist/timesync.min.js","build":"npm run bundle; npm run minify","watch":"watch 'npm run build' lib"},"gitHead":"d2c653afe59e4342fa31a70d4da9633cce09be6e","bugs":{"url":"https://github.com/enmasseio/timesync/issues"},"homepage":"https://github.com/enmasseio/timesync","_id":"timesync@0.1.0","_shasum":"4ada53cb1e126dfbcab2c191c9f2d6a77fdf4dac","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"josdejong","email":"wjosdejong@gmail.com"},"maintainers":[{"name":"josdejong","email":"wjosdejong@gmail.com"}],"dist":{"shasum":"4ada53cb1e126dfbcab2c191c9f2d6a77fdf4dac","tarball":"https://registry.npmjs.org/timesync/-/timesync-0.1.0.tgz","integrity":"sha512-ei83FxHa7fvhtm+nD4bp5aA1IGjXyKeGV1sFecqfd3zxZ/miZX1o8OPydBgWojyCSWMbjOW8Anp0TcHczDIjmw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKHBHvJbStpL7Lh+rsKaCUYkTCc8wof7OJgqTpI5eTrQIhAIRN5FhP6CTspVlZTTELCDUUzTh+/O4d+ddHCPEFKSEU"}]},"directories":{}},"0.2.0":{"name":"timesync","version":"0.2.0","description":"Time synchronization between peers","author":{"name":"Jos de Jong","email":"wjosdejong@gmail.com","url":"https://github.com/josdejong"},"main":"./dist/timesync.min.js","keywords":["time","synchronization","ntp","client","server","isomorphic"],"repository":{"type":"git","url":"git://github.com/enmasseio/timesync.git"},"dependencies":{"body-parser":"^1.11.0","debug":"^2.1.1","express":"^4.11.2","promise":"^6.1.0"},"devDependencies":{"babelify":"^5.0.3","browserify":"^8.1.1","socket.io":"^1.3.2","uglify-js":"^2.4.16","watch":"^0.13.0"},"scripts":{"bundle":"browserify lib/timesync.js -t babelify -s timesync -o dist/timesync.js --no-builtins","minify":"uglifyjs dist/timesync.js -o dist/timesync.min.js","build":"npm run bundle; npm run minify","watch":"watch 'npm run build' lib"},"gitHead":"63c14dfee7aa03960e3e0770f408b254225d816c","bugs":{"url":"https://github.com/enmasseio/timesync/issues"},"homepage":"https://github.com/enmasseio/timesync#readme","_id":"timesync@0.2.0","_shasum":"bd33d883c86818850288b005a2bb9f38cc81d504","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.2","_npmUser":{"name":"josdejong","email":"wjosdejong@gmail.com"},"dist":{"shasum":"bd33d883c86818850288b005a2bb9f38cc81d504","tarball":"https://registry.npmjs.org/timesync/-/timesync-0.2.0.tgz","integrity":"sha512-NFMVAqwDdCzhu/Gzw5uWgaN5zC2I0iSMfgTB5dWvsNj2Avwjtf4c6p2QQA4Z1U4DFnExxomPkXvoRkQ0HOauAw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGHohZW8p9hbjbk7zopgbpp/+wBV02hwJUwhgmPWgqf+AiAOxzQef/nUgQbUG0a8ECCZWlhYHiSSlBUC8CzMbxQ6pA=="}]},"maintainers":[{"name":"josdejong","email":"wjosdejong@gmail.com"}],"directories":{}},"0.2.1":{"name":"timesync","version":"0.2.1","description":"Time synchronization between peers","author":{"name":"Jos de Jong","email":"wjosdejong@gmail.com","url":"https://github.com/josdejong"},"main":"./dist/timesync.min.js","keywords":["time","synchronization","ntp","client","server","isomorphic"],"repository":{"type":"git","url":"git://github.com/enmasseio/timesync.git"},"dependencies":{"body-parser":"^1.11.0","debug":"^2.1.1","express":"^4.11.2","promise":"^6.1.0"},"devDependencies":{"babelify":"^5.0.3","browserify":"^8.1.1","socket.io":"^1.3.2","uglify-js":"^2.4.16","watch":"^0.13.0"},"scripts":{"bundle":"browserify lib/timesync.js -t babelify -s timesync -o dist/timesync.js --bare","minify":"uglifyjs dist/timesync.js -o dist/timesync.min.js","build":"npm run bundle; npm run minify","watch":"watch 'npm run build' lib"},"gitHead":"735a3ac4cc7eac05b104bb04c6641adb8bfe785f","bugs":{"url":"https://github.com/enmasseio/timesync/issues"},"homepage":"https://github.com/enmasseio/timesync#readme","_id":"timesync@0.2.1","_shasum":"28391be0d0458e457506cc2c008930773673c5a0","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.2.0","_npmUser":{"name":"josdejong","email":"wjosdejong@gmail.com"},"dist":{"shasum":"28391be0d0458e457506cc2c008930773673c5a0","tarball":"https://registry.npmjs.org/timesync/-/timesync-0.2.1.tgz","integrity":"sha512-m6q3cDjfHhrvT21BhgctGchDM8xTsDAKvVtC27/fn98bKxLpvRib8SO8rTEtEU2Pu7/duFLHUNpDeQ5ZjhKuGQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICsxI2+h2C0kMD5tVYnuZeAXQSMFsOrP+FEr8XRVj7hVAiBFznxe9XmOmgcvsvpy6wP7PGN1CHHZIyno2CBUf2VakQ=="}]},"maintainers":[{"name":"josdejong","email":"wjosdejong@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/timesync-0.2.1.tgz_1464792727742_0.9566786231007427"},"directories":{}},"0.2.2":{"name":"timesync","version":"0.2.2","description":"Time synchronization between peers","author":{"name":"Jos de Jong","email":"wjosdejong@gmail.com","url":"https://github.com/josdejong"},"main":"./dist/timesync.min.js","keywords":["time","synchronization","ntp","client","server","isomorphic"],"repository":{"type":"git","url":"git://github.com/enmasseio/timesync.git"},"dependencies":{"body-parser":"^1.11.0","debug":"^2.1.1","express":"^4.11.2","promise":"^6.1.0"},"devDependencies":{"babelify":"^5.0.3","browserify":"^8.1.1","socket.io":"^1.3.2","uglify-js":"^2.4.16","watch":"^0.13.0"},"scripts":{"bundle":"browserify lib/timesync.js -t babelify -s timesync -o dist/timesync.js --bare","minify":"uglifyjs dist/timesync.js -o dist/timesync.min.js","build":"npm run bundle; npm run minify","watch":"watch 'npm run build' lib"},"browserify":{"transform":["babelify"]},"gitHead":"4e4053642ad9005fd889e9c1c7792802ce10ecb9","bugs":{"url":"https://github.com/enmasseio/timesync/issues"},"homepage":"https://github.com/enmasseio/timesync#readme","_id":"timesync@0.2.2","_shasum":"114d26c9170b94e441058d131c58294a905f30f6","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.0","_npmUser":{"name":"josdejong","email":"wjosdejong@gmail.com"},"dist":{"shasum":"114d26c9170b94e441058d131c58294a905f30f6","tarball":"https://registry.npmjs.org/timesync/-/timesync-0.2.2.tgz","integrity":"sha512-WShGBBT0bFvPpevD33xv+rdGQJw5Jhx70yacwOxVDqt0VwMqIqQXRhu+8qfYWvdxuJ/dgnwYJb6EbN2lEBch+A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID9+yx4GxPlHeI7KQaSF83UyK1jUOMXwjW1RQCXw5Iu/AiEAtp0kwshCnd/+hY73Csa8qptfKK/0brZipfQI8JMfDII="}]},"maintainers":[{"name":"josdejong","email":"wjosdejong@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/timesync-0.2.2.tgz_1481369803957_0.952563252998516"},"directories":{}},"0.2.3":{"name":"timesync","version":"0.2.3","description":"Time synchronization between peers","author":{"name":"Jos de Jong","email":"wjosdejong@gmail.com","url":"https://github.com/josdejong"},"main":"./dist/timesync.min.js","keywords":["time","synchronization","ntp","client","server","isomorphic"],"repository":{"type":"git","url":"git://github.com/enmasseio/timesync.git"},"dependencies":{"body-parser":"^1.11.0","debug":"^2.1.1","express":"^4.11.2","promise":"^6.1.0"},"devDependencies":{"babelify":"^5.0.3","browserify":"^8.1.1","socket.io":"^1.3.2","uglify-js":"^2.4.16","watch":"^0.13.0"},"scripts":{"bundle":"browserify lib/timesync.js -t babelify -s timesync -o dist/timesync.js --bare","minify":"uglifyjs dist/timesync.js -o dist/timesync.min.js","build":"npm run bundle; npm run minify","watch":"watch 'npm run build' lib"},"browserify":{"transform":["babelify"]},"gitHead":"89b6e7d8f5ca7f6c6250a25a83ca79eb88799db7","bugs":{"url":"https://github.com/enmasseio/timesync/issues"},"homepage":"https://github.com/enmasseio/timesync#readme","_id":"timesync@0.2.3","_shasum":"9da20ace8115d393dfd5bbfa9eae5fd77af3c89b","_from":".","_npmVersion":"3.10.10","_nodeVersion":"7.2.1","_npmUser":{"name":"josdejong","email":"wjosdejong@gmail.com"},"dist":{"shasum":"9da20ace8115d393dfd5bbfa9eae5fd77af3c89b","tarball":"https://registry.npmjs.org/timesync/-/timesync-0.2.3.tgz","integrity":"sha512-NaxgqW6gDeH6WghXRymgUinS7lOpb0fnyYZGy+1Tx/huJ6wNcLaDAUIhkvxZ/MWwLKaod50JZ7axBaqSYrlW6A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIACJvGfkQEDDq1J+fJs+MLErtE+lmr8NrfSEvfQ54OuEAiAYs0+5MkUjHL0iY6/LHWGIf8H696zxX2AaHzee4KTNrA=="}]},"maintainers":[{"name":"josdejong","email":"wjosdejong@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/timesync-0.2.3.tgz_1481831043879_0.9266468705609441"},"directories":{}},"0.3.0":{"name":"timesync","version":"0.3.0","description":"Time synchronization between peers","author":{"name":"Jos de Jong","email":"wjosdejong@gmail.com","url":"https://github.com/josdejong"},"main":"./lib/timesync.js","keywords":["time","synchronization","ntp","client","server","isomorphic"],"repository":{"type":"git","url":"git://github.com/enmasseio/timesync.git"},"dependencies":{"body-parser":"^1.11.0","debug":"^2.1.1","express":"^4.11.2","promise":"^6.1.0"},"devDependencies":{"babel-cli":"^6.22.2","babel-preset-es2015":"^6.22.0","babelify":"^5.0.3","browserify":"^8.1.1","socket.io":"^1.3.2","uglify-js":"^2.4.16","watch":"^0.13.0"},"scripts":{"bundle":"mkdir -p dist; browserify src/timesync.js -t babelify -s timesync -o dist/timesync.js --bare","minify":"uglifyjs dist/timesync.js -o dist/timesync.min.js","compile":"babel -q src/ -d lib/","build":"npm run bundle; npm run minify; npm run compile","watch":"watch 'npm run build' src"},"browserify":{"transform":["babelify"]},"gitHead":"bbaef88a16809839465ce55185b3660179464a05","bugs":{"url":"https://github.com/enmasseio/timesync/issues"},"homepage":"https://github.com/enmasseio/timesync#readme","_id":"timesync@0.3.0","_shasum":"180eff2f3fbae14f35ca0fe3edd1b5c89f97fc2c","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"josdejong","email":"wjosdejong@gmail.com"},"dist":{"shasum":"180eff2f3fbae14f35ca0fe3edd1b5c89f97fc2c","tarball":"https://registry.npmjs.org/timesync/-/timesync-0.3.0.tgz","integrity":"sha512-UITGFKybNGY6t42bgToh5qlI9Q6mvu8CcgZfBijSctzgUXPns6QpQgBu0QqVl4QHJ4ZeYF8C50C+dazO4BbCdw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB8e7ObqMSg8vlGizTK2kJl2hGXArHs3dq3T1pqI2O6tAiA21xJLVso/wgIj3k4mtvCRxAjQzfiIr/2+XDokPdiyrA=="}]},"maintainers":[{"name":"josdejong","email":"wjosdejong@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/timesync-0.3.0.tgz_1485376647441_0.9081593004520983"},"directories":{}},"0.3.1":{"name":"timesync","version":"0.3.1","description":"Time synchronization between peers","author":{"name":"Jos de Jong","email":"wjosdejong@gmail.com","url":"https://github.com/josdejong"},"main":"./lib/timesync.js","keywords":["time","synchronization","ntp","client","server","isomorphic"],"repository":{"type":"git","url":"git://github.com/enmasseio/timesync.git"},"dependencies":{"body-parser":"^1.11.0","debug":"^2.1.1","express":"^4.11.2","promise":"^6.1.0"},"devDependencies":{"babel-cli":"^6.22.2","babel-preset-es2015":"^6.22.0","babelify":"^5.0.3","browserify":"^8.1.1","socket.io":"^1.3.2","uglify-js":"^2.4.16","watch":"^0.13.0"},"scripts":{"bundle":"mkdir -p dist; browserify src/timesync.js -t babelify -s timesync -o dist/timesync.js --bare","minify":"uglifyjs dist/timesync.js -o dist/timesync.min.js","compile":"babel -q src/ -d lib/","build":"npm run bundle; npm run minify; npm run compile","watch":"watch 'npm run build' src"},"browserify":{"transform":["babelify"]},"gitHead":"aab87c90e643367162c9fe93aaaccb3fe3397853","bugs":{"url":"https://github.com/enmasseio/timesync/issues"},"homepage":"https://github.com/enmasseio/timesync#readme","_id":"timesync@0.3.1","_shasum":"e340e4eca495a0df13ab24df9edd3012e7a6695b","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.8.0","_npmUser":{"name":"josdejong","email":"wjosdejong@gmail.com"},"dist":{"shasum":"e340e4eca495a0df13ab24df9edd3012e7a6695b","tarball":"https://registry.npmjs.org/timesync/-/timesync-0.3.1.tgz","integrity":"sha512-Loqi5NQFhRnMYb712+pj5E+E34z9Ywr7Dkd1XnYY4+E/UvwstMhPqzCb+0m5nX1eRpEOp5LsuUXUd3Jr/6XWAA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICn+i9+Q7f6hJtKKzwX6fYZUo86qx5Onx4I0IplojMpjAiEA5FfG8eUFXs5ZcNvY6gsrJVdB84OqGLMF6d38I3OBuFU="}]},"maintainers":[{"name":"josdejong","email":"wjosdejong@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/timesync-0.3.1.tgz_1491659341296_0.7109385712537915"},"directories":{}},"0.4.0":{"name":"timesync","version":"0.4.0","description":"Time synchronization between peers","author":{"name":"Jos de Jong","email":"wjosdejong@gmail.com","url":"https://github.com/josdejong"},"main":"./lib/timesync.js","keywords":["time","synchronization","ntp","client","server","isomorphic"],"repository":{"type":"git","url":"git://github.com/enmasseio/timesync.git"},"dependencies":{"body-parser":"^1.11.0","debug":"^2.1.1","express":"^4.11.2","promise":"^6.1.0"},"devDependencies":{"babel-cli":"^6.22.2","babel-preset-es2015":"^6.22.0","babelify":"^5.0.3","browserify":"^8.1.1","socket.io":"^1.3.2","uglify-js":"^2.4.16","watch":"^0.13.0"},"scripts":{"bundle":"mkdir -p dist; browserify src/timesync.js -t babelify -s timesync -o dist/timesync.js --bare","minify":"uglifyjs dist/timesync.js -o dist/timesync.min.js","compile":"babel -q src/ -d lib/","build":"npm run bundle; npm run minify; npm run compile","watch":"watch 'npm run build' src"},"browserify":{"transform":["babelify"]},"gitHead":"e35519f6cf669bad4aac0ca933195dd9caf1eb0f","bugs":{"url":"https://github.com/enmasseio/timesync/issues"},"homepage":"https://github.com/enmasseio/timesync#readme","_id":"timesync@0.4.0","_npmVersion":"5.0.3","_nodeVersion":"7.10.0","_npmUser":{"name":"josdejong","email":"wjosdejong@gmail.com"},"dist":{"integrity":"sha512-48AXD6KpwBMokpxh75Wl1a19WGlfsyIVKE+o/xM+zkyHZm8MURHxeqaZlr5CtQnF29Up3m42a7ny/6FWU+UpYA==","shasum":"bfa2c19ac57a7156b3b5bcd1b02d23895386ae64","tarball":"https://registry.npmjs.org/timesync/-/timesync-0.4.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDM5KGfLtgtucsfSpkiArdO7+FmoElL2DbXJiyKlRxDBAiEA1w4scYxFnrO74ed8JCXF7Sr46Jzr9fYCdjKCX9RyIy0="}]},"maintainers":[{"name":"josdejong","email":"wjosdejong@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timesync-0.4.0.tgz_1497378259052_0.9345919457264245"},"directories":{}},"0.4.1":{"name":"timesync","version":"0.4.1","description":"Time synchronization between peers","author":{"name":"Jos de Jong","email":"wjosdejong@gmail.com","url":"https://github.com/josdejong"},"main":"./lib/timesync.js","keywords":["time","synchronization","ntp","client","server","isomorphic"],"repository":{"type":"git","url":"git://github.com/enmasseio/timesync.git"},"dependencies":{"body-parser":"^1.11.0","debug":"^2.1.1","express":"^4.11.2","promise":"^6.1.0"},"devDependencies":{"babel-cli":"^6.22.2","babel-preset-es2015":"^6.22.0","babelify":"^5.0.3","browserify":"^8.1.1","socket.io":"^1.3.2","uglify-js":"^2.4.16","watch":"^0.13.0"},"scripts":{"bundle":"mkdir -p dist; browserify src/timesync.js -t babelify -s timesync -o dist/timesync.js --bare","minify":"uglifyjs dist/timesync.js -o dist/timesync.min.js","compile":"babel -q src/ -d lib/","build":"npm run bundle; npm run minify; npm run compile","watch":"watch 'npm run build' src"},"browserify":{"transform":["babelify"]},"gitHead":"dfd744931b5ba3a8ccf605d82256f429ec111213","bugs":{"url":"https://github.com/enmasseio/timesync/issues"},"homepage":"https://github.com/enmasseio/timesync#readme","_id":"timesync@0.4.1","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"josdejong","email":"wjosdejong@gmail.com"},"dist":{"integrity":"sha512-eQzU9Bin4LPXLSfAZl1xvhVFWgiVfwm46H4qjBvh1D3zpBqHU7WZlnmMw5sSnA2wwHcX5eM8JcrXK+xaAgzqqw==","shasum":"ad036d9559ab2627d1c41d4b10183682e82b3b88","tarball":"https://registry.npmjs.org/timesync/-/timesync-0.4.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDsa3n+XgLBneGi4Gb5NP1MmXJay8YUSCRJSTNMkeVKogIhAJGG6/Z5FlL18QyLtDaA81Rj4qixCQ4lGO3tvQzHHjAs"}]},"maintainers":[{"name":"josdejong","email":"wjosdejong@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timesync-0.4.1.tgz_1503144072749_0.527428864967078"},"directories":{}},"0.4.2":{"name":"timesync","version":"0.4.2","description":"Time synchronization between peers","author":{"name":"Jos de Jong","email":"wjosdejong@gmail.com","url":"https://github.com/josdejong"},"main":"./lib/timesync.js","keywords":["time","synchronization","ntp","client","server","isomorphic"],"repository":{"type":"git","url":"git://github.com/enmasseio/timesync.git"},"dependencies":{"body-parser":"^1.11.0","debug":"^2.1.1","express":"^4.11.2","promise":"^6.1.0"},"devDependencies":{"babel-cli":"^6.22.2","babel-preset-es2015":"^6.22.0","babelify":"^5.0.3","browserify":"^8.1.1","socket.io":"^1.3.2","uglify-js":"^2.4.16","watch":"^0.13.0"},"scripts":{"bundle":"mkdir -p dist; browserify src/timesync.js -t babelify -s timesync -o dist/timesync.js --bare","minify":"uglifyjs dist/timesync.js -o dist/timesync.min.js","compile":"babel -q src/ -d lib/","build":"npm run bundle; npm run minify; npm run compile","watch":"watch 'npm run build' src"},"browserify":{"transform":["babelify"]},"gitHead":"bc20b52b99d1c046f35c777c23efe472c10b57e6","bugs":{"url":"https://github.com/enmasseio/timesync/issues"},"homepage":"https://github.com/enmasseio/timesync#readme","_id":"timesync@0.4.2","_npmVersion":"5.4.2","_nodeVersion":"8.6.0","_npmUser":{"name":"josdejong","email":"wjosdejong@gmail.com"},"dist":{"integrity":"sha512-BUIIpQjT9q8eqCvetlUddv0/z3nA3cMZrekLbGXs4/Ijg9G981f2VZNbNfiziCz39OXp8WOosp16AlRHdeB33g==","shasum":"805cad8f62405d80b32b2a5a8baf829cc8061f52","tarball":"https://registry.npmjs.org/timesync/-/timesync-0.4.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGlL0+C/z2r7jUSAtu8wPBa1Bap0qZbsIUstb2/WedwFAiAMqJOGMKOW6Gvg2XZ2Pneo7hxBePwIbMFlxq7hX5FwKw=="}]},"maintainers":[{"name":"josdejong","email":"wjosdejong@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timesync-0.4.2.tgz_1508783672940_0.6330586809199303"},"directories":{}},"1.0.0":{"name":"timesync","version":"1.0.0","description":"Time synchronization between peers","author":{"name":"Jos de Jong","email":"wjosdejong@gmail.com","url":"https://github.com/josdejong"},"main":"./lib/timesync.js","license":"MIT","keywords":["time","synchronization","ntp","client","server","isomorphic"],"repository":{"type":"git","url":"git://github.com/enmasseio/timesync.git"},"dependencies":{"body-parser":"1.11.0","debug":"3.1.0","express":"4.11.2","promise":"8.0.1"},"devDependencies":{"babel-cli":"6.22.2","babel-preset-es2015":"6.22.0","babelify":"5.0.3","browserify":"8.1.1","socket.io":"1.3.2","uglify-js":"2.4.16","watch":"0.13.0"},"scripts":{"bundle":"mkdir -p dist; browserify src/timesync.js -t babelify -s timesync -o dist/timesync.js --bare","minify":"uglifyjs dist/timesync.js -o dist/timesync.min.js","compile":"babel -q src/ -d lib/","build":"npm run bundle; npm run minify; npm run compile","watch":"watch 'npm run build' src"},"browserify":{"transform":["babelify"]},"gitHead":"ada7d7b30cc5aa74ab70134829aa58ecb35d49f0","bugs":{"url":"https://github.com/enmasseio/timesync/issues"},"homepage":"https://github.com/enmasseio/timesync#readme","_id":"timesync@1.0.0","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"josdejong","email":"wjosdejong@gmail.com"},"dist":{"integrity":"sha512-4dMiJKARQMBb9MX2DVPotNRgFz4MnlDeGJWDRcNMsp8fDTKQRiAL7WdgAD1pilMcXdxdEKpn1i94l4xGCU2JZg==","shasum":"13d0ec52e8eade86d2677ac20777e7e38f0900ff","tarball":"https://registry.npmjs.org/timesync/-/timesync-1.0.0.tgz","fileCount":44,"unpackedSize":143037,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHluzTEzEyFTGcGjjvuvy8BJ95YLL/y1Rkn60TZRfidcAiAA9lHQdr5rzL1ZTDLeuyuURX0Z8Y7sDyrigKEI2P8ZgQ=="}]},"maintainers":[{"name":"josdejong","email":"wjosdejong@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timesync_1.0.0_1518466147008_0.6436892863085055"},"_hasShrinkwrap":false},"1.0.1":{"name":"timesync","version":"1.0.1","description":"Time synchronization between peers","author":{"name":"Jos de Jong","email":"wjosdejong@gmail.com","url":"https://github.com/josdejong"},"main":"./lib/timesync.js","license":"MIT","keywords":["time","synchronization","ntp","client","server","isomorphic"],"repository":{"type":"git","url":"git://github.com/enmasseio/timesync.git"},"dependencies":{"body-parser":"1.18.2","debug":"3.1.0","express":"4.16.2","promise":"8.0.1","socket.io":"2.0.4"},"devDependencies":{"babel-cli":"6.26.0","babel-preset-es2015":"6.24.1","babelify":"8.0.0","browserify":"16.1.0","uglify-js":"3.3.10","watch":"1.0.2"},"scripts":{"bundle":"mkdir -p dist; browserify src/timesync.js -t babelify -s timesync -o dist/timesync.js --bare","minify":"uglifyjs dist/timesync.js -o dist/timesync.min.js","compile":"babel -q src/ -d lib/","build":"npm run bundle; npm run minify; npm run compile","watch":"watch 'npm run build' src"},"browserify":{"transform":["babelify"]},"gitHead":"e5f5a6b06e9785376e958d3e5260c1469a2ec253","bugs":{"url":"https://github.com/enmasseio/timesync/issues"},"homepage":"https://github.com/enmasseio/timesync#readme","_id":"timesync@1.0.1","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"josdejong","email":"wjosdejong@gmail.com"},"dist":{"integrity":"sha512-LXC+Iurp07AhODzsPm+mOiCcAuv7GhFnXsLjYgdPhmU7VAz4lGeXqMNkEcUU0XZDOY7PngI/VDeKqkjOmLsFjA==","shasum":"a8bc945c2de616533343d9cf8da072500544e59c","tarball":"https://registry.npmjs.org/timesync/-/timesync-1.0.1.tgz","fileCount":44,"unpackedSize":143994,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCgAmHSP6voY/CyAaTNLK7hrp4DuJ0AlboMVbN7Hg/4hAIhANL9AjPCHVtNBr8mf85THe+eO936fnmP0tVhyBnjbxHl"}]},"maintainers":[{"name":"josdejong","email":"wjosdejong@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timesync_1.0.1_1518466572180_0.9701296765858165"},"_hasShrinkwrap":false},"1.0.2":{"name":"timesync","version":"1.0.2","description":"Time synchronization between peers","author":{"name":"Jos de Jong","email":"wjosdejong@gmail.com","url":"https://github.com/josdejong"},"main":"./lib/timesync.js","license":"MIT","keywords":["time","synchronization","ntp","client","server","isomorphic"],"repository":{"type":"git","url":"git://github.com/enmasseio/timesync.git"},"dependencies":{"body-parser":"1.18.2","debug":"3.1.0","express":"4.16.2","promise":"8.0.1","socket.io":"2.0.4"},"devDependencies":{"babel-cli":"6.26.0","babel-preset-es2015":"6.24.1","babelify":"8.0.0","browserify":"16.1.0","uglify-js":"3.3.10","watch":"1.0.2"},"scripts":{"bundle":"mkdir -p dist; browserify src/timesync.js -t babelify -s timesync -o dist/timesync.js --bare","minify":"uglifyjs dist/timesync.js -o dist/timesync.min.js","compile":"babel -q src/ -d lib/","build":"npm run bundle; npm run minify; npm run compile","watch":"watch 'npm run build' src"},"browserify":{"transform":["babelify"]},"gitHead":"6b0ed37f9c630a93a1eeee84ef24dff1dea6f24d","bugs":{"url":"https://github.com/enmasseio/timesync/issues"},"homepage":"https://github.com/enmasseio/timesync#readme","_id":"timesync@1.0.2","_npmVersion":"5.6.0","_nodeVersion":"9.7.1","_npmUser":{"name":"josdejong","email":"wjosdejong@gmail.com"},"dist":{"integrity":"sha512-CtllYLopWqkrk5afVH7PDYy/fYg6GX5HKM1qE4D3VLccQ+gra2YFpODCkgxYXeBE0KJjMEc2h0vcQcz4F5CdWQ==","shasum":"c4c0d29cffde742d2561010c0dd15fa7a584396c","tarball":"https://registry.npmjs.org/timesync/-/timesync-1.0.2.tgz","fileCount":44,"unpackedSize":144071,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCq1A8dK+ZuJ8EJxXs719blCw++gbtre+rVvlUNWjAYNgIhAOpVMVbu9K+UiUmHM3Uwt2ZtrOQFI9quQJZQyCpNmi8l"}]},"maintainers":[{"name":"josdejong","email":"wjosdejong@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timesync_1.0.2_1520434178505_0.49395299384924996"},"_hasShrinkwrap":false},"1.0.3":{"name":"timesync","version":"1.0.3","description":"Time synchronization between peers","author":{"name":"Jos de Jong","email":"wjosdejong@gmail.com","url":"https://github.com/josdejong"},"main":"./lib/timesync.js","license":"MIT","keywords":["time","synchronization","ntp","client","server","isomorphic"],"repository":{"type":"git","url":"git://github.com/enmasseio/timesync.git"},"dependencies":{"body-parser":"1.18.2","debug":"3.1.0","express":"4.16.2","promise":"8.0.1","socket.io":"2.0.4"},"devDependencies":{"babel-cli":"6.26.0","babel-preset-es2015":"6.24.1","babelify":"8.0.0","browserify":"16.1.0","uglify-js":"3.3.10","watch":"1.0.2"},"scripts":{"bundle":"mkdir -p dist; browserify src/timesync.js -t babelify -s timesync -o dist/timesync.js --bare","minify":"uglifyjs dist/timesync.js -o dist/timesync.min.js","compile":"babel -q src/ -d lib/","build":"npm run bundle; npm run minify; npm run compile","watch":"watch 'npm run build' src"},"browserify":{"transform":["babelify"]},"gitHead":"268b3170d833878e2f7919bd81577ec0ae30146c","bugs":{"url":"https://github.com/enmasseio/timesync/issues"},"homepage":"https://github.com/enmasseio/timesync#readme","_id":"timesync@1.0.3","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"josdejong","email":"wjosdejong@gmail.com"},"dist":{"integrity":"sha512-1arCkYIxTiHuT/aRidvciGMcBAEKB26sOeVadpIkrythnKAxK4sw1FedA+387oEiluiLCmv0GG3Vsaj53hjbjQ==","shasum":"c1457fbffb0ba7420da897d4edf398e8851ef6a1","tarball":"https://registry.npmjs.org/timesync/-/timesync-1.0.3.tgz","fileCount":44,"unpackedSize":144170,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbApCtCRA9TVsSAnZWagAA3doP/i0c9rG8iSn2QuFr5n0G\nmxliNKoHluzlXmAlCVorEk2HrWzhRaU4BAarLvg8eQ6Q2hH6Nv8pWmQRbJKE\nG8+ZLFiXgJm1/NDcBEkHhlUq1eaVm6sQZTOMPYI4IW0fznWJjuHPEQf2zJt3\ndZOIBbiEa2MUNBOYgBDAzSiqarshkhF1Q03Z7CvgELlz8PMTf5/7Xr/Rx6yc\n9K7+ABjWLP7z9/ZXgbgBbarft9UPhW2WVkbOTrVCNyvSvegB+O7Oep7pgig7\naVjzGh2sVueCoyYYYhJAYy2l7lXqojVPpiB5EED1EfTy0odsqW/EOSVe17ys\nYD+TfEDM4VI0gWZ8KSTJ+sll1yFZ6Tf719m+O7PAbu0ftXD9M/BYyLkz+Fe/\nHq9vTvPtzNTQ/fjJ7BXlOlp3ylD77X7jKvT/X6CjHdgAyqF8DgcImeyNc8qn\n6NmTEztuzZZb0+H6XD93nJQtqbrR5rHu7XhGfcJVbbC/FhA8D9q4PzgrQUv9\n2MsSgEFa+dG6EWQKhQWYMSC9Eo4I6o7pVlkPBhz/V89+SbpHS7fuUPzlgfOj\nD+A64SJ480Tol6XWcclIpvlya/CUucrMZAX53pTLcqG4D9WjWoFMnt2gHdPr\n5bPy8730EgLpZrs2uPBsJQFIsiPQ2WNlPUHe8nZL5KaxQijJEaWoI+ssDnvo\nQqxc\r\n=b3Rw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE1n+2PGDCUHzSo8Rr2d/AoGNA49oecJNMBzaLG2KISiAiEAsxPsAsmbwA/rCPHX+ni9j4rs9GuayBFEM/fYKXHp9og="}]},"maintainers":[{"name":"josdejong","email":"wjosdejong@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timesync_1.0.3_1526894764409_0.43445139978559943"},"_hasShrinkwrap":false},"1.0.4":{"name":"timesync","version":"1.0.4","description":"Time synchronization between peers","author":{"name":"Jos de Jong","email":"wjosdejong@gmail.com","url":"https://github.com/josdejong"},"main":"./lib/timesync.js","license":"MIT","keywords":["time","synchronization","ntp","client","server","isomorphic"],"repository":{"type":"git","url":"git://github.com/enmasseio/timesync.git"},"dependencies":{"debug":"3.1.0"},"devDependencies":{"babel-cli":"6.26.0","babel-preset-es2015":"6.24.1","babelify":"8.0.0","body-parser":"1.18.2","browserify":"16.1.0","express":"4.16.2","promise":"8.0.1","socket.io":"2.0.4","uglify-js":"3.3.10","watch":"1.0.2"},"scripts":{"bundle":"mkdir -p dist; browserify src/timesync.js -t babelify -s timesync -o dist/timesync.js --bare","minify":"uglifyjs dist/timesync.js -o dist/timesync.min.js","compile":"babel -q src/ -d lib/","build":"npm run bundle; npm run minify; npm run compile","watch":"watch 'npm run build' src"},"browserify":{"transform":["babelify"]},"gitHead":"27cdf04b39b9e7e7e6e7f2af4c1647706490e043","bugs":{"url":"https://github.com/enmasseio/timesync/issues"},"homepage":"https://github.com/enmasseio/timesync#readme","_id":"timesync@1.0.4","_nodeVersion":"12.11.1","_npmVersion":"6.11.3","dist":{"integrity":"sha512-pH59Q9r1EUjn4K9Ja4iqpv0rBrvEzBVg6D8ui4Xoi/gxK6DWHsnnDtAqWG7jlbjo27uemMS6B3oSQabCMIJmdw==","shasum":"66263adf9aaae77b50fbb9d1e7afeeaaee7c5b3e","tarball":"https://registry.npmjs.org/timesync/-/timesync-1.0.4.tgz","fileCount":44,"unpackedSize":144915,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdocWwCRA9TVsSAnZWagAA87wP/07k5ITlGN+5tryAhsrB\nTjDzDjLdLG+yIeAv+gqI5T/1ZAj+PmZG1eLrPA+6uKJYmslARfZyhpnqxVOL\nyhLZ6dsBxcZVf6bvHdehLUxQukiZyZGIFlOMGrTIyP8z6mAUA/QErVCI3OIA\nXkgwuVlKgbIO4XVsbnjXihQue4BxUrAAQB9LTXoiN40hqSk7tIPJ0g+RvI78\nQI5PBWwTyvUUTWBqANG+P87MsLJjOCpcJJH094z/ovnniXlV/7T90eyn6Kni\nl2jxIJ69lKKFBNiSV2vvJkF+qucp8/dwKcwlmIr5m2Z1C5k0UhNJhlzODNh7\nuLW1FqZ7x2Wy8005GcAv7s+M9GsVZHFFcg1MsRb7U6l4KmYmur5QG2Y6m+LK\n2N0nmF4NqxUm+qc7LGvuGPLX3Tqr9V9Al/3X9kOsjP3bkzEfXIVQH287NYXK\n/psFkoOXAabjPdEVQXIjao2M1p+QG5nMd6AsjsVBJNQmM/iCuSpiva/C7/Su\nQmB8DXF0NImPwko9xOybQBLymPsF7lskFGs74clXH1ixma+CPkr2wka2MDr6\n/6GbctQ/pY9bR3PE8asQshUQGFyQu+uRwGlcHbhD53dH4UrKLP0yoQJuj6oW\ngGlZGjkqiUgWA5HtvAlwbPF/53bd5SmRIB0Q/h/tFDynbeHPG5bx9Xvo4Asl\nfisD\r\n=EJRF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB/yczEn/Fe2SU97BB4ntuddm55F8SXOwazuZEfxyafVAiALzIlQl+Bfk6iTktbPFReMzX7O92KPdnMdlIAFGgAhUw=="}]},"maintainers":[{"name":"josdejong","email":"wjosdejong@gmail.com"}],"_npmUser":{"name":"josdejong","email":"wjosdejong@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timesync_1.0.4_1570882992089_0.6716665396657193"},"_hasShrinkwrap":false},"1.0.5":{"name":"timesync","version":"1.0.5","description":"Time synchronization between peers","author":{"name":"Jos de Jong","email":"wjosdejong@gmail.com","url":"https://github.com/josdejong"},"main":"./lib/timesync.js","license":"MIT","keywords":["time","synchronization","ntp","client","server","isomorphic"],"repository":{"type":"git","url":"git://github.com/enmasseio/timesync.git"},"dependencies":{"debug":"3.1.0"},"devDependencies":{"babel-cli":"6.26.0","babel-preset-es2015":"6.24.1","babelify":"8.0.0","body-parser":"1.18.2","browserify":"16.1.0","express":"4.16.2","promise":"8.0.1","socket.io":"2.0.4","uglify-js":"3.3.10","watch":"1.0.2"},"scripts":{"bundle":"mkdir -p dist; browserify src/timesync.js -t babelify -s timesync -o dist/timesync.js --bare","minify":"uglifyjs dist/timesync.js -o dist/timesync.min.js","compile":"babel -q src/ -d lib/","build":"npm run bundle; npm run minify; npm run compile","watch":"watch 'npm run build' src"},"browserify":{"transform":["babelify"]},"gitHead":"f03bdd57e1629a9788ce2445cd3cf47c9296c1b7","bugs":{"url":"https://github.com/enmasseio/timesync/issues"},"homepage":"https://github.com/enmasseio/timesync#readme","_id":"timesync@1.0.5","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-yItr7to0e38UPdpUKkNaKL6sh9OmwrZtZzgKbFUxSq4nOK2q4E+C9zEcNmOhQoPCeeeC9+6i3c6erAZDKH6hmQ==","shasum":"452566880efebabe0d856e81906dddc0bdf0882c","tarball":"https://registry.npmjs.org/timesync/-/timesync-1.0.5.tgz","fileCount":44,"unpackedSize":145750,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeNTwqCRA9TVsSAnZWagAAqrEP/2lxJ0nLmzuqdk/ADRbZ\n5u+pt3rJYFrCuRaZSqWSCihYvOhWyWLYTLr+eg/p0V6sm8WL4Z0rL4uQoLlw\nkMXFdzhdEPTFAxn0TW0kp/BB29FZKsPD5escXyEspLUl0DrS7M/LrYLTQ7pD\n4xJ7suDo/dnlytWGZZADvN5qhKeNa5Xr5qvlue1tGo2n29B8VuHpiocqEUMT\nfTXZn0E2Kb9fyjqnsJ8LeQ7Zokymm3+WLoR6N9cLea6OHXY7/MTjkgv+Vk9G\nM5/lTcui/fFaLO3npwAMc6NKNtbnODiRdwPAk5nyWD4S5Nb8KqsZcu3g+tCB\nMAFYHX20/N0hwPfYujyZwvU69sI3s0bC/vOHhjQOOeLJIAw4xRxjGFe16GJK\nqeTWZ/42gcZJ+0KLgUBKAXr3zFRD3T6fISWkQhhhyMck3SiomeR5tb2Qd4oS\ns0VWDsuxwFttgH6vKTjtezQwaDeGD1aOwofLaHoT4cmcWmxFzZZXDF9uufMJ\nmY2NbsivB0hL278qy/Ih+lO9PKnVMwJWax0rZoI950SAeoc6sUpfzyzsdC5o\nVue9v70krRjPqGdFNaBscmxS4n95SylrlKpWI8XJcEpG/DBeXzbT4juQLKK9\n1e+owXx0Uw2t/g8KWjr82VAHgmuBnhMHJ5zmYwIZAmnEe8oVy8utASB1TPcb\nuO71\r\n=nAus\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDR+W4EPFXUrPzmdyrVxB3o/uyCa38dgV1foWe2b0XiEgIhAMxfZJQd3yNlirxsEevPgjbrLZziVYwExll8+FxET/Ts"}]},"maintainers":[{"name":"josdejong","email":"wjosdejong@gmail.com"}],"_npmUser":{"name":"josdejong","email":"wjosdejong@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timesync_1.0.5_1580547114213_0.7582578870954264"},"_hasShrinkwrap":false},"1.0.6":{"name":"timesync","version":"1.0.6","description":"Time synchronization between peers","author":{"name":"Jos de Jong","email":"wjosdejong@gmail.com","url":"https://github.com/josdejong"},"main":"./lib/timesync.js","license":"MIT","keywords":["time","synchronization","ntp","client","server","isomorphic"],"repository":{"type":"git","url":"git://github.com/enmasseio/timesync.git"},"dependencies":{"debug":"4.1.1"},"devDependencies":{"@babel/cli":"7.10.1","@babel/core":"7.10.2","@babel/preset-env":"7.10.2","babel-cli":"6.26.0","babelify":"10.0.0","body-parser":"1.19.0","browserify":"16.5.1","express":"4.17.1","mkdirp":"1.0.4","promise":"8.1.0","socket.io":"2.3.0","uglify-js":"3.9.4","watch":"1.0.2"},"scripts":{"bundle":"mkdirp dist && browserify src/timesync.js -t babelify -s timesync -o dist/timesync.js --bare","minify":"uglifyjs dist/timesync.js -o dist/timesync.min.js","compile":"babel src --out-dir lib","build":"npm run bundle && npm run minify && npm run compile","watch":"watch \"npm run build\" src","prepublishOnly":"npm run build"},"browserify":{"transform":["babelify"]},"gitHead":"b8bb61873b32f80ba54e69bc97f4298c0f052c79","bugs":{"url":"https://github.com/enmasseio/timesync/issues"},"homepage":"https://github.com/enmasseio/timesync#readme","_id":"timesync@1.0.6","_nodeVersion":"14.3.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-07dbBU111DUbZHONTIJ2/JJ2Hy5npcDCtt0zVUvtQ6hMIFGkUWkeTZlKwsImBRJdBrrEGrauqNc4M7dNvtRmGw==","shasum":"03a9e6675ef7c407f062451deaff3cd0dc67979b","tarball":"https://registry.npmjs.org/timesync/-/timesync-1.0.6.tgz","fileCount":43,"unpackedSize":150308,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4NUqCRA9TVsSAnZWagAAJE8P/jdvgGWwMxfu8efkV4U+\nxGFvTQfyLDx3ENIUi5oTdq+/XUD3Ff1oP3dNFtv4uMq34pjsfdW9nI07hBoy\nOpwKYPQkTEnnJsdx387P/5baXgdemccPCPq/zh/a8oh8oXEHcqFxwBHgPpUJ\n7fpdAyjO4eMj8QPW5AFQt5Xnlb4ZNzKu7w02qSt3rTTCZ9uoYdgpxU7jx3EN\njnrY0i4OCl2M6CReLjtTy2qr+s036owfy0LQTiIVKnDFkxS+d6k6UqRlPc9w\nTk5DiEKG1/HL6x9YICT3RgoIPkzOcMyDCH15BUtQ1gOW0Sp4gnZ/pI4vhsBu\nx2l4rbEHC0CSfo+Wze2Jnvdpyp76vQsRzh9S8z3/nRY6h2gKCxLvaDf6tDcr\nUXl7oZmbfaxCoPGGUzliiBwMzTrXRxzU9GkzFDcc9oCU8otoIlLHts3DYGVt\nugmiEIg2GTwojWyPRp/IDS97r0bjZRXzMsIMTbsqPScsGwF5CkIuE4Rj+uPA\nEObWge7tLaMWXzt/sSkv2gNEso2SWYMW2+SBBxvU8RzHDXycShycIO7Mxmo/\nwlW3UAiJ+uyw8SNbjrdZQA48Ge25Nzepbq0koPa6MfF8WYI1YpXkUBRqkt58\n/kjjV9NLGAcm36AaBtCkSRYnRSGohzy/tlyYVZ2UP5uJrGUnXh7KUbL9Xb1+\nxFCB\r\n=xNhE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG5QpGdg3MDjiUXSsn7aDoX7PkCaObnI+ZGhpKfXW/y1AiALSIcn9rDb2a149tI0W1BiftqYUCH9Nf1Dr5ZB2FrQ/A=="}]},"maintainers":[{"name":"josdejong","email":"wjosdejong@gmail.com"}],"_npmUser":{"name":"josdejong","email":"wjosdejong@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timesync_1.0.6_1591792937951_0.3997080899059058"},"_hasShrinkwrap":false},"1.0.7":{"name":"timesync","version":"1.0.7","description":"Time synchronization between peers","author":{"name":"Jos de Jong","email":"wjosdejong@gmail.com","url":"https://github.com/josdejong"},"main":"./lib/timesync.js","license":"MIT","keywords":["time","synchronization","ntp","client","server","isomorphic"],"repository":{"type":"git","url":"git://github.com/enmasseio/timesync.git"},"dependencies":{"debug":"4.1.1"},"devDependencies":{"@babel/cli":"7.10.3","@babel/core":"7.10.3","@babel/preset-env":"7.10.3","babel-cli":"6.26.0","babelify":"10.0.0","body-parser":"1.19.0","browserify":"16.5.1","express":"4.17.1","mkdirp":"1.0.4","promise":"8.1.0","socket.io":"2.3.0","uglify-js":"3.10.0","watch":"1.0.2"},"scripts":{"bundle":"mkdirp dist && browserify src/timesync.js -t babelify -s timesync -o dist/timesync.js --bare","minify":"uglifyjs dist/timesync.js -o dist/timesync.min.js","compile":"babel src --out-dir lib","build":"npm run bundle && npm run minify && npm run compile","watch":"watch \"npm run build\" src","prepublishOnly":"npm run build"},"browserify":{"transform":["babelify"]},"gitHead":"a643c27c17372f0d7af8f97b55660874bfcaf168","bugs":{"url":"https://github.com/enmasseio/timesync/issues"},"homepage":"https://github.com/enmasseio/timesync#readme","_id":"timesync@1.0.7","_nodeVersion":"14.3.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-WL2FPHFz9K2Eaw/NkJnX4vjnK9Y6QwnpxAaSyFR8eiBDqCWqnkwEiTifdngtJK6FukLa5Fk2+fIwZcHSRCwjyA==","shasum":"cb84ecdfedf1abdd9e2efc6a4e09447c163e582f","tarball":"https://registry.npmjs.org/timesync/-/timesync-1.0.7.tgz","fileCount":43,"unpackedSize":150450,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+hQLCRA9TVsSAnZWagAAUTsP/RIlCN/z1Ow4PAq7ZesT\nMCgJY+4XoMCyINNdyV6H2UMWrb/JWH7h1DJvMmbQ+QVotuKCM5vTf3PyBBqC\nsXQmrua7PAC5u/D0EWaV1RKY6aW+eVlP1v2t1SYc5O+1CxYBlzOtP+Qgp9No\nd1pyGRgoRBv+kA4NI85q9+KueBeFuEvDYlnVg4PE5eOXZxrmbOHa3KNAdSuM\nYYFQktbMUdSNwNUVr3lo87Id2ZF672e5RG0fPm4EVJ3wt4GZqDm4aluH7za0\nP3B56g9gmdaJ03o0gUbC+8Dp+IHvMSyNRbTV/EY2CFexH3hAMrU4HfEKoErn\nOY0HhGzfTkHVmrhYB0Q3EoBJqzTAUh6v1BQBXTAGDi/zlJKBPhIvVPMpy+ai\ntCz1wxRK7ioWoDaAC9N5pGnw3PJTmi4nqfr2EH0yaWatq205oN2xcF0hTWDK\noasRKsfTWAG1p/Nu0Qnlsvr7EjZXp0mn/Fp+s5dOXxsu6loa9/lsGkKrjeEt\n0sYpBveyp1JS7Ec8vjxdzcj92CdtKKJ9bEvjmD9mBFeDn33PTwFGLro+EK8M\nBCZ8TKcI80o7f4iQ4L5JFosj2GdTKY8nL+oaUsjDlYrvX1sOusBliXpMVP+V\nSjwui1W1AW6AeaiLt0c2sktZ7/WDezbeyBYflJiNXLiCxqE6IP2HEeOTilTB\nwagT\r\n=0ffZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDyy/iZO3qM70+PWac+VvG9Y7r/3kQwQiK7NaWSjartkwIgOEV4mcYIDrbWk45NHxZw7ux+8Z7Orzq7he/QyZzuHjY="}]},"maintainers":[{"name":"josdejong","email":"wjosdejong@gmail.com"}],"_npmUser":{"name":"josdejong","email":"wjosdejong@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timesync_1.0.7_1593447435019_0.2880063691420418"},"_hasShrinkwrap":false},"1.0.8":{"name":"timesync","version":"1.0.8","description":"Time synchronization between peers","author":{"name":"Jos de Jong","email":"wjosdejong@gmail.com","url":"https://github.com/josdejong"},"main":"./lib/timesync.js","browser":"./dist/timesync.min.js","react-native":"./dist/timesync.min.js","license":"MIT","keywords":["time","synchronization","ntp","client","server","isomorphic"],"repository":{"type":"git","url":"git://github.com/enmasseio/timesync.git"},"dependencies":{"debug":"4.2.0"},"devDependencies":{"@babel/cli":"7.11.6","@babel/core":"7.11.6","@babel/preset-env":"7.11.5","babel-cli":"6.26.0","babelify":"10.0.0","body-parser":"1.19.0","browserify":"16.5.2","express":"4.17.1","mkdirp":"1.0.4","promise":"8.1.0","socket.io":"2.3.0","uglify-js":"3.11.0","watch":"1.0.2"},"scripts":{"bundle":"mkdirp dist && browserify src/timesync.js -t babelify -s timesync -o dist/timesync.js --bare","minify":"uglifyjs dist/timesync.js -o dist/timesync.min.js","compile":"babel src --out-dir lib","build":"npm run bundle && npm run minify && npm run compile","watch":"watch \"npm run build\" src","prepublishOnly":"npm run build"},"browserify":{"transform":["babelify"]},"gitHead":"ef5a64d52821d00e56af8e10646577c5411560a3","bugs":{"url":"https://github.com/enmasseio/timesync/issues"},"homepage":"https://github.com/enmasseio/timesync#readme","_id":"timesync@1.0.8","_nodeVersion":"14.13.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-jL3yekyAI8T7i9nklPIplP8mg4CYVUS3/9p2k9ifkAAaBH1/QLjaLBjASiV9EmIHBFIIX5FFF+/umG2sVET2OA==","shasum":"445ccc857742004c775ea13b0044b16050c694fd","tarball":"https://registry.npmjs.org/timesync/-/timesync-1.0.8.tgz","fileCount":42,"unpackedSize":150698,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfeHj9CRA9TVsSAnZWagAAhT0QAJXlTc3gGwmVEdZTxysD\n8o+jLTE86xFWF/+elWU56Hdw21HD9vclvUefZl1p5NjeitFp9LkRX9po42Vq\nkMZOMpA0vK/ECsacY91TI62a+KRVIhnRALSE4BkOb0SzOxBFay04WRvsqEWn\nv8EN7viicFPaXP/87RAHC1E3AfqGE334bbJGY+zdXFI8/N+wUq1OrIv2zDOp\nifeKuisDkMov1thlajBvs0n4mj2D3CayV93TIoJ47Hf4awZQHsQ/aVUz45T+\nsLsYkmRzm32gPZeptgJIjqAiaOYHvG4rZiZBVt900RV7DMM33njEhz/gZdW4\n1cWd7R8xxBprkeFv/TozSXaUoTQwreHEDLfNxzzd1zIsJRn6Uc4X507OE7TD\nUO0XebZuTSZlr3spA2cX90R4P1MBaZBITWjAh1Gnw48kxwwm9HpXfEDLl8N0\nEBrbu694pUhouJdkfWw3b90YypQ9MycDpaDDxyYmN45TfNLHSli57zjwogX9\njX0S7lWehmBEQk2qiphFENJsR1bTlX4MMQpCJHboKt7IQhZi6yTheZMqpMJF\nNB0IyLuBlvLKwWrYzBkTcjZrO983mMNYps3wewvE4lkvX6adaGrj4TcDJZD3\nW+yUPw8kZMyiI7pfVepBmqu2zhrirlm8sRBOa2qzILnFIEHhEej4m5BM8C6d\nfGOJ\r\n=FBL+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGk/1Sqp4gGPvDD+BfC2LVuqrRbSN3McSJOfDyBeplPfAiEA/V9P08km+Df9/rogepiw7UBJwRKS6GLqvtWmz3OmddY="}]},"maintainers":[{"name":"josdejong","email":"wjosdejong@gmail.com"}],"_npmUser":{"name":"josdejong","email":"wjosdejong@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timesync_1.0.8_1601730813407_0.2184180899277559"},"_hasShrinkwrap":false},"1.0.9":{"name":"timesync","version":"1.0.9","description":"Time synchronization between peers","author":{"name":"Jos de Jong","email":"wjosdejong@gmail.com","url":"https://github.com/josdejong"},"main":"./lib/timesync.js","browser":"./dist/timesync.min.js","react-native":"./dist/timesync.min.js","license":"MIT","keywords":["time","synchronization","ntp","client","server","isomorphic"],"repository":{"type":"git","url":"git://github.com/enmasseio/timesync.git"},"dependencies":{"debug":"4.2.0"},"devDependencies":{"@babel/cli":"7.11.6","@babel/core":"7.11.6","@babel/preset-env":"7.11.5","babel-cli":"6.26.0","babelify":"10.0.0","body-parser":"1.19.0","browserify":"16.5.2","express":"4.17.1","mkdirp":"1.0.4","promise":"8.1.0","socket.io":"2.3.0","uglify-js":"3.11.0","watch":"1.0.2"},"scripts":{"bundle":"mkdirp dist && browserify src/timesync.js -t babelify -s timesync -o dist/timesync.js --bare","minify":"uglifyjs dist/timesync.js -o dist/timesync.min.js","compile":"babel src --out-dir lib","build":"npm run bundle && npm run minify && npm run compile","watch":"watch \"npm run build\" src","prepublishOnly":"npm run build"},"browserify":{"transform":["babelify"]},"gitHead":"6d40c10e328d38748c6deca61fed4c23a9fdf877","bugs":{"url":"https://github.com/enmasseio/timesync/issues"},"homepage":"https://github.com/enmasseio/timesync#readme","_id":"timesync@1.0.9","_nodeVersion":"14.15.4","_npmVersion":"6.14.10","dist":{"integrity":"sha512-Yhis6P0dQfyZz274Jxu00Wi7xc+vWxqoV6hrRrp3Az2d4rr5XalzX3ejiUPBtEeeoZlOnKYNON17KDxgkVD8RA==","shasum":"25afa7acc9e861486d1620075fb296048c7ea546","tarball":"https://registry.npmjs.org/timesync/-/timesync-1.0.9.tgz","fileCount":42,"unpackedSize":150895,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCskPCbi/oEj//ELg+Kr7lwaJuC4LsDvBYoIYvq+YFJEQIgbDCzjh5M70W0pnZZPpquturfO4FRvEGa085S0r2DNFE="}]},"_npmUser":{"name":"josdejong","email":"wjosdejong@gmail.com"},"directories":{},"maintainers":[{"name":"josdejong","email":"wjosdejong@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timesync_1.0.9_1635069062772_0.4587672946028616"},"_hasShrinkwrap":false},"1.0.10":{"name":"timesync","version":"1.0.10","description":"Time synchronization between peers","author":{"name":"Jos de Jong","email":"wjosdejong@gmail.com","url":"https://github.com/josdejong"},"main":"./lib/timesync.js","browser":"./dist/timesync.min.js","react-native":"./dist/timesync.min.js","license":"MIT","keywords":["time","synchronization","ntp","client","server","isomorphic"],"repository":{"type":"git","url":"git://github.com/enmasseio/timesync.git"},"dependencies":{"debug":"4.2.0"},"devDependencies":{"@babel/cli":"7.11.6","@babel/core":"7.11.6","@babel/preset-env":"7.11.5","babel-cli":"6.26.0","babelify":"10.0.0","body-parser":"1.19.0","browserify":"16.5.2","express":"4.17.1","mkdirp":"1.0.4","promise":"8.1.0","socket.io":"2.3.0","uglify-js":"3.11.0","watch":"1.0.2"},"scripts":{"bundle":"mkdirp dist && browserify src/timesync.js -t babelify -s timesync -o dist/timesync.js --bare","minify":"uglifyjs dist/timesync.js -o dist/timesync.min.js","compile":"babel src --out-dir lib","build":"npm run bundle && npm run minify && npm run compile","watch":"watch \"npm run build\" src","prepublishOnly":"npm run build"},"browserify":{"transform":["babelify"]},"gitHead":"b0d992a24c5fea49e05ef8bc1efb62f1f18f01a8","bugs":{"url":"https://github.com/enmasseio/timesync/issues"},"homepage":"https://github.com/enmasseio/timesync#readme","_id":"timesync@1.0.10","_nodeVersion":"14.15.4","_npmVersion":"6.14.10","dist":{"integrity":"sha512-40bwE6Rxh7gcJgdl0dAcUzPDPsByfRY5EV14jKmDeRnT+dOLzN2yl0gz5fHrSOnnXopfzkuMn4rhR7xaFTqw0g==","shasum":"d6531a0429a1047b5fbb4096a305844e8e6d75d4","tarball":"https://registry.npmjs.org/timesync/-/timesync-1.0.10.tgz","fileCount":42,"unpackedSize":151439,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2944CRA9TVsSAnZWagAAeZEQAJUo5JcTCnip6Cpsm2OT\nVlf1AGYAMsowTRL0+/iseJxt9DO9OTq2RtRbdsmqOhdYzNSUTJgNLJlQRSBL\nNakjF2g1s+lmjf6K9XFNuhGZQpecz5mtPoVYr9Uk6rZzHN7zLTDZF8B2GoMD\nqmfMjm51hQlgPlluFbmUOywCcWyYX7PF2cmYGMB2bAt/TPQF35aFMUFbiYe+\nqyYkYRzRCEWRB0NPAnrmMJU4ZxwW24OWB4UzlPp7yPdp9eJjYIBgk1G0aoYt\nD8FX7sZgSUG0bn6EGuZX0XGHGhLDDVZiGy11bDgdQlSvGADGZtG7s13E83WY\nHQyxvPH9kvLu1M4MNJp/U8M13SRvxbnkUh17WB+GCDclP5MvcCU5B8KYS/F2\nIo4iQDygByC9UUaCSkwVPljKboivCOeQii4NBgEbAcp6/NRfkJX1obZIDC5D\ntbFUSd1/c0Pz1IzKAYeXT/54g9AbpyNNWZpcSlGIzZ7FlFEMFRQJNCNA6Sak\nzWSQeUtyesOxzzEDkcHuNQlzrwU1daRErN1A2SIjp+NtpNA2lCIn7n8DkFhK\n5O6cSMI/ut9ONjaLnS1pwwB55P2MC7WnTvy4mL0YfPNYHrwX8GJr6kLTTORo\nREywCRgw/0dnUP/wZ122U0DtIv4MnT6wTyEeCpSkHq++3xozXAPKmQw57fMW\nbjrA\r\n=wtFo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHwryx++yHL+A4Hsvcwj694BOWEnsklxsnF2FRBmCMMzAiEA0B1WK8QOcOjeQ7rqUcmIYCMcTmebj43PAUDgfxmSicQ="}]},"_npmUser":{"name":"josdejong","email":"wjosdejong@gmail.com"},"directories":{},"maintainers":[{"name":"josdejong","email":"wjosdejong@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timesync_1.0.10_1635069291252_0.17927285505464274"},"_hasShrinkwrap":false},"1.0.11":{"name":"timesync","version":"1.0.11","description":"Time synchronization between peers","author":{"name":"Jos de Jong","email":"wjosdejong@gmail.com","url":"https://github.com/josdejong"},"main":"./lib/timesync.js","browser":"./dist/timesync.min.js","react-native":"./dist/timesync.min.js","license":"MIT","keywords":["time","synchronization","ntp","client","server","isomorphic"],"repository":{"type":"git","url":"git://github.com/enmasseio/timesync.git"},"dependencies":{"debug":"^4.3.4"},"devDependencies":{"@babel/cli":"7.18.10","@babel/core":"7.18.13","@babel/preset-env":"7.18.10","babel-cli":"6.26.0","babelify":"10.0.0","body-parser":"1.20.0","browserify":"17.0.0","express":"4.18.1","mkdirp":"1.0.4","promise":"8.2.0","socket.io":"4.5.2","uglify-js":"3.17.0","watch":"1.0.2"},"scripts":{"bundle":"mkdirp dist && browserify src/timesync.js -t babelify -s timesync -o dist/timesync.js --bare","minify":"uglifyjs dist/timesync.js -o dist/timesync.min.js","compile":"babel src --out-dir lib","build":"npm run bundle && npm run minify && npm run compile","watch":"watch \"npm run build\" src","prepublishOnly":"npm run build"},"browserify":{"transform":["babelify"]},"gitHead":"49b1131c47f4387518fe295b148906d88b99eb7d","bugs":{"url":"https://github.com/enmasseio/timesync/issues"},"homepage":"https://github.com/enmasseio/timesync#readme","_id":"timesync@1.0.11","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-qT2Y/qAQAeQTa/M+Dteec+76vsUAbY1TQQtXBVTuNMHBkKflT2uLnqG8T+V7eK7CADhwRq+2Etmj5df9VOpkNQ==","shasum":"0c6afb381e53756ece5cb4a0a0ce1be526e08b55","tarball":"https://registry.npmjs.org/timesync/-/timesync-1.0.11.tgz","fileCount":42,"unpackedSize":153260,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGuC/rLcXyNkkpeKeynaGs/ndzE8ddndOvMY7vcw3bR1AiAI4uPDcESoGECFQcrj9nnPqdmo+egQuVpz6OOEwkEiHA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjFaGSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrPZw/+ODyeoXlgI6afmcDF/po3N/kDRddaIps5RYr0/kfV7QdttdJN\r\nT+VJW74aJPGzuN0w63LbpTFsv5+kDCkfzZOdtnRyRnpAv2ff/DGbInNHjBB4\r\nBcDmND8s64UX/pLDN3+CUAhR7k8r5laWCeyDaGYF86GrGORdksHyn79vEcv5\r\nvbZKI9pcdVK44rJvAWALQtrrosfotm10NE63Ff5Pvod+ivNy9qAvNDQ6TuAh\r\nzk7aG1wDVEpPLj5XyiEK3yyjwnyKAbP/PYbGfu3932cm8vLhkXWf+aMJIKEN\r\npLh1qO/v0p8wDfWBR6+4hd3K5vSbqm5PtzVya10gBEqJE11JtPQggBh2ralL\r\n3+FH59VMjsdmKglvmEqffOWnNdnDtQ3Ek/oU/QbNZelIimEH/vagbDLrJlBu\r\nuAgp4uuZLJ5Uw/Pln1d8tSdoE7IF8Whx4f1Lfv693tfS0/UcBLzmJf2S2qGw\r\n3mlJKRbzTbxXi2S8Gyib4NiDb67dI/l71lCuIezOCC2KXlHFxxXkTGIK1e5Q\r\nH9ODEMw/PYDtwpHa5QpJYLPz+NTFRyxdyUWClmVPEeVf/6Hg3VEJOH8YmoF+\r\nwe0RY6jqkCwICUfHgfVoiO/e1iZPsCr/1npE7Bvd3cmIBgWVBduY8VH1iaii\r\ny5fKUKlskQGDkSvaFkcJLsSRfxRqWMFOr+Y=\r\n=p4Sn\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"josdejong","email":"wjosdejong@gmail.com"},"directories":{},"maintainers":[{"name":"josdejong","email":"wjosdejong@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timesync_1.0.11_1662362001959_0.1717947843849379"},"_hasShrinkwrap":false}},"readme":"# timesync\n\nTime synchronization between peers.\n\nUsage scenarios:\n\n- **master/slave**: Clients synchronize their time to that of a single server,\n  via either HTTP requests or WebSockets.\n- **peer-to-peer**: Clients are connected in a (dynamic) peer-to-peer network\n  using WebRTC or WebSockets and must converge to a single, common time in the\n  network.\n\n\n# Install\n\nInstall via npm:\n\n```\nnpm install timesync\n```\n\n\n# Usage\n\nA timesync client can basically connect to one server or multiple peers,\nand will synchronize it's time. The synchronized time can be retrieved via\nthe method `now()`, and the client can subscribe to events like `'change'`\nand `'sync'`.\n\n```js\n// create a timesync instance\nvar ts = timesync({\n  server: '...',  // either a single server,\n  peers: [...]    // or multiple peers\n});\n\n// get notified on changes in the offset\nts.on('change', function (offset) {\n  console.log('offset from system time:', offset, 'ms');\n}\n\n// get the synchronized time\nconsole.log('now:', new Date(ts.now()));\n```\n\n\n# Example\n\nHere a full usage example with express.js, showing both server and client side.\n`timesync` has build-in support for requests over http and can be used with\nexpress, a default http server, or other solutions. `timesync` can also be\nused over other transports than http, for example using websockets or webrtc.\nThis is demonstrated in the [advanced examples](/examples/advanced).\n\nMore examples are available in the [/examples](/examples) folder.\nSome of the examples use libraries like `express` or `socket.io`.\nBefore you can run these examples you will have to install these dependencies.\n\n**server.js**\n\n```js\nvar express = require('express');\nvar timesyncServer = require('timesync/server');\n\n// create an express app\nvar port = 8081;\nvar app = express();\napp.listen(port);\nconsole.log('Server listening at http://localhost:' + port);\n\n// serve static index.html\napp.get('/', express.static(__dirname));\n\n// handle timesync requests\napp.use('/timesync', timesyncServer.requestHandler);\n```\n\n**index.html**\n\n```html\n<!DOCTYPE html>\n<html>\n<head>\n  <!-- note: for support on older browsers, you will need to load es5-shim and es6-shim -->\n  <script src=\"https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.0.5/es5-shim.min.js\"></script>\n  <script src=\"https://cdnjs.cloudflare.com/ajax/libs/es6-shim/0.23.0/es6-shim.min.js\"></script>\n\n  <script src=\"/timesync/timesync.js\"></script>\n</head>\n<script>\n  // create a timesync instance\n  var ts = timesync.create({\n    server: '/timesync',\n    interval: 10000\n  });\n\n  // get notified on changes in the offset\n  ts.on('change', function (offset) {\n    document.write('changed offset: ' + offset + ' ms<br>');\n  });\n\n  // get synchronized time\n  setInterval(function () {\n    var now = new Date(ts.now());\n    document.write('now: ' + now.toISOString() + ' ms<br>');\n  }, 1000);\n</script>\n</html>\n```\n\n\n# API\n\n## Client\n\n### Construction\n\nAn instance of timesync is created as:\n\n```js\nvar ts = timesync(options);\n```\n\n#### Options\n\nThe following options are available:\n\nName       | Type                   | Default    | Description\n---------- | ---------------------- | ---------- | ----------------------------------------\n`delay`    | `number`               | `1000`     | Delay in milliseconds between every request sent.\n`interval` | `number` or `null`     | `3600000`  | Interval in milliseconds for running a synchronization. Defaults to 1 hour. Set to `null` to disable automatically running synchronizations (synchronize by calling `sync()`).\n`now`      | `function`             | `Date.now` | Function returning the local system time.\n`peers`    | `string[]` or `string` | `[]`       | Array or comma separated string with uri's or id's of the peers to synchronize with. Cannot be used in conjunction with option `server`.\n`repeat`   | `number`               | `5`        | Number of times to do a request to every peer.\n`server`   | `string`               | none       | Url of a single server in case of a master/slave configuration. Cannot be used in conjunction with option `peers`.\n`timeout`  | `number`               | `10000`    | Timeout in milliseconds for requests to fail.\n\n### Methods\n\nName                  | Return type | Description\n--------------------- | ----------- | ----------------------------------\n`destroy()`           | none        | Destroy the timesync instance. Stops automatic synchronization. If timesync is currently executing a synchronization, this synchronization will be finished first.\n`now()`               | `number`    | Get the synchronized time. Returns a timestamp. To create a `Date`, call `new Date(time.now())`.\n`on(event, callback)` | `Object`    | Register a callback handler for an event. Returns the timesync instance. See section [Events](#events) for more information.\n`off(event [, callback])` | `Object`    | Unregister a callback handler for an event. If no callback is provided, all callbacks of this event will be removed. Returns the timesync instance. See section [Events](#events) for more information.\n`sync()`  | none        | Do a synchronization with all peers now.\n\nTo be able to send and receive messages from peers, `timesync` needs a transport. To hook up a transport like a websocket or http requests, one has to override the `send(id, data)` method of the `timesync` instance, and has to call `ts.receive(id, data)` on incoming messages.\n\nName                                | Return type | Description\n----------------------------------- | ----------- | ----------------------------------\n`send(to, data, timeout) : Promise` | none        | Send a message to a peer. `to` is the id of the peer, and `data` a JSON object containing the message. Must return a Promise which resolves when the message has been sent, or rejects when sending failed or a timeout occurred.\n`receive(from, data)`               | none        | Receive a message from a peer. `from` is the id of the sender, and `data` a JSON object containing the message.\n\n`timesync` sends messages using the JSON-RPC protocol, as described in the section [Protocol](#protocol).\n\n\n### Events\n\n`timesync` emits events when starting and finishing a synchronization, and when the time offset changes. To listen for events:\n\n```js\nts.on('change', function (offset) {\n  console.log('offset changed:', offset);\n});\n```\n\nAvailable events:\n\nName     | Description\n---------| ----------\n`change` | Emitted when the offset is changed. This can only happen during a synchronization. Callbacks are called with the new offset (a number) as argument.\n`error`  | Emitted when an error occurred. Callbacks are called with the error as argument.\n`sync`   | Emitted when a synchronization is started or finished. Callback are called with a value `'start'` or `'end'` as argument.\n\n\n### Properties\n\nName      | Type     | Description\n--------- | -------- | --------------------------------------------\n`offset`  | `number` | The offset from system time in milliseconds.\n`options` | `Object` | An object holding all options of the timesync instance. One can safely adjust options like `peers` at any time. Not all options can be changed after construction, for example a changed `interval` value will not be applied.\n\n\n## Server\n\n`timesync` comes with a build in server to serve as a master for time synchronization. Clients can adjust their time to that of the server. The server basically just implements a POST request responding with its current time, and serves the static files `timesync.js` and `timesync.min.js` from the `/dist` folder. It's quite easy to implement this request handler yourself, as is demonstrated in the [advanced examples](/examples/advanced).\n\nThe protocol used by the server is described in the section [Protocol](#protocol).\n\n### Load\n\nThe server can be loaded in node.js as:\n\n```js\nvar timesyncServer = require('timesync/server');\n```\n\n### Methods\n\nName                          | Return type  | Description\n----------------------------- | ------------ | ----------------------------------\n`createServer()`              | `http.Server`| Create a new, dedicated http Server. This is just a shortcut for doing `http.createServer( timesyncServer.requestHandler )`.\n`attachServer(server, [path])`| `http.Server`| Attach a request handler for time synchronization requests to an existing http Server. Argument `server` must be an instance of `http.Server`. Argument `path` is optional, and is `/timesync` by default.\n\n\n### Properties\n\nName              | Type       | Description\n----------------- | ---------- | --------------------------------------------\n`requestHandler`  | `function` | A default request handler, handling requests for the timesync server. Signature is `requestHandler(request, response)`. This handler can be used to attach to an expressjs server, or to create a plain http server by doing `http.createServer( timesyncServer.requestHandler )`.\n\n\n# Protocol\n\n`timesync` sends messages using the JSON-RPC protocol. A peer sends a message:\n\n```json\n{\"jsonrpc\": \"2.0\", \"id\": \"12345\", \"method\": \"timesync\"}\n```\n\nThe receiving peer replies with the same id and its current time:\n\n```json\n{\"jsonrpc\": \"2.0\", \"id\": \"12345\", \"result\": 1423151204595}\n```\n\nThe sending peer matches the returned message by id and uses the result to adjust it's offset.\n\n\n# Algorithm\n\n`timesync` uses a simple synchronization protocol aimed at the gaming industry, and extends this for peer-to-peer networks. The algorithm is described [here](https://web.archive.org/web/20160310125700/http://mine-control.com/zack/timesync/timesync.html):\n\n> A simple algorithm with these properties is as follows:\n>\n> 1. Client stamps current local time on a \"time request\" packet and sends to server\n> 2. Upon receipt by server, server stamps server-time and returns\n> 3. Upon receipt by client, client subtracts current time from sent time and divides by two to compute latency. It subtracts current time from server time to determine client-server time delta and adds in the half-latency to get the correct clock delta. (So far this algorithm is very similar to SNTP)\n> 4. The first result should immediately be used to update the clock since it will get the local clock into at least the right ballpark (at least the right timezone!)\n> 5. The client repeats steps 1 through 3 five or more times, pausing a few seconds each time. Other traffic may be allowed in the interim, but should be minimized for best results\n> 6. The results of the packet receipts are accumulated and sorted in lowest-latency to highest-latency order. The median latency is determined by picking the mid-point sample from this ordered list.\n> 7. All samples above approximately 1 standard-deviation from the median are discarded and the remaining samples are averaged using an arithmetic mean.\n\nThis algorithm assumes multiple clients synchronizing with a single server. In case of multiple peers, `timesync` will take the average offset of all peers (excluding itself) as offset.\n\n\n# Tutorials\n\n- [Using the timesync library in Android applications](https://github.com/enmasseio/timesync/blob/master/docs/android-tutorial.md)\n\n\n# Resources\n\n- [A Stream-based Time Synchronization Technique For Networked Computer Games](https://web.archive.org/web/20160310125700/http://mine-control.com/zack/timesync/timesync.html)\n- [Network Time Protocol](http://www.wikiwand.com/en/Network_Time_Protocol)\n\n\n# Build\n\nTo build the library:\n\n    npm install\n    npm run build\n\nThis will generate the files `timesync.js` and `timesync.min.js` in the folder `/dist`.\n\nTo automatically build on changes, run:\n\n    npm run watch\n","maintainers":[{"name":"josdejong","email":"wjosdejong@gmail.com"}],"time":{"modified":"2022-09-05T07:13:22.257Z","created":"2015-01-26T13:41:13.295Z","0.0.1":"2015-01-26T13:41:13.295Z","0.1.0":"2015-02-17T11:49:48.430Z","0.2.0":"2015-12-04T07:56:59.237Z","0.2.1":"2016-06-01T14:52:08.942Z","0.2.2":"2016-12-10T11:36:46.258Z","0.2.3":"2016-12-15T19:44:04.681Z","0.3.0":"2017-01-25T20:37:28.181Z","0.3.1":"2017-04-08T13:49:01.913Z","0.4.0":"2017-06-13T18:24:20.155Z","0.4.1":"2017-08-19T12:01:13.987Z","0.4.2":"2017-10-23T18:34:33.946Z","1.0.0":"2018-02-12T20:09:07.880Z","1.0.1":"2018-02-12T20:16:12.962Z","1.0.2":"2018-03-07T14:49:38.718Z","1.0.3":"2018-05-21T09:26:04.529Z","1.0.4":"2019-10-12T12:23:12.196Z","1.0.5":"2020-02-01T08:51:54.310Z","1.0.6":"2020-06-10T12:42:18.061Z","1.0.7":"2020-06-29T16:17:15.181Z","1.0.8":"2020-10-03T13:13:33.624Z","1.0.9":"2021-10-24T09:51:02.946Z","1.0.10":"2021-10-24T09:54:51.410Z","1.0.11":"2022-09-05T07:13:22.150Z"},"homepage":"https://github.com/enmasseio/timesync#readme","keywords":["time","synchronization","ntp","client","server","isomorphic"],"repository":{"type":"git","url":"git://github.com/enmasseio/timesync.git"},"author":{"name":"Jos de Jong","email":"wjosdejong@gmail.com","url":"https://github.com/josdejong"},"bugs":{"url":"https://github.com/enmasseio/timesync/issues"},"readmeFilename":"README.md","users":{"kaerimichi":true,"raiscui":true},"license":"MIT"}