@appconda/sdk 1.0.552 → 1.0.555

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.d.ts CHANGED
@@ -32,6 +32,7 @@ declare class Client {
32
32
  forwardeduseragent: string;
33
33
  };
34
34
  headers: Headers;
35
+ private fetchImpl?;
35
36
  /**
36
37
  * Set Endpoint
37
38
  *
@@ -59,6 +60,13 @@ declare class Client {
59
60
  * @returns {this}
60
61
  */
61
62
  addHeader(header: string, value: string): this;
63
+ /**
64
+ * Set custom fetch implementation.
65
+ *
66
+ * Useful for Node.js versions without a global fetch.
67
+ */
68
+ setFetch(fetchImpl: typeof fetch): this;
69
+ private getFetch;
62
70
  /**
63
71
  * Set Project
64
72
  *
package/dist/client.js CHANGED
@@ -8,6 +8,44 @@ class AppcondaException extends Error {
8
8
  this.response = response;
9
9
  }
10
10
  }
11
+ function hasGlobalFileConstructor() {
12
+ return typeof globalThis !== 'undefined' && typeof globalThis.File !== 'undefined';
13
+ }
14
+ function isFileLike(value) {
15
+ if (!value || typeof value !== 'object') {
16
+ return false;
17
+ }
18
+ if (hasGlobalFileConstructor() && value instanceof globalThis.File) {
19
+ return true;
20
+ }
21
+ return typeof value.size === 'number' && typeof value.slice === 'function';
22
+ }
23
+ function getFileName(file, fallbackName = 'upload.bin') {
24
+ if (typeof file.name === 'string' && file.name.length > 0) {
25
+ return file.name;
26
+ }
27
+ return fallbackName;
28
+ }
29
+ function createChunkFile(chunk, filename) {
30
+ if (hasGlobalFileConstructor()) {
31
+ return new globalThis.File([chunk], filename, {
32
+ type: chunk.type || 'application/octet-stream',
33
+ });
34
+ }
35
+ const blob = new Blob([chunk], {
36
+ type: chunk.type || 'application/octet-stream',
37
+ });
38
+ try {
39
+ Object.defineProperty(blob, 'name', {
40
+ value: filename,
41
+ configurable: true,
42
+ });
43
+ }
44
+ catch {
45
+ // Fallback for runtimes where Blob is not extensible.
46
+ }
47
+ return blob;
48
+ }
11
49
  function getUserAgent() {
12
50
  let ua = 'AppcondaNodeJSSDK/14.1.0';
13
51
  // `process` is a global in Node.js, but not fully available in all runtimes.
@@ -101,6 +139,22 @@ class Client {
101
139
  this.headers[header.toLowerCase()] = value;
102
140
  return this;
103
141
  }
142
+ /**
143
+ * Set custom fetch implementation.
144
+ *
145
+ * Useful for Node.js versions without a global fetch.
146
+ */
147
+ setFetch(fetchImpl) {
148
+ this.fetchImpl = fetchImpl;
149
+ return this;
150
+ }
151
+ getFetch() {
152
+ const runtimeFetch = this.fetchImpl ?? (typeof globalThis !== 'undefined' ? globalThis.fetch : undefined);
153
+ if (!runtimeFetch) {
154
+ throw new AppcondaException('Fetch API is not available. Use Node.js 18+ or set a custom fetch with client.setFetch().');
155
+ }
156
+ return runtimeFetch.bind(globalThis);
157
+ }
104
158
  /**
105
159
  * Set Project
106
160
  *
@@ -229,12 +283,17 @@ class Client {
229
283
  case 'multipart/form-data':
230
284
  const formData = new FormData();
231
285
  for (const [key, value] of Object.entries(params)) {
232
- if (value instanceof File) {
233
- formData.append(key, value, value.name);
286
+ if (isFileLike(value)) {
287
+ formData.append(key, value, getFileName(value));
234
288
  }
235
289
  else if (Array.isArray(value)) {
236
290
  for (const nestedValue of value) {
237
- formData.append(`${key}[]`, nestedValue);
291
+ if (isFileLike(nestedValue)) {
292
+ formData.append(`${key}[]`, nestedValue, getFileName(nestedValue));
293
+ }
294
+ else {
295
+ formData.append(`${key}[]`, nestedValue);
296
+ }
238
297
  }
239
298
  }
240
299
  else {
@@ -249,7 +308,10 @@ class Client {
249
308
  return { uri: url.toString(), options };
250
309
  }
251
310
  async chunkedUpload(method, url, headers = {}, originalPayload = {}, onProgress) {
252
- const file = Object.values(originalPayload).find((value) => value instanceof File);
311
+ const file = Object.values(originalPayload).find((value) => isFileLike(value));
312
+ if (!file) {
313
+ return await this.call(method, url, headers, originalPayload);
314
+ }
253
315
  if (file.size <= Client.CHUNK_SIZE) {
254
316
  return await this.call(method, url, headers, originalPayload);
255
317
  }
@@ -262,7 +324,10 @@ class Client {
262
324
  }
263
325
  headers['content-range'] = `bytes ${start}-${end - 1}/${file.size}`;
264
326
  const chunk = file.slice(start, end);
265
- let payload = { ...originalPayload, file: new File([chunk], file.name) };
327
+ const payload = {
328
+ ...originalPayload,
329
+ file: createChunkFile(chunk, getFileName(file)),
330
+ };
266
331
  response = await this.call(method, url, headers, payload);
267
332
  if (onProgress && typeof onProgress === 'function') {
268
333
  onProgress({
@@ -282,7 +347,8 @@ class Client {
282
347
  }
283
348
  async redirect(method, url, headers = {}, params = {}) {
284
349
  const { uri, options } = this.prepareRequest(method, url, headers, params);
285
- const response = await fetch(uri, {
350
+ const runtimeFetch = this.getFetch();
351
+ const response = await runtimeFetch(uri, {
286
352
  ...options,
287
353
  redirect: 'manual'
288
354
  });
@@ -293,9 +359,10 @@ class Client {
293
359
  }
294
360
  async call(method, url, headers = {}, params = {}, responseType = 'json') {
295
361
  const { uri, options } = this.prepareRequest(method, url, headers, params);
362
+ const runtimeFetch = this.getFetch();
296
363
  let data = null;
297
364
  try {
298
- const response = await fetch(uri, options);
365
+ const response = await runtimeFetch(uri, options);
299
366
  const warnings = response.headers.get('x-appconda-warning');
300
367
  if (warnings) {
301
368
  warnings.split(';').forEach((warning) => console.warn('Warning: ' + warning));
@@ -338,4 +405,4 @@ class Client {
338
405
  Client.CHUNK_SIZE = 1024 * 1024 * 5;
339
406
  export { Client, AppcondaException };
340
407
  export { Query } from './query';
341
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQkEsTUFBTSxpQkFBa0IsU0FBUSxLQUFLO0lBSWpDLFlBQVksT0FBZSxFQUFFLE9BQWUsQ0FBQyxFQUFFLE9BQWUsRUFBRSxFQUFFLFdBQW1CLEVBQUU7UUFDbkYsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxtQkFBbUIsQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDO0NBQ0o7QUFFRCxTQUFTLFlBQVk7SUFDakIsSUFBSSxFQUFFLEdBQUcsMEJBQTBCLENBQUM7SUFFcEMsNkVBQTZFO0lBQzdFLE1BQU0sUUFBUSxHQUFhLEVBQUUsQ0FBQztJQUM5QixJQUFJLE9BQU8sT0FBTyxLQUFLLFdBQVcsRUFBRSxDQUFDO1FBQ2pDLElBQUksT0FBTyxPQUFPLENBQUMsUUFBUSxLQUFLLFFBQVE7WUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxRSxJQUFJLE9BQU8sT0FBTyxDQUFDLElBQUksS0FBSyxRQUFRO1lBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN0QixFQUFFLElBQUksS0FBSyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDdEMsQ0FBQztJQUVELDhEQUE4RDtJQUM5RCx5RUFBeUU7SUFDekUsb0ZBQW9G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SyxFQUFFLE1BQU0sU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBNb2RlbHMgfSBmcm9tICcuL21vZGVscyc7XG5cbnR5cGUgUGF5bG9hZCA9IHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbnR5cGUgVXBsb2FkUHJvZ3Jlc3MgPSB7XG4gICAgJGlkOiBzdHJpbmc7XG4gICAgcHJvZ3Jlc3M6IG51bWJlcjtcbiAgICBzaXplVXBsb2FkZWQ6IG51bWJlcjtcbiAgICBjaHVua3NUb3RhbDogbnVtYmVyO1xuICAgIGNodW5rc1VwbG9hZGVkOiBudW1iZXI7XG59XG5cbnR5cGUgSGVhZGVycyA9IHtcbiAgICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG59XG5cbmNsYXNzIEFwcGNvbmRhRXhjZXB0aW9uIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvZGU6IG51bWJlcjtcbiAgICByZXNwb25zZTogc3RyaW5nO1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIGNvZGU6IG51bWJlciA9IDAsIHR5cGU6IHN0cmluZyA9ICcnLCByZXNwb25zZTogc3RyaW5nID0gJycpIHtcbiAgICAgICAgc3VwZXIobWVzc2FnZSk7XG4gICAgICAgIHRoaXMubmFtZSA9ICdBcHBjb25kYUV4Y2VwdGlvbic7XG4gICAgICAgIHRoaXMubWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgICAgIHRoaXMuY29kZSA9IGNvZGU7XG4gICAgICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgICAgIHRoaXMucmVzcG9uc2UgPSByZXNwb25zZTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGdldFVzZXJBZ2VudCgpIHtcbiAgICBsZXQgdWEgPSAnQXBwY29uZGFOb2RlSlNTREsvMTQuMS4wJztcblxuICAgIC8vIGBwcm9jZXNzYCBpcyBhIGdsb2JhbCBpbiBOb2RlLmpzLCBidXQgbm90IGZ1bGx5IGF2YWlsYWJsZSBpbiBhbGwgcnVudGltZXMuXG4gICAgY29uc3QgcGxhdGZvcm06IHN0cmluZ1tdID0gW107XG4gICAgaWYgKHR5cGVvZiBwcm9jZXNzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICBpZiAodHlwZW9mIHByb2Nlc3MucGxhdGZvcm0gPT09ICdzdHJpbmcnKSBwbGF0Zm9ybS5wdXNoKHByb2Nlc3MucGxhdGZvcm0pO1xuICAgICAgICBpZiAodHlwZW9mIHByb2Nlc3MuYXJjaCA9PT0gJ3N0cmluZycpIHBsYXRmb3JtLnB1c2gocHJvY2Vzcy5hcmNoKTtcbiAgICB9XG4gICAgaWYgKHBsYXRmb3JtLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdWEgKz0gYCAoJHtwbGF0Zm9ybS5qb2luKCc7ICcpfSlgO1xuICAgIH1cblxuICAgIC8vIGBuYXZpZ2F0b3IudXNlckFnZW50YCBpcyBhdmFpbGFibGUgaW4gTm9kZS5qcyAyMSBhbmQgbGF0ZXIuXG4gICAgLy8gSXQncyBhbHNvIHBhcnQgb2YgdGhlIFdpbnRlckNHIHNwZWMsIHNvIG1hbnkgZWRnZSBydW50aW1lcyBwcm92aWRlIGl0LlxuICAgIC8vIGh0dHBzOi8vY29tbW9uLW1pbi1hcGkucHJvcG9zYWwud2ludGVyY2cub3JnLyNyZXF1aXJlbWVudHMtZm9yLW5hdmlnYXRvcnVzZXJhZ2VudFxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBpZiAodHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIG5hdmlnYXRvci51c2VyQWdlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgdWEgKz0gYCAke25hdmlnYXRvci51c2VyQWdlbnR9YDtcblxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZ2xvYmFsVGhpcy5FZGdlUnVudGltZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdWEgKz0gYCBFZGdlUnVudGltZWA7XG5cbiAgICAgICAgLy8gT2xkZXIgTm9kZS5qcyB2ZXJzaW9ucyBkb24ndCBoYXZlIGBuYXZpZ2F0b3IudXNlckFnZW50YCwgc28gd2UgaGF2ZSB0byB1c2UgYHByb2Nlc3MudmVyc2lvbmAuXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgcHJvY2VzcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIHByb2Nlc3MudmVyc2lvbiA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdWEgKz0gYCBOb2RlLmpzLyR7cHJvY2Vzcy52ZXJzaW9ufWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVhO1xufVxuXG5jbGFzcyBDbGllbnQge1xuICAgIHN0YXRpYyBDSFVOS19TSVpFID0gMTAyNCAqIDEwMjQgKiA1O1xuXG4gICAgY29uZmlnID0ge1xuICAgICAgICBlbmRwb2ludDogJ2h0dHBzOi8vY2xvdWQuYXBwY29uZGEuaW8vdjEnLFxuICAgICAgICBzZWxmU2lnbmVkOiBmYWxzZSxcbiAgICAgICAgcHJvamVjdDogJycsXG4gICAgICAgIG1vZGU6ICcnLFxuICAgICAgICBrZXk6ICcnLFxuICAgICAgICBqd3Q6ICcnLFxuICAgICAgICBsb2NhbGU6ICcnLFxuICAgICAgICBzZXNzaW9uOiAnJyxcbiAgICAgICAgZm9yd2FyZGVkdXNlcmFnZW50OiAnJyxcbiAgICB9O1xuICAgIGhlYWRlcnM6IEhlYWRlcnMgPSB7XG4gICAgICAgICd4LXNkay1uYW1lJzogJ05vZGUuanMnLFxuICAgICAgICAneC1zZGstcGxhdGZvcm0nOiAnc2VydmVyJyxcbiAgICAgICAgJ3gtc2RrLWxhbmd1YWdlJzogJ25vZGVqcycsXG4gICAgICAgICd4LXNkay12ZXJzaW9uJzogJzE0LjEuMCcsXG4gICAgICAgICd1c2VyLWFnZW50JzogZ2V0VXNlckFnZW50KCksXG4gICAgICAgICdYLUFwcGNvbmRhLVJlc3BvbnNlLUZvcm1hdCc6ICcxLjYuMCcsXG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIFNldCBFbmRwb2ludFxuICAgICAqXG4gICAgICogWW91ciBwcm9qZWN0IGVuZHBvaW50XG4gICAgICpcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZW5kcG9pbnRcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHt0aGlzfVxuICAgICAqL1xuICAgIHNldEVuZHBvaW50KGVuZHBvaW50OiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5jb25maWcuZW5kcG9pbnQgPSBlbmRwb2ludDtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXQgc2VsZi1zaWduZWRcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gc2VsZlNpZ25lZFxuICAgICAqXG4gICAgICogQHJldHVybnMge3RoaXN9XG4gICAgICovXG4gICAgc2V0U2VsZlNpZ25lZChzZWxmU2lnbmVkOiBib29sZWFuKTogdGhpcyB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgaWYgKHR5cGVvZiBnbG9iYWxUaGlzLkVkZ2VSdW50aW1lICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdzZXRTZWxmU2lnbmVkIGlzIG5vdCBzdXBwb3J0ZWQgaW4gZWRnZSBydW50aW1lcy4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29uZmlnLnNlbGZTaWduZWQgPSBzZWxmU2lnbmVkO1xuXG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCBoZWFkZXJcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBoZWFkZXJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHt0aGlzfVxuICAgICAqL1xuICAgIGFkZEhlYWRlcihoZWFkZXI6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLmhlYWRlcnNbaGVhZGVyLnRvTG93ZXJDYXNlKCldID0gdmFsdWU7XG5cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0IFByb2plY3RcbiAgICAgKlxuICAgICAqIFlvdXIgcHJvamVjdCBJRFxuICAgICAqXG4gICAgICogQHBhcmFtIHZhbHVlIHN0cmluZ1xuICAgICAqXG4gICAgICogQHJldHVybiB7dGhpc31cbiAgICAgKi9cbiAgICBzZXRQcm9qZWN0KHZhbHVlOiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5oZWFkZXJzWydYLUFwcGNvbmRhLVByb2plY3QnXSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNvbmZpZy5wcm9qZWN0ID0gdmFsdWU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgICAgLyoqXG4gICAgICogU2V0IE1vZGVcbiAgICAgKlxuICAgICAqIEBwYXJhbSB2YWx1ZSBzdHJpbmdcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge3RoaXN9XG4gICAgICovXG4gICAgICBzZXRNb2RlKHZhbHVlOiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5oZWFkZXJzWydYLUFwcGNvbmRhLU1vZGUnXSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNvbmZpZy5tb2RlID0gdmFsdWU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCBLZXlcbiAgICAgKlxuICAgICAqIFlvdXIgc2VjcmV0IEFQSSBrZXlcbiAgICAgKlxuICAgICAqIEBwYXJhbSB2YWx1ZSBzdHJpbmdcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge3RoaXN9XG4gICAgICovXG4gICAgc2V0S2V5KHZhbHVlOiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5oZWFkZXJzWydYLUFwcGNvbmRhLUtleSddID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY29uZmlnLmtleSA9IHZhbHVlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgLyoqXG4gICAgICogU2V0IEpXVFxuICAgICAqXG4gICAgICogWW91ciBzZWNyZXQgSlNPTiBXZWIgVG9rZW5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB2YWx1ZSBzdHJpbmdcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge3RoaXN9XG4gICAgICovXG4gICAgc2V0SldUKHZhbHVlOiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5oZWFkZXJzWydYLUFwcGNvbmRhLUpXVCddID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY29uZmlnLmp3dCA9IHZhbHVlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgLyoqXG4gICAgICogU2V0IExvY2FsZVxuICAgICAqXG4gICAgICogQHBhcmFtIHZhbHVlIHN0cmluZ1xuICAgICAqXG4gICAgICogQHJldHVybiB7dGhpc31cbiAgICAgKi9cbiAgICBzZXRMb2NhbGUodmFsdWU6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLmhlYWRlcnNbJ1gtQXBwY29uZGEtTG9jYWxlJ10gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jb25maWcubG9jYWxlID0gdmFsdWU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTZXQgU2Vzc2lvblxuICAgICAqXG4gICAgICogVGhlIHVzZXIgc2Vzc2lvbiB0byBhdXRoZW50aWNhdGUgd2l0aFxuICAgICAqXG4gICAgICogQHBhcmFtIHZhbHVlIHN0cmluZ1xuICAgICAqXG4gICAgICogQHJldHVybiB7dGhpc31cbiAgICAgKi9cbiAgICBzZXRTZXNzaW9uKHZhbHVlOiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5oZWFkZXJzWydYLUFwcGNvbmRhLVNlc3Npb24nXSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNvbmZpZy5zZXNzaW9uID0gdmFsdWU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTZXQgRm9yd2FyZGVkVXNlckFnZW50XG4gICAgICpcbiAgICAgKiBUaGUgdXNlciBhZ2VudCBzdHJpbmcgb2YgdGhlIGNsaWVudCB0aGF0IG1hZGUgdGhlIHJlcXVlc3RcbiAgICAgKlxuICAgICAqIEBwYXJhbSB2YWx1ZSBzdHJpbmdcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge3RoaXN9XG4gICAgICovXG4gICAgc2V0Rm9yd2FyZGVkVXNlckFnZW50KHZhbHVlOiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5oZWFkZXJzWydYLUZvcndhcmRlZC1Vc2VyLUFnZW50J10gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jb25maWcuZm9yd2FyZGVkdXNlcmFnZW50ID0gdmFsdWU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHNldEZhbGxiYWNrQ29va2llcyh2YWx1ZTogc3RyaW5nKTogdGhpcyB7XG4gICAgICAgIHRoaXMuaGVhZGVyc1snWC1GYWxsYmFjay1Db29raWVzJ10gPSB2YWx1ZTtcbiAgICAgICAgLy90aGlzLmNvbmZpZy5mb3J3YXJkZWR1c2VyYWdlbnQgPSB2YWx1ZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHJlcGFyZVJlcXVlc3QobWV0aG9kOiBzdHJpbmcsIHVybDogVVJMLCBoZWFkZXJzOiBIZWFkZXJzID0ge30sIHBhcmFtczogUGF5bG9hZCA9IHt9KTogeyB1cmk6IHN0cmluZywgb3B0aW9uczogUmVxdWVzdEluaXQgfSB7XG4gICAgICAgIG1ldGhvZCA9IG1ldGhvZC50b1VwcGVyQ2FzZSgpO1xuXG4gICAgICAgIGhlYWRlcnMgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmhlYWRlcnMsIGhlYWRlcnMpO1xuXG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB3aW5kb3cubG9jYWxTdG9yYWdlKSB7XG4gICAgICAgICAgICBjb25zdCBjb29raWVGYWxsYmFjayA9IHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnY29va2llRmFsbGJhY2snKTtcbiAgICAgICAgICAgIGlmIChjb29raWVGYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIGhlYWRlcnNbJ1gtRmFsbGJhY2stQ29va2llcyddID0gY29va2llRmFsbGJhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgb3B0aW9uczogUmVxdWVzdEluaXQgPSB7XG4gICAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgICBoZWFkZXJzLFxuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChoZWFkZXJzWydYLUFwcGNvbmRhLURldi1LZXknXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBvcHRpb25zLmNyZWRlbnRpYWxzID0gJ2luY2x1ZGUnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1ldGhvZCA9PT0gJ0dFVCcpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKENsaWVudC5mbGF0dGVuKHBhcmFtcykpKSB7XG4gICAgICAgICAgICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoa2V5LCB2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzd2l0Y2ggKGhlYWRlcnNbJ2NvbnRlbnQtdHlwZSddKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnYXBwbGljYXRpb24vanNvbic6XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnMuYm9keSA9IEpTT04uc3RyaW5naWZ5KHBhcmFtcyk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnbXVsdGlwYXJ0L2Zvcm0tZGF0YSc6XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMocGFyYW1zKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRmlsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZChrZXksIHZhbHVlLCB2YWx1ZS5uYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG5lc3RlZFZhbHVlIG9mIHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZChgJHtrZXl9W11gLCBuZXN0ZWRWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoa2V5LCB2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmJvZHkgPSBmb3JtRGF0YTtcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGhlYWRlcnNbJ2NvbnRlbnQtdHlwZSddO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7IHVyaTogdXJsLnRvU3RyaW5nKCksIG9wdGlvbnMgfTtcbiAgICB9XG5cbiAgICBhc3luYyBjaHVua2VkVXBsb2FkKG1ldGhvZDogc3RyaW5nLCB1cmw6IFVSTCwgaGVhZGVyczogSGVhZGVycyA9IHt9LCBvcmlnaW5hbFBheWxvYWQ6IFBheWxvYWQgPSB7fSwgb25Qcm9ncmVzczogKHByb2dyZXNzOiBVcGxvYWRQcm9ncmVzcykgPT4gdm9pZCkge1xuICAgICAgICBjb25zdCBmaWxlOiBhbnkgPSBPYmplY3QudmFsdWVzKG9yaWdpbmFsUGF5bG9hZCkuZmluZCgodmFsdWUpID0+IHZhbHVlIGluc3RhbmNlb2YgRmlsZSk7XG5cbiAgICAgICAgaWYgKGZpbGUuc2l6ZSA8PSBDbGllbnQuQ0hVTktfU0laRSkge1xuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuY2FsbChtZXRob2QsIHVybCwgaGVhZGVycywgb3JpZ2luYWxQYXlsb2FkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBzdGFydCA9IDA7XG4gICAgICAgIGxldCByZXNwb25zZTogYW55ID0gbnVsbDtcblxuICAgICAgICB3aGlsZSAoc3RhcnQgPCBmaWxlLnNpemUpIHtcbiAgICAgICAgICAgIGxldCBlbmQgPSBzdGFydCArIENsaWVudC5DSFVOS19TSVpFOyAvLyBQcmVwYXJlIGVuZCBmb3IgdGhlIG5leHQgY2h1bmtcbiAgICAgICAgICAgIGlmIChlbmQgPj0gZmlsZS5zaXplKSB7XG4gICAgICAgICAgICAgICAgZW5kID0gZmlsZS5zaXplOyAvLyBBZGp1c3QgZm9yIHRoZSBsYXN0IGNodW5rIHRvIGluY2x1ZGUgdGhlIGxhc3QgYnl0ZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoZWFkZXJzWydjb250ZW50LXJhbmdlJ10gPSBgYnl0ZXMgJHtzdGFydH0tJHtlbmQgLSAxfS8ke2ZpbGUuc2l6ZX1gO1xuICAgICAgICAgICAgY29uc3QgY2h1bmsgPSBmaWxlLnNsaWNlKHN0YXJ0LCBlbmQpO1xuXG4gICAgICAgICAgICBsZXQgcGF5bG9hZCA9IHsgLi4ub3JpZ2luYWxQYXlsb2FkLCBmaWxlOiBuZXcgRmlsZShbY2h1bmtdLCBmaWxlLm5hbWUpIH07XG5cbiAgICAgICAgICAgIHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jYWxsKG1ldGhvZCwgdXJsLCBoZWFkZXJzLCBwYXlsb2FkKTtcblxuICAgICAgICAgICAgaWYgKG9uUHJvZ3Jlc3MgJiYgdHlwZW9mIG9uUHJvZ3Jlc3MgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICBvblByb2dyZXNzKHtcbiAgICAgICAgICAgICAgICAgICAgJGlkOiByZXNwb25zZS4kaWQsXG4gICAgICAgICAgICAgICAgICAgIHByb2dyZXNzOiBNYXRoLnJvdW5kKChlbmQgLyBmaWxlLnNpemUpICogMTAwKSxcbiAgICAgICAgICAgICAgICAgICAgc2l6ZVVwbG9hZGVkOiBlbmQsXG4gICAgICAgICAgICAgICAgICAgIGNodW5rc1RvdGFsOiBNYXRoLmNlaWwoZmlsZS5zaXplIC8gQ2xpZW50LkNIVU5LX1NJWkUpLFxuICAgICAgICAgICAgICAgICAgICBjaHVua3NVcGxvYWRlZDogTWF0aC5jZWlsKGVuZCAvIENsaWVudC5DSFVOS19TSVpFKVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UuJGlkKSB7XG4gICAgICAgICAgICAgICAgaGVhZGVyc1sneC1hcHBjb25kYS1pZCddID0gcmVzcG9uc2UuJGlkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzdGFydCA9IGVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9XG5cbiAgICBhc3luYyByZWRpcmVjdChtZXRob2Q6IHN0cmluZywgdXJsOiBVUkwsIGhlYWRlcnM6IEhlYWRlcnMgPSB7fSwgcGFyYW1zOiBQYXlsb2FkID0ge30pOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICBjb25zdCB7IHVyaSwgb3B0aW9ucyB9ID0gdGhpcy5wcmVwYXJlUmVxdWVzdChtZXRob2QsIHVybCwgaGVhZGVycywgcGFyYW1zKTtcblxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVyaSwge1xuICAgICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICAgIHJlZGlyZWN0OiAnbWFudWFsJ1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzICE9PSAzMDEgJiYgcmVzcG9uc2Uuc3RhdHVzICE9PSAzMDIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBBcHBjb25kYUV4Y2VwdGlvbignSW52YWxpZCByZWRpcmVjdCcsIHJlc3BvbnNlLnN0YXR1cyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzcG9uc2UuaGVhZGVycy5nZXQoJ2xvY2F0aW9uJykgfHwgJyc7XG4gICAgfVxuXG4gICAgYXN5bmMgY2FsbChtZXRob2Q6IHN0cmluZywgdXJsOiBVUkwsIGhlYWRlcnM6IEhlYWRlcnMgPSB7fSwgcGFyYW1zOiBQYXlsb2FkID0ge30sIHJlc3BvbnNlVHlwZSA9ICdqc29uJyk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGNvbnN0IHsgdXJpLCBvcHRpb25zIH0gPSB0aGlzLnByZXBhcmVSZXF1ZXN0KG1ldGhvZCwgdXJsLCBoZWFkZXJzLCBwYXJhbXMpO1xuXG4gICAgICAgIGxldCBkYXRhOiBhbnkgPSBudWxsO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVyaSwgb3B0aW9ucyk7XG5cbiAgICAgICAgICAgIGNvbnN0IHdhcm5pbmdzID0gcmVzcG9uc2UuaGVhZGVycy5nZXQoJ3gtYXBwY29uZGEtd2FybmluZycpO1xuICAgICAgICAgICAgaWYgKHdhcm5pbmdzKSB7XG4gICAgICAgICAgICAgICAgd2FybmluZ3Muc3BsaXQoJzsnKS5mb3JFYWNoKCh3YXJuaW5nOiBzdHJpbmcpID0+IGNvbnNvbGUud2FybignV2FybmluZzogJyArIHdhcm5pbmcpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdjb250ZW50LXR5cGUnKT8uaW5jbHVkZXMoJ2FwcGxpY2F0aW9uL2pzb24nKSkge1xuICAgICAgICAgICAgICAgIGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlVHlwZSA9PT0gJ2FycmF5QnVmZmVyJykge1xuICAgICAgICAgICAgICAgIGRhdGEgPSBhd2FpdCByZXNwb25zZS5hcnJheUJ1ZmZlcigpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBkYXRhID0ge1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBhd2FpdCByZXNwb25zZS50ZXh0KClcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoNDAwIDw9IHJlc3BvbnNlLnN0YXR1cykge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBBcHBjb25kYUV4Y2VwdGlvbihkYXRhPy5tZXNzYWdlLCByZXNwb25zZS5zdGF0dXMsIGRhdGE/LnR5cGUsIGRhdGEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgZmxhdHRlbihkYXRhOiBQYXlsb2FkLCBwcmVmaXggPSAnJyk6IFBheWxvYWQge1xuICAgICAgICBsZXQgb3V0cHV0OiBQYXlsb2FkID0ge307XG5cbiAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZGF0YSkpIHtcbiAgICAgICAgICAgIGxldCBmaW5hbEtleSA9IHByZWZpeCA/IHByZWZpeCArICdbJyArIGtleSArICddJyA6IGtleTtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICAgIG91dHB1dCA9IHsgLi4ub3V0cHV0LCAuLi5DbGllbnQuZmxhdHRlbih2YWx1ZSwgZmluYWxLZXkpIH07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG91dHB1dFtmaW5hbEtleV0gPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBvdXRwdXQ7XG4gICAgfVxufVxuXG5leHBvcnQgeyBDbGllbnQsIEFwcGNvbmRhRXhjZXB0aW9uIH07XG5leHBvcnQgeyBRdWVyeSB9IGZyb20gJy4vcXVlcnknO1xuZXhwb3J0IHR5cGUgeyBNb2RlbHMsIFBheWxvYWQsIFVwbG9hZFByb2dyZXNzIH07XG5leHBvcnQgdHlwZSB7IFF1ZXJ5VHlwZXMsIFF1ZXJ5VHlwZXNMaXN0IH0gZnJvbSAnLi9xdWVyeSc7XG4iXX0=
408
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQkEsTUFBTSxpQkFBa0IsU0FBUSxLQUFLO0lBSWpDLFlBQVksT0FBZSxFQUFFLE9BQWUsQ0FBQyxFQUFFLE9BQWUsRUFBRSxFQUFFLFdBQW1CLEVBQUU7UUFDbkYsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxtQkFBbUIsQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDO0NBQ0o7QUFTRCxTQUFTLHdCQUF3QjtJQUM3QixPQUFPLE9BQU8sVUFBVSxLQUFLLFdBQVcsSUFBSSxPQUFRLFVBQWtCLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQztBQUNoRyxDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsS0FBYztJQUM5QixJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ3RDLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxJQUFJLHdCQUF3QixFQUFFLElBQUksS0FBSyxZQUFhLFVBQWtCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUUsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELE9BQU8sT0FBUSxLQUFrQixDQUFDLElBQUksS0FBSyxRQUFRLElBQUksT0FBUSxLQUFrQixDQUFDLEtBQUssS0FBSyxVQUFVLENBQUM7QUFDM0csQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLElBQWMsRUFBRSxZQUFZLEdBQUcsWUFBWTtJQUM1RCxJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksS0FB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QUFHLElBQUksR0FBRyxDQUFDLEFBQWxCLENBQW1CO0FBaVh4QyxPQUFPLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLENBQUM7QUFDckMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgTW9kZWxzIH0gZnJvbSAnLi9tb2RlbHMnO1xuXG50eXBlIFBheWxvYWQgPSB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG50eXBlIFVwbG9hZFByb2dyZXNzID0ge1xuICAgICRpZDogc3RyaW5nO1xuICAgIHByb2dyZXNzOiBudW1iZXI7XG4gICAgc2l6ZVVwbG9hZGVkOiBudW1iZXI7XG4gICAgY2h1bmtzVG90YWw6IG51bWJlcjtcbiAgICBjaHVua3NVcGxvYWRlZDogbnVtYmVyO1xufVxuXG50eXBlIEhlYWRlcnMgPSB7XG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuXG5jbGFzcyBBcHBjb25kYUV4Y2VwdGlvbiBleHRlbmRzIEVycm9yIHtcbiAgICBjb2RlOiBudW1iZXI7XG4gICAgcmVzcG9uc2U6IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBjb2RlOiBudW1iZXIgPSAwLCB0eXBlOiBzdHJpbmcgPSAnJywgcmVzcG9uc2U6IHN0cmluZyA9ICcnKSB7XG4gICAgICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgICAgICB0aGlzLm5hbWUgPSAnQXBwY29uZGFFeGNlcHRpb24nO1xuICAgICAgICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlO1xuICAgICAgICB0aGlzLmNvZGUgPSBjb2RlO1xuICAgICAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgICAgICB0aGlzLnJlc3BvbnNlID0gcmVzcG9uc2U7XG4gICAgfVxufVxuXG50eXBlIEZpbGVMaWtlID0ge1xuICAgIHNpemU6IG51bWJlcjtcbiAgICBzbGljZTogKHN0YXJ0PzogbnVtYmVyLCBlbmQ/OiBudW1iZXIpID0+IEJsb2I7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICB0eXBlPzogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBoYXNHbG9iYWxGaWxlQ29uc3RydWN0b3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHR5cGVvZiBnbG9iYWxUaGlzICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2YgKGdsb2JhbFRoaXMgYXMgYW55KS5GaWxlICE9PSAndW5kZWZpbmVkJztcbn1cblxuZnVuY3Rpb24gaXNGaWxlTGlrZSh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIEZpbGVMaWtlIHtcbiAgICBpZiAoIXZhbHVlIHx8IHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChoYXNHbG9iYWxGaWxlQ29uc3RydWN0b3IoKSAmJiB2YWx1ZSBpbnN0YW5jZW9mIChnbG9iYWxUaGlzIGFzIGFueSkuRmlsZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHlwZW9mICh2YWx1ZSBhcyBGaWxlTGlrZSkuc2l6ZSA9PT0gJ251bWJlcicgJiYgdHlwZW9mICh2YWx1ZSBhcyBGaWxlTGlrZSkuc2xpY2UgPT09ICdmdW5jdGlvbic7XG59XG5cbmZ1bmN0aW9uIGdldEZpbGVOYW1lKGZpbGU6IEZpbGVMaWtlLCBmYWxsYmFja05hbWUgPSAndXBsb2FkLmJpbicpOiBzdHJpbmcge1xuICAgIGlmICh0eXBlb2YgZmlsZS5uYW1lID09PSAnc3RyaW5nJyAmJiBmaWxlLm5hbWUubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gZmlsZS5uYW1lO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxsYmFja05hbWU7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNodW5rRmlsZShjaHVuazogQmxvYiwgZmlsZW5hbWU6IHN0cmluZyk6IEJsb2IgfCBGaWxlIHtcbiAgICBpZiAoaGFzR2xvYmFsRmlsZUNvbnN0cnVjdG9yKCkpIHtcbiAgICAgICAgcmV0dXJuIG5ldyAoZ2xvYmFsVGhpcyBhcyBhbnkpLkZpbGUoW2NodW5rXSwgZmlsZW5hbWUsIHtcbiAgICAgICAgICAgIHR5cGU6IGNodW5rLnR5cGUgfHwgJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbY2h1bmtdLCB7XG4gICAgICAgIHR5cGU6IGNodW5rLnR5cGUgfHwgJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScsXG4gICAgfSkgYXMgQmxvYiAmIHsgbmFtZT86IHN0cmluZyB9O1xuXG4gICAgdHJ5IHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJsb2IsICduYW1lJywge1xuICAgICAgICAgICAgdmFsdWU6IGZpbGVuYW1lLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICB9IGNhdGNoIHtcbiAgICAgICAgLy8gRmFsbGJhY2sgZm9yIHJ1bnRpbWVzIHdoZXJlIEJsb2IgaXMgbm90IGV4dGVuc2libGUuXG4gICAgfVxuXG4gICAgcmV0dXJuIGJsb2I7XG59XG5cbmZ1bmN0aW9uIGdldFVzZXJBZ2VudCgpIHtcbiAgICBsZXQgdWEgPSAnQXBwY29uZGFOb2RlSlNTREsvMTQuMS4wJztcblxuICAgIC8vIGBwcm9jZXNzYCBpcyBhIGdsb2JhbCBpbiBOb2RlLmpzLCBidXQgbm90IGZ1bGx5IGF2YWlsYWJsZSBpbiBhbGwgcnVudGltZXMuXG4gICAgY29uc3QgcGxhdGZvcm06IHN0cmluZ1tdID0gW107XG4gICAgaWYgKHR5cGVvZiBwcm9jZXNzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICBpZiAodHlwZW9mIHByb2Nlc3MucGxhdGZvcm0gPT09ICdzdHJpbmcnKSBwbGF0Zm9ybS5wdXNoKHByb2Nlc3MucGxhdGZvcm0pO1xuICAgICAgICBpZiAodHlwZW9mIHByb2Nlc3MuYXJjaCA9PT0gJ3N0cmluZycpIHBsYXRmb3JtLnB1c2gocHJvY2Vzcy5hcmNoKTtcbiAgICB9XG4gICAgaWYgKHBsYXRmb3JtLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdWEgKz0gYCAoJHtwbGF0Zm9ybS5qb2luKCc7ICcpfSlgO1xuICAgIH1cblxuICAgIC8vIGBuYXZpZ2F0b3IudXNlckFnZW50YCBpcyBhdmFpbGFibGUgaW4gTm9kZS5qcyAyMSBhbmQgbGF0ZXIuXG4gICAgLy8gSXQncyBhbHNvIHBhcnQgb2YgdGhlIFdpbnRlckNHIHNwZWMsIHNvIG1hbnkgZWRnZSBydW50aW1lcyBwcm92aWRlIGl0LlxuICAgIC8vIGh0dHBzOi8vY29tbW9uLW1pbi1hcGkucHJvcG9zYWwud2ludGVyY2cub3JnLyNyZXF1aXJlbWVudHMtZm9yLW5hdmlnYXRvcnVzZXJhZ2VudFxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBpZiAodHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIG5hdmlnYXRvci51c2VyQWdlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgdWEgKz0gYCAke25hdmlnYXRvci51c2VyQWdlbnR9YDtcblxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZ2xvYmFsVGhpcy5FZGdlUnVudGltZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdWEgKz0gYCBFZGdlUnVudGltZWA7XG5cbiAgICAgICAgLy8gT2xkZXIgTm9kZS5qcyB2ZXJzaW9ucyBkb24ndCBoYXZlIGBuYXZpZ2F0b3IudXNlckFnZW50YCwgc28gd2UgaGF2ZSB0byB1c2UgYHByb2Nlc3MudmVyc2lvbmAuXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgcHJvY2VzcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIHByb2Nlc3MudmVyc2lvbiA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdWEgKz0gYCBOb2RlLmpzLyR7cHJvY2Vzcy52ZXJzaW9ufWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVhO1xufVxuXG5jbGFzcyBDbGllbnQge1xuICAgIHN0YXRpYyBDSFVOS19TSVpFID0gMTAyNCAqIDEwMjQgKiA1O1xuXG4gICAgY29uZmlnID0ge1xuICAgICAgICBlbmRwb2ludDogJ2h0dHBzOi8vY2xvdWQuYXBwY29uZGEuaW8vdjEnLFxuICAgICAgICBzZWxmU2lnbmVkOiBmYWxzZSxcbiAgICAgICAgcHJvamVjdDogJycsXG4gICAgICAgIG1vZGU6ICcnLFxuICAgICAgICBrZXk6ICcnLFxuICAgICAgICBqd3Q6ICcnLFxuICAgICAgICBsb2NhbGU6ICcnLFxuICAgICAgICBzZXNzaW9uOiAnJyxcbiAgICAgICAgZm9yd2FyZGVkdXNlcmFnZW50OiAnJyxcbiAgICB9O1xuICAgIGhlYWRlcnM6IEhlYWRlcnMgPSB7XG4gICAgICAgICd4LXNkay1uYW1lJzogJ05vZGUuanMnLFxuICAgICAgICAneC1zZGstcGxhdGZvcm0nOiAnc2VydmVyJyxcbiAgICAgICAgJ3gtc2RrLWxhbmd1YWdlJzogJ25vZGVqcycsXG4gICAgICAgICd4LXNkay12ZXJzaW9uJzogJzE0LjEuMCcsXG4gICAgICAgICd1c2VyLWFnZW50JzogZ2V0VXNlckFnZW50KCksXG4gICAgICAgICdYLUFwcGNvbmRhLVJlc3BvbnNlLUZvcm1hdCc6ICcxLjYuMCcsXG4gICAgfTtcbiAgICBwcml2YXRlIGZldGNoSW1wbD86IHR5cGVvZiBmZXRjaDtcblxuICAgIC8qKlxuICAgICAqIFNldCBFbmRwb2ludFxuICAgICAqXG4gICAgICogWW91ciBwcm9qZWN0IGVuZHBvaW50XG4gICAgICpcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZW5kcG9pbnRcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHt0aGlzfVxuICAgICAqL1xuICAgIHNldEVuZHBvaW50KGVuZHBvaW50OiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5jb25maWcuZW5kcG9pbnQgPSBlbmRwb2ludDtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXQgc2VsZi1zaWduZWRcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gc2VsZlNpZ25lZFxuICAgICAqXG4gICAgICogQHJldHVybnMge3RoaXN9XG4gICAgICovXG4gICAgc2V0U2VsZlNpZ25lZChzZWxmU2lnbmVkOiBib29sZWFuKTogdGhpcyB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgaWYgKHR5cGVvZiBnbG9iYWxUaGlzLkVkZ2VSdW50aW1lICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdzZXRTZWxmU2lnbmVkIGlzIG5vdCBzdXBwb3J0ZWQgaW4gZWRnZSBydW50aW1lcy4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29uZmlnLnNlbGZTaWduZWQgPSBzZWxmU2lnbmVkO1xuXG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCBoZWFkZXJcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBoZWFkZXJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHt0aGlzfVxuICAgICAqL1xuICAgIGFkZEhlYWRlcihoZWFkZXI6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLmhlYWRlcnNbaGVhZGVyLnRvTG93ZXJDYXNlKCldID0gdmFsdWU7XG5cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0IGN1c3RvbSBmZXRjaCBpbXBsZW1lbnRhdGlvbi5cbiAgICAgKlxuICAgICAqIFVzZWZ1bCBmb3IgTm9kZS5qcyB2ZXJzaW9ucyB3aXRob3V0IGEgZ2xvYmFsIGZldGNoLlxuICAgICAqL1xuICAgIHNldEZldGNoKGZldGNoSW1wbDogdHlwZW9mIGZldGNoKTogdGhpcyB7XG4gICAgICAgIHRoaXMuZmV0Y2hJbXBsID0gZmV0Y2hJbXBsO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZldGNoKCk6IHR5cGVvZiBmZXRjaCB7XG4gICAgICAgIGNvbnN0IHJ1bnRpbWVGZXRjaCA9IHRoaXMuZmV0Y2hJbXBsID8/ICh0eXBlb2YgZ2xvYmFsVGhpcyAhPT0gJ3VuZGVmaW5lZCcgPyBnbG9iYWxUaGlzLmZldGNoIDogdW5kZWZpbmVkKTtcblxuICAgICAgICBpZiAoIXJ1bnRpbWVGZXRjaCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEFwcGNvbmRhRXhjZXB0aW9uKCdGZXRjaCBBUEkgaXMgbm90IGF2YWlsYWJsZS4gVXNlIE5vZGUuanMgMTgrIG9yIHNldCBhIGN1c3RvbSBmZXRjaCB3aXRoIGNsaWVudC5zZXRGZXRjaCgpLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJ1bnRpbWVGZXRjaC5iaW5kKGdsb2JhbFRoaXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCBQcm9qZWN0XG4gICAgICpcbiAgICAgKiBZb3VyIHByb2plY3QgSURcbiAgICAgKlxuICAgICAqIEBwYXJhbSB2YWx1ZSBzdHJpbmdcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge3RoaXN9XG4gICAgICovXG4gICAgc2V0UHJvamVjdCh2YWx1ZTogc3RyaW5nKTogdGhpcyB7XG4gICAgICAgIHRoaXMuaGVhZGVyc1snWC1BcHBjb25kYS1Qcm9qZWN0J10gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jb25maWcucHJvamVjdCA9IHZhbHVlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAgIC8qKlxuICAgICAqIFNldCBNb2RlXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdmFsdWUgc3RyaW5nXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHt0aGlzfVxuICAgICAqL1xuICAgICAgc2V0TW9kZSh2YWx1ZTogc3RyaW5nKTogdGhpcyB7XG4gICAgICAgIHRoaXMuaGVhZGVyc1snWC1BcHBjb25kYS1Nb2RlJ10gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jb25maWcubW9kZSA9IHZhbHVlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXQgS2V5XG4gICAgICpcbiAgICAgKiBZb3VyIHNlY3JldCBBUEkga2V5XG4gICAgICpcbiAgICAgKiBAcGFyYW0gdmFsdWUgc3RyaW5nXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHt0aGlzfVxuICAgICAqL1xuICAgIHNldEtleSh2YWx1ZTogc3RyaW5nKTogdGhpcyB7XG4gICAgICAgIHRoaXMuaGVhZGVyc1snWC1BcHBjb25kYS1LZXknXSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNvbmZpZy5rZXkgPSB2YWx1ZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFNldCBKV1RcbiAgICAgKlxuICAgICAqIFlvdXIgc2VjcmV0IEpTT04gV2ViIFRva2VuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdmFsdWUgc3RyaW5nXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHt0aGlzfVxuICAgICAqL1xuICAgIHNldEpXVCh2YWx1ZTogc3RyaW5nKTogdGhpcyB7XG4gICAgICAgIHRoaXMuaGVhZGVyc1snWC1BcHBjb25kYS1KV1QnXSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNvbmZpZy5qd3QgPSB2YWx1ZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFNldCBMb2NhbGVcbiAgICAgKlxuICAgICAqIEBwYXJhbSB2YWx1ZSBzdHJpbmdcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge3RoaXN9XG4gICAgICovXG4gICAgc2V0TG9jYWxlKHZhbHVlOiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5oZWFkZXJzWydYLUFwcGNvbmRhLUxvY2FsZSddID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY29uZmlnLmxvY2FsZSA9IHZhbHVlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgLyoqXG4gICAgICogU2V0IFNlc3Npb25cbiAgICAgKlxuICAgICAqIFRoZSB1c2VyIHNlc3Npb24gdG8gYXV0aGVudGljYXRlIHdpdGhcbiAgICAgKlxuICAgICAqIEBwYXJhbSB2YWx1ZSBzdHJpbmdcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge3RoaXN9XG4gICAgICovXG4gICAgc2V0U2Vzc2lvbih2YWx1ZTogc3RyaW5nKTogdGhpcyB7XG4gICAgICAgIHRoaXMuaGVhZGVyc1snWC1BcHBjb25kYS1TZXNzaW9uJ10gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jb25maWcuc2Vzc2lvbiA9IHZhbHVlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgLyoqXG4gICAgICogU2V0IEZvcndhcmRlZFVzZXJBZ2VudFxuICAgICAqXG4gICAgICogVGhlIHVzZXIgYWdlbnQgc3RyaW5nIG9mIHRoZSBjbGllbnQgdGhhdCBtYWRlIHRoZSByZXF1ZXN0XG4gICAgICpcbiAgICAgKiBAcGFyYW0gdmFsdWUgc3RyaW5nXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHt0aGlzfVxuICAgICAqL1xuICAgIHNldEZvcndhcmRlZFVzZXJBZ2VudCh2YWx1ZTogc3RyaW5nKTogdGhpcyB7XG4gICAgICAgIHRoaXMuaGVhZGVyc1snWC1Gb3J3YXJkZWQtVXNlci1BZ2VudCddID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY29uZmlnLmZvcndhcmRlZHVzZXJhZ2VudCA9IHZhbHVlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBzZXRGYWxsYmFja0Nvb2tpZXModmFsdWU6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLmhlYWRlcnNbJ1gtRmFsbGJhY2stQ29va2llcyddID0gdmFsdWU7XG4gICAgICAgIC8vdGhpcy5jb25maWcuZm9yd2FyZGVkdXNlcmFnZW50ID0gdmFsdWU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHByZXBhcmVSZXF1ZXN0KG1ldGhvZDogc3RyaW5nLCB1cmw6IFVSTCwgaGVhZGVyczogSGVhZGVycyA9IHt9LCBwYXJhbXM6IFBheWxvYWQgPSB7fSk6IHsgdXJpOiBzdHJpbmcsIG9wdGlvbnM6IFJlcXVlc3RJbml0IH0ge1xuICAgICAgICBtZXRob2QgPSBtZXRob2QudG9VcHBlckNhc2UoKTtcblxuICAgICAgICBoZWFkZXJzID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5oZWFkZXJzLCBoZWFkZXJzKTtcblxuICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LmxvY2FsU3RvcmFnZSkge1xuICAgICAgICAgICAgY29uc3QgY29va2llRmFsbGJhY2sgPSB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2Nvb2tpZUZhbGxiYWNrJyk7XG4gICAgICAgICAgICBpZiAoY29va2llRmFsbGJhY2spIHtcbiAgICAgICAgICAgICAgICBoZWFkZXJzWydYLUZhbGxiYWNrLUNvb2tpZXMnXSA9IGNvb2tpZUZhbGxiYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGV0IG9wdGlvbnM6IFJlcXVlc3RJbml0ID0ge1xuICAgICAgICAgICAgbWV0aG9kLFxuICAgICAgICAgICAgaGVhZGVycyxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoaGVhZGVyc1snWC1BcHBjb25kYS1EZXYtS2V5J10gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgb3B0aW9ucy5jcmVkZW50aWFscyA9ICdpbmNsdWRlJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtZXRob2QgPT09ICdHRVQnKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhDbGllbnQuZmxhdHRlbihwYXJhbXMpKSkge1xuICAgICAgICAgICAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKGtleSwgdmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3dpdGNoIChoZWFkZXJzWydjb250ZW50LXR5cGUnXSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ2FwcGxpY2F0aW9uL2pzb24nOlxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmJvZHkgPSBKU09OLnN0cmluZ2lmeShwYXJhbXMpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ211bHRpcGFydC9mb3JtLWRhdGEnOlxuICAgICAgICAgICAgICAgICAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHBhcmFtcykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0ZpbGVMaWtlKHZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZChrZXksIHZhbHVlIGFzIHVua25vd24gYXMgQmxvYiwgZ2V0RmlsZU5hbWUodmFsdWUpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG5lc3RlZFZhbHVlIG9mIHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0ZpbGVMaWtlKG5lc3RlZFZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKGAke2tleX1bXWAsIG5lc3RlZFZhbHVlIGFzIHVua25vd24gYXMgQmxvYiwgZ2V0RmlsZU5hbWUobmVzdGVkVmFsdWUpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZChgJHtrZXl9W11gLCBuZXN0ZWRWYWx1ZSBhcyBhbnkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoa2V5LCB2YWx1ZSBhcyBhbnkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5ib2R5ID0gZm9ybURhdGE7XG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBoZWFkZXJzWydjb250ZW50LXR5cGUnXTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4geyB1cmk6IHVybC50b1N0cmluZygpLCBvcHRpb25zIH07XG4gICAgfVxuXG4gICAgYXN5bmMgY2h1bmtlZFVwbG9hZChtZXRob2Q6IHN0cmluZywgdXJsOiBVUkwsIGhlYWRlcnM6IEhlYWRlcnMgPSB7fSwgb3JpZ2luYWxQYXlsb2FkOiBQYXlsb2FkID0ge30sIG9uUHJvZ3Jlc3M6IChwcm9ncmVzczogVXBsb2FkUHJvZ3Jlc3MpID0+IHZvaWQpIHtcbiAgICAgICAgY29uc3QgZmlsZSA9IE9iamVjdC52YWx1ZXMob3JpZ2luYWxQYXlsb2FkKS5maW5kKCh2YWx1ZSkgPT4gaXNGaWxlTGlrZSh2YWx1ZSkpIGFzIEZpbGVMaWtlIHwgdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmICghZmlsZSkge1xuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuY2FsbChtZXRob2QsIHVybCwgaGVhZGVycywgb3JpZ2luYWxQYXlsb2FkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWxlLnNpemUgPD0gQ2xpZW50LkNIVU5LX1NJWkUpIHtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmNhbGwobWV0aG9kLCB1cmwsIGhlYWRlcnMsIG9yaWdpbmFsUGF5bG9hZCk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgc3RhcnQgPSAwO1xuICAgICAgICBsZXQgcmVzcG9uc2U6IGFueSA9IG51bGw7XG5cbiAgICAgICAgd2hpbGUgKHN0YXJ0IDwgZmlsZS5zaXplKSB7XG4gICAgICAgICAgICBsZXQgZW5kID0gc3RhcnQgKyBDbGllbnQuQ0hVTktfU0laRTsgLy8gUHJlcGFyZSBlbmQgZm9yIHRoZSBuZXh0IGNodW5rXG4gICAgICAgICAgICBpZiAoZW5kID49IGZpbGUuc2l6ZSkge1xuICAgICAgICAgICAgICAgIGVuZCA9IGZpbGUuc2l6ZTsgLy8gQWRqdXN0IGZvciB0aGUgbGFzdCBjaHVuayB0byBpbmNsdWRlIHRoZSBsYXN0IGJ5dGVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaGVhZGVyc1snY29udGVudC1yYW5nZSddID0gYGJ5dGVzICR7c3RhcnR9LSR7ZW5kIC0gMX0vJHtmaWxlLnNpemV9YDtcbiAgICAgICAgICAgIGNvbnN0IGNodW5rID0gZmlsZS5zbGljZShzdGFydCwgZW5kKTtcblxuICAgICAgICAgICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgICAgICAgICAuLi5vcmlnaW5hbFBheWxvYWQsXG4gICAgICAgICAgICAgICAgZmlsZTogY3JlYXRlQ2h1bmtGaWxlKGNodW5rLCBnZXRGaWxlTmFtZShmaWxlKSksXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2FsbChtZXRob2QsIHVybCwgaGVhZGVycywgcGF5bG9hZCk7XG5cbiAgICAgICAgICAgIGlmIChvblByb2dyZXNzICYmIHR5cGVvZiBvblByb2dyZXNzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgb25Qcm9ncmVzcyh7XG4gICAgICAgICAgICAgICAgICAgICRpZDogcmVzcG9uc2UuJGlkLFxuICAgICAgICAgICAgICAgICAgICBwcm9ncmVzczogTWF0aC5yb3VuZCgoZW5kIC8gZmlsZS5zaXplKSAqIDEwMCksXG4gICAgICAgICAgICAgICAgICAgIHNpemVVcGxvYWRlZDogZW5kLFxuICAgICAgICAgICAgICAgICAgICBjaHVua3NUb3RhbDogTWF0aC5jZWlsKGZpbGUuc2l6ZSAvIENsaWVudC5DSFVOS19TSVpFKSxcbiAgICAgICAgICAgICAgICAgICAgY2h1bmtzVXBsb2FkZWQ6IE1hdGguY2VpbChlbmQgLyBDbGllbnQuQ0hVTktfU0laRSlcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLiRpZCkge1xuICAgICAgICAgICAgICAgIGhlYWRlcnNbJ3gtYXBwY29uZGEtaWQnXSA9IHJlc3BvbnNlLiRpZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3RhcnQgPSBlbmQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgfVxuXG4gICAgYXN5bmMgcmVkaXJlY3QobWV0aG9kOiBzdHJpbmcsIHVybDogVVJMLCBoZWFkZXJzOiBIZWFkZXJzID0ge30sIHBhcmFtczogUGF5bG9hZCA9IHt9KTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgY29uc3QgeyB1cmksIG9wdGlvbnMgfSA9IHRoaXMucHJlcGFyZVJlcXVlc3QobWV0aG9kLCB1cmwsIGhlYWRlcnMsIHBhcmFtcyk7XG4gICAgICAgIGNvbnN0IHJ1bnRpbWVGZXRjaCA9IHRoaXMuZ2V0RmV0Y2goKTtcblxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJ1bnRpbWVGZXRjaCh1cmksIHtcbiAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgICByZWRpcmVjdDogJ21hbnVhbCdcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyAhPT0gMzAxICYmIHJlc3BvbnNlLnN0YXR1cyAhPT0gMzAyKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgQXBwY29uZGFFeGNlcHRpb24oJ0ludmFsaWQgcmVkaXJlY3QnLCByZXNwb25zZS5zdGF0dXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdsb2NhdGlvbicpIHx8ICcnO1xuICAgIH1cblxuICAgIGFzeW5jIGNhbGwobWV0aG9kOiBzdHJpbmcsIHVybDogVVJMLCBoZWFkZXJzOiBIZWFkZXJzID0ge30sIHBhcmFtczogUGF5bG9hZCA9IHt9LCByZXNwb25zZVR5cGUgPSAnanNvbicpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBjb25zdCB7IHVyaSwgb3B0aW9ucyB9ID0gdGhpcy5wcmVwYXJlUmVxdWVzdChtZXRob2QsIHVybCwgaGVhZGVycywgcGFyYW1zKTtcbiAgICAgICAgY29uc3QgcnVudGltZUZldGNoID0gdGhpcy5nZXRGZXRjaCgpO1xuXG4gICAgICAgIGxldCBkYXRhOiBhbnkgPSBudWxsO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJ1bnRpbWVGZXRjaCh1cmksIG9wdGlvbnMpO1xuXG4gICAgICAgICAgICBjb25zdCB3YXJuaW5ncyA9IHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCd4LWFwcGNvbmRhLXdhcm5pbmcnKTtcbiAgICAgICAgICAgIGlmICh3YXJuaW5ncykge1xuICAgICAgICAgICAgICAgIHdhcm5pbmdzLnNwbGl0KCc7JykuZm9yRWFjaCgod2FybmluZzogc3RyaW5nKSA9PiBjb25zb2xlLndhcm4oJ1dhcm5pbmc6ICcgKyB3YXJuaW5nKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyZXNwb25zZS5oZWFkZXJzLmdldCgnY29udGVudC10eXBlJyk/LmluY2x1ZGVzKCdhcHBsaWNhdGlvbi9qc29uJykpIHtcbiAgICAgICAgICAgICAgICBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChyZXNwb25zZVR5cGUgPT09ICdhcnJheUJ1ZmZlcicpIHtcbiAgICAgICAgICAgICAgICBkYXRhID0gYXdhaXQgcmVzcG9uc2UuYXJyYXlCdWZmZXIoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZGF0YSA9IHtcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogYXdhaXQgcmVzcG9uc2UudGV4dCgpXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKDQwMCA8PSByZXNwb25zZS5zdGF0dXMpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQXBwY29uZGFFeGNlcHRpb24oZGF0YT8ubWVzc2FnZSwgcmVzcG9uc2Uuc3RhdHVzLCBkYXRhPy50eXBlLCBkYXRhKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3RhdGljIGZsYXR0ZW4oZGF0YTogUGF5bG9hZCwgcHJlZml4ID0gJycpOiBQYXlsb2FkIHtcbiAgICAgICAgbGV0IG91dHB1dDogUGF5bG9hZCA9IHt9O1xuXG4gICAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGRhdGEpKSB7XG4gICAgICAgICAgICBsZXQgZmluYWxLZXkgPSBwcmVmaXggPyBwcmVmaXggKyAnWycgKyBrZXkgKyAnXScgOiBrZXk7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBvdXRwdXQgPSB7IC4uLm91dHB1dCwgLi4uQ2xpZW50LmZsYXR0ZW4odmFsdWUsIGZpbmFsS2V5KSB9O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBvdXRwdXRbZmluYWxLZXldID0gdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gb3V0cHV0O1xuICAgIH1cbn1cblxuZXhwb3J0IHsgQ2xpZW50LCBBcHBjb25kYUV4Y2VwdGlvbiB9O1xuZXhwb3J0IHsgUXVlcnkgfSBmcm9tICcuL3F1ZXJ5JztcbmV4cG9ydCB0eXBlIHsgTW9kZWxzLCBQYXlsb2FkLCBVcGxvYWRQcm9ncmVzcyB9O1xuZXhwb3J0IHR5cGUgeyBRdWVyeVR5cGVzLCBRdWVyeVR5cGVzTGlzdCB9IGZyb20gJy4vcXVlcnknO1xuIl19
@@ -1,3 +1,14 @@
1
- import { Client } from "./client";
2
- export declare function getAppcondaClient(): Client;
3
- export declare function getAppcondaClientSync(): Client;
1
+ import { Client } from './client';
2
+ export type AppcondaClientOptions = {
3
+ endpoint?: string;
4
+ project?: string;
5
+ mode?: string;
6
+ key?: string;
7
+ jwt?: string;
8
+ session?: string;
9
+ locale?: string;
10
+ forwardedUserAgent?: string;
11
+ headers?: Record<string, string>;
12
+ };
13
+ export declare function getAppcondaClient(options?: AppcondaClientOptions): Client;
14
+ export declare function getAppcondaClientSync(options?: AppcondaClientOptions): Client;
@@ -1,68 +1,60 @@
1
- import { Client } from "./client";
2
- function getPortAndHostname(urlString) {
3
- try {
4
- const url = new URL(urlString);
5
- return {
6
- hostname: url.hostname,
7
- port: url.port || (url.protocol === 'https:' ? '443' : '80'), // Default ports if not specified
8
- protocol: url.protocol
9
- };
1
+ import { Client } from './client';
2
+ const APPCONDA_DEFAULT_PATH = '/api/appconda/v1';
3
+ const APPCONDA_NODE_DEFAULT_ENDPOINT = 'http://localhost:3000/api/appconda/v1';
4
+ function normalizeEndpoint(endpoint) {
5
+ return endpoint.replace(/\/+$/, '');
6
+ }
7
+ function resolveEndpoint(overrideEndpoint) {
8
+ if (overrideEndpoint) {
9
+ return normalizeEndpoint(overrideEndpoint);
10
+ }
11
+ const envEndpoint = (typeof process !== 'undefined' && process?.env?.APPCONDA_ENDPOINT) ||
12
+ (typeof process !== 'undefined' && process?.env?.NEXT_PUBLIC_APPCONDA_ENDPOINT) ||
13
+ '';
14
+ if (envEndpoint) {
15
+ return normalizeEndpoint(envEndpoint);
10
16
  }
11
- catch (error) {
12
- console.error('Invalid URL:', error);
13
- return { hostname: '', port: '', protocol: '' };
17
+ if (typeof window !== 'undefined' && window?.location?.origin) {
18
+ return normalizeEndpoint(new URL(APPCONDA_DEFAULT_PATH, window.location.origin).toString());
14
19
  }
20
+ return APPCONDA_NODE_DEFAULT_ENDPOINT;
15
21
  }
16
- const APPCONDA_ENDPOINT = 'api/appconda/v1';
17
- export function getAppcondaClient() {
18
- let url;
19
- if (typeof window !== 'undefined') {
20
- const hostInfo = getPortAndHostname(window.location.href);
21
- if (hostInfo.port) {
22
- url = `${hostInfo.protocol}//${hostInfo.hostname}:${hostInfo.port}/${APPCONDA_ENDPOINT}`;
23
- }
24
- else {
25
- url = `${hostInfo.protocol}//${hostInfo.hostname}/${APPCONDA_ENDPOINT}`;
26
- }
22
+ function applyClientOptions(client, options) {
23
+ if (options.project) {
24
+ client.setProject(options.project);
27
25
  }
28
- else {
29
- url = APPCONDA_ENDPOINT || 'http://appconda/v1';
26
+ if (options.mode) {
27
+ client.setMode(options.mode);
30
28
  }
31
- /* if (ApplicationConfig.Port == null) {
32
- url = `${ApplicationConfig.Protocol}://${ApplicationConfig.Domain}:${ApplicationConfig.Port}/v1`
33
- } else {
34
- url = `${ApplicationConfig.Protocol}://${ApplicationConfig.Domain}/v1`
35
- } */
36
- const adminClient = new Client()
37
- .setEndpoint(url) // Your API Endpoint
38
- .setProject('console');
39
- return adminClient;
40
- }
41
- export function getAppcondaClientSync() {
42
- let url;
43
- if (APPCONDA_ENDPOINT) {
44
- url = APPCONDA_ENDPOINT;
29
+ if (options.key) {
30
+ client.setKey(options.key);
45
31
  }
46
- else if (typeof window !== 'undefined') {
47
- const hostInfo = getPortAndHostname(window.location.href);
48
- if (hostInfo.port) {
49
- url = `${hostInfo.protocol}//${hostInfo.hostname}:${hostInfo.port}/v1`;
50
- }
51
- else {
52
- url = `${hostInfo.protocol}//${hostInfo.hostname}/v1`;
53
- }
32
+ if (options.jwt) {
33
+ client.setJWT(options.jwt);
54
34
  }
55
- else {
56
- url = APPCONDA_ENDPOINT || 'http://appconda/v1';
35
+ if (options.session) {
36
+ client.setSession(options.session);
57
37
  }
58
- /* if (ApplicationConfig.Port == null) {
59
- url = `${ApplicationConfig.Protocol}://${ApplicationConfig.Domain}:${ApplicationConfig.Port}/v1`
60
- } else {
61
- url = `${ApplicationConfig.Protocol}://${ApplicationConfig.Domain}/v1`
62
- } */
63
- const adminClient = new Client()
64
- .setEndpoint(url) // Your API Endpoint
65
- .setProject('console');
66
- return adminClient;
38
+ if (options.locale) {
39
+ client.setLocale(options.locale);
40
+ }
41
+ if (options.forwardedUserAgent) {
42
+ client.setForwardedUserAgent(options.forwardedUserAgent);
43
+ }
44
+ if (options.headers) {
45
+ for (const [headerName, headerValue] of Object.entries(options.headers)) {
46
+ client.addHeader(headerName, headerValue);
47
+ }
48
+ }
49
+ return client;
50
+ }
51
+ export function getAppcondaClient(options = {}) {
52
+ const client = new Client()
53
+ .setEndpoint(resolveEndpoint(options.endpoint))
54
+ .setProject(options.project ?? 'console');
55
+ return applyClientOptions(client, options);
56
+ }
57
+ export function getAppcondaClientSync(options = {}) {
58
+ return getAppcondaClient(options);
67
59
  }
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0QXBwY29uZGFDbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZ2V0QXBwY29uZGFDbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVsQyxTQUFTLGtCQUFrQixDQUFDLFNBQWlCO0lBQ3pDLElBQUksQ0FBQztRQUNELE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9CLE9BQU87WUFDSCxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVE7WUFDdEIsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxpQ0FBaUM7WUFDL0YsUUFBUSxFQUFFLEdBQUcsQ0FBQyxRQUFRO1NBQ3pCLENBQUM7SUFDTixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ3BELENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztBQUU1QyxNQUFNLFVBQVUsaUJBQWlCO0lBRTdCLElBQUksR0FBRyxDQUFDO0lBQ1IsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUNoQyxNQUFNLFFBQVEsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFELElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hCLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsSUFBSSxJQUFJLGlCQUFpQixFQUFFLENBQUE7UUFDNUYsQ0FBQzthQUFNLENBQUM7WUFDSixHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxRQUFRLElBQUksaUJBQWlCLEVBQUUsQ0FBQTtRQUMzRSxDQUFDO0lBQ0wsQ0FBQztTQUFNLENBQUM7UUFDSixHQUFHLEdBQUcsaUJBQWlCLElBQUksb0JBQW9CLENBQUE7SUFDbkQsQ0FBQztJQUVEOzs7O1VBSU07SUFDTixNQUFNLFdBQVcsR0FBRyxJQUFJLE1BQU0sRUFBRTtTQUMzQixXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsb0JBQW9CO1NBQ3JDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUUzQixPQUFPLFdBQVcsQ0FBQTtBQUV0QixDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQjtJQUVqQyxJQUFJLEdBQUcsQ0FBQztJQUNSLElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQUNwQixHQUFHLEdBQUcsaUJBQWlCLENBQUM7SUFDNUIsQ0FBQztTQUFNLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDdkMsTUFBTSxRQUFRLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxRCxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNoQixHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxDQUFBO1FBQzFFLENBQUM7YUFBTSxDQUFDO1lBQ0osR0FBRyxHQUFHLEdBQUcsUUFBUSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsUUFBUSxLQUFLLENBQUE7UUFDekQsQ0FBQztJQUNMLENBQUM7U0FBTSxDQUFDO1FBQ0osR0FBRyxHQUFHLGlCQUFpQixJQUFJLG9CQUFvQixDQUFBO0lBQ25ELENBQUM7SUFFRDs7OztVQUlNO0lBQ04sTUFBTSxXQUFXLEdBQUcsSUFBSSxNQUFNLEVBQUU7U0FDM0IsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLG9CQUFvQjtTQUNyQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFM0IsT0FBTyxXQUFXLENBQUE7QUFFdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsaWVudCB9IGZyb20gXCIuL2NsaWVudFwiO1xuXG5mdW5jdGlvbiBnZXRQb3J0QW5kSG9zdG5hbWUodXJsU3RyaW5nOiBzdHJpbmcpOiB7IGhvc3RuYW1lOiBzdHJpbmc7IHBvcnQ6IHN0cmluZzsgcHJvdG9jb2w6IHN0cmluZyB9IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHVybFN0cmluZyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBob3N0bmFtZTogdXJsLmhvc3RuYW1lLFxuICAgICAgICAgICAgcG9ydDogdXJsLnBvcnQgfHwgKHVybC5wcm90b2NvbCA9PT0gJ2h0dHBzOicgPyAnNDQzJyA6ICc4MCcpLCAvLyBEZWZhdWx0IHBvcnRzIGlmIG5vdCBzcGVjaWZpZWRcbiAgICAgICAgICAgIHByb3RvY29sOiB1cmwucHJvdG9jb2xcbiAgICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdJbnZhbGlkIFVSTDonLCBlcnJvcik7XG4gICAgICAgIHJldHVybiB7IGhvc3RuYW1lOiAnJywgcG9ydDogJycsIHByb3RvY29sOiAnJyB9O1xuICAgIH1cbn1cblxuY29uc3QgQVBQQ09OREFfRU5EUE9JTlQgPSAnYXBpL2FwcGNvbmRhL3YxJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFwcGNvbmRhQ2xpZW50KCkge1xuXG4gICAgbGV0IHVybDtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgY29uc3QgaG9zdEluZm8gPSBnZXRQb3J0QW5kSG9zdG5hbWUod2luZG93LmxvY2F0aW9uLmhyZWYpO1xuICAgICAgICBpZiAoaG9zdEluZm8ucG9ydCkge1xuICAgICAgICAgICAgdXJsID0gYCR7aG9zdEluZm8ucHJvdG9jb2x9Ly8ke2hvc3RJbmZvLmhvc3RuYW1lfToke2hvc3RJbmZvLnBvcnR9LyR7QVBQQ09OREFfRU5EUE9JTlR9YFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdXJsID0gYCR7aG9zdEluZm8ucHJvdG9jb2x9Ly8ke2hvc3RJbmZvLmhvc3RuYW1lfS8ke0FQUENPTkRBX0VORFBPSU5UfWBcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHVybCA9IEFQUENPTkRBX0VORFBPSU5UIHx8ICdodHRwOi8vYXBwY29uZGEvdjEnXG4gICAgfVxuXG4gICAgLyogIGlmIChBcHBsaWNhdGlvbkNvbmZpZy5Qb3J0ID09IG51bGwpIHtcbiAgICAgICAgIHVybCA9IGAke0FwcGxpY2F0aW9uQ29uZmlnLlByb3RvY29sfTovLyR7QXBwbGljYXRpb25Db25maWcuRG9tYWlufToke0FwcGxpY2F0aW9uQ29uZmlnLlBvcnR9L3YxYFxuICAgICB9IGVsc2Uge1xuICAgICAgICAgICB1cmwgPSBgJHtBcHBsaWNhdGlvbkNvbmZpZy5Qcm90b2NvbH06Ly8ke0FwcGxpY2F0aW9uQ29uZmlnLkRvbWFpbn0vdjFgXG4gICAgIH0gICovXG4gICAgY29uc3QgYWRtaW5DbGllbnQgPSBuZXcgQ2xpZW50KClcbiAgICAgICAgLnNldEVuZHBvaW50KHVybCkgLy8gWW91ciBBUEkgRW5kcG9pbnRcbiAgICAgICAgLnNldFByb2plY3QoJ2NvbnNvbGUnKTtcblxuICAgIHJldHVybiBhZG1pbkNsaWVudFxuXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBcHBjb25kYUNsaWVudFN5bmMoKSB7XG5cbiAgICBsZXQgdXJsO1xuICAgIGlmIChBUFBDT05EQV9FTkRQT0lOVCkge1xuICAgICAgICB1cmwgPSBBUFBDT05EQV9FTkRQT0lOVDtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGNvbnN0IGhvc3RJbmZvID0gZ2V0UG9ydEFuZEhvc3RuYW1lKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcbiAgICAgICAgaWYgKGhvc3RJbmZvLnBvcnQpIHtcbiAgICAgICAgICAgIHVybCA9IGAke2hvc3RJbmZvLnByb3RvY29sfS8vJHtob3N0SW5mby5ob3N0bmFtZX06JHtob3N0SW5mby5wb3J0fS92MWBcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHVybCA9IGAke2hvc3RJbmZvLnByb3RvY29sfS8vJHtob3N0SW5mby5ob3N0bmFtZX0vdjFgXG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICB1cmwgPSBBUFBDT05EQV9FTkRQT0lOVCB8fCAnaHR0cDovL2FwcGNvbmRhL3YxJ1xuICAgIH1cblxuICAgIC8qICBpZiAoQXBwbGljYXRpb25Db25maWcuUG9ydCA9PSBudWxsKSB7XG4gICAgICAgICB1cmwgPSBgJHtBcHBsaWNhdGlvbkNvbmZpZy5Qcm90b2NvbH06Ly8ke0FwcGxpY2F0aW9uQ29uZmlnLkRvbWFpbn06JHtBcHBsaWNhdGlvbkNvbmZpZy5Qb3J0fS92MWBcbiAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgdXJsID0gYCR7QXBwbGljYXRpb25Db25maWcuUHJvdG9jb2x9Oi8vJHtBcHBsaWNhdGlvbkNvbmZpZy5Eb21haW59L3YxYFxuICAgICB9ICAqL1xuICAgIGNvbnN0IGFkbWluQ2xpZW50ID0gbmV3IENsaWVudCgpXG4gICAgICAgIC5zZXRFbmRwb2ludCh1cmwpIC8vIFlvdXIgQVBJIEVuZHBvaW50XG4gICAgICAgIC5zZXRQcm9qZWN0KCdjb25zb2xlJyk7XG5cbiAgICByZXR1cm4gYWRtaW5DbGllbnRcblxufSJdfQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0QXBwY29uZGFDbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZ2V0QXBwY29uZGFDbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVsQyxNQUFNLHFCQUFxQixHQUFHLGtCQUFrQixDQUFDO0FBQ2pELE1BQU0sOEJBQThCLEdBQUcsdUNBQXVDLENBQUM7QUFjL0UsU0FBUyxpQkFBaUIsQ0FBQyxRQUFnQjtJQUN2QyxPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3hDLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxnQkFBeUI7SUFDOUMsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1FBQ25CLE9BQU8saUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsTUFBTSxXQUFXLEdBQ2IsQ0FBQyxPQUFPLE9BQU8sS0FBSyxXQUFXLElBQUksT0FBTyxFQUFFLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQztRQUNuRSxDQUFDLE9BQU8sT0FBTyxLQUFLLFdBQVcsSUFBSSxPQUFPLEVBQUUsR0FBRyxFQUFFLDZCQUE2QixDQUFDO1FBQy9FLEVBQUUsQ0FBQztJQUVQLElBQUksV0FBVyxFQUFFLENBQUM7UUFDZCxPQUFPLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsSUFBSSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQzVELE9BQU8saUJBQWlCLENBQUMsSUFBSSxHQUFHLENBQUMscUJBQXFCLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRCxPQUFPLDhCQUE4QixDQUFDO0FBQzFDLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLE1BQWMsRUFBRSxPQUE4QjtJQUN0RSxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNsQixNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDZCxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDZCxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbEIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2pCLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzdCLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbEIsS0FBSyxNQUFNLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDdEUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDOUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFVBQWlDLEVBQUU7SUFDakUsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLEVBQUU7U0FDdEIsV0FBVyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDOUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksU0FBUyxDQUFDLENBQUM7SUFFOUMsT0FBTyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDL0MsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxVQUFpQyxFQUFFO0lBQ3JFLE9BQU8saUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDdEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsaWVudCB9IGZyb20gJy4vY2xpZW50JztcblxuY29uc3QgQVBQQ09OREFfREVGQVVMVF9QQVRIID0gJy9hcGkvYXBwY29uZGEvdjEnO1xuY29uc3QgQVBQQ09OREFfTk9ERV9ERUZBVUxUX0VORFBPSU5UID0gJ2h0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9hcGkvYXBwY29uZGEvdjEnO1xuXG5leHBvcnQgdHlwZSBBcHBjb25kYUNsaWVudE9wdGlvbnMgPSB7XG4gICAgZW5kcG9pbnQ/OiBzdHJpbmc7XG4gICAgcHJvamVjdD86IHN0cmluZztcbiAgICBtb2RlPzogc3RyaW5nO1xuICAgIGtleT86IHN0cmluZztcbiAgICBqd3Q/OiBzdHJpbmc7XG4gICAgc2Vzc2lvbj86IHN0cmluZztcbiAgICBsb2NhbGU/OiBzdHJpbmc7XG4gICAgZm9yd2FyZGVkVXNlckFnZW50Pzogc3RyaW5nO1xuICAgIGhlYWRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufVxuXG5mdW5jdGlvbiBub3JtYWxpemVFbmRwb2ludChlbmRwb2ludDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZW5kcG9pbnQucmVwbGFjZSgvXFwvKyQvLCAnJyk7XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVFbmRwb2ludChvdmVycmlkZUVuZHBvaW50Pzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAob3ZlcnJpZGVFbmRwb2ludCkge1xuICAgICAgICByZXR1cm4gbm9ybWFsaXplRW5kcG9pbnQob3ZlcnJpZGVFbmRwb2ludCk7XG4gICAgfVxuXG4gICAgY29uc3QgZW52RW5kcG9pbnQgPVxuICAgICAgICAodHlwZW9mIHByb2Nlc3MgIT09ICd1bmRlZmluZWQnICYmIHByb2Nlc3M/LmVudj8uQVBQQ09OREFfRU5EUE9JTlQpIHx8XG4gICAgICAgICh0eXBlb2YgcHJvY2VzcyAhPT0gJ3VuZGVmaW5lZCcgJiYgcHJvY2Vzcz8uZW52Py5ORVhUX1BVQkxJQ19BUFBDT05EQV9FTkRQT0lOVCkgfHxcbiAgICAgICAgJyc7XG5cbiAgICBpZiAoZW52RW5kcG9pbnQpIHtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZUVuZHBvaW50KGVudkVuZHBvaW50KTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93Py5sb2NhdGlvbj8ub3JpZ2luKSB7XG4gICAgICAgIHJldHVybiBub3JtYWxpemVFbmRwb2ludChuZXcgVVJMKEFQUENPTkRBX0RFRkFVTFRfUEFUSCwgd2luZG93LmxvY2F0aW9uLm9yaWdpbikudG9TdHJpbmcoKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIEFQUENPTkRBX05PREVfREVGQVVMVF9FTkRQT0lOVDtcbn1cblxuZnVuY3Rpb24gYXBwbHlDbGllbnRPcHRpb25zKGNsaWVudDogQ2xpZW50LCBvcHRpb25zOiBBcHBjb25kYUNsaWVudE9wdGlvbnMpOiBDbGllbnQge1xuICAgIGlmIChvcHRpb25zLnByb2plY3QpIHtcbiAgICAgICAgY2xpZW50LnNldFByb2plY3Qob3B0aW9ucy5wcm9qZWN0KTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMubW9kZSkge1xuICAgICAgICBjbGllbnQuc2V0TW9kZShvcHRpb25zLm1vZGUpO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5rZXkpIHtcbiAgICAgICAgY2xpZW50LnNldEtleShvcHRpb25zLmtleSk7XG4gICAgfVxuICAgIGlmIChvcHRpb25zLmp3dCkge1xuICAgICAgICBjbGllbnQuc2V0SldUKG9wdGlvbnMuand0KTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuc2Vzc2lvbikge1xuICAgICAgICBjbGllbnQuc2V0U2Vzc2lvbihvcHRpb25zLnNlc3Npb24pO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5sb2NhbGUpIHtcbiAgICAgICAgY2xpZW50LnNldExvY2FsZShvcHRpb25zLmxvY2FsZSk7XG4gICAgfVxuICAgIGlmIChvcHRpb25zLmZvcndhcmRlZFVzZXJBZ2VudCkge1xuICAgICAgICBjbGllbnQuc2V0Rm9yd2FyZGVkVXNlckFnZW50KG9wdGlvbnMuZm9yd2FyZGVkVXNlckFnZW50KTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuaGVhZGVycykge1xuICAgICAgICBmb3IgKGNvbnN0IFtoZWFkZXJOYW1lLCBoZWFkZXJWYWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMob3B0aW9ucy5oZWFkZXJzKSkge1xuICAgICAgICAgICAgY2xpZW50LmFkZEhlYWRlcihoZWFkZXJOYW1lLCBoZWFkZXJWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY2xpZW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXBwY29uZGFDbGllbnQob3B0aW9uczogQXBwY29uZGFDbGllbnRPcHRpb25zID0ge30pOiBDbGllbnQge1xuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBDbGllbnQoKVxuICAgICAgICAuc2V0RW5kcG9pbnQocmVzb2x2ZUVuZHBvaW50KG9wdGlvbnMuZW5kcG9pbnQpKVxuICAgICAgICAuc2V0UHJvamVjdChvcHRpb25zLnByb2plY3QgPz8gJ2NvbnNvbGUnKTtcblxuICAgIHJldHVybiBhcHBseUNsaWVudE9wdGlvbnMoY2xpZW50LCBvcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFwcGNvbmRhQ2xpZW50U3luYyhvcHRpb25zOiBBcHBjb25kYUNsaWVudE9wdGlvbnMgPSB7fSk6IENsaWVudCB7XG4gICAgcmV0dXJuIGdldEFwcGNvbmRhQ2xpZW50KG9wdGlvbnMpO1xufVxuIl19
@@ -1,3 +1,4 @@
1
+ import type { AppcondaClientOptions } from './getAppcondaClient';
1
2
  import { BuilderService, DataSourceService, ScrapflowService, WaitlistService } from "./modules";
2
3
  import { AccountService } from "./modules/accounv1";
3
4
  import { TenantService } from "./modules/tenant/service";
@@ -17,4 +18,5 @@ export type AppcondaSDK = {
17
18
  waitlist: WaitlistService;
18
19
  configuration: Configuration;
19
20
  };
20
- export declare function getSDKForService(token?: string): AppcondaSDK;
21
+ export type AppcondaSDKOptions = AppcondaClientOptions;
22
+ export declare function getSDKForService(token?: string, options?: AppcondaSDKOptions): AppcondaSDK;
@@ -1,4 +1,4 @@
1
- import { getAppcondaClient } from "./getAppcondaClient";
1
+ import { getAppcondaClient } from './getAppcondaClient';
2
2
  import { BuilderService, DataSourceService, ScrapflowService, WaitlistService } from "./modules";
3
3
  import { AccountService } from "./modules/accounv1";
4
4
  import { TenantService } from "./modules/tenant/service";
@@ -6,8 +6,8 @@ import { Configuration } from "./services/configuration";
6
6
  import { OrganizationService } from "./modules/organization/service";
7
7
  import { EmploidService } from "./modules/emploid/service";
8
8
  import { BpmService } from "./modules/bpm/service";
9
- export function getSDKForService(token) {
10
- const adminClient = getAppcondaClient();
9
+ export function getSDKForService(token, options = {}) {
10
+ const adminClient = getAppcondaClient(options);
11
11
  adminClient.addHeader('x-service-token', '');
12
12
  if (token) {
13
13
  adminClient.addHeader('Authorization', `Bearer ${token}`);
@@ -69,4 +69,4 @@ export function getSDKForService(token) {
69
69
  configuration
70
70
  };
71
71
  }
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0U0RLRm9yU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9nZXRTREtGb3JTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXhELE9BQU8sRUFBVyxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzFHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUE2Qm5ELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxLQUFjO0lBQzdDLE1BQU0sV0FBVyxHQUFHLGlCQUFpQixFQUFFLENBQUM7SUFFeEMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM3QyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ1YsV0FBVyxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsVUFBVSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqRCxNQUFNLE9BQU8sR0FBRyxJQUFJLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvQyxNQUFNLFlBQVksR0FBRyxJQUFJLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzFELE1BQU0sT0FBTyxHQUFHLElBQUksY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hELE1BQU0sR0FBRyxHQUFHLElBQUksVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sVUFBVSxHQUFHLElBQUksaUJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUVwRDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztvREFtQmdEO0lBQ2hELE1BQU0sUUFBUSxHQUFHLElBQUksZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xELE1BQU0sYUFBYSxHQUFHLElBQUksYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRXJELE9BQU87UUFDTCxRQUFRO1FBQ1IsT0FBTztRQUNQLFlBQVk7UUFDWixPQUFPO1FBQ1AsR0FBRztRQUNILFVBQVU7UUFDVixPQUFPO1FBQ1AsU0FBUztRQUNUOzs7Ozs7Ozs7Ozs7O3FCQWFhO1FBQ2IsUUFBUTtRQUNSLGFBQWE7S0FDZCxDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldEFwcGNvbmRhQ2xpZW50IH0gZnJvbSBcIi4vZ2V0QXBwY29uZGFDbGllbnRcIjtcblxuaW1wb3J0IHsgQWNjb3VudCwgQnVpbGRlclNlcnZpY2UsIERhdGFTb3VyY2VTZXJ2aWNlLCBTY3JhcGZsb3dTZXJ2aWNlLCBXYWl0bGlzdFNlcnZpY2UgfSBmcm9tIFwiLi9tb2R1bGVzXCI7XG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gXCIuL21vZHVsZXMvYWNjb3VudjFcIjtcbmltcG9ydCB7IFRlbmFudFNlcnZpY2UgfSBmcm9tIFwiLi9tb2R1bGVzL3RlbmFudC9zZXJ2aWNlXCI7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gZnJvbSBcIi4vc2VydmljZXMvY29uZmlndXJhdGlvblwiO1xuaW1wb3J0IHsgT3JnYW5pemF0aW9uU2VydmljZSB9IGZyb20gXCIuL21vZHVsZXMvb3JnYW5pemF0aW9uL3NlcnZpY2VcIjtcbmltcG9ydCB7IEVtcGxvaWRTZXJ2aWNlIH0gZnJvbSBcIi4vbW9kdWxlcy9lbXBsb2lkL3NlcnZpY2VcIjtcbmltcG9ydCB7IEJwbVNlcnZpY2UgfSBmcm9tIFwiLi9tb2R1bGVzL2JwbS9zZXJ2aWNlXCI7XG5cbmV4cG9ydCB0eXBlIEFwcGNvbmRhU0RLID0ge1xuICBhY2NvdW50czogQWNjb3VudFNlcnZpY2UsXG4gIHRlbmFudHM6IFRlbmFudFNlcnZpY2UsXG4gIG9yZ2FuaXphdGlvbjogT3JnYW5pemF0aW9uU2VydmljZSxcbiAgZW1wbG9pZDogRW1wbG9pZFNlcnZpY2UsXG4gIGJwbTogQnBtU2VydmljZSxcbiAgZGF0YXNvdXJjZTogRGF0YVNvdXJjZVNlcnZpY2UsXG4gIGJ1aWxkZXI6IEJ1aWxkZXJTZXJ2aWNlLFxuICBzY3JhcGZsb3c6IFNjcmFwZmxvd1NlcnZpY2UsXG4gIC8qICAgY3VycmVudFVzZXIsXG4gICAgYWNjb3VudHMsXG4gICAgZGF0YWJhc2VzLFxuICAgIHByb2plY3RzLFxuICAgIHVzZXJzLFxuICAgIHRlYW1zLFxuICAgIHRlbmFudHMsXG4gICAgcm9sZXMsXG4gICAgcGVybWlzc2lvbnMsXG4gICAgc2NoZW1hcyxcbiAgICBjb21tdW5pdHksXG4gICAgdGVuYW50U3Vic2NyaXB0aW9ucyxcbiAgICBzdWJzY3JpcHRpb24sXG4gICAgcHJpY2luZywgKi9cbiAgd2FpdGxpc3Q6IFdhaXRsaXN0U2VydmljZSxcbiAgY29uZmlndXJhdGlvbjogQ29uZmlndXJhdGlvblxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U0RLRm9yU2VydmljZSh0b2tlbj86IHN0cmluZyk6IEFwcGNvbmRhU0RLIHtcbiAgY29uc3QgYWRtaW5DbGllbnQgPSBnZXRBcHBjb25kYUNsaWVudCgpO1xuXG4gIGFkbWluQ2xpZW50LmFkZEhlYWRlcigneC1zZXJ2aWNlLXRva2VuJywgJycpO1xuICBpZiAodG9rZW4pIHtcbiAgICBhZG1pbkNsaWVudC5hZGRIZWFkZXIoJ0F1dGhvcml6YXRpb24nLCBgQmVhcmVyICR7dG9rZW59YCk7XG4gIH1cblxuICBjb25zdCBhY2NvdW50cyA9IG5ldyBBY2NvdW50U2VydmljZShhZG1pbkNsaWVudCk7XG4gIGNvbnN0IHRlbmFudHMgPSBuZXcgVGVuYW50U2VydmljZShhZG1pbkNsaWVudCk7XG4gIGNvbnN0IG9yZ2FuaXphdGlvbiA9IG5ldyBPcmdhbml6YXRpb25TZXJ2aWNlKGFkbWluQ2xpZW50KTtcbiAgY29uc3QgZW1wbG9pZCA9IG5ldyBFbXBsb2lkU2VydmljZShhZG1pbkNsaWVudCk7XG4gIGNvbnN0IGJwbSA9IG5ldyBCcG1TZXJ2aWNlKGFkbWluQ2xpZW50KTtcbiAgY29uc3QgZGF0YXNvdXJjZSA9IG5ldyBEYXRhU291cmNlU2VydmljZShhZG1pbkNsaWVudCk7XG4gIGNvbnN0IGJ1aWxkZXIgPSBuZXcgQnVpbGRlclNlcnZpY2UoYWRtaW5DbGllbnQpO1xuICBjb25zdCBzY3JhcGZsb3cgPSBuZXcgU2NyYXBmbG93U2VydmljZShhZG1pbkNsaWVudCk7XG5cbiAgLyogICAgIGNvbnN0IGRhdGFiYXNlcyA9IG5ldyBEYXRhYmFzZXMoYWRtaW5DbGllbnQpO1xuICBcbiAgICAgIGNvbnN0IHByb2plY3RzID0gbmV3IFByb2plY3RzKGFkbWluQ2xpZW50KTtcbiAgXG4gICAgICBjb25zdCBjdXJyZW50VXNlciA9IGF3YWl0IGFjY291bnRzLmdldCgpO1xuICBcbiAgICAgIGNvbnN0IHVzZXJzID0gbmV3IFVzZXJzKGFkbWluQ2xpZW50KTtcbiAgICAgIGNvbnN0IHRlYW1zID0gbmV3IFRlYW1zKGFkbWluQ2xpZW50KTtcbiAgXG4gICAgIFxuICAgICAgY29uc3Qgcm9sZXMgPSBuZXcgUm9sZXMoYWRtaW5DbGllbnQpO1xuICAgICAgY29uc3QgcGVybWlzc2lvbnMgPSBuZXcgUGVybWlzc2lvbnMoYWRtaW5DbGllbnQpO1xuICAgICAgY29uc3Qgc2NoZW1hcyA9IG5ldyBTY2hlbWFzKGFkbWluQ2xpZW50KTtcbiAgXG4gICAgICBjb25zdCBjb21tdW5pdHkgPSBuZXcgQ29tbXVuaXR5KGFkbWluQ2xpZW50KTtcbiAgXG4gICAgICBjb25zdCB0ZW5hbnRTdWJzY3JpcHRpb25zID0gbmV3IFRlbmFudFN1YnNjcmlwdGlvbihhZG1pbkNsaWVudCk7XG4gIFxuICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbihhZG1pbkNsaWVudCk7XG4gICAgICBjb25zdCBwcmljaW5nID0gbmV3IFByaWNpbmcoYWRtaW5DbGllbnQpOyAqL1xuICBjb25zdCB3YWl0bGlzdCA9IG5ldyBXYWl0bGlzdFNlcnZpY2UoYWRtaW5DbGllbnQpO1xuICBjb25zdCBjb25maWd1cmF0aW9uID0gbmV3IENvbmZpZ3VyYXRpb24oYWRtaW5DbGllbnQpO1xuXG4gIHJldHVybiB7XG4gICAgYWNjb3VudHMsXG4gICAgdGVuYW50cyxcbiAgICBvcmdhbml6YXRpb24sXG4gICAgZW1wbG9pZCxcbiAgICBicG0sXG4gICAgZGF0YXNvdXJjZSxcbiAgICBidWlsZGVyLFxuICAgIHNjcmFwZmxvdyxcbiAgICAvKiAgIGN1cnJlbnRVc2VyLFxuICAgICAgYWNjb3VudHMsXG4gICAgICBkYXRhYmFzZXMsXG4gICAgICBwcm9qZWN0cyxcbiAgICAgIHVzZXJzLFxuICAgICAgdGVhbXMsXG4gICAgICB0ZW5hbnRzLFxuICAgICAgcm9sZXMsXG4gICAgICBwZXJtaXNzaW9ucyxcbiAgICAgIHNjaGVtYXMsXG4gICAgICBjb21tdW5pdHksXG4gICAgICB0ZW5hbnRTdWJzY3JpcHRpb25zLFxuICAgICAgc3Vic2NyaXB0aW9uLFxuICAgICAgcHJpY2luZywgKi9cbiAgICB3YWl0bGlzdCxcbiAgICBjb25maWd1cmF0aW9uXG4gIH1cbn0iXX0=
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0U0RLRm9yU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9nZXRTREtGb3JTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR3hELE9BQU8sRUFBVyxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzFHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUErQm5ELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxLQUFjLEVBQUUsVUFBOEIsRUFBRTtJQUMvRSxNQUFNLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUUvQyxXQUFXLENBQUMsU0FBUyxDQUFDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLElBQUksS0FBSyxFQUFFLENBQUM7UUFDVixXQUFXLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxVQUFVLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHLElBQUksY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pELE1BQU0sT0FBTyxHQUFHLElBQUksYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9DLE1BQU0sWUFBWSxHQUFHLElBQUksbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDMUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxNQUFNLE9BQU8sR0FBRyxJQUFJLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNoRCxNQUFNLFNBQVMsR0FBRyxJQUFJLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRXBEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O29EQW1CZ0Q7SUFDaEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEQsTUFBTSxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFckQsT0FBTztRQUNMLFFBQVE7UUFDUixPQUFPO1FBQ1AsWUFBWTtRQUNaLE9BQU87UUFDUCxHQUFHO1FBQ0gsVUFBVTtRQUNWLE9BQU87UUFDUCxTQUFTO1FBQ1Q7Ozs7Ozs7Ozs7Ozs7cUJBYWE7UUFDYixRQUFRO1FBQ1IsYUFBYTtLQUNkLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0QXBwY29uZGFDbGllbnQgfSBmcm9tICcuL2dldEFwcGNvbmRhQ2xpZW50JztcbmltcG9ydCB0eXBlIHsgQXBwY29uZGFDbGllbnRPcHRpb25zIH0gZnJvbSAnLi9nZXRBcHBjb25kYUNsaWVudCc7XG5cbmltcG9ydCB7IEFjY291bnQsIEJ1aWxkZXJTZXJ2aWNlLCBEYXRhU291cmNlU2VydmljZSwgU2NyYXBmbG93U2VydmljZSwgV2FpdGxpc3RTZXJ2aWNlIH0gZnJvbSBcIi4vbW9kdWxlc1wiO1xuaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tIFwiLi9tb2R1bGVzL2FjY291bnYxXCI7XG5pbXBvcnQgeyBUZW5hbnRTZXJ2aWNlIH0gZnJvbSBcIi4vbW9kdWxlcy90ZW5hbnQvc2VydmljZVwiO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiB9IGZyb20gXCIuL3NlcnZpY2VzL2NvbmZpZ3VyYXRpb25cIjtcbmltcG9ydCB7IE9yZ2FuaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiLi9tb2R1bGVzL29yZ2FuaXphdGlvbi9zZXJ2aWNlXCI7XG5pbXBvcnQgeyBFbXBsb2lkU2VydmljZSB9IGZyb20gXCIuL21vZHVsZXMvZW1wbG9pZC9zZXJ2aWNlXCI7XG5pbXBvcnQgeyBCcG1TZXJ2aWNlIH0gZnJvbSBcIi4vbW9kdWxlcy9icG0vc2VydmljZVwiO1xuXG5leHBvcnQgdHlwZSBBcHBjb25kYVNESyA9IHtcbiAgYWNjb3VudHM6IEFjY291bnRTZXJ2aWNlLFxuICB0ZW5hbnRzOiBUZW5hbnRTZXJ2aWNlLFxuICBvcmdhbml6YXRpb246IE9yZ2FuaXphdGlvblNlcnZpY2UsXG4gIGVtcGxvaWQ6IEVtcGxvaWRTZXJ2aWNlLFxuICBicG06IEJwbVNlcnZpY2UsXG4gIGRhdGFzb3VyY2U6IERhdGFTb3VyY2VTZXJ2aWNlLFxuICBidWlsZGVyOiBCdWlsZGVyU2VydmljZSxcbiAgc2NyYXBmbG93OiBTY3JhcGZsb3dTZXJ2aWNlLFxuICAvKiAgIGN1cnJlbnRVc2VyLFxuICAgIGFjY291bnRzLFxuICAgIGRhdGFiYXNlcyxcbiAgICBwcm9qZWN0cyxcbiAgICB1c2VycyxcbiAgICB0ZWFtcyxcbiAgICB0ZW5hbnRzLFxuICAgIHJvbGVzLFxuICAgIHBlcm1pc3Npb25zLFxuICAgIHNjaGVtYXMsXG4gICAgY29tbXVuaXR5LFxuICAgIHRlbmFudFN1YnNjcmlwdGlvbnMsXG4gICAgc3Vic2NyaXB0aW9uLFxuICAgIHByaWNpbmcsICovXG4gIHdhaXRsaXN0OiBXYWl0bGlzdFNlcnZpY2UsXG4gIGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb25cbn1cblxuZXhwb3J0IHR5cGUgQXBwY29uZGFTREtPcHRpb25zID0gQXBwY29uZGFDbGllbnRPcHRpb25zO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U0RLRm9yU2VydmljZSh0b2tlbj86IHN0cmluZywgb3B0aW9uczogQXBwY29uZGFTREtPcHRpb25zID0ge30pOiBBcHBjb25kYVNESyB7XG4gIGNvbnN0IGFkbWluQ2xpZW50ID0gZ2V0QXBwY29uZGFDbGllbnQob3B0aW9ucyk7XG5cbiAgYWRtaW5DbGllbnQuYWRkSGVhZGVyKCd4LXNlcnZpY2UtdG9rZW4nLCAnJyk7XG4gIGlmICh0b2tlbikge1xuICAgIGFkbWluQ2xpZW50LmFkZEhlYWRlcignQXV0aG9yaXphdGlvbicsIGBCZWFyZXIgJHt0b2tlbn1gKTtcbiAgfVxuXG4gIGNvbnN0IGFjY291bnRzID0gbmV3IEFjY291bnRTZXJ2aWNlKGFkbWluQ2xpZW50KTtcbiAgY29uc3QgdGVuYW50cyA9IG5ldyBUZW5hbnRTZXJ2aWNlKGFkbWluQ2xpZW50KTtcbiAgY29uc3Qgb3JnYW5pemF0aW9uID0gbmV3IE9yZ2FuaXphdGlvblNlcnZpY2UoYWRtaW5DbGllbnQpO1xuICBjb25zdCBlbXBsb2lkID0gbmV3IEVtcGxvaWRTZXJ2aWNlKGFkbWluQ2xpZW50KTtcbiAgY29uc3QgYnBtID0gbmV3IEJwbVNlcnZpY2UoYWRtaW5DbGllbnQpO1xuICBjb25zdCBkYXRhc291cmNlID0gbmV3IERhdGFTb3VyY2VTZXJ2aWNlKGFkbWluQ2xpZW50KTtcbiAgY29uc3QgYnVpbGRlciA9IG5ldyBCdWlsZGVyU2VydmljZShhZG1pbkNsaWVudCk7XG4gIGNvbnN0IHNjcmFwZmxvdyA9IG5ldyBTY3JhcGZsb3dTZXJ2aWNlKGFkbWluQ2xpZW50KTtcblxuICAvKiAgICAgY29uc3QgZGF0YWJhc2VzID0gbmV3IERhdGFiYXNlcyhhZG1pbkNsaWVudCk7XG4gIFxuICAgICAgY29uc3QgcHJvamVjdHMgPSBuZXcgUHJvamVjdHMoYWRtaW5DbGllbnQpO1xuICBcbiAgICAgIGNvbnN0IGN1cnJlbnRVc2VyID0gYXdhaXQgYWNjb3VudHMuZ2V0KCk7XG4gIFxuICAgICAgY29uc3QgdXNlcnMgPSBuZXcgVXNlcnMoYWRtaW5DbGllbnQpO1xuICAgICAgY29uc3QgdGVhbXMgPSBuZXcgVGVhbXMoYWRtaW5DbGllbnQpO1xuICBcbiAgICAgXG4gICAgICBjb25zdCByb2xlcyA9IG5ldyBSb2xlcyhhZG1pbkNsaWVudCk7XG4gICAgICBjb25zdCBwZXJtaXNzaW9ucyA9IG5ldyBQZXJtaXNzaW9ucyhhZG1pbkNsaWVudCk7XG4gICAgICBjb25zdCBzY2hlbWFzID0gbmV3IFNjaGVtYXMoYWRtaW5DbGllbnQpO1xuICBcbiAgICAgIGNvbnN0IGNvbW11bml0eSA9IG5ldyBDb21tdW5pdHkoYWRtaW5DbGllbnQpO1xuICBcbiAgICAgIGNvbnN0IHRlbmFudFN1YnNjcmlwdGlvbnMgPSBuZXcgVGVuYW50U3Vic2NyaXB0aW9uKGFkbWluQ2xpZW50KTtcbiAgXG4gICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKGFkbWluQ2xpZW50KTtcbiAgICAgIGNvbnN0IHByaWNpbmcgPSBuZXcgUHJpY2luZyhhZG1pbkNsaWVudCk7ICovXG4gIGNvbnN0IHdhaXRsaXN0ID0gbmV3IFdhaXRsaXN0U2VydmljZShhZG1pbkNsaWVudCk7XG4gIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSBuZXcgQ29uZmlndXJhdGlvbihhZG1pbkNsaWVudCk7XG5cbiAgcmV0dXJuIHtcbiAgICBhY2NvdW50cyxcbiAgICB0ZW5hbnRzLFxuICAgIG9yZ2FuaXphdGlvbixcbiAgICBlbXBsb2lkLFxuICAgIGJwbSxcbiAgICBkYXRhc291cmNlLFxuICAgIGJ1aWxkZXIsXG4gICAgc2NyYXBmbG93LFxuICAgIC8qICAgY3VycmVudFVzZXIsXG4gICAgICBhY2NvdW50cyxcbiAgICAgIGRhdGFiYXNlcyxcbiAgICAgIHByb2plY3RzLFxuICAgICAgdXNlcnMsXG4gICAgICB0ZWFtcyxcbiAgICAgIHRlbmFudHMsXG4gICAgICByb2xlcyxcbiAgICAgIHBlcm1pc3Npb25zLFxuICAgICAgc2NoZW1hcyxcbiAgICAgIGNvbW11bml0eSxcbiAgICAgIHRlbmFudFN1YnNjcmlwdGlvbnMsXG4gICAgICBzdWJzY3JpcHRpb24sXG4gICAgICBwcmljaW5nLCAqL1xuICAgIHdhaXRsaXN0LFxuICAgIGNvbmZpZ3VyYXRpb25cbiAgfVxufVxuIl19
package/dist/index.d.ts CHANGED
@@ -1,3 +1,7 @@
1
1
  export * from './modules';
2
- export { getSDKForService, AppcondaSDK } from './getSDKForService';
2
+ export { getSDKForService } from './getSDKForService';
3
+ export type { AppcondaSDK, AppcondaSDKOptions } from './getSDKForService';
3
4
  export * from './EmploidClient';
5
+ export { getAppcondaClient, getAppcondaClientSync } from './getAppcondaClient';
6
+ export type { AppcondaClientOptions } from './getAppcondaClient';
7
+ export { Client, AppcondaException, Query } from './client';
package/dist/index.js CHANGED
@@ -1,4 +1,6 @@
1
1
  export * from './modules';
2
2
  export { getSDKForService } from './getSDKForService';
3
3
  export * from './EmploidClient';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUM7QUFDMUIsT0FBTyxFQUFFLGdCQUFnQixFQUFlLE1BQU0sb0JBQW9CLENBQUM7QUFDbkUsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9kdWxlcyc7XG5leHBvcnQgeyBnZXRTREtGb3JTZXJ2aWNlLCBBcHBjb25kYVNESyB9IGZyb20gJy4vZ2V0U0RLRm9yU2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL0VtcGxvaWRDbGllbnQnO1xuXG4iXX0=
4
+ export { getAppcondaClient, getAppcondaClientSync } from './getAppcondaClient';
5
+ export { Client, AppcondaException, Query } from './client';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUM7QUFDMUIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEQsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRSxPQUFPLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9kdWxlcyc7XG5leHBvcnQgeyBnZXRTREtGb3JTZXJ2aWNlIH0gZnJvbSAnLi9nZXRTREtGb3JTZXJ2aWNlJztcbmV4cG9ydCB0eXBlIHsgQXBwY29uZGFTREssIEFwcGNvbmRhU0RLT3B0aW9ucyB9IGZyb20gJy4vZ2V0U0RLRm9yU2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL0VtcGxvaWRDbGllbnQnO1xuZXhwb3J0IHsgZ2V0QXBwY29uZGFDbGllbnQsIGdldEFwcGNvbmRhQ2xpZW50U3luYyB9IGZyb20gJy4vZ2V0QXBwY29uZGFDbGllbnQnO1xuZXhwb3J0IHR5cGUgeyBBcHBjb25kYUNsaWVudE9wdGlvbnMgfSBmcm9tICcuL2dldEFwcGNvbmRhQ2xpZW50JztcbmV4cG9ydCB7IENsaWVudCwgQXBwY29uZGFFeGNlcHRpb24sIFF1ZXJ5IH0gZnJvbSAnLi9jbGllbnQnO1xuIl19
@@ -1017,9 +1017,13 @@ export declare const ListWorkerTopicsSchema: z.ZodObject<{
1017
1017
  workerId: z.ZodOptional<z.ZodString>;
1018
1018
  }, z.core.$strip>;
1019
1019
  export declare const CreateTopicSchema: z.ZodObject<{
1020
- entityName: z.ZodString;
1021
- entityDescription: z.ZodString;
1022
- categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
1020
+ tenantId: z.ZodString;
1021
+ entityId: z.ZodString;
1022
+ entityType: z.ZodString;
1023
+ title: z.ZodString;
1024
+ prompt: z.ZodOptional<z.ZodString>;
1025
+ instructions: z.ZodOptional<z.ZodArray<z.ZodString>>;
1026
+ category: z.ZodString;
1023
1027
  }, z.core.$strip>;
1024
1028
  export declare const UpdateTopicSchema: z.ZodObject<{
1025
1029
  id: z.ZodString;
@@ -1047,6 +1051,7 @@ export declare const PublishWorkerSchema: z.ZodObject<{
1047
1051
  workerId: z.ZodString;
1048
1052
  }, z.core.$strip>;
1049
1053
  export declare const EnhanceTopicSchema: z.ZodObject<{
1050
- tenantId: z.ZodString;
1051
- entityId: z.ZodOptional<z.ZodString>;
1054
+ entityName: z.ZodString;
1055
+ entityDescription: z.ZodString;
1056
+ categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
1052
1057
  }, z.core.$strip>;