@intlayer/backend 7.0.9-canary.0 → 7.0.9-canary.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/assets/utils/AI/askDocQuestion/embeddings/docs/en/packages/intlayer/getLocalizedUrl.json +6146 -5120
- package/dist/assets/utils/AI/askDocQuestion/embeddings/docs/en/packages/intlayer/getMultilingualUrls.json +5124 -3072
- package/dist/assets/utils/AI/askDocQuestion/embeddings/docs/en/packages/intlayer/getPrefix.json +4106 -0
- package/dist/cjs/controllers/dictionary.controller.cjs +64 -41
- package/dist/cjs/controllers/dictionary.controller.cjs.map +1 -1
- package/dist/cjs/emails/MagicLinkEmail.cjs +242 -0
- package/dist/cjs/emails/MagicLinkEmail.cjs.map +1 -0
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@authenio/xml-encryption/lib/index.cjs +16 -0
- package/dist/cjs/node_modules/@authenio/xml-encryption/lib/index.cjs.map +1 -0
- package/dist/cjs/node_modules/@authenio/xml-encryption/lib/templates/encrypted-key.tpl.xml.cjs +25 -0
- package/dist/cjs/node_modules/@authenio/xml-encryption/lib/templates/encrypted-key.tpl.xml.cjs.map +1 -0
- package/dist/cjs/node_modules/@authenio/xml-encryption/lib/templates/keyinfo.tpl.xml.cjs +31 -0
- package/dist/cjs/node_modules/@authenio/xml-encryption/lib/templates/keyinfo.tpl.xml.cjs.map +1 -0
- package/dist/cjs/node_modules/@authenio/xml-encryption/lib/utils.cjs +38 -0
- package/dist/cjs/node_modules/@authenio/xml-encryption/lib/utils.cjs.map +1 -0
- package/dist/cjs/node_modules/@authenio/xml-encryption/lib/xmlenc.cjs +231 -0
- package/dist/cjs/node_modules/@authenio/xml-encryption/lib/xmlenc.cjs.map +1 -0
- package/dist/cjs/node_modules/@better-auth/sso/dist/index.cjs +1210 -0
- package/dist/cjs/node_modules/@better-auth/sso/dist/index.cjs.map +1 -0
- package/dist/cjs/node_modules/@better-fetch/fetch/dist/index.cjs +362 -0
- package/dist/cjs/node_modules/@better-fetch/fetch/dist/index.cjs.map +1 -0
- package/dist/cjs/node_modules/@xmldom/is-dom-node/dist/index.cjs +89 -0
- package/dist/cjs/node_modules/@xmldom/is-dom-node/dist/index.cjs.map +1 -0
- package/dist/cjs/node_modules/@xmldom/xmldom/lib/conventions.cjs +110 -0
- package/dist/cjs/node_modules/@xmldom/xmldom/lib/conventions.cjs.map +1 -0
- package/dist/cjs/node_modules/@xmldom/xmldom/lib/dom-parser.cjs +248 -0
- package/dist/cjs/node_modules/@xmldom/xmldom/lib/dom-parser.cjs.map +1 -0
- package/dist/cjs/node_modules/@xmldom/xmldom/lib/dom.cjs +1309 -0
- package/dist/cjs/node_modules/@xmldom/xmldom/lib/dom.cjs.map +1 -0
- package/dist/cjs/node_modules/@xmldom/xmldom/lib/entities.cjs +2176 -0
- package/dist/cjs/node_modules/@xmldom/xmldom/lib/entities.cjs.map +1 -0
- package/dist/cjs/node_modules/@xmldom/xmldom/lib/index.cjs +20 -0
- package/dist/cjs/node_modules/@xmldom/xmldom/lib/index.cjs.map +1 -0
- package/dist/cjs/node_modules/@xmldom/xmldom/lib/sax.cjs +499 -0
- package/dist/cjs/node_modules/@xmldom/xmldom/lib/sax.cjs.map +1 -0
- package/dist/cjs/node_modules/asn1/lib/ber/errors.cjs +20 -0
- package/dist/cjs/node_modules/asn1/lib/ber/errors.cjs.map +1 -0
- package/dist/cjs/node_modules/asn1/lib/ber/index.cjs +28 -0
- package/dist/cjs/node_modules/asn1/lib/ber/index.cjs.map +1 -0
- package/dist/cjs/node_modules/asn1/lib/ber/reader.cjs +167 -0
- package/dist/cjs/node_modules/asn1/lib/ber/reader.cjs.map +1 -0
- package/dist/cjs/node_modules/asn1/lib/ber/types.cjs +47 -0
- package/dist/cjs/node_modules/asn1/lib/ber/types.cjs.map +1 -0
- package/dist/cjs/node_modules/asn1/lib/ber/writer.cjs +223 -0
- package/dist/cjs/node_modules/asn1/lib/ber/writer.cjs.map +1 -0
- package/dist/cjs/node_modules/asn1/lib/index.cjs +21 -0
- package/dist/cjs/node_modules/asn1/lib/index.cjs.map +1 -0
- package/dist/cjs/node_modules/camelcase/index.cjs +78 -0
- package/dist/cjs/node_modules/camelcase/index.cjs.map +1 -0
- package/dist/cjs/node_modules/escape-html/index.cjs +71 -0
- package/dist/cjs/node_modules/escape-html/index.cjs.map +1 -0
- package/dist/cjs/node_modules/fast-xml-parser/src/fxp.cjs +9 -0
- package/dist/cjs/node_modules/fast-xml-parser/src/fxp.cjs.map +1 -0
- package/dist/cjs/node_modules/fast-xml-parser/src/util.cjs +29 -0
- package/dist/cjs/node_modules/fast-xml-parser/src/util.cjs.map +1 -0
- package/dist/cjs/node_modules/fast-xml-parser/src/validator.cjs +244 -0
- package/dist/cjs/node_modules/fast-xml-parser/src/validator.cjs.map +1 -0
- package/dist/cjs/node_modules/jose/dist/webapi/lib/base64.cjs +14 -0
- package/dist/cjs/node_modules/jose/dist/webapi/lib/base64.cjs.map +1 -0
- package/dist/cjs/node_modules/jose/dist/webapi/lib/buffer_utils.cjs +10 -0
- package/dist/cjs/node_modules/jose/dist/webapi/lib/buffer_utils.cjs.map +1 -0
- package/dist/cjs/node_modules/jose/dist/webapi/lib/is_object.cjs +17 -0
- package/dist/cjs/node_modules/jose/dist/webapi/lib/is_object.cjs.map +1 -0
- package/dist/cjs/node_modules/jose/dist/webapi/util/base64url.cjs +20 -0
- package/dist/cjs/node_modules/jose/dist/webapi/util/base64url.cjs.map +1 -0
- package/dist/cjs/node_modules/jose/dist/webapi/util/decode_jwt.cjs +32 -0
- package/dist/cjs/node_modules/jose/dist/webapi/util/decode_jwt.cjs.map +1 -0
- package/dist/cjs/node_modules/jose/dist/webapi/util/errors.cjs +28 -0
- package/dist/cjs/node_modules/jose/dist/webapi/util/errors.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/aes.cjs +604 -0
- package/dist/cjs/node_modules/node-forge/lib/aes.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/aesCipherSuites.cjs +202 -0
- package/dist/cjs/node_modules/node-forge/lib/aesCipherSuites.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/asn1-validator.cjs +83 -0
- package/dist/cjs/node_modules/node-forge/lib/asn1-validator.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/asn1.cjs +945 -0
- package/dist/cjs/node_modules/node-forge/lib/asn1.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/baseN.cjs +144 -0
- package/dist/cjs/node_modules/node-forge/lib/baseN.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/cipher.cjs +193 -0
- package/dist/cjs/node_modules/node-forge/lib/cipher.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/cipherModes.cjs +604 -0
- package/dist/cjs/node_modules/node-forge/lib/cipherModes.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/des.cjs +1194 -0
- package/dist/cjs/node_modules/node-forge/lib/des.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/ed25519.cjs +1027 -0
- package/dist/cjs/node_modules/node-forge/lib/ed25519.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/forge.cjs +22 -0
- package/dist/cjs/node_modules/node-forge/lib/forge.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/hmac.cjs +114 -0
- package/dist/cjs/node_modules/node-forge/lib/hmac.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/index.cjs +73 -0
- package/dist/cjs/node_modules/node-forge/lib/index.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/jsbn.cjs +1263 -0
- package/dist/cjs/node_modules/node-forge/lib/jsbn.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/kem.cjs +153 -0
- package/dist/cjs/node_modules/node-forge/lib/kem.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/log.cjs +248 -0
- package/dist/cjs/node_modules/node-forge/lib/log.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/md.all.cjs +31 -0
- package/dist/cjs/node_modules/node-forge/lib/md.all.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/md.cjs +25 -0
- package/dist/cjs/node_modules/node-forge/lib/md.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/md5.cjs +331 -0
- package/dist/cjs/node_modules/node-forge/lib/md5.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/mgf.cjs +27 -0
- package/dist/cjs/node_modules/node-forge/lib/mgf.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/mgf1.cjs +51 -0
- package/dist/cjs/node_modules/node-forge/lib/mgf1.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/oids.cjs +160 -0
- package/dist/cjs/node_modules/node-forge/lib/oids.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/pbe.cjs +822 -0
- package/dist/cjs/node_modules/node-forge/lib/pbe.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/pbkdf2.cjs +132 -0
- package/dist/cjs/node_modules/node-forge/lib/pbkdf2.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/pem.cjs +182 -0
- package/dist/cjs/node_modules/node-forge/lib/pem.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/pkcs1.cjs +207 -0
- package/dist/cjs/node_modules/node-forge/lib/pkcs1.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/pkcs12.cjs +730 -0
- package/dist/cjs/node_modules/node-forge/lib/pkcs12.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/pkcs7.cjs +648 -0
- package/dist/cjs/node_modules/node-forge/lib/pkcs7.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/pkcs7asn1.cjs +412 -0
- package/dist/cjs/node_modules/node-forge/lib/pkcs7asn1.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/pki.cjs +108 -0
- package/dist/cjs/node_modules/node-forge/lib/pki.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/prime.cjs +200 -0
- package/dist/cjs/node_modules/node-forge/lib/prime.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/prng.cjs +297 -0
- package/dist/cjs/node_modules/node-forge/lib/prng.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/pss.cjs +148 -0
- package/dist/cjs/node_modules/node-forge/lib/pss.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/random.cjs +148 -0
- package/dist/cjs/node_modules/node-forge/lib/random.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/rc2.cjs +545 -0
- package/dist/cjs/node_modules/node-forge/lib/rc2.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/rsa.cjs +1306 -0
- package/dist/cjs/node_modules/node-forge/lib/rsa.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/sha1.cjs +237 -0
- package/dist/cjs/node_modules/node-forge/lib/sha1.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/sha256.cjs +274 -0
- package/dist/cjs/node_modules/node-forge/lib/sha256.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/sha512.cjs +420 -0
- package/dist/cjs/node_modules/node-forge/lib/sha512.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/ssh.cjs +201 -0
- package/dist/cjs/node_modules/node-forge/lib/ssh.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/tls.cjs +3662 -0
- package/dist/cjs/node_modules/node-forge/lib/tls.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/util.cjs +2124 -0
- package/dist/cjs/node_modules/node-forge/lib/util.cjs.map +1 -0
- package/dist/cjs/node_modules/node-forge/lib/x509.cjs +2171 -0
- package/dist/cjs/node_modules/node-forge/lib/x509.cjs.map +1 -0
- package/dist/cjs/node_modules/node-rsa/src/NodeRSA.cjs +341 -0
- package/dist/cjs/node_modules/node-rsa/src/NodeRSA.cjs.map +1 -0
- package/dist/cjs/node_modules/node-rsa/src/encryptEngines/encryptEngines.cjs +26 -0
- package/dist/cjs/node_modules/node-rsa/src/encryptEngines/encryptEngines.cjs.map +1 -0
- package/dist/cjs/node_modules/node-rsa/src/encryptEngines/io.cjs +65 -0
- package/dist/cjs/node_modules/node-rsa/src/encryptEngines/io.cjs.map +1 -0
- package/dist/cjs/node_modules/node-rsa/src/encryptEngines/js.cjs +44 -0
- package/dist/cjs/node_modules/node-rsa/src/encryptEngines/js.cjs.map +1 -0
- package/dist/cjs/node_modules/node-rsa/src/encryptEngines/node12.cjs +49 -0
- package/dist/cjs/node_modules/node-rsa/src/encryptEngines/node12.cjs.map +1 -0
- package/dist/cjs/node_modules/node-rsa/src/formats/components.cjs +55 -0
- package/dist/cjs/node_modules/node-rsa/src/formats/components.cjs.map +1 -0
- package/dist/cjs/node_modules/node-rsa/src/formats/formats.cjs +86 -0
- package/dist/cjs/node_modules/node-rsa/src/formats/formats.cjs.map +1 -0
- package/dist/cjs/node_modules/node-rsa/src/formats/openssh.cjs +177 -0
- package/dist/cjs/node_modules/node-rsa/src/formats/openssh.cjs.map +1 -0
- package/dist/cjs/node_modules/node-rsa/src/formats/pkcs1.cjs +104 -0
- package/dist/cjs/node_modules/node-rsa/src/formats/pkcs1.cjs.map +1 -0
- package/dist/cjs/node_modules/node-rsa/src/formats/pkcs8.cjs +131 -0
- package/dist/cjs/node_modules/node-rsa/src/formats/pkcs8.cjs.map +1 -0
- package/dist/cjs/node_modules/node-rsa/src/libs/jsbn.cjs +1347 -0
- package/dist/cjs/node_modules/node-rsa/src/libs/jsbn.cjs.map +1 -0
- package/dist/cjs/node_modules/node-rsa/src/libs/rsa.cjs +231 -0
- package/dist/cjs/node_modules/node-rsa/src/libs/rsa.cjs.map +1 -0
- package/dist/cjs/node_modules/node-rsa/src/schemes/oaep.cjs +123 -0
- package/dist/cjs/node_modules/node-rsa/src/schemes/oaep.cjs.map +1 -0
- package/dist/cjs/node_modules/node-rsa/src/schemes/pkcs1.cjs +175 -0
- package/dist/cjs/node_modules/node-rsa/src/schemes/pkcs1.cjs.map +1 -0
- package/dist/cjs/node_modules/node-rsa/src/schemes/pss.cjs +123 -0
- package/dist/cjs/node_modules/node-rsa/src/schemes/pss.cjs.map +1 -0
- package/dist/cjs/node_modules/node-rsa/src/schemes/schemes.cjs +28 -0
- package/dist/cjs/node_modules/node-rsa/src/schemes/schemes.cjs.map +1 -0
- package/dist/cjs/node_modules/node-rsa/src/utils.cjs +84 -0
- package/dist/cjs/node_modules/node-rsa/src/utils.cjs.map +1 -0
- package/dist/cjs/node_modules/pako/index.cjs +25 -0
- package/dist/cjs/node_modules/pako/index.cjs.map +1 -0
- package/dist/cjs/node_modules/pako/lib/deflate.cjs +311 -0
- package/dist/cjs/node_modules/pako/lib/deflate.cjs.map +1 -0
- package/dist/cjs/node_modules/pako/lib/inflate.cjs +317 -0
- package/dist/cjs/node_modules/pako/lib/inflate.cjs.map +1 -0
- package/dist/cjs/node_modules/pako/lib/utils/common.cjs +77 -0
- package/dist/cjs/node_modules/pako/lib/utils/common.cjs.map +1 -0
- package/dist/cjs/node_modules/pako/lib/utils/strings.cjs +131 -0
- package/dist/cjs/node_modules/pako/lib/utils/strings.cjs.map +1 -0
- package/dist/cjs/node_modules/pako/lib/zlib/adler32.cjs +29 -0
- package/dist/cjs/node_modules/pako/lib/zlib/adler32.cjs.map +1 -0
- package/dist/cjs/node_modules/pako/lib/zlib/constants.cjs +43 -0
- package/dist/cjs/node_modules/pako/lib/zlib/constants.cjs.map +1 -0
- package/dist/cjs/node_modules/pako/lib/zlib/crc32.cjs +31 -0
- package/dist/cjs/node_modules/pako/lib/zlib/crc32.cjs.map +1 -0
- package/dist/cjs/node_modules/pako/lib/zlib/deflate.cjs +889 -0
- package/dist/cjs/node_modules/pako/lib/zlib/deflate.cjs.map +1 -0
- package/dist/cjs/node_modules/pako/lib/zlib/gzheader.cjs +27 -0
- package/dist/cjs/node_modules/pako/lib/zlib/gzheader.cjs.map +1 -0
- package/dist/cjs/node_modules/pako/lib/zlib/inffast.cjs +227 -0
- package/dist/cjs/node_modules/pako/lib/zlib/inffast.cjs.map +1 -0
- package/dist/cjs/node_modules/pako/lib/zlib/inflate.cjs +1038 -0
- package/dist/cjs/node_modules/pako/lib/zlib/inflate.cjs.map +1 -0
- package/dist/cjs/node_modules/pako/lib/zlib/inftrees.cjs +278 -0
- package/dist/cjs/node_modules/pako/lib/zlib/inftrees.cjs.map +1 -0
- package/dist/cjs/node_modules/pako/lib/zlib/messages.cjs +25 -0
- package/dist/cjs/node_modules/pako/lib/zlib/messages.cjs.map +1 -0
- package/dist/cjs/node_modules/pako/lib/zlib/trees.cjs +626 -0
- package/dist/cjs/node_modules/pako/lib/zlib/trees.cjs.map +1 -0
- package/dist/cjs/node_modules/pako/lib/zlib/zstream.cjs +29 -0
- package/dist/cjs/node_modules/pako/lib/zlib/zstream.cjs.map +1 -0
- package/dist/cjs/node_modules/safer-buffer/safer.cjs +52 -0
- package/dist/cjs/node_modules/safer-buffer/safer.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/build/index.cjs +120 -0
- package/dist/cjs/node_modules/samlify/build/index.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/build/src/api.cjs +36 -0
- package/dist/cjs/node_modules/samlify/build/src/api.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/build/src/binding-post.cjs +507 -0
- package/dist/cjs/node_modules/samlify/build/src/binding-post.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/build/src/binding-redirect.cjs +342 -0
- package/dist/cjs/node_modules/samlify/build/src/binding-redirect.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/build/src/binding-simplesign.cjs +361 -0
- package/dist/cjs/node_modules/samlify/build/src/binding-simplesign.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/build/src/entity-idp.cjs +282 -0
- package/dist/cjs/node_modules/samlify/build/src/entity-idp.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/build/src/entity-sp.cjs +145 -0
- package/dist/cjs/node_modules/samlify/build/src/entity-sp.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/build/src/entity.cjs +256 -0
- package/dist/cjs/node_modules/samlify/build/src/entity.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/build/src/extractor.cjs +355 -0
- package/dist/cjs/node_modules/samlify/build/src/extractor.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/build/src/flow.cjs +392 -0
- package/dist/cjs/node_modules/samlify/build/src/flow.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/build/src/libsaml.cjs +547 -0
- package/dist/cjs/node_modules/samlify/build/src/libsaml.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/build/src/metadata-idp.cjs +174 -0
- package/dist/cjs/node_modules/samlify/build/src/metadata-idp.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/build/src/metadata-sp.cjs +217 -0
- package/dist/cjs/node_modules/samlify/build/src/metadata-sp.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/build/src/metadata.cjs +203 -0
- package/dist/cjs/node_modules/samlify/build/src/metadata.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/build/src/urn.cjs +228 -0
- package/dist/cjs/node_modules/samlify/build/src/urn.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/build/src/utility.cjs +280 -0
- package/dist/cjs/node_modules/samlify/build/src/utility.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/build/src/validator.cjs +56 -0
- package/dist/cjs/node_modules/samlify/build/src/validator.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/index.cjs +50 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/index.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/md5.cjs +25 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/md5.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/nil.cjs +18 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/nil.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/parse.cjs +42 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/parse.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/regex.cjs +18 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/regex.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/rng.cjs +28 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/rng.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/sha1.cjs +25 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/sha1.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/stringify.cjs +27 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/stringify.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v1.cjs +69 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v1.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v3.cjs +23 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v3.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v35.cjs +54 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v35.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v4.cjs +34 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v4.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v5.cjs +23 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/v5.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/validate.cjs +23 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/validate.cjs.map +1 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/version.cjs +24 -0
- package/dist/cjs/node_modules/samlify/node_modules/uuid/dist/esm-node/version.cjs.map +1 -0
- package/dist/cjs/node_modules/xml/lib/escapeForXML.cjs +27 -0
- package/dist/cjs/node_modules/xml/lib/escapeForXML.cjs.map +1 -0
- package/dist/cjs/node_modules/xml/lib/xml.cjs +186 -0
- package/dist/cjs/node_modules/xml/lib/xml.cjs.map +1 -0
- package/dist/cjs/node_modules/xml-crypto/lib/c14n-canonicalization.cjs +202 -0
- package/dist/cjs/node_modules/xml-crypto/lib/c14n-canonicalization.cjs.map +1 -0
- package/dist/cjs/node_modules/xml-crypto/lib/enveloped-signature.cjs +52 -0
- package/dist/cjs/node_modules/xml-crypto/lib/enveloped-signature.cjs.map +1 -0
- package/dist/cjs/node_modules/xml-crypto/lib/exclusive-canonicalization.cjs +223 -0
- package/dist/cjs/node_modules/xml-crypto/lib/exclusive-canonicalization.cjs.map +1 -0
- package/dist/cjs/node_modules/xml-crypto/lib/hash-algorithms.cjs +56 -0
- package/dist/cjs/node_modules/xml-crypto/lib/hash-algorithms.cjs.map +1 -0
- package/dist/cjs/node_modules/xml-crypto/lib/index.cjs +73 -0
- package/dist/cjs/node_modules/xml-crypto/lib/index.cjs.map +1 -0
- package/dist/cjs/node_modules/xml-crypto/lib/signature-algorithms.cjs +91 -0
- package/dist/cjs/node_modules/xml-crypto/lib/signature-algorithms.cjs.map +1 -0
- package/dist/cjs/node_modules/xml-crypto/lib/signed-xml.cjs +695 -0
- package/dist/cjs/node_modules/xml-crypto/lib/signed-xml.cjs.map +1 -0
- package/dist/cjs/node_modules/xml-crypto/lib/types.cjs +58 -0
- package/dist/cjs/node_modules/xml-crypto/lib/types.cjs.map +1 -0
- package/dist/cjs/node_modules/xml-crypto/lib/utils.cjs +213 -0
- package/dist/cjs/node_modules/xml-crypto/lib/utils.cjs.map +1 -0
- package/dist/cjs/node_modules/xml-crypto/node_modules/xpath/xpath.cjs +3445 -0
- package/dist/cjs/node_modules/xml-crypto/node_modules/xpath/xpath.cjs.map +1 -0
- package/dist/cjs/node_modules/xml-escape/index.cjs +30 -0
- package/dist/cjs/node_modules/xml-escape/index.cjs.map +1 -0
- package/dist/cjs/node_modules/xpath/xpath.cjs +3410 -0
- package/dist/cjs/node_modules/xpath/xpath.cjs.map +1 -0
- package/dist/cjs/node_modules/zod/v4/classic/errors.cjs +31 -0
- package/dist/cjs/node_modules/zod/v4/classic/errors.cjs.map +1 -0
- package/dist/cjs/node_modules/zod/v4/classic/iso.cjs +42 -0
- package/dist/cjs/node_modules/zod/v4/classic/iso.cjs.map +1 -0
- package/dist/cjs/node_modules/zod/v4/classic/parse.cjs +32 -0
- package/dist/cjs/node_modules/zod/v4/classic/parse.cjs.map +1 -0
- package/dist/cjs/node_modules/zod/v4/classic/schemas.cjs +527 -0
- package/dist/cjs/node_modules/zod/v4/classic/schemas.cjs.map +1 -0
- package/dist/cjs/node_modules/zod/v4/core/api.cjs +443 -0
- package/dist/cjs/node_modules/zod/v4/core/api.cjs.map +1 -0
- package/dist/cjs/node_modules/zod/v4/core/checks.cjs +238 -0
- package/dist/cjs/node_modules/zod/v4/core/checks.cjs.map +1 -0
- package/dist/cjs/node_modules/zod/v4/core/core.cjs +63 -0
- package/dist/cjs/node_modules/zod/v4/core/core.cjs.map +1 -0
- package/dist/cjs/node_modules/zod/v4/core/doc.cjs +36 -0
- package/dist/cjs/node_modules/zod/v4/core/doc.cjs.map +1 -0
- package/dist/cjs/node_modules/zod/v4/core/errors.cjs +67 -0
- package/dist/cjs/node_modules/zod/v4/core/errors.cjs.map +1 -0
- package/dist/cjs/node_modules/zod/v4/core/parse.cjs +124 -0
- package/dist/cjs/node_modules/zod/v4/core/parse.cjs.map +1 -0
- package/dist/cjs/node_modules/zod/v4/core/regexes.cjs +87 -0
- package/dist/cjs/node_modules/zod/v4/core/regexes.cjs.map +1 -0
- package/dist/cjs/node_modules/zod/v4/core/registries.cjs +55 -0
- package/dist/cjs/node_modules/zod/v4/core/registries.cjs.map +1 -0
- package/dist/cjs/node_modules/zod/v4/core/schemas.cjs +1115 -0
- package/dist/cjs/node_modules/zod/v4/core/schemas.cjs.map +1 -0
- package/dist/cjs/node_modules/zod/v4/core/util.cjs +333 -0
- package/dist/cjs/node_modules/zod/v4/core/util.cjs.map +1 -0
- package/dist/cjs/node_modules/zod/v4/core/versions.cjs +12 -0
- package/dist/cjs/node_modules/zod/v4/core/versions.cjs.map +1 -0
- package/dist/cjs/schemas/user.schema.cjs +17 -0
- package/dist/cjs/schemas/user.schema.cjs.map +1 -1
- package/dist/cjs/services/dictionary.service.cjs +7 -31
- package/dist/cjs/services/dictionary.service.cjs.map +1 -1
- package/dist/cjs/services/email.service.cjs +13 -0
- package/dist/cjs/services/email.service.cjs.map +1 -1
- package/dist/cjs/types/user.types.cjs.map +1 -1
- package/dist/cjs/utils/auth/getAuth.cjs +60 -26
- package/dist/cjs/utils/auth/getAuth.cjs.map +1 -1
- package/dist/cjs/utils/mongoDB/connectDB.cjs.map +1 -1
- package/dist/esm/_virtual/rolldown_runtime.mjs +43 -0
- package/dist/esm/controllers/dictionary.controller.mjs +65 -42
- package/dist/esm/controllers/dictionary.controller.mjs.map +1 -1
- package/dist/esm/emails/MagicLinkEmail.mjs +239 -0
- package/dist/esm/emails/MagicLinkEmail.mjs.map +1 -0
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/node_modules/@authenio/xml-encryption/lib/index.mjs +13 -0
- package/dist/esm/node_modules/@authenio/xml-encryption/lib/index.mjs.map +1 -0
- package/dist/esm/node_modules/@authenio/xml-encryption/lib/templates/encrypted-key.tpl.xml.mjs +22 -0
- package/dist/esm/node_modules/@authenio/xml-encryption/lib/templates/encrypted-key.tpl.xml.mjs.map +1 -0
- package/dist/esm/node_modules/@authenio/xml-encryption/lib/templates/keyinfo.tpl.xml.mjs +28 -0
- package/dist/esm/node_modules/@authenio/xml-encryption/lib/templates/keyinfo.tpl.xml.mjs.map +1 -0
- package/dist/esm/node_modules/@authenio/xml-encryption/lib/utils.mjs +35 -0
- package/dist/esm/node_modules/@authenio/xml-encryption/lib/utils.mjs.map +1 -0
- package/dist/esm/node_modules/@authenio/xml-encryption/lib/xmlenc.mjs +228 -0
- package/dist/esm/node_modules/@authenio/xml-encryption/lib/xmlenc.mjs.map +1 -0
- package/dist/esm/node_modules/@better-auth/sso/dist/index.mjs +1210 -0
- package/dist/esm/node_modules/@better-auth/sso/dist/index.mjs.map +1 -0
- package/dist/esm/node_modules/@better-fetch/fetch/dist/index.mjs +359 -0
- package/dist/esm/node_modules/@better-fetch/fetch/dist/index.mjs.map +1 -0
- package/dist/esm/node_modules/@xmldom/is-dom-node/dist/index.mjs +86 -0
- package/dist/esm/node_modules/@xmldom/is-dom-node/dist/index.mjs.map +1 -0
- package/dist/esm/node_modules/@xmldom/xmldom/lib/conventions.mjs +107 -0
- package/dist/esm/node_modules/@xmldom/xmldom/lib/conventions.mjs.map +1 -0
- package/dist/esm/node_modules/@xmldom/xmldom/lib/dom-parser.mjs +245 -0
- package/dist/esm/node_modules/@xmldom/xmldom/lib/dom-parser.mjs.map +1 -0
- package/dist/esm/node_modules/@xmldom/xmldom/lib/dom.mjs +1306 -0
- package/dist/esm/node_modules/@xmldom/xmldom/lib/dom.mjs.map +1 -0
- package/dist/esm/node_modules/@xmldom/xmldom/lib/entities.mjs +2173 -0
- package/dist/esm/node_modules/@xmldom/xmldom/lib/entities.mjs.map +1 -0
- package/dist/esm/node_modules/@xmldom/xmldom/lib/index.mjs +17 -0
- package/dist/esm/node_modules/@xmldom/xmldom/lib/index.mjs.map +1 -0
- package/dist/esm/node_modules/@xmldom/xmldom/lib/sax.mjs +496 -0
- package/dist/esm/node_modules/@xmldom/xmldom/lib/sax.mjs.map +1 -0
- package/dist/esm/node_modules/asn1/lib/ber/errors.mjs +17 -0
- package/dist/esm/node_modules/asn1/lib/ber/errors.mjs.map +1 -0
- package/dist/esm/node_modules/asn1/lib/ber/index.mjs +25 -0
- package/dist/esm/node_modules/asn1/lib/ber/index.mjs.map +1 -0
- package/dist/esm/node_modules/asn1/lib/ber/reader.mjs +164 -0
- package/dist/esm/node_modules/asn1/lib/ber/reader.mjs.map +1 -0
- package/dist/esm/node_modules/asn1/lib/ber/types.mjs +44 -0
- package/dist/esm/node_modules/asn1/lib/ber/types.mjs.map +1 -0
- package/dist/esm/node_modules/asn1/lib/ber/writer.mjs +220 -0
- package/dist/esm/node_modules/asn1/lib/ber/writer.mjs.map +1 -0
- package/dist/esm/node_modules/asn1/lib/index.mjs +18 -0
- package/dist/esm/node_modules/asn1/lib/index.mjs.map +1 -0
- package/dist/esm/node_modules/available-typed-arrays/index.mjs +20 -0
- package/dist/esm/node_modules/available-typed-arrays/index.mjs.map +1 -0
- package/dist/esm/node_modules/base64-js/index.mjs +95 -0
- package/dist/esm/node_modules/base64-js/index.mjs.map +1 -0
- package/dist/esm/node_modules/buffer/index.mjs +1114 -0
- package/dist/esm/node_modules/buffer/index.mjs.map +1 -0
- package/dist/esm/node_modules/call-bind/index.mjs +26 -0
- package/dist/esm/node_modules/call-bind/index.mjs.map +1 -0
- package/dist/esm/node_modules/call-bind-apply-helpers/actualApply.mjs +21 -0
- package/dist/esm/node_modules/call-bind-apply-helpers/actualApply.mjs.map +1 -0
- package/dist/esm/node_modules/call-bind-apply-helpers/applyBind.mjs +21 -0
- package/dist/esm/node_modules/call-bind-apply-helpers/applyBind.mjs.map +1 -0
- package/dist/esm/node_modules/call-bind-apply-helpers/functionApply.mjs +13 -0
- package/dist/esm/node_modules/call-bind-apply-helpers/functionApply.mjs.map +1 -0
- package/dist/esm/node_modules/call-bind-apply-helpers/functionCall.mjs +13 -0
- package/dist/esm/node_modules/call-bind-apply-helpers/functionCall.mjs.map +1 -0
- package/dist/esm/node_modules/call-bind-apply-helpers/index.mjs +24 -0
- package/dist/esm/node_modules/call-bind-apply-helpers/index.mjs.map +1 -0
- package/dist/esm/node_modules/call-bind-apply-helpers/reflectApply.mjs +13 -0
- package/dist/esm/node_modules/call-bind-apply-helpers/reflectApply.mjs.map +1 -0
- package/dist/esm/node_modules/call-bound/index.mjs +23 -0
- package/dist/esm/node_modules/call-bound/index.mjs.map +1 -0
- package/dist/esm/node_modules/camelcase/index.mjs +75 -0
- package/dist/esm/node_modules/camelcase/index.mjs.map +1 -0
- package/dist/esm/node_modules/define-data-property/index.mjs +41 -0
- package/dist/esm/node_modules/define-data-property/index.mjs.map +1 -0
- package/dist/esm/node_modules/dunder-proto/get.mjs +28 -0
- package/dist/esm/node_modules/dunder-proto/get.mjs.map +1 -0
- package/dist/esm/node_modules/es-define-property/index.mjs +19 -0
- package/dist/esm/node_modules/es-define-property/index.mjs.map +1 -0
- package/dist/esm/node_modules/es-errors/eval.mjs +13 -0
- package/dist/esm/node_modules/es-errors/eval.mjs.map +1 -0
- package/dist/esm/node_modules/es-errors/index.mjs +13 -0
- package/dist/esm/node_modules/es-errors/index.mjs.map +1 -0
- package/dist/esm/node_modules/es-errors/range.mjs +13 -0
- package/dist/esm/node_modules/es-errors/range.mjs.map +1 -0
- package/dist/esm/node_modules/es-errors/ref.mjs +13 -0
- package/dist/esm/node_modules/es-errors/ref.mjs.map +1 -0
- package/dist/esm/node_modules/es-errors/syntax.mjs +13 -0
- package/dist/esm/node_modules/es-errors/syntax.mjs.map +1 -0
- package/dist/esm/node_modules/es-errors/type.mjs +13 -0
- package/dist/esm/node_modules/es-errors/type.mjs.map +1 -0
- package/dist/esm/node_modules/es-errors/uri.mjs +13 -0
- package/dist/esm/node_modules/es-errors/uri.mjs.map +1 -0
- package/dist/esm/node_modules/es-object-atoms/index.mjs +13 -0
- package/dist/esm/node_modules/es-object-atoms/index.mjs.map +1 -0
- package/dist/esm/node_modules/escape-html/index.mjs +68 -0
- package/dist/esm/node_modules/escape-html/index.mjs.map +1 -0
- package/dist/esm/node_modules/fast-xml-parser/src/fxp.mjs +8 -0
- package/dist/esm/node_modules/fast-xml-parser/src/fxp.mjs.map +1 -0
- package/dist/esm/node_modules/fast-xml-parser/src/util.mjs +26 -0
- package/dist/esm/node_modules/fast-xml-parser/src/util.mjs.map +1 -0
- package/dist/esm/node_modules/fast-xml-parser/src/validator.mjs +243 -0
- package/dist/esm/node_modules/fast-xml-parser/src/validator.mjs.map +1 -0
- package/dist/esm/node_modules/for-each/index.mjs +43 -0
- package/dist/esm/node_modules/for-each/index.mjs.map +1 -0
- package/dist/esm/node_modules/function-bind/implementation.mjs +59 -0
- package/dist/esm/node_modules/function-bind/implementation.mjs.map +1 -0
- package/dist/esm/node_modules/function-bind/index.mjs +14 -0
- package/dist/esm/node_modules/function-bind/index.mjs.map +1 -0
- package/dist/esm/node_modules/generator-function/index.mjs +14 -0
- package/dist/esm/node_modules/generator-function/index.mjs.map +1 -0
- package/dist/esm/node_modules/get-intrinsic/index.mjs +358 -0
- package/dist/esm/node_modules/get-intrinsic/index.mjs.map +1 -0
- package/dist/esm/node_modules/get-proto/Object.getPrototypeOf.mjs +15 -0
- package/dist/esm/node_modules/get-proto/Object.getPrototypeOf.mjs.map +1 -0
- package/dist/esm/node_modules/get-proto/Reflect.getPrototypeOf.mjs +13 -0
- package/dist/esm/node_modules/get-proto/Reflect.getPrototypeOf.mjs.map +1 -0
- package/dist/esm/node_modules/get-proto/index.mjs +26 -0
- package/dist/esm/node_modules/get-proto/index.mjs.map +1 -0
- package/dist/esm/node_modules/gopd/gOPD.mjs +13 -0
- package/dist/esm/node_modules/gopd/gOPD.mjs.map +1 -0
- package/dist/esm/node_modules/gopd/index.mjs +20 -0
- package/dist/esm/node_modules/gopd/index.mjs.map +1 -0
- package/dist/esm/node_modules/has-property-descriptors/index.mjs +25 -0
- package/dist/esm/node_modules/has-property-descriptors/index.mjs.map +1 -0
- package/dist/esm/node_modules/has-symbols/index.mjs +22 -0
- package/dist/esm/node_modules/has-symbols/index.mjs.map +1 -0
- package/dist/esm/node_modules/has-symbols/shams.mjs +36 -0
- package/dist/esm/node_modules/has-symbols/shams.mjs.map +1 -0
- package/dist/esm/node_modules/has-tostringtag/shams.mjs +17 -0
- package/dist/esm/node_modules/has-tostringtag/shams.mjs.map +1 -0
- package/dist/esm/node_modules/hasown/index.mjs +17 -0
- package/dist/esm/node_modules/hasown/index.mjs.map +1 -0
- package/dist/esm/node_modules/ieee754/index.mjs +80 -0
- package/dist/esm/node_modules/ieee754/index.mjs.map +1 -0
- package/dist/esm/node_modules/inherits/inherits_browser.mjs +31 -0
- package/dist/esm/node_modules/inherits/inherits_browser.mjs.map +1 -0
- package/dist/esm/node_modules/is-arguments/index.mjs +31 -0
- package/dist/esm/node_modules/is-arguments/index.mjs.map +1 -0
- package/dist/esm/node_modules/is-callable/index.mjs +87 -0
- package/dist/esm/node_modules/is-callable/index.mjs.map +1 -0
- package/dist/esm/node_modules/is-generator-function/index.mjs +32 -0
- package/dist/esm/node_modules/is-generator-function/index.mjs.map +1 -0
- package/dist/esm/node_modules/is-regex/index.mjs +58 -0
- package/dist/esm/node_modules/is-regex/index.mjs.map +1 -0
- package/dist/esm/node_modules/is-typed-array/index.mjs +17 -0
- package/dist/esm/node_modules/is-typed-array/index.mjs.map +1 -0
- package/dist/esm/node_modules/jose/dist/webapi/lib/base64.mjs +12 -0
- package/dist/esm/node_modules/jose/dist/webapi/lib/base64.mjs.map +1 -0
- package/dist/esm/node_modules/jose/dist/webapi/lib/buffer_utils.mjs +8 -0
- package/dist/esm/node_modules/jose/dist/webapi/lib/buffer_utils.mjs.map +1 -0
- package/dist/esm/node_modules/jose/dist/webapi/lib/is_object.mjs +15 -0
- package/dist/esm/node_modules/jose/dist/webapi/lib/is_object.mjs.map +1 -0
- package/dist/esm/node_modules/jose/dist/webapi/util/base64url.mjs +19 -0
- package/dist/esm/node_modules/jose/dist/webapi/util/base64url.mjs.map +1 -0
- package/dist/esm/node_modules/jose/dist/webapi/util/decode_jwt.mjs +31 -0
- package/dist/esm/node_modules/jose/dist/webapi/util/decode_jwt.mjs.map +1 -0
- package/dist/esm/node_modules/jose/dist/webapi/util/errors.mjs +26 -0
- package/dist/esm/node_modules/jose/dist/webapi/util/errors.mjs.map +1 -0
- package/dist/esm/node_modules/math-intrinsics/abs.mjs +13 -0
- package/dist/esm/node_modules/math-intrinsics/abs.mjs.map +1 -0
- package/dist/esm/node_modules/math-intrinsics/floor.mjs +13 -0
- package/dist/esm/node_modules/math-intrinsics/floor.mjs.map +1 -0
- package/dist/esm/node_modules/math-intrinsics/isNaN.mjs +15 -0
- package/dist/esm/node_modules/math-intrinsics/isNaN.mjs.map +1 -0
- package/dist/esm/node_modules/math-intrinsics/max.mjs +13 -0
- package/dist/esm/node_modules/math-intrinsics/max.mjs.map +1 -0
- package/dist/esm/node_modules/math-intrinsics/min.mjs +13 -0
- package/dist/esm/node_modules/math-intrinsics/min.mjs.map +1 -0
- package/dist/esm/node_modules/math-intrinsics/pow.mjs +13 -0
- package/dist/esm/node_modules/math-intrinsics/pow.mjs.map +1 -0
- package/dist/esm/node_modules/math-intrinsics/round.mjs +13 -0
- package/dist/esm/node_modules/math-intrinsics/round.mjs.map +1 -0
- package/dist/esm/node_modules/math-intrinsics/sign.mjs +18 -0
- package/dist/esm/node_modules/math-intrinsics/sign.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/aes.mjs +601 -0
- package/dist/esm/node_modules/node-forge/lib/aes.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/aesCipherSuites.mjs +199 -0
- package/dist/esm/node_modules/node-forge/lib/aesCipherSuites.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/asn1-validator.mjs +80 -0
- package/dist/esm/node_modules/node-forge/lib/asn1-validator.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/asn1.mjs +942 -0
- package/dist/esm/node_modules/node-forge/lib/asn1.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/baseN.mjs +141 -0
- package/dist/esm/node_modules/node-forge/lib/baseN.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/cipher.mjs +190 -0
- package/dist/esm/node_modules/node-forge/lib/cipher.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/cipherModes.mjs +601 -0
- package/dist/esm/node_modules/node-forge/lib/cipherModes.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/des.mjs +1191 -0
- package/dist/esm/node_modules/node-forge/lib/des.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/ed25519.mjs +1024 -0
- package/dist/esm/node_modules/node-forge/lib/ed25519.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/forge.mjs +19 -0
- package/dist/esm/node_modules/node-forge/lib/forge.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/hmac.mjs +111 -0
- package/dist/esm/node_modules/node-forge/lib/hmac.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/index.mjs +70 -0
- package/dist/esm/node_modules/node-forge/lib/index.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/jsbn.mjs +1260 -0
- package/dist/esm/node_modules/node-forge/lib/jsbn.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/kem.mjs +150 -0
- package/dist/esm/node_modules/node-forge/lib/kem.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/log.mjs +245 -0
- package/dist/esm/node_modules/node-forge/lib/log.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/md.all.mjs +28 -0
- package/dist/esm/node_modules/node-forge/lib/md.all.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/md.mjs +22 -0
- package/dist/esm/node_modules/node-forge/lib/md.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/md5.mjs +328 -0
- package/dist/esm/node_modules/node-forge/lib/md5.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/mgf.mjs +24 -0
- package/dist/esm/node_modules/node-forge/lib/mgf.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/mgf1.mjs +48 -0
- package/dist/esm/node_modules/node-forge/lib/mgf1.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/oids.mjs +157 -0
- package/dist/esm/node_modules/node-forge/lib/oids.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/pbe.mjs +819 -0
- package/dist/esm/node_modules/node-forge/lib/pbe.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/pbkdf2.mjs +130 -0
- package/dist/esm/node_modules/node-forge/lib/pbkdf2.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/pem.mjs +179 -0
- package/dist/esm/node_modules/node-forge/lib/pem.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/pkcs1.mjs +204 -0
- package/dist/esm/node_modules/node-forge/lib/pkcs1.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/pkcs12.mjs +727 -0
- package/dist/esm/node_modules/node-forge/lib/pkcs12.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/pkcs7.mjs +645 -0
- package/dist/esm/node_modules/node-forge/lib/pkcs7.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/pkcs7asn1.mjs +409 -0
- package/dist/esm/node_modules/node-forge/lib/pkcs7asn1.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/pki.mjs +105 -0
- package/dist/esm/node_modules/node-forge/lib/pki.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/prime.mjs +197 -0
- package/dist/esm/node_modules/node-forge/lib/prime.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/prng.mjs +295 -0
- package/dist/esm/node_modules/node-forge/lib/prng.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/pss.mjs +145 -0
- package/dist/esm/node_modules/node-forge/lib/pss.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/random.mjs +145 -0
- package/dist/esm/node_modules/node-forge/lib/random.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/rc2.mjs +542 -0
- package/dist/esm/node_modules/node-forge/lib/rc2.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/rsa.mjs +1304 -0
- package/dist/esm/node_modules/node-forge/lib/rsa.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/sha1.mjs +234 -0
- package/dist/esm/node_modules/node-forge/lib/sha1.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/sha256.mjs +271 -0
- package/dist/esm/node_modules/node-forge/lib/sha256.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/sha512.mjs +417 -0
- package/dist/esm/node_modules/node-forge/lib/sha512.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/ssh.mjs +198 -0
- package/dist/esm/node_modules/node-forge/lib/ssh.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/tls.mjs +3659 -0
- package/dist/esm/node_modules/node-forge/lib/tls.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/util.mjs +2121 -0
- package/dist/esm/node_modules/node-forge/lib/util.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib/x509.mjs +2168 -0
- package/dist/esm/node_modules/node-forge/lib/x509.mjs.map +1 -0
- package/dist/esm/node_modules/node-forge/lib.mjs +10 -0
- package/dist/esm/node_modules/node-forge/lib.mjs.map +1 -0
- package/dist/esm/node_modules/node-rsa/src/NodeRSA.mjs +338 -0
- package/dist/esm/node_modules/node-rsa/src/NodeRSA.mjs.map +1 -0
- package/dist/esm/node_modules/node-rsa/src/encryptEngines/encryptEngines.mjs +23 -0
- package/dist/esm/node_modules/node-rsa/src/encryptEngines/encryptEngines.mjs.map +1 -0
- package/dist/esm/node_modules/node-rsa/src/encryptEngines/io.mjs +62 -0
- package/dist/esm/node_modules/node-rsa/src/encryptEngines/io.mjs.map +1 -0
- package/dist/esm/node_modules/node-rsa/src/encryptEngines/js.mjs +41 -0
- package/dist/esm/node_modules/node-rsa/src/encryptEngines/js.mjs.map +1 -0
- package/dist/esm/node_modules/node-rsa/src/encryptEngines/node12.mjs +46 -0
- package/dist/esm/node_modules/node-rsa/src/encryptEngines/node12.mjs.map +1 -0
- package/dist/esm/node_modules/node-rsa/src/formats/components.mjs +52 -0
- package/dist/esm/node_modules/node-rsa/src/formats/components.mjs.map +1 -0
- package/dist/esm/node_modules/node-rsa/src/formats/formats.mjs +83 -0
- package/dist/esm/node_modules/node-rsa/src/formats/formats.mjs.map +1 -0
- package/dist/esm/node_modules/node-rsa/src/formats/openssh.mjs +174 -0
- package/dist/esm/node_modules/node-rsa/src/formats/openssh.mjs.map +1 -0
- package/dist/esm/node_modules/node-rsa/src/formats/pkcs1.mjs +101 -0
- package/dist/esm/node_modules/node-rsa/src/formats/pkcs1.mjs.map +1 -0
- package/dist/esm/node_modules/node-rsa/src/formats/pkcs8.mjs +128 -0
- package/dist/esm/node_modules/node-rsa/src/formats/pkcs8.mjs.map +1 -0
- package/dist/esm/node_modules/node-rsa/src/libs/jsbn.mjs +1344 -0
- package/dist/esm/node_modules/node-rsa/src/libs/jsbn.mjs.map +1 -0
- package/dist/esm/node_modules/node-rsa/src/libs/rsa.mjs +228 -0
- package/dist/esm/node_modules/node-rsa/src/libs/rsa.mjs.map +1 -0
- package/dist/esm/node_modules/node-rsa/src/schemes/oaep.mjs +120 -0
- package/dist/esm/node_modules/node-rsa/src/schemes/oaep.mjs.map +1 -0
- package/dist/esm/node_modules/node-rsa/src/schemes/pkcs1.mjs +172 -0
- package/dist/esm/node_modules/node-rsa/src/schemes/pkcs1.mjs.map +1 -0
- package/dist/esm/node_modules/node-rsa/src/schemes/pss.mjs +120 -0
- package/dist/esm/node_modules/node-rsa/src/schemes/pss.mjs.map +1 -0
- package/dist/esm/node_modules/node-rsa/src/schemes/schemes.mjs +25 -0
- package/dist/esm/node_modules/node-rsa/src/schemes/schemes.mjs.map +1 -0
- package/dist/esm/node_modules/node-rsa/src/utils.mjs +81 -0
- package/dist/esm/node_modules/node-rsa/src/utils.mjs.map +1 -0
- package/dist/esm/node_modules/pako/index.mjs +22 -0
- package/dist/esm/node_modules/pako/index.mjs.map +1 -0
- package/dist/esm/node_modules/pako/lib/deflate.mjs +308 -0
- package/dist/esm/node_modules/pako/lib/deflate.mjs.map +1 -0
- package/dist/esm/node_modules/pako/lib/inflate.mjs +314 -0
- package/dist/esm/node_modules/pako/lib/inflate.mjs.map +1 -0
- package/dist/esm/node_modules/pako/lib/utils/common.mjs +74 -0
- package/dist/esm/node_modules/pako/lib/utils/common.mjs.map +1 -0
- package/dist/esm/node_modules/pako/lib/utils/strings.mjs +128 -0
- package/dist/esm/node_modules/pako/lib/utils/strings.mjs.map +1 -0
- package/dist/esm/node_modules/pako/lib/zlib/adler32.mjs +26 -0
- package/dist/esm/node_modules/pako/lib/zlib/adler32.mjs.map +1 -0
- package/dist/esm/node_modules/pako/lib/zlib/constants.mjs +40 -0
- package/dist/esm/node_modules/pako/lib/zlib/constants.mjs.map +1 -0
- package/dist/esm/node_modules/pako/lib/zlib/crc32.mjs +28 -0
- package/dist/esm/node_modules/pako/lib/zlib/crc32.mjs.map +1 -0
- package/dist/esm/node_modules/pako/lib/zlib/deflate.mjs +886 -0
- package/dist/esm/node_modules/pako/lib/zlib/deflate.mjs.map +1 -0
- package/dist/esm/node_modules/pako/lib/zlib/gzheader.mjs +24 -0
- package/dist/esm/node_modules/pako/lib/zlib/gzheader.mjs.map +1 -0
- package/dist/esm/node_modules/pako/lib/zlib/inffast.mjs +224 -0
- package/dist/esm/node_modules/pako/lib/zlib/inffast.mjs.map +1 -0
- package/dist/esm/node_modules/pako/lib/zlib/inflate.mjs +1035 -0
- package/dist/esm/node_modules/pako/lib/zlib/inflate.mjs.map +1 -0
- package/dist/esm/node_modules/pako/lib/zlib/inftrees.mjs +275 -0
- package/dist/esm/node_modules/pako/lib/zlib/inftrees.mjs.map +1 -0
- package/dist/esm/node_modules/pako/lib/zlib/messages.mjs +22 -0
- package/dist/esm/node_modules/pako/lib/zlib/messages.mjs.map +1 -0
- package/dist/esm/node_modules/pako/lib/zlib/trees.mjs +623 -0
- package/dist/esm/node_modules/pako/lib/zlib/trees.mjs.map +1 -0
- package/dist/esm/node_modules/pako/lib/zlib/zstream.mjs +26 -0
- package/dist/esm/node_modules/pako/lib/zlib/zstream.mjs.map +1 -0
- package/dist/esm/node_modules/possible-typed-array-names/index.mjs +26 -0
- package/dist/esm/node_modules/possible-typed-array-names/index.mjs.map +1 -0
- package/dist/esm/node_modules/safe-regex-test/index.mjs +25 -0
- package/dist/esm/node_modules/safe-regex-test/index.mjs.map +1 -0
- package/dist/esm/node_modules/safer-buffer/safer.mjs +50 -0
- package/dist/esm/node_modules/safer-buffer/safer.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/build/index.mjs +117 -0
- package/dist/esm/node_modules/samlify/build/index.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/build/src/api.mjs +33 -0
- package/dist/esm/node_modules/samlify/build/src/api.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/build/src/binding-post.mjs +504 -0
- package/dist/esm/node_modules/samlify/build/src/binding-post.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/build/src/binding-redirect.mjs +339 -0
- package/dist/esm/node_modules/samlify/build/src/binding-redirect.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/build/src/binding-simplesign.mjs +358 -0
- package/dist/esm/node_modules/samlify/build/src/binding-simplesign.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/build/src/entity-idp.mjs +279 -0
- package/dist/esm/node_modules/samlify/build/src/entity-idp.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/build/src/entity-sp.mjs +142 -0
- package/dist/esm/node_modules/samlify/build/src/entity-sp.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/build/src/entity.mjs +253 -0
- package/dist/esm/node_modules/samlify/build/src/entity.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/build/src/extractor.mjs +352 -0
- package/dist/esm/node_modules/samlify/build/src/extractor.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/build/src/flow.mjs +389 -0
- package/dist/esm/node_modules/samlify/build/src/flow.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/build/src/libsaml.mjs +544 -0
- package/dist/esm/node_modules/samlify/build/src/libsaml.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/build/src/metadata-idp.mjs +171 -0
- package/dist/esm/node_modules/samlify/build/src/metadata-idp.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/build/src/metadata-sp.mjs +214 -0
- package/dist/esm/node_modules/samlify/build/src/metadata-sp.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/build/src/metadata.mjs +200 -0
- package/dist/esm/node_modules/samlify/build/src/metadata.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/build/src/urn.mjs +225 -0
- package/dist/esm/node_modules/samlify/build/src/urn.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/build/src/utility.mjs +277 -0
- package/dist/esm/node_modules/samlify/build/src/utility.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/build/src/validator.mjs +53 -0
- package/dist/esm/node_modules/samlify/build/src/validator.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/index.mjs +39 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/index.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/md5.mjs +154 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/md5.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/nil.mjs +12 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/nil.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/parse.mjs +36 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/parse.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/regex.mjs +12 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/regex.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/rng.mjs +20 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/rng.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/sha1.mjs +101 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/sha1.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/stringify.mjs +22 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/stringify.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v1.mjs +63 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v1.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v3.mjs +17 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v3.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v35.mjs +48 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v35.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v4.mjs +28 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v4.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v5.mjs +17 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/v5.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/validate.mjs +17 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/validate.mjs.map +1 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/version.mjs +18 -0
- package/dist/esm/node_modules/samlify/node_modules/uuid/dist/esm-browser/version.mjs.map +1 -0
- package/dist/esm/node_modules/set-function-length/index.mjs +38 -0
- package/dist/esm/node_modules/set-function-length/index.mjs.map +1 -0
- package/dist/esm/node_modules/util/support/isBufferBrowser.mjs +14 -0
- package/dist/esm/node_modules/util/support/isBufferBrowser.mjs.map +1 -0
- package/dist/esm/node_modules/util/support/types.mjs +218 -0
- package/dist/esm/node_modules/util/support/types.mjs.map +1 -0
- package/dist/esm/node_modules/util/util.mjs +443 -0
- package/dist/esm/node_modules/util/util.mjs.map +1 -0
- package/dist/esm/node_modules/which-typed-array/index.mjs +93 -0
- package/dist/esm/node_modules/which-typed-array/index.mjs.map +1 -0
- package/dist/esm/node_modules/xml/lib/escapeForXML.mjs +24 -0
- package/dist/esm/node_modules/xml/lib/escapeForXML.mjs.map +1 -0
- package/dist/esm/node_modules/xml/lib/xml.mjs +183 -0
- package/dist/esm/node_modules/xml/lib/xml.mjs.map +1 -0
- package/dist/esm/node_modules/xml-crypto/lib/c14n-canonicalization.mjs +199 -0
- package/dist/esm/node_modules/xml-crypto/lib/c14n-canonicalization.mjs.map +1 -0
- package/dist/esm/node_modules/xml-crypto/lib/enveloped-signature.mjs +49 -0
- package/dist/esm/node_modules/xml-crypto/lib/enveloped-signature.mjs.map +1 -0
- package/dist/esm/node_modules/xml-crypto/lib/exclusive-canonicalization.mjs +220 -0
- package/dist/esm/node_modules/xml-crypto/lib/exclusive-canonicalization.mjs.map +1 -0
- package/dist/esm/node_modules/xml-crypto/lib/hash-algorithms.mjs +53 -0
- package/dist/esm/node_modules/xml-crypto/lib/hash-algorithms.mjs.map +1 -0
- package/dist/esm/node_modules/xml-crypto/lib/index.mjs +70 -0
- package/dist/esm/node_modules/xml-crypto/lib/index.mjs.map +1 -0
- package/dist/esm/node_modules/xml-crypto/lib/signature-algorithms.mjs +88 -0
- package/dist/esm/node_modules/xml-crypto/lib/signature-algorithms.mjs.map +1 -0
- package/dist/esm/node_modules/xml-crypto/lib/signed-xml.mjs +693 -0
- package/dist/esm/node_modules/xml-crypto/lib/signed-xml.mjs.map +1 -0
- package/dist/esm/node_modules/xml-crypto/lib/types.mjs +55 -0
- package/dist/esm/node_modules/xml-crypto/lib/types.mjs.map +1 -0
- package/dist/esm/node_modules/xml-crypto/lib/utils.mjs +210 -0
- package/dist/esm/node_modules/xml-crypto/lib/utils.mjs.map +1 -0
- package/dist/esm/node_modules/xml-crypto/node_modules/xpath/xpath.mjs +3442 -0
- package/dist/esm/node_modules/xml-crypto/node_modules/xpath/xpath.mjs.map +1 -0
- package/dist/esm/node_modules/xml-escape/index.mjs +27 -0
- package/dist/esm/node_modules/xml-escape/index.mjs.map +1 -0
- package/dist/esm/node_modules/xpath/xpath.mjs +3407 -0
- package/dist/esm/node_modules/xpath/xpath.mjs.map +1 -0
- package/dist/esm/node_modules/zod/v4/classic/errors.mjs +30 -0
- package/dist/esm/node_modules/zod/v4/classic/errors.mjs.map +1 -0
- package/dist/esm/node_modules/zod/v4/classic/iso.mjs +38 -0
- package/dist/esm/node_modules/zod/v4/classic/iso.mjs.map +1 -0
- package/dist/esm/node_modules/zod/v4/classic/parse.mjs +20 -0
- package/dist/esm/node_modules/zod/v4/classic/parse.mjs.map +1 -0
- package/dist/esm/node_modules/zod/v4/classic/schemas.mjs +519 -0
- package/dist/esm/node_modules/zod/v4/classic/schemas.mjs.map +1 -0
- package/dist/esm/node_modules/zod/v4/core/api.mjs +395 -0
- package/dist/esm/node_modules/zod/v4/core/api.mjs.map +1 -0
- package/dist/esm/node_modules/zod/v4/core/checks.mjs +226 -0
- package/dist/esm/node_modules/zod/v4/core/checks.mjs.map +1 -0
- package/dist/esm/node_modules/zod/v4/core/core.mjs +57 -0
- package/dist/esm/node_modules/zod/v4/core/core.mjs.map +1 -0
- package/dist/esm/node_modules/zod/v4/core/doc.mjs +34 -0
- package/dist/esm/node_modules/zod/v4/core/doc.mjs.map +1 -0
- package/dist/esm/node_modules/zod/v4/core/errors.mjs +63 -0
- package/dist/esm/node_modules/zod/v4/core/errors.mjs.map +1 -0
- package/dist/esm/node_modules/zod/v4/core/parse.mjs +110 -0
- package/dist/esm/node_modules/zod/v4/core/parse.mjs.map +1 -0
- package/dist/esm/node_modules/zod/v4/core/regexes.mjs +60 -0
- package/dist/esm/node_modules/zod/v4/core/regexes.mjs.map +1 -0
- package/dist/esm/node_modules/zod/v4/core/registries.mjs +53 -0
- package/dist/esm/node_modules/zod/v4/core/registries.mjs.map +1 -0
- package/dist/esm/node_modules/zod/v4/core/schemas.mjs +1069 -0
- package/dist/esm/node_modules/zod/v4/core/schemas.mjs.map +1 -0
- package/dist/esm/node_modules/zod/v4/core/util.mjs +302 -0
- package/dist/esm/node_modules/zod/v4/core/util.mjs.map +1 -0
- package/dist/esm/node_modules/zod/v4/core/versions.mjs +10 -0
- package/dist/esm/node_modules/zod/v4/core/versions.mjs.map +1 -0
- package/dist/esm/schemas/user.schema.mjs +17 -0
- package/dist/esm/schemas/user.schema.mjs.map +1 -1
- package/dist/esm/services/dictionary.service.mjs +8 -31
- package/dist/esm/services/dictionary.service.mjs.map +1 -1
- package/dist/esm/services/email.service.mjs +13 -0
- package/dist/esm/services/email.service.mjs.map +1 -1
- package/dist/esm/types/user.types.mjs.map +1 -1
- package/dist/esm/utils/auth/getAuth.mjs +61 -27
- package/dist/esm/utils/auth/getAuth.mjs.map +1 -1
- package/dist/esm/utils/mongoDB/connectDB.mjs.map +1 -1
- package/dist/types/MagicLinkEmail.d.ts +8 -0
- package/dist/types/MagicLinkEmail.d.ts.map +1 -0
- package/dist/types/controllers/ai.controller.d.ts.map +1 -1
- package/dist/types/controllers/dictionary.controller.d.ts +18 -5
- package/dist/types/controllers/dictionary.controller.d.ts.map +1 -1
- package/dist/types/controllers/projectAccessKey.controller.d.ts.map +1 -1
- package/dist/types/controllers/stripe.controller.d.ts.map +1 -1
- package/dist/types/emails/InviteUserEmail.d.ts +4 -4
- package/dist/types/emails/MagicLinkEmail.d.ts +31 -0
- package/dist/types/emails/MagicLinkEmail.d.ts.map +1 -0
- package/dist/types/emails/OAuthTokenCreatedEmail.d.ts +4 -4
- package/dist/types/emails/OAuthTokenCreatedEmail.d.ts.map +1 -1
- package/dist/types/emails/PasswordChangeConfirmation.d.ts +4 -4
- package/dist/types/emails/PasswordChangeConfirmation.d.ts.map +1 -1
- package/dist/types/emails/ResetUserPassword.d.ts +4 -4
- package/dist/types/emails/SubscriptionPaymentCancellation.d.ts +4 -4
- package/dist/types/emails/SubscriptionPaymentCancellation.d.ts.map +1 -1
- package/dist/types/emails/SubscriptionPaymentError.d.ts +4 -4
- package/dist/types/emails/SubscriptionPaymentError.d.ts.map +1 -1
- package/dist/types/emails/SubscriptionPaymentSuccess.d.ts +4 -4
- package/dist/types/emails/ValidateUserEmail.d.ts +4 -4
- package/dist/types/emails/Welcome.d.ts +4 -4
- package/dist/types/export.d.ts +1 -3
- package/dist/types/models/dictionary.model.d.ts +4 -4
- package/dist/types/models/dictionary.model.d.ts.map +1 -1
- package/dist/types/models/discussion.model.d.ts +2 -2
- package/dist/types/models/discussion.model.d.ts.map +1 -1
- package/dist/types/models/oAuth2.model.d.ts +3 -3
- package/dist/types/models/oAuth2.model.d.ts.map +1 -1
- package/dist/types/routes/ai.routes.d.ts.map +1 -1
- package/dist/types/routes/newsletter.routes.d.ts.map +1 -1
- package/dist/types/schemas/dictionary.schema.d.ts +6 -6
- package/dist/types/schemas/discussion.schema.d.ts +6 -6
- package/dist/types/schemas/discussion.schema.d.ts.map +1 -1
- package/dist/types/schemas/oAuth2.schema.d.ts +5 -5
- package/dist/types/schemas/oAuth2.schema.d.ts.map +1 -1
- package/dist/types/schemas/organization.schema.d.ts +6 -6
- package/dist/types/schemas/session.schema.d.ts +6 -6
- package/dist/types/schemas/tag.schema.d.ts +6 -6
- package/dist/types/schemas/user.schema.d.ts +6 -6
- package/dist/types/schemas/user.schema.d.ts.map +1 -1
- package/dist/types/services/dictionary.service.d.ts +1 -12
- package/dist/types/services/dictionary.service.d.ts.map +1 -1
- package/dist/types/services/email.service.d.ts +21 -10
- package/dist/types/services/email.service.d.ts.map +1 -1
- package/dist/types/types/dictionary.types.d.ts +1 -0
- package/dist/types/types/dictionary.types.d.ts.map +1 -1
- package/dist/types/types/user.types.d.ts +1 -0
- package/dist/types/types/user.types.d.ts.map +1 -1
- package/dist/types/utils/auth/getAuth.d.ts.map +1 -1
- package/dist/types/utils/filtersAndPagination/getDictionaryFiltersAndPagination.d.ts +2 -2
- package/dist/types/utils/filtersAndPagination/getDiscussionFiltersAndPagination.d.ts +2 -2
- package/dist/types/utils/filtersAndPagination/getOrganizationFiltersAndPagination.d.ts +2 -2
- package/dist/types/utils/filtersAndPagination/getProjectFiltersAndPagination.d.ts +2 -2
- package/dist/types/utils/filtersAndPagination/getTagFiltersAndPagination.d.ts +2 -2
- package/dist/types/utils/mongoDB/connectDB.d.ts +2 -2
- package/dist/types/utils/mongoDB/connectDB.d.ts.map +1 -1
- package/package.json +38 -33
- package/dist/assets/controllers/test.json +0 -4
- package/dist/cjs/routes/audit.routes.cjs +0 -35
- package/dist/cjs/routes/audit.routes.cjs.map +0 -1
- package/dist/cjs/schemas/audit.schema.cjs +0 -65
- package/dist/cjs/schemas/audit.schema.cjs.map +0 -1
- package/dist/cjs/services/audit.service.cjs +0 -49
- package/dist/cjs/services/audit.service.cjs.map +0 -1
- package/dist/cjs/types/audit.types.cjs +0 -0
- package/dist/esm/routes/audit.routes.mjs +0 -31
- package/dist/esm/routes/audit.routes.mjs.map +0 -1
- package/dist/esm/schemas/audit.schema.mjs +0 -63
- package/dist/esm/schemas/audit.schema.mjs.map +0 -1
- package/dist/esm/services/audit.service.mjs +0 -46
- package/dist/esm/services/audit.service.mjs.map +0 -1
- package/dist/esm/types/audit.types.mjs +0 -0
- package/dist/types/emails/index.d.ts.map +0 -1
- package/dist/types/export.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/routes/audit.routes.d.ts +0 -29
- package/dist/types/routes/audit.routes.d.ts.map +0 -1
- package/dist/types/schemas/audit.schema.d.ts +0 -19
- package/dist/types/schemas/audit.schema.d.ts.map +0 -1
- package/dist/types/services/audit.service.d.ts +0 -36
- package/dist/types/services/audit.service.d.ts.map +0 -1
- package/dist/types/types/audit.types.d.ts +0 -29
- package/dist/types/types/audit.types.d.ts.map +0 -1
- package/dist/types/utils/access.d.ts.map +0 -1
- package/dist/types/utils/errors/index.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsbn.cjs","names":[],"sources":["../../../../../../../../node_modules/node-rsa/src/libs/jsbn.js"],"sourcesContent":["/*\r\n * Basic JavaScript BN library - subset useful for RSA encryption.\r\n * \r\n * Copyright (c) 2003-2005 Tom Wu\r\n * All Rights Reserved.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining\r\n * a copy of this software and associated documentation files (the\r\n * \"Software\"), to deal in the Software without restriction, including\r\n * without limitation the rights to use, copy, modify, merge, publish,\r\n * distribute, sublicense, and/or sell copies of the Software, and to\r\n * permit persons to whom the Software is furnished to do so, subject to\r\n * the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be\r\n * included in all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS-IS\" AND WITHOUT WARRANTY OF ANY KIND, \r\n * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY \r\n * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. \r\n *\r\n * IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL,\r\n * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER\r\n * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF\r\n * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT\r\n * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\r\n *\r\n * In addition, the following condition applies:\r\n *\r\n * All redistributions must retain an intact copy of this copyright notice\r\n * and disclaimer.\r\n */\r\n\r\n/*\r\n * Added Node.js Buffers support\r\n * 2014 rzcoder\r\n */\r\n\r\nvar crypt = require('crypto');\r\nvar _ = require('../utils')._;\r\n\r\n// Bits per digit\r\nvar dbits;\r\n\r\n// JavaScript engine analysis\r\nvar canary = 0xdeadbeefcafe;\r\nvar j_lm = ((canary & 0xffffff) == 0xefcafe);\r\n\r\n// (public) Constructor\r\nfunction BigInteger(a, b) {\r\n if (a != null) {\r\n if (\"number\" == typeof a) {\r\n this.fromNumber(a, b);\r\n } else if (Buffer.isBuffer(a)) {\r\n this.fromBuffer(a);\r\n } else if (b == null && \"string\" != typeof a) {\r\n this.fromByteArray(a);\r\n } else {\r\n this.fromString(a, b);\r\n }\r\n }\r\n}\r\n\r\n// return new, unset BigInteger\r\nfunction nbi() {\r\n return new BigInteger(null);\r\n}\r\n\r\n// am: Compute w_j += (x*this_i), propagate carries,\r\n// c is initial carry, returns final carry.\r\n// c < 3*dvalue, x < 2*dvalue, this_i < dvalue\r\n// We need to select the fastest one that works in this environment.\r\n\r\n// am1: use a single mult and divide to get the high bits,\r\n// max digit bits should be 26 because\r\n// max internal value = 2*dvalue^2-2*dvalue (< 2^53)\r\nfunction am1(i, x, w, j, c, n) {\r\n while (--n >= 0) {\r\n var v = x * this[i++] + w[j] + c;\r\n c = Math.floor(v / 0x4000000);\r\n w[j++] = v & 0x3ffffff;\r\n }\r\n return c;\r\n}\r\n// am2 avoids a big mult-and-extract completely.\r\n// Max digit bits should be <= 30 because we do bitwise ops\r\n// on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)\r\nfunction am2(i, x, w, j, c, n) {\r\n var xl = x & 0x7fff, xh = x >> 15;\r\n while (--n >= 0) {\r\n var l = this[i] & 0x7fff;\r\n var h = this[i++] >> 15;\r\n var m = xh * l + h * xl;\r\n l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff);\r\n c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30);\r\n w[j++] = l & 0x3fffffff;\r\n }\r\n return c;\r\n}\r\n// Alternately, set max digit bits to 28 since some\r\n// browsers slow down when dealing with 32-bit numbers.\r\nfunction am3(i, x, w, j, c, n) {\r\n var xl = x & 0x3fff, xh = x >> 14;\r\n while (--n >= 0) {\r\n var l = this[i] & 0x3fff;\r\n var h = this[i++] >> 14;\r\n var m = xh * l + h * xl;\r\n l = xl * l + ((m & 0x3fff) << 14) + w[j] + c;\r\n c = (l >> 28) + (m >> 14) + xh * h;\r\n w[j++] = l & 0xfffffff;\r\n }\r\n return c;\r\n}\r\n\r\n// We need to select the fastest one that works in this environment. \r\n//if (j_lm && (navigator.appName == \"Microsoft Internet Explorer\")) {\r\n//\tBigInteger.prototype.am = am2;\r\n//\tdbits = 30;\r\n//} else if (j_lm && (navigator.appName != \"Netscape\")) {\r\n//\tBigInteger.prototype.am = am1;\r\n//\tdbits = 26;\r\n//} else { // Mozilla/Netscape seems to prefer am3\r\n//\tBigInteger.prototype.am = am3;\r\n//\tdbits = 28;\r\n//}\r\n\r\n// For node.js, we pick am3 with max dbits to 28.\r\nBigInteger.prototype.am = am3;\r\ndbits = 28;\r\n\r\nBigInteger.prototype.DB = dbits;\r\nBigInteger.prototype.DM = ((1 << dbits) - 1);\r\nBigInteger.prototype.DV = (1 << dbits);\r\n\r\nvar BI_FP = 52;\r\nBigInteger.prototype.FV = Math.pow(2, BI_FP);\r\nBigInteger.prototype.F1 = BI_FP - dbits;\r\nBigInteger.prototype.F2 = 2 * dbits - BI_FP;\r\n\r\n// Digit conversions\r\nvar BI_RM = \"0123456789abcdefghijklmnopqrstuvwxyz\";\r\nvar BI_RC = new Array();\r\nvar rr, vv;\r\nrr = \"0\".charCodeAt(0);\r\nfor (vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv;\r\nrr = \"a\".charCodeAt(0);\r\nfor (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;\r\nrr = \"A\".charCodeAt(0);\r\nfor (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;\r\n\r\nfunction int2char(n) {\r\n return BI_RM.charAt(n);\r\n}\r\nfunction intAt(s, i) {\r\n var c = BI_RC[s.charCodeAt(i)];\r\n return (c == null) ? -1 : c;\r\n}\r\n\r\n// (protected) copy this to r\r\nfunction bnpCopyTo(r) {\r\n for (var i = this.t - 1; i >= 0; --i) r[i] = this[i];\r\n r.t = this.t;\r\n r.s = this.s;\r\n}\r\n\r\n// (protected) set from integer value x, -DV <= x < DV\r\nfunction bnpFromInt(x) {\r\n this.t = 1;\r\n this.s = (x < 0) ? -1 : 0;\r\n if (x > 0) this[0] = x;\r\n else if (x < -1) this[0] = x + DV;\r\n else this.t = 0;\r\n}\r\n\r\n// return bigint initialized to value\r\nfunction nbv(i) {\r\n var r = nbi();\r\n r.fromInt(i);\r\n return r;\r\n}\r\n\r\n// (protected) set from string and radix\r\nfunction bnpFromString(data, radix, unsigned) {\r\n var k;\r\n switch (radix) {\r\n case 2:\r\n k = 1;\r\n break;\r\n case 4:\r\n k = 2;\r\n break;\r\n case 8:\r\n k = 3;\r\n break;\r\n case 16:\r\n k = 4;\r\n break;\r\n case 32:\r\n k = 5;\r\n break;\r\n case 256:\r\n k = 8;\r\n break;\r\n default:\r\n this.fromRadix(data, radix);\r\n return;\r\n }\r\n\r\n this.t = 0;\r\n this.s = 0;\r\n\r\n var i = data.length;\r\n var mi = false;\r\n var sh = 0;\r\n\r\n while (--i >= 0) {\r\n var x = (k == 8) ? data[i] & 0xff : intAt(data, i);\r\n if (x < 0) {\r\n if (data.charAt(i) == \"-\") mi = true;\r\n continue;\r\n }\r\n mi = false;\r\n if (sh === 0)\r\n this[this.t++] = x;\r\n else if (sh + k > this.DB) {\r\n this[this.t - 1] |= (x & ((1 << (this.DB - sh)) - 1)) << sh;\r\n this[this.t++] = (x >> (this.DB - sh));\r\n }\r\n else\r\n this[this.t - 1] |= x << sh;\r\n sh += k;\r\n if (sh >= this.DB) sh -= this.DB;\r\n }\r\n if ((!unsigned) && k == 8 && (data[0] & 0x80) != 0) {\r\n this.s = -1;\r\n if (sh > 0) this[this.t - 1] |= ((1 << (this.DB - sh)) - 1) << sh;\r\n }\r\n this.clamp();\r\n if (mi) BigInteger.ZERO.subTo(this, this);\r\n}\r\n\r\nfunction bnpFromByteArray(a, unsigned) {\r\n this.fromString(a, 256, unsigned)\r\n}\r\n\r\nfunction bnpFromBuffer(a) {\r\n this.fromString(a, 256, true)\r\n}\r\n\r\n// (protected) clamp off excess high words\r\nfunction bnpClamp() {\r\n var c = this.s & this.DM;\r\n while (this.t > 0 && this[this.t - 1] == c) --this.t;\r\n}\r\n\r\n// (public) return string representation in given radix\r\nfunction bnToString(b) {\r\n if (this.s < 0) return \"-\" + this.negate().toString(b);\r\n var k;\r\n if (b == 16) k = 4;\r\n else if (b == 8) k = 3;\r\n else if (b == 2) k = 1;\r\n else if (b == 32) k = 5;\r\n else if (b == 4) k = 2;\r\n else return this.toRadix(b);\r\n var km = (1 << k) - 1, d, m = false, r = \"\", i = this.t;\r\n var p = this.DB - (i * this.DB) % k;\r\n if (i-- > 0) {\r\n if (p < this.DB && (d = this[i] >> p) > 0) {\r\n m = true;\r\n r = int2char(d);\r\n }\r\n while (i >= 0) {\r\n if (p < k) {\r\n d = (this[i] & ((1 << p) - 1)) << (k - p);\r\n d |= this[--i] >> (p += this.DB - k);\r\n }\r\n else {\r\n d = (this[i] >> (p -= k)) & km;\r\n if (p <= 0) {\r\n p += this.DB;\r\n --i;\r\n }\r\n }\r\n if (d > 0) m = true;\r\n if (m) r += int2char(d);\r\n }\r\n }\r\n return m ? r : \"0\";\r\n}\r\n\r\n// (public) -this\r\nfunction bnNegate() {\r\n var r = nbi();\r\n BigInteger.ZERO.subTo(this, r);\r\n return r;\r\n}\r\n\r\n// (public) |this|\r\nfunction bnAbs() {\r\n return (this.s < 0) ? this.negate() : this;\r\n}\r\n\r\n// (public) return + if this > a, - if this < a, 0 if equal\r\nfunction bnCompareTo(a) {\r\n var r = this.s - a.s;\r\n if (r != 0) return r;\r\n var i = this.t;\r\n r = i - a.t;\r\n if (r != 0) return (this.s < 0) ? -r : r;\r\n while (--i >= 0) if ((r = this[i] - a[i]) != 0) return r;\r\n return 0;\r\n}\r\n\r\n// returns bit length of the integer x\r\nfunction nbits(x) {\r\n var r = 1, t;\r\n if ((t = x >>> 16) != 0) {\r\n x = t;\r\n r += 16;\r\n }\r\n if ((t = x >> 8) != 0) {\r\n x = t;\r\n r += 8;\r\n }\r\n if ((t = x >> 4) != 0) {\r\n x = t;\r\n r += 4;\r\n }\r\n if ((t = x >> 2) != 0) {\r\n x = t;\r\n r += 2;\r\n }\r\n if ((t = x >> 1) != 0) {\r\n x = t;\r\n r += 1;\r\n }\r\n return r;\r\n}\r\n\r\n// (public) return the number of bits in \"this\"\r\nfunction bnBitLength() {\r\n if (this.t <= 0) return 0;\r\n return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ (this.s & this.DM));\r\n}\r\n\r\n// (protected) r = this << n*DB\r\nfunction bnpDLShiftTo(n, r) {\r\n var i;\r\n for (i = this.t - 1; i >= 0; --i) r[i + n] = this[i];\r\n for (i = n - 1; i >= 0; --i) r[i] = 0;\r\n r.t = this.t + n;\r\n r.s = this.s;\r\n}\r\n\r\n// (protected) r = this >> n*DB\r\nfunction bnpDRShiftTo(n, r) {\r\n for (var i = n; i < this.t; ++i) r[i - n] = this[i];\r\n r.t = Math.max(this.t - n, 0);\r\n r.s = this.s;\r\n}\r\n\r\n// (protected) r = this << n\r\nfunction bnpLShiftTo(n, r) {\r\n var bs = n % this.DB;\r\n var cbs = this.DB - bs;\r\n var bm = (1 << cbs) - 1;\r\n var ds = Math.floor(n / this.DB), c = (this.s << bs) & this.DM, i;\r\n for (i = this.t - 1; i >= 0; --i) {\r\n r[i + ds + 1] = (this[i] >> cbs) | c;\r\n c = (this[i] & bm) << bs;\r\n }\r\n for (i = ds - 1; i >= 0; --i) r[i] = 0;\r\n r[ds] = c;\r\n r.t = this.t + ds + 1;\r\n r.s = this.s;\r\n r.clamp();\r\n}\r\n\r\n// (protected) r = this >> n\r\nfunction bnpRShiftTo(n, r) {\r\n r.s = this.s;\r\n var ds = Math.floor(n / this.DB);\r\n if (ds >= this.t) {\r\n r.t = 0;\r\n return;\r\n }\r\n var bs = n % this.DB;\r\n var cbs = this.DB - bs;\r\n var bm = (1 << bs) - 1;\r\n r[0] = this[ds] >> bs;\r\n for (var i = ds + 1; i < this.t; ++i) {\r\n r[i - ds - 1] |= (this[i] & bm) << cbs;\r\n r[i - ds] = this[i] >> bs;\r\n }\r\n if (bs > 0) r[this.t - ds - 1] |= (this.s & bm) << cbs;\r\n r.t = this.t - ds;\r\n r.clamp();\r\n}\r\n\r\n// (protected) r = this - a\r\nfunction bnpSubTo(a, r) {\r\n var i = 0, c = 0, m = Math.min(a.t, this.t);\r\n while (i < m) {\r\n c += this[i] - a[i];\r\n r[i++] = c & this.DM;\r\n c >>= this.DB;\r\n }\r\n if (a.t < this.t) {\r\n c -= a.s;\r\n while (i < this.t) {\r\n c += this[i];\r\n r[i++] = c & this.DM;\r\n c >>= this.DB;\r\n }\r\n c += this.s;\r\n }\r\n else {\r\n c += this.s;\r\n while (i < a.t) {\r\n c -= a[i];\r\n r[i++] = c & this.DM;\r\n c >>= this.DB;\r\n }\r\n c -= a.s;\r\n }\r\n r.s = (c < 0) ? -1 : 0;\r\n if (c < -1) r[i++] = this.DV + c;\r\n else if (c > 0) r[i++] = c;\r\n r.t = i;\r\n r.clamp();\r\n}\r\n\r\n// (protected) r = this * a, r != this,a (HAC 14.12)\r\n// \"this\" should be the larger one if appropriate.\r\nfunction bnpMultiplyTo(a, r) {\r\n var x = this.abs(), y = a.abs();\r\n var i = x.t;\r\n r.t = i + y.t;\r\n while (--i >= 0) r[i] = 0;\r\n for (i = 0; i < y.t; ++i) r[i + x.t] = x.am(0, y[i], r, i, 0, x.t);\r\n r.s = 0;\r\n r.clamp();\r\n if (this.s != a.s) BigInteger.ZERO.subTo(r, r);\r\n}\r\n\r\n// (protected) r = this^2, r != this (HAC 14.16)\r\nfunction bnpSquareTo(r) {\r\n var x = this.abs();\r\n var i = r.t = 2 * x.t;\r\n while (--i >= 0) r[i] = 0;\r\n for (i = 0; i < x.t - 1; ++i) {\r\n var c = x.am(i, x[i], r, 2 * i, 0, 1);\r\n if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) {\r\n r[i + x.t] -= x.DV;\r\n r[i + x.t + 1] = 1;\r\n }\r\n }\r\n if (r.t > 0) r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1);\r\n r.s = 0;\r\n r.clamp();\r\n}\r\n\r\n// (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)\r\n// r != q, this != m. q or r may be null.\r\nfunction bnpDivRemTo(m, q, r) {\r\n var pm = m.abs();\r\n if (pm.t <= 0) return;\r\n var pt = this.abs();\r\n if (pt.t < pm.t) {\r\n if (q != null) q.fromInt(0);\r\n if (r != null) this.copyTo(r);\r\n return;\r\n }\r\n if (r == null) r = nbi();\r\n var y = nbi(), ts = this.s, ms = m.s;\r\n var nsh = this.DB - nbits(pm[pm.t - 1]);\t// normalize modulus\r\n if (nsh > 0) {\r\n pm.lShiftTo(nsh, y);\r\n pt.lShiftTo(nsh, r);\r\n }\r\n else {\r\n pm.copyTo(y);\r\n pt.copyTo(r);\r\n }\r\n var ys = y.t;\r\n var y0 = y[ys - 1];\r\n if (y0 === 0) return;\r\n var yt = y0 * (1 << this.F1) + ((ys > 1) ? y[ys - 2] >> this.F2 : 0);\r\n var d1 = this.FV / yt, d2 = (1 << this.F1) / yt, e = 1 << this.F2;\r\n var i = r.t, j = i - ys, t = (q == null) ? nbi() : q;\r\n y.dlShiftTo(j, t);\r\n if (r.compareTo(t) >= 0) {\r\n r[r.t++] = 1;\r\n r.subTo(t, r);\r\n }\r\n BigInteger.ONE.dlShiftTo(ys, t);\r\n t.subTo(y, y);\t// \"negative\" y so we can replace sub with am later\r\n while (y.t < ys) y[y.t++] = 0;\r\n while (--j >= 0) {\r\n // Estimate quotient digit\r\n var qd = (r[--i] == y0) ? this.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2);\r\n if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) {\t// Try it out\r\n y.dlShiftTo(j, t);\r\n r.subTo(t, r);\r\n while (r[i] < --qd) r.subTo(t, r);\r\n }\r\n }\r\n if (q != null) {\r\n r.drShiftTo(ys, q);\r\n if (ts != ms) BigInteger.ZERO.subTo(q, q);\r\n }\r\n r.t = ys;\r\n r.clamp();\r\n if (nsh > 0) r.rShiftTo(nsh, r);\t// Denormalize remainder\r\n if (ts < 0) BigInteger.ZERO.subTo(r, r);\r\n}\r\n\r\n// (public) this mod a\r\nfunction bnMod(a) {\r\n var r = nbi();\r\n this.abs().divRemTo(a, null, r);\r\n if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r, r);\r\n return r;\r\n}\r\n\r\n// Modular reduction using \"classic\" algorithm\r\nfunction Classic(m) {\r\n this.m = m;\r\n}\r\nfunction cConvert(x) {\r\n if (x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m);\r\n else return x;\r\n}\r\nfunction cRevert(x) {\r\n return x;\r\n}\r\nfunction cReduce(x) {\r\n x.divRemTo(this.m, null, x);\r\n}\r\nfunction cMulTo(x, y, r) {\r\n x.multiplyTo(y, r);\r\n this.reduce(r);\r\n}\r\nfunction cSqrTo(x, r) {\r\n x.squareTo(r);\r\n this.reduce(r);\r\n}\r\n\r\nClassic.prototype.convert = cConvert;\r\nClassic.prototype.revert = cRevert;\r\nClassic.prototype.reduce = cReduce;\r\nClassic.prototype.mulTo = cMulTo;\r\nClassic.prototype.sqrTo = cSqrTo;\r\n\r\n// (protected) return \"-1/this % 2^DB\"; useful for Mont. reduction\r\n// justification:\r\n// xy == 1 (mod m)\r\n// xy = 1+km\r\n// xy(2-xy) = (1+km)(1-km)\r\n// x[y(2-xy)] = 1-k^2m^2\r\n// x[y(2-xy)] == 1 (mod m^2)\r\n// if y is 1/x mod m, then y(2-xy) is 1/x mod m^2\r\n// should reduce x and y(2-xy) by m^2 at each step to keep size bounded.\r\n// JS multiply \"overflows\" differently from C/C++, so care is needed here.\r\nfunction bnpInvDigit() {\r\n if (this.t < 1) return 0;\r\n var x = this[0];\r\n if ((x & 1) === 0) return 0;\r\n var y = x & 3;\t\t// y == 1/x mod 2^2\r\n y = (y * (2 - (x & 0xf) * y)) & 0xf;\t// y == 1/x mod 2^4\r\n y = (y * (2 - (x & 0xff) * y)) & 0xff;\t// y == 1/x mod 2^8\r\n y = (y * (2 - (((x & 0xffff) * y) & 0xffff))) & 0xffff;\t// y == 1/x mod 2^16\r\n // last step - calculate inverse mod DV directly;\r\n // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints\r\n y = (y * (2 - x * y % this.DV)) % this.DV;\t\t// y == 1/x mod 2^dbits\r\n // we really want the negative inverse, and -DV < y < DV\r\n return (y > 0) ? this.DV - y : -y;\r\n}\r\n\r\n// Montgomery reduction\r\nfunction Montgomery(m) {\r\n this.m = m;\r\n this.mp = m.invDigit();\r\n this.mpl = this.mp & 0x7fff;\r\n this.mph = this.mp >> 15;\r\n this.um = (1 << (m.DB - 15)) - 1;\r\n this.mt2 = 2 * m.t;\r\n}\r\n\r\n// xR mod m\r\nfunction montConvert(x) {\r\n var r = nbi();\r\n x.abs().dlShiftTo(this.m.t, r);\r\n r.divRemTo(this.m, null, r);\r\n if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r, r);\r\n return r;\r\n}\r\n\r\n// x/R mod m\r\nfunction montRevert(x) {\r\n var r = nbi();\r\n x.copyTo(r);\r\n this.reduce(r);\r\n return r;\r\n}\r\n\r\n// x = x/R mod m (HAC 14.32)\r\nfunction montReduce(x) {\r\n while (x.t <= this.mt2)\t// pad x so am has enough room later\r\n x[x.t++] = 0;\r\n for (var i = 0; i < this.m.t; ++i) {\r\n // faster way of calculating u0 = x[i]*mp mod DV\r\n var j = x[i] & 0x7fff;\r\n var u0 = (j * this.mpl + (((j * this.mph + (x[i] >> 15) * this.mpl) & this.um) << 15)) & x.DM;\r\n // use am to combine the multiply-shift-add into one call\r\n j = i + this.m.t;\r\n x[j] += this.m.am(0, u0, x, i, 0, this.m.t);\r\n // propagate carry\r\n while (x[j] >= x.DV) {\r\n x[j] -= x.DV;\r\n x[++j]++;\r\n }\r\n }\r\n x.clamp();\r\n x.drShiftTo(this.m.t, x);\r\n if (x.compareTo(this.m) >= 0) x.subTo(this.m, x);\r\n}\r\n\r\n// r = \"x^2/R mod m\"; x != r\r\nfunction montSqrTo(x, r) {\r\n x.squareTo(r);\r\n this.reduce(r);\r\n}\r\n\r\n// r = \"xy/R mod m\"; x,y != r\r\nfunction montMulTo(x, y, r) {\r\n x.multiplyTo(y, r);\r\n this.reduce(r);\r\n}\r\n\r\nMontgomery.prototype.convert = montConvert;\r\nMontgomery.prototype.revert = montRevert;\r\nMontgomery.prototype.reduce = montReduce;\r\nMontgomery.prototype.mulTo = montMulTo;\r\nMontgomery.prototype.sqrTo = montSqrTo;\r\n\r\n// (protected) true iff this is even\r\nfunction bnpIsEven() {\r\n return ((this.t > 0) ? (this[0] & 1) : this.s) === 0;\r\n}\r\n\r\n// (protected) this^e, e < 2^32, doing sqr and mul with \"r\" (HAC 14.79)\r\nfunction bnpExp(e, z) {\r\n if (e > 0xffffffff || e < 1) return BigInteger.ONE;\r\n var r = nbi(), r2 = nbi(), g = z.convert(this), i = nbits(e) - 1;\r\n g.copyTo(r);\r\n while (--i >= 0) {\r\n z.sqrTo(r, r2);\r\n if ((e & (1 << i)) > 0) z.mulTo(r2, g, r);\r\n else {\r\n var t = r;\r\n r = r2;\r\n r2 = t;\r\n }\r\n }\r\n return z.revert(r);\r\n}\r\n\r\n// (public) this^e % m, 0 <= e < 2^32\r\nfunction bnModPowInt(e, m) {\r\n var z;\r\n if (e < 256 || m.isEven()) z = new Classic(m); else z = new Montgomery(m);\r\n return this.exp(e, z);\r\n}\r\n\r\n// Copyright (c) 2005-2009 Tom Wu\r\n// All Rights Reserved.\r\n// See \"LICENSE\" for details.\r\n\r\n// Extended JavaScript BN functions, required for RSA private ops.\r\n\r\n// Version 1.1: new BigInteger(\"0\", 10) returns \"proper\" zero\r\n// Version 1.2: square() API, isProbablePrime fix\r\n\r\n//(public)\r\nfunction bnClone() {\r\n var r = nbi();\r\n this.copyTo(r);\r\n return r;\r\n}\r\n\r\n//(public) return value as integer\r\nfunction bnIntValue() {\r\n if (this.s < 0) {\r\n if (this.t == 1) return this[0] - this.DV;\r\n else if (this.t === 0) return -1;\r\n }\r\n else if (this.t == 1) return this[0];\r\n else if (this.t === 0) return 0;\r\n// assumes 16 < DB < 32\r\n return ((this[1] & ((1 << (32 - this.DB)) - 1)) << this.DB) | this[0];\r\n}\r\n\r\n//(public) return value as byte\r\nfunction bnByteValue() {\r\n return (this.t == 0) ? this.s : (this[0] << 24) >> 24;\r\n}\r\n\r\n//(public) return value as short (assumes DB>=16)\r\nfunction bnShortValue() {\r\n return (this.t == 0) ? this.s : (this[0] << 16) >> 16;\r\n}\r\n\r\n//(protected) return x s.t. r^x < DV\r\nfunction bnpChunkSize(r) {\r\n return Math.floor(Math.LN2 * this.DB / Math.log(r));\r\n}\r\n\r\n//(public) 0 if this === 0, 1 if this > 0\r\nfunction bnSigNum() {\r\n if (this.s < 0) return -1;\r\n else if (this.t <= 0 || (this.t == 1 && this[0] <= 0)) return 0;\r\n else return 1;\r\n}\r\n\r\n//(protected) convert to radix string\r\nfunction bnpToRadix(b) {\r\n if (b == null) b = 10;\r\n if (this.signum() === 0 || b < 2 || b > 36) return \"0\";\r\n var cs = this.chunkSize(b);\r\n var a = Math.pow(b, cs);\r\n var d = nbv(a), y = nbi(), z = nbi(), r = \"\";\r\n this.divRemTo(d, y, z);\r\n while (y.signum() > 0) {\r\n r = (a + z.intValue()).toString(b).substr(1) + r;\r\n y.divRemTo(d, y, z);\r\n }\r\n return z.intValue().toString(b) + r;\r\n}\r\n\r\n//(protected) convert from radix string\r\nfunction bnpFromRadix(s, b) {\r\n this.fromInt(0);\r\n if (b == null) b = 10;\r\n var cs = this.chunkSize(b);\r\n var d = Math.pow(b, cs), mi = false, j = 0, w = 0;\r\n for (var i = 0; i < s.length; ++i) {\r\n var x = intAt(s, i);\r\n if (x < 0) {\r\n if (s.charAt(i) == \"-\" && this.signum() === 0) mi = true;\r\n continue;\r\n }\r\n w = b * w + x;\r\n if (++j >= cs) {\r\n this.dMultiply(d);\r\n this.dAddOffset(w, 0);\r\n j = 0;\r\n w = 0;\r\n }\r\n }\r\n if (j > 0) {\r\n this.dMultiply(Math.pow(b, j));\r\n this.dAddOffset(w, 0);\r\n }\r\n if (mi) BigInteger.ZERO.subTo(this, this);\r\n}\r\n\r\n//(protected) alternate constructor\r\nfunction bnpFromNumber(a, b) {\r\n if (\"number\" == typeof b) {\r\n // new BigInteger(int,int,RNG)\r\n if (a < 2) this.fromInt(1);\r\n else {\r\n this.fromNumber(a);\r\n if (!this.testBit(a - 1))\t// force MSB set\r\n this.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), op_or, this);\r\n if (this.isEven()) this.dAddOffset(1, 0); // force odd\r\n while (!this.isProbablePrime(b)) {\r\n this.dAddOffset(2, 0);\r\n if (this.bitLength() > a) this.subTo(BigInteger.ONE.shiftLeft(a - 1), this);\r\n }\r\n }\r\n } else {\r\n // new BigInteger(int,RNG)\r\n var x = crypt.randomBytes((a >> 3) + 1)\r\n var t = a & 7;\r\n\r\n if (t > 0)\r\n x[0] &= ((1 << t) - 1);\r\n else\r\n x[0] = 0;\r\n\r\n this.fromByteArray(x);\r\n }\r\n}\r\n\r\n//(public) convert to bigendian byte array\r\nfunction bnToByteArray() {\r\n var i = this.t, r = new Array();\r\n r[0] = this.s;\r\n var p = this.DB - (i * this.DB) % 8, d, k = 0;\r\n if (i-- > 0) {\r\n if (p < this.DB && (d = this[i] >> p) != (this.s & this.DM) >> p)\r\n r[k++] = d | (this.s << (this.DB - p));\r\n while (i >= 0) {\r\n if (p < 8) {\r\n d = (this[i] & ((1 << p) - 1)) << (8 - p);\r\n d |= this[--i] >> (p += this.DB - 8);\r\n }\r\n else {\r\n d = (this[i] >> (p -= 8)) & 0xff;\r\n if (p <= 0) {\r\n p += this.DB;\r\n --i;\r\n }\r\n }\r\n if ((d & 0x80) != 0) d |= -256;\r\n if (k === 0 && (this.s & 0x80) != (d & 0x80)) ++k;\r\n if (k > 0 || d != this.s) r[k++] = d;\r\n }\r\n }\r\n return r;\r\n}\r\n\r\n/**\r\n * return Buffer object\r\n * @param trim {boolean} slice buffer if first element == 0\r\n * @returns {Buffer}\r\n */\r\nfunction bnToBuffer(trimOrSize) {\r\n var res = Buffer.from(this.toByteArray());\r\n if (trimOrSize === true && res[0] === 0) {\r\n res = res.slice(1);\r\n } else if (_.isNumber(trimOrSize)) {\r\n if (res.length > trimOrSize) {\r\n for (var i = 0; i < res.length - trimOrSize; i++) {\r\n if (res[i] !== 0) {\r\n return null;\r\n }\r\n }\r\n return res.slice(res.length - trimOrSize);\r\n } else if (res.length < trimOrSize) {\r\n var padded = Buffer.alloc(trimOrSize);\r\n padded.fill(0, 0, trimOrSize - res.length);\r\n res.copy(padded, trimOrSize - res.length);\r\n return padded;\r\n }\r\n }\r\n return res;\r\n}\r\n\r\nfunction bnEquals(a) {\r\n return (this.compareTo(a) == 0);\r\n}\r\nfunction bnMin(a) {\r\n return (this.compareTo(a) < 0) ? this : a;\r\n}\r\nfunction bnMax(a) {\r\n return (this.compareTo(a) > 0) ? this : a;\r\n}\r\n\r\n//(protected) r = this op a (bitwise)\r\nfunction bnpBitwiseTo(a, op, r) {\r\n var i, f, m = Math.min(a.t, this.t);\r\n for (i = 0; i < m; ++i) r[i] = op(this[i], a[i]);\r\n if (a.t < this.t) {\r\n f = a.s & this.DM;\r\n for (i = m; i < this.t; ++i) r[i] = op(this[i], f);\r\n r.t = this.t;\r\n }\r\n else {\r\n f = this.s & this.DM;\r\n for (i = m; i < a.t; ++i) r[i] = op(f, a[i]);\r\n r.t = a.t;\r\n }\r\n r.s = op(this.s, a.s);\r\n r.clamp();\r\n}\r\n\r\n//(public) this & a\r\nfunction op_and(x, y) {\r\n return x & y;\r\n}\r\nfunction bnAnd(a) {\r\n var r = nbi();\r\n this.bitwiseTo(a, op_and, r);\r\n return r;\r\n}\r\n\r\n//(public) this | a\r\nfunction op_or(x, y) {\r\n return x | y;\r\n}\r\nfunction bnOr(a) {\r\n var r = nbi();\r\n this.bitwiseTo(a, op_or, r);\r\n return r;\r\n}\r\n\r\n//(public) this ^ a\r\nfunction op_xor(x, y) {\r\n return x ^ y;\r\n}\r\nfunction bnXor(a) {\r\n var r = nbi();\r\n this.bitwiseTo(a, op_xor, r);\r\n return r;\r\n}\r\n\r\n//(public) this & ~a\r\nfunction op_andnot(x, y) {\r\n return x & ~y;\r\n}\r\nfunction bnAndNot(a) {\r\n var r = nbi();\r\n this.bitwiseTo(a, op_andnot, r);\r\n return r;\r\n}\r\n\r\n//(public) ~this\r\nfunction bnNot() {\r\n var r = nbi();\r\n for (var i = 0; i < this.t; ++i) r[i] = this.DM & ~this[i];\r\n r.t = this.t;\r\n r.s = ~this.s;\r\n return r;\r\n}\r\n\r\n//(public) this << n\r\nfunction bnShiftLeft(n) {\r\n var r = nbi();\r\n if (n < 0) this.rShiftTo(-n, r); else this.lShiftTo(n, r);\r\n return r;\r\n}\r\n\r\n//(public) this >> n\r\nfunction bnShiftRight(n) {\r\n var r = nbi();\r\n if (n < 0) this.lShiftTo(-n, r); else this.rShiftTo(n, r);\r\n return r;\r\n}\r\n\r\n//return index of lowest 1-bit in x, x < 2^31\r\nfunction lbit(x) {\r\n if (x === 0) return -1;\r\n var r = 0;\r\n if ((x & 0xffff) === 0) {\r\n x >>= 16;\r\n r += 16;\r\n }\r\n if ((x & 0xff) === 0) {\r\n x >>= 8;\r\n r += 8;\r\n }\r\n if ((x & 0xf) === 0) {\r\n x >>= 4;\r\n r += 4;\r\n }\r\n if ((x & 3) === 0) {\r\n x >>= 2;\r\n r += 2;\r\n }\r\n if ((x & 1) === 0) ++r;\r\n return r;\r\n}\r\n\r\n//(public) returns index of lowest 1-bit (or -1 if none)\r\nfunction bnGetLowestSetBit() {\r\n for (var i = 0; i < this.t; ++i)\r\n if (this[i] != 0) return i * this.DB + lbit(this[i]);\r\n if (this.s < 0) return this.t * this.DB;\r\n return -1;\r\n}\r\n\r\n//return number of 1 bits in x\r\nfunction cbit(x) {\r\n var r = 0;\r\n while (x != 0) {\r\n x &= x - 1;\r\n ++r;\r\n }\r\n return r;\r\n}\r\n\r\n//(public) return number of set bits\r\nfunction bnBitCount() {\r\n var r = 0, x = this.s & this.DM;\r\n for (var i = 0; i < this.t; ++i) r += cbit(this[i] ^ x);\r\n return r;\r\n}\r\n\r\n//(public) true iff nth bit is set\r\nfunction bnTestBit(n) {\r\n var j = Math.floor(n / this.DB);\r\n if (j >= this.t) return (this.s != 0);\r\n return ((this[j] & (1 << (n % this.DB))) != 0);\r\n}\r\n\r\n//(protected) this op (1<<n)\r\nfunction bnpChangeBit(n, op) {\r\n var r = BigInteger.ONE.shiftLeft(n);\r\n this.bitwiseTo(r, op, r);\r\n return r;\r\n}\r\n\r\n//(public) this | (1<<n)\r\nfunction bnSetBit(n) {\r\n return this.changeBit(n, op_or);\r\n}\r\n\r\n//(public) this & ~(1<<n)\r\nfunction bnClearBit(n) {\r\n return this.changeBit(n, op_andnot);\r\n}\r\n\r\n//(public) this ^ (1<<n)\r\nfunction bnFlipBit(n) {\r\n return this.changeBit(n, op_xor);\r\n}\r\n\r\n//(protected) r = this + a\r\nfunction bnpAddTo(a, r) {\r\n var i = 0, c = 0, m = Math.min(a.t, this.t);\r\n while (i < m) {\r\n c += this[i] + a[i];\r\n r[i++] = c & this.DM;\r\n c >>= this.DB;\r\n }\r\n if (a.t < this.t) {\r\n c += a.s;\r\n while (i < this.t) {\r\n c += this[i];\r\n r[i++] = c & this.DM;\r\n c >>= this.DB;\r\n }\r\n c += this.s;\r\n }\r\n else {\r\n c += this.s;\r\n while (i < a.t) {\r\n c += a[i];\r\n r[i++] = c & this.DM;\r\n c >>= this.DB;\r\n }\r\n c += a.s;\r\n }\r\n r.s = (c < 0) ? -1 : 0;\r\n if (c > 0) r[i++] = c;\r\n else if (c < -1) r[i++] = this.DV + c;\r\n r.t = i;\r\n r.clamp();\r\n}\r\n\r\n//(public) this + a\r\nfunction bnAdd(a) {\r\n var r = nbi();\r\n this.addTo(a, r);\r\n return r;\r\n}\r\n\r\n//(public) this - a\r\nfunction bnSubtract(a) {\r\n var r = nbi();\r\n this.subTo(a, r);\r\n return r;\r\n}\r\n\r\n//(public) this * a\r\nfunction bnMultiply(a) {\r\n var r = nbi();\r\n this.multiplyTo(a, r);\r\n return r;\r\n}\r\n\r\n// (public) this^2\r\nfunction bnSquare() {\r\n var r = nbi();\r\n this.squareTo(r);\r\n return r;\r\n}\r\n\r\n//(public) this / a\r\nfunction bnDivide(a) {\r\n var r = nbi();\r\n this.divRemTo(a, r, null);\r\n return r;\r\n}\r\n\r\n//(public) this % a\r\nfunction bnRemainder(a) {\r\n var r = nbi();\r\n this.divRemTo(a, null, r);\r\n return r;\r\n}\r\n\r\n//(public) [this/a,this%a]\r\nfunction bnDivideAndRemainder(a) {\r\n var q = nbi(), r = nbi();\r\n this.divRemTo(a, q, r);\r\n return new Array(q, r);\r\n}\r\n\r\n//(protected) this *= n, this >= 0, 1 < n < DV\r\nfunction bnpDMultiply(n) {\r\n this[this.t] = this.am(0, n - 1, this, 0, 0, this.t);\r\n ++this.t;\r\n this.clamp();\r\n}\r\n\r\n//(protected) this += n << w words, this >= 0\r\nfunction bnpDAddOffset(n, w) {\r\n if (n === 0) return;\r\n while (this.t <= w) this[this.t++] = 0;\r\n this[w] += n;\r\n while (this[w] >= this.DV) {\r\n this[w] -= this.DV;\r\n if (++w >= this.t) this[this.t++] = 0;\r\n ++this[w];\r\n }\r\n}\r\n\r\n//A \"null\" reducer\r\nfunction NullExp() {\r\n}\r\nfunction nNop(x) {\r\n return x;\r\n}\r\nfunction nMulTo(x, y, r) {\r\n x.multiplyTo(y, r);\r\n}\r\nfunction nSqrTo(x, r) {\r\n x.squareTo(r);\r\n}\r\n\r\nNullExp.prototype.convert = nNop;\r\nNullExp.prototype.revert = nNop;\r\nNullExp.prototype.mulTo = nMulTo;\r\nNullExp.prototype.sqrTo = nSqrTo;\r\n\r\n//(public) this^e\r\nfunction bnPow(e) {\r\n return this.exp(e, new NullExp());\r\n}\r\n\r\n//(protected) r = lower n words of \"this * a\", a.t <= n\r\n//\"this\" should be the larger one if appropriate.\r\nfunction bnpMultiplyLowerTo(a, n, r) {\r\n var i = Math.min(this.t + a.t, n);\r\n r.s = 0; // assumes a,this >= 0\r\n r.t = i;\r\n while (i > 0) r[--i] = 0;\r\n var j;\r\n for (j = r.t - this.t; i < j; ++i) r[i + this.t] = this.am(0, a[i], r, i, 0, this.t);\r\n for (j = Math.min(a.t, n); i < j; ++i) this.am(0, a[i], r, i, 0, n - i);\r\n r.clamp();\r\n}\r\n\r\n//(protected) r = \"this * a\" without lower n words, n > 0\r\n//\"this\" should be the larger one if appropriate.\r\nfunction bnpMultiplyUpperTo(a, n, r) {\r\n --n;\r\n var i = r.t = this.t + a.t - n;\r\n r.s = 0; // assumes a,this >= 0\r\n while (--i >= 0) r[i] = 0;\r\n for (i = Math.max(n - this.t, 0); i < a.t; ++i)\r\n r[this.t + i - n] = this.am(n - i, a[i], r, 0, 0, this.t + i - n);\r\n r.clamp();\r\n r.drShiftTo(1, r);\r\n}\r\n\r\n//Barrett modular reduction\r\nfunction Barrett(m) {\r\n// setup Barrett\r\n this.r2 = nbi();\r\n this.q3 = nbi();\r\n BigInteger.ONE.dlShiftTo(2 * m.t, this.r2);\r\n this.mu = this.r2.divide(m);\r\n this.m = m;\r\n}\r\n\r\nfunction barrettConvert(x) {\r\n if (x.s < 0 || x.t > 2 * this.m.t) return x.mod(this.m);\r\n else if (x.compareTo(this.m) < 0) return x;\r\n else {\r\n var r = nbi();\r\n x.copyTo(r);\r\n this.reduce(r);\r\n return r;\r\n }\r\n}\r\n\r\nfunction barrettRevert(x) {\r\n return x;\r\n}\r\n\r\n//x = x mod m (HAC 14.42)\r\nfunction barrettReduce(x) {\r\n x.drShiftTo(this.m.t - 1, this.r2);\r\n if (x.t > this.m.t + 1) {\r\n x.t = this.m.t + 1;\r\n x.clamp();\r\n }\r\n this.mu.multiplyUpperTo(this.r2, this.m.t + 1, this.q3);\r\n this.m.multiplyLowerTo(this.q3, this.m.t + 1, this.r2);\r\n while (x.compareTo(this.r2) < 0) x.dAddOffset(1, this.m.t + 1);\r\n x.subTo(this.r2, x);\r\n while (x.compareTo(this.m) >= 0) x.subTo(this.m, x);\r\n}\r\n\r\n//r = x^2 mod m; x != r\r\nfunction barrettSqrTo(x, r) {\r\n x.squareTo(r);\r\n this.reduce(r);\r\n}\r\n\r\n//r = x*y mod m; x,y != r\r\nfunction barrettMulTo(x, y, r) {\r\n x.multiplyTo(y, r);\r\n this.reduce(r);\r\n}\r\n\r\nBarrett.prototype.convert = barrettConvert;\r\nBarrett.prototype.revert = barrettRevert;\r\nBarrett.prototype.reduce = barrettReduce;\r\nBarrett.prototype.mulTo = barrettMulTo;\r\nBarrett.prototype.sqrTo = barrettSqrTo;\r\n\r\n//(public) this^e % m (HAC 14.85)\r\nfunction bnModPow(e, m) {\r\n var i = e.bitLength(), k, r = nbv(1), z;\r\n if (i <= 0) return r;\r\n else if (i < 18) k = 1;\r\n else if (i < 48) k = 3;\r\n else if (i < 144) k = 4;\r\n else if (i < 768) k = 5;\r\n else k = 6;\r\n if (i < 8)\r\n z = new Classic(m);\r\n else if (m.isEven())\r\n z = new Barrett(m);\r\n else\r\n z = new Montgomery(m);\r\n\r\n// precomputation\r\n var g = new Array(), n = 3, k1 = k - 1, km = (1 << k) - 1;\r\n g[1] = z.convert(this);\r\n if (k > 1) {\r\n var g2 = nbi();\r\n z.sqrTo(g[1], g2);\r\n while (n <= km) {\r\n g[n] = nbi();\r\n z.mulTo(g2, g[n - 2], g[n]);\r\n n += 2;\r\n }\r\n }\r\n\r\n var j = e.t - 1, w, is1 = true, r2 = nbi(), t;\r\n i = nbits(e[j]) - 1;\r\n while (j >= 0) {\r\n if (i >= k1) w = (e[j] >> (i - k1)) & km;\r\n else {\r\n w = (e[j] & ((1 << (i + 1)) - 1)) << (k1 - i);\r\n if (j > 0) w |= e[j - 1] >> (this.DB + i - k1);\r\n }\r\n\r\n n = k;\r\n while ((w & 1) === 0) {\r\n w >>= 1;\r\n --n;\r\n }\r\n if ((i -= n) < 0) {\r\n i += this.DB;\r\n --j;\r\n }\r\n if (is1) {\t// ret == 1, don't bother squaring or multiplying it\r\n g[w].copyTo(r);\r\n is1 = false;\r\n }\r\n else {\r\n while (n > 1) {\r\n z.sqrTo(r, r2);\r\n z.sqrTo(r2, r);\r\n n -= 2;\r\n }\r\n if (n > 0) z.sqrTo(r, r2); else {\r\n t = r;\r\n r = r2;\r\n r2 = t;\r\n }\r\n z.mulTo(r2, g[w], r);\r\n }\r\n\r\n while (j >= 0 && (e[j] & (1 << i)) === 0) {\r\n z.sqrTo(r, r2);\r\n t = r;\r\n r = r2;\r\n r2 = t;\r\n if (--i < 0) {\r\n i = this.DB - 1;\r\n --j;\r\n }\r\n }\r\n }\r\n return z.revert(r);\r\n}\r\n\r\n//(public) gcd(this,a) (HAC 14.54)\r\nfunction bnGCD(a) {\r\n var x = (this.s < 0) ? this.negate() : this.clone();\r\n var y = (a.s < 0) ? a.negate() : a.clone();\r\n if (x.compareTo(y) < 0) {\r\n var t = x;\r\n x = y;\r\n y = t;\r\n }\r\n var i = x.getLowestSetBit(), g = y.getLowestSetBit();\r\n if (g < 0) return x;\r\n if (i < g) g = i;\r\n if (g > 0) {\r\n x.rShiftTo(g, x);\r\n y.rShiftTo(g, y);\r\n }\r\n while (x.signum() > 0) {\r\n if ((i = x.getLowestSetBit()) > 0) x.rShiftTo(i, x);\r\n if ((i = y.getLowestSetBit()) > 0) y.rShiftTo(i, y);\r\n if (x.compareTo(y) >= 0) {\r\n x.subTo(y, x);\r\n x.rShiftTo(1, x);\r\n }\r\n else {\r\n y.subTo(x, y);\r\n y.rShiftTo(1, y);\r\n }\r\n }\r\n if (g > 0) y.lShiftTo(g, y);\r\n return y;\r\n}\r\n\r\n//(protected) this % n, n < 2^26\r\nfunction bnpModInt(n) {\r\n if (n <= 0) return 0;\r\n var d = this.DV % n, r = (this.s < 0) ? n - 1 : 0;\r\n if (this.t > 0)\r\n if (d === 0) r = this[0] % n;\r\n else for (var i = this.t - 1; i >= 0; --i) r = (d * r + this[i]) % n;\r\n return r;\r\n}\r\n\r\n//(public) 1/this % m (HAC 14.61)\r\nfunction bnModInverse(m) {\r\n var ac = m.isEven();\r\n if ((this.isEven() && ac) || m.signum() === 0) return BigInteger.ZERO;\r\n var u = m.clone(), v = this.clone();\r\n var a = nbv(1), b = nbv(0), c = nbv(0), d = nbv(1);\r\n while (u.signum() != 0) {\r\n while (u.isEven()) {\r\n u.rShiftTo(1, u);\r\n if (ac) {\r\n if (!a.isEven() || !b.isEven()) {\r\n a.addTo(this, a);\r\n b.subTo(m, b);\r\n }\r\n a.rShiftTo(1, a);\r\n }\r\n else if (!b.isEven()) b.subTo(m, b);\r\n b.rShiftTo(1, b);\r\n }\r\n while (v.isEven()) {\r\n v.rShiftTo(1, v);\r\n if (ac) {\r\n if (!c.isEven() || !d.isEven()) {\r\n c.addTo(this, c);\r\n d.subTo(m, d);\r\n }\r\n c.rShiftTo(1, c);\r\n }\r\n else if (!d.isEven()) d.subTo(m, d);\r\n d.rShiftTo(1, d);\r\n }\r\n if (u.compareTo(v) >= 0) {\r\n u.subTo(v, u);\r\n if (ac) a.subTo(c, a);\r\n b.subTo(d, b);\r\n }\r\n else {\r\n v.subTo(u, v);\r\n if (ac) c.subTo(a, c);\r\n d.subTo(b, d);\r\n }\r\n }\r\n if (v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO;\r\n if (d.compareTo(m) >= 0) return d.subtract(m);\r\n if (d.signum() < 0) d.addTo(m, d); else return d;\r\n if (d.signum() < 0) return d.add(m); else return d;\r\n}\r\n\r\nvar lowprimes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997];\r\nvar lplim = (1 << 26) / lowprimes[lowprimes.length - 1];\r\n\r\n//(public) test primality with certainty >= 1-.5^t\r\nfunction bnIsProbablePrime(t) {\r\n var i, x = this.abs();\r\n if (x.t == 1 && x[0] <= lowprimes[lowprimes.length - 1]) {\r\n for (i = 0; i < lowprimes.length; ++i)\r\n if (x[0] == lowprimes[i]) return true;\r\n return false;\r\n }\r\n if (x.isEven()) return false;\r\n i = 1;\r\n while (i < lowprimes.length) {\r\n var m = lowprimes[i], j = i + 1;\r\n while (j < lowprimes.length && m < lplim) m *= lowprimes[j++];\r\n m = x.modInt(m);\r\n while (i < j) if (m % lowprimes[i++] === 0) return false;\r\n }\r\n return x.millerRabin(t);\r\n}\r\n\r\n//(protected) true if probably prime (HAC 4.24, Miller-Rabin)\r\nfunction bnpMillerRabin(t) {\r\n var n1 = this.subtract(BigInteger.ONE);\r\n var k = n1.getLowestSetBit();\r\n if (k <= 0) return false;\r\n var r = n1.shiftRight(k);\r\n t = (t + 1) >> 1;\r\n if (t > lowprimes.length) t = lowprimes.length;\r\n var a = nbi();\r\n for (var i = 0; i < t; ++i) {\r\n //Pick bases at random, instead of starting at 2\r\n a.fromInt(lowprimes[Math.floor(Math.random() * lowprimes.length)]);\r\n var y = a.modPow(r, this);\r\n if (y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) {\r\n var j = 1;\r\n while (j++ < k && y.compareTo(n1) != 0) {\r\n y = y.modPowInt(2, this);\r\n if (y.compareTo(BigInteger.ONE) === 0) return false;\r\n }\r\n if (y.compareTo(n1) != 0) return false;\r\n }\r\n }\r\n return true;\r\n}\r\n\r\n// protected\r\nBigInteger.prototype.copyTo = bnpCopyTo;\r\nBigInteger.prototype.fromInt = bnpFromInt;\r\nBigInteger.prototype.fromString = bnpFromString;\r\nBigInteger.prototype.fromByteArray = bnpFromByteArray;\r\nBigInteger.prototype.fromBuffer = bnpFromBuffer;\r\nBigInteger.prototype.clamp = bnpClamp;\r\nBigInteger.prototype.dlShiftTo = bnpDLShiftTo;\r\nBigInteger.prototype.drShiftTo = bnpDRShiftTo;\r\nBigInteger.prototype.lShiftTo = bnpLShiftTo;\r\nBigInteger.prototype.rShiftTo = bnpRShiftTo;\r\nBigInteger.prototype.subTo = bnpSubTo;\r\nBigInteger.prototype.multiplyTo = bnpMultiplyTo;\r\nBigInteger.prototype.squareTo = bnpSquareTo;\r\nBigInteger.prototype.divRemTo = bnpDivRemTo;\r\nBigInteger.prototype.invDigit = bnpInvDigit;\r\nBigInteger.prototype.isEven = bnpIsEven;\r\nBigInteger.prototype.exp = bnpExp;\r\n\r\nBigInteger.prototype.chunkSize = bnpChunkSize;\r\nBigInteger.prototype.toRadix = bnpToRadix;\r\nBigInteger.prototype.fromRadix = bnpFromRadix;\r\nBigInteger.prototype.fromNumber = bnpFromNumber;\r\nBigInteger.prototype.bitwiseTo = bnpBitwiseTo;\r\nBigInteger.prototype.changeBit = bnpChangeBit;\r\nBigInteger.prototype.addTo = bnpAddTo;\r\nBigInteger.prototype.dMultiply = bnpDMultiply;\r\nBigInteger.prototype.dAddOffset = bnpDAddOffset;\r\nBigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo;\r\nBigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo;\r\nBigInteger.prototype.modInt = bnpModInt;\r\nBigInteger.prototype.millerRabin = bnpMillerRabin;\r\n\r\n\r\n// public\r\nBigInteger.prototype.toString = bnToString;\r\nBigInteger.prototype.negate = bnNegate;\r\nBigInteger.prototype.abs = bnAbs;\r\nBigInteger.prototype.compareTo = bnCompareTo;\r\nBigInteger.prototype.bitLength = bnBitLength;\r\nBigInteger.prototype.mod = bnMod;\r\nBigInteger.prototype.modPowInt = bnModPowInt;\r\n\r\nBigInteger.prototype.clone = bnClone;\r\nBigInteger.prototype.intValue = bnIntValue;\r\nBigInteger.prototype.byteValue = bnByteValue;\r\nBigInteger.prototype.shortValue = bnShortValue;\r\nBigInteger.prototype.signum = bnSigNum;\r\nBigInteger.prototype.toByteArray = bnToByteArray;\r\nBigInteger.prototype.toBuffer = bnToBuffer;\r\nBigInteger.prototype.equals = bnEquals;\r\nBigInteger.prototype.min = bnMin;\r\nBigInteger.prototype.max = bnMax;\r\nBigInteger.prototype.and = bnAnd;\r\nBigInteger.prototype.or = bnOr;\r\nBigInteger.prototype.xor = bnXor;\r\nBigInteger.prototype.andNot = bnAndNot;\r\nBigInteger.prototype.not = bnNot;\r\nBigInteger.prototype.shiftLeft = bnShiftLeft;\r\nBigInteger.prototype.shiftRight = bnShiftRight;\r\nBigInteger.prototype.getLowestSetBit = bnGetLowestSetBit;\r\nBigInteger.prototype.bitCount = bnBitCount;\r\nBigInteger.prototype.testBit = bnTestBit;\r\nBigInteger.prototype.setBit = bnSetBit;\r\nBigInteger.prototype.clearBit = bnClearBit;\r\nBigInteger.prototype.flipBit = bnFlipBit;\r\nBigInteger.prototype.add = bnAdd;\r\nBigInteger.prototype.subtract = bnSubtract;\r\nBigInteger.prototype.multiply = bnMultiply;\r\nBigInteger.prototype.divide = bnDivide;\r\nBigInteger.prototype.remainder = bnRemainder;\r\nBigInteger.prototype.divideAndRemainder = bnDivideAndRemainder;\r\nBigInteger.prototype.modPow = bnModPow;\r\nBigInteger.prototype.modInverse = bnModInverse;\r\nBigInteger.prototype.pow = bnPow;\r\nBigInteger.prototype.gcd = bnGCD;\r\nBigInteger.prototype.isProbablePrime = bnIsProbablePrime;\r\nBigInteger.int2char = int2char;\r\n\r\n// \"constants\"\r\nBigInteger.ZERO = nbv(0);\r\nBigInteger.ONE = nbv(1);\r\n\r\n// JSBN-specific extension\r\nBigInteger.prototype.square = bnSquare;\r\n\r\n//BigInteger interfaces not implemented in jsbn:\r\n\r\n//BigInteger(int signum, byte[] magnitude)\r\n//double doubleValue()\r\n//float floatValue()\r\n//int hashCode()\r\n//long longValue()\r\n//static BigInteger valueOf(long val)\r\n\r\nmodule.exports = BigInteger;"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../../../../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_utils$1 = require('../utils.cjs');
|
|
3
|
+
const require_jsbn$1 = require('./jsbn.cjs');
|
|
4
|
+
const require_schemes$1 = require('../schemes/schemes.cjs');
|
|
5
|
+
const require_encryptEngines$1 = require('../encryptEngines/encryptEngines.cjs');
|
|
6
|
+
|
|
7
|
+
//#region ../../node_modules/node-rsa/src/libs/rsa.js
|
|
8
|
+
var require_rsa = /* @__PURE__ */ require_rolldown_runtime.__commonJS({ "../../node_modules/node-rsa/src/libs/rsa.js": ((exports, module) => {
|
|
9
|
+
var _ = require_utils$1.default._;
|
|
10
|
+
require("crypto");
|
|
11
|
+
var BigInteger = require_jsbn$1.default;
|
|
12
|
+
var utils = require_utils$1.default;
|
|
13
|
+
var schemes = require_schemes$1.default;
|
|
14
|
+
var encryptEngines = require_encryptEngines$1.default;
|
|
15
|
+
exports.BigInteger = BigInteger;
|
|
16
|
+
module.exports.Key = (function() {
|
|
17
|
+
/**
|
|
18
|
+
* RSA key constructor
|
|
19
|
+
*
|
|
20
|
+
* n - modulus
|
|
21
|
+
* e - publicExponent
|
|
22
|
+
* d - privateExponent
|
|
23
|
+
* p - prime1
|
|
24
|
+
* q - prime2
|
|
25
|
+
* dmp1 - exponent1 -- d mod (p1)
|
|
26
|
+
* dmq1 - exponent2 -- d mod (q-1)
|
|
27
|
+
* coeff - coefficient -- (inverse of q) mod p
|
|
28
|
+
*/
|
|
29
|
+
function RSAKey() {
|
|
30
|
+
this.n = null;
|
|
31
|
+
this.e = 0;
|
|
32
|
+
this.d = null;
|
|
33
|
+
this.p = null;
|
|
34
|
+
this.q = null;
|
|
35
|
+
this.dmp1 = null;
|
|
36
|
+
this.dmq1 = null;
|
|
37
|
+
this.coeff = null;
|
|
38
|
+
}
|
|
39
|
+
RSAKey.prototype.setOptions = function(options) {
|
|
40
|
+
var signingSchemeProvider = schemes[options.signingScheme];
|
|
41
|
+
var encryptionSchemeProvider = schemes[options.encryptionScheme];
|
|
42
|
+
if (signingSchemeProvider === encryptionSchemeProvider) this.signingScheme = this.encryptionScheme = encryptionSchemeProvider.makeScheme(this, options);
|
|
43
|
+
else {
|
|
44
|
+
this.encryptionScheme = encryptionSchemeProvider.makeScheme(this, options);
|
|
45
|
+
this.signingScheme = signingSchemeProvider.makeScheme(this, options);
|
|
46
|
+
}
|
|
47
|
+
this.encryptEngine = encryptEngines.getEngine(this, options);
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Generate a new random private key B bits long, using public expt E
|
|
51
|
+
* @param B
|
|
52
|
+
* @param E
|
|
53
|
+
*/
|
|
54
|
+
RSAKey.prototype.generate = function(B, E) {
|
|
55
|
+
var qs = B >> 1;
|
|
56
|
+
this.e = parseInt(E, 16);
|
|
57
|
+
var ee = new BigInteger(E, 16);
|
|
58
|
+
while (true) {
|
|
59
|
+
while (true) {
|
|
60
|
+
this.p = new BigInteger(B - qs, 1);
|
|
61
|
+
if (this.p.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) === 0 && this.p.isProbablePrime(10)) break;
|
|
62
|
+
}
|
|
63
|
+
while (true) {
|
|
64
|
+
this.q = new BigInteger(qs, 1);
|
|
65
|
+
if (this.q.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) === 0 && this.q.isProbablePrime(10)) break;
|
|
66
|
+
}
|
|
67
|
+
if (this.p.compareTo(this.q) <= 0) {
|
|
68
|
+
var t = this.p;
|
|
69
|
+
this.p = this.q;
|
|
70
|
+
this.q = t;
|
|
71
|
+
}
|
|
72
|
+
var p1 = this.p.subtract(BigInteger.ONE);
|
|
73
|
+
var q1 = this.q.subtract(BigInteger.ONE);
|
|
74
|
+
var phi = p1.multiply(q1);
|
|
75
|
+
if (phi.gcd(ee).compareTo(BigInteger.ONE) === 0) {
|
|
76
|
+
this.n = this.p.multiply(this.q);
|
|
77
|
+
if (this.n.bitLength() < B) continue;
|
|
78
|
+
this.d = ee.modInverse(phi);
|
|
79
|
+
this.dmp1 = this.d.mod(p1);
|
|
80
|
+
this.dmq1 = this.d.mod(q1);
|
|
81
|
+
this.coeff = this.q.modInverse(this.p);
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
this.$$recalculateCache();
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* Set the private key fields N, e, d and CRT params from buffers
|
|
89
|
+
*
|
|
90
|
+
* @param N
|
|
91
|
+
* @param E
|
|
92
|
+
* @param D
|
|
93
|
+
* @param P
|
|
94
|
+
* @param Q
|
|
95
|
+
* @param DP
|
|
96
|
+
* @param DQ
|
|
97
|
+
* @param C
|
|
98
|
+
*/
|
|
99
|
+
RSAKey.prototype.setPrivate = function(N, E, D, P, Q, DP, DQ, C) {
|
|
100
|
+
if (N && E && D && N.length > 0 && (_.isNumber(E) || E.length > 0) && D.length > 0) {
|
|
101
|
+
this.n = new BigInteger(N);
|
|
102
|
+
this.e = _.isNumber(E) ? E : utils.get32IntFromBuffer(E, 0);
|
|
103
|
+
this.d = new BigInteger(D);
|
|
104
|
+
if (P && Q && DP && DQ && C) {
|
|
105
|
+
this.p = new BigInteger(P);
|
|
106
|
+
this.q = new BigInteger(Q);
|
|
107
|
+
this.dmp1 = new BigInteger(DP);
|
|
108
|
+
this.dmq1 = new BigInteger(DQ);
|
|
109
|
+
this.coeff = new BigInteger(C);
|
|
110
|
+
}
|
|
111
|
+
this.$$recalculateCache();
|
|
112
|
+
} else throw Error("Invalid RSA private key");
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* Set the public key fields N and e from hex strings
|
|
116
|
+
* @param N
|
|
117
|
+
* @param E
|
|
118
|
+
*/
|
|
119
|
+
RSAKey.prototype.setPublic = function(N, E) {
|
|
120
|
+
if (N && E && N.length > 0 && (_.isNumber(E) || E.length > 0)) {
|
|
121
|
+
this.n = new BigInteger(N);
|
|
122
|
+
this.e = _.isNumber(E) ? E : utils.get32IntFromBuffer(E, 0);
|
|
123
|
+
this.$$recalculateCache();
|
|
124
|
+
} else throw Error("Invalid RSA public key");
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* private
|
|
128
|
+
* Perform raw private operation on "x": return x^d (mod n)
|
|
129
|
+
*
|
|
130
|
+
* @param x
|
|
131
|
+
* @returns {*}
|
|
132
|
+
*/
|
|
133
|
+
RSAKey.prototype.$doPrivate = function(x) {
|
|
134
|
+
if (this.p || this.q) return x.modPow(this.d, this.n);
|
|
135
|
+
var xp = x.mod(this.p).modPow(this.dmp1, this.p);
|
|
136
|
+
var xq = x.mod(this.q).modPow(this.dmq1, this.q);
|
|
137
|
+
while (xp.compareTo(xq) < 0) xp = xp.add(this.p);
|
|
138
|
+
return xp.subtract(xq).multiply(this.coeff).mod(this.p).multiply(this.q).add(xq);
|
|
139
|
+
};
|
|
140
|
+
/**
|
|
141
|
+
* private
|
|
142
|
+
* Perform raw public operation on "x": return x^e (mod n)
|
|
143
|
+
*
|
|
144
|
+
* @param x
|
|
145
|
+
* @returns {*}
|
|
146
|
+
*/
|
|
147
|
+
RSAKey.prototype.$doPublic = function(x) {
|
|
148
|
+
return x.modPowInt(this.e, this.n);
|
|
149
|
+
};
|
|
150
|
+
/**
|
|
151
|
+
* Return the PKCS#1 RSA encryption of buffer
|
|
152
|
+
* @param buffer {Buffer}
|
|
153
|
+
* @returns {Buffer}
|
|
154
|
+
*/
|
|
155
|
+
RSAKey.prototype.encrypt = function(buffer, usePrivate) {
|
|
156
|
+
var buffers = [];
|
|
157
|
+
var results = [];
|
|
158
|
+
var bufferSize = buffer.length;
|
|
159
|
+
var buffersCount = Math.ceil(bufferSize / this.maxMessageLength) || 1;
|
|
160
|
+
var dividedSize = Math.ceil(bufferSize / buffersCount || 1);
|
|
161
|
+
if (buffersCount == 1) buffers.push(buffer);
|
|
162
|
+
else for (var bufNum = 0; bufNum < buffersCount; bufNum++) buffers.push(buffer.slice(bufNum * dividedSize, (bufNum + 1) * dividedSize));
|
|
163
|
+
for (var i = 0; i < buffers.length; i++) results.push(this.encryptEngine.encrypt(buffers[i], usePrivate));
|
|
164
|
+
return Buffer.concat(results);
|
|
165
|
+
};
|
|
166
|
+
/**
|
|
167
|
+
* Return the PKCS#1 RSA decryption of buffer
|
|
168
|
+
* @param buffer {Buffer}
|
|
169
|
+
* @returns {Buffer}
|
|
170
|
+
*/
|
|
171
|
+
RSAKey.prototype.decrypt = function(buffer, usePublic) {
|
|
172
|
+
if (buffer.length % this.encryptedDataLength > 0) throw Error("Incorrect data or key");
|
|
173
|
+
var result = [];
|
|
174
|
+
var offset = 0;
|
|
175
|
+
var length = 0;
|
|
176
|
+
var buffersCount = buffer.length / this.encryptedDataLength;
|
|
177
|
+
for (var i = 0; i < buffersCount; i++) {
|
|
178
|
+
offset = i * this.encryptedDataLength;
|
|
179
|
+
length = offset + this.encryptedDataLength;
|
|
180
|
+
result.push(this.encryptEngine.decrypt(buffer.slice(offset, Math.min(length, buffer.length)), usePublic));
|
|
181
|
+
}
|
|
182
|
+
return Buffer.concat(result);
|
|
183
|
+
};
|
|
184
|
+
RSAKey.prototype.sign = function(buffer) {
|
|
185
|
+
return this.signingScheme.sign.apply(this.signingScheme, arguments);
|
|
186
|
+
};
|
|
187
|
+
RSAKey.prototype.verify = function(buffer, signature, signature_encoding) {
|
|
188
|
+
return this.signingScheme.verify.apply(this.signingScheme, arguments);
|
|
189
|
+
};
|
|
190
|
+
/**
|
|
191
|
+
* Check if key pair contains private key
|
|
192
|
+
*/
|
|
193
|
+
RSAKey.prototype.isPrivate = function() {
|
|
194
|
+
return this.n && this.e && this.d && true || false;
|
|
195
|
+
};
|
|
196
|
+
/**
|
|
197
|
+
* Check if key pair contains public key
|
|
198
|
+
* @param strict {boolean} - public key only, return false if have private exponent
|
|
199
|
+
*/
|
|
200
|
+
RSAKey.prototype.isPublic = function(strict) {
|
|
201
|
+
return this.n && this.e && !(strict && this.d) || false;
|
|
202
|
+
};
|
|
203
|
+
Object.defineProperty(RSAKey.prototype, "keySize", { get: function() {
|
|
204
|
+
return this.cache.keyBitLength;
|
|
205
|
+
} });
|
|
206
|
+
Object.defineProperty(RSAKey.prototype, "encryptedDataLength", { get: function() {
|
|
207
|
+
return this.cache.keyByteLength;
|
|
208
|
+
} });
|
|
209
|
+
Object.defineProperty(RSAKey.prototype, "maxMessageLength", { get: function() {
|
|
210
|
+
return this.encryptionScheme.maxMessageLength();
|
|
211
|
+
} });
|
|
212
|
+
/**
|
|
213
|
+
* Caching key data
|
|
214
|
+
*/
|
|
215
|
+
RSAKey.prototype.$$recalculateCache = function() {
|
|
216
|
+
this.cache = this.cache || {};
|
|
217
|
+
this.cache.keyBitLength = this.n.bitLength();
|
|
218
|
+
this.cache.keyByteLength = this.cache.keyBitLength + 6 >> 3;
|
|
219
|
+
};
|
|
220
|
+
return RSAKey;
|
|
221
|
+
})();
|
|
222
|
+
}) });
|
|
223
|
+
|
|
224
|
+
//#endregion
|
|
225
|
+
Object.defineProperty(exports, 'default', {
|
|
226
|
+
enumerable: true,
|
|
227
|
+
get: function () {
|
|
228
|
+
return require_rsa();
|
|
229
|
+
}
|
|
230
|
+
});
|
|
231
|
+
//# sourceMappingURL=rsa.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rsa.cjs","names":[],"sources":["../../../../../../../../node_modules/node-rsa/src/libs/rsa.js"],"sourcesContent":["/*\n * RSA Encryption / Decryption with PKCS1 v2 Padding.\n * \n * Copyright (c) 2003-2005 Tom Wu\n * All Rights Reserved.\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS-IS\" AND WITHOUT WARRANTY OF ANY KIND, \n * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY \n * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. \n *\n * IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL,\n * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER\n * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF\n * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT\n * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n *\n * In addition, the following condition applies:\n *\n * All redistributions must retain an intact copy of this copyright notice\n * and disclaimer.\n */\n\n/*\n * Node.js adaptation\n * long message support implementation\n * signing/verifying\n *\n * 2014 rzcoder\n */\n\nvar _ = require('../utils')._;\nvar crypt = require('crypto');\nvar BigInteger = require('./jsbn.js');\nvar utils = require('../utils.js');\nvar schemes = require('../schemes/schemes.js');\nvar encryptEngines = require('../encryptEngines/encryptEngines.js');\n\nexports.BigInteger = BigInteger;\nmodule.exports.Key = (function () {\n /**\n * RSA key constructor\n *\n * n - modulus\n * e - publicExponent\n * d - privateExponent\n * p - prime1\n * q - prime2\n * dmp1 - exponent1 -- d mod (p1)\n * dmq1 - exponent2 -- d mod (q-1)\n * coeff - coefficient -- (inverse of q) mod p\n */\n function RSAKey() {\n this.n = null;\n this.e = 0;\n this.d = null;\n this.p = null;\n this.q = null;\n this.dmp1 = null;\n this.dmq1 = null;\n this.coeff = null;\n }\n\n RSAKey.prototype.setOptions = function (options) {\n var signingSchemeProvider = schemes[options.signingScheme];\n var encryptionSchemeProvider = schemes[options.encryptionScheme];\n\n if (signingSchemeProvider === encryptionSchemeProvider) {\n this.signingScheme = this.encryptionScheme = encryptionSchemeProvider.makeScheme(this, options);\n } else {\n this.encryptionScheme = encryptionSchemeProvider.makeScheme(this, options);\n this.signingScheme = signingSchemeProvider.makeScheme(this, options);\n }\n\n this.encryptEngine = encryptEngines.getEngine(this, options);\n };\n\n /**\n * Generate a new random private key B bits long, using public expt E\n * @param B\n * @param E\n */\n RSAKey.prototype.generate = function (B, E) {\n var qs = B >> 1;\n this.e = parseInt(E, 16);\n var ee = new BigInteger(E, 16);\n while (true) {\n while (true) {\n this.p = new BigInteger(B - qs, 1);\n if (this.p.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) === 0 && this.p.isProbablePrime(10))\n break;\n }\n while (true) {\n this.q = new BigInteger(qs, 1);\n if (this.q.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) === 0 && this.q.isProbablePrime(10))\n break;\n }\n if (this.p.compareTo(this.q) <= 0) {\n var t = this.p;\n this.p = this.q;\n this.q = t;\n }\n var p1 = this.p.subtract(BigInteger.ONE);\n var q1 = this.q.subtract(BigInteger.ONE);\n var phi = p1.multiply(q1);\n if (phi.gcd(ee).compareTo(BigInteger.ONE) === 0) {\n this.n = this.p.multiply(this.q);\n if (this.n.bitLength() < B) {\n continue;\n }\n this.d = ee.modInverse(phi);\n this.dmp1 = this.d.mod(p1);\n this.dmq1 = this.d.mod(q1);\n this.coeff = this.q.modInverse(this.p);\n break;\n }\n }\n this.$$recalculateCache();\n };\n\n /**\n * Set the private key fields N, e, d and CRT params from buffers\n *\n * @param N\n * @param E\n * @param D\n * @param P\n * @param Q\n * @param DP\n * @param DQ\n * @param C\n */\n RSAKey.prototype.setPrivate = function (N, E, D, P, Q, DP, DQ, C) {\n if (N && E && D && N.length > 0 && (_.isNumber(E) || E.length > 0) && D.length > 0) {\n this.n = new BigInteger(N);\n this.e = _.isNumber(E) ? E : utils.get32IntFromBuffer(E, 0);\n this.d = new BigInteger(D);\n\n if (P && Q && DP && DQ && C) {\n this.p = new BigInteger(P);\n this.q = new BigInteger(Q);\n this.dmp1 = new BigInteger(DP);\n this.dmq1 = new BigInteger(DQ);\n this.coeff = new BigInteger(C);\n } else {\n // TODO: re-calculate any missing CRT params\n }\n this.$$recalculateCache();\n } else {\n throw Error(\"Invalid RSA private key\");\n }\n };\n\n /**\n * Set the public key fields N and e from hex strings\n * @param N\n * @param E\n */\n RSAKey.prototype.setPublic = function (N, E) {\n if (N && E && N.length > 0 && (_.isNumber(E) || E.length > 0)) {\n this.n = new BigInteger(N);\n this.e = _.isNumber(E) ? E : utils.get32IntFromBuffer(E, 0);\n this.$$recalculateCache();\n } else {\n throw Error(\"Invalid RSA public key\");\n }\n };\n\n /**\n * private\n * Perform raw private operation on \"x\": return x^d (mod n)\n *\n * @param x\n * @returns {*}\n */\n RSAKey.prototype.$doPrivate = function (x) {\n if (this.p || this.q) {\n return x.modPow(this.d, this.n);\n }\n\n // TODO: re-calculate any missing CRT params\n var xp = x.mod(this.p).modPow(this.dmp1, this.p);\n var xq = x.mod(this.q).modPow(this.dmq1, this.q);\n\n while (xp.compareTo(xq) < 0) {\n xp = xp.add(this.p);\n }\n return xp.subtract(xq).multiply(this.coeff).mod(this.p).multiply(this.q).add(xq);\n };\n\n /**\n * private\n * Perform raw public operation on \"x\": return x^e (mod n)\n *\n * @param x\n * @returns {*}\n */\n RSAKey.prototype.$doPublic = function (x) {\n return x.modPowInt(this.e, this.n);\n };\n\n /**\n * Return the PKCS#1 RSA encryption of buffer\n * @param buffer {Buffer}\n * @returns {Buffer}\n */\n RSAKey.prototype.encrypt = function (buffer, usePrivate) {\n var buffers = [];\n var results = [];\n var bufferSize = buffer.length;\n var buffersCount = Math.ceil(bufferSize / this.maxMessageLength) || 1; // total buffers count for encrypt\n var dividedSize = Math.ceil(bufferSize / buffersCount || 1); // each buffer size\n\n if (buffersCount == 1) {\n buffers.push(buffer);\n } else {\n for (var bufNum = 0; bufNum < buffersCount; bufNum++) {\n buffers.push(buffer.slice(bufNum * dividedSize, (bufNum + 1) * dividedSize));\n }\n }\n\n for (var i = 0; i < buffers.length; i++) {\n results.push(this.encryptEngine.encrypt(buffers[i], usePrivate));\n }\n\n return Buffer.concat(results);\n };\n\n /**\n * Return the PKCS#1 RSA decryption of buffer\n * @param buffer {Buffer}\n * @returns {Buffer}\n */\n RSAKey.prototype.decrypt = function (buffer, usePublic) {\n if (buffer.length % this.encryptedDataLength > 0) {\n throw Error('Incorrect data or key');\n }\n\n var result = [];\n var offset = 0;\n var length = 0;\n var buffersCount = buffer.length / this.encryptedDataLength;\n\n for (var i = 0; i < buffersCount; i++) {\n offset = i * this.encryptedDataLength;\n length = offset + this.encryptedDataLength;\n result.push(this.encryptEngine.decrypt(buffer.slice(offset, Math.min(length, buffer.length)), usePublic));\n }\n\n return Buffer.concat(result);\n };\n\n RSAKey.prototype.sign = function (buffer) {\n return this.signingScheme.sign.apply(this.signingScheme, arguments);\n };\n\n RSAKey.prototype.verify = function (buffer, signature, signature_encoding) {\n return this.signingScheme.verify.apply(this.signingScheme, arguments);\n };\n\n /**\n * Check if key pair contains private key\n */\n RSAKey.prototype.isPrivate = function () {\n return this.n && this.e && this.d && true || false;\n };\n\n /**\n * Check if key pair contains public key\n * @param strict {boolean} - public key only, return false if have private exponent\n */\n RSAKey.prototype.isPublic = function (strict) {\n return this.n && this.e && !(strict && this.d) || false;\n };\n\n Object.defineProperty(RSAKey.prototype, 'keySize', {\n get: function () {\n return this.cache.keyBitLength;\n }\n });\n\n Object.defineProperty(RSAKey.prototype, 'encryptedDataLength', {\n get: function () {\n return this.cache.keyByteLength;\n }\n });\n\n Object.defineProperty(RSAKey.prototype, 'maxMessageLength', {\n get: function () {\n return this.encryptionScheme.maxMessageLength();\n }\n });\n\n /**\n * Caching key data\n */\n RSAKey.prototype.$$recalculateCache = function () {\n this.cache = this.cache || {};\n // Bit & byte length\n this.cache.keyBitLength = this.n.bitLength();\n this.cache.keyByteLength = (this.cache.keyBitLength + 6) >> 3;\n };\n\n return RSAKey;\n})();\n\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../../../../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_jsbn$1 = require('../libs/jsbn.cjs');
|
|
3
|
+
|
|
4
|
+
//#region ../../node_modules/node-rsa/src/schemes/oaep.js
|
|
5
|
+
var require_oaep = /* @__PURE__ */ require_rolldown_runtime.__commonJS({ "../../node_modules/node-rsa/src/schemes/oaep.js": ((exports, module) => {
|
|
6
|
+
require_jsbn$1.default;
|
|
7
|
+
var crypt = require("crypto");
|
|
8
|
+
module.exports = {
|
|
9
|
+
isEncryption: true,
|
|
10
|
+
isSignature: false
|
|
11
|
+
};
|
|
12
|
+
module.exports.digestLength = {
|
|
13
|
+
md4: 16,
|
|
14
|
+
md5: 16,
|
|
15
|
+
ripemd160: 20,
|
|
16
|
+
rmd160: 20,
|
|
17
|
+
sha1: 20,
|
|
18
|
+
sha224: 28,
|
|
19
|
+
sha256: 32,
|
|
20
|
+
sha384: 48,
|
|
21
|
+
sha512: 64
|
|
22
|
+
};
|
|
23
|
+
var DEFAULT_HASH_FUNCTION = "sha1";
|
|
24
|
+
module.exports.eme_oaep_mgf1 = function(seed, maskLength, hashFunction) {
|
|
25
|
+
hashFunction = hashFunction || DEFAULT_HASH_FUNCTION;
|
|
26
|
+
var hLen = module.exports.digestLength[hashFunction];
|
|
27
|
+
var count = Math.ceil(maskLength / hLen);
|
|
28
|
+
var T = Buffer.alloc(hLen * count);
|
|
29
|
+
var c = Buffer.alloc(4);
|
|
30
|
+
for (var i = 0; i < count; ++i) {
|
|
31
|
+
var hash = crypt.createHash(hashFunction);
|
|
32
|
+
hash.update(seed);
|
|
33
|
+
c.writeUInt32BE(i, 0);
|
|
34
|
+
hash.update(c);
|
|
35
|
+
hash.digest().copy(T, i * hLen);
|
|
36
|
+
}
|
|
37
|
+
return T.slice(0, maskLength);
|
|
38
|
+
};
|
|
39
|
+
module.exports.makeScheme = function(key, options) {
|
|
40
|
+
function Scheme(key$1, options$1) {
|
|
41
|
+
this.key = key$1;
|
|
42
|
+
this.options = options$1;
|
|
43
|
+
}
|
|
44
|
+
Scheme.prototype.maxMessageLength = function() {
|
|
45
|
+
return this.key.encryptedDataLength - 2 * module.exports.digestLength[this.options.encryptionSchemeOptions.hash || DEFAULT_HASH_FUNCTION] - 2;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Pad input
|
|
49
|
+
* alg: PKCS1_OAEP
|
|
50
|
+
*
|
|
51
|
+
* https://tools.ietf.org/html/rfc3447#section-7.1.1
|
|
52
|
+
*/
|
|
53
|
+
Scheme.prototype.encPad = function(buffer) {
|
|
54
|
+
var hash = this.options.encryptionSchemeOptions.hash || DEFAULT_HASH_FUNCTION;
|
|
55
|
+
var mgf = this.options.encryptionSchemeOptions.mgf || module.exports.eme_oaep_mgf1;
|
|
56
|
+
var label = this.options.encryptionSchemeOptions.label || Buffer.alloc(0);
|
|
57
|
+
var emLen = this.key.encryptedDataLength;
|
|
58
|
+
var hLen = module.exports.digestLength[hash];
|
|
59
|
+
if (buffer.length > emLen - 2 * hLen - 2) throw new Error("Message is too long to encode into an encoded message with a length of " + emLen + " bytes, increaseemLen to fix this error (minimum value for given parameters and options: " + (emLen - 2 * hLen - 2) + ")");
|
|
60
|
+
var lHash = crypt.createHash(hash);
|
|
61
|
+
lHash.update(label);
|
|
62
|
+
lHash = lHash.digest();
|
|
63
|
+
var PS = Buffer.alloc(emLen - buffer.length - 2 * hLen - 1);
|
|
64
|
+
PS.fill(0);
|
|
65
|
+
PS[PS.length - 1] = 1;
|
|
66
|
+
var DB = Buffer.concat([
|
|
67
|
+
lHash,
|
|
68
|
+
PS,
|
|
69
|
+
buffer
|
|
70
|
+
]);
|
|
71
|
+
var seed = crypt.randomBytes(hLen);
|
|
72
|
+
var mask = mgf(seed, DB.length, hash);
|
|
73
|
+
for (var i = 0; i < DB.length; i++) DB[i] ^= mask[i];
|
|
74
|
+
mask = mgf(DB, hLen, hash);
|
|
75
|
+
for (i = 0; i < seed.length; i++) seed[i] ^= mask[i];
|
|
76
|
+
var em = Buffer.alloc(1 + seed.length + DB.length);
|
|
77
|
+
em[0] = 0;
|
|
78
|
+
seed.copy(em, 1);
|
|
79
|
+
DB.copy(em, 1 + seed.length);
|
|
80
|
+
return em;
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* Unpad input
|
|
84
|
+
* alg: PKCS1_OAEP
|
|
85
|
+
*
|
|
86
|
+
* Note: This method works within the buffer given and modifies the values. It also returns a slice of the EM as the return Message.
|
|
87
|
+
* If the implementation requires that the EM parameter be unmodified then the implementation should pass in a clone of the EM buffer.
|
|
88
|
+
*
|
|
89
|
+
* https://tools.ietf.org/html/rfc3447#section-7.1.2
|
|
90
|
+
*/
|
|
91
|
+
Scheme.prototype.encUnPad = function(buffer) {
|
|
92
|
+
var hash = this.options.encryptionSchemeOptions.hash || DEFAULT_HASH_FUNCTION;
|
|
93
|
+
var mgf = this.options.encryptionSchemeOptions.mgf || module.exports.eme_oaep_mgf1;
|
|
94
|
+
var label = this.options.encryptionSchemeOptions.label || Buffer.alloc(0);
|
|
95
|
+
var hLen = module.exports.digestLength[hash];
|
|
96
|
+
if (buffer.length < 2 * hLen + 2) throw new Error("Error decoding message, the supplied message is not long enough to be a valid OAEP encoded message");
|
|
97
|
+
var seed = buffer.slice(1, hLen + 1);
|
|
98
|
+
var DB = buffer.slice(1 + hLen);
|
|
99
|
+
var mask = mgf(DB, hLen, hash);
|
|
100
|
+
for (var i = 0; i < seed.length; i++) seed[i] ^= mask[i];
|
|
101
|
+
mask = mgf(seed, DB.length, hash);
|
|
102
|
+
for (i = 0; i < DB.length; i++) DB[i] ^= mask[i];
|
|
103
|
+
var lHash = crypt.createHash(hash);
|
|
104
|
+
lHash.update(label);
|
|
105
|
+
lHash = lHash.digest();
|
|
106
|
+
if (DB.slice(0, hLen).toString("hex") != lHash.toString("hex")) throw new Error("Error decoding message, the lHash calculated from the label provided and the lHash in the encrypted data do not match.");
|
|
107
|
+
i = hLen;
|
|
108
|
+
while (DB[i++] === 0 && i < DB.length);
|
|
109
|
+
if (DB[i - 1] != 1) throw new Error("Error decoding message, there is no padding message separator byte");
|
|
110
|
+
return DB.slice(i);
|
|
111
|
+
};
|
|
112
|
+
return new Scheme(key, options);
|
|
113
|
+
};
|
|
114
|
+
}) });
|
|
115
|
+
|
|
116
|
+
//#endregion
|
|
117
|
+
Object.defineProperty(exports, 'default', {
|
|
118
|
+
enumerable: true,
|
|
119
|
+
get: function () {
|
|
120
|
+
return require_oaep();
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
//# sourceMappingURL=oaep.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oaep.cjs","names":["key","options"],"sources":["../../../../../../../../node_modules/node-rsa/src/schemes/oaep.js"],"sourcesContent":["/**\n * PKCS_OAEP signature scheme\n */\n\nvar BigInteger = require('../libs/jsbn');\nvar crypt = require('crypto');\n\nmodule.exports = {\n isEncryption: true,\n isSignature: false\n};\n\nmodule.exports.digestLength = {\n md4: 16,\n md5: 16,\n ripemd160: 20,\n rmd160: 20,\n sha1: 20,\n sha224: 28,\n sha256: 32,\n sha384: 48,\n sha512: 64\n};\n\nvar DEFAULT_HASH_FUNCTION = 'sha1';\n\n/*\n * OAEP Mask Generation Function 1\n * Generates a buffer full of pseudorandom bytes given seed and maskLength.\n * Giving the same seed, maskLength, and hashFunction will result in the same exact byte values in the buffer.\n *\n * https://tools.ietf.org/html/rfc3447#appendix-B.2.1\n *\n * Parameters:\n * seed\t\t\t[Buffer]\tThe pseudo random seed for this function\n * maskLength\t[int]\t\tThe length of the output\n * hashFunction\t[String]\tThe hashing function to use. Will accept any valid crypto hash. Default \"sha1\"\n *\t\tSupports \"sha1\" and \"sha256\".\n *\t\tTo add another algorythm the algorythem must be accepted by crypto.createHash, and then the length of the output of the hash function (the digest) must be added to the digestLength object below.\n *\t\tMost RSA implementations will be expecting sha1\n */\nmodule.exports.eme_oaep_mgf1 = function (seed, maskLength, hashFunction) {\n hashFunction = hashFunction || DEFAULT_HASH_FUNCTION;\n var hLen = module.exports.digestLength[hashFunction];\n var count = Math.ceil(maskLength / hLen);\n var T = Buffer.alloc(hLen * count);\n var c = Buffer.alloc(4);\n for (var i = 0; i < count; ++i) {\n var hash = crypt.createHash(hashFunction);\n hash.update(seed);\n c.writeUInt32BE(i, 0);\n hash.update(c);\n hash.digest().copy(T, i * hLen);\n }\n return T.slice(0, maskLength);\n};\n\nmodule.exports.makeScheme = function (key, options) {\n function Scheme(key, options) {\n this.key = key;\n this.options = options;\n }\n\n Scheme.prototype.maxMessageLength = function () {\n return this.key.encryptedDataLength - 2 * module.exports.digestLength[this.options.encryptionSchemeOptions.hash || DEFAULT_HASH_FUNCTION] - 2;\n };\n\n /**\n * Pad input\n * alg: PKCS1_OAEP\n *\n * https://tools.ietf.org/html/rfc3447#section-7.1.1\n */\n Scheme.prototype.encPad = function (buffer) {\n var hash = this.options.encryptionSchemeOptions.hash || DEFAULT_HASH_FUNCTION;\n var mgf = this.options.encryptionSchemeOptions.mgf || module.exports.eme_oaep_mgf1;\n var label = this.options.encryptionSchemeOptions.label || Buffer.alloc(0);\n var emLen = this.key.encryptedDataLength;\n\n var hLen = module.exports.digestLength[hash];\n\n // Make sure we can put message into an encoded message of emLen bytes\n if (buffer.length > emLen - 2 * hLen - 2) {\n throw new Error(\"Message is too long to encode into an encoded message with a length of \" + emLen + \" bytes, increase\" +\n \"emLen to fix this error (minimum value for given parameters and options: \" + (emLen - 2 * hLen - 2) + \")\");\n }\n\n var lHash = crypt.createHash(hash);\n lHash.update(label);\n lHash = lHash.digest();\n\n var PS = Buffer.alloc(emLen - buffer.length - 2 * hLen - 1); // Padding \"String\"\n PS.fill(0); // Fill the buffer with octets of 0\n PS[PS.length - 1] = 1;\n\n var DB = Buffer.concat([lHash, PS, buffer]);\n var seed = crypt.randomBytes(hLen);\n\n // mask = dbMask\n var mask = mgf(seed, DB.length, hash);\n // XOR DB and dbMask together.\n for (var i = 0; i < DB.length; i++) {\n DB[i] ^= mask[i];\n }\n // DB = maskedDB\n\n // mask = seedMask\n mask = mgf(DB, hLen, hash);\n // XOR seed and seedMask together.\n for (i = 0; i < seed.length; i++) {\n seed[i] ^= mask[i];\n }\n // seed = maskedSeed\n\n var em = Buffer.alloc(1 + seed.length + DB.length);\n em[0] = 0;\n seed.copy(em, 1);\n DB.copy(em, 1 + seed.length);\n\n return em;\n };\n\n /**\n * Unpad input\n * alg: PKCS1_OAEP\n *\n * Note: This method works within the buffer given and modifies the values. It also returns a slice of the EM as the return Message.\n * If the implementation requires that the EM parameter be unmodified then the implementation should pass in a clone of the EM buffer.\n *\n * https://tools.ietf.org/html/rfc3447#section-7.1.2\n */\n Scheme.prototype.encUnPad = function (buffer) {\n var hash = this.options.encryptionSchemeOptions.hash || DEFAULT_HASH_FUNCTION;\n var mgf = this.options.encryptionSchemeOptions.mgf || module.exports.eme_oaep_mgf1;\n var label = this.options.encryptionSchemeOptions.label || Buffer.alloc(0);\n\n var hLen = module.exports.digestLength[hash];\n\n // Check to see if buffer is a properly encoded OAEP message\n if (buffer.length < 2 * hLen + 2) {\n throw new Error(\"Error decoding message, the supplied message is not long enough to be a valid OAEP encoded message\");\n }\n\n var seed = buffer.slice(1, hLen + 1);\t// seed = maskedSeed\n var DB = buffer.slice(1 + hLen);\t\t// DB = maskedDB\n\n var mask = mgf(DB, hLen, hash); // seedMask\n // XOR maskedSeed and seedMask together to get the original seed.\n for (var i = 0; i < seed.length; i++) {\n seed[i] ^= mask[i];\n }\n\n mask = mgf(seed, DB.length, hash); // dbMask\n // XOR DB and dbMask together to get the original data block.\n for (i = 0; i < DB.length; i++) {\n DB[i] ^= mask[i];\n }\n\n var lHash = crypt.createHash(hash);\n lHash.update(label);\n lHash = lHash.digest();\n\n var lHashEM = DB.slice(0, hLen);\n if (lHashEM.toString(\"hex\") != lHash.toString(\"hex\")) {\n throw new Error(\"Error decoding message, the lHash calculated from the label provided and the lHash in the encrypted data do not match.\");\n }\n\n // Filter out padding\n i = hLen;\n while (DB[i++] === 0 && i < DB.length);\n if (DB[i - 1] != 1) {\n throw new Error(\"Error decoding message, there is no padding message separator byte\");\n }\n\n return DB.slice(i); // Message\n };\n\n return new Scheme(key, options);\n};\n"],"x_google_ignoreList":[0],"mappings":"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"}
|