azure-kusto-data 5.0.1 → 5.0.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/dist-esm/src/client.js +22 -8
- package/dist-esm/src/cloudSettings.js +17 -4
- package/dist-esm/src/connectionBuilder.browser.js +7 -2
- package/dist-esm/src/connectionBuilder.js +21 -5
- package/dist-esm/src/connectionBuilderBase.js +1 -1
- package/dist-esm/src/index.js +6 -1
- package/dist-esm/src/response.js +4 -0
- package/dist-esm/src/security.js +9 -6
- package/dist-esm/src/tokenProvider.js +33 -15
- package/dist-esm/src/version.js +1 -1
- package/dist-esm/src/wellKnownKustoEndpoints.json +2 -1
- package/package.json +3 -3
- package/types/src/cloudSettings.d.ts +8 -4
- package/types/src/connectionBuilder.browser.d.ts +9 -8
- package/types/src/connectionBuilder.d.ts +3 -2
- package/types/src/connectionBuilderBase.d.ts +3 -1
- package/types/src/index.d.ts +3 -1
- package/types/src/tokenProvider.d.ts +14 -5
- package/types/src/version.d.ts +1 -1
- package/dist-esm/tsconfig.tsbuildinfo +0 -1
package/dist-esm/src/client.js
CHANGED
|
@@ -12,13 +12,12 @@ const response_1 = require("./response");
|
|
|
12
12
|
const connectionBuilder_1 = __importDefault(require("./connectionBuilder"));
|
|
13
13
|
const clientRequestProperties_1 = __importDefault(require("./clientRequestProperties"));
|
|
14
14
|
const errors_1 = require("./errors");
|
|
15
|
-
const version_1 = require("./version");
|
|
16
15
|
const axios_1 = __importDefault(require("axios"));
|
|
17
16
|
const http_1 = __importDefault(require("http"));
|
|
18
17
|
const https_1 = __importDefault(require("https"));
|
|
19
18
|
const core_util_1 = require("@azure/core-util");
|
|
20
19
|
const kustoTrustedEndpoints_1 = require("./kustoTrustedEndpoints");
|
|
21
|
-
const cloudSettings_1 = require("./cloudSettings");
|
|
20
|
+
const cloudSettings_1 = __importDefault(require("./cloudSettings"));
|
|
22
21
|
const timeUtils_1 = require("./timeUtils");
|
|
23
22
|
const COMMAND_TIMEOUT_IN_MILLISECS = (0, timeUtils_1.toMilliseconds)(0, 10, 30);
|
|
24
23
|
const QUERY_TIMEOUT_IN_MILLISECS = (0, timeUtils_1.toMilliseconds)(0, 4, 30);
|
|
@@ -40,7 +39,10 @@ class KustoClient {
|
|
|
40
39
|
throw new Error("Cluster url is required");
|
|
41
40
|
}
|
|
42
41
|
const url = new URL(this.connectionString.dataSource);
|
|
43
|
-
this.cluster =
|
|
42
|
+
this.cluster = url.toString();
|
|
43
|
+
if (this.cluster.endsWith("/")) {
|
|
44
|
+
this.cluster = this.cluster.slice(0, -1);
|
|
45
|
+
}
|
|
44
46
|
this.defaultDatabase = this.connectionString.initialCatalog;
|
|
45
47
|
this.endpoints = {
|
|
46
48
|
[ExecutionType.Mgmt]: `${this.cluster}/v1/rest/mgmt`,
|
|
@@ -52,12 +54,14 @@ class KustoClient {
|
|
|
52
54
|
const headers = {
|
|
53
55
|
Accept: "application/json",
|
|
54
56
|
"Accept-Encoding": "gzip,deflate",
|
|
55
|
-
"x-ms-client-version": `Kusto.Node.Client:${version_1.SDK_VERSION}`,
|
|
56
57
|
Connection: "Keep-Alive",
|
|
57
58
|
};
|
|
58
59
|
const axiosProps = {
|
|
59
60
|
headers,
|
|
60
61
|
validateStatus: (status) => status === 200,
|
|
62
|
+
maxBodyLength: Infinity,
|
|
63
|
+
maxContentLength: Infinity,
|
|
64
|
+
maxRedirects: 0,
|
|
61
65
|
};
|
|
62
66
|
// http and https are Node modules and are not found in browsers
|
|
63
67
|
if (core_util_1.isNode) {
|
|
@@ -66,7 +70,7 @@ class KustoClient {
|
|
|
66
70
|
axiosProps.httpsAgent = new https_1.default.Agent({ keepAlive: true });
|
|
67
71
|
}
|
|
68
72
|
axiosProps.cancelToken = this.cancelToken.token;
|
|
69
|
-
this.axiosInstance = axios_1.default.create();
|
|
73
|
+
this.axiosInstance = axios_1.default.create(axiosProps);
|
|
70
74
|
}
|
|
71
75
|
async execute(db, query, properties) {
|
|
72
76
|
query = query.trim();
|
|
@@ -98,7 +102,7 @@ class KustoClient {
|
|
|
98
102
|
}
|
|
99
103
|
async _execute(endpoint, executionType, db, query, stream, properties) {
|
|
100
104
|
this.ensureOpen();
|
|
101
|
-
kustoTrustedEndpoints_1.kustoTrustedEndpoints.validateTrustedEndpoint(endpoint, (await cloudSettings_1.
|
|
105
|
+
kustoTrustedEndpoints_1.kustoTrustedEndpoints.validateTrustedEndpoint(endpoint, (await cloudSettings_1.default.getCloudInfoForCluster(this.cluster)).LoginEndpoint);
|
|
102
106
|
db = this.getDb(db);
|
|
103
107
|
const headers = {};
|
|
104
108
|
let payload;
|
|
@@ -157,6 +161,11 @@ class KustoClient {
|
|
|
157
161
|
return db;
|
|
158
162
|
}
|
|
159
163
|
async _doRequest(endpoint, executionType, headers, payload, timeout, properties) {
|
|
164
|
+
var _a;
|
|
165
|
+
// replace non-ascii characters with ? in headers
|
|
166
|
+
for (const key of Object.keys(headers)) {
|
|
167
|
+
headers[key] = headers[key].replace(/[^\x00-\x7F]+/g, "?");
|
|
168
|
+
}
|
|
160
169
|
const axiosConfig = {
|
|
161
170
|
headers,
|
|
162
171
|
timeout,
|
|
@@ -166,8 +175,13 @@ class KustoClient {
|
|
|
166
175
|
axiosResponse = await this.axiosInstance.post(endpoint, payload, axiosConfig);
|
|
167
176
|
}
|
|
168
177
|
catch (error) {
|
|
169
|
-
if (axios_1.default.isAxiosError(error)
|
|
170
|
-
|
|
178
|
+
if (axios_1.default.isAxiosError(error)) {
|
|
179
|
+
// Since it's impossible to modify the error request object, the only way to censor the Authorization header is to remove it.
|
|
180
|
+
error.request = undefined;
|
|
181
|
+
if ((_a = error === null || error === void 0 ? void 0 : error.config) === null || _a === void 0 ? void 0 : _a.headers) {
|
|
182
|
+
error.config.headers.Authorization = "<REDACTED>";
|
|
183
|
+
}
|
|
184
|
+
if (error.response && error.response.status === 429) {
|
|
171
185
|
throw new errors_1.ThrottlingError("POST request failed with status 429 (Too Many Requests)", error);
|
|
172
186
|
}
|
|
173
187
|
}
|
|
@@ -22,12 +22,15 @@ class CloudSettings {
|
|
|
22
22
|
FirstPartyAuthorityUrl: "https://login.microsoftonline.com/f8cdef31-a31e-4b4a-93e4-5f571e91255a",
|
|
23
23
|
};
|
|
24
24
|
this.cloudCache = {};
|
|
25
|
+
this.getFromCache = (kustoUri) => this.cloudCache[this.normalizeUrl(kustoUri)];
|
|
26
|
+
this.deleteFromCache = (kustoUri) => delete this.cloudCache[this.normalizeUrl(kustoUri)];
|
|
25
27
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
+
writeToCache(url, info) {
|
|
29
|
+
this.cloudCache[this.normalizeUrl(url)] = info !== null && info !== void 0 ? info : this.defaultCloudInfo;
|
|
28
30
|
}
|
|
29
31
|
async getCloudInfoForCluster(kustoUri) {
|
|
30
32
|
var _a;
|
|
33
|
+
kustoUri = this.normalizeUrl(kustoUri);
|
|
31
34
|
if (kustoUri in this.cloudCache) {
|
|
32
35
|
return this.cloudCache[kustoUri];
|
|
33
36
|
}
|
|
@@ -44,6 +47,7 @@ class CloudSettings {
|
|
|
44
47
|
// 'https://sandbox-46-11.reactblade.portal.azure.net' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header has a value
|
|
45
48
|
// 'https://sandbox-46-10.reactblade.portal.azure.net' that is not equal to the supplied origin.
|
|
46
49
|
},
|
|
50
|
+
maxRedirects: 0,
|
|
47
51
|
});
|
|
48
52
|
if (response.status === 200) {
|
|
49
53
|
this.cloudCache[kustoUri] = response.data.AzureAD || this.defaultCloudInfo;
|
|
@@ -63,10 +67,19 @@ class CloudSettings {
|
|
|
63
67
|
}
|
|
64
68
|
return this.cloudCache[kustoUri];
|
|
65
69
|
}
|
|
70
|
+
normalizeUrl(kustoUri) {
|
|
71
|
+
const url = new URL(kustoUri);
|
|
72
|
+
const urlString = url.toString();
|
|
73
|
+
if (urlString.endsWith("/")) {
|
|
74
|
+
return urlString.slice(0, urlString.length - 1);
|
|
75
|
+
}
|
|
76
|
+
return urlString;
|
|
77
|
+
}
|
|
66
78
|
static getAuthorityUri(cloudInfo, authorityId) {
|
|
67
79
|
return cloudInfo.LoginEndpoint + "/" + (authorityId || "organizations");
|
|
68
80
|
}
|
|
69
81
|
}
|
|
70
|
-
|
|
71
|
-
CloudSettings
|
|
82
|
+
const cloudSettings = new CloudSettings();
|
|
83
|
+
exports.CloudSettings = cloudSettings;
|
|
84
|
+
exports.default = cloudSettings;
|
|
72
85
|
//# sourceMappingURL=cloudSettings.js.map
|
|
@@ -15,7 +15,7 @@ class KustoConnectionStringBuilder extends connectionBuilderBase_1.default {
|
|
|
15
15
|
static withAadApplicationKeyAuthentication(_connectionString, _aadAppId, _appKey, _authorityId) {
|
|
16
16
|
throw new Error("Not supported in browser - use withUserPrompt instead");
|
|
17
17
|
}
|
|
18
|
-
static withAadApplicationCertificateAuthentication(_connectionString, _aadAppId, _applicationCertificatePrivateKey, _authorityId, _applicationCertificateSendX5c) {
|
|
18
|
+
static withAadApplicationCertificateAuthentication(_connectionString, _aadAppId, _applicationCertificatePrivateKey, _authorityId, _applicationCertificateSendX5c, _applicationCertificatePath) {
|
|
19
19
|
throw new Error("Not supported in browser - use withUserPrompt instead");
|
|
20
20
|
}
|
|
21
21
|
static withAadDeviceAuthentication(_connectionString, _authorityId, _deviceCodeCallback) {
|
|
@@ -64,9 +64,14 @@ class KustoConnectionStringBuilder extends connectionBuilderBase_1.default {
|
|
|
64
64
|
kcsb.timeoutMs = timeoutMs;
|
|
65
65
|
return kcsb;
|
|
66
66
|
}
|
|
67
|
+
static withTokenCredential(connectionString, credential) {
|
|
68
|
+
const kcsb = new KustoConnectionStringBuilder(connectionString);
|
|
69
|
+
kcsb.tokenCredential = credential;
|
|
70
|
+
return kcsb;
|
|
71
|
+
}
|
|
67
72
|
}
|
|
68
|
-
exports.KustoConnectionStringBuilder = KustoConnectionStringBuilder;
|
|
69
73
|
KustoConnectionStringBuilder.DefaultDatabaseName = "NetDefaultDB";
|
|
70
74
|
KustoConnectionStringBuilder.SecretReplacement = "****";
|
|
75
|
+
exports.KustoConnectionStringBuilder = KustoConnectionStringBuilder;
|
|
71
76
|
exports.default = KustoConnectionStringBuilder;
|
|
72
77
|
//# sourceMappingURL=connectionBuilder.browser.js.map
|
|
@@ -37,15 +37,26 @@ class KustoConnectionStringBuilder extends connectionBuilderBase_1.KustoConnecti
|
|
|
37
37
|
}
|
|
38
38
|
return kcsb;
|
|
39
39
|
}
|
|
40
|
-
static withAadApplicationCertificateAuthentication(connectionString, aadAppId, applicationCertificatePrivateKey, authorityId, applicationCertificateSendX5c) {
|
|
40
|
+
static withAadApplicationCertificateAuthentication(connectionString, aadAppId, applicationCertificatePrivateKey, authorityId, applicationCertificateSendX5c, applicationCertificatePrivatePath) {
|
|
41
41
|
if (aadAppId.trim().length === 0)
|
|
42
42
|
throw new Error("Invalid app id");
|
|
43
|
-
if (applicationCertificatePrivateKey.trim().length === 0)
|
|
44
|
-
throw new Error("Invalid certificate");
|
|
45
43
|
const kcsb = new KustoConnectionStringBuilder(connectionString);
|
|
44
|
+
if (!applicationCertificatePrivatePath) {
|
|
45
|
+
if (!applicationCertificatePrivateKey) {
|
|
46
|
+
throw new Error("withAadApplicationCertificateAuthentication should specify either a cert key or a path");
|
|
47
|
+
}
|
|
48
|
+
if (applicationCertificatePrivateKey.trim().length === 0)
|
|
49
|
+
throw new Error("Invalid certificate key");
|
|
50
|
+
kcsb.applicationCertificatePrivateKey = applicationCertificatePrivateKey;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
if (applicationCertificatePrivateKey) {
|
|
54
|
+
throw new Error("withAadApplicationCertificateAuthentication should specify either a cert key or a path");
|
|
55
|
+
}
|
|
56
|
+
kcsb.applicationCertificatePath = applicationCertificatePrivatePath;
|
|
57
|
+
}
|
|
46
58
|
kcsb.aadFederatedSecurity = true;
|
|
47
59
|
kcsb.applicationClientId = aadAppId;
|
|
48
|
-
kcsb.applicationCertificatePrivateKey = applicationCertificatePrivateKey;
|
|
49
60
|
kcsb.applicationCertificateSendX5c = applicationCertificateSendX5c;
|
|
50
61
|
if (authorityId) {
|
|
51
62
|
kcsb.authorityId = authorityId;
|
|
@@ -120,9 +131,14 @@ class KustoConnectionStringBuilder extends connectionBuilderBase_1.KustoConnecti
|
|
|
120
131
|
kcsb.timeoutMs = timeoutMs;
|
|
121
132
|
return kcsb;
|
|
122
133
|
}
|
|
134
|
+
static withTokenCredential(connectionString, credential) {
|
|
135
|
+
const kcsb = new KustoConnectionStringBuilder(connectionString);
|
|
136
|
+
kcsb.tokenCredential = credential;
|
|
137
|
+
return kcsb;
|
|
138
|
+
}
|
|
123
139
|
}
|
|
124
|
-
exports.KustoConnectionStringBuilder = KustoConnectionStringBuilder;
|
|
125
140
|
KustoConnectionStringBuilder.DefaultDatabaseName = "NetDefaultDB";
|
|
126
141
|
KustoConnectionStringBuilder.SecretReplacement = "****";
|
|
142
|
+
exports.KustoConnectionStringBuilder = KustoConnectionStringBuilder;
|
|
127
143
|
exports.default = KustoConnectionStringBuilder;
|
|
128
144
|
//# sourceMappingURL=connectionBuilder.js.map
|
|
@@ -131,8 +131,8 @@ class KustoConnectionStringBuilderBase {
|
|
|
131
131
|
return Object.assign({}, other);
|
|
132
132
|
}
|
|
133
133
|
}
|
|
134
|
-
exports.KustoConnectionStringBuilderBase = KustoConnectionStringBuilderBase;
|
|
135
134
|
KustoConnectionStringBuilderBase.DefaultDatabaseName = "NetDefaultDB";
|
|
136
135
|
KustoConnectionStringBuilderBase.SecretReplacement = "****";
|
|
136
|
+
exports.KustoConnectionStringBuilderBase = KustoConnectionStringBuilderBase;
|
|
137
137
|
exports.default = KustoConnectionStringBuilderBase;
|
|
138
138
|
//# sourceMappingURL=connectionBuilderBase.js.map
|
package/dist-esm/src/index.js
CHANGED
|
@@ -28,7 +28,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
28
28
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
29
29
|
};
|
|
30
30
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
-
exports.TimeUtils = exports.KustoDataErrors = exports.KustoConnectionStringBuilder = exports.ClientRequestProperties = exports.Client = void 0;
|
|
31
|
+
exports.MatchRule = exports.kustoTrustedEndpoints = exports.CloudSettings = exports.TimeUtils = exports.KustoDataErrors = exports.KustoConnectionStringBuilder = exports.ClientRequestProperties = exports.Client = void 0;
|
|
32
32
|
const client_1 = __importDefault(require("./client"));
|
|
33
33
|
exports.Client = client_1.default;
|
|
34
34
|
const clientRequestProperties_1 = __importDefault(require("./clientRequestProperties"));
|
|
@@ -38,6 +38,11 @@ exports.KustoConnectionStringBuilder = connectionBuilder_1.default;
|
|
|
38
38
|
const KustoDataErrors = __importStar(require("./errors"));
|
|
39
39
|
exports.KustoDataErrors = KustoDataErrors;
|
|
40
40
|
const timeUtils_1 = require("./timeUtils");
|
|
41
|
+
const cloudSettings_1 = __importDefault(require("./cloudSettings"));
|
|
42
|
+
exports.CloudSettings = cloudSettings_1.default;
|
|
43
|
+
const kustoTrustedEndpoints_1 = require("./kustoTrustedEndpoints");
|
|
44
|
+
Object.defineProperty(exports, "kustoTrustedEndpoints", { enumerable: true, get: function () { return kustoTrustedEndpoints_1.kustoTrustedEndpoints; } });
|
|
45
|
+
Object.defineProperty(exports, "MatchRule", { enumerable: true, get: function () { return kustoTrustedEndpoints_1.MatchRule; } });
|
|
41
46
|
const TimeUtils = { toMilliseconds: timeUtils_1.toMilliseconds };
|
|
42
47
|
exports.TimeUtils = TimeUtils;
|
|
43
48
|
//# sourceMappingURL=index.js.map
|
package/dist-esm/src/response.js
CHANGED
|
@@ -100,6 +100,7 @@ class KustoResponseDataSetV1 extends KustoResponseDataSet {
|
|
|
100
100
|
QueryResult: models_1.WellKnownDataSet.PrimaryResult,
|
|
101
101
|
QueryProperties: models_1.WellKnownDataSet.QueryProperties,
|
|
102
102
|
QueryStatus: models_1.WellKnownDataSet.QueryCompletionInformation,
|
|
103
|
+
PrimaryResult: models_1.WellKnownDataSet.PrimaryResult,
|
|
103
104
|
};
|
|
104
105
|
}
|
|
105
106
|
constructor(data) {
|
|
@@ -125,6 +126,9 @@ class KustoResponseDataSetV1 extends KustoResponseDataSet {
|
|
|
125
126
|
this.tables[i].name = current.Name;
|
|
126
127
|
this.tables[i].id = current.Id;
|
|
127
128
|
this.tables[i].kind = KustoResponseDataSetV1.getTablesKinds()[current.Kind];
|
|
129
|
+
if (this.tables[i].kind === models_1.WellKnownDataSet.PrimaryResult) {
|
|
130
|
+
this.primaryResults.push(this.tables[i]);
|
|
131
|
+
}
|
|
128
132
|
}
|
|
129
133
|
}
|
|
130
134
|
this.version = "1.0";
|
package/dist-esm/src/security.js
CHANGED
|
@@ -33,13 +33,13 @@ class AadHelper {
|
|
|
33
33
|
throw new Error("Invalid string builder - missing dataSource");
|
|
34
34
|
}
|
|
35
35
|
if (!!kcsb.aadUserId && !!kcsb.password) {
|
|
36
|
-
this.tokenProvider = new TokenProvider.UserPassTokenProvider(kcsb.dataSource, kcsb.aadUserId, kcsb.password, kcsb.authorityId);
|
|
36
|
+
this.tokenProvider = new TokenProvider.UserPassTokenProvider(kcsb.dataSource, kcsb.aadUserId, kcsb.password, kcsb.authorityId, kcsb.timeoutMs);
|
|
37
37
|
}
|
|
38
38
|
else if (!!kcsb.applicationClientId && !!kcsb.applicationKey) {
|
|
39
|
-
this.tokenProvider = new TokenProvider.ApplicationKeyTokenProvider(kcsb.dataSource, kcsb.applicationClientId, kcsb.applicationKey, kcsb.authorityId);
|
|
39
|
+
this.tokenProvider = new TokenProvider.ApplicationKeyTokenProvider(kcsb.dataSource, kcsb.applicationClientId, kcsb.applicationKey, kcsb.authorityId, kcsb.timeoutMs);
|
|
40
40
|
}
|
|
41
|
-
else if (!!kcsb.applicationClientId && !!kcsb.applicationCertificatePrivateKey) {
|
|
42
|
-
this.tokenProvider = new TokenProvider.ApplicationCertificateTokenProvider(kcsb.dataSource, kcsb.applicationClientId, kcsb.applicationCertificatePrivateKey, kcsb.applicationCertificateSendX5c, kcsb.authorityId);
|
|
41
|
+
else if (!!kcsb.applicationClientId && (!!kcsb.applicationCertificatePrivateKey || !!kcsb.applicationCertificatePath)) {
|
|
42
|
+
this.tokenProvider = new TokenProvider.ApplicationCertificateTokenProvider(kcsb.dataSource, kcsb.applicationClientId, kcsb.applicationCertificatePrivateKey, kcsb.applicationCertificatePath, kcsb.applicationCertificateSendX5c, kcsb.authorityId, kcsb.timeoutMs);
|
|
43
43
|
}
|
|
44
44
|
else if (kcsb.useManagedIdentityAuth) {
|
|
45
45
|
this.tokenProvider = new TokenProvider.MsiTokenProvider(kcsb.dataSource, kcsb.msiClientId, kcsb.authorityId, kcsb.timeoutMs);
|
|
@@ -51,13 +51,16 @@ class AadHelper {
|
|
|
51
51
|
this.tokenProvider = new tokenProvider_1.BasicTokenProvider(kcsb.dataSource, kcsb.accessToken);
|
|
52
52
|
}
|
|
53
53
|
else if (kcsb.useUserPromptAuth) {
|
|
54
|
-
this.tokenProvider = new tokenProvider_1.UserPromptProvider(kcsb.dataSource, kcsb.interactiveCredentialOptions);
|
|
54
|
+
this.tokenProvider = new tokenProvider_1.UserPromptProvider(kcsb.dataSource, kcsb.interactiveCredentialOptions, kcsb.timeoutMs);
|
|
55
55
|
}
|
|
56
56
|
else if (kcsb.tokenProvider) {
|
|
57
57
|
this.tokenProvider = new tokenProvider_1.CallbackTokenProvider(kcsb.dataSource, kcsb.tokenProvider);
|
|
58
58
|
}
|
|
59
59
|
else if (kcsb.useDeviceCodeAuth) {
|
|
60
|
-
this.tokenProvider = new TokenProvider.DeviceLoginTokenProvider(kcsb.dataSource, kcsb.deviceCodeCallback, kcsb.authorityId);
|
|
60
|
+
this.tokenProvider = new TokenProvider.DeviceLoginTokenProvider(kcsb.dataSource, kcsb.deviceCodeCallback, kcsb.authorityId, kcsb.timeoutMs);
|
|
61
|
+
}
|
|
62
|
+
else if (kcsb.tokenCredential) {
|
|
63
|
+
this.tokenProvider = new tokenProvider_1.TokenCredentialProvider(kcsb.dataSource, kcsb.tokenCredential, kcsb.timeoutMs);
|
|
61
64
|
}
|
|
62
65
|
}
|
|
63
66
|
async getAuthHeader() {
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ApplicationKeyTokenProvider = exports.ApplicationCertificateTokenProvider = exports.DeviceLoginTokenProvider = exports.UserPassTokenProvider = exports.AzCliTokenProvider = exports.MsiTokenProvider = exports.UserPromptProvider = exports.AzureIdentityProvider = exports.CloudSettingsTokenProvider = exports.CallbackTokenProvider = exports.BasicTokenProvider = exports.TokenProviderBase = void 0;
|
|
3
|
+
exports.ApplicationKeyTokenProvider = exports.ApplicationCertificateTokenProvider = exports.DeviceLoginTokenProvider = exports.UserPassTokenProvider = exports.AzCliTokenProvider = exports.MsiTokenProvider = exports.UserPromptProvider = exports.TokenCredentialProvider = exports.AzureIdentityProvider = exports.CloudSettingsTokenProvider = exports.CallbackTokenProvider = exports.BasicTokenProvider = exports.TokenProviderBase = void 0;
|
|
4
4
|
// Copyright (c) Microsoft Corporation.
|
|
5
5
|
// Licensed under the MIT License.
|
|
6
6
|
const identity_1 = require("@azure/identity");
|
|
7
|
-
const identity_2 = require("@azure/identity");
|
|
8
7
|
const cloudSettings_1 = require("./cloudSettings");
|
|
9
8
|
const BEARER_TYPE = "Bearer";
|
|
10
9
|
/**
|
|
@@ -66,7 +65,7 @@ class CloudSettingsTokenProvider extends TokenProviderBase {
|
|
|
66
65
|
async acquireToken() {
|
|
67
66
|
if (!this.initialized) {
|
|
68
67
|
if (this.cloudInfo == null) {
|
|
69
|
-
this.cloudInfo = await cloudSettings_1.CloudSettings.
|
|
68
|
+
this.cloudInfo = await cloudSettings_1.CloudSettings.getCloudInfoForCluster(this.kustoUri);
|
|
70
69
|
let resourceUri = this.cloudInfo.KustoServiceResourceId;
|
|
71
70
|
if (this.cloudInfo.LoginMfaRequired) {
|
|
72
71
|
resourceUri = resourceUri.replace(".kusto.", ".kustomfa.");
|
|
@@ -118,6 +117,19 @@ class AzureIdentityProvider extends CloudSettingsTokenProvider {
|
|
|
118
117
|
}
|
|
119
118
|
}
|
|
120
119
|
exports.AzureIdentityProvider = AzureIdentityProvider;
|
|
120
|
+
/**
|
|
121
|
+
* TokenCredentialProvider receives any TokenCredential to create a token with.
|
|
122
|
+
*/
|
|
123
|
+
class TokenCredentialProvider extends AzureIdentityProvider {
|
|
124
|
+
constructor(kustoUri, tokenCredential, timeoutMs) {
|
|
125
|
+
super(kustoUri, undefined, timeoutMs);
|
|
126
|
+
this.tokenCredential = tokenCredential;
|
|
127
|
+
}
|
|
128
|
+
getCredential() {
|
|
129
|
+
return this.tokenCredential;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
exports.TokenCredentialProvider = TokenCredentialProvider;
|
|
121
133
|
/**
|
|
122
134
|
* UserPromptProvider will pop up a login prompt to acquire a token.
|
|
123
135
|
*/
|
|
@@ -131,7 +143,7 @@ class UserPromptProvider extends AzureIdentityProvider {
|
|
|
131
143
|
}
|
|
132
144
|
getCredential() {
|
|
133
145
|
var _a, _b, _c, _d;
|
|
134
|
-
return new
|
|
146
|
+
return new identity_1.InteractiveBrowserCredential(Object.assign(Object.assign({}, this.interactiveCredentialOptions), { tenantId: this.authorityId, clientId: (_b = (_a = this.interactiveCredentialOptions) === null || _a === void 0 ? void 0 : _a.clientId) !== null && _b !== void 0 ? _b : this.cloudInfo.KustoClientAppId, redirectUri: (_d = (_c = this.interactiveCredentialOptions) === null || _c === void 0 ? void 0 : _c.redirectUri) !== null && _d !== void 0 ? _d : `http://localhost:${this.getRandomPortInRange()}/` }));
|
|
135
147
|
}
|
|
136
148
|
getRandomPortInRange() {
|
|
137
149
|
return Math.floor(Math.random() * (this.MaxPort - this.MinPort) + this.MinPort);
|
|
@@ -176,8 +188,8 @@ exports.AzCliTokenProvider = AzCliTokenProvider;
|
|
|
176
188
|
* Acquire a token from MSAL with username and password
|
|
177
189
|
*/
|
|
178
190
|
class UserPassTokenProvider extends AzureIdentityProvider {
|
|
179
|
-
constructor(kustoUri, userName, password, authorityId) {
|
|
180
|
-
super(kustoUri, authorityId,
|
|
191
|
+
constructor(kustoUri, userName, password, authorityId, timeoutMs) {
|
|
192
|
+
super(kustoUri, authorityId, timeoutMs);
|
|
181
193
|
this.userName = userName;
|
|
182
194
|
this.password = password;
|
|
183
195
|
}
|
|
@@ -193,8 +205,8 @@ exports.UserPassTokenProvider = UserPassTokenProvider;
|
|
|
193
205
|
* Acquire a token from Device Login flow
|
|
194
206
|
*/
|
|
195
207
|
class DeviceLoginTokenProvider extends AzureIdentityProvider {
|
|
196
|
-
constructor(kustoUri, deviceCodeCallback, authorityId) {
|
|
197
|
-
super(kustoUri, authorityId,
|
|
208
|
+
constructor(kustoUri, deviceCodeCallback, authorityId, timeoutMs) {
|
|
209
|
+
super(kustoUri, authorityId, timeoutMs);
|
|
198
210
|
this.deviceCodeCallback = deviceCodeCallback;
|
|
199
211
|
}
|
|
200
212
|
getCredential() {
|
|
@@ -211,16 +223,22 @@ exports.DeviceLoginTokenProvider = DeviceLoginTokenProvider;
|
|
|
211
223
|
* Passing the public certificate is optional and will result in Subject Name & Issuer Authentication
|
|
212
224
|
*/
|
|
213
225
|
class ApplicationCertificateTokenProvider extends AzureIdentityProvider {
|
|
214
|
-
constructor(kustoUri, appClientId, certPrivateKey, sendX5c, authorityId) {
|
|
215
|
-
super(kustoUri, authorityId);
|
|
226
|
+
constructor(kustoUri, appClientId, certPrivateKey, certPath, sendX5c, authorityId, timeoutMs) {
|
|
227
|
+
super(kustoUri, authorityId, timeoutMs);
|
|
216
228
|
this.appClientId = appClientId;
|
|
217
229
|
this.certPrivateKey = certPrivateKey;
|
|
230
|
+
this.certPath = certPath;
|
|
218
231
|
this.sendX5c = sendX5c;
|
|
219
232
|
}
|
|
220
233
|
getCredential() {
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
234
|
+
if (this.certPrivateKey) {
|
|
235
|
+
return new identity_1.ClientCertificateCredential(this.authorityId, this.appClientId, {
|
|
236
|
+
certificate: this.certPrivateKey,
|
|
237
|
+
}, {
|
|
238
|
+
sendCertificateChain: this.sendX5c,
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
return new identity_1.ClientCertificateCredential(this.authorityId, this.appClientId, this.certPath, {
|
|
224
242
|
sendCertificateChain: this.sendX5c,
|
|
225
243
|
});
|
|
226
244
|
}
|
|
@@ -233,8 +251,8 @@ exports.ApplicationCertificateTokenProvider = ApplicationCertificateTokenProvide
|
|
|
233
251
|
* Acquire a token from MSAL with application id and Key
|
|
234
252
|
*/
|
|
235
253
|
class ApplicationKeyTokenProvider extends AzureIdentityProvider {
|
|
236
|
-
constructor(kustoUri, appClientId, appKey, authorityId) {
|
|
237
|
-
super(kustoUri, authorityId);
|
|
254
|
+
constructor(kustoUri, appClientId, appKey, authorityId, timeoutMs) {
|
|
255
|
+
super(kustoUri, authorityId, timeoutMs);
|
|
238
256
|
this.appClientId = appClientId;
|
|
239
257
|
this.appKey = appKey;
|
|
240
258
|
}
|
package/dist-esm/src/version.js
CHANGED
|
@@ -4,5 +4,5 @@
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.SDK_VERSION = void 0;
|
|
6
6
|
// SDK_VERSION should be updated in all 3 package.json and lerna.json(by running lerna version)
|
|
7
|
-
exports.SDK_VERSION = "5.0.
|
|
7
|
+
exports.SDK_VERSION = "5.0.3";
|
|
8
8
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "azure-kusto-data",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.3",
|
|
4
4
|
"description": "Azure Data Explorer Query SDK",
|
|
5
5
|
"module": "dist-esm/src/index.js",
|
|
6
6
|
"types": "./types/src/index.d.ts",
|
|
7
7
|
"main": "dist-esm/src/index",
|
|
8
8
|
"scripts": {
|
|
9
9
|
"clean": "rimraf dist/* dist-esm/* types/*",
|
|
10
|
-
"build": "tsc"
|
|
10
|
+
"build": "tsc -b"
|
|
11
11
|
},
|
|
12
12
|
"browser": {
|
|
13
13
|
"fs": false,
|
|
@@ -68,5 +68,5 @@
|
|
|
68
68
|
"overrides": {
|
|
69
69
|
"jsonwebtoken": "^9.0.0"
|
|
70
70
|
},
|
|
71
|
-
"gitHead": "
|
|
71
|
+
"gitHead": "f8bf719744dfee126942678185a2315511ca0dfa"
|
|
72
72
|
}
|
|
@@ -9,16 +9,20 @@ export type CloudInfo = {
|
|
|
9
9
|
/**
|
|
10
10
|
* This class holds data for all cloud instances, and returns the specific data instance by parsing the dns suffix from a URL
|
|
11
11
|
*/
|
|
12
|
-
|
|
13
|
-
private static instance;
|
|
12
|
+
declare class CloudSettings {
|
|
14
13
|
METADATA_ENDPOINT: string;
|
|
15
14
|
defaultCloudInfo: CloudInfo;
|
|
16
15
|
cloudCache: {
|
|
17
16
|
[kustoUri: string]: CloudInfo;
|
|
18
17
|
};
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
writeToCache(url: string, info?: CloudInfo): void;
|
|
19
|
+
getFromCache: (kustoUri: string) => CloudInfo;
|
|
20
|
+
deleteFromCache: (kustoUri: string) => boolean;
|
|
21
21
|
getCloudInfoForCluster(kustoUri: string): Promise<CloudInfo>;
|
|
22
|
+
private normalizeUrl;
|
|
22
23
|
static getAuthorityUri(cloudInfo: CloudInfo, authorityId?: string): string;
|
|
23
24
|
}
|
|
25
|
+
declare const cloudSettings: CloudSettings;
|
|
26
|
+
export { cloudSettings as CloudSettings };
|
|
27
|
+
export default cloudSettings;
|
|
24
28
|
//# sourceMappingURL=cloudSettings.d.ts.map
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import { DeviceCodeInfo, InteractiveBrowserCredentialInBrowserOptions, InteractiveBrowserCredentialNodeOptions } from "@azure/identity";
|
|
1
|
+
import { DeviceCodeInfo, InteractiveBrowserCredentialInBrowserOptions, InteractiveBrowserCredentialNodeOptions, TokenCredential } from "@azure/identity";
|
|
2
2
|
import KustoConnectionStringBuilderBase from "./connectionBuilderBase";
|
|
3
3
|
export declare class KustoConnectionStringBuilder extends KustoConnectionStringBuilderBase {
|
|
4
4
|
static readonly DefaultDatabaseName = "NetDefaultDB";
|
|
5
5
|
static readonly SecretReplacement = "****";
|
|
6
|
-
static withAadUserPasswordAuthentication(_connectionString: string, _userId: string, _password: string, _authorityId?: string):
|
|
7
|
-
static withAadApplicationKeyAuthentication(_connectionString: string, _aadAppId: string, _appKey: string, _authorityId?: string):
|
|
8
|
-
static withAadApplicationCertificateAuthentication(_connectionString: string, _aadAppId: string, _applicationCertificatePrivateKey
|
|
9
|
-
static withAadDeviceAuthentication(_connectionString: string, _authorityId?: string, _deviceCodeCallback?: (response: DeviceCodeInfo) => void):
|
|
10
|
-
static withSystemManagedIdentity(_connectionString: string, _authorityId?: string, _timeoutMs?: number):
|
|
11
|
-
static withUserManagedIdentity(_connectionString: string, _msiClientId: string, _authorityId?: string, _timeoutMs?: number):
|
|
12
|
-
static withAzLoginIdentity(_connectionString: string, _authorityId?: string, _timeoutMs?: number):
|
|
6
|
+
static withAadUserPasswordAuthentication(_connectionString: string, _userId: string, _password: string, _authorityId?: string): KustoConnectionStringBuilder;
|
|
7
|
+
static withAadApplicationKeyAuthentication(_connectionString: string, _aadAppId: string, _appKey: string, _authorityId?: string): KustoConnectionStringBuilder;
|
|
8
|
+
static withAadApplicationCertificateAuthentication(_connectionString: string, _aadAppId: string, _applicationCertificatePrivateKey?: string, _authorityId?: string, _applicationCertificateSendX5c?: boolean, _applicationCertificatePath?: string): KustoConnectionStringBuilder;
|
|
9
|
+
static withAadDeviceAuthentication(_connectionString: string, _authorityId?: string, _deviceCodeCallback?: (response: DeviceCodeInfo) => void): KustoConnectionStringBuilder;
|
|
10
|
+
static withSystemManagedIdentity(_connectionString: string, _authorityId?: string, _timeoutMs?: number): KustoConnectionStringBuilder;
|
|
11
|
+
static withUserManagedIdentity(_connectionString: string, _msiClientId: string, _authorityId?: string, _timeoutMs?: number): KustoConnectionStringBuilder;
|
|
12
|
+
static withAzLoginIdentity(_connectionString: string, _authorityId?: string, _timeoutMs?: number): KustoConnectionStringBuilder;
|
|
13
13
|
static withAccessToken(connectionString: string, accessToken: string): KustoConnectionStringBuilder;
|
|
14
14
|
static withTokenProvider(connectionString: string, tokenProvider: () => Promise<string>): KustoConnectionStringBuilder;
|
|
15
15
|
static withUserPrompt(connectionString: string, interactiveCredentialOptions: InteractiveBrowserCredentialNodeOptions | InteractiveBrowserCredentialInBrowserOptions, timeoutMs?: number): KustoConnectionStringBuilder;
|
|
16
|
+
static withTokenCredential(connectionString: string, credential: TokenCredential): KustoConnectionStringBuilder;
|
|
16
17
|
}
|
|
17
18
|
export default KustoConnectionStringBuilder;
|
|
18
19
|
//# sourceMappingURL=connectionBuilder.browser.d.ts.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { DeviceCodeInfo, InteractiveBrowserCredentialInBrowserOptions, InteractiveBrowserCredentialNodeOptions } from "@azure/identity";
|
|
1
|
+
import { DeviceCodeInfo, InteractiveBrowserCredentialInBrowserOptions, InteractiveBrowserCredentialNodeOptions, TokenCredential } from "@azure/identity";
|
|
2
2
|
import { KustoConnectionStringBuilderBase } from "./connectionBuilderBase";
|
|
3
3
|
export declare class KustoConnectionStringBuilder extends KustoConnectionStringBuilderBase {
|
|
4
4
|
static readonly DefaultDatabaseName = "NetDefaultDB";
|
|
5
5
|
static readonly SecretReplacement = "****";
|
|
6
6
|
static withAadUserPasswordAuthentication(connectionString: string, userId: string, password: string, authorityId?: string): KustoConnectionStringBuilder;
|
|
7
7
|
static withAadApplicationKeyAuthentication(connectionString: string, aadAppId: string, appKey: string, authorityId?: string): KustoConnectionStringBuilder;
|
|
8
|
-
static withAadApplicationCertificateAuthentication(connectionString: string, aadAppId: string, applicationCertificatePrivateKey
|
|
8
|
+
static withAadApplicationCertificateAuthentication(connectionString: string, aadAppId: string, applicationCertificatePrivateKey?: string, authorityId?: string, applicationCertificateSendX5c?: boolean, applicationCertificatePrivatePath?: string): KustoConnectionStringBuilder;
|
|
9
9
|
static withAadDeviceAuthentication(connectionString: string, authorityId?: string, deviceCodeCallback?: (response: DeviceCodeInfo) => void): KustoConnectionStringBuilder;
|
|
10
10
|
private static withAadManagedIdentities;
|
|
11
11
|
static withSystemManagedIdentity(connectionString: string, authorityId?: string, timeoutMs?: number): KustoConnectionStringBuilder;
|
|
@@ -19,6 +19,7 @@ export declare class KustoConnectionStringBuilder extends KustoConnectionStringB
|
|
|
19
19
|
* See: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/identity/identity/test/manual/interactive-browser-credential
|
|
20
20
|
*/
|
|
21
21
|
static withUserPrompt(connectionString: string, options?: InteractiveBrowserCredentialNodeOptions | InteractiveBrowserCredentialInBrowserOptions, timeoutMs?: number): KustoConnectionStringBuilder;
|
|
22
|
+
static withTokenCredential(connectionString: string, credential: TokenCredential): KustoConnectionStringBuilder;
|
|
22
23
|
}
|
|
23
24
|
export default KustoConnectionStringBuilder;
|
|
24
25
|
//# sourceMappingURL=connectionBuilder.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DeviceCodeInfo, InteractiveBrowserCredentialInBrowserOptions, InteractiveBrowserCredentialNodeOptions } from "@azure/identity";
|
|
1
|
+
import { DeviceCodeInfo, InteractiveBrowserCredentialInBrowserOptions, InteractiveBrowserCredentialNodeOptions, TokenCredential } from "@azure/identity";
|
|
2
2
|
import { KeyOfType } from "./typeUtilts";
|
|
3
3
|
import { ClientDetails } from "./clientDetails";
|
|
4
4
|
interface MappingType {
|
|
@@ -33,6 +33,8 @@ export declare abstract class KustoConnectionStringBuilderBase {
|
|
|
33
33
|
useAzLoginAuth?: boolean;
|
|
34
34
|
useManagedIdentityAuth?: boolean;
|
|
35
35
|
interactiveCredentialOptions?: InteractiveBrowserCredentialNodeOptions | InteractiveBrowserCredentialInBrowserOptions;
|
|
36
|
+
tokenCredential?: TokenCredential;
|
|
37
|
+
applicationCertificatePath?: string;
|
|
36
38
|
applicationNameForTracing: string | null;
|
|
37
39
|
userNameForTracing: string | null;
|
|
38
40
|
constructor(connectionString: string);
|
package/types/src/index.d.ts
CHANGED
|
@@ -3,8 +3,10 @@ import ClientRequestProperties from "./clientRequestProperties";
|
|
|
3
3
|
import KustoConnectionStringBuilder from "./connectionBuilder";
|
|
4
4
|
import * as KustoDataErrors from "./errors";
|
|
5
5
|
import { toMilliseconds } from "./timeUtils";
|
|
6
|
+
import CloudSettings from "./cloudSettings";
|
|
7
|
+
import { kustoTrustedEndpoints, MatchRule } from "./kustoTrustedEndpoints";
|
|
6
8
|
declare const TimeUtils: {
|
|
7
9
|
toMilliseconds: typeof toMilliseconds;
|
|
8
10
|
};
|
|
9
|
-
export { KustoClient as Client, ClientRequestProperties, KustoConnectionStringBuilder, KustoDataErrors, TimeUtils };
|
|
11
|
+
export { KustoClient as Client, ClientRequestProperties, KustoConnectionStringBuilder, KustoDataErrors, TimeUtils, CloudSettings, kustoTrustedEndpoints, MatchRule, };
|
|
10
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -59,6 +59,14 @@ export declare abstract class AzureIdentityProvider extends CloudSettingsTokenPr
|
|
|
59
59
|
context(): Record<string, any>;
|
|
60
60
|
abstract getCredential(): TokenCredential;
|
|
61
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* TokenCredentialProvider receives any TokenCredential to create a token with.
|
|
64
|
+
*/
|
|
65
|
+
export declare class TokenCredentialProvider extends AzureIdentityProvider {
|
|
66
|
+
private tokenCredential;
|
|
67
|
+
constructor(kustoUri: string, tokenCredential: TokenCredential, timeoutMs?: number);
|
|
68
|
+
getCredential(): TokenCredential;
|
|
69
|
+
}
|
|
62
70
|
/**
|
|
63
71
|
* UserPromptProvider will pop up a login prompt to acquire a token.
|
|
64
72
|
*/
|
|
@@ -94,7 +102,7 @@ export declare class UserPassTokenProvider extends AzureIdentityProvider {
|
|
|
94
102
|
userName: string;
|
|
95
103
|
password: string;
|
|
96
104
|
homeAccountId?: string;
|
|
97
|
-
constructor(kustoUri: string, userName: string, password: string, authorityId: string);
|
|
105
|
+
constructor(kustoUri: string, userName: string, password: string, authorityId: string, timeoutMs?: number);
|
|
98
106
|
getCredential(): TokenCredential;
|
|
99
107
|
context(): Record<string, any>;
|
|
100
108
|
}
|
|
@@ -103,7 +111,7 @@ export declare class UserPassTokenProvider extends AzureIdentityProvider {
|
|
|
103
111
|
*/
|
|
104
112
|
export declare class DeviceLoginTokenProvider extends AzureIdentityProvider {
|
|
105
113
|
private deviceCodeCallback?;
|
|
106
|
-
constructor(kustoUri: string, deviceCodeCallback?: ((response: DeviceCodeInfo) => void) | undefined, authorityId?: string);
|
|
114
|
+
constructor(kustoUri: string, deviceCodeCallback?: ((response: DeviceCodeInfo) => void) | undefined, authorityId?: string, timeoutMs?: number);
|
|
107
115
|
getCredential(): TokenCredential;
|
|
108
116
|
}
|
|
109
117
|
/**
|
|
@@ -112,9 +120,10 @@ export declare class DeviceLoginTokenProvider extends AzureIdentityProvider {
|
|
|
112
120
|
*/
|
|
113
121
|
export declare class ApplicationCertificateTokenProvider extends AzureIdentityProvider {
|
|
114
122
|
private appClientId;
|
|
115
|
-
private certPrivateKey
|
|
123
|
+
private certPrivateKey?;
|
|
124
|
+
private certPath?;
|
|
116
125
|
private sendX5c?;
|
|
117
|
-
constructor(kustoUri: string, appClientId: string, certPrivateKey
|
|
126
|
+
constructor(kustoUri: string, appClientId: string, certPrivateKey?: string | undefined, certPath?: string | undefined, sendX5c?: boolean | undefined, authorityId?: string, timeoutMs?: number);
|
|
118
127
|
getCredential(): TokenCredential;
|
|
119
128
|
context(): Record<string, any>;
|
|
120
129
|
}
|
|
@@ -124,7 +133,7 @@ export declare class ApplicationCertificateTokenProvider extends AzureIdentityPr
|
|
|
124
133
|
export declare class ApplicationKeyTokenProvider extends AzureIdentityProvider {
|
|
125
134
|
private appClientId;
|
|
126
135
|
private appKey;
|
|
127
|
-
constructor(kustoUri: string, appClientId: string, appKey: string, authorityId: string);
|
|
136
|
+
constructor(kustoUri: string, appClientId: string, appKey: string, authorityId: string, timeoutMs?: number);
|
|
128
137
|
getCredential(): TokenCredential;
|
|
129
138
|
context(): Record<string, any>;
|
|
130
139
|
}
|
package/types/src/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "5.0.
|
|
1
|
+
export declare const SDK_VERSION = "5.0.3";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/@types/uuid/index.d.ts","../../../node_modules/@azure/abort-controller/shims-public.d.ts","../../../node_modules/@azure/abort-controller/types/src/AbortSignal.d.ts","../../../node_modules/@azure/abort-controller/types/src/AbortController.d.ts","../../../node_modules/@azure/abort-controller/types/src/index.d.ts","../../../node_modules/@azure/core-auth/types/latest/core-auth.d.ts","../../../node_modules/@azure/logger/types/logger.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@azure/core-tracing/types/core-tracing.d.ts","../../../node_modules/@azure/core-rest-pipeline/types/latest/core-rest-pipeline.d.ts","../../../node_modules/@azure/core-rest-pipeline/core-rest-pipeline.shims.d.ts","../../../node_modules/@azure/core-client/types/latest/core-client.d.ts","../../../node_modules/@azure/identity/types/identity.d.ts","../src/typeUtilts.ts","../../../node_modules/@azure/core-util/types/latest/core-util.d.ts","../src/version.ts","../src/clientDetails.ts","../src/connectionBuilderBase.ts","../src/connectionBuilder.ts","../../../node_modules/axios/index.d.ts","../src/cloudSettings.ts","../src/tokenProvider.ts","../src/errors.ts","../src/security.ts","../src/timeUtils.ts","../src/models.ts","../src/response.ts","../src/clientRequestProperties.ts","../src/utils.ts","../src/wellKnownKustoEndpoints.json","../src/kustoTrustedEndpoints.ts","../src/client.ts","../src/connectionBuilder.browser.ts","../src/index.ts","../test/data/response/v2.json","../test/data/response/v2error.json","../test/data/response/v1.json","../test/data/response/v1_2.json","../test/clientTest.ts","../test/connectionBuilderTest.ts","../test/headersTest.ts","../test/kustoTrustedEndpointsTest.ts","../test/data/response/v2.ts","../test/modelsTest.ts","../test/responseTest.ts","../test/data/testUtils.ts","../test/securityTest.ts","../test/tokenProviderTest.ts","../../../node_modules/@types/connect/index.d.ts","../../../node_modules/@types/body-parser/index.d.ts","../../../node_modules/@types/bonjour/index.d.ts","../../../node_modules/@types/range-parser/index.d.ts","../../../node_modules/@types/qs/index.d.ts","../../../node_modules/@types/express-serve-static-core/index.d.ts","../../../node_modules/@types/connect-history-api-fallback/index.d.ts","../../../node_modules/@types/eslint/helpers.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/eslint/index.d.ts","../../../node_modules/@types/eslint-scope/index.d.ts","../../../node_modules/@types/mime/Mime.d.ts","../../../node_modules/@types/mime/index.d.ts","../../../node_modules/@types/serve-static/index.d.ts","../../../node_modules/@types/express/index.d.ts","../../../node_modules/@types/http-proxy/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts","../../../node_modules/@types/node-fetch/externals.d.ts","../../../node_modules/@types/node-fetch/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/pako/index.d.ts","../../../node_modules/@types/retry/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/serve-index/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/@types/sockjs/index.d.ts","../../../node_modules/@types/stream-array/index.d.ts","../../../node_modules/@types/stream-to-array/index.d.ts","../../../node_modules/@types/tmp/index.d.ts","../../../node_modules/@types/tunnel/index.d.ts","../../../node_modules/@types/uuid-validate/index.d.ts","../../../node_modules/@types/ws/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"fab58e600970e66547644a44bc9918e3223aa2cbd9e8763cec004b2cfb48827e",{"version":"d21099f23d447a1f8e63b3dc47b83ac67561d93798b4457d8531d509bb0f2c00","affectsGlobalScope":true},"88c707774240f65efb716905c6b7a8896e42fa40c67c017fc2618e95f5f808d8","12056f7e1b2a280094beb21f07bd37a4f72b25c0ecbaa248e1ff59a81e6e4d48","7323fcebcda9163216615a63c784946a24926380a55f013d8706541dcc1317a0","db95c3b119e3dad07300b5016aae9746b97e062948bbbd798f5b09434660f614","1ff81fdd29468ce57e615201511e082f805ebca9348649b3a050fe8a5fde1067","4911d4c3a7f7c11bad0e2cec329a19a385d10ea83b0b69c76e032359e388f624","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"4f6463a60e5754bbc4a864b2aaf8fecb7706b96a21b88f27b534589b801978b6","affectsGlobalScope":true},"56d13f223ab40f71840795f5bef2552a397a70666ee60878222407f3893fb8d0",{"version":"4ffef5c4698e94e49dcf150e3270bad2b24a2aeab48b24acbe7c1366edff377d","affectsGlobalScope":true},"2534e46a52653b55dfb5a41ce427ec430c4afbaaf3bfcb1ae09b185c5d6bf169","afc6e96061af46bcff47246158caee7e056f5288783f2d83d6858cd25be1c565",{"version":"34f5bcac12b36d70304b73de5f5aab3bb91bd9919f984be80579ebcad03a624e","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","3f2478baf49cf27aa1335ba5299e2394131284e9d50a3845e3f95e52664ff518","f50c975ab7b50e25a69e3d8a3773894125b44e9698924105f23b812bf7488baf","8bd106053ee0345dde7f626ed1f6100a89fb85f13ea65352627cf78c5f30c553","76650408392bf49a8fbf3e2b6b302712a92d76af77b06e2da1cc8077359c4409","0af3121e68297b2247dd331c0d24dba599e50736a7517a5622d5591aae4a3122","06ccebc2c2db57d6bdbca63b71c4ae5e6ddc42d972fd8f122d4c1a28aa111b25",{"version":"81e8508d1e82278f5d3fee936f267e00c308af36219bfcee2631f9513c9c4017","affectsGlobalScope":true},"413a4be7f94f631235bbc83dad36c4d15e5a2ff02bca1efdbd03636d6454631b","20c468256fd68d3ef1fa53526e76d51d6aa91711e84d72c0343589b99238287e","4198acced75d48a039c078734c4efca7788ff8c78609c270a2b63ec20e3e1676","8d4c16a26d59e3ce49741a7d4a6e8206b884e226cf308667c7778a0b2c0fee7f","288dd0c774a5c6e3964084c7a2bc8cc6b746d70f44a9892d028d04f915cf7ebc","d61c7c41eb1960b1285e242fd102c162b65c0522985b839fadda59874308a170",{"version":"e630e5528e899219ae319e83bef54bf3bcb91b01d76861ecf881e8e614b167f0","affectsGlobalScope":true},"1805e0e4d1ed00f6361db25dff6887c7fa9b5b39f32599a34e8551da7daaa9c2","abc1c425b2ad6720433f40f1877abfa4223f0f3dd486c9c28c492179ca183cb6","fb0989383c6109f20281b3d31265293daefdd76d0d30551782c1654e93704f48","a4210a84a82b3e7a8cec5b2f3616e46d523f4f10cc1576d8f2fb89d0987b341e",{"version":"8207e7e6db9aa5fc7e61c8f17ba74cf9c115d26f51f91ee93f790815a7ea9dfb","affectsGlobalScope":true},"9f1069b9e2c051737b1f9b4f1baf50e4a63385a6a89c32235549ae87fc3d5492","22d48bfb37261136423ac687f1fa7bd4dda3083f767416d409a8260cf92bc8fc","29c2706fa0cc49a2bd90c83234da33d08bb9554ecec675e91c1f85087f5a5324","0acbf26bf958f9e80c1ffa587b74749d2697b75b484062d36e103c137c562bc3","95518ff86843e226b62a800f679f6968ad8dac8ccbe30fbfe63de3afb13761a2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","698ab660b477b9c2cd5ccbd99e7e7df8b4a6134c1f5711fa615ed7aab51cb7f7","33eee034727baf564056b4ea719075c23d3b4767d0b5f9c6933b81f3d77774d2","c33a6ea7147af60d8e98f1ac127047f4b0d4e2ce28b8f08ff3de07ca7cc00637","a4471d2bdba495b2a6a30b8765d5e0282fa7009d88345a9528f73c37869d3b93",{"version":"aee7013623e7632fba449d4df1da92925b27d9b816cb05546044dbfe54c88ef4","affectsGlobalScope":true},"e10177274a35a9d07c825615340b2fcde2f610f53f3fb40269fd196b4288dda6","c9d70d3d7191a66a81cb554557f8ed1cf736ea8397c44a864fe52689de18865a","998a3de5237518c0b3ac00a11b3b4417affb008aa20aedee52f3fdae3cb86151","ad41008ffe077206e1811fc873f4d9005b5fd7f6ab52bb6118fef600815a5cb4",{"version":"1aad825534c73852a1f3275e527d729a2c0640f539198fdfdfeb83b839851910","affectsGlobalScope":true},"badae0df9a8016ac36994b0a0e7b82ba6aaa3528e175a8c3cb161e4683eec03e","c3db860bcaaaeb3bbc23f353bbda1f8ab82756c8d5e973bebb3953cb09ea68f2","235a53595bd20b0b0eeb1a29cb2887c67c48375e92f03749b2488fbd46d0b1a0","bc09393cd4cd13f69cf1366d4236fbae5359bb550f0de4e15767e9a91d63dfb1","9c266243b01545e11d2733a55ad02b4c00ecdbda99c561cd1674f96e89cdc958","c71155c05fc76ff948a4759abc1cb9feec036509f500174bc18dad4c7827a60c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"88003d9ab15507806f41b120be6d407c1afe566c2f6689ebe3a034dd5ec0c8dc","6166760e2d091e0fd3a81d76f4e00a0a7e75ec3eb2113efc53dbb3f29b1e5f17","afabb1c084992dcaed69d7ee972576dd046c765f7eef942d5daac1267620456d",{"version":"a294f8c5d1bcbdff29870aff277603b36c320616a7745f112e195f7851cdb53d","affectsGlobalScope":true},"5715f77219133371ebea86fbb27f4ab0c1f7917cbdfb658479419a96d83ba240","a588761a6d00f28d614b86fa6ab588dda291b6318c5dfc44d3febbe7ea53db13",{"version":"4d9586c77b05b0ec2714878468b1ddcaca99827b5ebfc1241b34e933858e2b4c","signature":"17add83748a4a76ba09a753208f3b2913c9f75d3864bbca4db72d13d3cd0ee9a"},"507520a64059664028b5a52706f65551982f5a28bdce8b8c48b3aba9ac2c5834",{"version":"e6642456b8f38b2a80234d45c311dd73685506c730a600b828644ee2c8f3d0ff","signature":"6aba4196d515824d6e3f5dd563927a3bdec977fe056f027fc7a7031c28d0bb6a"},{"version":"8885e72895f58a8ac88d10e6c539cddbb57db4c5722bdb30c797995140bd9385","signature":"8fa8f9f2562799d9cb56e0155435055f01cf65abf140a2130b0935e72c9aae59"},{"version":"8b07229b0fba274df07c7cad18948fdb63a3940aeb085040cfc0d0961348cd4f","signature":"39b99c87df062db16d21c1a3d89f9628c2cd68a4d7bacae1f4313047225504da"},{"version":"9ca23e59a6706cd28bfaec9ea7bbd9671507bff78c67f5faba517d7174a03667","signature":"e9992bc0218f23fa4fb8def0d7593e82d865f7dc465cd1cfdc6e306728ebb560"},"d88dc05fd345b7a4e1816bbfd2dd087eefa9b9e36096818c2348f5b246971125",{"version":"27dbe790ab90b407b8eff9c91df3cbbd317609cf8481f99e027176a9527992a9","signature":"fdc0f19965781e7bf4d47370f4067c2eb3771f4f5cbb42201be4f2cf06ed82e0"},{"version":"2a454b64bd3b823f91de2985483b485fce6822cdd126947fbb3339b159aec684","signature":"18c61f04e07e283442f8df134287e4516c65ba1d1f1c1f79c496174e9ddee41b"},{"version":"c0e521e4c20a32d08b24e4e2656aa8a047d983811049209cad94487d5153ea72","signature":"938648f6eff1b35db37e34e10007eb16a857397c9ed9d6fb9f50e73ab473bc27"},{"version":"9ea80a3469e907fe25d559be378f22716c116528d1d5f415b3262a53c69693ba","signature":"49516bfc417e6424daafe44570defdb15b32741ad25d94e3353371ec1d2979b5"},{"version":"5668a8c19dbeb31d72f938cc6b1f68a0fa8be960a2e9db7e81834a96e33193e3","signature":"dc12348a145bb53b0f37d58fa3741e565fd64b5f2285721f273064bcda04f46d"},{"version":"db9045c8adde90742dfdbc199afcedcc8488a6d97fd2bd0c71b5a04f92332081","signature":"64db78b7dd8046e11977f232b69e2dad7251616e18dbab862b5f06e383ffe8c1"},{"version":"e1155280973ee80c8b7555681b7f47569537f741673bf963f9d8bf86397aceb2","signature":"b9e005000d6580f64b05b4c661f66481bce97e2ae2ee666f5469ada5ac53bf9b"},{"version":"ff237f276827b48d151f7f27767418e5482414e1261a0d5b0a4c488856dafaf3","signature":"d42347327829ba9b0dd24788831b9502171e7e76eda1a2d8a3c9fbd52603f648"},{"version":"b78ac6fa9348bd8c49121ace0af5b643f55d925c6d21baca9d68533d6cb85850","signature":"045aefac7649e90cc91d9a94d29d94b453b001e576e826984609303a2415bbf2"},"56be62f88bbfb1ec3814da9dec483c48e47632f5175ec52634283b3ad6fde78d",{"version":"fc8e97769ab88d539a619b7b19590a435dfa13b3c895f05a4ed45e8fe7253726","signature":"4b06e56199eade9f0a3264e80c0689d458373b14b6d8fb5f19f06b9817379f24"},{"version":"3a70f13df2c4184e8ae08f2e5f5b722a0c283ba9a4d18bf17bcbc29135c599e1","signature":"16229811f80fc94ac328f39a68d7a23fcfaa37592cf831652057e7b9a91cf43d"},{"version":"6824d13f107038861bec3d3a86b66d92f388d2ced71f83691e59a0b46a744684","signature":"aae4d4900318296a6cbbf5e7f264b197c71500b8927e18e05a858283f4a29f79"},{"version":"181698d93a5c998495c6d8bc24760a99e51d09949ea0d27626b111ff56993f4c","signature":"3a28b489cb7389b159d61c6b1acee4f8bb60311e3d3968a1c6cf16b0ded89214"},"5ca3cc1e482e2b67ae99303e872ed02a862d4f306a2f8738202408a00c773c58","bc4f10e1ad0801e8513588f4c11a1785c828fbec1c0a39568989059610da5460","ef59b031ca8d633730c4d2ebe5c1c26d6c8482706513c08a827269ac2d7c6809","cd7bd13a641468f72dafa107c9fae772969fdaf681180abd5fe724fad81375da",{"version":"6531f0a04872c769049ad304dcf32b8914ac9c23f432db789d9ff1faf5f18102","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"14d45a2dffaa6a4c0a833e17b7d1b337e3876ddd6eb769b43d1b1d5db708f7be","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"088c5f3b83ac1c2bbad14264313213126e93cf5147a81593b17fb118cf569b68","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"eb8b635f622ab3450eae0195435696b8ec37bb2f4f03f82c26a15c6e9b122133","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4693dfae0c33d14f317ab5da9df729e478fa42199eebd8c449e373971cb1c716","signature":"048ccd39da7c4cb509f9b81edd27cd1b0c6a59b83f21c83dda6915c9c5c31810"},{"version":"ac319547611e7ac82a109bf919e8dd76a3cf8134190be0adef18b315742f1780","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cb7ae4de3cc75a96efaf2298413a36a5f0e96c9cb18e6a08ba826ff5dcd45efb","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d7ce0afc6959f7e09a5ff733d21eb400f466adb49c0b3026f6b5dc97a83ad44f","signature":"eccbbaf50db5d89003b429246da9b9f186fdeb48a013c7b591fd3f63f2a22db4"},{"version":"74260f7bb4e385ac2695204f34d31211c4460cfbbe78ba55a9883d376ae41818","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0e96a366b2ebeed81664bfb427af3ef93f6d5f6a80974b9a25aafae2d2622f4c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","afc559c1b93df37c25aef6b3dfa2d64325b0e112e887ee18bf7e6f4ec383fc90","d78e5898c8de5e0f934eee83f680262de005caa268d137101b833fd932f95e07","16d51f964ec125ad2024cf03f0af444b3bc3ec3614d9345cc54d09bab45c9a4c","ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc",{"version":"c5dd1fef4cd4aaffc78786047bed5ae6fc1200d19a1946cbc4e2d3ed4d62c8fa","affectsGlobalScope":true},"56cbe80e6c42d7e6e66b6f048add8b01c663797b843a074d9f19c4a3d63a269a",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"a1c79f857f5c7754e14c93949dad8cfefcd7df2ecc0dc9dd79a30fd493e28449","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","4e75a89a181f3b091173e4c0828dec3fb1c24087d3bb4f37b4a31e0619e8336f","e050a0afcdbb269720a900c85076d18e0c1ab73e580202a2bf6964978181222a","5b9ecf7da4d71cf3832dbb8336150fa924631811f488ad4690c2dfec2b4fb1d7","951c85f75aac041dddbedfedf565886a7b494e29ec1532e2a9b4a6180560b50e","f47887b61c6cf2f48746980390d6cb5b8013518951d912cfb37fe748071942be","43cdd474c5aa3340da4816bb8f1ae7f3b1bcf9e70d997afc36a0f2c432378c84","c1d5cc0286eef54f6246a972ec1720efbba6b7b0a53a303e1f2067ca229ecd16","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"3f6d6465811321abc30a1e5f667feed63e5b3917b3d6c8d6645daf96c75f97ba","affectsGlobalScope":true},"736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","3898e3dbe94b6fe529fbe8f0faee1309c1923100516d7a014b301955e52ece77","3663d1b50f356656a314e5df169bb51cb9d5fd75905fa703f75db6bb32030568","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","ccf18325b9b5a9bcfdbc52f44dbdea9b93fd47c9d411b4a617382c2cd7cec87e","199f9ead0daf25ae4c5632e3d1f42570af59685294a38123eef457407e13f365","2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","6aee496bf0ecfbf6731aa8cca32f4b6e92cdc0a444911a7d88410408a45ecc5d","acebfe99678cf7cddcddc3435222cf132052b1226e902daac9fbb495c321a9b5","f83b320cceccfc48457a818d18fc9a006ab18d0bdd727aa2c2e73dc1b4a45e98","354abbae08f72ea982b1a767a8908f1b3efe8bbe53955c64f9c0c249c8832d5d","82b1f9a6eefef7386aebe22ac49f23b806421e82dbf35c6e5b7132d79e4165da","05c43ebe9301cb4288069255323aab749253a37b2616ef3fd0d732bd3ba0345a","9f18d174aa4cd0688a9651ab4915a2fc36003d6b00d949b704bf289429f6f269","6061aa83817c30d3a590f037b3cba22cdd809fbe697926d6511b45147928a342","882057f051daf834e4d01701066e1bac2d243b0c3eda702b25874402c1e0172d","f5b3e0557ad67f756a329f9a0e9d0e46bde1f46a5a0f16dfa1d9d26bdcb6019d","77c5c7f8578d139c74102a29384f5f4f0792a12d819ddcdcaf8307185ff2d45d"],"options":{"declaration":true,"declarationDir":"../types","declarationMap":true,"esModuleInterop":true,"inlineSources":true,"module":1,"noUnusedParameters":true,"outDir":"./","sourceMap":true,"strict":true,"target":4},"fileIdsList":[[94],[45,94],[44,94],[45,46,94],[47,94],[47,48,94,102,104],[94,103],[47,48,49,94,101,102],[48,49,94,104,105],[68,94,101,142],[60,94,101],[93,94,101,147],[68,94,101],[94,150,152],[94,149,150,151],[65,68,94,101,145,146],[94,143,146,147,156],[65,68,70,73,82,93,94,101],[94,155],[94,154],[68,93,94,101,162,163],[68,82,94,101],[50,94],[53,94],[54,59,85,94],[55,65,66,73,82,93,94],[55,56,65,73,94],[57,94],[58,59,66,74,94],[59,82,90,94],[60,62,65,73,94],[61,94],[62,63,94],[64,65,94],[65,94],[65,66,67,82,93,94],[65,66,67,82,94],[68,73,82,93,94],[65,66,68,69,73,82,90,93,94],[68,70,82,90,93,94],[50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100],[65,71,94],[72,93,94],[62,65,73,82,94],[74,94],[75,94],[53,76,94],[77,92,94,98],[78,94],[79,94],[65,80,94],[80,81,94,96],[54,65,82,83,84,94],[54,82,84,94],[82,83,94],[85,94],[86,94],[65,88,89,94],[88,89,94],[59,73,90,94],[91,94],[73,92,94],[54,68,79,93,94],[59,94],[82,94,95],[94,96],[94,97],[54,59,65,67,76,82,93,94,96,98],[82,94,99],[94,168,207],[94,168,192,207],[94,207],[94,168],[94,168,193,207],[94,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206],[94,193,207],[66,94,157],[68,94,101,155],[94,209],[82,94,101],[94,101],[68,70,94,101],[65,68,70,82,90,93,94,99,101],[43,68,70,94,108,109,110,112,113,114,116,117,118,120,121,124],[74,94,108,109],[94,110],[94,113],[94,106,111],[94,106,107,110],[94,112,116,118,121,125],[94,122,123],[94,118],[94,119],[94,112,115,116],[48,94,106,114],[43,50,82,94,112,114,118,120,121,125,128,129,130,131],[43,50,94,106,112],[50,94,110],[94,124],[50,94,118,119,136],[50,94,120,128],[50,94,106,114,116,117,127,139],[50,94,114,115],[112,113,117,120,121],[110],[106,111],[106,107,110],[112,116,118,121,125],[119],[112,115],[48,106,114]],"referencedMap":[[44,1],[46,2],[45,3],[47,4],[48,5],[105,6],[104,7],[103,8],[102,1],[108,5],[106,9],[49,1],[143,10],[144,11],[148,12],[142,13],[153,14],[149,1],[152,15],[150,1],[147,16],[157,17],[158,18],[151,1],[154,19],[155,20],[159,1],[160,1],[161,1],[163,1],[164,21],[162,22],[50,23],[51,23],[53,24],[54,25],[55,26],[56,27],[57,28],[58,29],[59,30],[60,31],[61,32],[62,33],[63,33],[64,34],[65,35],[66,36],[67,37],[52,1],[100,1],[68,38],[69,39],[70,40],[101,41],[71,42],[72,43],[73,44],[74,45],[75,46],[76,47],[77,48],[78,49],[79,50],[80,51],[81,52],[82,53],[84,54],[83,55],[85,56],[86,57],[87,1],[88,58],[89,59],[90,60],[91,61],[92,62],[93,63],[94,64],[95,65],[96,66],[97,67],[98,68],[99,69],[165,1],[166,1],[146,1],[145,1],[167,1],[192,70],[193,71],[168,72],[171,72],[190,70],[191,70],[181,70],[180,73],[178,70],[173,70],[186,70],[184,70],[188,70],[172,70],[185,70],[189,70],[174,70],[175,70],[187,70],[169,70],[176,70],[177,70],[179,70],[183,70],[194,74],[182,70],[170,70],[207,75],[206,1],[201,74],[203,76],[202,74],[195,74],[196,74],[198,74],[200,74],[204,76],[205,76],[197,76],[199,76],[208,77],[156,78],[210,79],[209,1],[211,13],[212,80],[213,81],[214,1],[215,82],[216,1],[43,1],[217,83],[113,1],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[4,1],[22,1],[19,1],[20,1],[21,1],[23,1],[24,1],[25,1],[5,1],[26,1],[27,1],[28,1],[29,1],[6,1],[33,1],[30,1],[31,1],[32,1],[34,1],[7,1],[35,1],[40,1],[41,1],[36,1],[37,1],[38,1],[39,1],[1,1],[42,1],[125,84],[110,85],[121,86],[114,87],[126,88],[112,88],[111,89],[116,1],[127,90],[124,91],[119,92],[120,93],[117,94],[118,1],[115,95],[107,1],[122,1],[109,1],[123,1],[132,96],[133,97],[130,1],[131,1],[128,1],[136,1],[129,1],[139,1],[134,98],[135,99],[137,100],[138,101],[140,102],[141,103]],"exportedModulesMap":[[44,1],[46,2],[45,3],[47,4],[48,5],[105,6],[104,7],[103,8],[102,1],[108,5],[106,9],[49,1],[143,10],[144,11],[148,12],[142,13],[153,14],[149,1],[152,15],[150,1],[147,16],[157,17],[158,18],[151,1],[154,19],[155,20],[159,1],[160,1],[161,1],[163,1],[164,21],[162,22],[50,23],[51,23],[53,24],[54,25],[55,26],[56,27],[57,28],[58,29],[59,30],[60,31],[61,32],[62,33],[63,33],[64,34],[65,35],[66,36],[67,37],[52,1],[100,1],[68,38],[69,39],[70,40],[101,41],[71,42],[72,43],[73,44],[74,45],[75,46],[76,47],[77,48],[78,49],[79,50],[80,51],[81,52],[82,53],[84,54],[83,55],[85,56],[86,57],[87,1],[88,58],[89,59],[90,60],[91,61],[92,62],[93,63],[94,64],[95,65],[96,66],[97,67],[98,68],[99,69],[165,1],[166,1],[146,1],[145,1],[167,1],[192,70],[193,71],[168,72],[171,72],[190,70],[191,70],[181,70],[180,73],[178,70],[173,70],[186,70],[184,70],[188,70],[172,70],[185,70],[189,70],[174,70],[175,70],[187,70],[169,70],[176,70],[177,70],[179,70],[183,70],[194,74],[182,70],[170,70],[207,75],[206,1],[201,74],[203,76],[202,74],[195,74],[196,74],[198,74],[200,74],[204,76],[205,76],[197,76],[199,76],[208,77],[156,78],[210,79],[209,1],[211,13],[212,80],[213,81],[214,1],[215,82],[216,1],[43,1],[217,83],[113,1],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[4,1],[22,1],[19,1],[20,1],[21,1],[23,1],[24,1],[25,1],[5,1],[26,1],[27,1],[28,1],[29,1],[6,1],[33,1],[30,1],[31,1],[32,1],[34,1],[7,1],[35,1],[40,1],[41,1],[36,1],[37,1],[38,1],[39,1],[1,1],[42,1],[125,104],[121,105],[126,106],[112,106],[111,107],[127,108],[120,109],[117,110],[115,111],[123,1],[130,1],[131,1],[128,1],[129,1]],"semanticDiagnosticsPerFile":[44,46,45,47,48,105,104,103,102,108,106,49,143,144,148,142,153,149,152,150,147,157,158,151,154,155,159,160,161,163,164,162,50,51,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,52,100,68,69,70,101,71,72,73,74,75,76,77,78,79,80,81,82,84,83,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,165,166,146,145,167,192,193,168,171,190,191,181,180,178,173,186,184,188,172,185,189,174,175,187,169,176,177,179,183,194,182,170,207,206,201,203,202,195,196,198,200,204,205,197,199,208,156,210,209,211,212,213,214,215,216,43,217,113,8,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,33,30,31,32,34,7,35,40,41,36,37,38,39,1,42,125,110,121,114,126,112,111,116,127,124,119,120,117,118,115,107,122,109,123,132,133,130,131,128,136,129,139,134,135,137,138,140,141]},"version":"4.9.5"}
|