{"_id":"@dcl/abgen-win32-arm64","_rev":"26-2ff69ed746a515b4ddab45123b08a9d7","name":"@dcl/abgen-win32-arm64","dist-tags":{"latest":"0.19.3"},"versions":{"0.0.1":{"name":"@dcl/abgen-win32-arm64","version":"0.0.1","_id":"@dcl/abgen-win32-arm64@0.0.1","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"dist":{"shasum":"482233235519314bf14a7c77d96da2264864765c","tarball":"https://registry.npmjs.org/@dcl/abgen-win32-arm64/-/abgen-win32-arm64-0.0.1.tgz","fileCount":1,"integrity":"sha512-0Azca9QEQz2QtuSSsV56BK9to1D9ShW7ebGoK4JyNpfV466nawOiQbNN33HXcQ/CTru1QLo5x4YsnkrX0RKZGQ==","signatures":[{"sig":"MEYCIQCtnXJNr8x7tOcB2xhnz6vOFyg2O5XlglLHkKOhvEIcAwIhAKHBrLH509a/pLWqfmBYd3YdIttfKgwkptrC4O+yegEc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":162},"_npmUser":{"name":"decentralandbot","email":"developers+npm@decentraland.org"},"_npmVersion":"11.16.0","description":"Placeholder to bootstrap Trusted Publishing; superseded by the first CI release.","directories":{},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-win32-arm64_0.0.1_1785427103797_0.3544450120530893","host":"s3://npm-registry-packages-npm-production"}},"0.14.1":{"name":"@dcl/abgen-win32-arm64","version":"0.14.1","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-win32-arm64@0.14.1","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"758e39a8c2e61b19608de54c84e4d8cf471ea0dd","tarball":"https://registry.npmjs.org/@dcl/abgen-win32-arm64/-/abgen-win32-arm64-0.14.1.tgz","fileCount":9,"integrity":"sha512-xoTy6DJoEwBa1LoKhe6jmAko2GNOytEcxpQ3ce5EyxB5Q9QgqG3tfjLQpbDLQpdAvsLXDq3rWp5L1rdsCxKXJA==","signatures":[{"sig":"MEUCICKDdvGowqQNWccYzP73N0QhSACRlTW0gI9usS1u3wv8AiEAxh4UkX7r/N+WiUC3yZz1oFuiYtKBzf7sQfbxDMo4jvY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-win32-arm64@0.14.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":38889700},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:718a5bf8-dde6-4914-ac14-db386dd627b4"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for win32 arm64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-win32-arm64_0.14.1_1785430038882_0.218016275260009","host":"s3://npm-registry-packages-npm-production"}},"0.14.2":{"name":"@dcl/abgen-win32-arm64","version":"0.14.2","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-win32-arm64@0.14.2","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"412a2a4daa47aa3b83d850fe5c4863c2d552d56b","tarball":"https://registry.npmjs.org/@dcl/abgen-win32-arm64/-/abgen-win32-arm64-0.14.2.tgz","fileCount":9,"integrity":"sha512-6GMlLm2a+/O0SksRtR6tQRhhqmbaSMlRPuyZauV2FwRWiv8zpX3Esa0VpnI3sAOG7AT7e/Y1+oJZjl1+H9bWdA==","signatures":[{"sig":"MEYCIQC6xpiLNGlqUxQzYarjzDC7OJ0YDlVRovilDbi80UqyLgIhANTiDkFiuHHDkDRnBwGTAiqcuF8bJdGiq078ZnVLHamR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-win32-arm64@0.14.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":38890724},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:718a5bf8-dde6-4914-ac14-db386dd627b4"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for win32 arm64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-win32-arm64_0.14.2_1785515806614_0.369335065668545","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@dcl/abgen-win32-arm64","version":"0.15.0","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-win32-arm64@0.15.0","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"7fb74b55c1ef8aaa575b00a9829efff0c1b979e5","tarball":"https://registry.npmjs.org/@dcl/abgen-win32-arm64/-/abgen-win32-arm64-0.15.0.tgz","fileCount":5,"integrity":"sha512-ilQc8KJRQ6PEhmL68j9KZw7MTEoxCWVE1sllWxxhA+1KpHUiCOK/2ovqfglJXOulMumOEqBug8/6YvOT6O4CWw==","signatures":[{"sig":"MEYCIQCRVk0EZhuyyqwfp8UpzHTb4tIP40srdOr/w1EvQkiEMQIhAI3jhc9gpprlpAwlrhVxF69RfmykdAuPLUx0Z/9t+fb5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-win32-arm64@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":39855577},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:718a5bf8-dde6-4914-ac14-db386dd627b4"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for win32 arm64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-win32-arm64_0.15.0_1785551154664_0.005735877263304934","host":"s3://npm-registry-packages-npm-production"}},"0.15.2":{"name":"@dcl/abgen-win32-arm64","version":"0.15.2","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-win32-arm64@0.15.2","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"b6981bf30f1bf110bf650093f74cccef6eb3eb53","tarball":"https://registry.npmjs.org/@dcl/abgen-win32-arm64/-/abgen-win32-arm64-0.15.2.tgz","fileCount":5,"integrity":"sha512-yL8d4dyS1F1TYuBhGbAGVjgzKw+pW3jkFksfqvgHoRyiHF7OaTMN8np6BHCbuPWbJHSuieBA03T3GXw08ycPhw==","signatures":[{"sig":"MEUCIAZHDh8pdAvYghG0nKuoE0dMx06cRn6/XWbmjEv8P2HQAiEArg9bGiDQ2Uo8ZQzaBKiQXoZRNYq6auzSg6EVIffZUco=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-win32-arm64@0.15.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":39834585},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:718a5bf8-dde6-4914-ac14-db386dd627b4"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for win32 arm64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-win32-arm64_0.15.2_1785766037178_0.08580285748422378","host":"s3://npm-registry-packages-npm-production"}},"0.15.3":{"name":"@dcl/abgen-win32-arm64","version":"0.15.3","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-win32-arm64@0.15.3","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"256d3dfb58a2ca14904990bc9401e411de975bb5","tarball":"https://registry.npmjs.org/@dcl/abgen-win32-arm64/-/abgen-win32-arm64-0.15.3.tgz","fileCount":6,"integrity":"sha512-1UrwTsnXh2mwEgzJPpaaIfBGs7oxujAvDenAlLn1VGNCCZ4G+92Qnv5xS3/by58q2QvxGbSTY8VE2FD3S7+YJQ==","signatures":[{"sig":"MEQCIAnhjWQiM2QSd9m/I1Blqer2ed8rh9AR4SGI56eSOdttAiArvZ1+To191IjGdAzXSNrQW/w0/0BqTcuVXqYh9rep+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-win32-arm64@0.15.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":39849197},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:718a5bf8-dde6-4914-ac14-db386dd627b4"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for win32 arm64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-win32-arm64_0.15.3_1785804972830_0.21597775567794875","host":"s3://npm-registry-packages-npm-production"}},"0.15.4":{"name":"@dcl/abgen-win32-arm64","version":"0.15.4","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-win32-arm64@0.15.4","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"79bdc07e76b895dcbe734d3a316a53dc9594dde9","tarball":"https://registry.npmjs.org/@dcl/abgen-win32-arm64/-/abgen-win32-arm64-0.15.4.tgz","fileCount":5,"integrity":"sha512-jBPLLikLk7ZkYGfbk98mcOgzYI8M4ii+hjTyXzc1pEWBbaUWWPfPjNc3XQhmuZzN23NYoth1WduAr/ddyGsl2A==","signatures":[{"sig":"MEUCIQCa1+rzOBR0a/6KQBu2fJZ2aBM0LbJTcBPgMKX8R9ElRwIgJ8I+jgR29YLqGOBZb27RCHHxnPhmw7okIvXjqIyVUhg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-win32-arm64@0.15.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":39812274},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:718a5bf8-dde6-4914-ac14-db386dd627b4"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for win32 arm64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-win32-arm64_0.15.4_1785840418979_0.5207301629210455","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@dcl/abgen-win32-arm64","version":"0.16.0","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-win32-arm64@0.16.0","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"e539d42e4f48f1e4b9f9847b369abe76d48a9601","tarball":"https://registry.npmjs.org/@dcl/abgen-win32-arm64/-/abgen-win32-arm64-0.16.0.tgz","fileCount":5,"integrity":"sha512-bq9J3apYUleNh+V428qWCkLfK1s6HGqorEZ9mCecWyqO2E2tKiu/nUANJzEDGbbtXStaEMOnUCMM6XOyWw8kdw==","signatures":[{"sig":"MEYCIQC+k8tVL3MHM3cRlNi9/cP0jvAsN34KKPI/qNcezVribwIhAMSAlBi/Ee3BbDMEuBMymvLfEZBdBvo0WjBzu5ZbGbCe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-win32-arm64@0.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":39790770},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:718a5bf8-dde6-4914-ac14-db386dd627b4"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for win32 arm64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-win32-arm64_0.16.0_1786695962295_0.060384110969224025","host":"s3://npm-registry-packages-npm-production"}},"0.16.2":{"name":"@dcl/abgen-win32-arm64","version":"0.16.2","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-win32-arm64@0.16.2","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"3a3b6e4726847e5dbba3e14397211d3611ab2f45","tarball":"https://registry.npmjs.org/@dcl/abgen-win32-arm64/-/abgen-win32-arm64-0.16.2.tgz","fileCount":5,"integrity":"sha512-WGEXUuneYY/0fHZHJCbxlrWa9h2IBIia63DHC7cJYoyGVhYeQInCpDjTTUR2GoVLDImGSB81gnDwlBRdX3S/0w==","signatures":[{"sig":"MEQCIC/6FSeppMuEg3NZNerYZ7N7lYeAG75+rFlGXmnWe7YIAiAUIIyFKsd8ptjQW0gLtdp3baI3KBmdADsKLXnAZb1kMg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-win32-arm64@0.16.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":39787255},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:718a5bf8-dde6-4914-ac14-db386dd627b4"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for win32 arm64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-win32-arm64_0.16.2_1786931760970_0.5641119761688329","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"@dcl/abgen-win32-arm64","version":"0.17.0","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-win32-arm64@0.17.0","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"572a59cad79e39640cc5a1ffbcc79936f1069251","tarball":"https://registry.npmjs.org/@dcl/abgen-win32-arm64/-/abgen-win32-arm64-0.17.0.tgz","fileCount":5,"integrity":"sha512-piMdKb5nU6IbbwgdmONbTVWLrdlTHhiHMfGMwXGouQ1cDNhk31O0swoWbMxOimiDIWkWYE/2R+8qcHSAYC4I5w==","signatures":[{"sig":"MEUCIQD2oRdqVtqlbBnRXmCnKIcd3IFzDEt9LNHOuKPSevatQAIgCOb76CGi+jcbBrgcZd6Yjna5paMiYlAPex4Nj8t68zE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-win32-arm64@0.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27997449},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:718a5bf8-dde6-4914-ac14-db386dd627b4"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for win32 arm64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-win32-arm64_0.17.0_1787251865787_0.640119325394324","host":"s3://npm-registry-packages-npm-production"}},"0.17.1":{"name":"@dcl/abgen-win32-arm64","version":"0.17.1","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-win32-arm64@0.17.1","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"9515121f2db12b082a755d5bdca7d8ebf7d4e8b0","tarball":"https://registry.npmjs.org/@dcl/abgen-win32-arm64/-/abgen-win32-arm64-0.17.1.tgz","fileCount":5,"integrity":"sha512-YDkFmuhqz4Zg9b/DZKNgNI+hnrFqO0vYTpyc2hInYqRzuIEWy0877/CzbujWgXpcc5GYO8wiCAJiRIoBwxv/ug==","signatures":[{"sig":"MEQCIHXb2fhQtFQ5+EoeooLbK6caVBDtN5uQtyuH/b+DzvCHAiBqnbaOpd7Y694ikdfo9rwkB+eFC3bsmYOvx0grFide8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-win32-arm64@0.17.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28004622},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:718a5bf8-dde6-4914-ac14-db386dd627b4"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for win32 arm64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-win32-arm64_0.17.1_1787267157045_0.747985251303892","host":"s3://npm-registry-packages-npm-production"}},"0.17.2":{"name":"@dcl/abgen-win32-arm64","version":"0.17.2","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-win32-arm64@0.17.2","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"dbd72ba2833c252c6f287841d2d2dc08c5fbf0fa","tarball":"https://registry.npmjs.org/@dcl/abgen-win32-arm64/-/abgen-win32-arm64-0.17.2.tgz","fileCount":4,"integrity":"sha512-CFTYT2JqD8eU7RPwdzR/lPyPmmNBVlf2M9cC5v9dWBzooFlQid8nT4YAkcjc4WZmiDRYs1Z/zdzGU9hmhiUvWA==","signatures":[{"sig":"MEYCIQC3xySW0icMR01P2Xs45dMIO/UmnQZ3qX6VCFaNDC6dSgIhAIiHM4Lq4vr6sWHiE84eGWsd1fTALC2dAQjpODW5+8C7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-win32-arm64@0.17.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28002921},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:718a5bf8-dde6-4914-ac14-db386dd627b4"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for win32 arm64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-win32-arm64_0.17.2_1787355929655_0.2530128532805962","host":"s3://npm-registry-packages-npm-production"}},"0.17.4":{"name":"@dcl/abgen-win32-arm64","version":"0.17.4","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-win32-arm64@0.17.4","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"72b5022cbdb646bc12e05b6d225adec37c9e74cc","tarball":"https://registry.npmjs.org/@dcl/abgen-win32-arm64/-/abgen-win32-arm64-0.17.4.tgz","fileCount":5,"integrity":"sha512-UxVMLPqspMxYZzBcZ9rEjgfwnHhXgQ2hAVaWF8mqjrLsdGSMmX+byvH2BjEyCWlOZOrlihVg6Rdf/4Jfow+fqw==","signatures":[{"sig":"MEMCIDi5dqiRaRnXAtCxwJ+6uDP6RRL8ihypjl/Bp2C0dqnwAh8zAbiEUNAO1xkUGK64D6qK5Ten6/gJNkzd0v0fh4Y4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-win32-arm64@0.17.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28071694},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:718a5bf8-dde6-4914-ac14-db386dd627b4"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for win32 arm64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-win32-arm64_0.17.4_1787417509343_0.14232785559408545","host":"s3://npm-registry-packages-npm-production"}},"0.17.5":{"name":"@dcl/abgen-win32-arm64","version":"0.17.5","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-win32-arm64@0.17.5","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"b2a761706056ae4e781602063ad69520b758371c","tarball":"https://registry.npmjs.org/@dcl/abgen-win32-arm64/-/abgen-win32-arm64-0.17.5.tgz","fileCount":5,"integrity":"sha512-adXLkfih5Vw2cspohCYw8oAt5qY5bFZGFPl6xjsfOAyHcIV+9V9C4XPkuiFZF8+zsa3QF7LZfN9fxiIMToMNhA==","signatures":[{"sig":"MEUCIHVJwaxudsJDXUP70mMYhy7K2eI9cNPTAth+K6f5hclSAiEAisnr3tusKO47KCoNdnLmljvM7FQH5w4fgah0ZCc+7Zs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-win32-arm64@0.17.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28196110},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:718a5bf8-dde6-4914-ac14-db386dd627b4"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for win32 arm64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-win32-arm64_0.17.5_1787433844064_0.16289842132742605","host":"s3://npm-registry-packages-npm-production"}},"0.17.6":{"name":"@dcl/abgen-win32-arm64","version":"0.17.6","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-win32-arm64@0.17.6","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"68b5322b8ad4d4f73c74305328b9da790a1c3c52","tarball":"https://registry.npmjs.org/@dcl/abgen-win32-arm64/-/abgen-win32-arm64-0.17.6.tgz","fileCount":5,"integrity":"sha512-tijLcFjP30hrE9HL74Z/d8k3MweBgZsIIm8zrOrDljZTZIL3sJOZp93cZZV3Y6v0vwYS60DiXGNiGqiWmEM/vA==","signatures":[{"sig":"MEYCIQDlW+2bpuHAbiwB6a9vv4BNqV8dwFMN0Z9C6VVvJHyA8AIhAK98X0bRUYVQCoxps3XeYeX56qooNAE/TXpW9pxhbfG/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-win32-arm64@0.17.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28326158},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:718a5bf8-dde6-4914-ac14-db386dd627b4"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for win32 arm64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-win32-arm64_0.17.6_1787448147941_0.4671277404347238","host":"s3://npm-registry-packages-npm-production"}},"0.17.7":{"name":"@dcl/abgen-win32-arm64","version":"0.17.7","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-win32-arm64@0.17.7","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"4aabcf7bb365f03b6f86e7b5020c2f89a888a9c7","tarball":"https://registry.npmjs.org/@dcl/abgen-win32-arm64/-/abgen-win32-arm64-0.17.7.tgz","fileCount":5,"integrity":"sha512-300u7dNYgTpxGPeDI+CBVDc83dCEfo+ylcnUqIhlAGBsV8BfnKzdyykdUTPrOyhlqDCYUnnCN5BVLI2qbbML1w==","signatures":[{"sig":"MEQCIGUtVS7qC9jjCRWHZ58Vj3YVsoLmi4wjaW6jId7tbbzPAiAukfn0MVA8U75WJjCMAOoKGbEACz/TV479HD83lusp4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-win32-arm64@0.17.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28390158},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:718a5bf8-dde6-4914-ac14-db386dd627b4"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for win32 arm64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-win32-arm64_0.17.7_1787591215776_0.15315596374032991","host":"s3://npm-registry-packages-npm-production"}},"0.17.8":{"name":"@dcl/abgen-win32-arm64","version":"0.17.8","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-win32-arm64@0.17.8","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"b8fac7b06b050f0a48d71328051fd46847817174","tarball":"https://registry.npmjs.org/@dcl/abgen-win32-arm64/-/abgen-win32-arm64-0.17.8.tgz","fileCount":5,"integrity":"sha512-988bvz6idrIDo5+jMAh0Jqz3a7C/qzdUufpH1W1CH1+cSqrXev5jTFg1hZuuss4Pey2cSNXa/Dc/KGN24zd9MA==","signatures":[{"sig":"MEUCIQCmeTp8nrEy88JQt710o0y04r1c/HX4es0+1PRaZv15iAIgV+WQkG5WsQJK6Io9ha10BDbbr9r+D8/yAzFIBANyV78=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-win32-arm64@0.17.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28393230},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:718a5bf8-dde6-4914-ac14-db386dd627b4"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for win32 arm64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-win32-arm64_0.17.8_1787678428604_0.40149953092254664","host":"s3://npm-registry-packages-npm-production"}},"0.17.10":{"name":"@dcl/abgen-win32-arm64","version":"0.17.10","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-win32-arm64@0.17.10","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"c1a136bd1c176a612f0a2eb81cd10e5c9959b366","tarball":"https://registry.npmjs.org/@dcl/abgen-win32-arm64/-/abgen-win32-arm64-0.17.10.tgz","fileCount":5,"integrity":"sha512-URJoW6kmKz0UCj8H/mO5yfhnT46CYAOK/WUorKVSGeIsGZJYnXAFCYHmg3uHECbfNi1F1JEvlJDVP1PzttYFCw==","signatures":[{"sig":"MEQCICD3LULr+Ze1naU1Z9PnYc/ENtF5UG15QDk6cISD4skzAiAWFBLK0GF/fF29rsMnnCkwla4B06ZAEf0kIDM1805Q0w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-win32-arm64@0.17.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28393233},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:718a5bf8-dde6-4914-ac14-db386dd627b4"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.1","description":"abgen prebuilt binary for win32 arm64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-win32-arm64_0.17.10_1788137210063_0.8761334365579962","host":"s3://npm-registry-packages-npm-production"}},"0.17.11":{"name":"@dcl/abgen-win32-arm64","version":"0.17.11","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-win32-arm64@0.17.11","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"7162f3c6cf94823240f15b27cbd3dc9933fb942b","tarball":"https://registry.npmjs.org/@dcl/abgen-win32-arm64/-/abgen-win32-arm64-0.17.11.tgz","fileCount":5,"integrity":"sha512-gZrdMmbxxANum4p6u+LjbVKTg315ItS+X1NLJH8G2QM7wMUFmsqWsig3cL1QdeAIpDIc4iCjMuiCeP1sAVUF8g==","signatures":[{"sig":"MEUCIBk8tWacDqMa5nh9B8Tog/hUzHSeHT3P7G+TpC57fY1DAiEA1k9Ata9yEqHsLmg2rTHmkpffZ6yI/Gbm3T/TNAr5q34=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-win32-arm64@0.17.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28393233},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:718a5bf8-dde6-4914-ac14-db386dd627b4"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.1","description":"abgen prebuilt binary for win32 arm64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-win32-arm64_0.17.11_1788203594918_0.3030889199576374","host":"s3://npm-registry-packages-npm-production"}},"0.17.12":{"name":"@dcl/abgen-win32-arm64","version":"0.17.12","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-win32-arm64@0.17.12","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"12f0301c0b24b79e7ddd848ce2f0e1d3986a7436","tarball":"https://registry.npmjs.org/@dcl/abgen-win32-arm64/-/abgen-win32-arm64-0.17.12.tgz","fileCount":5,"integrity":"sha512-D4v+QynpkGFlJqCVAsQybDS+Md5r4KiNkBAbz+QAjZuCWvpoXJSO3NlLV9JED12Z3l7YHwvI08yc8bkQPCVBdw==","signatures":[{"sig":"MEYCIQCAOBZZuyS/bo/UCuE1u8AjlMmRokVNRh+7pNxCjZOHoQIhAJ31PKdPX+nGqqW5mBLAP4kE442EWT9u2KGN/QqJBkSz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-win32-arm64@0.17.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28395793},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:718a5bf8-dde6-4914-ac14-db386dd627b4"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.1","description":"abgen prebuilt binary for win32 arm64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-win32-arm64_0.17.12_1788898344185_0.7124920447755403","host":"s3://npm-registry-packages-npm-production"}},"0.17.13":{"name":"@dcl/abgen-win32-arm64","version":"0.17.13","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-win32-arm64@0.17.13","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"faf8e20d93e1312ee5663385d0b4c1ff214e0c6a","tarball":"https://registry.npmjs.org/@dcl/abgen-win32-arm64/-/abgen-win32-arm64-0.17.13.tgz","fileCount":5,"integrity":"sha512-+1GMLeMxqtGtgNT/iYUhzbvy/m+L9/wAn+U7PWqllv14KblEmGjHLq54KG1v4TODG1NxPXQ+orI1iRgI/vnZlg==","signatures":[{"sig":"MEYCIQDWSnnAjdpyh+QWQHtr6HRRItXdJzrgHgOtp+ZY8tPBSgIhANqndXwt2wH2bYPUXiaaWe+wDOzgD/wTR7JLZ12wkSIz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-win32-arm64@0.17.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28395281},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:718a5bf8-dde6-4914-ac14-db386dd627b4"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.1","description":"abgen prebuilt binary for win32 arm64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-win32-arm64_0.17.13_1789347670306_0.42656474128748534","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"@dcl/abgen-win32-arm64","version":"0.18.0","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-win32-arm64@0.18.0","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"f205862858ebaa2c68a1a9ddec516ad84d661d33","tarball":"https://registry.npmjs.org/@dcl/abgen-win32-arm64/-/abgen-win32-arm64-0.18.0.tgz","fileCount":5,"integrity":"sha512-I1fv53ZOvcRLr9+HDPr4nWFs4BjehRzGtqAsYOYAwLv2VO+/9o2lzwXr578u+IMXeqsmDYEYMYM2dbzymlbFdA==","signatures":[{"sig":"MEUCIQDXE0kMYbyml7eRVIFE4ES1xOTOzjSiKj0WAdYH/W+wiAIgRyQIWxvgYRTb4qMFSX7xZoFsyTmKsNyK+zHln50SP9M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-win32-arm64@0.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27185903},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:718a5bf8-dde6-4914-ac14-db386dd627b4"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.1","description":"abgen prebuilt binary for win32 arm64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-win32-arm64_0.18.0_1789651061920_0.5649458370150444","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"@dcl/abgen-win32-arm64","version":"0.19.0","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-win32-arm64@0.19.0","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"4eb05cf81fa443621a2488660fc73fc2b0c5fee9","tarball":"https://registry.npmjs.org/@dcl/abgen-win32-arm64/-/abgen-win32-arm64-0.19.0.tgz","fileCount":5,"integrity":"sha512-RbOT61PbacN+2TKY/KztXb50+A7JqqAja5vtYs5WFyWwhKpc1n4ykcSUK7Zxdfsf/ZXAbvlwTF9N61VuzNxVGA==","signatures":[{"sig":"MEUCIQD424wTV0Udn6j2WURf5v/mjoQB6h36S0xS5XOUTWIWswIgcgDvhwB6QqIkE/6xN+GwfvJsWE/NsGABAgMt3m2fLNA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFYxI87Og4mAPkiBTo4i996HYzEndaaSZaS5KUhPwZwFAiACTHmR1MR3+c3pNVY5sSkdtLMp8C9VP/pheF4akxY1fg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-win32-arm64@0.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27253855},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:718a5bf8-dde6-4914-ac14-db386dd627b4"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.1","description":"abgen prebuilt binary for win32 arm64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-win32-arm64_0.19.0_1789999061671_0.5602087991232367","host":"s3://npm-registry-packages-npm-production"}},"0.19.1":{"name":"@dcl/abgen-win32-arm64","version":"0.19.1","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-win32-arm64@0.19.1","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"29474990a0b0f31a4c02ee4033342783b2459b20","tarball":"https://registry.npmjs.org/@dcl/abgen-win32-arm64/-/abgen-win32-arm64-0.19.1.tgz","fileCount":5,"integrity":"sha512-6AY+o07UkJkb9sqwTUbzflFDwmJYvWILRvB8XfvajahbzcLTZ1Y5cgrwidD70WH4rCMbpOuP+1MHLuDmVfyAmg==","signatures":[{"sig":"MEUCIC5WAn/G+nm5fHpj5fUocAF4lvOgKAer+vYxycL4UIuFAiEAzrMgtf6W+iHQ6gfNTK5CTp40blg4MT/5SBeHWRB3a6k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDsDvubxIylUoc8dEblSUIH5qSNyhCToZTreqt6t9B3SAiAZxQurWrUgRwxBabDZI05JKsmmmiFvKnGgyVDXtKkgRQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-win32-arm64@0.19.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27255391},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:718a5bf8-dde6-4914-ac14-db386dd627b4"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.1","description":"abgen prebuilt binary for win32 arm64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-win32-arm64_0.19.1_1790038682493_0.12344028868305346","host":"s3://npm-registry-packages-npm-production"}},"0.19.2":{"name":"@dcl/abgen-win32-arm64","version":"0.19.2","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-win32-arm64@0.19.2","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["win32"],"cpu":["arm64"],"dist":{"shasum":"0f5cb91e150f9d77c05641f2d51f5b3b669a7d9f","tarball":"https://registry.npmjs.org/@dcl/abgen-win32-arm64/-/abgen-win32-arm64-0.19.2.tgz","fileCount":5,"integrity":"sha512-l0uEud9z6g7Cym5PpTSEg0I7Bl2pp2GMoEonSBkY+cUFUI/gKLvytywkzqtSpMY+tzok7Fng8a6UKgmB6m2Omg==","signatures":[{"sig":"MEUCIFeU1cLwcG0XsFZQ3q+91X395mP5EVEWJx2EAxlK55GhAiEA20KdfwdvLs8SARJRwCPhnYgn44HC2yVShPsxnC5UllU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEBX/Zp9lcDDiTl8rhspScGBEpcoU6gBsEkQ98ckHmZsAiEArjvZOtSi3zpcz4ln14rLSaGEgz5k3xpL+IRJ3hpRw+I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-win32-arm64@0.19.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27255903},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:718a5bf8-dde6-4914-ac14-db386dd627b4"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.1","description":"abgen prebuilt binary for win32 arm64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-win32-arm64_0.19.2_1790098893967_0.7895092225164742","host":"s3://npm-registry-packages-npm-production"}},"0.19.3":{"os":["win32"],"_id":"@dcl/abgen-win32-arm64@0.19.3","cpu":["arm64"],"bugs":{"url":"https://github.com/decentraland/abgen/issues"},"dist":{"shasum":"9ed688c2194e1d69221df42e4aa4299e15d7c26f","tarball":"https://registry.npmjs.org/@dcl/abgen-win32-arm64/-/abgen-win32-arm64-0.19.3.tgz","fileCount":5,"integrity":"sha512-Pzg4JoAx81C10yaf45CRgS1v53nsKp+r6+oP9HtEV5JAx+SSbkXDfkpj2DSbi3uIgfTRM16e4x50j0BDkRYG0w==","signatures":[{"sig":"MEYCIQDbN85GVc3ug0OHGKhLTPeCskBRY933ht/7N6h6Vs/rqwIhAJwmN0wm/bLjuO4A9+nQSNOyCSP7JG065YYWIheKp4+m","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGz5V/AJnpa5EBJMJfEJdgFj5M0rcJtsKJxdHQ3YqvlbAiBcdksw623pq38dJUeimo41D70OZRSBkashOVFIy4GPwQ=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-win32-arm64@0.19.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28389983},"name":"@dcl/abgen-win32-arm64","license":"AGPL-3.0-or-later","version":"0.19.3","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"718a5bf8-dde6-4914-ac14-db386dd627b4"}},"homepage":"https://github.com/decentraland/abgen#readme","repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.20.0","description":"abgen prebuilt binary for win32 arm64 (installed by @dcl/abgen)","directories":{},"maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/abgen-win32-arm64_0.19.3_1790776348016_0.912525538739617"}}},"time":{"created":"2026-07-30T15:58:23.616Z","modified":"2026-09-30T13:52:29.100Z","0.0.1":"2026-07-30T15:58:23.933Z","0.14.1":"2026-07-30T16:47:19.232Z","0.14.2":"2026-07-31T16:36:46.963Z","0.15.0":"2026-08-01T02:25:55.012Z","0.15.2":"2026-08-03T14:07:17.596Z","0.15.3":"2026-08-04T00:56:13.217Z","0.15.4":"2026-08-04T10:46:59.304Z","0.16.0":"2026-08-14T08:26:02.627Z","0.16.2":"2026-08-17T01:56:01.327Z","0.17.0":"2026-08-20T18:51:06.088Z","0.17.1":"2026-08-20T23:05:57.416Z","0.17.2":"2026-08-21T23:45:29.945Z","0.17.4":"2026-08-22T16:51:49.716Z","0.17.5":"2026-08-22T21:24:04.353Z","0.17.6":"2026-08-23T01:22:28.228Z","0.17.7":"2026-08-24T17:06:56.093Z","0.17.8":"2026-08-25T17:20:28.921Z","0.17.10":"2026-08-31T00:46:50.380Z","0.17.11":"2026-08-31T19:13:15.370Z","0.17.12":"2026-09-08T20:12:24.517Z","0.17.13":"2026-09-14T01:01:10.622Z","0.18.0":"2026-09-17T13:17:42.239Z","0.19.0":"2026-09-21T13:57:41.916Z","0.19.1":"2026-09-22T00:58:02.801Z","0.19.2":"2026-09-22T17:41:34.226Z","0.19.3":"2026-09-30T13:52:28.243Z"},"bugs":{"url":"https://github.com/decentraland/abgen/issues"},"license":"AGPL-3.0-or-later","homepage":"https://github.com/decentraland/abgen#readme","repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"description":"abgen prebuilt binary for win32 arm64 (installed by @dcl/abgen)","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"readme":"# abgen\nStandalone Decentraland asset-bundle converter + ab-cdn-compatible JIT server. The converter is a\nclean-room Rust reimplementation of the legacy\n[asset-bundle-converter](https://github.com/decentraland/asset-bundle-converter): GLB/GLTF content from\nany catalyst content server in, Unity AssetBundles layout-compatible with the production\n`ab-cdn.decentraland.org` CDN out (byte-level parity posture in [PARITY.md](PARITY.md)). See\n[Provenance](#provenance).\n## Quick start\nPrebuilt binaries ship two ways: release archives on the tagged GitHub releases, and npm -\n`npx @dcl/abgen` runs the server directly (linux x64/arm64, windows x64/arm64, macOS x64/arm64; the platform\nbinary installs as an `optionalDependency` of `@dcl/abgen`, and `require('@dcl/abgen').binPath()`\nresolves it for embedding tools - see [npm/abgen](npm/abgen/README.md)). From source:\n```bash\ngit clone <this-repo> abgen && cd abgen\ncargo build --release            # no postgres, no openssl, no protobuf\ncargo build --release --examples # bundle dump tools (objdump/texdump/matdump)\nscripts/bootstrap-runtime.sh     # integrity-check the vendored runtime data\n```\nThere is also a wasm build: `crate/abgen-wasm/` compiles the converter to wasm32 — see its README.\n## Binaries\n`target/release/` after `cargo build --release`:\n\n| Bin | What |\n|---|---|\n| `abgen` | ab-cdn-compatible HTTP server: serves a corpus dir + JIT-converts misses |\n| `abgen-build` | single-file local converter CLI (glb -> bundle, `--expect-hash` verify) |\n| `abgen-corpus` | batch corpus builder: manifest / `--entity-ids` (add `--fetch-missing` to pull content from a catalyst) / `--world <name>[,...]` (resolve + fetch + convert a world; upstream via `--worlds-url` or `ABGEN_WORLDS_URL`) / `--live-mode` / `--collection-urn` / `--from-reference`; full-corpus runbook in [docs/BATCH.md](docs/BATCH.md) |\n| `abgen-verify` | parity differ (ours vs reference bundles, ppm-bits, `--tolerant`) |\n| `abgen-lod` | LOD lane CLI: `bundle`, `placements`, `assemble`, `atlas`, `simplify`, `generate`, `compare` (structural diff of two LOD bundles: materials/textures/vertices/triangles plus a per-material property diff — shader, keywords, render queue, floats, clipping colours, texture bindings; local or CDN URL), `qualify-corpus` (Genesis City + Worlds corpus build; `--reference-cdn` records the same diff against production per scene) |\n| `abgen-lambda` | AWS Lambda handler (deployment event in, bundles + manifests to S3; from the `lambda/` workspace member) - see [lambda/README.md](lambda/README.md) |\n\nPlus bundle-inspection examples (`texdump`, `matdump`, `objdump`) under\n`target/release/examples/`.\n## Server\n```bash\nABGEN_CATALYST_URL=https://peer.decentraland.org/content ./target/release/abgen\ncurl -s localhost:5147/health | jq .   # expect template_ok:true, templates_missing:[]\n```\nServed routes - the full asset-bundle delivery surface an explorer needs:\n- `GET /manifest/{entity}_{platform}.json` - bundle manifest, JIT-converting on a miss\n- `GET /{version}/{cid}/{file}` - versioned bundle blobs (JIT on miss)\n- `GET /LOD/{level}/{file}` - classic per-scene LODs\n- `GET /lods-unity/manifests/*` - ISS LOD descriptors\n- `POST /entities/active`, `POST /entities/versions` - the asset-bundle registry index routes the explorer's registry client calls to resolve bundle versions\n- `GET /health`, `/readyz`, `/livez`, `/metrics`, `/ping`\n\nAn explorer can point both its asset-bundle CDN base and its registry base at this one host (what the\n`optimized-assets` client flag targets). The unsigned registry surface from the in-tree\n[`dcl-contents`](crate/dcl-contents) crate is always mounted (`POST /profiles`,\n`POST /profiles/metadata`, `GET /entities/status/{id}`, `GET /worlds/{world_name}/manifest`), sourced\nfrom a connected content DB or proxied from `ABGEN_CATALYST_URL`. The signed/write registry routes\n(`/denylist*`, `/queues/*`, `/registry`, `/flush-cache`) **do** mount, but only when\n`CONTENT_PG_CONNECTION_STRING` is set in URL form - so a converter deployment that leaves it unset\nserves none of them. Setting it exposes admin surface: gate it with `API_ADMIN_TOKEN` and\n`DENYLIST_MODERATORS`, and do not put it on a public listener unauthenticated. Route-by-route parity,\nheader semantics, and the DB-vs-proxy source selection: [docs/ROUTES.md](docs/ROUTES.md).\n## Tests\n```bash\nABGEN_ROOT=\"$PWD\" cargo test --workspace --lib -- --test-threads=1\n```\n`--test-threads=1` is required: the lib tests share process-wide `ABGEN_ROOT` state.\nLOD assembly frame conformance against the production `_1.glb` references: `cargo test --release\n--test lod_handedness` (offline fixtures; add `-- --ignored` to assemble from the catalyst).\n\n## wasm\n`crate/abgen-wasm/` compiles the converter lib (default features off) to `wasm32-unknown-unknown` behind\na hand-rolled C ABI; the JS runtime in `crate/abgen-wasm/js/` (worker pool + WebGPU bridge) is what a\nhost page embeds. It is a plain cargo package with its own committed `Cargo.lock`, excluded from the\nworkspace: nothing in CI or the release matrix ever needs a wasm toolchain (the pinned one lives in\n`crate/abgen-wasm/toolchain/flake.nix`). `crate/abgen-wasm/README.md` documents the build, the headless\ndriver, the native-vs-wasm byte-parity gate and its decoder contract. Layout caveat: this repo places\n`template/` at the repo root, while the wasm lane's helper scripts and the wasm32-only `include_bytes!`\ntemplate paths in `crate/src/builder/templates.rs` assume the source layout where it is a sibling of\nthe crate — an in-repo wasm32 build needs those relative paths bumped one level (`../../template/` ->\n`../../../template/`). No workspace target compiles for wasm32, so the divergence never touches CI.\n## Features\nThe default `server` feature builds the complete service. Reusable consumers should select only the lanes they need; the smallest native converter is `cargo build --release --lib --no-default-features`.\n\n| Feature | Adds | Enabled by |\n|---|---|---|\n| `server` (default) | HTTP/registry stack, `gpu`, `cli`, `web-pack`, and `scene-runtime` | `abgen` server |\n| `gpu` | native wgpu/CUDA dispatch | server, build/corpus/verify CLIs, Lambda |\n| `web-pack` | BV WebGPU pack emission plus DDS/glTF JSON dependencies | server, build/corpus CLIs |\n| `scene-runtime` | embedded QuickJS fallback for suspicious static LOD placements | server, LOD CLI, Lambda |\n| `cli` | tracing subscriber and CLI logging | server and LOD CLI |\n\n`crate/abgen-native`, `crate/abgen-node`, and converter WASM use no default features. The standalone `crate/wasm-gpu` package compiles the shared BC7/WebGPU source directly and does not depend on the full `abgen` graph; its worker ships only `gpu_init` and `gpu_encode`. Static CRDT placement interpretation remains available without `scene-runtime`; if that result is empty or suspicious, the minimal build fails explicitly instead of publishing an empty LOD.\n\nGPU backends self-qualify per device at enable time: the selected backend (`auto` tries CUDA, then\nwgpu) must reproduce the CPU BC7 encoder bit-for-bit on a probe matrix (sizes x srgb x perceptual x\nprofile, full mip chains) or it is disqualified and `--gpu`/`ABGEN_GPU=1` exits 2 instead of silently\ndegrading - a qualified GPU run produces byte-identical output to the CPU path. `ABGEN_GPU_QUALIFY=0`\nskips the probe.\n\nThe slim, async-free converter lib + CLIs are the `wasm32-unknown-unknown` target build (the server,\ncontent-DB, and GPU stacks are `cfg(not(target_arch = \"wasm32\"))`).\n## Toolchain\n- rustc/cargo (edition 2021; the vendored `draco_decoder` is edition 2024)\n- cc + a C++ toolchain (vendored crunch, libjpeg9c)\n- cmake + make (`draco_decoder` builds upstream draco C++; missing cmake is the #1 build failure)\n\nOn NixOS: `nix develop`, or `nix shell nixpkgs#cargo nixpkgs#rustc nixpkgs#gcc nixpkgs#gnumake\nnixpkgs#cmake nixpkgs#pkg-config`. No openssl (ureq uses rustls), no protobuf. Optional: libturbojpeg\n(dlopen'd, or set `TURBOJPEG_LIB=/path`); without it JPEG decode falls back to the vendored libjpeg9c\npath - valid output but not byte-parity with production; startup logs `turbojpeg_available`.\n## Platform matrix\n| Platform | Build |\n|---|---|\n| Linux x86_64 | native (`nix develop` or bare toolchain) |\n| macOS (Apple Silicon) | `nix develop` (clang stdenv) |\n| Windows | WSL2, checkout on the WSL filesystem |\n## Runtime data\nVendored in-repo and sha256-pinned; a fresh clone is zero-config. `scripts/bootstrap-runtime.sh`\nverifies the sha256 of both sets and, when a payload is missing, prints the git-history commands to\nrestore it - it never fetches or re-downloads:\n- `template/*.windows.bundle` - 4 typetree-donor bundles read by `builder.rs::load_template()`\n- `crate/shader/scene_ignore_{windows,mac}` - the compiled per-platform `DCL/Scene` shader bundles (the canonical ab-cdn URLs 404; the vendored copies are the source of truth, provenance in [PROVENANCE.md](PROVENANCE.md)). The server self-primes them on first request - no bucket pre-seeding step; the `lit_ignore_*`/texarray/linux shader names 404 by design (absent upstream too)\n## Environment variables\n### Server (`crate/src/abcdn/config.rs`)\n| Var | Default | Meaning |\n|---|---|---|\n| `ABGEN_HTTP_HOST` / `ABGEN_HTTP_PORT` | `127.0.0.1` / `5147` | bind address (legacy aliases `HTTP_SERVER_HOST` / `HTTP_SERVER_PORT` still honored) |\n| `ABGEN_OUT_ROOT` | `./data/ab-generator/out` | corpus root served + JIT write-back target (may start empty) |\n| `ABGEN_CATALYST_URL` | `http://127.0.0.1:5141/content` | content server (standalone: `https://peer.decentraland.org/content`) |\n| `ABGEN_CONTENT_DISK` | unset | optional local content-store root (disk-first client) |\n| `ABGEN_CACHE_DIR` | `./abgen-serve-cache` | JIT conversion cache |\n| `ABGEN_VERSION` | `v49` | advertised AB version |\n| `ABGEN_MANIFEST_CONTENT_SERVER_URL` | `https://peer.decentraland.org/content` | `contentServerUrl` stamped into manifests |\n| `ABGEN_ROOT` | repo root | root containing `template/` |\n| `ABGEN_METRICS_BEARER_TOKEN` | unset | if set, `/metrics` requires this bearer token |\n| `ABGEN_JIT_FAIL_TTL_S` | `60` | failure negative-cache TTL for entity JIT builds; concurrent identical requests single-flight per `{entity}:{platform}` |\n| `ABGEN_JIT_CONTENT_DIGEST` | `0` | freshness for content servers whose declared hashes are not content-addressed (the `@dcl/sdk-commands` preview server keys them by file path). Defaults to ON when `ABGEN_CATALYST_URL` points at a loopback host (a dev preview server), OFF otherwise; explicit values always win. When on, manifest requests re-download the entity's convertible content, sha256 it, and prune stale conversions when bytes changed under an unchanged hash. Changed non-glb files (textures/`.bin`) also invalidate every glb bundle of the entity. Debounced per entity via `ABGEN_REVALIDATE_DEBOUNCE_S` (default `2`) |\n| `ABGEN_UPSTREAM_AB_CDN` | unset | read-through to a production ab-cdn (e.g. `https://ab-cdn.decentraland.org`): manifest/bundle/LOD/ISS requests that 404 through every local and JIT lane are streamed from upstream without persisting anything locally. Lets a client point its whole optimized-assets base URL here (wearables/emotes keep working) while only local scene entities are built locally. Paths containing `b64-` preview ids are never proxied |\n| `ABGEN_UPSTREAM_AB_REGISTRY` | see right | upstream registry URL: records for entities without local bundles are answered with its versions. Default: `asset-bundle-registry.<domain>` when the CDN is `ab-cdn.<domain>`. `off` disables |\n| `RUST_LOG` | `abgen=info,tower_http=info` | tracing filter |\n| `CONTENT_PG_CONNECTION_STRING` (or `POSTGRES_*` parts) | unset | content DB; URL form also mounts the signed registry routes |\n### S3 space cache (read-through + write-back)\nEnabled when `ABGEN_S3_BUCKET` is non-empty (or `ABGEN_USE_SPACE=1`):\n- credentials, first match wins: `ABGEN_S3_ACCESS_KEY`/`ABGEN_S3_SECRET_KEY`, `AWS_ACCESS_KEY_ID`/`AWS_SECRET_ACCESS_KEY`, or the ECS container role (`AWS_CONTAINER_CREDENTIALS_RELATIVE_URI` or `_FULL_URI`)\n- session token: `ABGEN_S3_SESSION_TOKEN` or `AWS_SESSION_TOKEN`\n- endpoint `ABGEN_S3_ENDPOINT`; region `ABGEN_S3_REGION`|`AWS_REGION`; `ABGEN_S3_PATH_STYLE` for path-style addressing\n- `ABGEN_S3_READ_ONLY=1` - read-through only; server write-back is refused\n- `ABGEN_FALLBACK_VERSION` (default `v41`) - extra version prefix tried on space-cache lookups\n- `ABGEN_WORLDS_CONTENT_URL` - worlds-content-server fallback for entity/content fetches that miss the primary source (default public worlds server; `0`/`off`/empty disables)\n\nUploads carry each key family's production writer's object metadata, derived from the key by\n`space::object_headers`: bundles `application/wasm` + `public,max-age=31536000,immutable`\n(cdn-uploader's comma-joined spelling), scene sources (`.js`/`.json`/`.crdt`) the direct-upload\nspelling `public, max-age=31536000, immutable`, manifests (`manifest/…`) `application/json` +\n`private, max-age=0, no-cache`, ISS descriptors (`lods-unity/manifests/…`)\n`public, max-age=31536000` (lod-generator-unity's spelling).\n\n### Asset-reuse mode (upstream converter parity)\nON by default, matching the ab-cdn deployment's asset-reuse naming from v49 onward: scene\nglb/gltf bundles use the upstream converter's canonical naming and shared bucket layout (applies\nto the JIT server and `abgen-corpus`). Set `ABGEN_DEPS_DIGEST=0` to fall back to legacy\n`{hash}_{platform}` names and entity-scoped space keys — needed only for parity runs against\npre-v49 reference trees (e.g. `--live-mode` sampling of v15–v41 vintages, whose manifests list\nnon-digest names).\n- glb/gltf bundles are named `{hash}_{depsdigest}_{platform}` — the digest is a 128-bit hash of\n  the glb's resolved `(file, hash)` dependency pairs (`.bin` + textures), so a glb whose\n  dependency set changes lands at a new name/key; textures stay `{hash}_{platform}`\n- space keys move from entity-scoped `{version}/{entity}/{bundle}` to the shared\n  `{version}/assets/{bundle}` layout (entity-scoped keys remain a read fallback)\n- before building, the space is HEAD-probed at the canonical key; hits are listed in the entity\n  manifest without rebuilding, so bundles are converted once across entities\n- a glb whose deps can't be resolved is skipped (upstream skipped-assets semantics) unless\n  `ABGEN_MAGENTA_MISSING` is on, in which case unresolvable deps are dropped from the digest and\n  the build substitutes placeholder textures\n\n### Two version lanes: `AB_VERSION` and `WEARABLE_AB_VERSION`\nScene bundles and wearable/emote bundles live under separate key prefixes. `AB_VERSION` is the scene\nlane; `WEARABLE_AB_VERSION` is wearables and emotes, and defaults to `AB_VERSION` when unset — so a\ndeployment that does not set it behaves exactly as it did when the two shared one prefix.\n\nThey are split because only a scene's name can carry an invalidation. Scene bundles are digest-named\n(`{hash}_{digest}_{platform}`), so a dependency change or a recipe bump moves them; wearable bundles\nare `{hash}_{platform}`, with nowhere to put one, which leaves the prefix as the only lever they\nhave. Sharing one prefix therefore meant every scene-driven bump dragged the whole wearable corpus\nthrough a rebuild it had no use for, and every wearable-driven bump did the same to the world.\n\n- The conversion path resolves its lane from the entity type (`Proxy::version_for`); everything\n  that is not a scene rides the wearable lane.\n- The serving path has only a bundle name to go on, so it reads both lanes and then\n  `ABGEN_FALLBACK_VERSION` (`Proxy::read_versions`). Safe rather than merely convenient: an\n  entity's bundles exist under exactly one prefix and every name is content-addressed, so a hit is\n  the right bytes whichever lane answered. A miss costs one extra 404.\n- The lambda's already-converted gate accepts a manifest at *either* lane, because the entity type\n  is only known after the entity doc is fetched and the gate deliberately runs before that. Safe\n  while the two are distinct strings: a manifest carries whichever version wrote it, so a bump of\n  either stops matching.\n\n### Per-asset-type cache keys (recipes)\n`AB_VERSION` prefixes every space key, so bumping it orphans every bundle of every type at once —\nthe right hammer for a change to the bundle container, far too big for the usual fix, which changes\nhow one kind of asset is built and leaves the rest byte-identical. Baking skinned-renderer bounds\nover the animation clips (#119) rewrote nothing but animated rigs; an `AB_VERSION` bump behind it\nwould have rebuilt every texture in the world.\n\n`crate/src/recipes.rs` holds a generation counter per build-affecting behaviour and folds the ones\nan asset uses into the digest that names its bundle. A bundle is rebuilt whole or not at all — a GLB\nbundle carries its meshes, skeleton, clips, materials *and* its resolved textures in one artifact —\nso there are only two base recipes, one per kind of bundle, plus two narrowing ones that earn their\nplace by being rare:\n\n| Recipe | Applies to | Rebuilds on a bump |\n|---|---|---|\n| `glb` | every glTF | every glb bundle; no standalone image bundles |\n| `texture` | standalone images, and any glTF with `images` | every image bundle **and** every glb that embeds one |\n| `skin` | a glTF declaring `skins` | only rigs — a minority of glbs |\n| `animation` | a glTF carrying `animations` | only animated glbs — a minority |\n\n**To ship a fix without an `AB_VERSION` bump:** raise the matching counter by one, in the commit that\nchanges the output, then re-enqueue as you would for a version bump. Bundles whose recipes moved get\nnew names, miss the HEAD probe and rebuild; every other bundle keeps its name and is reused where it\nalready sits. Never renumber a counter and never reuse a value — a generation that comes back around\nmakes stale bundles look fresh.\n\nDefault to `glb`. Reach for `skin` or `animation` only when the fix has a gate you can point at —\n#119 is the model, where a glTF with no clips serialized byte for byte as before. The asymmetry is\nthe whole rule: too broad costs a rebuild you were going to pay anyway, too narrow ships stale\nbundles and says nothing. There is deliberately no counter per sub-asset (`mesh`, `material`) — the\nbundle is the unit, so those would rebuild the same set `glb` does — and none for normal maps, since\n\"is this encoder fix normal-only?\" is exactly the ambiguous question a recipe must not ask.\n\nScope and cost:\n- Only the digest-named lane carries recipes. Wearables and emotes are `{hash}_{platform}`, with\n  nowhere to put a generation, so a fix to those still needs `AB_VERSION` — as does anything that\n  changes the bundle container, the manifest shape, or the client's side of the contract.\n- Generation `0` folds in as nothing *in a digest*, so adopting this cost no rebuild: every\n  bundle name is byte-for-byte what it was before. Manifests do gain a `recipes` key.\n- `AB_VERSION` stays total. It is the key prefix, never a digest input, and the conversion gate\n  gained a conjunct rather than a substitute, so a version bump still reconverts everything.\n- Each conversion records, in the per-platform manifest's `recipes` block, every recipe governing\n  its bundles and the generation each stood at — **baselines included** — and `platform_converted`\n  compares it, so the lambda's already-converted skip stays correct without a `force` flag. A scene\n  of static props records `{\"glb\":0,\"texture\":0}`: bumping `skin` leaves it current (that is the\n  saving), bumping `glb` does not. Recording only the *bumped* recipes would be blind to every\n  later `0 -> 1` bump, which is why the baselines are kept here and dropped in the digest.\n  A manifest predating recipes has no block at all and reconverts once.\n- The LOD lane solves the same problem with one counter of its own,\n  `crate/src/lodgen/pipeline.rs::LOD_GENERATION`, folded into the reuse state document.\n\nDisplay-only files — `autogenerated-thumbnail.png` anywhere in the content map, and whatever\n`metadata.display.navmapThumbnail` points at — are dropped from the conversion input, matching the\nprod converter's `-skippedHashes` flag: no bundle, no manifest entry, and no contribution to the\nmanifest `exitCode` (the client reads those files as raw bytes from the content server, so a bundle\nfor them is a dead artifact). Applies to the JIT server and the lambda, independent of asset reuse.\n\n### Registry index eager build\nOn `POST /entities/active|versions`, entities missing a converted bundle are queued for conversion; the\nrequest waits up to the deadline, builds finish in the background. Knobs: `ABGEN_INDEX_EAGER_BUILD`\n(default on; `0`/`false`/`no` disables), `ABGEN_INDEX_BUILD_PLATFORMS` (default `windows,mac`),\n`ABGEN_INDEX_BUILD_CONCURRENCY` (default: CPU count), `ABGEN_INDEX_BUILD_DEADLINE_MS` (default\n`20000`), `ABGEN_INDEX_BUILD_MAX_QUEUE` (default `0` = unlimited; when exceeded, new builds are skipped).\n### LOD JIT lane\n`ABGEN_LOD_JIT=1` enables JIT LOD builds on `GET /LOD/1/...` misses (level 1 only, the production\nshape: level 0 is the client-side ISS assembly, so `LOD/0/...` answers `lod-level-unsupported` and\n`abgen-lod generate --level 0,1` is the offline opt-in); needs `gltfpack`\n(`ABGEN_GLTFPACK` or `$PATH`), fails closed without it. Knobs: `ABGEN_LOD_MANIFEST_BUILDER` (unset\nlimits JIT to scenes with a published ISS descriptor), `ABGEN_LOD_CACHE_DIR` (default:\n`ABGEN_CACHE_DIR`), `ABGEN_LOD_JIT_TIMEOUT_S` / `ABGEN_LOD_JIT_FAIL_TTL_S` (defaults `600` / `3600`),\n`ABGEN_LOD_BUILD_CONCURRENCY` (default `1`). Builds stage in a per-build workdir; only gate-passed\noutput is promoted into the serving root, so rejected bundles are never servable. A passed build is\nwritten back to the space with the production key set: `LOD/1/{sid}_1_{platform}`,\n`lods-unity/manifests/{sid}_InitialSceneState.json` and the gltfpack-layout\n`lods-unity/lods/{sid}_1.glb`.\n### Conversion / parity knobs\n- `ABGEN_SHADER_BUNDLE` - path to `scene_ignore_windows` (default `crate/shader/scene_ignore_windows`; siblings like `scene_ignore_mac` resolve from the same dir)\n- `ABGEN_CONTENT_ROOT` - local sharded content store root (default `./content`)\n- compat: `ABGEN_V38_COMPAT`, `ABGEN_V38_TIMESTAMP`, `ABGEN_COLLECTION_MODE`, `ABGEN_REAL_TEXTURES`, `ABGEN_MAGENTA_MISSING`, `ABGEN_JPEG_TURBO_BOX`, `ABGEN_JPEG_GLB_9C` (`live.rs::Proxy::new` sets some process-wide; not thread-safe before the first build)\n- debug/dev: `ABGEN_BC7_CACHE`, `ABGEN_BC7_SCALAR`, `ABGEN_BC7_NO512`, `ABGEN_BC7_CAPTURE`, `ABGEN_LZ4_DUMP`, `ABGEN_TEST_CRN_OURS`/`_REF`/`_DUMP`\n## Deployment\nThe container image is built straight from the pinned Nix flake - `nix build .#dockerImage`\n(`dockerTools.buildLayeredImage`, `tini` init, no base OS) - producing an image that runs `abgen` as an\nunprivileged user on `:5147` with `template/` and `shader/` baked in and `ABGEN_ROOT`/`ABGEN_OUT_ROOT`\npreset. The `image` job in [`.github/workflows/release.yml`](.github/workflows/release.yml) builds\nthat image and pushes it to `ghcr.io/decentraland/abgen:<tag>` (and `:latest`) on every `v*` tag.\nThe workspace also ships an AWS Lambda consumer in `lambda/` (the `abgen-lambda` bin);\n`nix build .#lambdaImage` produces its container image, which the `lambda-image-push` job pushes to ECR\non the same tags - see [lambda/README.md](lambda/README.md). The org\nservices-pipeline that publishes the same service to quay (service-name `abgen`) is configured\nexternally in the private `decentraland/definitions` repo, not in this tree. Cutting a release -\ntagging, what the pipeline does, and what to check afterwards: [DEVELOPMENT.md](DEVELOPMENT.md).\n\nParity posture and clean-room provenance are documented separately: [PARITY.md](PARITY.md) and\n[PROVENANCE.md](PROVENANCE.md).\n## Provenance\nThis repository is a generated standalone export: the server crate maps to `crate/` with a small\noverlay; the content component + unsigned registry surface ship as the shared `crate/dcl-contents`\ncrate, copied verbatim from the internal tree. Mechanical differences from the internal source:\nsigned/denylist/queue registry routes deleted; the server bin is `abgen` and the local build CLI is\n`abgen-build`.\n## License\n**Apache-2.0** - full text in [LICENSE](LICENSE). Contributions are accepted under the same\nterms. Vendored third-party licenses and\nshader/template bundle provenance: [PROVENANCE.md](PROVENANCE.md). Note: the lib sets\n`#[global_allocator] mimalloc`; any downstream embedding the lib inherits it.\n","readmeFilename":"README.md"}