plugin-data-source-mssql 2.0.3 → 2.0.5
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/dist/client/index.js +1 -1
- package/dist/externalVersion.js +6 -6
- package/dist/server/data-source/MssqlExternalDataSource.js +114 -30
- package/dist/server/data-source/MssqlIntrospector.js +109 -24
- package/package.json +1 -1
- package/dist/node_modules/tedious/245.index.js +0 -741
- package/dist/node_modules/tedious/LICENSE +0 -21
- package/dist/node_modules/tedious/appveyor.yml +0 -67
- package/dist/node_modules/tedious/benchmarks/bulk-load/iterable.js +0 -61
- package/dist/node_modules/tedious/benchmarks/common.js +0 -287
- package/dist/node_modules/tedious/benchmarks/connection/open.js +0 -26
- package/dist/node_modules/tedious/benchmarks/package-lock.json +0 -21173
- package/dist/node_modules/tedious/benchmarks/package.json +0 -11
- package/dist/node_modules/tedious/benchmarks/query/call-tvp.js +0 -105
- package/dist/node_modules/tedious/benchmarks/query/insert-varbinary.js +0 -46
- package/dist/node_modules/tedious/benchmarks/query/select-many-rows.js +0 -63
- package/dist/node_modules/tedious/benchmarks/query/select-nvarchar.js +0 -50
- package/dist/node_modules/tedious/benchmarks/query/select-varbinary.js +0 -50
- package/dist/node_modules/tedious/benchmarks/request/rpcrequest-payload-tvp.js +0 -45
- package/dist/node_modules/tedious/benchmarks/request/rpcrequest-payload-varbinary.js +0 -37
- package/dist/node_modules/tedious/benchmarks/token-parser/colmetadata-token.js +0 -27
- package/dist/node_modules/tedious/benchmarks/token-parser/done-token.js +0 -28
- package/dist/node_modules/tedious/benchmarks/token-parser/simple-tokens.js +0 -363
- package/dist/node_modules/tedious/lib/all-headers.d.ts +0 -2
- package/dist/node_modules/tedious/lib/all-headers.js +0 -24
- package/dist/node_modules/tedious/lib/always-encrypted/aead-aes-256-cbc-hmac-algorithm.js +0 -82
- package/dist/node_modules/tedious/lib/always-encrypted/aead-aes-256-cbc-hmac-encryption-key.js +0 -55
- package/dist/node_modules/tedious/lib/always-encrypted/cek-entry.d.ts +0 -11
- package/dist/node_modules/tedious/lib/always-encrypted/cek-entry.js +0 -42
- package/dist/node_modules/tedious/lib/always-encrypted/get-parameter-encryption-metadata.js +0 -90
- package/dist/node_modules/tedious/lib/always-encrypted/key-crypto.js +0 -94
- package/dist/node_modules/tedious/lib/always-encrypted/keystore-provider-azure-key-vault.d.ts +0 -21
- package/dist/node_modules/tedious/lib/always-encrypted/keystore-provider-azure-key-vault.js +0 -247
- package/dist/node_modules/tedious/lib/always-encrypted/symmetric-key-cache.js +0 -36
- package/dist/node_modules/tedious/lib/always-encrypted/symmetric-key.js +0 -25
- package/dist/node_modules/tedious/lib/always-encrypted/types.d.ts +0 -73
- package/dist/node_modules/tedious/lib/always-encrypted/types.js +0 -48
- package/dist/node_modules/tedious/lib/always-encrypted/utils.js +0 -23
- package/dist/node_modules/tedious/lib/bulk-load-payload.d.ts +0 -8
- package/dist/node_modules/tedious/lib/bulk-load-payload.js +0 -23
- package/dist/node_modules/tedious/lib/bulk-load.d.ts +0 -275
- package/dist/node_modules/tedious/lib/bulk-load.js +0 -516
- package/dist/node_modules/tedious/lib/collation.d.ts +0 -28
- package/dist/node_modules/tedious/lib/collation.js +0 -348
- package/dist/node_modules/tedious/lib/connection.d.ts +0 -1310
- package/dist/node_modules/tedious/lib/connection.js +0 -2730
- package/dist/node_modules/tedious/lib/connector.d.ts +0 -18
- package/dist/node_modules/tedious/lib/connector.js +0 -150
- package/dist/node_modules/tedious/lib/data-type.d.ts +0 -455
- package/dist/node_modules/tedious/lib/data-type.js +0 -428
- package/dist/node_modules/tedious/lib/data-types/bigint.d.ts +0 -3
- package/dist/node_modules/tedious/lib/data-types/bigint.js +0 -53
- package/dist/node_modules/tedious/lib/data-types/binary.d.ts +0 -5
- package/dist/node_modules/tedious/lib/data-types/binary.js +0 -67
- package/dist/node_modules/tedious/lib/data-types/bit.d.ts +0 -3
- package/dist/node_modules/tedious/lib/data-types/bit.js +0 -46
- package/dist/node_modules/tedious/lib/data-types/bitn.d.ts +0 -3
- package/dist/node_modules/tedious/lib/data-types/bitn.js +0 -29
- package/dist/node_modules/tedious/lib/data-types/char.d.ts +0 -5
- package/dist/node_modules/tedious/lib/data-types/char.js +0 -86
- package/dist/node_modules/tedious/lib/data-types/date.d.ts +0 -3
- package/dist/node_modules/tedious/lib/data-types/date.js +0 -72
- package/dist/node_modules/tedious/lib/data-types/datetime.d.ts +0 -3
- package/dist/node_modules/tedious/lib/data-types/datetime.js +0 -93
- package/dist/node_modules/tedious/lib/data-types/datetime2.d.ts +0 -5
- package/dist/node_modules/tedious/lib/data-types/datetime2.js +0 -118
- package/dist/node_modules/tedious/lib/data-types/datetimen.d.ts +0 -3
- package/dist/node_modules/tedious/lib/data-types/datetimen.js +0 -29
- package/dist/node_modules/tedious/lib/data-types/datetimeoffset.d.ts +0 -5
- package/dist/node_modules/tedious/lib/data-types/datetimeoffset.js +0 -111
- package/dist/node_modules/tedious/lib/data-types/decimal.d.ts +0 -6
- package/dist/node_modules/tedious/lib/data-types/decimal.js +0 -107
- package/dist/node_modules/tedious/lib/data-types/decimaln.d.ts +0 -3
- package/dist/node_modules/tedious/lib/data-types/decimaln.js +0 -29
- package/dist/node_modules/tedious/lib/data-types/float.d.ts +0 -3
- package/dist/node_modules/tedious/lib/data-types/float.js +0 -47
- package/dist/node_modules/tedious/lib/data-types/floatn.d.ts +0 -3
- package/dist/node_modules/tedious/lib/data-types/floatn.js +0 -29
- package/dist/node_modules/tedious/lib/data-types/image.d.ts +0 -3
- package/dist/node_modules/tedious/lib/data-types/image.js +0 -56
- package/dist/node_modules/tedious/lib/data-types/int.d.ts +0 -3
- package/dist/node_modules/tedious/lib/data-types/int.js +0 -53
- package/dist/node_modules/tedious/lib/data-types/intn.d.ts +0 -3
- package/dist/node_modules/tedious/lib/data-types/intn.js +0 -29
- package/dist/node_modules/tedious/lib/data-types/money.d.ts +0 -3
- package/dist/node_modules/tedious/lib/data-types/money.js +0 -59
- package/dist/node_modules/tedious/lib/data-types/moneyn.d.ts +0 -3
- package/dist/node_modules/tedious/lib/data-types/moneyn.js +0 -29
- package/dist/node_modules/tedious/lib/data-types/nchar.d.ts +0 -5
- package/dist/node_modules/tedious/lib/data-types/nchar.js +0 -100
- package/dist/node_modules/tedious/lib/data-types/ntext.d.ts +0 -3
- package/dist/node_modules/tedious/lib/data-types/ntext.js +0 -60
- package/dist/node_modules/tedious/lib/data-types/null.d.ts +0 -3
- package/dist/node_modules/tedious/lib/data-types/null.js +0 -29
- package/dist/node_modules/tedious/lib/data-types/numeric.d.ts +0 -6
- package/dist/node_modules/tedious/lib/data-types/numeric.js +0 -106
- package/dist/node_modules/tedious/lib/data-types/numericn.d.ts +0 -3
- package/dist/node_modules/tedious/lib/data-types/numericn.js +0 -29
- package/dist/node_modules/tedious/lib/data-types/nvarchar.d.ts +0 -5
- package/dist/node_modules/tedious/lib/data-types/nvarchar.js +0 -133
- package/dist/node_modules/tedious/lib/data-types/real.d.ts +0 -3
- package/dist/node_modules/tedious/lib/data-types/real.js +0 -48
- package/dist/node_modules/tedious/lib/data-types/smalldatetime.d.ts +0 -3
- package/dist/node_modules/tedious/lib/data-types/smalldatetime.js +0 -83
- package/dist/node_modules/tedious/lib/data-types/smallint.d.ts +0 -3
- package/dist/node_modules/tedious/lib/data-types/smallint.js +0 -53
- package/dist/node_modules/tedious/lib/data-types/smallmoney.d.ts +0 -3
- package/dist/node_modules/tedious/lib/data-types/smallmoney.js +0 -51
- package/dist/node_modules/tedious/lib/data-types/sql-variant.d.ts +0 -3
- package/dist/node_modules/tedious/lib/data-types/sql-variant.js +0 -29
- package/dist/node_modules/tedious/lib/data-types/text.d.ts +0 -3
- package/dist/node_modules/tedious/lib/data-types/text.js +0 -69
- package/dist/node_modules/tedious/lib/data-types/time.d.ts +0 -3
- package/dist/node_modules/tedious/lib/data-types/time.js +0 -96
- package/dist/node_modules/tedious/lib/data-types/tinyint.d.ts +0 -3
- package/dist/node_modules/tedious/lib/data-types/tinyint.js +0 -53
- package/dist/node_modules/tedious/lib/data-types/tvp.d.ts +0 -3
- package/dist/node_modules/tedious/lib/data-types/tvp.js +0 -117
- package/dist/node_modules/tedious/lib/data-types/udt.d.ts +0 -3
- package/dist/node_modules/tedious/lib/data-types/udt.js +0 -29
- package/dist/node_modules/tedious/lib/data-types/uniqueidentifier.d.ts +0 -3
- package/dist/node_modules/tedious/lib/data-types/uniqueidentifier.js +0 -50
- package/dist/node_modules/tedious/lib/data-types/varbinary.d.ts +0 -5
- package/dist/node_modules/tedious/lib/data-types/varbinary.js +0 -119
- package/dist/node_modules/tedious/lib/data-types/varchar.d.ts +0 -5
- package/dist/node_modules/tedious/lib/data-types/varchar.js +0 -112
- package/dist/node_modules/tedious/lib/data-types/xml.d.ts +0 -3
- package/dist/node_modules/tedious/lib/data-types/xml.js +0 -29
- package/dist/node_modules/tedious/lib/debug.d.ts +0 -25
- package/dist/node_modules/tedious/lib/debug.js +0 -67
- package/dist/node_modules/tedious/lib/errors/abort-error.d.ts +0 -4
- package/dist/node_modules/tedious/lib/errors/abort-error.js +0 -15
- package/dist/node_modules/tedious/lib/errors/timeout-error.d.ts +0 -4
- package/dist/node_modules/tedious/lib/errors/timeout-error.js +0 -15
- package/dist/node_modules/tedious/lib/errors.d.ts +0 -17
- package/dist/node_modules/tedious/lib/errors.js +0 -23
- package/dist/node_modules/tedious/lib/guid-parser.d.ts +0 -3
- package/dist/node_modules/tedious/lib/guid-parser.js +0 -30
- package/dist/node_modules/tedious/lib/incoming-message-stream.d.ts +0 -19
- package/dist/node_modules/tedious/lib/incoming-message-stream.js +0 -97
- package/dist/node_modules/tedious/lib/instance-lookup.d.ts +0 -13
- package/dist/node_modules/tedious/lib/instance-lookup.js +0 -96
- package/dist/node_modules/tedious/lib/library.d.ts +0 -1
- package/dist/node_modules/tedious/lib/library.js +0 -8
- package/dist/node_modules/tedious/lib/login7-payload.d.ts +0 -51
- package/dist/node_modules/tedious/lib/login7-payload.js +0 -402
- package/dist/node_modules/tedious/lib/message-io.d.ts +0 -28
- package/dist/node_modules/tedious/lib/message-io.js +0 -153
- package/dist/node_modules/tedious/lib/message.d.ts +0 -11
- package/dist/node_modules/tedious/lib/message.js +0 -21
- package/dist/node_modules/tedious/lib/metadata-parser.d.ts +0 -48
- package/dist/node_modules/tedious/lib/metadata-parser.js +0 -380
- package/dist/node_modules/tedious/lib/ntlm-payload.d.ts +0 -23
- package/dist/node_modules/tedious/lib/ntlm-payload.js +0 -136
- package/dist/node_modules/tedious/lib/ntlm.d.ts +0 -4
- package/dist/node_modules/tedious/lib/ntlm.js +0 -72
- package/dist/node_modules/tedious/lib/outgoing-message-stream.d.ts +0 -15
- package/dist/node_modules/tedious/lib/outgoing-message-stream.js +0 -81
- package/dist/node_modules/tedious/lib/packet.d.ts +0 -33
- package/dist/node_modules/tedious/lib/packet.js +0 -191
- package/dist/node_modules/tedious/lib/prelogin-payload.d.ts +0 -61
- package/dist/node_modules/tedious/lib/prelogin-payload.js +0 -209
- package/dist/node_modules/tedious/lib/request.d.ts +0 -370
- package/dist/node_modules/tedious/lib/request.js +0 -387
- package/dist/node_modules/tedious/lib/rpcrequest-payload.d.ts +0 -16
- package/dist/node_modules/tedious/lib/rpcrequest-payload.js +0 -109
- package/dist/node_modules/tedious/lib/sender.d.ts +0 -5
- package/dist/node_modules/tedious/lib/sender.js +0 -83
- package/dist/node_modules/tedious/lib/special-stored-procedure.d.ts +0 -18
- package/dist/node_modules/tedious/lib/special-stored-procedure.js +0 -26
- package/dist/node_modules/tedious/lib/sqlbatch-payload.d.ts +0 -13
- package/dist/node_modules/tedious/lib/sqlbatch-payload.js +0 -34
- package/dist/node_modules/tedious/lib/tds-versions.d.ts +0 -6
- package/dist/node_modules/tedious/lib/tds-versions.js +0 -19
- package/dist/node_modules/tedious/lib/tedious.d.ts +0 -13
- package/dist/node_modules/tedious/lib/tedious.js +0 -249
- package/dist/node_modules/tedious/lib/token/colmetadata-token-parser.d.ts +0 -12
- package/dist/node_modules/tedious/lib/token/colmetadata-token-parser.js +0 -124
- package/dist/node_modules/tedious/lib/token/done-token-parser.d.ts +0 -6
- package/dist/node_modules/tedious/lib/token/done-token-parser.js +0 -76
- package/dist/node_modules/tedious/lib/token/env-change-token-parser.d.ts +0 -5
- package/dist/node_modules/tedious/lib/token/env-change-token-parser.js +0 -190
- package/dist/node_modules/tedious/lib/token/feature-ext-ack-parser.d.ts +0 -5
- package/dist/node_modules/tedious/lib/token/feature-ext-ack-parser.js +0 -52
- package/dist/node_modules/tedious/lib/token/fedauth-info-parser.d.ts +0 -5
- package/dist/node_modules/tedious/lib/token/fedauth-info-parser.js +0 -62
- package/dist/node_modules/tedious/lib/token/handler.d.ts +0 -135
- package/dist/node_modules/tedious/lib/token/handler.js +0 -444
- package/dist/node_modules/tedious/lib/token/helpers.d.ts +0 -28
- package/dist/node_modules/tedious/lib/token/helpers.js +0 -205
- package/dist/node_modules/tedious/lib/token/infoerror-token-parser.d.ts +0 -5
- package/dist/node_modules/tedious/lib/token/infoerror-token-parser.js +0 -80
- package/dist/node_modules/tedious/lib/token/loginack-token-parser.d.ts +0 -5
- package/dist/node_modules/tedious/lib/token/loginack-token-parser.js +0 -75
- package/dist/node_modules/tedious/lib/token/nbcrow-token-parser.d.ts +0 -4
- package/dist/node_modules/tedious/lib/token/nbcrow-token-parser.js +0 -104
- package/dist/node_modules/tedious/lib/token/order-token-parser.d.ts +0 -5
- package/dist/node_modules/tedious/lib/token/order-token-parser.js +0 -34
- package/dist/node_modules/tedious/lib/token/returnstatus-token-parser.d.ts +0 -5
- package/dist/node_modules/tedious/lib/token/returnstatus-token-parser.js +0 -21
- package/dist/node_modules/tedious/lib/token/returnvalue-token-parser.d.ts +0 -4
- package/dist/node_modules/tedious/lib/token/returnvalue-token-parser.js +0 -94
- package/dist/node_modules/tedious/lib/token/row-token-parser.d.ts +0 -4
- package/dist/node_modules/tedious/lib/token/row-token-parser.js +0 -77
- package/dist/node_modules/tedious/lib/token/sspi-token-parser.d.ts +0 -5
- package/dist/node_modules/tedious/lib/token/sspi-token-parser.js +0 -42
- package/dist/node_modules/tedious/lib/token/stream-parser.d.ts +0 -34
- package/dist/node_modules/tedious/lib/token/stream-parser.js +0 -341
- package/dist/node_modules/tedious/lib/token/token-stream-parser.d.ts +0 -15
- package/dist/node_modules/tedious/lib/token/token-stream-parser.js +0 -36
- package/dist/node_modules/tedious/lib/token/token.d.ts +0 -312
- package/dist/node_modules/tedious/lib/token/token.js +0 -328
- package/dist/node_modules/tedious/lib/tracking-buffer/writable-tracking-buffer.d.ts +0 -47
- package/dist/node_modules/tedious/lib/tracking-buffer/writable-tracking-buffer.js +0 -249
- package/dist/node_modules/tedious/lib/transaction.d.ts +0 -39
- package/dist/node_modules/tedious/lib/transaction.js +0 -137
- package/dist/node_modules/tedious/lib/transient-error-lookup.d.ts +0 -3
- package/dist/node_modules/tedious/lib/transient-error-lookup.js +0 -19
- package/dist/node_modules/tedious/lib/utils/with-timeout.d.ts +0 -7
- package/dist/node_modules/tedious/lib/utils/with-timeout.js +0 -36
- package/dist/node_modules/tedious/lib/value-parser.d.ts +0 -7
- package/dist/node_modules/tedious/lib/value-parser.js +0 -813
- package/dist/node_modules/tedious/node_modules/@types/node/assert/strict.d.ts +0 -105
- package/dist/node_modules/tedious/node_modules/@types/node/assert.d.ts +0 -955
- package/dist/node_modules/tedious/node_modules/@types/node/async_hooks.d.ts +0 -623
- package/dist/node_modules/tedious/node_modules/@types/node/buffer.buffer.d.ts +0 -466
- package/dist/node_modules/tedious/node_modules/@types/node/buffer.d.ts +0 -1810
- package/dist/node_modules/tedious/node_modules/@types/node/child_process.d.ts +0 -1428
- package/dist/node_modules/tedious/node_modules/@types/node/cluster.d.ts +0 -486
- package/dist/node_modules/tedious/node_modules/@types/node/compatibility/iterators.d.ts +0 -21
- package/dist/node_modules/tedious/node_modules/@types/node/console.d.ts +0 -151
- package/dist/node_modules/tedious/node_modules/@types/node/constants.d.ts +0 -20
- package/dist/node_modules/tedious/node_modules/@types/node/crypto.d.ts +0 -4065
- package/dist/node_modules/tedious/node_modules/@types/node/dgram.d.ts +0 -564
- package/dist/node_modules/tedious/node_modules/@types/node/diagnostics_channel.d.ts +0 -576
- package/dist/node_modules/tedious/node_modules/@types/node/dns/promises.d.ts +0 -503
- package/dist/node_modules/tedious/node_modules/@types/node/dns.d.ts +0 -922
- package/dist/node_modules/tedious/node_modules/@types/node/domain.d.ts +0 -166
- package/dist/node_modules/tedious/node_modules/@types/node/events.d.ts +0 -1054
- package/dist/node_modules/tedious/node_modules/@types/node/fs/promises.d.ts +0 -1329
- package/dist/node_modules/tedious/node_modules/@types/node/fs.d.ts +0 -4676
- package/dist/node_modules/tedious/node_modules/@types/node/globals.d.ts +0 -150
- package/dist/node_modules/tedious/node_modules/@types/node/globals.typedarray.d.ts +0 -101
- package/dist/node_modules/tedious/node_modules/@types/node/http.d.ts +0 -2167
- package/dist/node_modules/tedious/node_modules/@types/node/http2.d.ts +0 -2480
- package/dist/node_modules/tedious/node_modules/@types/node/https.d.ts +0 -405
- package/dist/node_modules/tedious/node_modules/@types/node/index.d.ts +0 -115
- package/dist/node_modules/tedious/node_modules/@types/node/inspector/promises.d.ts +0 -41
- package/dist/node_modules/tedious/node_modules/@types/node/inspector.d.ts +0 -224
- package/dist/node_modules/tedious/node_modules/@types/node/inspector.generated.d.ts +0 -4226
- package/dist/node_modules/tedious/node_modules/@types/node/module.d.ts +0 -819
- package/dist/node_modules/tedious/node_modules/@types/node/net.d.ts +0 -933
- package/dist/node_modules/tedious/node_modules/@types/node/os.d.ts +0 -507
- package/dist/node_modules/tedious/node_modules/@types/node/package.json +0 -155
- package/dist/node_modules/tedious/node_modules/@types/node/path/posix.d.ts +0 -8
- package/dist/node_modules/tedious/node_modules/@types/node/path/win32.d.ts +0 -8
- package/dist/node_modules/tedious/node_modules/@types/node/path.d.ts +0 -187
- package/dist/node_modules/tedious/node_modules/@types/node/perf_hooks.d.ts +0 -643
- package/dist/node_modules/tedious/node_modules/@types/node/process.d.ts +0 -2161
- package/dist/node_modules/tedious/node_modules/@types/node/punycode.d.ts +0 -117
- package/dist/node_modules/tedious/node_modules/@types/node/querystring.d.ts +0 -152
- package/dist/node_modules/tedious/node_modules/@types/node/quic.d.ts +0 -910
- package/dist/node_modules/tedious/node_modules/@types/node/readline/promises.d.ts +0 -161
- package/dist/node_modules/tedious/node_modules/@types/node/readline.d.ts +0 -541
- package/dist/node_modules/tedious/node_modules/@types/node/repl.d.ts +0 -415
- package/dist/node_modules/tedious/node_modules/@types/node/sea.d.ts +0 -162
- package/dist/node_modules/tedious/node_modules/@types/node/sqlite.d.ts +0 -955
- package/dist/node_modules/tedious/node_modules/@types/node/stream/consumers.d.ts +0 -38
- package/dist/node_modules/tedious/node_modules/@types/node/stream/promises.d.ts +0 -211
- package/dist/node_modules/tedious/node_modules/@types/node/stream/web.d.ts +0 -296
- package/dist/node_modules/tedious/node_modules/@types/node/stream.d.ts +0 -1760
- package/dist/node_modules/tedious/node_modules/@types/node/string_decoder.d.ts +0 -67
- package/dist/node_modules/tedious/node_modules/@types/node/test/reporters.d.ts +0 -96
- package/dist/node_modules/tedious/node_modules/@types/node/test.d.ts +0 -2240
- package/dist/node_modules/tedious/node_modules/@types/node/timers/promises.d.ts +0 -108
- package/dist/node_modules/tedious/node_modules/@types/node/timers.d.ts +0 -159
- package/dist/node_modules/tedious/node_modules/@types/node/tls.d.ts +0 -1198
- package/dist/node_modules/tedious/node_modules/@types/node/trace_events.d.ts +0 -197
- package/dist/node_modules/tedious/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -462
- package/dist/node_modules/tedious/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +0 -71
- package/dist/node_modules/tedious/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -36
- package/dist/node_modules/tedious/node_modules/@types/node/ts5.6/index.d.ts +0 -117
- package/dist/node_modules/tedious/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +0 -72
- package/dist/node_modules/tedious/node_modules/@types/node/ts5.7/index.d.ts +0 -117
- package/dist/node_modules/tedious/node_modules/@types/node/tty.d.ts +0 -250
- package/dist/node_modules/tedious/node_modules/@types/node/url.d.ts +0 -519
- package/dist/node_modules/tedious/node_modules/@types/node/util/types.d.ts +0 -558
- package/dist/node_modules/tedious/node_modules/@types/node/util.d.ts +0 -1662
- package/dist/node_modules/tedious/node_modules/@types/node/v8.d.ts +0 -983
- package/dist/node_modules/tedious/node_modules/@types/node/vm.d.ts +0 -1208
- package/dist/node_modules/tedious/node_modules/@types/node/wasi.d.ts +0 -202
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -59
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/blob.d.ts +0 -23
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/console.d.ts +0 -9
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/crypto.d.ts +0 -39
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/domexception.d.ts +0 -68
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/encoding.d.ts +0 -11
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/events.d.ts +0 -106
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/fetch.d.ts +0 -69
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/importmeta.d.ts +0 -13
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/messaging.d.ts +0 -23
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/navigator.d.ts +0 -25
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/performance.d.ts +0 -45
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/storage.d.ts +0 -24
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/streams.d.ts +0 -115
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/timers.d.ts +0 -44
- package/dist/node_modules/tedious/node_modules/@types/node/web-globals/url.d.ts +0 -24
- package/dist/node_modules/tedious/node_modules/@types/node/worker_threads.d.ts +0 -717
- package/dist/node_modules/tedious/node_modules/@types/node/zlib.d.ts +0 -618
- package/dist/node_modules/tedious/node_modules/bl/.github/dependabot.yml +0 -16
- package/dist/node_modules/tedious/node_modules/bl/.github/workflows/test-and-release.yml +0 -61
- package/dist/node_modules/tedious/node_modules/bl/BufferList.d.ts +0 -431
- package/dist/node_modules/tedious/node_modules/bl/BufferList.js +0 -421
- package/dist/node_modules/tedious/node_modules/bl/bl.js +0 -84
- package/dist/node_modules/tedious/node_modules/bl/index.d.ts +0 -88
- package/dist/node_modules/tedious/node_modules/bl/package.json +0 -123
- package/dist/node_modules/tedious/node_modules/bl/test/convert.js +0 -21
- package/dist/node_modules/tedious/node_modules/bl/test/indexOf.js +0 -492
- package/dist/node_modules/tedious/node_modules/bl/test/isBufferList.js +0 -32
- package/dist/node_modules/tedious/node_modules/bl/test/test.js +0 -1032
- package/dist/node_modules/tedious/node_modules/buffer/index.d.ts +0 -194
- package/dist/node_modules/tedious/node_modules/buffer/index.js +0 -2106
- package/dist/node_modules/tedious/node_modules/buffer/package.json +0 -93
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/_stream_duplex.js +0 -4
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/_stream_passthrough.js +0 -4
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/_stream_readable.js +0 -4
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/_stream_transform.js +0 -4
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/_stream_writable.js +0 -4
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/add-abort-signal.js +0 -52
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -157
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/compose.js +0 -194
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -290
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/duplex.js +0 -143
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/duplexify.js +0 -378
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -286
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/from.js +0 -98
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/lazy_transform.js +0 -51
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/legacy.js +0 -89
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/operators.js +0 -457
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/passthrough.js +0 -39
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -471
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/readable.js +0 -1290
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/state.js +0 -39
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/transform.js +0 -180
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/utils.js +0 -327
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/streams/writable.js +0 -819
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/internal/validators.js +0 -530
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/ours/browser.js +0 -35
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/ours/errors.js +0 -343
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/ours/index.js +0 -65
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/ours/primordials.js +0 -124
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/ours/util/inspect.js +0 -55
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/ours/util.js +0 -148
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/stream/promises.js +0 -43
- package/dist/node_modules/tedious/node_modules/readable-stream/lib/stream.js +0 -143
- package/dist/node_modules/tedious/node_modules/readable-stream/package.json +0 -88
- package/dist/node_modules/tedious/node_modules/sprintf-js/dist/.gitattributes +0 -4
- package/dist/node_modules/tedious/node_modules/sprintf-js/dist/angular-sprintf.min.js +0 -3
- package/dist/node_modules/tedious/node_modules/sprintf-js/dist/sprintf.min.js +0 -3
- package/dist/node_modules/tedious/node_modules/sprintf-js/package.json +0 -35
- package/dist/node_modules/tedious/node_modules/sprintf-js/src/angular-sprintf.js +0 -24
- package/dist/node_modules/tedious/node_modules/sprintf-js/src/sprintf.js +0 -231
- package/dist/node_modules/tedious/node_modules/undici-types/agent.d.ts +0 -32
- package/dist/node_modules/tedious/node_modules/undici-types/api.d.ts +0 -43
- package/dist/node_modules/tedious/node_modules/undici-types/balanced-pool.d.ts +0 -29
- package/dist/node_modules/tedious/node_modules/undici-types/cache-interceptor.d.ts +0 -172
- package/dist/node_modules/tedious/node_modules/undici-types/cache.d.ts +0 -36
- package/dist/node_modules/tedious/node_modules/undici-types/client-stats.d.ts +0 -15
- package/dist/node_modules/tedious/node_modules/undici-types/client.d.ts +0 -108
- package/dist/node_modules/tedious/node_modules/undici-types/connector.d.ts +0 -34
- package/dist/node_modules/tedious/node_modules/undici-types/content-type.d.ts +0 -21
- package/dist/node_modules/tedious/node_modules/undici-types/cookies.d.ts +0 -30
- package/dist/node_modules/tedious/node_modules/undici-types/diagnostics-channel.d.ts +0 -74
- package/dist/node_modules/tedious/node_modules/undici-types/dispatcher.d.ts +0 -276
- package/dist/node_modules/tedious/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -22
- package/dist/node_modules/tedious/node_modules/undici-types/errors.d.ts +0 -161
- package/dist/node_modules/tedious/node_modules/undici-types/eventsource.d.ts +0 -66
- package/dist/node_modules/tedious/node_modules/undici-types/fetch.d.ts +0 -211
- package/dist/node_modules/tedious/node_modules/undici-types/formdata.d.ts +0 -108
- package/dist/node_modules/tedious/node_modules/undici-types/global-dispatcher.d.ts +0 -9
- package/dist/node_modules/tedious/node_modules/undici-types/global-origin.d.ts +0 -7
- package/dist/node_modules/tedious/node_modules/undici-types/h2c-client.d.ts +0 -73
- package/dist/node_modules/tedious/node_modules/undici-types/handlers.d.ts +0 -15
- package/dist/node_modules/tedious/node_modules/undici-types/header.d.ts +0 -160
- package/dist/node_modules/tedious/node_modules/undici-types/index.d.ts +0 -80
- package/dist/node_modules/tedious/node_modules/undici-types/interceptors.d.ts +0 -39
- package/dist/node_modules/tedious/node_modules/undici-types/mock-agent.d.ts +0 -68
- package/dist/node_modules/tedious/node_modules/undici-types/mock-call-history.d.ts +0 -111
- package/dist/node_modules/tedious/node_modules/undici-types/mock-client.d.ts +0 -27
- package/dist/node_modules/tedious/node_modules/undici-types/mock-errors.d.ts +0 -12
- package/dist/node_modules/tedious/node_modules/undici-types/mock-interceptor.d.ts +0 -94
- package/dist/node_modules/tedious/node_modules/undici-types/mock-pool.d.ts +0 -27
- package/dist/node_modules/tedious/node_modules/undici-types/package.json +0 -55
- package/dist/node_modules/tedious/node_modules/undici-types/patch.d.ts +0 -29
- package/dist/node_modules/tedious/node_modules/undici-types/pool-stats.d.ts +0 -19
- package/dist/node_modules/tedious/node_modules/undici-types/pool.d.ts +0 -41
- package/dist/node_modules/tedious/node_modules/undici-types/proxy-agent.d.ts +0 -29
- package/dist/node_modules/tedious/node_modules/undici-types/readable.d.ts +0 -68
- package/dist/node_modules/tedious/node_modules/undici-types/retry-agent.d.ts +0 -8
- package/dist/node_modules/tedious/node_modules/undici-types/retry-handler.d.ts +0 -125
- package/dist/node_modules/tedious/node_modules/undici-types/snapshot-agent.d.ts +0 -109
- package/dist/node_modules/tedious/node_modules/undici-types/util.d.ts +0 -18
- package/dist/node_modules/tedious/node_modules/undici-types/utility.d.ts +0 -7
- package/dist/node_modules/tedious/node_modules/undici-types/webidl.d.ts +0 -341
- package/dist/node_modules/tedious/node_modules/undici-types/websocket.d.ts +0 -186
- package/dist/node_modules/tedious/package.json +0 -1
- package/dist/node_modules/tedious/tsconfig.build-types.json +0 -15
- package/dist/node_modules/tedious/tsconfig.json +0 -29
- package/dist/node_modules/tedious/types/js-md4.d.ts +0 -7
- package/dist/node_modules/tedious/types/native-duplexpair.d.ts +0 -12
|
@@ -1,380 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
exports.readCollation = readCollation;
|
|
8
|
-
exports.readMetadata = readMetadata;
|
|
9
|
-
var _collation = require("./collation");
|
|
10
|
-
var _dataType = require("./data-type");
|
|
11
|
-
var _sprintfJs = require("sprintf-js");
|
|
12
|
-
var _helpers = require("./token/helpers");
|
|
13
|
-
function readCollation(buf, offset) {
|
|
14
|
-
offset = +offset;
|
|
15
|
-
if (buf.length < offset + 5) {
|
|
16
|
-
throw new _helpers.NotEnoughDataError(offset + 5);
|
|
17
|
-
}
|
|
18
|
-
const collation = _collation.Collation.fromBuffer(buf.slice(offset, offset + 5));
|
|
19
|
-
return new _helpers.Result(collation, offset + 5);
|
|
20
|
-
}
|
|
21
|
-
function readSchema(buf, offset) {
|
|
22
|
-
offset = +offset;
|
|
23
|
-
let schemaPresent;
|
|
24
|
-
({
|
|
25
|
-
offset,
|
|
26
|
-
value: schemaPresent
|
|
27
|
-
} = (0, _helpers.readUInt8)(buf, offset));
|
|
28
|
-
if (schemaPresent !== 0x01) {
|
|
29
|
-
return new _helpers.Result(undefined, offset);
|
|
30
|
-
}
|
|
31
|
-
let dbname;
|
|
32
|
-
({
|
|
33
|
-
offset,
|
|
34
|
-
value: dbname
|
|
35
|
-
} = (0, _helpers.readBVarChar)(buf, offset));
|
|
36
|
-
let owningSchema;
|
|
37
|
-
({
|
|
38
|
-
offset,
|
|
39
|
-
value: owningSchema
|
|
40
|
-
} = (0, _helpers.readBVarChar)(buf, offset));
|
|
41
|
-
let xmlSchemaCollection;
|
|
42
|
-
({
|
|
43
|
-
offset,
|
|
44
|
-
value: xmlSchemaCollection
|
|
45
|
-
} = (0, _helpers.readUsVarChar)(buf, offset));
|
|
46
|
-
return new _helpers.Result({
|
|
47
|
-
dbname,
|
|
48
|
-
owningSchema,
|
|
49
|
-
xmlSchemaCollection
|
|
50
|
-
}, offset);
|
|
51
|
-
}
|
|
52
|
-
function readUDTInfo(buf, offset) {
|
|
53
|
-
let maxByteSize;
|
|
54
|
-
({
|
|
55
|
-
offset,
|
|
56
|
-
value: maxByteSize
|
|
57
|
-
} = (0, _helpers.readUInt16LE)(buf, offset));
|
|
58
|
-
let dbname;
|
|
59
|
-
({
|
|
60
|
-
offset,
|
|
61
|
-
value: dbname
|
|
62
|
-
} = (0, _helpers.readBVarChar)(buf, offset));
|
|
63
|
-
let owningSchema;
|
|
64
|
-
({
|
|
65
|
-
offset,
|
|
66
|
-
value: owningSchema
|
|
67
|
-
} = (0, _helpers.readBVarChar)(buf, offset));
|
|
68
|
-
let typeName;
|
|
69
|
-
({
|
|
70
|
-
offset,
|
|
71
|
-
value: typeName
|
|
72
|
-
} = (0, _helpers.readBVarChar)(buf, offset));
|
|
73
|
-
let assemblyName;
|
|
74
|
-
({
|
|
75
|
-
offset,
|
|
76
|
-
value: assemblyName
|
|
77
|
-
} = (0, _helpers.readUsVarChar)(buf, offset));
|
|
78
|
-
return new _helpers.Result({
|
|
79
|
-
maxByteSize: maxByteSize,
|
|
80
|
-
dbname: dbname,
|
|
81
|
-
owningSchema: owningSchema,
|
|
82
|
-
typeName: typeName,
|
|
83
|
-
assemblyName: assemblyName
|
|
84
|
-
}, offset);
|
|
85
|
-
}
|
|
86
|
-
function readMetadata(buf, offset, options) {
|
|
87
|
-
let userType;
|
|
88
|
-
({
|
|
89
|
-
offset,
|
|
90
|
-
value: userType
|
|
91
|
-
} = (options.tdsVersion < '7_2' ? _helpers.readUInt16LE : _helpers.readUInt32LE)(buf, offset));
|
|
92
|
-
let flags;
|
|
93
|
-
({
|
|
94
|
-
offset,
|
|
95
|
-
value: flags
|
|
96
|
-
} = (0, _helpers.readUInt16LE)(buf, offset));
|
|
97
|
-
let typeNumber;
|
|
98
|
-
({
|
|
99
|
-
offset,
|
|
100
|
-
value: typeNumber
|
|
101
|
-
} = (0, _helpers.readUInt8)(buf, offset));
|
|
102
|
-
const type = _dataType.TYPE[typeNumber];
|
|
103
|
-
if (!type) {
|
|
104
|
-
throw new Error((0, _sprintfJs.sprintf)('Unrecognised data type 0x%02X', typeNumber));
|
|
105
|
-
}
|
|
106
|
-
switch (type.name) {
|
|
107
|
-
case 'Null':
|
|
108
|
-
case 'TinyInt':
|
|
109
|
-
case 'SmallInt':
|
|
110
|
-
case 'Int':
|
|
111
|
-
case 'BigInt':
|
|
112
|
-
case 'Real':
|
|
113
|
-
case 'Float':
|
|
114
|
-
case 'SmallMoney':
|
|
115
|
-
case 'Money':
|
|
116
|
-
case 'Bit':
|
|
117
|
-
case 'SmallDateTime':
|
|
118
|
-
case 'DateTime':
|
|
119
|
-
case 'Date':
|
|
120
|
-
return new _helpers.Result({
|
|
121
|
-
userType: userType,
|
|
122
|
-
flags: flags,
|
|
123
|
-
type: type,
|
|
124
|
-
collation: undefined,
|
|
125
|
-
precision: undefined,
|
|
126
|
-
scale: undefined,
|
|
127
|
-
dataLength: undefined,
|
|
128
|
-
schema: undefined,
|
|
129
|
-
udtInfo: undefined
|
|
130
|
-
}, offset);
|
|
131
|
-
case 'IntN':
|
|
132
|
-
case 'FloatN':
|
|
133
|
-
case 'MoneyN':
|
|
134
|
-
case 'BitN':
|
|
135
|
-
case 'UniqueIdentifier':
|
|
136
|
-
case 'DateTimeN':
|
|
137
|
-
{
|
|
138
|
-
let dataLength;
|
|
139
|
-
({
|
|
140
|
-
offset,
|
|
141
|
-
value: dataLength
|
|
142
|
-
} = (0, _helpers.readUInt8)(buf, offset));
|
|
143
|
-
return new _helpers.Result({
|
|
144
|
-
userType: userType,
|
|
145
|
-
flags: flags,
|
|
146
|
-
type: type,
|
|
147
|
-
collation: undefined,
|
|
148
|
-
precision: undefined,
|
|
149
|
-
scale: undefined,
|
|
150
|
-
dataLength: dataLength,
|
|
151
|
-
schema: undefined,
|
|
152
|
-
udtInfo: undefined
|
|
153
|
-
}, offset);
|
|
154
|
-
}
|
|
155
|
-
case 'Variant':
|
|
156
|
-
{
|
|
157
|
-
let dataLength;
|
|
158
|
-
({
|
|
159
|
-
offset,
|
|
160
|
-
value: dataLength
|
|
161
|
-
} = (0, _helpers.readUInt32LE)(buf, offset));
|
|
162
|
-
return new _helpers.Result({
|
|
163
|
-
userType: userType,
|
|
164
|
-
flags: flags,
|
|
165
|
-
type: type,
|
|
166
|
-
collation: undefined,
|
|
167
|
-
precision: undefined,
|
|
168
|
-
scale: undefined,
|
|
169
|
-
dataLength: dataLength,
|
|
170
|
-
schema: undefined,
|
|
171
|
-
udtInfo: undefined
|
|
172
|
-
}, offset);
|
|
173
|
-
}
|
|
174
|
-
case 'VarChar':
|
|
175
|
-
case 'Char':
|
|
176
|
-
case 'NVarChar':
|
|
177
|
-
case 'NChar':
|
|
178
|
-
{
|
|
179
|
-
let dataLength;
|
|
180
|
-
({
|
|
181
|
-
offset,
|
|
182
|
-
value: dataLength
|
|
183
|
-
} = (0, _helpers.readUInt16LE)(buf, offset));
|
|
184
|
-
let collation;
|
|
185
|
-
({
|
|
186
|
-
offset,
|
|
187
|
-
value: collation
|
|
188
|
-
} = readCollation(buf, offset));
|
|
189
|
-
return new _helpers.Result({
|
|
190
|
-
userType: userType,
|
|
191
|
-
flags: flags,
|
|
192
|
-
type: type,
|
|
193
|
-
collation: collation,
|
|
194
|
-
precision: undefined,
|
|
195
|
-
scale: undefined,
|
|
196
|
-
dataLength: dataLength,
|
|
197
|
-
schema: undefined,
|
|
198
|
-
udtInfo: undefined
|
|
199
|
-
}, offset);
|
|
200
|
-
}
|
|
201
|
-
case 'Text':
|
|
202
|
-
case 'NText':
|
|
203
|
-
{
|
|
204
|
-
let dataLength;
|
|
205
|
-
({
|
|
206
|
-
offset,
|
|
207
|
-
value: dataLength
|
|
208
|
-
} = (0, _helpers.readUInt32LE)(buf, offset));
|
|
209
|
-
let collation;
|
|
210
|
-
({
|
|
211
|
-
offset,
|
|
212
|
-
value: collation
|
|
213
|
-
} = readCollation(buf, offset));
|
|
214
|
-
return new _helpers.Result({
|
|
215
|
-
userType: userType,
|
|
216
|
-
flags: flags,
|
|
217
|
-
type: type,
|
|
218
|
-
collation: collation,
|
|
219
|
-
precision: undefined,
|
|
220
|
-
scale: undefined,
|
|
221
|
-
dataLength: dataLength,
|
|
222
|
-
schema: undefined,
|
|
223
|
-
udtInfo: undefined
|
|
224
|
-
}, offset);
|
|
225
|
-
}
|
|
226
|
-
case 'VarBinary':
|
|
227
|
-
case 'Binary':
|
|
228
|
-
{
|
|
229
|
-
let dataLength;
|
|
230
|
-
({
|
|
231
|
-
offset,
|
|
232
|
-
value: dataLength
|
|
233
|
-
} = (0, _helpers.readUInt16LE)(buf, offset));
|
|
234
|
-
return new _helpers.Result({
|
|
235
|
-
userType: userType,
|
|
236
|
-
flags: flags,
|
|
237
|
-
type: type,
|
|
238
|
-
collation: undefined,
|
|
239
|
-
precision: undefined,
|
|
240
|
-
scale: undefined,
|
|
241
|
-
dataLength: dataLength,
|
|
242
|
-
schema: undefined,
|
|
243
|
-
udtInfo: undefined
|
|
244
|
-
}, offset);
|
|
245
|
-
}
|
|
246
|
-
case 'Image':
|
|
247
|
-
{
|
|
248
|
-
let dataLength;
|
|
249
|
-
({
|
|
250
|
-
offset,
|
|
251
|
-
value: dataLength
|
|
252
|
-
} = (0, _helpers.readUInt32LE)(buf, offset));
|
|
253
|
-
return new _helpers.Result({
|
|
254
|
-
userType: userType,
|
|
255
|
-
flags: flags,
|
|
256
|
-
type: type,
|
|
257
|
-
collation: undefined,
|
|
258
|
-
precision: undefined,
|
|
259
|
-
scale: undefined,
|
|
260
|
-
dataLength: dataLength,
|
|
261
|
-
schema: undefined,
|
|
262
|
-
udtInfo: undefined
|
|
263
|
-
}, offset);
|
|
264
|
-
}
|
|
265
|
-
case 'Xml':
|
|
266
|
-
{
|
|
267
|
-
let schema;
|
|
268
|
-
({
|
|
269
|
-
offset,
|
|
270
|
-
value: schema
|
|
271
|
-
} = readSchema(buf, offset));
|
|
272
|
-
return new _helpers.Result({
|
|
273
|
-
userType: userType,
|
|
274
|
-
flags: flags,
|
|
275
|
-
type: type,
|
|
276
|
-
collation: undefined,
|
|
277
|
-
precision: undefined,
|
|
278
|
-
scale: undefined,
|
|
279
|
-
dataLength: undefined,
|
|
280
|
-
schema: schema,
|
|
281
|
-
udtInfo: undefined
|
|
282
|
-
}, offset);
|
|
283
|
-
}
|
|
284
|
-
case 'Time':
|
|
285
|
-
case 'DateTime2':
|
|
286
|
-
case 'DateTimeOffset':
|
|
287
|
-
{
|
|
288
|
-
let scale;
|
|
289
|
-
({
|
|
290
|
-
offset,
|
|
291
|
-
value: scale
|
|
292
|
-
} = (0, _helpers.readUInt8)(buf, offset));
|
|
293
|
-
return new _helpers.Result({
|
|
294
|
-
userType: userType,
|
|
295
|
-
flags: flags,
|
|
296
|
-
type: type,
|
|
297
|
-
collation: undefined,
|
|
298
|
-
precision: undefined,
|
|
299
|
-
scale: scale,
|
|
300
|
-
dataLength: undefined,
|
|
301
|
-
schema: undefined,
|
|
302
|
-
udtInfo: undefined
|
|
303
|
-
}, offset);
|
|
304
|
-
}
|
|
305
|
-
case 'NumericN':
|
|
306
|
-
case 'DecimalN':
|
|
307
|
-
{
|
|
308
|
-
let dataLength;
|
|
309
|
-
({
|
|
310
|
-
offset,
|
|
311
|
-
value: dataLength
|
|
312
|
-
} = (0, _helpers.readUInt8)(buf, offset));
|
|
313
|
-
let precision;
|
|
314
|
-
({
|
|
315
|
-
offset,
|
|
316
|
-
value: precision
|
|
317
|
-
} = (0, _helpers.readUInt8)(buf, offset));
|
|
318
|
-
let scale;
|
|
319
|
-
({
|
|
320
|
-
offset,
|
|
321
|
-
value: scale
|
|
322
|
-
} = (0, _helpers.readUInt8)(buf, offset));
|
|
323
|
-
return new _helpers.Result({
|
|
324
|
-
userType: userType,
|
|
325
|
-
flags: flags,
|
|
326
|
-
type: type,
|
|
327
|
-
collation: undefined,
|
|
328
|
-
precision: precision,
|
|
329
|
-
scale: scale,
|
|
330
|
-
dataLength: dataLength,
|
|
331
|
-
schema: undefined,
|
|
332
|
-
udtInfo: undefined
|
|
333
|
-
}, offset);
|
|
334
|
-
}
|
|
335
|
-
case 'UDT':
|
|
336
|
-
{
|
|
337
|
-
let udtInfo;
|
|
338
|
-
({
|
|
339
|
-
offset,
|
|
340
|
-
value: udtInfo
|
|
341
|
-
} = readUDTInfo(buf, offset));
|
|
342
|
-
return new _helpers.Result({
|
|
343
|
-
userType: userType,
|
|
344
|
-
flags: flags,
|
|
345
|
-
type: type,
|
|
346
|
-
collation: undefined,
|
|
347
|
-
precision: undefined,
|
|
348
|
-
scale: undefined,
|
|
349
|
-
dataLength: undefined,
|
|
350
|
-
schema: undefined,
|
|
351
|
-
udtInfo: udtInfo
|
|
352
|
-
}, offset);
|
|
353
|
-
}
|
|
354
|
-
default:
|
|
355
|
-
throw new Error((0, _sprintfJs.sprintf)('Unrecognised type %s', type.name));
|
|
356
|
-
}
|
|
357
|
-
}
|
|
358
|
-
function metadataParse(parser, options, callback) {
|
|
359
|
-
(async () => {
|
|
360
|
-
while (true) {
|
|
361
|
-
let result;
|
|
362
|
-
try {
|
|
363
|
-
result = readMetadata(parser.buffer, parser.position, options);
|
|
364
|
-
} catch (err) {
|
|
365
|
-
if (err instanceof _helpers.NotEnoughDataError) {
|
|
366
|
-
await parser.waitForChunk();
|
|
367
|
-
continue;
|
|
368
|
-
}
|
|
369
|
-
throw err;
|
|
370
|
-
}
|
|
371
|
-
parser.position = result.offset;
|
|
372
|
-
return callback(result.value);
|
|
373
|
-
}
|
|
374
|
-
})();
|
|
375
|
-
}
|
|
376
|
-
var _default = exports.default = metadataParse;
|
|
377
|
-
module.exports = metadataParse;
|
|
378
|
-
module.exports.readCollation = readCollation;
|
|
379
|
-
module.exports.readMetadata = readMetadata;
|
|
380
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29sbGF0aW9uIiwicmVxdWlyZSIsIl9kYXRhVHlwZSIsIl9zcHJpbnRmSnMiLCJfaGVscGVycyIsInJlYWRDb2xsYXRpb24iLCJidWYiLCJvZmZzZXQiLCJsZW5ndGgiLCJOb3RFbm91Z2hEYXRhRXJyb3IiLCJjb2xsYXRpb24iLCJDb2xsYXRpb24iLCJmcm9tQnVmZmVyIiwic2xpY2UiLCJSZXN1bHQiLCJyZWFkU2NoZW1hIiwic2NoZW1hUHJlc2VudCIsInZhbHVlIiwicmVhZFVJbnQ4IiwidW5kZWZpbmVkIiwiZGJuYW1lIiwicmVhZEJWYXJDaGFyIiwib3duaW5nU2NoZW1hIiwieG1sU2NoZW1hQ29sbGVjdGlvbiIsInJlYWRVc1ZhckNoYXIiLCJyZWFkVURUSW5mbyIsIm1heEJ5dGVTaXplIiwicmVhZFVJbnQxNkxFIiwidHlwZU5hbWUiLCJhc3NlbWJseU5hbWUiLCJyZWFkTWV0YWRhdGEiLCJvcHRpb25zIiwidXNlclR5cGUiLCJ0ZHNWZXJzaW9uIiwicmVhZFVJbnQzMkxFIiwiZmxhZ3MiLCJ0eXBlTnVtYmVyIiwidHlwZSIsIlRZUEUiLCJFcnJvciIsInNwcmludGYiLCJuYW1lIiwicHJlY2lzaW9uIiwic2NhbGUiLCJkYXRhTGVuZ3RoIiwic2NoZW1hIiwidWR0SW5mbyIsIm1ldGFkYXRhUGFyc2UiLCJwYXJzZXIiLCJjYWxsYmFjayIsInJlc3VsdCIsImJ1ZmZlciIsInBvc2l0aW9uIiwiZXJyIiwid2FpdEZvckNodW5rIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCIsIm1vZHVsZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhZGF0YS1wYXJzZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGF0aW9uIH0gZnJvbSAnLi9jb2xsYXRpb24nO1xuaW1wb3J0IFBhcnNlciwgeyB0eXBlIFBhcnNlck9wdGlvbnMgfSBmcm9tICcuL3Rva2VuL3N0cmVhbS1wYXJzZXInO1xuaW1wb3J0IHsgVFlQRSwgdHlwZSBEYXRhVHlwZSB9IGZyb20gJy4vZGF0YS10eXBlJztcbmltcG9ydCB7IHR5cGUgQ3J5cHRvTWV0YWRhdGEgfSBmcm9tICcuL2Fsd2F5cy1lbmNyeXB0ZWQvdHlwZXMnO1xuXG5pbXBvcnQgeyBzcHJpbnRmIH0gZnJvbSAnc3ByaW50Zi1qcyc7XG5cbmltcG9ydCB7IFJlc3VsdCwgTm90RW5vdWdoRGF0YUVycm9yLCByZWFkVUludDgsIHJlYWRCVmFyQ2hhciwgcmVhZFVzVmFyQ2hhciwgcmVhZFVJbnQxNkxFLCByZWFkVUludDMyTEUgfSBmcm9tICcuL3Rva2VuL2hlbHBlcnMnO1xuXG5pbnRlcmZhY2UgWG1sU2NoZW1hIHtcbiAgZGJuYW1lOiBzdHJpbmc7XG4gIG93bmluZ1NjaGVtYTogc3RyaW5nO1xuICB4bWxTY2hlbWFDb2xsZWN0aW9uOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBVZHRJbmZvIHtcbiAgbWF4Qnl0ZVNpemU6IG51bWJlcjtcbiAgZGJuYW1lOiBzdHJpbmc7XG4gIG93bmluZ1NjaGVtYTogc3RyaW5nO1xuICB0eXBlTmFtZTogc3RyaW5nO1xuICBhc3NlbWJseU5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgQmFzZU1ldGFkYXRhID0ge1xuICB1c2VyVHlwZTogbnVtYmVyO1xuXG4gIGZsYWdzOiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgY29sdW1uJ3MgdHlwZSwgc3VjaCBhcyBWYXJDaGFyLCBJbnQgb3IgQmluYXJ5LlxuICAgKi9cbiAgdHlwZTogRGF0YVR5cGU7XG5cbiAgY29sbGF0aW9uOiBDb2xsYXRpb24gfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBUaGUgcHJlY2lzaW9uLiBPbmx5IGFwcGxpY2FibGUgdG8gbnVtZXJpYyBhbmQgZGVjaW1hbC5cbiAgICovXG4gIHByZWNpc2lvbjogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgc2NhbGUuIE9ubHkgYXBwbGljYWJsZSB0byBudW1lcmljLCBkZWNpbWFsLCB0aW1lLCBkYXRldGltZTIgYW5kIGRhdGV0aW1lb2Zmc2V0LlxuICAgKi9cbiAgc2NhbGU6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIGxlbmd0aCwgZm9yIGNoYXIsIHZhcmNoYXIsIG52YXJjaGFyIGFuZCB2YXJiaW5hcnkuXG4gICAqL1xuICBkYXRhTGVuZ3RoOiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgc2NoZW1hOiBYbWxTY2hlbWEgfCB1bmRlZmluZWQ7XG5cbiAgdWR0SW5mbzogVWR0SW5mbyB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IHR5cGUgTWV0YWRhdGEgPSB7XG4gIGNyeXB0b01ldGFkYXRhPzogQ3J5cHRvTWV0YWRhdGE7XG59ICYgQmFzZU1ldGFkYXRhO1xuXG5mdW5jdGlvbiByZWFkQ29sbGF0aW9uKGJ1ZjogQnVmZmVyLCBvZmZzZXQ6IG51bWJlcik6IFJlc3VsdDxDb2xsYXRpb24+IHtcbiAgb2Zmc2V0ID0gK29mZnNldDtcblxuICBpZiAoYnVmLmxlbmd0aCA8IG9mZnNldCArIDUpIHtcbiAgICB0aHJvdyBuZXcgTm90RW5vdWdoRGF0YUVycm9yKG9mZnNldCArIDUpO1xuICB9XG5cbiAgY29uc3QgY29sbGF0aW9uID0gQ29sbGF0aW9uLmZyb21CdWZmZXIoYnVmLnNsaWNlKG9mZnNldCwgb2Zmc2V0ICsgNSkpO1xuICByZXR1cm4gbmV3IFJlc3VsdChjb2xsYXRpb24sIG9mZnNldCArIDUpO1xufVxuXG5mdW5jdGlvbiByZWFkU2NoZW1hKGJ1ZjogQnVmZmVyLCBvZmZzZXQ6IG51bWJlcik6IFJlc3VsdDxYbWxTY2hlbWEgfCB1bmRlZmluZWQ+IHtcbiAgb2Zmc2V0ID0gK29mZnNldDtcblxuICBsZXQgc2NoZW1hUHJlc2VudDtcbiAgKHsgb2Zmc2V0LCB2YWx1ZTogc2NoZW1hUHJlc2VudCB9ID0gcmVhZFVJbnQ4KGJ1Ziwgb2Zmc2V0KSk7XG5cbiAgaWYgKHNjaGVtYVByZXNlbnQgIT09IDB4MDEpIHtcbiAgICByZXR1cm4gbmV3IFJlc3VsdCh1bmRlZmluZWQsIG9mZnNldCk7XG4gIH1cblxuICBsZXQgZGJuYW1lO1xuICAoeyBvZmZzZXQsIHZhbHVlOiBkYm5hbWUgfSA9IHJlYWRCVmFyQ2hhcihidWYsIG9mZnNldCkpO1xuXG4gIGxldCBvd25pbmdTY2hlbWE7XG4gICh7IG9mZnNldCwgdmFsdWU6IG93bmluZ1NjaGVtYSB9ID0gcmVhZEJWYXJDaGFyKGJ1Ziwgb2Zmc2V0KSk7XG5cbiAgbGV0IHhtbFNjaGVtYUNvbGxlY3Rpb247XG4gICh7IG9mZnNldCwgdmFsdWU6IHhtbFNjaGVtYUNvbGxlY3Rpb24gfSA9IHJlYWRVc1ZhckNoYXIoYnVmLCBvZmZzZXQpKTtcblxuICByZXR1cm4gbmV3IFJlc3VsdCh7IGRibmFtZSwgb3duaW5nU2NoZW1hLCB4bWxTY2hlbWFDb2xsZWN0aW9uIH0sIG9mZnNldCk7XG59XG5cbmZ1bmN0aW9uIHJlYWRVRFRJbmZvKGJ1ZjogQnVmZmVyLCBvZmZzZXQ6IG51bWJlcik6IFJlc3VsdDxVZHRJbmZvPiB7XG4gIGxldCBtYXhCeXRlU2l6ZTtcbiAgKHsgb2Zmc2V0LCB2YWx1ZTogbWF4Qnl0ZVNpemUgfSA9IHJlYWRVSW50MTZMRShidWYsIG9mZnNldCkpO1xuXG4gIGxldCBkYm5hbWU7XG4gICh7IG9mZnNldCwgdmFsdWU6IGRibmFtZSB9ID0gcmVhZEJWYXJDaGFyKGJ1Ziwgb2Zmc2V0KSk7XG5cbiAgbGV0IG93bmluZ1NjaGVtYTtcbiAgKHsgb2Zmc2V0LCB2YWx1ZTogb3duaW5nU2NoZW1hIH0gPSByZWFkQlZhckNoYXIoYnVmLCBvZmZzZXQpKTtcblxuICBsZXQgdHlwZU5hbWU7XG4gICh7IG9mZnNldCwgdmFsdWU6IHR5cGVOYW1lIH0gPSByZWFkQlZhckNoYXIoYnVmLCBvZmZzZXQpKTtcblxuICBsZXQgYXNzZW1ibHlOYW1lO1xuICAoeyBvZmZzZXQsIHZhbHVlOiBhc3NlbWJseU5hbWUgfSA9IHJlYWRVc1ZhckNoYXIoYnVmLCBvZmZzZXQpKTtcblxuICByZXR1cm4gbmV3IFJlc3VsdCh7XG4gICAgbWF4Qnl0ZVNpemU6IG1heEJ5dGVTaXplLFxuICAgIGRibmFtZTogZGJuYW1lLFxuICAgIG93bmluZ1NjaGVtYTogb3duaW5nU2NoZW1hLFxuICAgIHR5cGVOYW1lOiB0eXBlTmFtZSxcbiAgICBhc3NlbWJseU5hbWU6IGFzc2VtYmx5TmFtZVxuICB9LCBvZmZzZXQpO1xufVxuXG5mdW5jdGlvbiByZWFkTWV0YWRhdGEoYnVmOiBCdWZmZXIsIG9mZnNldDogbnVtYmVyLCBvcHRpb25zOiBQYXJzZXJPcHRpb25zKTogUmVzdWx0PE1ldGFkYXRhPiB7XG4gIGxldCB1c2VyVHlwZTtcbiAgKHsgb2Zmc2V0LCB2YWx1ZTogdXNlclR5cGUgfSA9IChvcHRpb25zLnRkc1ZlcnNpb24gPCAnN18yJyA/IHJlYWRVSW50MTZMRSA6IHJlYWRVSW50MzJMRSkoYnVmLCBvZmZzZXQpKTtcblxuICBsZXQgZmxhZ3M7XG4gICh7IG9mZnNldCwgdmFsdWU6IGZsYWdzIH0gPSByZWFkVUludDE2TEUoYnVmLCBvZmZzZXQpKTtcblxuICBsZXQgdHlwZU51bWJlcjtcbiAgKHsgb2Zmc2V0LCB2YWx1ZTogdHlwZU51bWJlciB9ID0gcmVhZFVJbnQ4KGJ1Ziwgb2Zmc2V0KSk7XG5cbiAgY29uc3QgdHlwZTogRGF0YVR5cGUgPSBUWVBFW3R5cGVOdW1iZXJdO1xuICBpZiAoIXR5cGUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3Ioc3ByaW50ZignVW5yZWNvZ25pc2VkIGRhdGEgdHlwZSAweCUwMlgnLCB0eXBlTnVtYmVyKSk7XG4gIH1cblxuICBzd2l0Y2ggKHR5cGUubmFtZSkge1xuICAgIGNhc2UgJ051bGwnOlxuICAgIGNhc2UgJ1RpbnlJbnQnOlxuICAgIGNhc2UgJ1NtYWxsSW50JzpcbiAgICBjYXNlICdJbnQnOlxuICAgIGNhc2UgJ0JpZ0ludCc6XG4gICAgY2FzZSAnUmVhbCc6XG4gICAgY2FzZSAnRmxvYXQnOlxuICAgIGNhc2UgJ1NtYWxsTW9uZXknOlxuICAgIGNhc2UgJ01vbmV5JzpcbiAgICBjYXNlICdCaXQnOlxuICAgIGNhc2UgJ1NtYWxsRGF0ZVRpbWUnOlxuICAgIGNhc2UgJ0RhdGVUaW1lJzpcbiAgICBjYXNlICdEYXRlJzpcbiAgICAgIHJldHVybiBuZXcgUmVzdWx0KHtcbiAgICAgICAgdXNlclR5cGU6IHVzZXJUeXBlLFxuICAgICAgICBmbGFnczogZmxhZ3MsXG4gICAgICAgIHR5cGU6IHR5cGUsXG4gICAgICAgIGNvbGxhdGlvbjogdW5kZWZpbmVkLFxuICAgICAgICBwcmVjaXNpb246IHVuZGVmaW5lZCxcbiAgICAgICAgc2NhbGU6IHVuZGVmaW5lZCxcbiAgICAgICAgZGF0YUxlbmd0aDogdW5kZWZpbmVkLFxuICAgICAgICBzY2hlbWE6IHVuZGVmaW5lZCxcbiAgICAgICAgdWR0SW5mbzogdW5kZWZpbmVkXG4gICAgICB9LCBvZmZzZXQpO1xuXG4gICAgY2FzZSAnSW50Tic6XG4gICAgY2FzZSAnRmxvYXROJzpcbiAgICBjYXNlICdNb25leU4nOlxuICAgIGNhc2UgJ0JpdE4nOlxuICAgIGNhc2UgJ1VuaXF1ZUlkZW50aWZpZXInOlxuICAgIGNhc2UgJ0RhdGVUaW1lTic6IHtcbiAgICAgIGxldCBkYXRhTGVuZ3RoO1xuICAgICAgKHsgb2Zmc2V0LCB2YWx1ZTogZGF0YUxlbmd0aCB9ID0gcmVhZFVJbnQ4KGJ1Ziwgb2Zmc2V0KSk7XG5cbiAgICAgIHJldHVybiBuZXcgUmVzdWx0KHtcbiAgICAgICAgdXNlclR5cGU6IHVzZXJUeXBlLFxuICAgICAgICBmbGFnczogZmxhZ3MsXG4gICAgICAgIHR5cGU6IHR5cGUsXG4gICAgICAgIGNvbGxhdGlvbjogdW5kZWZpbmVkLFxuICAgICAgICBwcmVjaXNpb246IHVuZGVmaW5lZCxcbiAgICAgICAgc2NhbGU6IHVuZGVmaW5lZCxcbiAgICAgICAgZGF0YUxlbmd0aDogZGF0YUxlbmd0aCxcbiAgICAgICAgc2NoZW1hOiB1bmRlZmluZWQsXG4gICAgICAgIHVkdEluZm86IHVuZGVmaW5lZFxuICAgICAgfSwgb2Zmc2V0KTtcbiAgICB9XG5cbiAgICBjYXNlICdWYXJpYW50Jzoge1xuICAgICAgbGV0IGRhdGFMZW5ndGg7XG4gICAgICAoeyBvZmZzZXQsIHZhbHVlOiBkYXRhTGVuZ3RoIH0gPSByZWFkVUludDMyTEUoYnVmLCBvZmZzZXQpKTtcblxuICAgICAgcmV0dXJuIG5ldyBSZXN1bHQoe1xuICAgICAgICB1c2VyVHlwZTogdXNlclR5cGUsXG4gICAgICAgIGZsYWdzOiBmbGFncyxcbiAgICAgICAgdHlwZTogdHlwZSxcbiAgICAgICAgY29sbGF0aW9uOiB1bmRlZmluZWQsXG4gICAgICAgIHByZWNpc2lvbjogdW5kZWZpbmVkLFxuICAgICAgICBzY2FsZTogdW5kZWZpbmVkLFxuICAgICAgICBkYXRhTGVuZ3RoOiBkYXRhTGVuZ3RoLFxuICAgICAgICBzY2hlbWE6IHVuZGVmaW5lZCxcbiAgICAgICAgdWR0SW5mbzogdW5kZWZpbmVkXG4gICAgICB9LCBvZmZzZXQpO1xuICAgIH1cblxuICAgIGNhc2UgJ1ZhckNoYXInOlxuICAgIGNhc2UgJ0NoYXInOlxuICAgIGNhc2UgJ05WYXJDaGFyJzpcbiAgICBjYXNlICdOQ2hhcic6IHtcbiAgICAgIGxldCBkYXRhTGVuZ3RoO1xuICAgICAgKHsgb2Zmc2V0LCB2YWx1ZTogZGF0YUxlbmd0aCB9ID0gcmVhZFVJbnQxNkxFKGJ1Ziwgb2Zmc2V0KSk7XG5cbiAgICAgIGxldCBjb2xsYXRpb247XG4gICAgICAoeyBvZmZzZXQsIHZhbHVlOiBjb2xsYXRpb24gfSA9IHJlYWRDb2xsYXRpb24oYnVmLCBvZmZzZXQpKTtcblxuICAgICAgcmV0dXJuIG5ldyBSZXN1bHQoe1xuICAgICAgICB1c2VyVHlwZTogdXNlclR5cGUsXG4gICAgICAgIGZsYWdzOiBmbGFncyxcbiAgICAgICAgdHlwZTogdHlwZSxcbiAgICAgICAgY29sbGF0aW9uOiBjb2xsYXRpb24sXG4gICAgICAgIHByZWNpc2lvbjogdW5kZWZpbmVkLFxuICAgICAgICBzY2FsZTogdW5kZWZpbmVkLFxuICAgICAgICBkYXRhTGVuZ3RoOiBkYXRhTGVuZ3RoLFxuICAgICAgICBzY2hlbWE6IHVuZGVmaW5lZCxcbiAgICAgICAgdWR0SW5mbzogdW5kZWZpbmVkXG4gICAgICB9LCBvZmZzZXQpO1xuICAgIH1cblxuICAgIGNhc2UgJ1RleHQnOlxuICAgIGNhc2UgJ05UZXh0Jzoge1xuICAgICAgbGV0IGRhdGFMZW5ndGg7XG4gICAgICAoeyBvZmZzZXQsIHZhbHVlOiBkYXRhTGVuZ3RoIH0gPSByZWFkVUludDMyTEUoYnVmLCBvZmZzZXQpKTtcblxuICAgICAgbGV0IGNvbGxhdGlvbjtcbiAgICAgICh7IG9mZnNldCwgdmFsdWU6IGNvbGxhdGlvbiB9ID0gcmVhZENvbGxhdGlvbihidWYsIG9mZnNldCkpO1xuXG4gICAgICByZXR1cm4gbmV3IFJlc3VsdCh7XG4gICAgICAgIHVzZXJUeXBlOiB1c2VyVHlwZSxcbiAgICAgICAgZmxhZ3M6IGZsYWdzLFxuICAgICAgICB0eXBlOiB0eXBlLFxuICAgICAgICBjb2xsYXRpb246IGNvbGxhdGlvbixcbiAgICAgICAgcHJlY2lzaW9uOiB1bmRlZmluZWQsXG4gICAgICAgIHNjYWxlOiB1bmRlZmluZWQsXG4gICAgICAgIGRhdGFMZW5ndGg6IGRhdGFMZW5ndGgsXG4gICAgICAgIHNjaGVtYTogdW5kZWZpbmVkLFxuICAgICAgICB1ZHRJbmZvOiB1bmRlZmluZWRcbiAgICAgIH0sIG9mZnNldCk7XG4gICAgfVxuXG4gICAgY2FzZSAnVmFyQmluYXJ5JzpcbiAgICBjYXNlICdCaW5hcnknOiB7XG4gICAgICBsZXQgZGF0YUxlbmd0aDtcbiAgICAgICh7IG9mZnNldCwgdmFsdWU6IGRhdGFMZW5ndGggfSA9IHJlYWRVSW50MTZMRShidWYsIG9mZnNldCkpO1xuXG4gICAgICByZXR1cm4gbmV3IFJlc3VsdCh7XG4gICAgICAgIHVzZXJUeXBlOiB1c2VyVHlwZSxcbiAgICAgICAgZmxhZ3M6IGZsYWdzLFxuICAgICAgICB0eXBlOiB0eXBlLFxuICAgICAgICBjb2xsYXRpb246IHVuZGVmaW5lZCxcbiAgICAgICAgcHJlY2lzaW9uOiB1bmRlZmluZWQsXG4gICAgICAgIHNjYWxlOiB1bmRlZmluZWQsXG4gICAgICAgIGRhdGFMZW5ndGg6IGRhdGFMZW5ndGgsXG4gICAgICAgIHNjaGVtYTogdW5kZWZpbmVkLFxuICAgICAgICB1ZHRJbmZvOiB1bmRlZmluZWRcbiAgICAgIH0sIG9mZnNldCk7XG4gICAgfVxuXG4gICAgY2FzZSAnSW1hZ2UnOiB7XG4gICAgICBsZXQgZGF0YUxlbmd0aDtcbiAgICAgICh7IG9mZnNldCwgdmFsdWU6IGRhdGFMZW5ndGggfSA9IHJlYWRVSW50MzJMRShidWYsIG9mZnNldCkpO1xuXG4gICAgICByZXR1cm4gbmV3IFJlc3VsdCh7XG4gICAgICAgIHVzZXJUeXBlOiB1c2VyVHlwZSxcbiAgICAgICAgZmxhZ3M6IGZsYWdzLFxuICAgICAgICB0eXBlOiB0eXBlLFxuICAgICAgICBjb2xsYXRpb246IHVuZGVmaW5lZCxcbiAgICAgICAgcHJlY2lzaW9uOiB1bmRlZmluZWQsXG4gICAgICAgIHNjYWxlOiB1bmRlZmluZWQsXG4gICAgICAgIGRhdGFMZW5ndGg6IGRhdGFMZW5ndGgsXG4gICAgICAgIHNjaGVtYTogdW5kZWZpbmVkLFxuICAgICAgICB1ZHRJbmZvOiB1bmRlZmluZWRcbiAgICAgIH0sIG9mZnNldCk7XG4gICAgfVxuXG4gICAgY2FzZSAnWG1sJzoge1xuICAgICAgbGV0IHNjaGVtYTtcbiAgICAgICh7IG9mZnNldCwgdmFsdWU6IHNjaGVtYSB9ID0gcmVhZFNjaGVtYShidWYsIG9mZnNldCkpO1xuXG4gICAgICByZXR1cm4gbmV3IFJlc3VsdCh7XG4gICAgICAgIHVzZXJUeXBlOiB1c2VyVHlwZSxcbiAgICAgICAgZmxhZ3M6IGZsYWdzLFxuICAgICAgICB0eXBlOiB0eXBlLFxuICAgICAgICBjb2xsYXRpb246IHVuZGVmaW5lZCxcbiAgICAgICAgcHJlY2lzaW9uOiB1bmRlZmluZWQsXG4gICAgICAgIHNjYWxlOiB1bmRlZmluZWQsXG4gICAgICAgIGRhdGFMZW5ndGg6IHVuZGVmaW5lZCxcbiAgICAgICAgc2NoZW1hOiBzY2hlbWEsXG4gICAgICAgIHVkdEluZm86IHVuZGVmaW5lZFxuICAgICAgfSwgb2Zmc2V0KTtcbiAgICB9XG5cbiAgICBjYXNlICdUaW1lJzpcbiAgICBjYXNlICdEYXRlVGltZTInOlxuICAgIGNhc2UgJ0RhdGVUaW1lT2Zmc2V0Jzoge1xuICAgICAgbGV0IHNjYWxlO1xuICAgICAgKHsgb2Zmc2V0LCB2YWx1ZTogc2NhbGUgfSA9IHJlYWRVSW50OChidWYsIG9mZnNldCkpO1xuXG4gICAgICByZXR1cm4gbmV3IFJlc3VsdCh7XG4gICAgICAgIHVzZXJUeXBlOiB1c2VyVHlwZSxcbiAgICAgICAgZmxhZ3M6IGZsYWdzLFxuICAgICAgICB0eXBlOiB0eXBlLFxuICAgICAgICBjb2xsYXRpb246IHVuZGVmaW5lZCxcbiAgICAgICAgcHJlY2lzaW9uOiB1bmRlZmluZWQsXG4gICAgICAgIHNjYWxlOiBzY2FsZSxcbiAgICAgICAgZGF0YUxlbmd0aDogdW5kZWZpbmVkLFxuICAgICAgICBzY2hlbWE6IHVuZGVmaW5lZCxcbiAgICAgICAgdWR0SW5mbzogdW5kZWZpbmVkXG4gICAgICB9LCBvZmZzZXQpO1xuICAgIH1cblxuICAgIGNhc2UgJ051bWVyaWNOJzpcbiAgICBjYXNlICdEZWNpbWFsTic6IHtcbiAgICAgIGxldCBkYXRhTGVuZ3RoO1xuICAgICAgKHsgb2Zmc2V0LCB2YWx1ZTogZGF0YUxlbmd0aCB9ID0gcmVhZFVJbnQ4KGJ1Ziwgb2Zmc2V0KSk7XG5cbiAgICAgIGxldCBwcmVjaXNpb247XG4gICAgICAoeyBvZmZzZXQsIHZhbHVlOiBwcmVjaXNpb24gfSA9IHJlYWRVSW50OChidWYsIG9mZnNldCkpO1xuXG4gICAgICBsZXQgc2NhbGU7XG4gICAgICAoeyBvZmZzZXQsIHZhbHVlOiBzY2FsZSB9ID0gcmVhZFVJbnQ4KGJ1Ziwgb2Zmc2V0KSk7XG5cbiAgICAgIHJldHVybiBuZXcgUmVzdWx0KHtcbiAgICAgICAgdXNlclR5cGU6IHVzZXJUeXBlLFxuICAgICAgICBmbGFnczogZmxhZ3MsXG4gICAgICAgIHR5cGU6IHR5cGUsXG4gICAgICAgIGNvbGxhdGlvbjogdW5kZWZpbmVkLFxuICAgICAgICBwcmVjaXNpb246IHByZWNpc2lvbixcbiAgICAgICAgc2NhbGU6IHNjYWxlLFxuICAgICAgICBkYXRhTGVuZ3RoOiBkYXRhTGVuZ3RoLFxuICAgICAgICBzY2hlbWE6IHVuZGVmaW5lZCxcbiAgICAgICAgdWR0SW5mbzogdW5kZWZpbmVkXG4gICAgICB9LCBvZmZzZXQpO1xuICAgIH1cblxuICAgIGNhc2UgJ1VEVCc6IHtcbiAgICAgIGxldCB1ZHRJbmZvO1xuICAgICAgKHsgb2Zmc2V0LCB2YWx1ZTogdWR0SW5mbyB9ID0gcmVhZFVEVEluZm8oYnVmLCBvZmZzZXQpKTtcblxuICAgICAgcmV0dXJuIG5ldyBSZXN1bHQoe1xuICAgICAgICB1c2VyVHlwZTogdXNlclR5cGUsXG4gICAgICAgIGZsYWdzOiBmbGFncyxcbiAgICAgICAgdHlwZTogdHlwZSxcbiAgICAgICAgY29sbGF0aW9uOiB1bmRlZmluZWQsXG4gICAgICAgIHByZWNpc2lvbjogdW5kZWZpbmVkLFxuICAgICAgICBzY2FsZTogdW5kZWZpbmVkLFxuICAgICAgICBkYXRhTGVuZ3RoOiB1bmRlZmluZWQsXG4gICAgICAgIHNjaGVtYTogdW5kZWZpbmVkLFxuICAgICAgICB1ZHRJbmZvOiB1ZHRJbmZvXG4gICAgICB9LCBvZmZzZXQpO1xuICAgIH1cblxuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3Ioc3ByaW50ZignVW5yZWNvZ25pc2VkIHR5cGUgJXMnLCB0eXBlLm5hbWUpKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtZXRhZGF0YVBhcnNlKHBhcnNlcjogUGFyc2VyLCBvcHRpb25zOiBQYXJzZXJPcHRpb25zLCBjYWxsYmFjazogKG1ldGFkYXRhOiBNZXRhZGF0YSkgPT4gdm9pZCkge1xuICAoYXN5bmMgKCkgPT4ge1xuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICBsZXQgcmVzdWx0O1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmVzdWx0ID0gcmVhZE1ldGFkYXRhKHBhcnNlci5idWZmZXIsIHBhcnNlci5wb3NpdGlvbiwgb3B0aW9ucyk7XG4gICAgICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgICAgICBpZiAoZXJyIGluc3RhbmNlb2YgTm90RW5vdWdoRGF0YUVycm9yKSB7XG4gICAgICAgICAgYXdhaXQgcGFyc2VyLndhaXRGb3JDaHVuaygpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgfVxuXG4gICAgICBwYXJzZXIucG9zaXRpb24gPSByZXN1bHQub2Zmc2V0O1xuICAgICAgcmV0dXJuIGNhbGxiYWNrKHJlc3VsdC52YWx1ZSk7XG4gICAgfVxuICB9KSgpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBtZXRhZGF0YVBhcnNlO1xuZXhwb3J0IHsgcmVhZENvbGxhdGlvbiwgcmVhZE1ldGFkYXRhIH07XG5cbm1vZHVsZS5leHBvcnRzID0gbWV0YWRhdGFQYXJzZTtcbm1vZHVsZS5leHBvcnRzLnJlYWRDb2xsYXRpb24gPSByZWFkQ29sbGF0aW9uO1xubW9kdWxlLmV4cG9ydHMucmVhZE1ldGFkYXRhID0gcmVhZE1ldGFkYXRhO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLFVBQUEsR0FBQUMsT0FBQTtBQUVBLElBQUFDLFNBQUEsR0FBQUQsT0FBQTtBQUdBLElBQUFFLFVBQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLFFBQUEsR0FBQUgsT0FBQTtBQWtEQSxTQUFTSSxhQUFhQSxDQUFDQyxHQUFXLEVBQUVDLE1BQWMsRUFBcUI7RUFDckVBLE1BQU0sR0FBRyxDQUFDQSxNQUFNO0VBRWhCLElBQUlELEdBQUcsQ0FBQ0UsTUFBTSxHQUFHRCxNQUFNLEdBQUcsQ0FBQyxFQUFFO0lBQzNCLE1BQU0sSUFBSUUsMkJBQWtCLENBQUNGLE1BQU0sR0FBRyxDQUFDLENBQUM7RUFDMUM7RUFFQSxNQUFNRyxTQUFTLEdBQUdDLG9C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
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
interface Options {
|
|
2
|
-
domain: string;
|
|
3
|
-
userName: string;
|
|
4
|
-
password: string;
|
|
5
|
-
ntlmpacket: {
|
|
6
|
-
target: Buffer;
|
|
7
|
-
nonce: Buffer;
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
declare class NTLMResponsePayload {
|
|
11
|
-
data: Buffer;
|
|
12
|
-
constructor(loginData: Options);
|
|
13
|
-
toString(indent?: string): string;
|
|
14
|
-
createResponse(challenge: Options): Buffer;
|
|
15
|
-
createClientNonce(): Buffer;
|
|
16
|
-
ntlmv2Response(domain: string, user: string, password: string, serverNonce: Buffer, targetInfo: Buffer, clientNonce: Buffer, mytime: number): Buffer;
|
|
17
|
-
createTimestamp(time: number): Buffer;
|
|
18
|
-
lmv2Response(domain: string, user: string, password: string, serverNonce: Buffer, clientNonce: Buffer): Buffer;
|
|
19
|
-
ntv2Hash(domain: string, user: string, password: string): Buffer;
|
|
20
|
-
ntHash(text: string): Buffer;
|
|
21
|
-
hmacMD5(data: Buffer, key: Buffer): Buffer;
|
|
22
|
-
}
|
|
23
|
-
export default NTLMResponsePayload;
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _writableTrackingBuffer = _interopRequireDefault(require("./tracking-buffer/writable-tracking-buffer"));
|
|
8
|
-
var crypto = _interopRequireWildcard(require("crypto"));
|
|
9
|
-
var _jsMd = _interopRequireDefault(require("js-md4"));
|
|
10
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
11
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
class NTLMResponsePayload {
|
|
14
|
-
constructor(loginData) {
|
|
15
|
-
this.data = this.createResponse(loginData);
|
|
16
|
-
}
|
|
17
|
-
toString(indent = '') {
|
|
18
|
-
return indent + 'NTLM Auth';
|
|
19
|
-
}
|
|
20
|
-
createResponse(challenge) {
|
|
21
|
-
const client_nonce = this.createClientNonce();
|
|
22
|
-
const lmv2len = 24;
|
|
23
|
-
const ntlmv2len = 16;
|
|
24
|
-
const domain = challenge.domain;
|
|
25
|
-
const username = challenge.userName;
|
|
26
|
-
const password = challenge.password;
|
|
27
|
-
const ntlmData = challenge.ntlmpacket;
|
|
28
|
-
const server_data = ntlmData.target;
|
|
29
|
-
const server_nonce = ntlmData.nonce;
|
|
30
|
-
const bufferLength = 64 + domain.length * 2 + username.length * 2 + lmv2len + ntlmv2len + 8 + 8 + 8 + 4 + server_data.length + 4;
|
|
31
|
-
const data = new _writableTrackingBuffer.default(bufferLength);
|
|
32
|
-
data.position = 0;
|
|
33
|
-
data.writeString('NTLMSSP\u0000', 'utf8');
|
|
34
|
-
data.writeUInt32LE(0x03);
|
|
35
|
-
const baseIdx = 64;
|
|
36
|
-
const dnIdx = baseIdx;
|
|
37
|
-
const unIdx = dnIdx + domain.length * 2;
|
|
38
|
-
const l2Idx = unIdx + username.length * 2;
|
|
39
|
-
const ntIdx = l2Idx + lmv2len;
|
|
40
|
-
data.writeUInt16LE(lmv2len);
|
|
41
|
-
data.writeUInt16LE(lmv2len);
|
|
42
|
-
data.writeUInt32LE(l2Idx);
|
|
43
|
-
data.writeUInt16LE(ntlmv2len);
|
|
44
|
-
data.writeUInt16LE(ntlmv2len);
|
|
45
|
-
data.writeUInt32LE(ntIdx);
|
|
46
|
-
data.writeUInt16LE(domain.length * 2);
|
|
47
|
-
data.writeUInt16LE(domain.length * 2);
|
|
48
|
-
data.writeUInt32LE(dnIdx);
|
|
49
|
-
data.writeUInt16LE(username.length * 2);
|
|
50
|
-
data.writeUInt16LE(username.length * 2);
|
|
51
|
-
data.writeUInt32LE(unIdx);
|
|
52
|
-
data.writeUInt16LE(0);
|
|
53
|
-
data.writeUInt16LE(0);
|
|
54
|
-
data.writeUInt32LE(baseIdx);
|
|
55
|
-
data.writeUInt16LE(0);
|
|
56
|
-
data.writeUInt16LE(0);
|
|
57
|
-
data.writeUInt32LE(baseIdx);
|
|
58
|
-
data.writeUInt16LE(0x8201);
|
|
59
|
-
data.writeUInt16LE(0x08);
|
|
60
|
-
data.writeString(domain, 'ucs2');
|
|
61
|
-
data.writeString(username, 'ucs2');
|
|
62
|
-
const lmv2Data = this.lmv2Response(domain, username, password, server_nonce, client_nonce);
|
|
63
|
-
data.copyFrom(lmv2Data);
|
|
64
|
-
const genTime = new Date().getTime();
|
|
65
|
-
const ntlmDataBuffer = this.ntlmv2Response(domain, username, password, server_nonce, server_data, client_nonce, genTime);
|
|
66
|
-
data.copyFrom(ntlmDataBuffer);
|
|
67
|
-
data.writeUInt32LE(0x0101);
|
|
68
|
-
data.writeUInt32LE(0x0000);
|
|
69
|
-
const timestamp = this.createTimestamp(genTime);
|
|
70
|
-
data.copyFrom(timestamp);
|
|
71
|
-
data.copyFrom(client_nonce);
|
|
72
|
-
data.writeUInt32LE(0x0000);
|
|
73
|
-
data.copyFrom(server_data);
|
|
74
|
-
data.writeUInt32LE(0x0000);
|
|
75
|
-
return data.data;
|
|
76
|
-
}
|
|
77
|
-
createClientNonce() {
|
|
78
|
-
const client_nonce = Buffer.alloc(8, 0);
|
|
79
|
-
let nidx = 0;
|
|
80
|
-
while (nidx < 8) {
|
|
81
|
-
client_nonce.writeUInt8(Math.ceil(Math.random() * 255), nidx);
|
|
82
|
-
nidx++;
|
|
83
|
-
}
|
|
84
|
-
return client_nonce;
|
|
85
|
-
}
|
|
86
|
-
ntlmv2Response(domain, user, password, serverNonce, targetInfo, clientNonce, mytime) {
|
|
87
|
-
const timestamp = this.createTimestamp(mytime);
|
|
88
|
-
const hash = this.ntv2Hash(domain, user, password);
|
|
89
|
-
const dataLength = 40 + targetInfo.length;
|
|
90
|
-
const data = Buffer.alloc(dataLength, 0);
|
|
91
|
-
serverNonce.copy(data, 0, 0, 8);
|
|
92
|
-
data.writeUInt32LE(0x101, 8);
|
|
93
|
-
data.writeUInt32LE(0x0, 12);
|
|
94
|
-
timestamp.copy(data, 16, 0, 8);
|
|
95
|
-
clientNonce.copy(data, 24, 0, 8);
|
|
96
|
-
data.writeUInt32LE(0x0, 32);
|
|
97
|
-
targetInfo.copy(data, 36, 0, targetInfo.length);
|
|
98
|
-
data.writeUInt32LE(0x0, 36 + targetInfo.length);
|
|
99
|
-
return this.hmacMD5(data, hash);
|
|
100
|
-
}
|
|
101
|
-
createTimestamp(time) {
|
|
102
|
-
const tenthsOfAMicrosecond = (BigInt(time) + BigInt(11644473600)) * BigInt(10000000);
|
|
103
|
-
const lo = Number(tenthsOfAMicrosecond & BigInt(0xffffffff));
|
|
104
|
-
const hi = Number(tenthsOfAMicrosecond >> BigInt(32) & BigInt(0xffffffff));
|
|
105
|
-
const result = Buffer.alloc(8);
|
|
106
|
-
result.writeUInt32LE(lo, 0);
|
|
107
|
-
result.writeUInt32LE(hi, 4);
|
|
108
|
-
return result;
|
|
109
|
-
}
|
|
110
|
-
lmv2Response(domain, user, password, serverNonce, clientNonce) {
|
|
111
|
-
const hash = this.ntv2Hash(domain, user, password);
|
|
112
|
-
const data = Buffer.alloc(serverNonce.length + clientNonce.length, 0);
|
|
113
|
-
serverNonce.copy(data);
|
|
114
|
-
clientNonce.copy(data, serverNonce.length, 0, clientNonce.length);
|
|
115
|
-
const newhash = this.hmacMD5(data, hash);
|
|
116
|
-
const response = Buffer.alloc(newhash.length + clientNonce.length, 0);
|
|
117
|
-
newhash.copy(response);
|
|
118
|
-
clientNonce.copy(response, newhash.length, 0, clientNonce.length);
|
|
119
|
-
return response;
|
|
120
|
-
}
|
|
121
|
-
ntv2Hash(domain, user, password) {
|
|
122
|
-
const hash = this.ntHash(password);
|
|
123
|
-
const identity = Buffer.from(user.toUpperCase() + domain.toUpperCase(), 'ucs2');
|
|
124
|
-
return this.hmacMD5(identity, hash);
|
|
125
|
-
}
|
|
126
|
-
ntHash(text) {
|
|
127
|
-
const unicodeString = Buffer.from(text, 'ucs2');
|
|
128
|
-
return Buffer.from(_jsMd.default.arrayBuffer(unicodeString));
|
|
129
|
-
}
|
|
130
|
-
hmacMD5(data, key) {
|
|
131
|
-
return crypto.createHmac('MD5', key).update(data).digest();
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
var _default = exports.default = NTLMResponsePayload;
|
|
135
|
-
module.exports = NTLMResponsePayload;
|
|
136
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd3JpdGFibGVUcmFja2luZ0J1ZmZlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiY3J5cHRvIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfanNNZCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIm9iaiIsIk5UTE1SZXNwb25zZVBheWxvYWQiLCJjb25zdHJ1Y3RvciIsImxvZ2luRGF0YSIsImRhdGEiLCJjcmVhdGVSZXNwb25zZSIsInRvU3RyaW5nIiwiaW5kZW50IiwiY2hhbGxlbmdlIiwiY2xpZW50X25vbmNlIiwiY3JlYXRlQ2xpZW50Tm9uY2UiLCJsbXYybGVuIiwibnRsbXYybGVuIiwiZG9tYWluIiwidXNlcm5hbWUiLCJ1c2VyTmFtZSIsInBhc3N3b3JkIiwibnRsbURhdGEiLCJudGxtcGFja2V0Iiwic2VydmVyX2RhdGEiLCJ0YXJnZXQiLCJzZXJ2ZXJfbm9uY2UiLCJub25jZSIsImJ1ZmZlckxlbmd0aCIsImxlbmd0aCIsIldyaXRhYmxlVHJhY2tpbmdCdWZmZXIiLCJwb3NpdGlvbiIsIndyaXRlU3RyaW5nIiwid3JpdGVVSW50MzJMRSIsImJhc2VJZHgiLCJkbklkeCIsInVuSWR4IiwibDJJZHgiLCJudElkeCIsIndyaXRlVUludDE2TEUiLCJsbXYyRGF0YSIsImxtdjJSZXNwb25zZSIsImNvcHlGcm9tIiwiZ2VuVGltZSIsIkRhdGUiLCJnZXRUaW1lIiwibnRsbURhdGFCdWZmZXIiLCJudGxtdjJSZXNwb25zZSIsInRpbWVzdGFtcCIsImNyZWF0ZVRpbWVzdGFtcCIsIkJ1ZmZlciIsImFsbG9jIiwibmlkeCIsIndyaXRlVUludDgiLCJNYXRoIiwiY2VpbCIsInJhbmRvbSIsInVzZXIiLCJzZXJ2ZXJOb25jZSIsInRhcmdldEluZm8iLCJjbGllbnROb25jZSIsIm15dGltZSIsImhhc2giLCJudHYySGFzaCIsImRhdGFMZW5ndGgiLCJjb3B5IiwiaG1hY01ENSIsInRpbWUiLCJ0ZW50aHNPZkFNaWNyb3NlY29uZCIsIkJpZ0ludCIsImxvIiwiTnVtYmVyIiwiaGkiLCJyZXN1bHQiLCJuZXdoYXNoIiwicmVzcG9uc2UiLCJudEhhc2giLCJpZGVudGl0eSIsImZyb20iLCJ0b1VwcGVyQ2FzZSIsInRleHQiLCJ1bmljb2RlU3RyaW5nIiwibWQ0IiwiYXJyYXlCdWZmZXIiLCJrZXkiLCJjcmVhdGVIbWFjIiwidXBkYXRlIiwiZGlnZXN0IiwiX2RlZmF1bHQiLCJleHBvcnRzIiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vc3JjL250bG0tcGF5bG9hZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgV3JpdGFibGVUcmFja2luZ0J1ZmZlciBmcm9tICcuL3RyYWNraW5nLWJ1ZmZlci93cml0YWJsZS10cmFja2luZy1idWZmZXInO1xuaW1wb3J0ICogYXMgY3J5cHRvIGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgbWQ0IGZyb20gJ2pzLW1kNCc7XG5cbmludGVyZmFjZSBPcHRpb25zIHtcbiAgZG9tYWluOiBzdHJpbmc7XG4gIHVzZXJOYW1lOiBzdHJpbmc7XG4gIHBhc3N3b3JkOiBzdHJpbmc7XG4gIG50bG1wYWNrZXQ6IHtcbiAgICB0YXJnZXQ6IEJ1ZmZlcjtcbiAgICBub25jZTogQnVmZmVyO1xuICB9O1xufVxuXG5jbGFzcyBOVExNUmVzcG9uc2VQYXlsb2FkIHtcbiAgZGVjbGFyZSBkYXRhOiBCdWZmZXI7XG5cbiAgY29uc3RydWN0b3IobG9naW5EYXRhOiBPcHRpb25zKSB7XG4gICAgdGhpcy5kYXRhID0gdGhpcy5jcmVhdGVSZXNwb25zZShsb2dpbkRhdGEpO1xuICB9XG5cbiAgdG9TdHJpbmcoaW5kZW50ID0gJycpIHtcbiAgICByZXR1cm4gaW5kZW50ICsgJ05UTE0gQXV0aCc7XG4gIH1cblxuICBjcmVhdGVSZXNwb25zZShjaGFsbGVuZ2U6IE9wdGlvbnMpIHtcbiAgICBjb25zdCBjbGllbnRfbm9uY2UgPSB0aGlzLmNyZWF0ZUNsaWVudE5vbmNlKCk7XG4gICAgY29uc3QgbG12MmxlbiA9IDI0O1xuICAgIGNvbnN0IG50bG12MmxlbiA9IDE2O1xuICAgIGNvbnN0IGRvbWFpbiA9IGNoYWxsZW5nZS5kb21haW47XG4gICAgY29uc3QgdXNlcm5hbWUgPSBjaGFsbGVuZ2UudXNlck5hbWU7XG4gICAgY29uc3QgcGFzc3dvcmQgPSBjaGFsbGVuZ2UucGFzc3dvcmQ7XG4gICAgY29uc3QgbnRsbURhdGEgPSBjaGFsbGVuZ2UubnRsbXBhY2tldDtcbiAgICBjb25zdCBzZXJ2ZXJfZGF0YSA9IG50bG1EYXRhLnRhcmdldDtcbiAgICBjb25zdCBzZXJ2ZXJfbm9uY2UgPSBudGxtRGF0YS5ub25jZTtcbiAgICBjb25zdCBidWZmZXJMZW5ndGggPSA2NCArIChkb21haW4ubGVuZ3RoICogMikgKyAodXNlcm5hbWUubGVuZ3RoICogMikgKyBsbXYybGVuICsgbnRsbXYybGVuICsgOCArIDggKyA4ICsgNCArIHNlcnZlcl9kYXRhLmxlbmd0aCArIDQ7XG4gICAgY29uc3QgZGF0YSA9IG5ldyBXcml0YWJsZVRyYWNraW5nQnVmZmVyKGJ1ZmZlckxlbmd0aCk7XG4gICAgZGF0YS5wb3NpdGlvbiA9IDA7XG4gICAgZGF0YS53cml0ZVN0cmluZygnTlRMTVNTUFxcdTAwMDAnLCAndXRmOCcpO1xuICAgIGRhdGEud3JpdGVVSW50MzJMRSgweDAzKTtcbiAgICBjb25zdCBiYXNlSWR4ID0gNjQ7XG4gICAgY29uc3QgZG5JZHggPSBiYXNlSWR4O1xuICAgIGNvbnN0IHVuSWR4ID0gZG5JZHggKyBkb21haW4ubGVuZ3RoICogMjtcbiAgICBjb25zdCBsMklkeCA9IHVuSWR4ICsgdXNlcm5hbWUubGVuZ3RoICogMjtcbiAgICBjb25zdCBudElkeCA9IGwySWR4ICsgbG12MmxlbjtcbiAgICBkYXRhLndyaXRlVUludDE2TEUobG12Mmxlbik7XG4gICAgZGF0YS53cml0ZVVJbnQxNkxFKGxtdjJsZW4pO1xuICAgIGRhdGEud3JpdGVVSW50MzJMRShsMklkeCk7XG4gICAgZGF0YS53cml0ZVVJbnQxNkxFKG50bG12Mmxlbik7XG4gICAgZGF0YS53cml0ZVVJbnQxNkxFKG50bG12Mmxlbik7XG4gICAgZGF0YS53cml0ZVVJbnQzMkxFKG50SWR4KTtcbiAgICBkYXRhLndyaXRlVUludDE2TEUoZG9tYWluLmxlbmd0aCAqIDIpO1xuICAgIGRhdGEud3JpdGVVSW50MTZMRShkb21haW4ubGVuZ3RoICogMik7XG4gICAgZGF0YS53cml0ZVVJbnQzMkxFKGRuSWR4KTtcbiAgICBkYXRhLndyaXRlVUludDE2TEUodXNlcm5hbWUubGVuZ3RoICogMik7XG4gICAgZGF0YS53cml0ZVVJbnQxNkxFKHVzZXJuYW1lLmxlbmd0aCAqIDIpO1xuICAgIGRhdGEud3JpdGVVSW50MzJMRSh1bklkeCk7XG4gICAgZGF0YS53cml0ZVVJbnQxNkxFKDApO1xuICAgIGRhdGEud3JpdGVVSW50MTZMRSgwKTtcbiAgICBkYXRhLndyaXRlVUludDMyTEUoYmFzZUlkeCk7XG4gICAgZGF0YS53cml0ZVVJbnQxNkxFKDApO1xuICAgIGRhdGEud3JpdGVVSW50MTZMRSgwKTtcbiAgICBkYXRhLndyaXRlVUludDMyTEUoYmFzZUlkeCk7XG4gICAgZGF0YS53cml0ZVVJbnQxNkxFKDB4ODIwMSk7XG4gICAgZGF0YS53cml0ZVVJbnQxNkxFKDB4MDgpO1xuICAgIGRhdGEud3JpdGVTdHJpbmcoZG9tYWluLCAndWNzMicpO1xuICAgIGRhdGEud3JpdGVTdHJpbmcodXNlcm5hbWUsICd1Y3MyJyk7XG4gICAgY29uc3QgbG12MkRhdGEgPSB0aGlzLmxtdjJSZXNwb25zZShkb21haW4sIHVzZXJuYW1lLCBwYXNzd29yZCwgc2VydmVyX25vbmNlLCBjbGllbnRfbm9uY2UpO1xuICAgIGRhdGEuY29weUZyb20obG12MkRhdGEpO1xuICAgIGNvbnN0IGdlblRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICBjb25zdCBudGxtRGF0YUJ1ZmZlciA9IHRoaXMubnRsbXYyUmVzcG9uc2UoZG9tYWluLCB1c2VybmFtZSwgcGFzc3dvcmQsIHNlcnZlcl9ub25jZSwgc2VydmVyX2RhdGEsIGNsaWVudF9ub25jZSwgZ2VuVGltZSk7XG4gICAgZGF0YS5jb3B5RnJvbShudGxtRGF0YUJ1ZmZlcik7XG4gICAgZGF0YS53cml0ZVVJbnQzMkxFKDB4MDEwMSk7XG4gICAgZGF0YS53cml0ZVVJbnQzMkxFKDB4MDAwMCk7XG4gICAgY29uc3QgdGltZXN0YW1wID0gdGhpcy5jcmVhdGVUaW1lc3RhbXAoZ2VuVGltZSk7XG4gICAgZGF0YS5jb3B5RnJvbSh0aW1lc3RhbXApO1xuICAgIGRhdGEuY29weUZyb20oY2xpZW50X25vbmNlKTtcbiAgICBkYXRhLndyaXRlVUludDMyTEUoMHgwMDAwKTtcbiAgICBkYXRhLmNvcHlGcm9tKHNlcnZlcl9kYXRhKTtcbiAgICBkYXRhLndyaXRlVUludDMyTEUoMHgwMDAwKTtcbiAgICByZXR1cm4gZGF0YS5kYXRhO1xuICB9XG5cbiAgY3JlYXRlQ2xpZW50Tm9uY2UoKSB7XG4gICAgY29uc3QgY2xpZW50X25vbmNlID0gQnVmZmVyLmFsbG9jKDgsIDApO1xuICAgIGxldCBuaWR4ID0gMDtcbiAgICB3aGlsZSAobmlkeCA8IDgpIHtcbiAgICAgIGNsaWVudF9ub25jZS53cml0ZVVJbnQ4KE1hdGguY2VpbChNYXRoLnJhbmRvbSgpICogMjU1KSwgbmlkeCk7XG4gICAgICBuaWR4Kys7XG4gICAgfVxuICAgIHJldHVybiBjbGllbnRfbm9uY2U7XG4gIH1cblxuICBudGxtdjJSZXNwb25zZShkb21haW46IHN0cmluZywgdXNlcjogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nLCBzZXJ2ZXJOb25jZTogQnVmZmVyLCB0YXJnZXRJbmZvOiBCdWZmZXIsIGNsaWVudE5vbmNlOiBCdWZmZXIsIG15dGltZTogbnVtYmVyKSB7XG4gICAgY29uc3QgdGltZXN0YW1wID0gdGhpcy5jcmVhdGVUaW1lc3RhbXAobXl0aW1lKTtcbiAgICBjb25zdCBoYXNoID0gdGhpcy5udHYySGFzaChkb21haW4sIHVzZXIsIHBhc3N3b3JkKTtcbiAgICBjb25zdCBkYXRhTGVuZ3RoID0gNDAgKyB0YXJnZXRJbmZvLmxlbmd0aDtcbiAgICBjb25zdCBkYXRhID0gQnVmZmVyLmFsbG9jKGRhdGFMZW5ndGgsIDApO1xuICAgIHNlcnZlck5vbmNlLmNvcHkoZGF0YSwgMCwgMCwgOCk7XG4gICAgZGF0YS53cml0ZVVJbnQzMkxFKDB4MTAxLCA4KTtcbiAgICBkYXRhLndyaXRlVUludDMyTEUoMHgwLCAxMik7XG4gICAgdGltZXN0YW1wLmNvcHkoZGF0YSwgMTYsIDAsIDgpO1xuICAgIGNsaWVudE5vbmNlLmNvcHkoZGF0YSwgMjQsIDAsIDgpO1xuICAgIGRhdGEud3JpdGVVSW50MzJMRSgweDAsIDMyKTtcbiAgICB0YXJnZXRJbmZvLmNvcHkoZGF0YSwgMzYsIDAsIHRhcmdldEluZm8ubGVuZ3RoKTtcbiAgICBkYXRhLndyaXRlVUludDMyTEUoMHgwLCAzNiArIHRhcmdldEluZm8ubGVuZ3RoKTtcbiAgICByZXR1cm4gdGhpcy5obWFjTUQ1KGRhdGEsIGhhc2gpO1xuICB9XG5cbiAgY3JlYXRlVGltZXN0YW1wKHRpbWU6IG51bWJlcikge1xuICAgIGNvbnN0IHRlbnRoc09mQU1pY3Jvc2Vjb25kID0gKEJpZ0ludCh0aW1lKSArIEJpZ0ludCgxMTY0NDQ3MzYwMCkpICogQmlnSW50KDEwMDAwMDAwKTtcblxuICAgIGNvbnN0IGxvID0gTnVtYmVyKHRlbnRoc09mQU1pY3Jvc2Vjb25kICYgQmlnSW50KDB4ZmZmZmZmZmYpKTtcbiAgICBjb25zdCBoaSA9IE51bWJlcigodGVudGhzT2ZBTWljcm9zZWNvbmQgPj4gQmlnSW50KDMyKSkgJiBCaWdJbnQoMHhmZmZmZmZmZikpO1xuXG4gICAgY29uc3QgcmVzdWx0ID0gQnVmZmVyLmFsbG9jKDgpO1xuICAgIHJlc3VsdC53cml0ZVVJbnQzMkxFKGxvLCAwKTtcbiAgICByZXN1bHQud3JpdGVVSW50MzJMRShoaSwgNCk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGxtdjJSZXNwb25zZShkb21haW46IHN0cmluZywgdXNlcjogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nLCBzZXJ2ZXJOb25jZTogQnVmZmVyLCBjbGllbnROb25jZTogQnVmZmVyKSB7XG4gICAgY29uc3QgaGFzaCA9IHRoaXMubnR2Mkhhc2goZG9tYWluLCB1c2VyLCBwYXNzd29yZCk7XG4gICAgY29uc3QgZGF0YSA9IEJ1ZmZlci5hbGxvYyhzZXJ2ZXJOb25jZS5sZW5ndGggKyBjbGllbnROb25jZS5sZW5ndGgsIDApO1xuXG4gICAgc2VydmVyTm9uY2UuY29weShkYXRhKTtcbiAgICBjbGllbnROb25jZS5jb3B5KGRhdGEsIHNlcnZlck5vbmNlLmxlbmd0aCwgMCwgY2xpZW50Tm9uY2UubGVuZ3RoKTtcblxuICAgIGNvbnN0IG5ld2hhc2ggPSB0aGlzLmhtYWNNRDUoZGF0YSwgaGFzaCk7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBCdWZmZXIuYWxsb2MobmV3aGFzaC5sZW5ndGggKyBjbGllbnROb25jZS5sZW5ndGgsIDApO1xuXG4gICAgbmV3aGFzaC5jb3B5KHJlc3BvbnNlKTtcbiAgICBjbGllbnROb25jZS5jb3B5KHJlc3BvbnNlLCBuZXdoYXNoLmxlbmd0aCwgMCwgY2xpZW50Tm9uY2UubGVuZ3RoKTtcblxuICAgIHJldHVybiByZXNwb25zZTtcbiAgfVxuXG4gIG50djJIYXNoKGRvbWFpbjogc3RyaW5nLCB1c2VyOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBoYXNoID0gdGhpcy5udEhhc2gocGFzc3dvcmQpO1xuICAgIGNvbnN0IGlkZW50aXR5ID0gQnVmZmVyLmZyb20odXNlci50b1VwcGVyQ2FzZSgpICsgZG9tYWluLnRvVXBwZXJDYXNlKCksICd1Y3MyJyk7XG4gICAgcmV0dXJuIHRoaXMuaG1hY01ENShpZGVudGl0eSwgaGFzaCk7XG4gIH1cblxuICBudEhhc2godGV4dDogc3RyaW5nKSB7XG4gICAgY29uc3QgdW5pY29kZVN0cmluZyA9IEJ1ZmZlci5mcm9tKHRleHQsICd1Y3MyJyk7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKG1kNC5hcnJheUJ1ZmZlcih1bmljb2RlU3RyaW5nKSk7XG4gIH1cblxuICBobWFjTUQ1KGRhdGE6IEJ1ZmZlciwga2V5OiBCdWZmZXIpIHtcbiAgICByZXR1cm4gY3J5cHRvLmNyZWF0ZUhtYWMoJ01ENScsIGtleSkudXBkYXRlKGRhdGEpLmRpZ2VzdCgpO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE5UTE1SZXNwb25zZVBheWxvYWQ7XG5tb2R1bGUuZXhwb3J0cyA9IE5UTE1SZXNwb25zZVBheWxvYWQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLHVCQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFDLHVCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxLQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFBeUIsU0FBQUkseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQUgsd0JBQUFHLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSx1QkFBQUEsQ0FBQSx5QkFBQUEsQ0FBQSxXQUFBSyxPQUFBLEVBQUFMLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEs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
|