{"_id":"ipaddr.js","_rev":"75-b9c672ef4c3b16b8dc33d15c35e1a324","name":"ipaddr.js","dist-tags":{"latest":"2.5.0"},"versions":{"0.1.0":{"name":"ipaddr.js","version":"0.1.0","keywords":["ip","ipv4","ipv6"],"author":{"name":"Peter Zotov","email":"whitequark@whitequark.org"},"_id":"ipaddr.js@0.1.0","dist":{"shasum":"d67fc6dcc153b15a8ed475a44158f854728b037e","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.0.tgz","integrity":"sha512-ABfg+SYt41g0vF5fVpAEvQDhl/25ukPqG2IB0Ep2zIPxkXV99vORwMQTjUX1L/lb04kWY/MEiTA8Md0ZrKyaQQ==","signatures":[{"sig":"MEYCIQDBmZFnUMQ2kZlCruQ98HIexia9x9JEQ7Ta2LzvaYXG+wIhAOtL+mfL6ZifXlILjg5Zi0ngAnbw5kVPysNey4aByaI6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/ipaddr","engines":{"node":">= 0.2.5"},"scripts":{},"repository":{"url":"git://github.com/whitequark/ipaddr.js.git","type":"git"},"_npmVersion":"1.0.22","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"_nodeVersion":"v0.4.9","_npmJsonOpts":{"file":"/home/whitequark/.npm/ipaddr.js/0.1.0/package/package.json","wscript":false,"serverjs":false,"contributors":false},"dependencies":{"coffee-script":">= 1.1.1"},"_defaultsLoaded":true,"devDependencies":{"nodeunit":"0.5.3","uglify-js":"latest"},"_engineSupported":true},"0.1.1":{"name":"ipaddr.js","version":"0.1.1","keywords":["ip","ipv4","ipv6"],"author":{"name":"Peter Zotov","email":"whitequark@whitequark.org"},"_id":"ipaddr.js@0.1.1","dist":{"shasum":"28c6a7c116a021c555544f906ab1ad540b1d635a","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.1.tgz","integrity":"sha512-iHoQay5sZjCfr2TBz7X1H7NvIH5cmWUz+ltiNWm+xa1gJS57hl/VWfXp5jPcCt2mxJrpnVeGJfLs67/uFlt0Sg==","signatures":[{"sig":"MEUCIQDeEIVX16Cz0v1uv2IVfzl2sax4g+AbM2Bh7qTWDH5F2gIgA6dDiM4DxK4BPXB33zO/ziecm3xlNJPpTGJ5aR4i1mE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/ipaddr","engines":{"node":">= 0.2.5"},"scripts":{},"repository":{"url":"git://github.com/whitequark/ipaddr.js.git","type":"git"},"_npmVersion":"1.0.22","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"_nodeVersion":"v0.4.10","_npmJsonOpts":{"file":"/home/whitequark/.npm/ipaddr.js/0.1.1/package/package.json","wscript":false,"serverjs":false,"contributors":false},"dependencies":{"coffee-script":">= 1.1.1"},"_defaultsLoaded":true,"devDependencies":{"nodeunit":"0.5.3","uglify-js":"latest"},"_engineSupported":true},"0.1.2":{"name":"ipaddr.js","version":"0.1.2","keywords":["ip","ipv4","ipv6"],"author":{"name":"Peter Zotov","email":"whitequark@whitequark.org"},"_id":"ipaddr.js@0.1.2","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"6a1fd3d854f5002965c34d7bbcd9b4a8d4b0467e","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.2.tgz","integrity":"sha512-MGrEjHz4Hk5UVpJXZQ2tHB+bp6xgdRKCAEWdrgFsoAmXCgKAPtj8LqMxgvlWEAj9aN+PpTcvE051uZU3K3kLSQ==","signatures":[{"sig":"MEUCIH9Cg1sG0axhKgEoqdCY60HJ9BoBaM3uY1qVKU2VQJcMAiEAzzn+PBNUOAFFZhn0VY+MruX6IntPFBIo3Aw84M/70Uw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/ipaddr","_from":".","engines":{"node":">= 0.2.5"},"scripts":{"test":"cake build test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js","type":"git"},"_npmVersion":"1.3.10","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"nodeunit":"~0.5.3","uglify-js":"latest","coffee-script":"~1.6"}},"0.1.3":{"name":"ipaddr.js","version":"0.1.3","keywords":["ip","ipv4","ipv6"],"author":{"name":"Peter Zotov","email":"whitequark@whitequark.org"},"_id":"ipaddr.js@0.1.3","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"27a9ca37f148d2102b0ef191ccbf2c51a8f025c6","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.3.tgz","integrity":"sha512-VNTGeNv62HOeCjovaJpfxDMWWy96inlYzMOgXF6HD0Fct1eOx0WgcGuTDCmW7qtwApcCuOlqAkAVVWkDe4l2lg==","signatures":[{"sig":"MEQCIENcOFqSGdcHzHsFDFLirtxMSO9N9qouPycqPBphXs71AiBwJpGFpB8tGMmozBILsq9WC9jLJ81QOANjbWbu3vsfZg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/ipaddr","_from":".","engines":{"node":">= 0.2.5"},"scripts":{"test":"cake build test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js","type":"git"},"_npmVersion":"1.4.4","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"nodeunit":"~0.5.3","uglify-js":"latest","coffee-script":"~1.6"}},"0.1.4":{"name":"ipaddr.js","version":"0.1.4","keywords":["ip","ipv4","ipv6"],"author":{"name":"Peter Zotov","email":"whitequark@whitequark.org"},"_id":"ipaddr.js@0.1.4","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"67b1956263daa9725b507700603b401013d2158c","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.4.tgz","integrity":"sha512-HZ2R7DFsU1VV8ELQaHcFQZ+zN0gRTYyUBljcz499aqH2iRvvaWaycdKKSGO/JHb0U4mQblcZG3RpJE/LRtmSpA==","signatures":[{"sig":"MEUCIA6XLO7U+2OMTP6udrToYvN8W0pbgLVHkAfrcCmJ/OMaAiEApp+tLeovpE2K1NMBD8qYnX9vuhr51rzshbQkzy7GWv8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/ipaddr","_from":".","_shasum":"67b1956263daa9725b507700603b401013d2158c","engines":{"node":">= 0.2.5"},"gitHead":"9119cbbda8189888e326e003560694f77692c624","scripts":{"test":"cake build test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js","type":"git"},"_npmVersion":"1.4.21","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"nodeunit":"~0.5.3","uglify-js":"latest","coffee-script":"~1.6"}},"0.1.5":{"name":"ipaddr.js","version":"0.1.5","keywords":["ip","ipv4","ipv6"],"author":{"name":"Peter Zotov","email":"whitequark@whitequark.org"},"_id":"ipaddr.js@0.1.5","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"33d2693c95fbd4715165328dbfe25fb4fb5bbed8","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.5.tgz","integrity":"sha512-gKJRe4a4fJOR7bHLhmwvkJoXNp7wuulRYXuNeU5b54CnY93IwQ47FyCs6I/nYwYAxJViHn8Z7eu9FSKNbxByow==","signatures":[{"sig":"MEUCIQDc2Fp7olSl0rGz43JOIWwBlq2T585cFfsjKXGf9LRHiwIgE6Uf/gqDgGFN3stfSqq2vTaySfDbYEmGpXuL7Q5aLW0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/ipaddr","_from":".","_shasum":"33d2693c95fbd4715165328dbfe25fb4fb5bbed8","engines":{"node":">= 0.2.5"},"gitHead":"5914ebd176f5333977f68ce372cc247f13de2a35","scripts":{"test":"cake build test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js","type":"git"},"_npmVersion":"1.4.21","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"nodeunit":"~0.5.3","uglify-js":"latest","coffee-script":"~1.6"}},"0.1.6":{"name":"ipaddr.js","version":"0.1.6","keywords":["ip","ipv4","ipv6"],"author":{"name":"Peter Zotov","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@0.1.6","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"8f0530b217993873025fd4b72bdfd69bc56a9a12","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.6.tgz","integrity":"sha512-avul71onfwuyssP7kPP7g8/ORmngf9xzi5V46oNAqbdYWUS822vly/eJq32KtWLlohIfnoI/z1catcnCLNaDFQ==","signatures":[{"sig":"MEYCIQD8LZgXvkqLiNQZfAaFAj1dse6GLRTwF3ug6SW7Nj3YzwIhAOsRSYZo6ol53vcx2EZxdrkWDoHibCWr5Mk8GYsXYrY1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/ipaddr","_from":".","_shasum":"8f0530b217993873025fd4b72bdfd69bc56a9a12","engines":{"node":">= 0.2.5"},"gitHead":"87595aade23e18114b05efa09e1d46ea2ef20c12","scripts":{"test":"cake build test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js","type":"git"},"_npmVersion":"1.4.21","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"nodeunit":"~0.5.3","uglify-js":"latest","coffee-script":"~1.6"}},"0.1.7":{"name":"ipaddr.js","version":"0.1.7","keywords":["ip","ipv4","ipv6"],"author":{"name":"Peter Zotov","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@0.1.7","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"c08aaab60273d6c041e58f0dd2dafad3d43ea40f","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.7.tgz","integrity":"sha512-N58/LoPvv+Pe/Kc2HqML+xcbs249Zk65jClv+qadnh6i1ew5gJ6rOfrKfRnNLACj0wQ2AR3pfKI3hzvkP5BULA==","signatures":[{"sig":"MEUCIB9AQgROAvSzaTMbdHlaab36+3X6ca0webDh//wX7JgqAiEAs73h3qziijOjUgJZ6jGXWz+4L8cw4ZhdcZIzYKOp39w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/ipaddr","_from":".","_shasum":"c08aaab60273d6c041e58f0dd2dafad3d43ea40f","engines":{"node":">= 0.2.5"},"gitHead":"5c3e47429c1497d47caeb81e76c99d82da87d4cf","scripts":{"test":"cake build test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js","type":"git"},"_npmVersion":"1.4.21","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"nodeunit":"~0.5.3","uglify-js":"latest","coffee-script":"~1.6"}},"0.1.8":{"name":"ipaddr.js","version":"0.1.8","keywords":["ip","ipv4","ipv6"],"author":{"name":"Peter Zotov","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@0.1.8","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"27442eda77b626c44724b4aa8a1867e8410579ee","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.8.tgz","integrity":"sha512-NyEmy1F0c5JICj23Mgc1rGDYzqFyaYYTbD32hYJVGJegdaNGj61rb3+aTvCDv7ZDEcMeQEo2lXEsA/Jb6Beg8w==","signatures":[{"sig":"MEUCIQDiJHTn8LSqJt0AFAVOVAvjLtHbOCGSi19u0b/qBCdXXgIgaeA5pU8jCBEhpzzn9crW3yg4XICWZlm2vIfDwwjSOcw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/ipaddr","_from":".","_shasum":"27442eda77b626c44724b4aa8a1867e8410579ee","engines":{"node":">= 0.2.5"},"gitHead":"3099dba20984caa73a83864ee582548413a425d8","scripts":{"test":"cake build test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js","type":"git"},"_npmVersion":"1.4.21","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"nodeunit":"~0.5.3","uglify-js":"latest","coffee-script":"~1.6"}},"0.1.9":{"name":"ipaddr.js","version":"0.1.9","keywords":["ip","ipv4","ipv6"],"author":{"name":"Peter Zotov","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@0.1.9","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"a9c78ccc12dc9010f296ab9aef2f61f432d69efa","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.9.tgz","integrity":"sha512-dp0C1YYJuZMlFCM9eah1GbCVGRwcvLuCHDWfqUhIS6WqLO6jFK3GJHRQrD+OTID/mS3grl3gqGJ76QsOTpNsRw==","signatures":[{"sig":"MEYCIQCCNremKIvPDnni+d07GF4AOJUfKXjFNqMhs9Wmnd7z7wIhAI9u7gyT67Gnl6Q7aXKlgKDWBoGqlgpkQg58fGK3siEH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/ipaddr","_from":".","_shasum":"a9c78ccc12dc9010f296ab9aef2f61f432d69efa","engines":{"node":">= 0.2.5"},"gitHead":"d51df7aa41ef1875215ae4ffbd324c486f8c2799","scripts":{"test":"cake build test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js","type":"git"},"_npmVersion":"1.4.21","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"nodeunit":"~0.5.3","uglify-js":"latest","coffee-script":"~1.6"}},"1.0.0":{"name":"ipaddr.js","version":"1.0.0","keywords":["ip","ipv4","ipv6"],"author":{"name":"Peter Zotov","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@1.0.0","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"dc6723c4f83913106a6702113a2034696ec03469","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.0.tgz","integrity":"sha512-WPZr394KElHiLNkCP/RobG5SJW6DWyM14PL6cngn0A9rQY8dxQWJhIQvGvhlbT1tb+SFyS4OuXNZyF1Ve+1nxg==","signatures":[{"sig":"MEYCIQD4VQ0ADBb5XASnV8DU+hPkJ7Kq7T2nFYNcsPE4ws1C9AIhAOPnDOhRZz4TAH8tAd+1GihbS8RFioTRChG1hlYrB28z","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/ipaddr","_from":".","_shasum":"dc6723c4f83913106a6702113a2034696ec03469","engines":{"node":">= 0.2.5"},"gitHead":"f8ee5ce11cd4f1f940903671808505dfe02ce90a","scripts":{"test":"cake build test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js","type":"git"},"_npmVersion":"1.4.21","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"nodeunit":"~0.5.3","uglify-js":"latest","coffee-script":"~1.6"}},"1.0.1":{"name":"ipaddr.js","version":"1.0.1","keywords":["ip","ipv4","ipv6"],"author":{"name":"Peter Zotov","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@1.0.1","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"5f38801dc73e0400fc7076386f6ed5215fbd8f95","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.1.tgz","integrity":"sha512-VDuHXKb7iReNvdDAy3bWIvFsquez+WiGLQGfGoGjo47egY7yfWHhsX3krufz56Q90wbqp5LCyyQookVj6BSLnA==","signatures":[{"sig":"MEUCIQCLw6l7BMvE8jO1WFk4ti4bDFnxFepnacV7Drq4FYU4HgIger+FwWAb3y64kOanFHOrchKK4exMhpOeDDWk8ngV0fQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/ipaddr","_from":".","_shasum":"5f38801dc73e0400fc7076386f6ed5215fbd8f95","engines":{"node":">= 0.2.5"},"gitHead":"0a5a26d9317a58d67047e7f32b5b1bbe7f2f7fbf","scripts":{"test":"cake build test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js","type":"git"},"_npmVersion":"1.4.21","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"nodeunit":"~0.5.3","uglify-js":"latest","coffee-script":"~1.6"}},"1.0.3":{"name":"ipaddr.js","version":"1.0.3","keywords":["ip","ipv4","ipv6"],"author":{"name":"whitequark","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@1.0.3","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"2a9df7be73ea92aadb0d7f377497decd8e6d01bb","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.3.tgz","integrity":"sha512-SSSKelZ/V01QHZbjgxES5CoO22ABQEebr5vBrsf34jdxnGHINl/Npltz2pHypf5w2fxgxHL2mlKPDnQInezNMg==","signatures":[{"sig":"MEYCIQCcDSr3oV+OXuL770wthTTz0FvfokRGG4vC1ryZdXoDzwIhANy3NBL5H820T6hv6UHSwyW2FKveiaQMtEVm1k9C4uKh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/ipaddr","_from":".","_shasum":"2a9df7be73ea92aadb0d7f377497decd8e6d01bb","engines":{"node":">= 0.2.5"},"gitHead":"bf26b1f5d00cf8526a54f79db994eea3e8526e10","scripts":{"test":"cake build test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js","type":"git"},"_npmVersion":"1.4.21","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"nodeunit":"~0.5.3","uglify-js":"latest","coffee-script":"~1.6"}},"1.0.4":{"name":"ipaddr.js","version":"1.0.4","keywords":["ip","ipv4","ipv6"],"author":{"name":"whitequark","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@1.0.4","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"ef715deab1e923fc1fe8fe9ce7a561d9110e52e2","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.4.tgz","integrity":"sha512-ts/Pq1YLjuZwvCqxbxE5e1oj05zeltzFenBYEQLiMqswkDahCIlyPkvWP9gxiPrF52EoFAG+kpL8Cqoej2Z5TQ==","signatures":[{"sig":"MEQCIC8JjlORckdEK1AY2JRhgxjwDDCgtp8v41OPZdFW/vEEAiBWRu9+Dpt1jG1/sOsi1zr+boDPG2GMsBivdBRjzLLc6A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/ipaddr","_from":".","_shasum":"ef715deab1e923fc1fe8fe9ce7a561d9110e52e2","engines":{"node":">= 0.10"},"gitHead":"9885a29dfaab9519e3ec46f99c0bc0b81660a0d9","scripts":{"test":"cake build test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js","type":"git"},"_npmVersion":"1.4.21","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"nodeunit":">=0.8.2 <0.8.7","uglify-js":"latest","coffee-script":"~1.6"}},"1.0.5":{"name":"ipaddr.js","version":"1.0.5","keywords":["ip","ipv4","ipv6"],"author":{"name":"whitequark","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@1.0.5","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"5fa78cf301b825c78abc3042d812723049ea23c7","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.5.tgz","integrity":"sha512-wBj+q+3uP78gMowwWgFLAYm/q4x5goyZmDsmuvyz+nd1u0D/ghgXXtc1OkgmTzSiWT101kiqGacwFk9eGQw6xQ==","signatures":[{"sig":"MEYCIQDbaG70/dZka1ErJRp7oXOsvg7ieZyRZY3qIp4GxNAElAIhALfUEqUQ9gm+v3YcRXCg0/PnKycGtWIRDTyp0/Z2geTz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/ipaddr","_from":".","_shasum":"5fa78cf301b825c78abc3042d812723049ea23c7","engines":{"node":">= 0.10"},"gitHead":"46438c8bfa187505b7007a277f09a4a9e73d5686","scripts":{"test":"cake build test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js","type":"git"},"_npmVersion":"1.4.21","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"nodeunit":">=0.8.2 <0.8.7","uglify-js":"latest","coffee-script":"~1.6"}},"1.1.0":{"name":"ipaddr.js","version":"1.1.0","keywords":["ip","ipv4","ipv6"],"author":{"name":"whitequark","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@1.1.0","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"5fd380584eb3e2d55904dbe3047a2627d4199a14","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.1.0.tgz","integrity":"sha512-nRv7I+9+mxb3dX8rSY5p7I4DUqPMlosKJqtGhOoRaRhjLsKa3OT9Zf1G3LPnexHPKkFCaWAdJz2FuHHDmuTFpg==","signatures":[{"sig":"MEUCIQDD8YeMpfbzCNQ57hD5LOMJJMUlR0YcmXvVXERloArHwAIgfo7ZKbFiO6KRA3PmAAiRQm+3drWDGSzVHyaH5rCbtqM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/ipaddr","_from":".","_shasum":"5fd380584eb3e2d55904dbe3047a2627d4199a14","engines":{"node":">= 0.10"},"gitHead":"9afdebb46eaeac3bee4e98c6a5cd731b210cdee8","scripts":{"test":"cake build test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js","type":"git"},"_npmVersion":"1.4.21","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"nodeunit":">=0.8.2 <0.8.7","uglify-js":"latest","coffee-script":"~1.6"}},"1.1.1":{"name":"ipaddr.js","version":"1.1.1","keywords":["ip","ipv4","ipv6"],"author":{"name":"whitequark","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@1.1.1","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"c791d95f52b29c1247d5df80ada39b8a73647230","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.1.1.tgz","integrity":"sha512-pPr4Rqw2OL4yRfDPljsKTmbOv3GGgSl+ZCnYawcugPh06IFteMV1zU/Zry16qy8bhLMmrlDQh1NcOgtZWwh7gQ==","signatures":[{"sig":"MEUCICSWy1l6FxR2SI8Kf+/tv23jZwIEBrx7JybHwkSgtjIGAiEA7JPuQk2eYVa/jS4FVY+AAy+tBn+lz/gPP4AOhyuAUwE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/ipaddr","_from":".","_shasum":"c791d95f52b29c1247d5df80ada39b8a73647230","engines":{"node":">= 0.10"},"gitHead":"dbc7d98bc0d8fff68a894be0c60721566807e2fc","scripts":{"test":"cake build test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js","type":"git"},"_npmVersion":"1.4.21","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"nodeunit":">=0.8.2 <0.8.7","uglify-js":"latest","coffee-script":"~1.6"},"_npmOperationalInternal":{"tmp":"tmp/ipaddr.js-1.1.1.tgz_1464074293475_0.6683731523808092","host":"packages-12-west.internal.npmjs.com"}},"1.2.0":{"name":"ipaddr.js","version":"1.2.0","keywords":["ip","ipv4","ipv6"],"author":{"name":"whitequark","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@1.2.0","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"8aba49c9192799585bdd643e0ccb50e8ae777ba4","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.2.0.tgz","integrity":"sha512-ku//LD7ie/m9UVGCm9KweBIIHP4mB0maNGvav6Hz778fQCNLQF7iZ+H/UuHuqmjJCHCpA5hw8hOeRKxZl8IlXw==","signatures":[{"sig":"MEUCIBKoHWUxCaFqhyzxUWvK+i3j8+F6Q1EOdRSi/wwSZjtZAiEAw6OC2PX+I6V5wMbzwoApkwFjGCvN4eWpo/X3ezTEe8Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/ipaddr","_from":".","_shasum":"8aba49c9192799585bdd643e0ccb50e8ae777ba4","engines":{"node":">= 0.10"},"gitHead":"87bcb487f1a6739101231e71b111da2823540398","scripts":{"test":"cake build test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js","type":"git"},"_npmVersion":"1.4.21","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"nodeunit":">=0.8.2 <0.8.7","uglify-js":"latest","coffee-script":"~1.6"},"_npmOperationalInternal":{"tmp":"tmp/ipaddr.js-1.2.0.tgz_1467971539814_0.6815996605437249","host":"packages-12-west.internal.npmjs.com"}},"1.3.0":{"name":"ipaddr.js","version":"1.3.0","keywords":["ip","ipv4","ipv6"],"author":{"name":"whitequark","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@1.3.0","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"homepage":"https://github.com/whitequark/ipaddr.js#readme","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"1e03a52fdad83a8bbb2b25cbf4998b4cffcd3dec","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.3.0.tgz","integrity":"sha512-d9mR/MvadaWPcqIpjtiKLgmNlO3587a9a+ZRUcwD4zguIV+zh+OX9U5/+ce5Ouw4DA54f+EMzmwCJDtlYoaR8Q==","signatures":[{"sig":"MEYCIQCyp9UWwyzLkDFdoA7QliSAJYpKjsv17g80CYkjCeZjggIhAKLfYGZC0PVxd7HFRxBQ4yKHIXafZMNV+wejui0TMiKh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/ipaddr","_from":".","_shasum":"1e03a52fdad83a8bbb2b25cbf4998b4cffcd3dec","engines":{"node":">= 0.10"},"gitHead":"9c557556e495a2c60a3c656e4f9f8b3a1e14dedc","scripts":{"test":"cake build test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js.git","type":"git"},"_npmVersion":"1.4.21","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"nodeunit":">=0.8.2 <0.8.7","uglify-js":"latest","coffee-script":"~1.6"},"_npmOperationalInternal":{"tmp":"tmp/ipaddr.js-1.3.0.tgz_1489544932893_0.961968986550346","host":"packages-12-west.internal.npmjs.com"}},"1.4.0":{"name":"ipaddr.js","version":"1.4.0","keywords":["ip","ipv4","ipv6"],"author":{"name":"whitequark","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@1.4.0","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"homepage":"https://github.com/whitequark/ipaddr.js#readme","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"296aca878a821816e5b85d0a285a99bcff4582f0","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.4.0.tgz","integrity":"sha512-RbrsPoo4IkisyHhS9VDa3ybxnu0wOo0uTAhaELmwxq244p18X7Dk0fQoJvh/QTkIUO296fbjgvMqK3ry84eVVA==","signatures":[{"sig":"MEUCIFpPJ+Pbu27EOMBIFXaJvIZP/qKnQXoGnPPVP1BKAU3gAiEA23MM3V/Pi/+NnEwa/Nkon91n1F7SBoKuLkELHImk3t4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/ipaddr","_from":".","_shasum":"296aca878a821816e5b85d0a285a99bcff4582f0","engines":{"node":">= 0.10"},"gitHead":"e0f2a074f47c51941cbfd26cf38a327f847e6286","scripts":{"test":"cake build test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js.git","type":"git"},"_npmVersion":"1.4.21","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"nodeunit":">=0.8.2 <0.8.7","uglify-js":"~3.0.19","coffee-script":"~1.12.6"},"_npmOperationalInternal":{"tmp":"tmp/ipaddr.js-1.4.0.tgz_1498164481108_0.6096577865537256","host":"s3://npm-registry-packages"}},"1.5.0":{"name":"ipaddr.js","version":"1.5.0","keywords":["ip","ipv4","ipv6"],"author":{"name":"whitequark","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@1.5.0","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"homepage":"https://github.com/whitequark/ipaddr.js#readme","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"48a04be500e66e6922a9e2aa3f54926eaeb96473","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.0.tgz","integrity":"sha512-7tMJAxffR7I9I+KIMdZGsb9RqUTpvfGqrsWrIMTBBI4REA15/aK4BRMb319v2iIkz2s72DkiD+mw/yK1bcTmkg==","signatures":[{"sig":"MEYCIQDboTYeLJsTPWXU6Jn+ISFCbr10lTMBD5e8IMztvj/y4AIhAJBvQxo+xhUoVuEMfUxuJ9+SOgZRNdqIUn4Jr9lvB8lS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/ipaddr","_from":".","_shasum":"48a04be500e66e6922a9e2aa3f54926eaeb96473","engines":{"node":">= 0.10"},"gitHead":"a54ecebfee155b54a8f9c1296ea5b6110cdc0d9b","scripts":{"test":"cake build test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js.git","type":"git"},"_npmVersion":"1.4.21","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"nodeunit":">=0.8.2 <0.8.7","uglify-js":"~3.0.19","coffee-script":"~1.12.6"},"_npmOperationalInternal":{"tmp":"tmp/ipaddr.js-1.5.0.tgz_1503324740920_0.6814808119088411","host":"s3://npm-registry-packages"}},"1.5.1":{"name":"ipaddr.js","version":"1.5.1","keywords":["ip","ipv4","ipv6"],"author":{"name":"whitequark","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@1.5.1","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"homepage":"https://github.com/whitequark/ipaddr.js#readme","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"ddafccea41e6f23f7f3ffe65e22d0d8cff6835b3","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.1.tgz","integrity":"sha512-P1lcZq7akihcczwg2EXv5E1DlBXKMp5YJgM4ZPqD8qDHXwQhku2j9uvBuOFrneQaLD7Hfc/XelDM5oBP4W6/KQ==","signatures":[{"sig":"MEUCIQCLDfxo71j8WPEtChD53GTfz+9GcvtlUEBevaanlo3crwIgNq/upb4frlQt2BJwl6r4Z6BQNH42YX7fwm52JR4B1Y8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/ipaddr","_from":".","_shasum":"ddafccea41e6f23f7f3ffe65e22d0d8cff6835b3","engines":{"node":">= 0.10"},"gitHead":"d677623f75bd4c23361ed661d6f8977f572ec18b","scripts":{"test":"cake build test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js.git","type":"git"},"_npmVersion":"1.4.21","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"nodeunit":">=0.8.2 <0.8.7","uglify-js":"~3.0.19","coffee-script":"~1.12.6"},"_npmOperationalInternal":{"tmp":"tmp/ipaddr.js-1.5.1.tgz_1503434118374_0.09781592315994203","host":"s3://npm-registry-packages"}},"1.5.2":{"name":"ipaddr.js","version":"1.5.2","keywords":["ip","ipv4","ipv6"],"author":{"name":"whitequark","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@1.5.2","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"homepage":"https://github.com/whitequark/ipaddr.js#readme","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"d4b505bde9946987ccf0fc58d9010ff9607e3fa0","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.2.tgz","integrity":"sha512-zQfLEM7PuWWRDsjXFX7U6ysXZwxO2pp6xqonZgU+TH/aHEZ/1AGN18qv+1vURrblvm/5qdqzXITjWX8W6Evq8g==","signatures":[{"sig":"MEUCIDqS3CLos7NI+kNfKPq9gZLRDR8oq0ZA66CJmoTp5lRPAiEA+KeC600oXWh2gqn/D6GbFdIaWo9HJO/0gtRcHc7V9Tc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/ipaddr","_from":".","_shasum":"d4b505bde9946987ccf0fc58d9010ff9607e3fa0","engines":{"node":">= 0.10"},"gitHead":"8f6e21058792cf6e38c6f461219fb25f0caecf27","scripts":{"test":"cake build test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js.git","type":"git"},"_npmVersion":"1.4.21","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"nodeunit":">=0.8.2 <0.8.7","uglify-js":"~3.0.19","coffee-script":"~1.12.6"},"_npmOperationalInternal":{"tmp":"tmp/ipaddr.js-1.5.2.tgz_1503546462209_0.10381372715346515","host":"s3://npm-registry-packages"}},"1.5.3":{"name":"ipaddr.js","version":"1.5.3","keywords":["ip","ipv4","ipv6"],"author":{"name":"whitequark","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@1.5.3","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"homepage":"https://github.com/whitequark/ipaddr.js#readme","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"ec68539dd70ff0990c3195ab7ec43124a83df589","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.3.tgz","integrity":"sha512-idPstWCjYHIlHxadbLjZT/EZKe0WkbxUBFnQRi+zQt7yMugMKSfmp8DGIMbS4y1OxbIQv2iXZkeGOAwZ+S6/LA==","signatures":[{"sig":"MEQCIEuJLVDlj0sNIC2FYKJN16LS96h67zctced7cJ7GQZFcAiByNujFuIHw2q0DNVv5QBVPlm3O8e9n5Xo8JbMSerFF0g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/ipaddr.js","_from":".","_shasum":"ec68539dd70ff0990c3195ab7ec43124a83df589","engines":{"node":">= 0.10"},"gitHead":"4be129b1b6e423fbfd236336003582d8a3cfac7d","scripts":{"test":"cake build test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js.git","type":"git"},"_npmVersion":"1.4.21","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"nodeunit":">=0.8.2 <0.8.7","uglify-js":"~3.0.19","coffee-script":"~1.12.6"},"_npmOperationalInternal":{"tmp":"tmp/ipaddr.js-1.5.3.tgz_1507823089269_0.021649141097441316","host":"s3://npm-registry-packages"}},"1.5.4":{"name":"ipaddr.js","version":"1.5.4","keywords":["ip","ipv4","ipv6"],"author":{"name":"whitequark","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@1.5.4","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"homepage":"https://github.com/whitequark/ipaddr.js#readme","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"962263d9d26132956fc5c630b638a30d3cdffc14","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.4.tgz","integrity":"sha512-1hF5vZCxAB8uJ298CRm953N10KJ4fz2t+jV+cXjXvOml7a+AODOrhflFj2jqzaO4VuPnbqwYO5mOJPn0497eiw==","signatures":[{"sig":"MEUCIQDbAZY8BaBfzt5cSf3z72HJcFi5FWkOgp18DDrRpNK5VwIgUjUthufltx8nVgWlN2zBGu9dn3drzyJwrifdZFa7OpA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/ipaddr.js","_from":".","_shasum":"962263d9d26132956fc5c630b638a30d3cdffc14","engines":{"node":">= 0.10"},"gitHead":"d384881bd33cefda9c56eda74bc122350a31bd6a","scripts":{"test":"cake build test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js.git","type":"git"},"_npmVersion":"1.4.21","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"nodeunit":">=0.8.2 <0.8.7","uglify-js":"~3.0.19","coffee-script":"~1.12.6"},"_npmOperationalInternal":{"tmp":"tmp/ipaddr.js-1.5.4.tgz_1508225226077_0.20283467858098447","host":"s3://npm-registry-packages"}},"1.6.0":{"name":"ipaddr.js","version":"1.6.0","keywords":["ip","ipv4","ipv6"],"author":{"name":"whitequark","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@1.6.0","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"homepage":"https://github.com/whitequark/ipaddr.js#readme","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"e3fa357b773da619f26e95f049d055c72796f86b","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz","integrity":"sha512-8U/ixyn0MtWpX5aLMwbiIUQ8nJk/gbt5qCBfkteJ51jE2xjHjjkfE5jOqRpCVzORydZfAO98/MIhUJ1Onb50ng==","signatures":[{"sig":"MEQCIHTBztXIWObFXZK+QctCSREa2aRjoLYxU2Q1YCm3VuZ9AiBJhWtLKiWTOypEIinaskaThCRxXiZBwrQWB8BjtZGGcQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/ipaddr.js","_from":".","types":"./lib/ipaddr.js.d.ts","_shasum":"e3fa357b773da619f26e95f049d055c72796f86b","engines":{"node":">= 0.10"},"gitHead":"c81198c2540a1df41571623c0bcbdb9d9b73a925","scripts":{"test":"cake build test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js.git","type":"git"},"_npmVersion":"1.4.21","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"nodeunit":">=0.8.2 <0.8.7","uglify-js":"~3.0.19","coffee-script":"~1.12.6"},"_npmOperationalInternal":{"tmp":"tmp/ipaddr.js-1.6.0.tgz_1517895655914_0.4097069769632071","host":"s3://npm-registry-packages"}},"1.7.0":{"name":"ipaddr.js","version":"1.7.0","keywords":["ip","ipv4","ipv6"],"author":{"name":"whitequark","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@1.7.0","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"homepage":"https://github.com/whitequark/ipaddr.js#readme","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"2206ed334afc32e01fed3ee838b6b2521068b9d2","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.7.0.tgz","fileCount":5,"integrity":"sha512-bqxLrNgcr+u4flOX7vbmJyllc75m0o8Xi1OlfO4NHJ7l7ehOcfjJOjPH+r6YZJKAoy7+rEaZIF8hX+8yzAO6Sw==","signatures":[{"sig":"MEUCIG+a3BkDRkEqC6Bw28WDT1XjwHFdnH8GmBpvgGAvuhWnAiEArGkafhCeXryhde8aqq9GPQ0Lgc2E88gRN6mc62QO6oU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38772},"main":"./lib/ipaddr.js","_from":".","files":["lib/","ipaddr.min.js"],"types":"./lib/ipaddr.js.d.ts","_shasum":"2206ed334afc32e01fed3ee838b6b2521068b9d2","engines":{"node":">= 0.10"},"gitHead":"c645e0b0ac8646e2bc3f086399bb5c675d504dd8","scripts":{"test":"cake build test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js.git","type":"git"},"_npmVersion":"1.4.21","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"nodeunit":">=0.8.2 <0.8.7","uglify-js":"~3.0.19","coffee-script":"~1.12.6"},"_npmOperationalInternal":{"tmp":"tmp/ipaddr.js_1.7.0_1523355133770_0.22257876250113773","host":"s3://npm-registry-packages"}},"1.8.0":{"name":"ipaddr.js","version":"1.8.0","keywords":["ip","ipv4","ipv6"],"author":{"name":"whitequark","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@1.8.0","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"homepage":"https://github.com/whitequark/ipaddr.js#readme","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz","fileCount":5,"integrity":"sha512-cwzBM2oCXBbr39KDfIi8paXKQO1eQ2UwsglI0txWsoBuygtUORsl8K8FooEEoHCWOJ8JghV3YoCHkQysXg5zjA==","signatures":[{"sig":"MEUCIGA0tsI/sSkGSuE2u7Is+fIONgzh6kuObSRcHBv5XR5VAiEA1iZhnMWIR2qnXdFQUDU9SRnlEOB+tfVvQRhq72skWh0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39303},"main":"./lib/ipaddr.js","_from":".","files":["lib/","ipaddr.min.js"],"types":"./lib/ipaddr.js.d.ts","_shasum":"eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e","engines":{"node":">= 0.10"},"gitHead":"d7f0a9bfea2888ea8b309b97d0eed1709e8c6ead","scripts":{"test":"cake build test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js.git","type":"git"},"_npmVersion":"1.4.21","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"nodeunit":">=0.8.2 <0.8.7","uglify-js":"~3.0.19","coffee-script":"~1.12.6"},"_npmOperationalInternal":{"tmp":"tmp/ipaddr.js_1.8.0_1531193295710_0.6229373074337963","host":"s3://npm-registry-packages"}},"1.8.1":{"name":"ipaddr.js","version":"1.8.1","keywords":["ip","ipv4","ipv6"],"author":{"name":"whitequark","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@1.8.1","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"homepage":"https://github.com/whitequark/ipaddr.js#readme","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"fa4b79fa47fd3def5e3b159825161c0a519c9427","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.1.tgz","fileCount":5,"integrity":"sha512-Genkx0nA8gkH5lAT2j53s5Q0u2S8+Ks9XuXn6uk4aoDiVaU1VnNJQ6OOQYkOZpNgV+EtCjzVakSDnJOXrlPU4A==","signatures":[{"sig":"MEQCIFFbPqFm5jJV2YKJDZ1qFrhNs/oeXaGoEPCrp/bE607NAiBegLwC9SseL2sNTO3lYtaealhiiMRjdjmmrA3764Pmbw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39327},"main":"./lib/ipaddr.js","_from":".","files":["lib/","ipaddr.min.js"],"types":"./lib/ipaddr.js.d.ts","_shasum":"fa4b79fa47fd3def5e3b159825161c0a519c9427","engines":{"node":">= 0.10"},"gitHead":"0f676ef505ae314f62925c1de3640e6d45b2e8c4","scripts":{"test":"cake build test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js.git","type":"git"},"_npmVersion":"1.4.21","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"nodeunit":">=0.8.2 <0.8.7","uglify-js":"~3.0.19","coffee-script":"~1.12.6"},"_npmOperationalInternal":{"tmp":"tmp/ipaddr.js_1.8.1_1533051081044_0.9626124293508547","host":"s3://npm-registry-packages"}},"1.9.0":{"name":"ipaddr.js","version":"1.9.0","keywords":["ip","ipv4","ipv6"],"author":{"name":"whitequark","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@1.9.0","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"homepage":"https://github.com/whitequark/ipaddr.js#readme","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"37df74e430a0e47550fe54a2defe30d8acd95f65","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz","fileCount":6,"integrity":"sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==","signatures":[{"sig":"MEUCICgnqXelHCQg8GAbYLeF6dM3h40+drk6u0cBsZWHQh4aAiEAsPpJEFr8mmZpRsis2YzZqiityZ4ZQISmUpwqFMiKsD8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42064,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcX9f6CRA9TVsSAnZWagAACN0P/3QaY26R9gIEKJMFRl3f\nComsl89/ZqAisw026wGodTWmYirIR5IbjDNxWETrCHXdriBCrSsDZ1SzzdGk\nTxkjv5/bQjv4CpPZV5/d91q6vkpFjPbVOk/N+K0fOJkmO9Fp4lwUQq4/B0gi\nEj+lPr1a5j5ZQwpMNB1pZrtoy3Fo/y0d5sYTNEQAlAQfjcJI4mFtc92tkc9s\nnzanygidCfoWEctnJIy9/lUjCxY2Irt8tMBa7cVExOLOqn6KegnJOtC+4g19\nCSjmv+lUj/r9QdT1kTbnej+118OQDjaZmjJ18/mxKdVXsYq6RLxKalWiez6E\nWKzCrMBSfwjDcErkaWr8tLn8b5zwwS5oLYG2pbzwDxA92P81LYeu+3wcmxa1\nPpvKkxBHLkUK1+19Xg0t5IP//B/C6ZCS5q+zckr+97U7SitK7aUajtRc3SYu\notiV+5t1Lgl+WLiymOq3WnBXMJwzXsq7nYBJgUlkoj0IE4Du5DFKao0UNvE2\nSBZTM8MJGm2rsm9xGKqWx9rBqWDudpnGipJIOV6l807BRn0yBrQjbx2jhV48\nK8UrwyOwYE1dwEYzhuviczDvE5o6qriTiFyYfA4DW0w1h3X3VDGWoI81g4dh\nGzP3V8SjsKV8g80HkrU8rboh1UKUIMjhINunU6PBD6YR+2fUqos3YlMxbprM\nOThn\r\n=Tk1a\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/ipaddr.js","types":"./lib/ipaddr.js.d.ts","engines":{"node":">= 0.10"},"gitHead":"8bd045f49f5b7695eea2c93e9706f4350e0bbaba","scripts":{"test":"cake build test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js.git","type":"git"},"_npmVersion":"5.8.0","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"_nodeVersion":"10.15.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"nodeunit":">=0.8.2 <0.8.7","uglify-js":"~3.0.19","coffee-script":"~1.12.6"},"_npmOperationalInternal":{"tmp":"tmp/ipaddr.js_1.9.0_1549785081591_0.5220196467104794","host":"s3://npm-registry-packages"}},"1.9.1":{"name":"ipaddr.js","version":"1.9.1","keywords":["ip","ipv4","ipv6"],"author":{"name":"whitequark","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@1.9.1","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"homepage":"https://github.com/whitequark/ipaddr.js#readme","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"bff38543eeb8984825079ff3a2a8e6cbd46781b3","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz","fileCount":6,"integrity":"sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==","signatures":[{"sig":"MEUCIQC2FrMYz92YWCl72GTm5CZtY3CiaIuNG2WbvKC5Wn5DbQIgDW4nM80bQTTfY8VDPpIw/9bPP+udmKuWghCRTMut4Cw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42145,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdLofECRA9TVsSAnZWagAAuqsQAIOiqKtRllNg8pMg89ea\nLFtGW49UBn0+nYUg9CSQM/h8nOYi+NH6Puw5dpDasTWt2tRmPtzqx/1vxaFk\nPmg73w49mtBPAxu2YLngv8tSx4dNvsClTe5RpLvpZFmopIRQojKUl0VSj3RW\nMtbkj/KozwgiYzguvHwGhjIhjerutQ1zoH0kJCZCRvVeLJrkdyj/PPzvLyF2\n3MZ7peqpGXg4k92ljrN7Q49itLIdYtrcm3tv2659e2W80E63RJUw0Buw9IGl\nYGX/1EfpBKW2l3QADjgW9Lz7/3oWt7NEDWNGGw+kMsivfAFAIKDiZ93v5H1M\ntaH+cLv3rHJ1s3cgz8gdlp3VGunG/OfP179e9J19AvcsLKhJ/Kho+fz0OD7d\nAEg+wMFlRLP5QR+x9X4naIN44VgjMZkTWZq8blx5hvJVCqSPtnYuORfYJstu\npQx9lSmmZl2Ma2LRjtpXUnbgtUOXIYpvPhn2+OV7NN/RbrigOPFHEHYw9YDQ\ndvChMV7RSmvRvDS+9YDqB+71/pcJljeztfGkznErW6xqc1DtdKg6WCw6k58H\nUTGjiMj+vytXJ3g9YnN5OlTmRAZCDj1XaHWPpGybfnm5j8MPetary6Dobian\nSbAaS1eqlMEhPd1G5t1RsLOy1ePI80HsARHZDQhqUY2Kl0/vIgtnWsx3KPHc\nUDnk\r\n=j6kw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/ipaddr.js","types":"./lib/ipaddr.js.d.ts","engines":{"node":">= 0.10"},"gitHead":"760416b27a4b348e7a39fdacfccd6cb047026c98","scripts":{"test":"cake build test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js.git","type":"git"},"_npmVersion":"5.8.0","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"_nodeVersion":"10.15.2","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"nodeunit":"^0.11.3","uglify-js":"~3.0.19","coffee-script":"~1.12.6"},"_npmOperationalInternal":{"tmp":"tmp/ipaddr.js_1.9.1_1563330499468_0.2217102903600776","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"ipaddr.js","version":"2.0.0","keywords":["ip","ipv4","ipv6"],"author":{"name":"whitequark","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@2.0.0","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"homepage":"https://github.com/whitequark/ipaddr.js#readme","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"77ccccc8063ae71ab65c55f21b090698e763fc6e","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.0.tgz","fileCount":6,"integrity":"sha512-S54H9mIj0rbxRIyrDMEuuER86LdlgUg9FSeZ8duQb6CUG2iRrA36MYVQBSprTF/ZeAwvyQ5mDGuNvIPM0BIl3w==","signatures":[{"sig":"MEQCIBfbjejKXoGXbQIp3j63+RuSsLvJcPypZkxG2nBuVio1AiA+eTKpsxfwhnE5ABAuA3/KzNf+APBNnr1kL3GxdOqc5Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55486,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOgyZCRA9TVsSAnZWagAAxOgP/22JhlisEc6AQ9F4Gytx\n4Sfp2tThv2/zBGNqSQKBnLjBetQerCSCYPT2vli7zgwBs6hcSpLwteQI0VNY\ndTOaChwT6HMATCb4btBfuuZyt+9QLJzdxHwiNR+NtHkpnYJSgcZXNMLW5mMB\n5G6+tJGMit9mr232qEuwPOms2JdtmzWeZVzFu04FF6z6sMDbt/brcL4BhdAZ\n3S39W8dmWz3ETBFYb7gzuLwmAxSAqokpCwYpvZSQOPz9n0cLMuubSqxjxcbL\njukZemfirJv+R6eiQsbFxfkH9TAAswiIfSjIk6Anm1YmaD3FWriLlUhqpIvD\nIzJCXkA6HsEmshXZc44CvfU+HfCtOzZTkEpDcw7hyGZq8MczY81MzJsBXY0l\n+B5WsxVjzTHVzOm8F3RB3xaK+oBGoxmBEX6kCwnlsT6lRkAfLU+KHXB+aMcM\nuci9wwznxTKO/VTzI/TQ4PFDKLtNcFaah3/H5D7PgvvZD5L1yYx9mzwBrgQA\n7336LHkQs2r/KUdhXyhsjjJz0s4zMRiCsiqFbwzxp5OaMNPKEAg47UN0+Gc5\n0FMHP46qldHOP9/O3rs4q9qmF2OpNpbOSxXqE5gh/HAm1Vql3+EyEsguq5Og\nxJyGy5twGCTugwubqc82CYZ5446/zDxiadnx4QaxVb0hKEydGT15k9soxrfh\nlMSW\r\n=xaXW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/ipaddr.js","types":"./lib/ipaddr.js.d.ts","engines":{"node":">= 10"},"gitHead":"88f9dde64ec4e2314063446492416fd6206f6e4d","scripts":{"lint":"npx eslint lib test","test":"npx _mocha","build":"npx uglifyjs --compress --mangle --wrap=window -o ipaddr.min.js lib/ipaddr.js","lintfix":"npx eslint --fix lib test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js.git","type":"git"},"_npmVersion":"5.8.0","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"_nodeVersion":"10.21.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"mocha":"*","eslint":"*","uglify-es":"*"},"_npmOperationalInternal":{"tmp":"tmp/ipaddr.js_2.0.0_1597639833538_0.966759294124411","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"ipaddr.js","version":"2.0.1","keywords":["ip","ipv4","ipv6"],"author":{"name":"whitequark","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@2.0.1","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"homepage":"https://github.com/whitequark/ipaddr.js#readme","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"eca256a7a877e917aeb368b0a7497ddf42ef81c0","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz","fileCount":7,"integrity":"sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==","signatures":[{"sig":"MEUCIQCQjS4Ya2D1lm/yXOPWqc0pQb7ObRjSW93JtZmw8fj3YgIgTiGiUN2EZAcE/cXzjnJyDO+MtXsn0oivjMD6aTwOslM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59520,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwPA/CRA9TVsSAnZWagAA/LEP/1aejLiFQ5nH98pEvxUu\nLV7Y+lxzJAFiye/hiiZzcjirbwG+KFfb6rqMzEX5PK3PSMIx3b5a4GJ+DNv/\nvdjA8P+YDo7hvh3Gjoquskiv0nKzbyZSm13cobYDX3CiiONqJgLH+GFwAvo5\nbrj59PHiWbIP04Gjb/LL8+9FU4ON3kdWH9/4f0L8cn2LG/cA0NINadoPmAgh\nqLt9fL83Ct5sg3/I6DE4KeFp6iPyKstDiBSd8LNazaIvmDQl6Dv9KaO1PL6s\ndnMiz+rHJZaKyxovdfqOGZqTnV1WWUAZZQ0RiTHjKSfYahAZFTood85UkEcc\nUlTKtHa8IcMXbUvAd59Xg5W+JuqpdjC9JFitNciwa29bCrJe1YM6q2m0RLr5\nSc11UREt+vJbVrJAIgNAUWgYKI25Oc8LrudlVaD2fLdMALhB4XD6YLksvO71\nVA8+LUGvTUGKx4STe9RdbLN0ZI8QAtmfMqdI6GwOR5/r9Naoftc17YuzVF5P\nMElH3x4JOKwRAHRQOceX65FKv1NSLJW3B9qX1xVkEOjJit/hHG3gXfndY6qx\nr9SAxjwBfRZObFYz5ZPuB3yLaMXnqN6zUD4cLGMOyHxobq/Vyf0nx4L20e+z\nntlb+yKMbFWaQhrkIigmSaEo6qem8OqDPhjRVEpURohpLbyzZqCgbYVBs7kb\nNK+S\r\n=IIK1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/ipaddr.js","types":"./lib/ipaddr.js.d.ts","engines":{"node":">= 10"},"gitHead":"5237e6d21d44ca1675adf881651a746cb3699d20","scripts":{"lint":"npx eslint lib test","test":"npx _mocha","build":"npx uglifyjs --compress --mangle --wrap=window -o ipaddr.min.js lib/ipaddr.js","lintfix":"npx eslint --fix lib test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js.git","type":"git"},"_npmVersion":"6.14.9","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"_nodeVersion":"10.24.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"mocha":"*","eslint":"*","uglify-es":"*"},"_npmOperationalInternal":{"tmp":"tmp/ipaddr.js_2.0.1_1623257151408_0.3856082373423191","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"ipaddr.js","version":"2.1.0","keywords":["ip","ipv4","ipv6"],"author":{"name":"whitequark","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@2.1.0","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"homepage":"https://github.com/whitequark/ipaddr.js#readme","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"2119bc447ff8c257753b196fc5f1ce08a4cdf39f","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz","fileCount":7,"integrity":"sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==","signatures":[{"sig":"MEUCIQDALBzfj8MbPBqbsMnABE064F9MVSTCQK2etq2HFEYm2wIgNKlOYot+5kPNbWphwb2+zOB05dTe9BD3j+PdF0FByqY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60229},"main":"./lib/ipaddr.js","types":"./lib/ipaddr.js.d.ts","engines":{"node":">= 10"},"gitHead":"fb169615d04bb5f1c6042a07d85f9b09bef69af6","scripts":{"lint":"npx eslint lib test","test":"npx _mocha","build":"npx uglifyjs --compress --mangle --wrap=window -o ipaddr.min.js lib/ipaddr.js","lintfix":"npx eslint --fix lib test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js.git","type":"git"},"_npmVersion":"6.14.9","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"_nodeVersion":"12.22.5","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"mocha":"*","eslint":"*","uglify-es":"*"},"_npmOperationalInternal":{"tmp":"tmp/ipaddr.js_2.1.0_1685466491765_0.7323887615719415","host":"s3://npm-registry-packages"}},"2.2.0":{"name":"ipaddr.js","version":"2.2.0","keywords":["ip","ipv4","ipv6"],"author":{"name":"whitequark","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@2.2.0","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"homepage":"https://github.com/whitequark/ipaddr.js#readme","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"d33fa7bac284f4de7af949638c9d68157c6b92e8","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz","fileCount":6,"integrity":"sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==","signatures":[{"sig":"MEUCIQDPadaBDI1QzCU7zPTJWoM76iW7VDBbulbqlqz5pHq5pQIgISyiFz6w95oYXnjybPBxxaittgpefxBcDRFquugntx4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":62306},"main":"./lib/ipaddr.js","types":"./lib/ipaddr.js.d.ts","engines":{"node":">= 10"},"gitHead":"0cba6a4e924b3286e85512f0949cdf7d6367a783","scripts":{"lint":"npx eslint lib","test":"node --test","build":"npx uglifyjs --compress --mangle --wrap=window -o ipaddr.min.js lib/ipaddr.js","lintfix":"npx eslint --fix lib test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js.git","type":"git"},"_npmVersion":"9.2.0","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"_nodeVersion":"18.19.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.0","uglify-es":"*"},"_npmOperationalInternal":{"tmp":"tmp/ipaddr.js_2.2.0_1713577016695_0.32980495309177194","host":"s3://npm-registry-packages"}},"2.3.0":{"name":"ipaddr.js","version":"2.3.0","keywords":["ip","ipv4","ipv6"],"author":{"name":"whitequark","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@2.3.0","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"homepage":"https://github.com/whitequark/ipaddr.js#readme","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"71dce70e1398122208996d1c22f2ba46a24b1abc","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.3.0.tgz","fileCount":6,"integrity":"sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==","signatures":[{"sig":"MEUCIQDhaOJFlaPb/I73MIjC5JFGjp7vwcMu+alDDikv+wHUxgIgbrPn1oaZ1+s6iI3ZKspY4Qt5cTWPhH/LQ/QV6BZJeRM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63041},"main":"./lib/ipaddr.js","types":"./lib/ipaddr.js.d.ts","engines":{"node":">= 10"},"gitHead":"e373b4e42533872c8e2d539fc74f48fa684c6e0f","scripts":{"lint":"npx eslint lib","test":"node --test","build":"npx uglifyjs --compress --mangle --wrap=window -o ipaddr.min.js lib/ipaddr.js","lintfix":"npx eslint --fix lib test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js.git","type":"git"},"_npmVersion":"9.2.0","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"_nodeVersion":"22.18.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.19.0","uglify-es":"*"},"_npmOperationalInternal":{"tmp":"tmp/ipaddr.js_2.3.0_1764339002166_0.9030909443981385","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"ipaddr.js","version":"2.4.0","keywords":["ip","ipv4","ipv6"],"author":{"name":"whitequark","email":"whitequark@whitequark.org"},"license":"MIT","_id":"ipaddr.js@2.4.0","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"homepage":"https://github.com/whitequark/ipaddr.js#readme","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"038e9ceaf8219efc5bb76347b7eb787875d5095b","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.4.0.tgz","fileCount":6,"integrity":"sha512-9VGk3HGanVE6JoZXHiCpnGy5X0jYDnN4EA4lntFPj+1vIWlFhIylq2CrrCOJH9EAhc5CYhq18F2Av2tgoAPsYQ==","signatures":[{"sig":"MEYCIQCaCo0dT1+oocVoZLipGuFx5xpZIYbz3UC/Dv/6VEWOsgIhAK9UbRnA5KoD4EmOWbJ++LO3jf3WUPT0gFciqi6yfNAR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63756},"main":"./lib/ipaddr.js","types":"./lib/ipaddr.js.d.ts","engines":{"node":">= 10"},"gitHead":"61bd6dfd22a53c7d7c044aefe3acad4b0dd7f197","scripts":{"lint":"npx eslint lib","test":"node --test","build":"npx uglifyjs --compress --mangle --wrap=window -o ipaddr.min.js lib/ipaddr.js","lintfix":"npx eslint --fix lib test"},"_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"repository":{"url":"git://github.com/whitequark/ipaddr.js.git","type":"git"},"_npmVersion":"9.2.0","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"_nodeVersion":"22.22.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.19.0","uglify-es":"*"},"_npmOperationalInternal":{"tmp":"tmp/ipaddr.js_2.4.0_1777832822477_0.03154256898341967","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"_id":"ipaddr.js@2.5.0","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"dist":{"shasum":"7d4b6c39f9392fb61cf807de6e425e22c10e061f","tarball":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.5.0.tgz","fileCount":5,"integrity":"sha512-aq+t5NAc+cS6rZQQVWC2x98CPqGtKKTMDd4Gaodv0wShnItdKg/51djkGJ1hqH+Oy0ivDftCbSLCQob8zso01w==","signatures":[{"sig":"MEUCIETR/2NXEMreqongEKzvR0R0qxxTArVL/laPzW1uh+JHAiEA00r4xaHI9+Xyt7EYlYRQn2umQzyCyTYRx4uLgkfrSBY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDl5uqZ0ieHe6qLMi6C/drdNj5GNO3QvRRroOp14/44rgIgbPBbiTWxdCZ2m+tvJP1au+65FbjgPmgL9HDtwRjqQsI="}],"unpackedSize":64424},"main":"./lib/ipaddr.js","name":"ipaddr.js","type":"commonjs","types":"./lib/ipaddr.d.ts","author":{"name":"whitequark","email":"whitequark@whitequark.org"},"engines":{"node":">= 10"},"gitHead":"dc55282780d8702bac31ef012ca52e4a77fbca1f","license":"MIT","scripts":{"lint":"npx eslint lib","test":"node --test","lintfix":"npx eslint --fix lib test","test:coverage":"node --test --experimental-test-coverage"},"version":"2.5.0","_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"homepage":"https://github.com/whitequark/ipaddr.js#readme","keywords":["ip","ipv4","ipv6"],"repository":{"url":"git+https://github.com/whitequark/ipaddr.js.git","type":"git"},"_npmVersion":"9.2.0","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","directories":{"lib":"./lib"},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.3.0","globals":"^17.6.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ipaddr.js_2.5.0_1785849759993_0.1485041498754225"}}},"time":{"created":"2011-07-28T15:57:38.697Z","modified":"2026-08-04T13:22:40.250Z","0.1.0":"2011-07-28T15:57:40.643Z","0.1.1":"2011-07-30T16:00:04.710Z","0.1.2":"2013-12-06T22:00:21.923Z","0.1.3":"2014-07-09T08:26:58.804Z","0.1.4":"2014-11-18T22:00:30.596Z","0.1.5":"2014-11-19T21:57:24.625Z","0.1.6":"2014-11-26T16:34:44.619Z","0.1.7":"2015-01-29T03:39:54.325Z","0.1.8":"2015-01-29T23:40:08.892Z","0.1.9":"2015-03-11T10:41:42.690Z","1.0.0":"2015-04-07T21:16:34.839Z","1.0.1":"2015-04-08T17:00:18.304Z","1.0.3":"2015-08-27T06:31:09.446Z","1.0.4":"2015-11-07T05:46:23.340Z","1.0.5":"2015-12-09T14:36:42.259Z","1.1.0":"2016-01-29T22:33:58.126Z","1.1.1":"2016-05-24T07:18:13.893Z","1.2.0":"2016-07-08T09:52:20.241Z","1.3.0":"2017-03-15T02:28:53.138Z","1.4.0":"2017-06-22T20:48:02.394Z","1.5.0":"2017-08-21T14:12:21.041Z","1.5.1":"2017-08-22T20:35:18.455Z","1.5.2":"2017-08-24T03:47:42.297Z","1.5.3":"2017-10-12T15:44:50.448Z","1.5.4":"2017-10-17T07:27:07.211Z","1.6.0":"2018-02-06T05:40:56.969Z","1.7.0":"2018-04-10T10:12:13.872Z","1.8.0":"2018-07-10T03:28:15.831Z","1.8.1":"2018-07-31T15:31:21.138Z","1.9.0":"2019-02-10T07:51:21.736Z","1.9.1":"2019-07-17T02:28:19.618Z","2.0.0":"2020-08-17T04:50:33.629Z","2.0.1":"2021-06-09T16:45:51.569Z","2.1.0":"2023-05-30T17:08:12.012Z","2.2.0":"2024-04-20T01:36:56.836Z","2.3.0":"2025-11-28T14:10:02.353Z","2.4.0":"2026-05-03T18:27:02.625Z","2.5.0":"2026-08-04T13:22:40.098Z"},"bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"author":{"name":"whitequark","email":"whitequark@whitequark.org"},"license":"MIT","homepage":"https://github.com/whitequark/ipaddr.js#readme","keywords":["ip","ipv4","ipv6"],"repository":{"url":"git+https://github.com/whitequark/ipaddr.js.git","type":"git"},"description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"readme":"# ipaddr.js — an IPv4 and IPv6 address manipulation library\n\n[![CI Tests][ci-img]][ci-url]\n\nipaddr.js is a library for manipulating IPv4 and IPv6 addresses in JavaScript. It runs in Node.js and in browsers.\n\nIt lets you parse and validate addresses, match them against CIDR ranges, classify them into named ranges (loopback, private, reserved, etc.), convert between IPv4 and IPv6 representations, and work with raw byte arrays.\n\n## Installation\n\n```\nnpm install ipaddr.js\n```\n\n## Node.js version support\n\n- ipaddr.js 2.x — Node.js 10+\n- ipaddr.js 1.x — Node.js < 10\n\n## Quick start\n\n```js\nconst ipaddr = require('ipaddr.js');\n\nipaddr.isValid('192.168.1.1');     // => true\nipaddr.isValid('2001:db8::1');    // => true\nipaddr.isValid('not an address'); // => false\n\nconst addr = ipaddr.parse('2001:db8::1');\naddr.kind();     // => 'ipv6'\naddr.toString(); // => '2001:db8::1'\n\nconst [network, prefix] = ipaddr.parseCIDR('10.0.0.0/8');\nnetwork.toString(); // => '10.0.0.0'\nprefix;             // => 8\n```\n\n## Table of contents\n\n- [Global API](#global-api)\n  - [isValid](#ipaddrIsValid)\n  - [isValidCIDR](#ipaddrIsValidCIDR)\n  - [parse](#ipaddrParse)\n  - [parseCIDR](#ipaddrParseCIDR)\n  - [process](#ipaddrProcess)\n  - [subnetMatch](#ipaddrSubnetMatch)\n  - [fromByteArray](#ipaddrFromByteArray)\n- [IPv4 API](#ipv4-api)\n  - Static: [isValid](#ipv4-isvalid), [isValidCIDR](#ipv4-isvalidcidr), [isValidFourPartDecimal](#ipv4-isvalidfourpartdecimal), [isValidCIDRFourPartDecimal](#ipv4-isvalidcidrfourpartdecimal), [isIPv4](#ipv4-isipv4), [parse](#ipv4-parse), [parseCIDR](#ipv4-parsecidr), [broadcastAddressFromCIDR](#ipv4-broadcastaddressfromcidr), [networkAddressFromCIDR](#ipv4-networkaddressfromcidr), [subnetMaskFromPrefixLength](#ipv4-subnetmaskfromprefixlength)\n  - Instance: [octets](#ipv4-octets), [kind()](#ipv4-kind), [match()](#ipv4-match), [range()](#ipv4-range), [prefixLengthFromSubnetMask()](#ipv4-prefixlengthfromsubnetmask), [subnetMatch()](#ipv4-subnetmatch-instance), [toByteArray()](#ipv4-tobytearray), [toIPv4MappedAddress()](#ipv4-toipv4mappedaddress), [toNormalizedString()](#ipv4-tonormalizedstring), [toString()](#ipv4-tostring)\n- [IPv6 API](#ipv6-api)\n  - Static: [isValid](#ipv6-isvalid), [isValidCIDR](#ipv6-isvalidcidr), [isIPv6](#ipv6-isipv6), [parse](#ipv6-parse), [parseCIDR](#ipv6-parsecidr), [broadcastAddressFromCIDR](#ipv6-broadcastaddressfromcidr), [networkAddressFromCIDR](#ipv6-networkaddressfromcidr), [subnetMaskFromPrefixLength](#ipv6-subnetmaskfromprefixlength)\n  - Instance: [parts](#ipv6-parts), [zoneId](#ipv6-zoneid), [kind()](#ipv6-kind), [isIPv4MappedAddress()](#ipv6-isipv4mappedaddress), [match()](#ipv6-match), [range()](#ipv6-range), [prefixLengthFromSubnetMask()](#ipv6-prefixlengthfromsubnetmask), [subnetMatch()](#ipv6-subnetmatch-instance), [toByteArray()](#ipv6-tobytearray), [toFixedLengthString()](#ipv6-tofixedlengthstring), [toIPv4Address()](#ipv6-toipv4address), [toNormalizedString()](#ipv6-tonormalizedstring), [toRFC5952String()](#ipv6-torfc5952string), [toString()](#ipv6-tostring)\n\n---\n\n## Global API\n\n```js\nconst ipaddr = require('ipaddr.js');\n```\n\n<a name=\"ipaddrIsValid\"></a>\n### `ipaddr.isValid(string)`\n\nReturns `true` if the string is a valid IPv4 or IPv6 address; `false` otherwise. Never throws.\n\n```js\nipaddr.isValid('192.168.1.1');   // => true\nipaddr.isValid('2001:db8::1');  // => true\nipaddr.isValid('999.0.0.1');    // => false\nipaddr.isValid('hello');        // => false\n```\n\n<a name=\"ipaddrIsValidCIDR\"></a>\n### `ipaddr.isValidCIDR(string)`\n\nReturns `true` if the string is a valid IPv4 or IPv6 address in CIDR notation; `false` otherwise. Never throws.\n\n```js\nipaddr.isValidCIDR('192.168.0.0/24');  // => true\nipaddr.isValidCIDR('2001:db8::/32');   // => true\nipaddr.isValidCIDR('192.168.0.1/33'); // => false\n```\n\n<a name=\"ipaddrParse\"></a>\n### `ipaddr.parse(string)`\n\nParses the string and returns an `IPv4` or `IPv6` object. Throws if the string is not a valid address.\n\n```js\nconst v4 = ipaddr.parse('192.168.1.1');\nv4.kind();     // => 'ipv4'\nv4.toString(); // => '192.168.1.1'\n\nconst v6 = ipaddr.parse('2001:db8::1');\nv6.kind();     // => 'ipv6'\nv6.toString(); // => '2001:db8::1'\n```\n\n<a name=\"ipaddrParseCIDR\"></a>\n### `ipaddr.parseCIDR(string)`\n\nParses an IP address with a CIDR prefix length and returns a two-element array `[address, prefixLength]`. Throws if the input is not valid CIDR notation.\n\n```js\nconst [addr, prefix] = ipaddr.parseCIDR('192.168.1.0/24');\naddr.toString(); // => '192.168.1.0'\nprefix;          // => 24\n```\n\nThe returned array can be passed directly to `addr.match()`:\n\n```js\nconst addr = ipaddr.parse('192.168.1.42');\naddr.match(ipaddr.parseCIDR('192.168.1.0/24')); // => true\n```\n\n<a name=\"ipaddrProcess\"></a>\n### `ipaddr.process(string)`\n\nLike `ipaddr.parse()`, but automatically converts IPv4-mapped IPv6 addresses (e.g. `::ffff:192.168.1.1`) to their IPv4 equivalents. All other addresses are returned as-is.\n\nThis is useful when accepting connections on a dual-stack IPv6 socket, where IPv4 client addresses appear as IPv4-mapped IPv6 addresses.\n\n```js\nipaddr.process('::ffff:192.168.1.1').toString(); // => '192.168.1.1'\nipaddr.process('::ffff:192.168.1.1').kind();     // => 'ipv4'\nipaddr.process('2001:db8::1').kind();            // => 'ipv6'\nipaddr.process('192.168.1.1').kind();            // => 'ipv4'\n```\n\n<a name=\"ipaddrSubnetMatch\"></a>\n### `ipaddr.subnetMatch(address, rangeList[, defaultName])`\n\nMatches `address` against a map of named CIDR ranges and returns the name of the first matching range. Returns `defaultName` (default: `'unicast'`) if no range matches.\n\nEach `rangeList` value is either a single `[address, prefixLength]` pair or an array of such pairs. The list may mix IPv4 and IPv6 entries; entries of the wrong address family are safely skipped.\n\n```js\nconst rangeList = {\n  private: [\n    [ipaddr.parse('10.0.0.0'), 8],\n    [ipaddr.parse('172.16.0.0'), 12],\n    [ipaddr.parse('192.168.0.0'), 16],\n  ],\n  loopback: [ ipaddr.parse('127.0.0.0'), 8 ],\n};\n\nipaddr.subnetMatch(ipaddr.parse('192.168.1.1'), rangeList);          // => 'private'\nipaddr.subnetMatch(ipaddr.parse('127.0.0.1'), rangeList);            // => 'loopback'\nipaddr.subnetMatch(ipaddr.parse('8.8.8.8'), rangeList, 'public');    // => 'public'\nipaddr.subnetMatch(ipaddr.parse('8.8.8.8'), rangeList);              // => 'unicast'\n```\n\n<a name=\"ipaddrFromByteArray\"></a>\n### `ipaddr.fromByteArray(bytes)`\n\nConstructs an IPv4 or IPv6 address from a byte array in network byte order (MSB first). Accepts 4 bytes for IPv4, or 16 bytes for IPv6. Throws if the array length is not 4 or 16.\n\n```js\nipaddr.fromByteArray([127, 0, 0, 1]).toString(); // => '127.0.0.1'\n\nipaddr.fromByteArray([\n  0x20, 0x01, 0x0d, 0xb8,\n  0x00, 0x00, 0x00, 0x00,\n  0x00, 0x00, 0x00, 0x00,\n  0x00, 0x00, 0x00, 0x01,\n]).toString(); // => '2001:db8::1'\n```\n\n---\n\n## IPv4 API\n\n### Static methods\n\n<a name=\"ipv4-isvalid\"></a>\n#### `ipaddr.IPv4.isValid(string)`\n\nReturns `true` if the string is a valid IPv4 address; `false` otherwise. Never throws.\n\nAccepts the same extended formats as `ipaddr.IPv4.parse()` (hex, octal, fewer-than-four parts). For strict four-part decimal validation, use `isValidFourPartDecimal()`.\n\n```js\nipaddr.IPv4.isValid('192.168.1.1');   // => true\nipaddr.IPv4.isValid('0xc0.168.1.1'); // => true  (hex octet)\nipaddr.IPv4.isValid('999.0.0.1');    // => false\n```\n\n<a name=\"ipv4-isvalidcidr\"></a>\n#### `ipaddr.IPv4.isValidCIDR(string)`\n\nReturns `true` if the string is a valid IPv4 CIDR address; `false` otherwise. Never throws.\n\n```js\nipaddr.IPv4.isValidCIDR('192.168.0.0/24'); // => true\nipaddr.IPv4.isValidCIDR('192.168.0.0/33'); // => false\n```\n\n<a name=\"ipv4-isvalidfourpartdecimal\"></a>\n#### `ipaddr.IPv4.isValidFourPartDecimal(string)`\n\nLike `isValid()`, but only accepts the standard four-part dotted-decimal format. Rejects hex, octal, and other non-standard notations accepted by `inet_aton`.\n\n```js\nipaddr.IPv4.isValidFourPartDecimal('192.168.1.1');  // => true\nipaddr.IPv4.isValidFourPartDecimal('0xc0.168.1.1'); // => false\n```\n\n<a name=\"ipv4-isvalidcidrfourpartdecimal\"></a>\n#### `ipaddr.IPv4.isValidCIDRFourPartDecimal(string)`\n\nLike `isValidCIDR()`, but only accepts the standard four-part dotted-decimal format for the address portion.\n\n```js\nipaddr.IPv4.isValidCIDRFourPartDecimal('192.168.0.0/24');  // => true\nipaddr.IPv4.isValidCIDRFourPartDecimal('0xc0.168.0.0/24'); // => false\n```\n\n<a name=\"ipv4-isipv4\"></a>\n#### `ipaddr.IPv4.isIPv4(string)`\n\nReturns `true` if the string matches the IPv4 address pattern. This is a lightweight regex check — it does not validate that all octets are in range (0–255). Prefer `isValid()` for authoritative validation.\n\n```js\nipaddr.IPv4.isIPv4('192.168.1.1'); // => true\nipaddr.IPv4.isIPv4('2001:db8::1'); // => false\n```\n\n<a name=\"ipv4-parse\"></a>\n#### `ipaddr.IPv4.parse(string)`\n\nParses the string and returns an `IPv4` object. Throws if the string is not a valid IPv4 address.\n\nIn addition to standard dotted-decimal, the parser accepts formats recognised by the POSIX `inet_aton` function: hex octets (`0xc0.0xa8.0x01.0x01`), octal octets (`0300.0250.01.01`), three-part (`192.168.257`), two-part (`192.11010049`), and single-value (`3232235777`) notation.\n\n```js\nipaddr.IPv4.parse('192.168.1.1').toString();   // => '192.168.1.1'\nipaddr.IPv4.parse('0xc0.168.1.1').toString();  // => '192.168.1.1'\n```\n\n<a name=\"ipv4-parsecidr\"></a>\n#### `ipaddr.IPv4.parseCIDR(string)`\n\nParses an IPv4 CIDR address and returns `[IPv4, prefixLength]`. Throws if the input is invalid.\n\n```js\nconst [addr, prefix] = ipaddr.IPv4.parseCIDR('192.168.1.0/24');\naddr.toString(); // => '192.168.1.0'\nprefix;          // => 24\n```\n\n<a name=\"ipv4-broadcastaddressfromcidr\"></a>\n#### `ipaddr.IPv4.broadcastAddressFromCIDR(string)`\n\nReturns the broadcast address for the given IPv4 CIDR block.\n\n```js\nipaddr.IPv4.broadcastAddressFromCIDR('192.168.1.0/24').toString(); // => '192.168.1.255'\nipaddr.IPv4.broadcastAddressFromCIDR('10.0.0.1/8').toString();     // => '10.255.255.255'\n```\n\n<a name=\"ipv4-networkaddressfromcidr\"></a>\n#### `ipaddr.IPv4.networkAddressFromCIDR(string)`\n\nReturns the network address for the given IPv4 CIDR block.\n\n```js\nipaddr.IPv4.networkAddressFromCIDR('192.168.1.42/24').toString(); // => '192.168.1.0'\nipaddr.IPv4.networkAddressFromCIDR('10.1.2.3/8').toString();      // => '10.0.0.0'\n```\n\n<a name=\"ipv4-subnetmaskfromprefixlength\"></a>\n#### `ipaddr.IPv4.subnetMaskFromPrefixLength(prefix)`\n\nReturns the IPv4 subnet mask corresponding to the given CIDR prefix length.\n\n```js\nipaddr.IPv4.subnetMaskFromPrefixLength(24).toString(); // => '255.255.255.0'\nipaddr.IPv4.subnetMaskFromPrefixLength(16).toString(); // => '255.255.0.0'\n```\n\n### Instance properties and methods\n\n<a name=\"ipv4-octets\"></a>\n#### `addr.octets`\n\nThe four octets of the address as an array of numbers.\n\n```js\nipaddr.parse('192.168.1.1').octets; // => [192, 168, 1, 1]\n```\n\n<a name=\"ipv4-kind\"></a>\n#### `addr.kind()`\n\nAlways returns `'ipv4'`.\n\n```js\nipaddr.parse('192.168.1.1').kind(); // => 'ipv4'\n```\n\n<a name=\"ipv4-match\"></a>\n#### `addr.match(other, cidrBits)` / `addr.match([address, cidrBits])`\n\nReturns `true` if the address falls within the given CIDR range.\n\n```js\nconst addr = ipaddr.parse('192.168.1.42');\n\naddr.match(ipaddr.parse('192.168.1.0'), 24); // => true\naddr.match(ipaddr.parse('10.0.0.0'), 8);     // => false\n\n// Accepts the tuple returned by parseCIDR:\naddr.match(ipaddr.parseCIDR('192.168.1.0/24')); // => true\n```\n\n<a name=\"ipv4-range\"></a>\n#### `addr.range()`\n\nReturns the name of the built-in range the address belongs to, or `'unicast'` if it does not match any special range. Recognised names: `'unspecified'`, `'broadcast'`, `'multicast'`, `'linkLocal'`, `'loopback'`, `'carrierGradeNat'`, `'private'`, `'reserved'`, `'as112'`, `'amt'`.\n\nSee the [source][IPv4 ranges] for the full CIDR list associated with each name.\n\n```js\nipaddr.parse('127.0.0.1').range();   // => 'loopback'\nipaddr.parse('192.168.1.1').range(); // => 'private'\nipaddr.parse('169.254.1.1').range(); // => 'linkLocal'\nipaddr.parse('8.8.8.8').range();     // => 'unicast'\n```\n\n<a name=\"ipv4-prefixlengthfromsubnetmask\"></a>\n#### `addr.prefixLengthFromSubnetMask()`\n\nReturns the CIDR prefix length if this address is a valid contiguous subnet mask, or `null` otherwise.\n\n```js\nipaddr.parse('255.255.255.0').prefixLengthFromSubnetMask();   // => 24\nipaddr.parse('255.255.255.240').prefixLengthFromSubnetMask(); // => 28\nipaddr.parse('255.192.168.0').prefixLengthFromSubnetMask();   // => null\n```\n\n<a name=\"ipv4-subnetmatch-instance\"></a>\n#### `addr.subnetMatch(rangeList[, defaultName])`\n\nInstance-method shorthand for `ipaddr.subnetMatch(addr, rangeList, defaultName)`.\n\n```js\nconst addr = ipaddr.parse('192.168.1.1');\naddr.subnetMatch({ private: [ipaddr.parse('192.168.0.0'), 16] }); // => 'private'\n```\n\n<a name=\"ipv4-tobytearray\"></a>\n#### `addr.toByteArray()`\n\nReturns the address as an array of four bytes in network byte order.\n\n```js\nipaddr.parse('192.168.1.1').toByteArray(); // => [192, 168, 1, 1]\nipaddr.parse('127.0.0.1').toByteArray();   // => [127, 0, 0, 1]\n```\n\n<a name=\"ipv4-toipv4mappedaddress\"></a>\n#### `addr.toIPv4MappedAddress()`\n\nReturns the IPv4-mapped IPv6 representation of this address (`::ffff:x.x.x.x`).\n\n```js\nipaddr.parse('192.168.1.1').toIPv4MappedAddress().toString(); // => '::ffff:c0a8:101'\n```\n\n<a name=\"ipv4-tonormalizedstring\"></a>\n#### `addr.toNormalizedString()`\n\nReturns the address in standard four-part dotted-decimal notation. For IPv4, this is the same as `toString()`.\n\n```js\nipaddr.parse('192.168.1.1').toNormalizedString(); // => '192.168.1.1'\n```\n\n<a name=\"ipv4-tostring\"></a>\n#### `addr.toString()`\n\nReturns the address as a dotted-decimal string.\n\n```js\nipaddr.parse('192.168.001.001').toString(); // => '192.168.1.1'\n```\n\n---\n\n## IPv6 API\n\n### Static methods\n\n<a name=\"ipv6-isvalid\"></a>\n#### `ipaddr.IPv6.isValid(string)`\n\nReturns `true` if the string is a valid IPv6 address; `false` otherwise. Never throws. Accepts addresses with a zone ID (e.g. `fe80::1%eth0`).\n\n```js\nipaddr.IPv6.isValid('2001:db8::1');    // => true\nipaddr.IPv6.isValid('::1');           // => true\nipaddr.IPv6.isValid('fe80::1%eth0'); // => true\nipaddr.IPv6.isValid('192.168.1.1');  // => false\n```\n\n<a name=\"ipv6-isvalidcidr\"></a>\n#### `ipaddr.IPv6.isValidCIDR(string)`\n\nReturns `true` if the string is a valid IPv6 CIDR address; `false` otherwise. Never throws.\n\n```js\nipaddr.IPv6.isValidCIDR('2001:db8::/32');  // => true\nipaddr.IPv6.isValidCIDR('2001:db8::/129'); // => false\n```\n\n<a name=\"ipv6-isipv6\"></a>\n#### `ipaddr.IPv6.isIPv6(string)`\n\nReturns `true` if the string matches the IPv6 address pattern. This is a lightweight regex check and does not fully validate all groups. Prefer `isValid()` for authoritative validation.\n\n```js\nipaddr.IPv6.isIPv6('2001:db8::1'); // => true\nipaddr.IPv6.isIPv6('192.168.1.1'); // => false\n```\n\n<a name=\"ipv6-parse\"></a>\n#### `ipaddr.IPv6.parse(string)`\n\nParses the string and returns an `IPv6` object. Throws if the string is not a valid IPv6 address.\n\n```js\nipaddr.IPv6.parse('2001:db8::1').toString();        // => '2001:db8::1'\nipaddr.IPv6.parse('::ffff:192.168.1.1').toString(); // => '::ffff:c0a8:101'\n```\n\n<a name=\"ipv6-parsecidr\"></a>\n#### `ipaddr.IPv6.parseCIDR(string)`\n\nParses an IPv6 CIDR address and returns `[IPv6, prefixLength]`. Throws if the input is invalid.\n\n```js\nconst [addr, prefix] = ipaddr.IPv6.parseCIDR('2001:db8::/32');\naddr.toString(); // => '2001:db8::'\nprefix;          // => 32\n```\n\n<a name=\"ipv6-broadcastaddressfromcidr\"></a>\n#### `ipaddr.IPv6.broadcastAddressFromCIDR(string)`\n\nReturns the last address in the given IPv6 CIDR block (the IPv6 equivalent of the broadcast address).\n\n```js\nipaddr.IPv6.broadcastAddressFromCIDR('2001:db8::/120').toString(); // => '2001:db8::ff'\n```\n\n<a name=\"ipv6-networkaddressfromcidr\"></a>\n#### `ipaddr.IPv6.networkAddressFromCIDR(string)`\n\nReturns the network address for the given IPv6 CIDR block.\n\n```js\nipaddr.IPv6.networkAddressFromCIDR('2001:db8::42/32').toString(); // => '2001:db8::'\n```\n\n<a name=\"ipv6-subnetmaskfromprefixlength\"></a>\n#### `ipaddr.IPv6.subnetMaskFromPrefixLength(prefix)`\n\nReturns the IPv6 subnet mask corresponding to the given CIDR prefix length.\n\n```js\nipaddr.IPv6.subnetMaskFromPrefixLength(64).toString(); // => 'ffff:ffff:ffff:ffff::'\nipaddr.IPv6.subnetMaskFromPrefixLength(48).toString(); // => 'ffff:ffff:ffff::'\n```\n\n### Instance properties and methods\n\n<a name=\"ipv6-parts\"></a>\n#### `addr.parts`\n\nThe eight 16-bit groups of the address as an array of numbers.\n\n```js\nipaddr.parse('2001:db8:10::1234:dead').parts;\n// => [0x2001, 0x0db8, 0x0010, 0, 0, 0, 0x1234, 0xdead]\n```\n\n<a name=\"ipv6-zoneid\"></a>\n#### `addr.zoneId`\n\nThe zone ID string for link-local addresses, or `undefined` if absent.\n\n```js\nipaddr.parse('fe80::1%eth0').zoneId; // => 'eth0'\nipaddr.parse('2001:db8::1').zoneId;  // => undefined\n```\n\n<a name=\"ipv6-kind\"></a>\n#### `addr.kind()`\n\nAlways returns `'ipv6'`.\n\n```js\nipaddr.parse('2001:db8::1').kind(); // => 'ipv6'\n```\n\n<a name=\"ipv6-isipv4mappedaddress\"></a>\n#### `addr.isIPv4MappedAddress()`\n\nReturns `true` if this is an IPv4-mapped IPv6 address (i.e. in the `::ffff:0:0/96` range).\n\n```js\nipaddr.parse('::ffff:192.168.1.1').isIPv4MappedAddress(); // => true\nipaddr.parse('2001:db8::1').isIPv4MappedAddress();        // => false\n```\n\n<a name=\"ipv6-match\"></a>\n#### `addr.match(other, cidrBits)` / `addr.match([address, cidrBits])`\n\nReturns `true` if the address falls within the given CIDR range.\n\n```js\nconst addr = ipaddr.parse('2001:db8:1234::1');\n\naddr.match(ipaddr.parse('2001:db8::'), 32);     // => true\naddr.match(ipaddr.parseCIDR('2001:db8::/32'));   // => true\naddr.match(ipaddr.parseCIDR('2001:db9::/32'));   // => false\n```\n\n<a name=\"ipv6-range\"></a>\n#### `addr.range()`\n\nReturns the name of the built-in range the address belongs to, or `'unicast'` if it does not match any. Recognised names include: `'unspecified'`, `'linkLocal'`, `'multicast'`, `'loopback'`, `'uniqueLocal'`, `'ipv4Mapped'`, `'reserved'`, and others.\n\nSee the [source][IPv6 ranges] for the full list.\n\n```js\nipaddr.parse('::1').range();          // => 'loopback'\nipaddr.parse('fe80::1').range();      // => 'linkLocal'\nipaddr.parse('fc00::1').range();      // => 'uniqueLocal'\nipaddr.parse('2001:db8::1').range();  // => 'reserved'\nipaddr.parse('2607:f8b0::1').range(); // => 'unicast'\n```\n\n<a name=\"ipv6-prefixlengthfromsubnetmask\"></a>\n#### `addr.prefixLengthFromSubnetMask()`\n\nReturns the CIDR prefix length if this address is a valid contiguous subnet mask, or `null` otherwise.\n\n```js\nipaddr.parse('ffff:ffff:ffff:ffff::').prefixLengthFromSubnetMask(); // => 64\nipaddr.parse('ffff:ffff::').prefixLengthFromSubnetMask();           // => 32\n```\n\n<a name=\"ipv6-subnetmatch-instance\"></a>\n#### `addr.subnetMatch(rangeList[, defaultName])`\n\nInstance-method shorthand for `ipaddr.subnetMatch(addr, rangeList, defaultName)`.\n\n```js\nconst addr = ipaddr.parse('2001:db8::1');\nconst ranges = { documentation: [ipaddr.parse('2001:db8::'), 32] };\naddr.subnetMatch(ranges); // => 'documentation'\n```\n\n<a name=\"ipv6-tobytearray\"></a>\n#### `addr.toByteArray()`\n\nReturns the address as an array of 16 bytes in network byte order.\n\n```js\nipaddr.parse('2001:db8::1').toByteArray();\n// => [0x20, 0x01, 0x0d, 0xb8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]\n```\n\n<a name=\"ipv6-tofixedlengthstring\"></a>\n#### `addr.toFixedLengthString()`\n\nReturns the address with all eight groups fully expanded to four hex digits, separated by colons. No `::` abbreviation is used.\n\n```js\nipaddr.parse('2001:db8::1').toFixedLengthString();\n// => '2001:0db8:0000:0000:0000:0000:0000:0001'\n```\n\n<a name=\"ipv6-toipv4address\"></a>\n#### `addr.toIPv4Address()`\n\nConverts an IPv4-mapped IPv6 address to its IPv4 equivalent. Throws if the address is not IPv4-mapped.\n\n```js\nipaddr.parse('::ffff:192.168.1.1').toIPv4Address().toString(); // => '192.168.1.1'\n```\n\n<a name=\"ipv6-tonormalizedstring\"></a>\n#### `addr.toNormalizedString()`\n\nReturns the address with all eight 16-bit groups written out in lowercase hex, separated by colons, without `::` compression.\n\n```js\nipaddr.parse('2001:db8::1').toNormalizedString(); // => '2001:db8:0:0:0:0:0:1'\n```\n\n<a name=\"ipv6-torfc5952string\"></a>\n#### `addr.toRFC5952String()`\n\nReturns the address in the canonical format defined by [RFC 5952]: lowercase hex, leading zeros omitted, and the longest run of consecutive all-zero groups replaced by `::`.\n\n```js\nipaddr.parse('2001:0db8:0000:0000:0000:0000:0000:0001').toRFC5952String();\n// => '2001:db8::1'\n```\n\n<a name=\"ipv6-tostring\"></a>\n#### `addr.toString()`\n\nReturns the compact string representation of the address, identical to `toRFC5952String()`.\n\n```js\nipaddr.parse('2001:0db8::0001').toString(); // => '2001:db8::1'\n```\n\n---\n\n[IPv4 ranges]: https://github.com/whitequark/ipaddr.js/blob/master/lib/ipaddr.js#L184\n[IPv6 ranges]: https://github.com/whitequark/ipaddr.js/blob/master/lib/ipaddr.js#L562\n[RFC 5952]: https://datatracker.ietf.org/doc/html/rfc5952\n[nodejs]: http://nodejs.org\n[ci-url]: https://github.com/whitequark/ipaddr.js/actions?query=workflow%3A%22CI+Tests%22\n[ci-img]: https://github.com/whitequark/ipaddr.js/workflows/CI%20Tests/badge.svg\n","readmeFilename":"README.md","users":{"cedx":true,"nazy":true,"bacra":true,"monjer":true,"nuwaio":true,"omar84":true,"qlqllu":true,"asaupup":true,"keenwon":true,"msmiley":true,"subchen":true,"heineiuo":true,"luckyluke":true,"mojaray2k":true,"morogasper":true,"skellertor":true,"michaelermer":true}}