{"_id":"gpt","_rev":"20-c3044db7fe4166b629ab9b1acbfbe1c0","name":"gpt","description":"GUID Partition Table (GPT)","dist-tags":{"latest":"3.0.0"},"versions":{"0.1.0":{"name":"gpt","version":"0.1.0","license":"MIT","description":"GUID Partition Table (GPT)","keywords":[],"author":{"name":"Jonas Hermsmeier","email":"jhermsmeier@gmail.com","url":"https://github.com/jhermsmeier"},"main":"lib/gpt","scripts":{"test":"node node_modules/mocha/bin/mocha"},"dependencies":{"int64-native":"~0.2.0","buffer-crc32":"~0.2.0"},"devDependencies":{"mocha":""},"repository":{"type":"git","url":"https://github.com/jhermsmeier/node-gpt.git"},"bugs":{"url":"https://github.com/jhermsmeier/node-gpt/issues"},"homepage":"https://github.com/jhermsmeier/node-gpt","_id":"gpt@0.1.0","dist":{"shasum":"9e5634588ea843c12329b3ebb9aec810c66baeab","tarball":"https://registry.npmjs.org/gpt/-/gpt-0.1.0.tgz","integrity":"sha512-WmsnO0ChTLGHOBzXyoNQrI6iNPsZ2W3Q2gMT7mlFSs7ilJ8EcEmJb4if8s1eYsOssICu9ZimF89481nqcHfMPA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG6cLpQLx+G0RLxxo2tEsw9M3V3xNVHsGuPbyZJkthn4AiEAr0uQGGqDJcy05acIlYND045k2Yu/hUeHRPA20BRAb/k="}]},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"jhermsmeier","email":"jhermsmeier@gmail.com"},"maintainers":[{"name":"jhermsmeier","email":"jhermsmeier@gmail.com"}],"directories":{}},"0.2.0":{"name":"gpt","version":"0.2.0","license":"MIT","description":"GUID Partition Table (GPT)","keywords":[],"author":{"name":"Jonas Hermsmeier","email":"jhermsmeier@gmail.com","url":"https://github.com/jhermsmeier"},"main":"lib/gpt","scripts":{"test":"node node_modules/mocha/bin/mocha"},"dependencies":{"int64-native":"~0.3.2","buffer-crc32":"~0.2.4"},"devDependencies":{"mocha":"^2.0.1"},"repository":{"type":"git","url":"https://github.com/jhermsmeier/node-gpt.git"},"bugs":{"url":"https://github.com/jhermsmeier/node-gpt/issues"},"gitHead":"2292831e92cdc5085c2b4321de7becc67044b08d","homepage":"https://github.com/jhermsmeier/node-gpt","_id":"gpt@0.2.0","_shasum":"f0a04b80abe4409da0d489eb92dc4cb9fb9903c0","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"jhermsmeier","email":"jhermsmeier@gmail.com"},"maintainers":[{"name":"jhermsmeier","email":"jhermsmeier@gmail.com"}],"dist":{"shasum":"f0a04b80abe4409da0d489eb92dc4cb9fb9903c0","tarball":"https://registry.npmjs.org/gpt/-/gpt-0.2.0.tgz","integrity":"sha512-rhSEVFrHR6D53QTfDk9SsRgclWfSCuZEnDszEQ0kOKiXvpPhg7hx5KkR0Q6IdKNCZreN06+Yoj4lXE/r3ZaMPw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCCPqcXTpUxXA5wzHFxAe6QJHQPP9Jp7zx12dTD3wS0vAIgThvHyZuxbhM/Ck0kYikQ9ISkdqRCJe81FzMpA6ruTE8="}]},"directories":{}},"0.3.0":{"name":"gpt","version":"0.3.0","license":"MIT","description":"GUID Partition Table (GPT)","keywords":["GUID","partition","table","GPT","disk","hdd"],"author":{"name":"Jonas Hermsmeier","email":"jhermsmeier@gmail.com","url":"https://github.com/jhermsmeier"},"main":"lib/gpt","scripts":{"test":"node node_modules/mocha/bin/mocha"},"dependencies":{"buffer-crc32":"^0.2.5","int64-native":"~0.3.2"},"devDependencies":{"mocha":"latest"},"repository":{"type":"git","url":"https://github.com/jhermsmeier/node-gpt.git"},"bugs":{"url":"https://github.com/jhermsmeier/node-gpt/issues"},"gitHead":"e273895235b11189b0c450058e1192b18630893b","homepage":"https://github.com/jhermsmeier/node-gpt","_id":"gpt@0.3.0","_shasum":"35fd5ca48f09290c9ad4fa9fe820163f046c7904","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"jhermsmeier","email":"jhermsmeier@gmail.com"},"maintainers":[{"name":"jhermsmeier","email":"jhermsmeier@gmail.com"}],"dist":{"shasum":"35fd5ca48f09290c9ad4fa9fe820163f046c7904","tarball":"https://registry.npmjs.org/gpt/-/gpt-0.3.0.tgz","integrity":"sha512-AKSDl45OLH/XRke2e5j5Fr8qRny4fXL4RsalDvuIvXFb9yz+VlqUVRsv10VcXjDtcdqAk7FpYCSXNbAX1ThCXQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDgWpeVDKU/K8KPaxxdAMMRTPQ3IP9xhIK5ufhjpiqNGAiAgQ0BYM6JnbxvSqQFjY0rq6X/amrPeJ5y9D3UZm+a2nQ=="}]},"directories":{}},"0.4.0":{"name":"gpt","version":"0.4.0","license":"MIT","description":"GUID Partition Table (GPT)","keywords":["GUID","partition","table","GPT","disk","hdd"],"author":{"name":"Jonas Hermsmeier","email":"jhermsmeier@gmail.com","url":"https://github.com/jhermsmeier"},"main":"lib/gpt","scripts":{"test":"node node_modules/mocha/bin/mocha"},"dependencies":{"buffer-crc32":"^0.2.5","int64-native":"~0.3.2"},"devDependencies":{"mocha":"latest"},"repository":{"type":"git","url":"https://github.com/jhermsmeier/node-gpt.git"},"bugs":{"url":"https://github.com/jhermsmeier/node-gpt/issues"},"gitHead":"2ebacdaaeeb6f4f0f4013f06e1abef1d47dadef2","homepage":"https://github.com/jhermsmeier/node-gpt","_id":"gpt@0.4.0","_shasum":"03daa0783cfe632369ca3327a7f01c6a5c0c3414","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"jhermsmeier","email":"jhermsmeier@gmail.com"},"maintainers":[{"name":"jhermsmeier","email":"jhermsmeier@gmail.com"}],"dist":{"shasum":"03daa0783cfe632369ca3327a7f01c6a5c0c3414","tarball":"https://registry.npmjs.org/gpt/-/gpt-0.4.0.tgz","integrity":"sha512-fAopyFXNcIs+db5ex1pGgHbRs+rGHxQLgYsFnaCGfF8YMD9t8EVguMYro6FE1LoFO8xSk6P4mv22y2znowSZeQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHuJC5E7sCywNP5bN8LrRzDnmy6RIMjTCtbg00ir3N9RAiBNdncTQlSqcbEKmu/s8lZyShE4scTtWvD37fhi1waZBw=="}]},"directories":{}},"0.4.1":{"name":"gpt","version":"0.4.1","license":"MIT","description":"GUID Partition Table (GPT)","keywords":["GUID","partition","table","GPT","disk","hdd"],"author":{"name":"Jonas Hermsmeier","email":"jhermsmeier@gmail.com","url":"https://github.com/jhermsmeier"},"main":"lib/gpt","scripts":{"test":"node node_modules/mocha/bin/mocha"},"dependencies":{"buffer-crc32":"~0.2.5","node-int64":"~0.3.3"},"devDependencies":{"mocha":"latest"},"repository":{"type":"git","url":"https://github.com/jhermsmeier/node-gpt.git"},"bugs":{"url":"https://github.com/jhermsmeier/node-gpt/issues"},"gitHead":"7fb7c09f397849ed42b86ca2c62fcc1816cd1f02","homepage":"https://github.com/jhermsmeier/node-gpt","_id":"gpt@0.4.1","_shasum":"69b44390da32b92c6b0065b1a671f97aae21c523","_from":".","_npmVersion":"2.3.0","_nodeVersion":"1.0.4","_npmUser":{"name":"jhermsmeier","email":"jhermsmeier@gmail.com"},"maintainers":[{"name":"jhermsmeier","email":"jhermsmeier@gmail.com"}],"dist":{"shasum":"69b44390da32b92c6b0065b1a671f97aae21c523","tarball":"https://registry.npmjs.org/gpt/-/gpt-0.4.1.tgz","integrity":"sha512-dm5U0mycOQcqctb0siNjfgT4bVToaMATvdNdQWggPgop1EgThWBdsYy4plHUjS/SyJ1vHggFIw4HK9muA0uKFA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDUhBaNJ98GXXNfPJG47o6ZF81Y7JaloTNqSVZGoMImHAIhAMS3yRTpIOptNr1WsZdCjwH+WlaK50623MMqkgT8hqPA"}]},"directories":{}},"0.5.0":{"name":"gpt","version":"0.5.0","license":"MIT","description":"GUID Partition Table (GPT)","keywords":["GUID","partition","table","GPT","disk","hdd"],"author":{"name":"Jonas Hermsmeier","email":"jhermsmeier@gmail.com","url":"https://github.com/jhermsmeier"},"main":"lib/gpt","scripts":{"test":"node node_modules/mocha/bin/mocha"},"dependencies":{"buffer-crc32":"~0.2.5","node-int64":"~0.4.0"},"devDependencies":{"mocha":"latest"},"repository":{"type":"git","url":"git+https://github.com/jhermsmeier/node-gpt.git"},"bugs":{"url":"https://github.com/jhermsmeier/node-gpt/issues"},"homepage":"https://github.com/jhermsmeier/node-gpt#readme","directories":{"test":"test"},"gitHead":"8260e3ae900e799cf8f0b7b839ccfa8d1e2a27dc","_id":"gpt@0.5.0","_shasum":"fbd14820ba54816c20fbcc0f7a070bb10e76d3d6","_from":".","_npmVersion":"3.3.12","_nodeVersion":"4.2.1","_npmUser":{"name":"jhermsmeier","email":"jhermsmeier@gmail.com"},"dist":{"shasum":"fbd14820ba54816c20fbcc0f7a070bb10e76d3d6","tarball":"https://registry.npmjs.org/gpt/-/gpt-0.5.0.tgz","integrity":"sha512-NaEbLZTl89lanqdivdpm4qRlUCg2tfUpcrUF6VHqlf0YqYIAun1z3K43HtqNWjPJvC9pJUkKHboDQQnhtfwnHw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA/YLsviHWo7auwvViMnesO5abbHx0uAt0suWqtGMQCTAiEA74fY2PScd5RVKX3HnjsQ9/Pnsj9nZ7k5dzQuaPPh+3Y="}]},"maintainers":[{"name":"jhermsmeier","email":"jhermsmeier@gmail.com"}]},"1.0.0":{"name":"gpt","version":"1.0.0","license":"MIT","description":"GUID Partition Table (GPT)","keywords":["GUID","partition","table","GPT","disk","hdd"],"author":{"name":"Jonas Hermsmeier","email":"jhermsmeier@gmail.com","url":"https://github.com/jhermsmeier"},"main":"lib/gpt","scripts":{"test":"node node_modules/mocha/bin/mocha"},"dependencies":{"buffer-crc32":"~0.2.5"},"devDependencies":{"mocha":"latest"},"repository":{"type":"git","url":"git+https://github.com/jhermsmeier/node-gpt.git"},"bugs":{"url":"https://github.com/jhermsmeier/node-gpt/issues"},"homepage":"https://github.com/jhermsmeier/node-gpt#readme","directories":{"test":"test"},"gitHead":"3f281fd22edc8c8f537b22bfbd209906e41bb159","_id":"gpt@1.0.0","_shasum":"822bc31ee7d19e9f4bf8009ca5617bb55f3341d3","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"jhermsmeier","email":"jhermsmeier@gmail.com"},"dist":{"shasum":"822bc31ee7d19e9f4bf8009ca5617bb55f3341d3","tarball":"https://registry.npmjs.org/gpt/-/gpt-1.0.0.tgz","integrity":"sha512-M/7ev0rEGN6kLUdRP4WkV7DFYiu+s3sYxgoD1O+lp/rnUZbGLCAFFSPamK0MRSVjQQzO9jCBVtx1I0KYUN+eeA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDHL2pVM0BkQ9G+y3kHja1zVE8huoXwr8Hf2oKHG8YrugIhAO3+iToHZWU1WcwzwBUnoClfmC7yrqAH5swgi73yhiLj"}]},"maintainers":[{"name":"jhermsmeier","email":"jhermsmeier@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/gpt-1.0.0.tgz_1475600699379_0.7426444899756461"}},"2.0.0":{"name":"gpt","version":"2.0.0","license":"MIT","description":"GUID Partition Table (GPT)","keywords":["GUID","partition","table","GPT","disk","hdd"],"author":{"name":"Jonas Hermsmeier","email":"jhermsmeier@gmail.com","url":"https://github.com/jhermsmeier"},"main":"lib/gpt","scripts":{"test":"mocha","benchmark":"matcha"},"dependencies":{"cyclic-32":"^1.0.1"},"devDependencies":{"matcha":"^0.7.0","mbr":"^1.1.3","mocha":"^5.2.0"},"repository":{"type":"git","url":"git+https://github.com/jhermsmeier/node-gpt.git"},"bugs":{"url":"https://github.com/jhermsmeier/node-gpt/issues"},"homepage":"https://github.com/jhermsmeier/node-gpt#readme","directories":{"test":"test"},"gitHead":"dc48ff7bf8b8dcb37091fec7ab3de1e0ec96409c","_id":"gpt@2.0.0","_npmVersion":"6.1.0","_nodeVersion":"10.3.0","_npmUser":{"name":"jhermsmeier","email":"jhermsmeier@gmail.com"},"dist":{"integrity":"sha512-H4O7e2cBrilMnX6SGnPjJooOeL3+tJN0UhcJ4aJOD1f95voMocRVQHZ6VrmGJmnzS1gFy7xnV3uSPtLueAoKXg==","shasum":"7d2916394faf265a73936b6721fa98f1bc6590cd","tarball":"https://registry.npmjs.org/gpt/-/gpt-2.0.0.tgz","fileCount":7,"unpackedSize":32610,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbFnWACRA9TVsSAnZWagAAPAIP/0Kh5CJtZb+1UFACIkFd\nEw5s47hBnNsmN3y8wYdTu7tmP1/Hm1o95F2TwyARMJ4Ii/XOcs6E7NYMDoZq\nh7WDWyRsdxGqI7OQ0tIBHqZAFuLJNj2IdNw1Pu0tsc/QMYPW51k3xu2HNYIq\n8+fk5AG+EdVeWH0QrqkEZcaSot+nZbmfLBrA3UfHQJ/7c9AMPTI8tsMaZ0g0\nOYB1dPIBQaBHawHtexuj6kuGv3Zp+CJhkw9ciMEfeZlPh1BMWiHddCN7C8hZ\nsBd4A5JfSEhG/vTx9RYjTi/rhwUeHQHPNNVym53lwYHjOpQopI0Gtd8XcAvq\nY07cEUnT9zgLlk6JOYWf7d2Sdx1r9UVWKDnnGqXaUmtCBpvFBk1uKolzTmMf\nys8v05mDPXh6H+tDCkRi/iwg7V9q5ncXd6ZJEH8p7HBHoMr73+ejjT30z+99\n+DvhQI/xi/U4SP4ZMBtH+Uuw1PFKte0PtrT4rBVpp7HS9Qt0bGqY5jCDoZPG\nUbl89NPAOkMkFZdHkvVvOJuNBeWymRpC3cjDq2Ug+gd9J1ILqkkEBALKFU6m\n+XKeEnchxXTBFEXgVSsQPxE3Wf4TxKHvd/wPWEUnmOuC4q8Sg/nus5wMnSDC\nv3MJX27WRKDtOad14ZZaQBd9kVqmAeeGjueHNVxO26kcBp97Xtbo7oTaI3bx\nderC\r\n=MsPS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICJkGgQ4KovR+hls82PwgErqLckoHRJ6WtM1aK9rxIG1AiEAqXZlhJO/BArwl5+Tyu5J0Yhi2rXPTOMmH6s6jaOOmXI="}]},"maintainers":[{"name":"jhermsmeier","email":"jhermsmeier@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gpt_2.0.0_1528198527582_0.5494125321211769"},"_hasShrinkwrap":false},"2.0.1":{"name":"gpt","version":"2.0.1","license":"MIT","description":"GUID Partition Table (GPT)","keywords":["GUID","partition","table","GPT","disk","hdd"],"author":{"name":"Jonas Hermsmeier","email":"jhermsmeier@gmail.com","url":"https://github.com/jhermsmeier"},"main":"lib/gpt","scripts":{"test":"mocha","benchmark":"matcha"},"dependencies":{"cyclic-32":"^1.1.0"},"devDependencies":{"matcha":"^0.7.0","mbr":"^1.1.3","mocha":"^5.2.0"},"repository":{"type":"git","url":"git+https://github.com/jhermsmeier/node-gpt.git"},"bugs":{"url":"https://github.com/jhermsmeier/node-gpt/issues"},"homepage":"https://github.com/jhermsmeier/node-gpt#readme","directories":{"test":"test"},"gitHead":"e9fa5e34946b3f27cff9c1e19e58b9ae671165f3","_id":"gpt@2.0.1","_nodeVersion":"11.14.0","_npmVersion":"6.7.0","_npmUser":{"name":"jhermsmeier","email":"jhermsmeier@gmail.com"},"dist":{"integrity":"sha512-r9PiDnUIAvYR36ovppaPjvoVH4s9mmI4V9U5h/zZ7T6385MQxuJEP7hFmpKG/o9aIImh1bulsIGR1V4Q5PqnMg==","shasum":"db195108e3022624f246cdff707110c21320c0bf","tarball":"https://registry.npmjs.org/gpt/-/gpt-2.0.1.tgz","fileCount":7,"unpackedSize":32637,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJctxZKCRA9TVsSAnZWagAArlEP/AjiLVCqz9Aafm7t9AMn\nTJXMC8b05qhWC3hOCoDLRohNWYHRxa2rIz/G1ee+ljGE8DlYgloynwY83jXU\nQk3lQqwi37EobowKP6xoou4ymEWF57rfeF0wU5ozUGtUXMVsaMCf5EQQ3/RA\nt77M20FdmEW5c/waLSnMBtCfOGZ18Kl8k63XPGpWpPj2DB+BvhAXDYdYDagS\n2tjr4XJATngWnD4ykzhrmbdY10iQm9jrz/38jVrTZU2/gNL9qB0g6tKtg8sh\nOrhXVHy/Icb3/QwEbVnFiZxCaoCrFH8BPOZeQHhpLhpVuRuPII3afRe1N9Is\n8ofkDwNGCA6c67M9bH6LnMKz3Yf1vxpyQPt/zTeell8COgL+gQo9ciRiutTZ\nIz6CLeyiT5POZP+9oG7ZTbB/8D6fGvWMGYXVDeLtLo0Eo2UPq0/nttBLrHJX\nHbldQhxtTX42CYdCkBoUGYatXe1+Qf71HgWvTSRVAg5NQPVgKcsp6TCgDOGF\nC3szGxasDD245MgN4OSQTqLRlLq2qScuEcrVAWtJbUsm9u5l8IttTKpGPH9y\nQ9KnQnsadILMpn+eSqVeyI1y1Sap4pMTpXiPe/Qm31KadOm9nfpEkXxyHVFS\neVmJxBpAVU4MlQIYbdPonSabjeQ8/p8ukRbaFyYOgX5Og+zH/mo3s4cHanS7\nxtpd\r\n=wSyM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDvAGOHCaW6lLlyopb1l+n91vp2Y9YBuicwOIfZIYxrFAiEA9YNljCPkewZFFfjbClAz6wkg/zxUet6mcpzPIc0N63o="}]},"maintainers":[{"name":"jhermsmeier","email":"jhermsmeier@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gpt_2.0.1_1555502665578_0.8671638225453167"},"_hasShrinkwrap":false},"2.0.2":{"name":"gpt","version":"2.0.2","license":"MIT","description":"GUID Partition Table (GPT)","keywords":["GUID","partition","table","GPT","disk","hdd"],"author":{"name":"Jonas Hermsmeier","email":"jhermsmeier@gmail.com","url":"https://github.com/jhermsmeier"},"main":"lib/gpt","scripts":{"test":"mocha","benchmark":"matcha"},"dependencies":{"cyclic-32":"^1.1.0"},"devDependencies":{"matcha":"^0.7.0","mbr":"^1.1.3","mocha":"^5.2.0"},"repository":{"type":"git","url":"git+https://github.com/jhermsmeier/node-gpt.git"},"bugs":{"url":"https://github.com/jhermsmeier/node-gpt/issues"},"homepage":"https://github.com/jhermsmeier/node-gpt#readme","directories":{"test":"test"},"gitHead":"72c482e2985c48be9b52b7aa130f51ac9c9b2a03","_id":"gpt@2.0.2","_nodeVersion":"11.14.0","_npmVersion":"6.7.0","_npmUser":{"name":"jhermsmeier","email":"jhermsmeier@gmail.com"},"dist":{"integrity":"sha512-ZeXRFQLFaLhwRk9Xf1fQUqUG8112Nz7CvF8WOdtgW6iq3rB0EnCd0zkiEylYzUbqGhWe0joViRd4BR12JKtWwQ==","shasum":"fa6589d3be438efde602b86f54db3497059d3037","tarball":"https://registry.npmjs.org/gpt/-/gpt-2.0.2.tgz","fileCount":7,"unpackedSize":32659,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJctxjmCRA9TVsSAnZWagAABmoP/2vzN+1kfxHK9gEWBaJ5\nauyoo4Ivh/Mt/LNK8g1etBzF476MGfVQsRfW8QWg1L5s+3c0WZgILf3siONZ\ncUnkje4hwP609eTQmL7W79E4YtvhoSre62+Bnj8xS/FnlITxGE/WKovv2TAY\n05OfCy+GkoQzaPPGpt5R5BfROpp3yebLzCQKn+03ZQXQ1Gi6eyixgesWD8lk\nvZK5aDGBBAiahljDU+TutV7hCG1SUqU2umTP3bDNgAPqfS/VoKq2Sd/VSdKy\njeZeaVne8bw1M65UH+zRlJk0ckiFvpT7lmnWyYsZ0dBBtZJxNDjnEz/CvHnk\nDAXt8fhOHMrqtlFs84sLKl8QrP3JRHliigAm08oD3RZmY5CQqfF/wQo2hYu3\n8ONjPk9yKKnR3QQ2bXYxpUtCwfWk+59yK9Hqm1hednvrstBb/wdCnzEHIC6d\nL5OP6aH4kE7nApgFS/w3NuEdMzGc1EQ2EdZDuDzHvNpnnf82Nv1AsfKAuYx7\nfcmkBw1x3MVjjnIRWWt8HuOMH2lKVEa/Fa/WUDO6r4S8bqm1OO1ln8Mm+wlQ\nN+mfTNampxc65dy50daQt5I9pQPAWxlRR9Xs3YV9hUpmFfFZHK38k6S9v08g\nWAI4yp0RYODffwiBTMi2rF604YjAuE/IjenBszei4FBk+utbP6i2YcoguasC\nkiE8\r\n=jIkc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCGr3qHTlphmJuWrcGuNqIy2llB3u4KRvNVwYPwTdBwSAIgA8plLcdQX4sgawwRaan4BGpl8+BtjV7ROG3jFWtuvjQ="}]},"maintainers":[{"name":"jhermsmeier","email":"jhermsmeier@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gpt_2.0.2_1555503333626_0.8634540225446605"},"_hasShrinkwrap":false},"2.0.3":{"name":"gpt","version":"2.0.3","license":"MIT","description":"GUID Partition Table (GPT)","keywords":["GUID","partition","table","GPT","disk","hdd"],"author":{"name":"Jonas Hermsmeier","email":"jhermsmeier@gmail.com","url":"https://github.com/jhermsmeier"},"main":"lib/gpt","scripts":{"test":"mocha","benchmark":"matcha"},"dependencies":{"cyclic-32":"^1.1.0"},"devDependencies":{"matcha":"^0.7.0","mbr":"^1.1.3","mocha":"^5.2.0"},"repository":{"type":"git","url":"git+https://github.com/jhermsmeier/node-gpt.git"},"bugs":{"url":"https://github.com/jhermsmeier/node-gpt/issues"},"homepage":"https://github.com/jhermsmeier/node-gpt#readme","directories":{"test":"test"},"gitHead":"93a4e331147aeda8a1ea3cdb6948b5ae52be4ff7","_id":"gpt@2.0.3","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","_npmUser":{"name":"jhermsmeier","email":"jhermsmeier@gmail.com"},"dist":{"integrity":"sha512-/l+ADf8Tso2AANrrMpMjZUscSG/AFT80yeo69MDn5I/O8efD+EZvZgLg0v4jyTeN8sUxpIEnACmQM8iGOfiThA==","shasum":"b5427ca438551eb0d3a73e8224d0c166fb66e44b","tarball":"https://registry.npmjs.org/gpt/-/gpt-2.0.3.tgz","fileCount":7,"unpackedSize":33752,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8zgmCRA9TVsSAnZWagAAdzEQAIDJ37ILNYS/3rjxVb05\n0uX1Bzs2IbgJIEn8TE8xbrP4MRv80ExGzm7IylqB0SS9xDDifAcozOtbPErc\n0nYkyBHI5seJtj1zxV2GMi7sNmjtYulu/b7kWIf4Senq8icuVqtcbCx+m87f\n50YADzkIJ29fu5Wryhva5b2QB577dQIJ7k95WPNQGnU28cw3rNLOvYUc/guB\n9OGuDxqdozJ2K/rvxPNeNSj0uhvC2yS/6AzuuyzSc/zufOiLM9gIBQ/DUjMR\nR2QihSLYFtl50gA7gwrSnAa00IlXEw3zpbWK8M7VYgNQzkBH5XPyIfWbpTm3\nM5W3GKNDCgjwlpn5PF4mBJ4u5bxkCFOCuOUwBLjUezHdQ7koHXlW+v9K5ZSS\nnQrbX0F+sFjHgkkzPKR/V8jcjrS7ansY8Yt0ua2BdfZFCpIuRBZRdvsrN7FK\nsxT2qZRuhwBwP147vV7ZT/5e/riaOpw2v86ky2g7GQezW463vhySHVMS+ejp\nGee+ytEm4QEiOrNM2ufgVivM/oCPONQWS7+TUliok2CLMmBlsWKBD2aVF5Lt\n5tY3qIzMx6LlXpppqxn9RsnmRFnAkQftlDiCyMY0resNgWPG+722CXtBOKeR\nmI0fY5haXp6kuJpSqxpIZlIUtn70VWLVXBAspyLYcUjJGe5LeXt/KmKaRKVn\nZ8Sv\r\n=BPl7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHOwmQhqNGkD+vQyKHNY9/WCi7TPyB+5mdmEP6Fq2utTAiEAr9BJ/8LLsiGDCds9E+svcZW9n9ZZk6ii1U5RuP+Sw7A="}]},"maintainers":[{"name":"jhermsmeier","email":"jhermsmeier@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gpt_2.0.3_1592997926327_0.2965516324259019"},"_hasShrinkwrap":false},"2.0.4":{"name":"gpt","version":"2.0.4","license":"MIT","description":"GUID Partition Table (GPT)","keywords":["GUID","partition","table","GPT","disk","hdd"],"author":{"name":"Jonas Hermsmeier","email":"jhermsmeier@gmail.com","url":"https://github.com/jhermsmeier"},"main":"lib/gpt","scripts":{"test":"mocha","benchmark":"matcha"},"dependencies":{"cyclic-32":"^1.1.0"},"devDependencies":{"matcha":"^0.7.0","mbr":"^1.1.3","mocha":"^5.2.0"},"repository":{"type":"git","url":"git+https://github.com/jhermsmeier/node-gpt.git"},"bugs":{"url":"https://github.com/jhermsmeier/node-gpt/issues"},"homepage":"https://github.com/jhermsmeier/node-gpt#readme","directories":{"test":"test"},"gitHead":"4a2455745eeea847c62136cbf148c33a916b7fcf","_id":"gpt@2.0.4","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","_npmUser":{"name":"jhermsmeier","email":"jhermsmeier@gmail.com"},"dist":{"integrity":"sha512-gCibB52dZAjDeyuAJE158FfVYpMa8poCBMYvNXCwDvZJ0+5D0YpP1hZ/KYtWpQyXu18ddoQoqj+FGnbyq2qhKw==","shasum":"e5a60fa2bbae35a0fda4991e33f65e7bcfae8afe","tarball":"https://registry.npmjs.org/gpt/-/gpt-2.0.4.tgz","fileCount":7,"unpackedSize":33254,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8zqxCRA9TVsSAnZWagAAwBwQAIoBXsaz3WpQ0mvaj3bt\nHNbEDMWZtm6jGOqd9lTN11BkRj7M1781/55xLg1Ob9Z0KWQZkFbBQXixz8sJ\nEzzyg4oCgp7F/jmE5B9OIi9TWMwgiARGSIajEUbIqk7ne37UDNHD1TkmKySU\nVaqsmrCwkETzvdQiTeX+tFe9tdlvpMCTsuC3mYANOqaFQi3yZjM67nCRQKjM\n20eS7SQLgrAdkR8NwS6sb81SRsDFRcr3AnoslgS8NowFrXkDJ030nFxwHsyY\nCk360rOOBhqj5bwTlp91ux18wsO9HLzd/Hb3b4Mtl5zTjLb8MmjG7aUhGWve\nOZeb4Lkm33ynyKoU2fC9a6Pdi+TLwMT7GnZ2NYjGWiAQlvb2ZKW7PFuUxJOa\n6htT98LNVYVqcZuPuzwA6JrjkJKWX/n6+R3RT92IJe/LBHmsER50Jbsnh8h7\ntoOCnBtH/EHvBkFsRqv8GDum6I8jJ7460w7jcUWynRS1C6bNaliKRYwu0x7+\nWQsvfO6oxxCYH+ByH/piODc6DPlvohbuNxi+TIldJdARV0PI6l00aOJNrIrd\ndV4admWBYRtuTY1VRI1GbfRmUNHAQBMziolQKw41szV8Q+oaQLMKYou3FcEI\nCMQKxr+96+x6ATLglv2j+kraLLflbbMwWmG2ALHehvQZ0MiuB+yBDqbMmJcl\nrv9B\r\n=pAac\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICYrpWhoViPB9AIy/MooMr8HcISYvEIk0b43VopO5xcuAiEAwwavGn8lIIoAboojehdK4i3WlwEFNTrP71Czdcm62zs="}]},"maintainers":[{"name":"jhermsmeier","email":"jhermsmeier@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gpt_2.0.4_1592998576764_0.572492696497956"},"_hasShrinkwrap":false},"3.0.0":{"name":"gpt","version":"3.0.0","license":"MIT","description":"GUID Partition Table (GPT)","author":{"name":"Jonas Hermsmeier","email":"jhermsmeier@gmail.com","url":"https://github.com/jhermsmeier"},"homepage":"https://github.com/jhermsmeier/node-gpt#readme","keywords":["GUID","partition","table","GPT","disk","hdd"],"repository":{"type":"git","url":"git+https://github.com/jhermsmeier/node-gpt.git"},"bugs":{"url":"https://github.com/jhermsmeier/node-gpt/issues"},"main":"lib/gpt","scripts":{"benchmark":"node benchmark","test":"control test"},"dependencies":{"cyclic-32":"1.2.0"},"devDependencies":{"@jhermsmeier/control":"2.0.0","mbr":"1.1.3","nanobench":"2.1.1"},"_id":"gpt@3.0.0","contributors":[{"name":"Jonas Hermsmeier","email":"jhermsmeier@gmail.com"},{"name":"Arnaud Rebillout","email":"arnaud.rebillout@collabora.com"},{"name":"Andrew Scheller","email":"github@loowis.durge.org"},{"name":"Alexis Svinartchouk","email":"alexis@resin.io"}],"gitHead":"beb95109cc07cebd9eed42db09f8df8071a6c6a8","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-YFtLqV8YOjiBdKlb/Cy6ZDabcKEaUqremef4C/0cGhCXLbnUNIaIw5wVE2IBvrVQAY9dPLiwEo7voj4Z+yTyTQ==","shasum":"cef4e84cbd0b9bf76385b919184e0d0fcc9306d5","tarball":"https://registry.npmjs.org/gpt/-/gpt-3.0.0.tgz","fileCount":7,"unpackedSize":32937,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAJpfeB0tKeVhJxi7McZUftskLW5EfryWoaL9LJwa5JVAiB4k6pkTs1goeMqBXpMws5BS/wPi+p1PNrThUAcXWdFLA=="}]},"_npmUser":{"name":"jhermsmeier","email":"jhermsmeier@gmail.com"},"directories":{},"maintainers":[{"name":"jhermsmeier","email":"jhermsmeier@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gpt_3.0.0_1708648844536_0.6564679519248249"},"_hasShrinkwrap":false}},"readme":"# GPT - GUID Partition Table\n[![npm](https://img.shields.io/npm/v/gpt.svg?style=flat-square)](https://npmjs.com/package/gpt)\n[![npm license](https://img.shields.io/npm/l/gpt.svg?style=flat-square)](https://npmjs.com/package/gpt)\n[![npm downloads](https://img.shields.io/npm/dm/gpt.svg?style=flat-square)](https://npmjs.com/package/gpt)\n[![build status](https://img.shields.io/travis/jhermsmeier/node-gpt.svg?style=flat-square)](https://travis-ci.org/jhermsmeier/node-gpt)\n\n## Install via [npm](https://npmjs.com)\n\n```sh\n$ npm install --save gpt\n```\n\n## Used by\n\n- **[Etcher](https://github.com/resin-io/etcher)** to flash OS images to SD cards & USB drives\n- [resin-io-modules](https://github.com/resin-io-modules) / **[partitioninfo](https://github.com/resin-io-modules/partitioninfo)** to get information about partitions in a disk image\n\n## Related Modules\n\n- [mbr](https://github.com/jhermsmeier/node-mbr) – Parse / construct Master Boot Records\n- [apple-partition-map](https://github.com/jhermsmeier/node-gpt) – Parse / construct Apple Partition Maps\n- [blockdevice](https://github.com/jhermsmeier/node-blockdevice) – Read from / write to block devices\n- [disk](https://github.com/jhermsmeier/node-disk) – Disk / image toolbox\n\n## What can I do with this?\n\n- Format disks / images\n- Fix a partition table, recover a deleted partition\n- Recover the GUID Partition Table from its backup\n- Locate partitions which are inaccessible / ignored by the OS\n- Verify the integrity of the primary GPT against its backup\n\n## Usage\n\n```js\nvar GPT = require( 'gpt' )\n```\n\n**NOTE:** For brevity in the examples, error handling may be omitted, and synchronous methods used.\n\n### Examples\n\nThe following usage examples are consolidated into [example/verify.js] and runnable, where `device` would be a block device (i.e. `/dev/rdisk2` on Mac OS, `\\\\.\\PhysicalDrive2` on Windows, or `/dev/sdb` on Linux);\n\n[example/verify.js]: https://github.com/jhermsmeier/node-gpt/blob/master/example/inspect.js\n\n```console\nsudo node example/verify.js <device>\n```\n\n<details>\n<summary>Example output</summary>\n\n```js\nMaster Boot Record: MODERN {\n  physicalDrive: 0,\n  timestamp: { seconds: 0, minutes: 0, hours: 0 },\n  signature: 0,\n  copyProtected: false,\n  partitions:\n   [ Partition {\n       status: 0,\n       type: 238,\n       sectors: 60751871,\n       firstLBA: 1,\n       firstCHS: CHS { cylinder: 1023, head: 255, sector: 62 },\n       lastCHS: CHS { cylinder: 1023, head: 255, sector: 62 } },\n     Partition {\n       status: 0,\n       type: 0,\n       sectors: 0,\n       firstLBA: 0,\n       firstCHS: CHS { cylinder: 0, head: 0, sector: 0 },\n       lastCHS: CHS { cylinder: 0, head: 0, sector: 0 } },\n     Partition {\n       status: 0,\n       type: 0,\n       sectors: 0,\n       firstLBA: 0,\n       firstCHS: CHS { cylinder: 0, head: 0, sector: 0 },\n       lastCHS: CHS { cylinder: 0, head: 0, sector: 0 } },\n     Partition {\n       status: 0,\n       type: 0,\n       sectors: 0,\n       firstLBA: 0,\n       firstCHS: CHS { cylinder: 0, head: 0, sector: 0 },\n       lastCHS: CHS { cylinder: 0, head: 0, sector: 0 } } ],\n  code:\n   [ Code {\n       offset: 0,\n       data:\n        <Buffer 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... > },\n     Code {\n       offset: 224,\n       data:\n        <Buffer 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... > } ] }\n\nEFI Parition: Partition {\n  status: 0,\n  type: 238,\n  sectors: 60751871,\n  firstLBA: 1,\n  firstCHS: CHS { cylinder: 1023, head: 255, sector: 62 },\n  lastCHS: CHS { cylinder: 1023, head: 255, sector: 62 } }\n\nPrimary: GPT {\n  blockSize: 512,\n  guid: 'D871C3D8-25BA-4792-BE54-171138CFA926',\n  revision: 65536,\n  headerSize: 92,\n  headerChecksum: 1129732062,\n  currentLBA: 1,\n  backupLBA: 60751871,\n  firstLBA: 34,\n  lastLBA: 60751838,\n  tableOffset: 2,\n  entries: 128,\n  entrySize: 128,\n  tableChecksum: 4191805727,\n  partitions:\n   [ PartitionEntry {\n       type: 'C12A7328-F81F-11D2-BA4B-00A0C93EC93B',\n       guid: 'BC7E4D81-59CC-40A6-84BF-43253C95AE0D',\n       name: 'EFI System Partition',\n       firstLBA: 40,\n       lastLBA: 409639,\n       attr: 0 },\n     PartitionEntry {\n       type: 'EBD0A0A2-B9E5-4433-87C0-68B6B72699C7',\n       guid: '1885EDDC-5F6E-45CD-8C5C-E0485563F3CC',\n       name: '',\n       firstLBA: 411648,\n       lastLBA: 60749823,\n       attr: 0 } ] }\n\nBackup: GPT {\n  blockSize: 512,\n  guid: 'D871C3D8-25BA-4792-BE54-171138CFA926',\n  revision: 65536,\n  headerSize: 92,\n  headerChecksum: 4122036460,\n  currentLBA: 60751871,\n  backupLBA: 1,\n  firstLBA: 34,\n  lastLBA: 60751838,\n  tableOffset: 60751839,\n  entries: 128,\n  entrySize: 128,\n  tableChecksum: 4191805727,\n  partitions:\n   [ PartitionEntry {\n       type: 'C12A7328-F81F-11D2-BA4B-00A0C93EC93B',\n       guid: 'BC7E4D81-59CC-40A6-84BF-43253C95AE0D',\n       name: 'EFI System Partition',\n       firstLBA: 40,\n       lastLBA: 409639,\n       attr: 0 },\n     PartitionEntry {\n       type: 'EBD0A0A2-B9E5-4433-87C0-68B6B72699C7',\n       guid: '1885EDDC-5F6E-45CD-8C5C-E0485563F3CC',\n       name: '',\n       firstLBA: 411648,\n       lastLBA: 60749823,\n       attr: 0 } ] }\n\n[OK]\n```\n\n</details>\n\n### Finding the EFI Partition\n\nThe indicator for a GPT formatted device is a protective or hybrid Master Boot Record, containing a partition marked with a type of either `0xEE` or `0xEF` respectively. Thus we need to read & parse the MBR to determine whether a GPT is present or not:\n\n```js\nvar MBR = require( 'mbr' )\n```\n\n```js\nfunction readMBR() {\n  var buffer = Buffer.alloc( 512 )\n  fs.readSync( fd, buffer, 0, buffer.length, 0 )\n  return MBR.parse( buffer )\n}\n\nvar mbr = readMBR()\nvar efiPart = mbr.getEFIPart()\n\nif( efiPart == null ) {\n  console.log( 'No EFI partition found' )\n}\n```\n\n### Reading the Primary GPT\n\n```js\nfunction readPrimaryGPT( efiPart ) {\n  \n  // NOTE: You'll need to know / determine the logical block size of the storage device;\n  // For the sake of brevity, we'll just go with the still most common 512 bytes\n  var gpt = new GPT({ blockSize: 512 })\n  \n  // NOTE: For protective GPTs (0xEF), the MBR's partitions\n  // attempt to span as much of the device as they can to protect\n  // against systems attempting to action on the device,\n  // so the GPT is then located at LBA 1, not the EFI partition's first LBA\n  var offset = efiPart.type == 0xEE ?\n    efiPart.firstLBA * gpt.blockSize :\n    gpt.blockSize\n  \n  // The default GPT is 33 blocks in length (1 block header, 32 block table)\n  var buffer = Buffer.alloc( 33 * gpt.blockSize )\n  \n  fs.readSync( fd, buffer, 0, buffer.length, offset )\n  \n  return GPT.parse( buffer )\n  \n}\n\nvar primaryGPT = readPrimaryGPT( efiPart )\n```\n\n**NOTE:** Reading & parsing a GPT like above will just work in most cases, but to cover all situations (i.e. padding between header & table, custom table entry sizes, etc.), see the **\"Accounting for everything\"** example below:\n\n<details>\n<summary><b>Accounting for everything</b></summary>\n\n```js\nfunction readPrimaryGPT( efiPart ) {\n  \n  // NOTE: You'll need to know / determine the logical block size of the storage device;\n  // For the sake of brevity, we'll just go with the still most common 512 bytes\n  var gpt = new GPT({ blockSize: 512 })\n  \n  // NOTE: For protective GPTs (0xEF), the MBR's partitions\n  // attempt to span as much of the device as they can to protect\n  // against systems attempting to action on the device,\n  // so the GPT is then located at LBA 1, not the EFI partition's first LBA\n  var offset = efiPart.type == 0xEE ?\n    efiPart.firstLBA * gpt.blockSize :\n    gpt.blockSize\n  \n  // First, we need to read & parse the GPT header, which will declare various\n  // sizes and offsets for us to calculate where & how long the table and backup are\n  var headerBuffer = Buffer.alloc( gpt.blockSize )\n  \n  fs.readSync( fd, headerBuffer, 0, headerBuffer.length, offset )\n  gpt.parseHeader( headerBuffer )\n  \n  // Now on to reading the actual partition table\n  var tableBuffer = Buffer.alloc( gpt.tableSize )\n  var tableOffset = gpt.tableOffset * gpt.blockSize\n  \n  fs.readSync( fd, tableBuffer, 0, tableBuffer.length, tableOffset )\n  \n  // We need to parse the first 4 partition entries & the rest separately\n  // as the first 4 table entries always occupy one block,\n  // with the rest following in subsequent blocks\n  gpt.parseTable( tableBuffer, 0, gpt.blockSize )\n  gpt.parseTable( tableBuffer, gpt.blockSize, gpt.tableSize )\n  \n  return gpt\n  \n}\n\nvar primaryGPT = readPrimaryGPT( efiPart )\n```\n\n</details>\n\n### Reading the Backup GPT\n\n```js\nfunction readBackupGPT(primaryGPT) {\n  \n  var backupGPT = new GPT({ blockSize: primaryGPT.blockSize })\n  var buffer = Buffer.alloc( 33 * primaryGPT.blockSize )\n  var offset = ( ( primaryGPT.backupLBA - 32 ) * blockSize )\n  \n  fs.readSync( fd, buffer, 0, buffer.length, offset )\n  backupGPT.parseBackup( buffer )\n  \n  return backupGPT\n  \n}\n\nvar backupGPT = readBackupGPT(primaryGPT)\n```\n\n<details>\n<summary><b>Accounting for everything</b></summary>\n\n```js\nfunction readBackupGPT(primaryGPT) {\n  \n  var backupGPT = new GPT({ blockSize: primaryGPT.blockSize })\n  \n  return backupGPT\n  \n}\n\nvar backupGPT = readBackupGPT(primaryGPT)\n```\n\n</details>\n\n### Verifying the GPT\n\n```js\n// Check header & table checksums for primary and backup GPT\nvar isPrimaryValid = primaryGPT.verify() // true\nvar isBackupValid = backupGPT.verify() // true\n\n// Compare primary & backup GPT table checksums to\n// verify both are in the same state\n// NOTE: If there's a `gpt.headerChecksum` match, something's wrong,\n// as the primary and backup should refer to each other in offsets\nvar checksumsMatch = primaryGPT.tableChecksum === backupGPT.tableChecksum &&\n  primaryGPT.headerChecksum !== backupGPT.headerChecksum\n\nif( isPrimaryValid && isBackupValid && checksumsMatch ) {\n  console.log('Everything\\'s alright')\n}\n```\n\n### Creating a GPT\n\n```js\nvar gpt = new GPT({\n  // The block size of the device\n  // the GPT will be written to\n  // (optional, defaults to 512)\n  blockSize: 512,\n  // The GUID of the GPT (needs to be generated when creating)\n  guid: '00000000-0000-0000-0000-000000000000'\n  // Header size in bytes\n  // (min. 92, defaults to 92)\n  headerSize: 92,\n  // LBA of current GPT copy\n  currentLBA: 1n,\n  // LBA of backup GPT\n  backupLBA: 123456n,\n  // LBA of first \"user-space\" block\n  firstLBA: 34n,\n  // LBA of last \"user-space\" block\n  lastLBA: 556789n,\n  // LBA of partition table\n  // (defaults to 2)\n  tableOffset: 2n,\n  // Number of partition entries\n  // (min. 128, defaults to 128)\n  entries: 128,\n  // Size of partition entry in bytes\n  // (defaults to 128)\n  entrySize: 128,\n})\n```\n\n```js\ngpt.partitions.push( new GPT.PartitionEntry({\n  type: 'C12A7328-F81F-11D2-BA4B-00A0C93EC93B',\n  guid: 'BC7E4D81-59CC-40A6-84BF-43253C95AE0D',\n  name: 'EFI System Partition',\n  firstLBA: 40n,\n  lastLBA: 409639n,\n}))\n```\n\n### Writing the GPT\n\nYou can either let the module create the buffers for you;\n\n```js\nvar primaryGPTBuffer = gpt.write()\nvar backupGPTBuffer = gpt.writeBackupFromPrimary()\n```\n\nOr pass in a buffer & optional offset (i.e. to write MBR & primary GPT in one go);\n\n```js\nvar buffer = Buffer.alloc( blockSize + ( 33 * blockSize ) )\nvar backupGPTBuffer = Buffer.alloc( 33 * blockSize )\n\nmbr.write( buffer )\n\ngpt.write( buffer, blockSize )\ngpt.writeBackupFromPrimary( backupGPTBuffer )\n```\n\n```js\n// Write out MBR & primary GPT\nfs.writeSync( fd, buffer, 0, buffer.length, 0 )\n\n// Write out backup GPT to end of device\n// NOTE: remeber to set `gpt.backupLBA` accordingly\nfs.writeSync( fd, backupGPTBuffer, 0, backupGPTBuffer.length, gpt.backupLBA * blockSize )\n```\n","maintainers":[{"name":"jhermsmeier","email":"jhermsmeier@gmail.com"}],"time":{"modified":"2024-02-23T00:40:45.520Z","created":"2014-01-07T14:22:55.531Z","0.1.0":"2014-01-07T14:22:55.531Z","0.2.0":"2014-11-27T20:51:49.762Z","0.3.0":"2014-12-13T19:08:48.287Z","0.4.0":"2014-12-17T13:33:24.371Z","0.4.1":"2015-01-28T15:18:36.000Z","0.5.0":"2015-11-04T23:32:47.394Z","1.0.0":"2016-10-04T17:05:01.255Z","2.0.0":"2018-06-05T11:35:27.633Z","2.0.1":"2019-04-17T12:04:25.757Z","2.0.2":"2019-04-17T12:15:33.745Z","2.0.3":"2020-06-24T11:25:26.480Z","2.0.4":"2020-06-24T11:36:16.940Z","3.0.0":"2024-02-23T00:40:44.677Z"},"homepage":"https://github.com/jhermsmeier/node-gpt#readme","keywords":["GUID","partition","table","GPT","disk","hdd"],"repository":{"type":"git","url":"git+https://github.com/jhermsmeier/node-gpt.git"},"author":{"name":"Jonas Hermsmeier","email":"jhermsmeier@gmail.com","url":"https://github.com/jhermsmeier"},"bugs":{"url":"https://github.com/jhermsmeier/node-gpt/issues"},"license":"MIT","readmeFilename":"README.md","contributors":[{"name":"Jonas Hermsmeier","email":"jhermsmeier@gmail.com"},{"name":"Arnaud Rebillout","email":"arnaud.rebillout@collabora.com"},{"name":"Andrew Scheller","email":"github@loowis.durge.org"},{"name":"Alexis Svinartchouk","email":"alexis@resin.io"}]}