@temporalio/common 0.22.0 → 1.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/lib/converter/data-converter.d.ts +10 -6
- package/lib/converter/data-converter.js +3 -4
- package/lib/converter/data-converter.js.map +1 -1
- package/lib/converter/json-payload-converter.d.ts +10 -0
- package/lib/converter/json-payload-converter.js +39 -0
- package/lib/converter/json-payload-converter.js.map +1 -0
- package/lib/converter/payload-codec.d.ts +0 -7
- package/lib/converter/payload-codec.js +0 -8
- package/lib/converter/payload-codec.js.map +1 -1
- package/lib/converter/payload-converter.d.ts +13 -44
- package/lib/converter/payload-converter.js +8 -85
- package/lib/converter/payload-converter.js.map +1 -1
- package/lib/converter/payload-converters.d.ts +47 -11
- package/lib/converter/payload-converters.js +75 -36
- package/lib/converter/payload-converters.js.map +1 -1
- package/lib/converter/protobuf-payload-converters.d.ts +1 -2
- package/lib/converter/protobuf-payload-converters.js +7 -5
- package/lib/converter/protobuf-payload-converters.js.map +1 -1
- package/lib/converter/search-attribute-payload-converter.d.ts +12 -0
- package/lib/converter/search-attribute-payload-converter.js +64 -0
- package/lib/converter/search-attribute-payload-converter.js.map +1 -0
- package/lib/converter/types.d.ts +1 -2
- package/lib/converter/types.js.map +1 -1
- package/lib/failure.d.ts +52 -40
- package/lib/failure.js +85 -56
- package/lib/failure.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/otel.d.ts +26 -0
- package/lib/otel.js +87 -0
- package/lib/otel.js.map +1 -0
- package/lib/proto-utils.d.ts +28 -0
- package/lib/proto-utils.js +85 -0
- package/lib/proto-utils.js.map +1 -0
- package/lib/protobufs.d.ts +2 -2
- package/lib/protobufs.js +4 -2
- package/lib/protobufs.js.map +1 -1
- package/package.json +11 -8
- package/src/converter/data-converter.ts +14 -9
- package/src/converter/json-payload-converter.ts +37 -0
- package/src/converter/payload-codec.ts +0 -8
- package/src/converter/payload-converter.ts +17 -99
- package/src/converter/payload-converters.ts +99 -40
- package/src/converter/protobuf-payload-converters.ts +8 -4
- package/src/converter/search-attribute-payload-converter.ts +71 -0
- package/src/converter/types.ts +1 -2
- package/src/failure.ts +87 -56
- package/src/index.ts +1 -0
- package/src/otel.ts +63 -0
- package/src/proto-utils.ts +103 -0
- package/src/protobufs.ts +2 -2
- package/lib/converter/patch-protobuf-root.d.ts +0 -1
- package/lib/converter/patch-protobuf-root.js +0 -6
- package/lib/converter/patch-protobuf-root.js.map +0 -1
- package/src/converter/patch-protobuf-root.ts +0 -1
- package/tsconfig.json +0 -9
- package/tsconfig.tsbuildinfo +0 -1
package/src/failure.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { checkExtends, hasOwnProperties, isRecord } from '@temporalio/internal-workflow-common';
|
|
2
2
|
import type { temporal } from '@temporalio/proto';
|
|
3
|
-
import { arrayFromPayloads, fromPayloadsAtIndex,
|
|
3
|
+
import { PayloadConverter, arrayFromPayloads, fromPayloadsAtIndex, toPayloads } from './converter/payload-converter';
|
|
4
4
|
|
|
5
5
|
export const FAILURE_SOURCE = 'TypeScriptSDK';
|
|
6
6
|
export type ProtoFailure = temporal.api.failure.v1.IFailure;
|
|
@@ -70,27 +70,28 @@ export class ServerFailure extends TemporalFailure {
|
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
/**
|
|
73
|
-
*
|
|
74
|
-
* Activities.
|
|
73
|
+
* `ApplicationFailure`s are used to communicate application-specific failures in Workflows and Activities.
|
|
75
74
|
*
|
|
76
|
-
*
|
|
77
|
-
* the
|
|
75
|
+
* The {@link type} property is matched against {@link RetryPolicy.nonRetryableErrorTypes} to determine if an instance
|
|
76
|
+
* of this error is retryable. Another way to avoid retrying is by setting the {@link nonRetryable} flag to `true`.
|
|
78
77
|
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
78
|
+
* In Workflows, if you throw a non-`ApplicationFailure`, the Workflow Task will fail and be retried. If you throw an
|
|
79
|
+
* `ApplicationFailure`, the Workflow Execution will fail.
|
|
81
80
|
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
81
|
+
* In Activities, you can either throw an `ApplicationFailure` or another `Error` to fail the Activity Task. In the
|
|
82
|
+
* latter case, the `Error` will be converted to an `ApplicationFailure`. If the
|
|
83
|
+
* {@link https://docs.temporal.io/concepts/what-is-an-activity-execution | Activity Execution} fails, the
|
|
84
|
+
* `ApplicationFailure` from the last Activity Task will be the `cause` of the {@link ActivityFailure} thrown in the
|
|
85
|
+
* Workflow.
|
|
85
86
|
*
|
|
86
|
-
* The conversion of an
|
|
87
|
-
*
|
|
87
|
+
* The conversion of an error that doesn't extend {@link TemporalFailure} to an `ApplicationFailure` is done as
|
|
88
|
+
* following:
|
|
88
89
|
*
|
|
89
|
-
* - type is set to
|
|
90
|
-
* - message is set to
|
|
91
|
-
* - nonRetryable is set to false
|
|
92
|
-
* - details are set to null
|
|
93
|
-
* - stack trace is copied from the original
|
|
90
|
+
* - `type` is set to `error.constructor?.name ?? error.name`
|
|
91
|
+
* - `message` is set to `error.message`
|
|
92
|
+
* - `nonRetryable` is set to false
|
|
93
|
+
* - `details` are set to null
|
|
94
|
+
* - stack trace is copied from the original error
|
|
94
95
|
*/
|
|
95
96
|
export class ApplicationFailure extends TemporalFailure {
|
|
96
97
|
public readonly name: string = 'ApplicationFailure';
|
|
@@ -106,29 +107,26 @@ export class ApplicationFailure extends TemporalFailure {
|
|
|
106
107
|
}
|
|
107
108
|
|
|
108
109
|
/**
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
* property of the correspondent retry policy.
|
|
110
|
+
* Get a new `ApplicationFailure` with the {@link nonRetryable} flag set to false. Note that this error will still
|
|
111
|
+
* not be retried if its `type` is included in {@link RetryPolicy.nonRetryableErrorTypes}.
|
|
112
112
|
*
|
|
113
|
-
* @param message
|
|
114
|
-
* @param type
|
|
115
|
-
* @param details
|
|
116
|
-
* as arguments and results.
|
|
113
|
+
* @param message Optional error message
|
|
114
|
+
* @param type Optional error type (used by {@link RetryPolicy.nonRetryableErrorTypes})
|
|
115
|
+
* @param details Optional details about the failure. Serialized by the Worker's {@link PayloadConverter}.
|
|
117
116
|
*/
|
|
118
117
|
public static retryable(message: string | undefined, type?: string, ...details: unknown[]): ApplicationFailure {
|
|
119
118
|
return new this(message, type ?? 'Error', false, details);
|
|
120
119
|
}
|
|
121
120
|
|
|
122
121
|
/**
|
|
123
|
-
*
|
|
122
|
+
* Get a new `ApplicationFailure` with the {@link nonRetryable} flag set to true.
|
|
124
123
|
*
|
|
125
|
-
*
|
|
126
|
-
*
|
|
124
|
+
* When thrown from an Activity or Workflow, the Activity or Workflow will not be retried (even if `type` is not
|
|
125
|
+
* listed in {@link RetryPolicy.nonRetryableErrorTypes}).
|
|
127
126
|
*
|
|
128
|
-
* @param message
|
|
129
|
-
* @param type
|
|
130
|
-
* @param details
|
|
131
|
-
* as arguments and results.
|
|
127
|
+
* @param message Optional error message
|
|
128
|
+
* @param type Optional error type
|
|
129
|
+
* @param details Optional details about the failure. Serialized by the Worker's {@link PayloadConverter}.
|
|
132
130
|
*/
|
|
133
131
|
public static nonRetryable(message: string | undefined, type?: string, ...details: unknown[]): ApplicationFailure {
|
|
134
132
|
return new this(message, type ?? 'Error', true, details);
|
|
@@ -136,7 +134,11 @@ export class ApplicationFailure extends TemporalFailure {
|
|
|
136
134
|
}
|
|
137
135
|
|
|
138
136
|
/**
|
|
139
|
-
*
|
|
137
|
+
* This error is thrown when Cancellation has been requested. To allow Cancellation to happen, let it propagate. To
|
|
138
|
+
* ignore Cancellation, catch it and continue executing. Note that Cancellation can only be requested a single time, so
|
|
139
|
+
* your Workflow/Activity Execution will not receive further Cancellation requests.
|
|
140
|
+
*
|
|
141
|
+
* When a Workflow or Activity has been successfully cancelled, a `CancelledFailure` will be the `cause`.
|
|
140
142
|
*/
|
|
141
143
|
export class CancelledFailure extends TemporalFailure {
|
|
142
144
|
public readonly name: string = 'CancelledFailure';
|
|
@@ -147,7 +149,7 @@ export class CancelledFailure extends TemporalFailure {
|
|
|
147
149
|
}
|
|
148
150
|
|
|
149
151
|
/**
|
|
150
|
-
* Used as the cause
|
|
152
|
+
* Used as the `cause` when a Workflow has been terminated
|
|
151
153
|
*/
|
|
152
154
|
export class TerminatedFailure extends TemporalFailure {
|
|
153
155
|
public readonly name: string = 'TerminatedFailure';
|
|
@@ -173,12 +175,14 @@ export class TimeoutFailure extends TemporalFailure {
|
|
|
173
175
|
}
|
|
174
176
|
|
|
175
177
|
/**
|
|
176
|
-
* Contains information about an
|
|
177
|
-
*
|
|
178
|
+
* Contains information about an Activity failure. Always contains the original reason for the failure as its `cause`.
|
|
179
|
+
* For example, if an Activity timed out, the cause will be a {@link TimeoutFailure}.
|
|
178
180
|
*
|
|
179
181
|
* This exception is expected to be thrown only by the framework code.
|
|
180
182
|
*/
|
|
181
183
|
export class ActivityFailure extends TemporalFailure {
|
|
184
|
+
public readonly name: string = 'ActivityFailure';
|
|
185
|
+
|
|
182
186
|
public constructor(
|
|
183
187
|
public readonly activityType: string,
|
|
184
188
|
public readonly activityId: string | undefined,
|
|
@@ -191,12 +195,14 @@ export class ActivityFailure extends TemporalFailure {
|
|
|
191
195
|
}
|
|
192
196
|
|
|
193
197
|
/**
|
|
194
|
-
* Contains information about
|
|
195
|
-
*
|
|
198
|
+
* Contains information about a Child Workflow failure. Always contains the reason for the failure as its {@link cause}.
|
|
199
|
+
* For example, if the Child was Terminated, the `cause` is a {@link TerminatedFailure}.
|
|
196
200
|
*
|
|
197
201
|
* This exception is expected to be thrown only by the framework code.
|
|
198
202
|
*/
|
|
199
203
|
export class ChildWorkflowFailure extends TemporalFailure {
|
|
204
|
+
public readonly name: string = 'ChildWorkflowFailure';
|
|
205
|
+
|
|
200
206
|
public constructor(
|
|
201
207
|
public readonly namespace: string | undefined,
|
|
202
208
|
public readonly execution: WorkflowExecution,
|
|
@@ -225,9 +231,9 @@ const CUTOFF_STACK_PATTERNS = [
|
|
|
225
231
|
/** Activity execution */
|
|
226
232
|
/\s+at Activity\.execute \(.*[\\/]worker[\\/](?:src|lib)[\\/]activity\.[jt]s:\d+:\d+\)/,
|
|
227
233
|
/** Workflow activation */
|
|
228
|
-
/\s+at Activator\.\S+NextHandler \(
|
|
234
|
+
/\s+at Activator\.\S+NextHandler \(.*[\\/]workflow[\\/](?:src|lib)[\\/]internals\.[jt]s:\d+:\d+\)/,
|
|
229
235
|
/** Workflow run anything in context */
|
|
230
|
-
/\s+at Script\.runInContext/,
|
|
236
|
+
/\s+at Script\.runInContext \((?:node:vm|vm\.js):\d+:\d+\)/,
|
|
231
237
|
];
|
|
232
238
|
|
|
233
239
|
/**
|
|
@@ -337,27 +343,38 @@ export function errorToFailure(err: unknown, payloadConverter: PayloadConverter)
|
|
|
337
343
|
};
|
|
338
344
|
}
|
|
339
345
|
|
|
340
|
-
const recommendation = ` [A non-Error value was thrown from your code. We recommend throwing Error objects so that we can provide a stack trace
|
|
346
|
+
const recommendation = ` [A non-Error value was thrown from your code. We recommend throwing Error objects so that we can provide a stack trace]`;
|
|
341
347
|
|
|
342
348
|
if (typeof err === 'string') {
|
|
343
349
|
return { ...base, message: err + recommendation };
|
|
344
350
|
}
|
|
351
|
+
if (typeof err === 'object') {
|
|
352
|
+
let message = '';
|
|
353
|
+
try {
|
|
354
|
+
message = JSON.stringify(err);
|
|
355
|
+
} catch (_err) {
|
|
356
|
+
message = String(err);
|
|
357
|
+
}
|
|
358
|
+
return { ...base, message: message + recommendation };
|
|
359
|
+
}
|
|
345
360
|
|
|
346
|
-
return { ...base, message:
|
|
361
|
+
return { ...base, message: String(err) + recommendation };
|
|
347
362
|
}
|
|
348
363
|
|
|
349
364
|
/**
|
|
350
365
|
* If `err` is an Error it is turned into an `ApplicationFailure`.
|
|
351
366
|
*
|
|
352
|
-
* If `err` was already a `
|
|
367
|
+
* If `err` was already a `ApplicationFailure`, returns the original error.
|
|
353
368
|
*
|
|
354
369
|
* Otherwise returns an `ApplicationFailure` with `String(err)` as the message.
|
|
355
370
|
*/
|
|
356
|
-
export function
|
|
357
|
-
if (err instanceof
|
|
371
|
+
export function ensureApplicationFailure(err: unknown): ApplicationFailure {
|
|
372
|
+
if (err instanceof ApplicationFailure) {
|
|
358
373
|
return err;
|
|
359
|
-
}
|
|
360
|
-
|
|
374
|
+
}
|
|
375
|
+
if (err instanceof Error) {
|
|
376
|
+
const name = err.constructor?.name ?? err.name;
|
|
377
|
+
const failure = new ApplicationFailure(err.message, name, false);
|
|
361
378
|
failure.stack = err.stack;
|
|
362
379
|
return failure;
|
|
363
380
|
} else {
|
|
@@ -367,6 +384,20 @@ export function ensureTemporalFailure(err: unknown): TemporalFailure {
|
|
|
367
384
|
}
|
|
368
385
|
}
|
|
369
386
|
|
|
387
|
+
/**
|
|
388
|
+
* If `err` is an Error it is turned into an `ApplicationFailure`.
|
|
389
|
+
*
|
|
390
|
+
* If `err` was already a `TemporalFailure`, returns the original error.
|
|
391
|
+
*
|
|
392
|
+
* Otherwise returns an `ApplicationFailure` with `String(err)` as the message.
|
|
393
|
+
*/
|
|
394
|
+
export function ensureTemporalFailure(err: unknown): TemporalFailure {
|
|
395
|
+
if (err instanceof TemporalFailure) {
|
|
396
|
+
return err;
|
|
397
|
+
}
|
|
398
|
+
return ensureApplicationFailure(err);
|
|
399
|
+
}
|
|
400
|
+
|
|
370
401
|
/**
|
|
371
402
|
* Converts a Failure proto message to a JS Error object if defined or returns undefined.
|
|
372
403
|
*/
|
|
@@ -470,20 +501,20 @@ export function failureToError(failure: ProtoFailure, payloadConverter: PayloadC
|
|
|
470
501
|
}
|
|
471
502
|
|
|
472
503
|
/**
|
|
473
|
-
* Get the root cause
|
|
504
|
+
* Get the root cause message of given `error`.
|
|
474
505
|
*
|
|
475
|
-
* In case `
|
|
476
|
-
* Otherwise, return `
|
|
506
|
+
* In case `error` is a {@link TemporalFailure}, recurse the `cause` chain and return the root `cause.message`.
|
|
507
|
+
* Otherwise, return `error.message`.
|
|
477
508
|
*/
|
|
478
|
-
export function rootCause(
|
|
479
|
-
if (
|
|
480
|
-
return
|
|
509
|
+
export function rootCause(error: unknown): string | undefined {
|
|
510
|
+
if (error instanceof TemporalFailure) {
|
|
511
|
+
return error.cause ? rootCause(error.cause) : error.message;
|
|
481
512
|
}
|
|
482
|
-
if (
|
|
483
|
-
return
|
|
513
|
+
if (error instanceof Error) {
|
|
514
|
+
return error.message;
|
|
484
515
|
}
|
|
485
|
-
if (typeof
|
|
486
|
-
return
|
|
516
|
+
if (typeof error === 'string') {
|
|
517
|
+
return error;
|
|
487
518
|
}
|
|
488
519
|
return undefined;
|
|
489
520
|
}
|
package/src/index.ts
CHANGED
|
@@ -13,5 +13,6 @@ export * from './converter/data-converter';
|
|
|
13
13
|
export * from './converter/payload-codec';
|
|
14
14
|
export * from './converter/payload-converter';
|
|
15
15
|
export * from './converter/payload-converters';
|
|
16
|
+
export * from './converter/json-payload-converter';
|
|
16
17
|
export * from './converter/types';
|
|
17
18
|
export * from './failure';
|
package/src/otel.ts
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import * as otel from '@opentelemetry/api';
|
|
2
|
+
import { Headers } from '@temporalio/internal-workflow-common';
|
|
3
|
+
import { defaultPayloadConverter } from './converter/payload-converters';
|
|
4
|
+
|
|
5
|
+
/** Default trace header for opentelemetry interceptors */
|
|
6
|
+
export const TRACE_HEADER = '_tracer-data';
|
|
7
|
+
/** As in workflow run id */
|
|
8
|
+
export const RUN_ID_ATTR_KEY = 'run_id';
|
|
9
|
+
/** For a workflow or activity task */
|
|
10
|
+
export const TASK_TOKEN_ATTR_KEY = 'task_token';
|
|
11
|
+
/** Number of jobs in a workflow activation */
|
|
12
|
+
export const NUM_JOBS_ATTR_KEY = 'num_jobs';
|
|
13
|
+
|
|
14
|
+
const payloadConverter = defaultPayloadConverter;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* If found, return an otel Context deserialized from the provided headers
|
|
18
|
+
*/
|
|
19
|
+
export async function extractContextFromHeaders(headers: Headers): Promise<otel.Context | undefined> {
|
|
20
|
+
const encodedSpanContext = headers[TRACE_HEADER];
|
|
21
|
+
if (encodedSpanContext === undefined) {
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
const textMap: Record<string, string> = payloadConverter.fromPayload(encodedSpanContext);
|
|
25
|
+
return otel.propagation.extract(otel.context.active(), textMap, otel.defaultTextMapGetter);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* If found, return an otel SpanContext deserialized from the provided headers
|
|
30
|
+
*/
|
|
31
|
+
export async function extractSpanContextFromHeaders(headers: Headers): Promise<otel.SpanContext | undefined> {
|
|
32
|
+
const context = await extractContextFromHeaders(headers);
|
|
33
|
+
if (context === undefined) {
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return otel.trace.getSpanContext(context);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Given headers, return new headers with the current otel context inserted
|
|
42
|
+
*/
|
|
43
|
+
export async function headersWithContext(headers: Headers): Promise<Headers> {
|
|
44
|
+
const carrier = {};
|
|
45
|
+
otel.propagation.inject(otel.context.active(), carrier, otel.defaultTextMapSetter);
|
|
46
|
+
return { ...headers, [TRACE_HEADER]: payloadConverter.toPayload(carrier) };
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Link a span to an maybe-existing span context
|
|
51
|
+
*/
|
|
52
|
+
export function linkSpans(fromSpan: otel.Span, toContext?: otel.SpanContext): void {
|
|
53
|
+
if (toContext !== undefined) {
|
|
54
|
+
// TODO: I have to go around typescript because otel api 😢
|
|
55
|
+
// See https://github.com/open-telemetry/opentelemetry-js-api/issues/124
|
|
56
|
+
const links = (fromSpan as any).links;
|
|
57
|
+
if (links === undefined) {
|
|
58
|
+
(fromSpan as any).links = [{ context: toContext }];
|
|
59
|
+
} else {
|
|
60
|
+
links.push({ context: toContext });
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import proto from '@temporalio/proto';
|
|
2
|
+
import { fromProto3JSON, toProto3JSON } from 'proto3-json-serializer';
|
|
3
|
+
import { patchProtobufRoot } from '@temporalio/proto/lib/patch-protobuf-root';
|
|
4
|
+
|
|
5
|
+
export type History = proto.temporal.api.history.v1.IHistory;
|
|
6
|
+
export type Payload = proto.temporal.api.common.v1.IPayload;
|
|
7
|
+
|
|
8
|
+
// Cast to any because the generated proto module types are missing the lookupType method
|
|
9
|
+
const patched = patchProtobufRoot(proto) as any;
|
|
10
|
+
const historyType = patched.lookupType('temporal.api.history.v1.History');
|
|
11
|
+
const payloadType = patched.lookupType('temporal.api.common.v1.Payload');
|
|
12
|
+
|
|
13
|
+
function pascalCaseToConstantCase(s: string) {
|
|
14
|
+
return s.replace(/[^\b][A-Z]/g, (m) => `${m[0]}_${m[1]}`).toUpperCase();
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
function fixEnumValue<O extends Record<string, any>>(obj: O, attr: keyof O, prefix: string) {
|
|
18
|
+
return (
|
|
19
|
+
obj[attr] && {
|
|
20
|
+
[attr]: `${prefix}_${pascalCaseToConstantCase(obj[attr])}`,
|
|
21
|
+
}
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function fixHistoryEvent(e: Record<string, any>) {
|
|
26
|
+
const type = Object.keys(e).find((k) => k.endsWith('EventAttributes'));
|
|
27
|
+
if (!type) {
|
|
28
|
+
throw new TypeError(`Missing attributes in history event: ${JSON.stringify(e)}`);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return {
|
|
32
|
+
...e,
|
|
33
|
+
...fixEnumValue(e, 'eventType', 'EVENT_TYPE'),
|
|
34
|
+
[type]: {
|
|
35
|
+
...e[type],
|
|
36
|
+
...(e[type].taskQueue && {
|
|
37
|
+
taskQueue: { ...e[type].taskQueue, ...fixEnumValue(e[type].taskQueue, 'kind', 'TASK_QUEUE_KIND') },
|
|
38
|
+
}),
|
|
39
|
+
...fixEnumValue(e[type], 'parentClosePolicy', 'PARENT_CLOSE_POLICY'),
|
|
40
|
+
...fixEnumValue(e[type], 'workflowIdReusePolicy', 'WORKFLOW_ID_REUSE_POLICY'),
|
|
41
|
+
...fixEnumValue(e[type], 'initiator', 'CONTINUE_AS_NEW_INITIATOR'),
|
|
42
|
+
...fixEnumValue(e[type], 'retryState', 'RETRY_STATE'),
|
|
43
|
+
...(e[type].childWorkflowExecutionFailureInfo && {
|
|
44
|
+
childWorkflowExecutionFailureInfo: {
|
|
45
|
+
...e[type].childWorkflowExecutionFailureInfo,
|
|
46
|
+
...fixEnumValue(e[type].childWorkflowExecutionFailureInfo, 'retryState', 'RETRY_STATE'),
|
|
47
|
+
},
|
|
48
|
+
}),
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function fixHistory(h: Record<string, any>) {
|
|
54
|
+
return {
|
|
55
|
+
events: h.events.map(fixHistoryEvent),
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Convert a proto JSON representation of History to a valid History object
|
|
61
|
+
*/
|
|
62
|
+
export function historyFromJSON(history: unknown): History {
|
|
63
|
+
if (typeof history !== 'object' || history == null || !Array.isArray((history as any).events)) {
|
|
64
|
+
throw new TypeError('Invalid history, expected an object with an array of events');
|
|
65
|
+
}
|
|
66
|
+
const loaded = fromProto3JSON(historyType, fixHistory(history));
|
|
67
|
+
if (loaded === null) {
|
|
68
|
+
throw new TypeError('Invalid history');
|
|
69
|
+
}
|
|
70
|
+
return loaded as any;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* JSON representation of Temporal's {@link Payload} protobuf object
|
|
75
|
+
*/
|
|
76
|
+
export interface JSONPayload {
|
|
77
|
+
/**
|
|
78
|
+
* Mapping of key to base64 encoded value
|
|
79
|
+
*/
|
|
80
|
+
metadata?: Record<string, string> | null;
|
|
81
|
+
/**
|
|
82
|
+
* base64 encoded value
|
|
83
|
+
*/
|
|
84
|
+
data?: string | null;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Convert from protobuf payload to JSON
|
|
89
|
+
*/
|
|
90
|
+
export function payloadToJSON(payload: Payload): JSONPayload {
|
|
91
|
+
return toProto3JSON(patched.temporal.api.common.v1.Payload.create(payload)) as any;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Convert from JSON to protobuf payload
|
|
96
|
+
*/
|
|
97
|
+
export function JSONToPayload(json: JSONPayload): Payload {
|
|
98
|
+
const loaded = fromProto3JSON(payloadType, json as any);
|
|
99
|
+
if (loaded === null) {
|
|
100
|
+
throw new TypeError('Invalid payload');
|
|
101
|
+
}
|
|
102
|
+
return loaded as any;
|
|
103
|
+
}
|
package/src/protobufs.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Entry point for classes and utilities related to using
|
|
3
|
-
*
|
|
3
|
+
* {@link https://docs.temporal.io/typescript/data-converters#protobufs | Protobufs} for serialization.
|
|
4
4
|
*
|
|
5
5
|
* Import from `@temporalio/common/lib/protobufs`, for example:
|
|
6
6
|
*
|
|
@@ -12,4 +12,4 @@
|
|
|
12
12
|
|
|
13
13
|
// Don't export from index, so we save space in Workflow bundles of users who don't use Protobufs
|
|
14
14
|
export * from './converter/protobuf-payload-converters';
|
|
15
|
-
export
|
|
15
|
+
export { patchProtobufRoot } from '@temporalio/proto/lib/patch-protobuf-root';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { patchProtobufRoot } from '@temporalio/proto/lib/patch-protobuf-root';
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.patchProtobufRoot = void 0;
|
|
4
|
-
var patch_protobuf_root_1 = require("@temporalio/proto/lib/patch-protobuf-root");
|
|
5
|
-
Object.defineProperty(exports, "patchProtobufRoot", { enumerable: true, get: function () { return patch_protobuf_root_1.patchProtobufRoot; } });
|
|
6
|
-
//# sourceMappingURL=patch-protobuf-root.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"patch-protobuf-root.js","sourceRoot":"","sources":["../../src/converter/patch-protobuf-root.ts"],"names":[],"mappings":";;;AAAA,iFAA8E;AAArE,wHAAA,iBAAiB,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { patchProtobufRoot } from '@temporalio/proto/lib/patch-protobuf-root';
|
package/tsconfig.json
DELETED
package/tsconfig.tsbuildinfo
DELETED
|
@@ -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.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.es2020.bigint.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.esnext.intl.d.ts","../../node_modules/@types/long/index.d.ts","../../node_modules/protobufjs/index.d.ts","../proto/protos/root.d.ts","../proto/protos/index.d.ts","../internal-workflow-common/lib/retry-policy.d.ts","../internal-workflow-common/lib/activity-options.d.ts","../internal-workflow-common/lib/errors.d.ts","../internal-workflow-common/lib/type-helpers.d.ts","../internal-workflow-common/lib/interceptors.d.ts","../internal-workflow-common/lib/interfaces.d.ts","../internal-workflow-common/lib/time.d.ts","../internal-workflow-common/lib/workflow-handle.d.ts","../internal-workflow-common/lib/workflow-options.d.ts","../internal-workflow-common/lib/index.d.ts","./src/converter/encoding.ts","./src/converter/types.ts","./src/converter/payload-converters.ts","./src/converter/payload-converter.ts","./src/failure.ts","./src/converter/payload-codec.ts","./src/converter/data-converter.ts","./src/index.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/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/proto3-json-serializer/build/src/types.d.ts","../../node_modules/proto3-json-serializer/build/src/toproto3json.d.ts","../../node_modules/proto3-json-serializer/build/src/fromproto3json.d.ts","../../node_modules/proto3-json-serializer/build/src/index.d.ts","./src/converter/protobuf-payload-converters.ts","../proto/lib/patch-protobuf-root.d.ts","./src/converter/patch-protobuf-root.ts","./src/protobufs.ts","../../node_modules/@types/retry/index.d.ts","../../node_modules/@types/async-retry/index.d.ts","../../node_modules/keyv/src/index.d.ts","../../node_modules/@types/http-cache-semantics/index.d.ts","../../node_modules/@types/responselike/index.d.ts","../../node_modules/@types/cacheable-request/index.d.ts","../../node_modules/@types/cross-spawn/index.d.ts","../../node_modules/@types/dedent/index.d.ts","../../node_modules/@types/eslint/helpers.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/eslint/index.d.ts","../../node_modules/@types/eslint-scope/index.d.ts","../../node_modules/@types/fs-extra/index.d.ts","../../node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/glob/index.d.ts","../../node_modules/@types/tough-cookie/index.d.ts","../../node_modules/@types/got/index.d.ts","../../node_modules/@types/json-buffer/index.d.ts","../../node_modules/@types/keyv/index.d.ts","../../node_modules/@types/linkify-it/index.d.ts","../../node_modules/@types/lodash/common/common.d.ts","../../node_modules/@types/lodash/common/array.d.ts","../../node_modules/@types/lodash/common/collection.d.ts","../../node_modules/@types/lodash/common/date.d.ts","../../node_modules/@types/lodash/common/function.d.ts","../../node_modules/@types/lodash/common/lang.d.ts","../../node_modules/@types/lodash/common/math.d.ts","../../node_modules/@types/lodash/common/number.d.ts","../../node_modules/@types/lodash/common/object.d.ts","../../node_modules/@types/lodash/common/seq.d.ts","../../node_modules/@types/lodash/common/string.d.ts","../../node_modules/@types/lodash/common/util.d.ts","../../node_modules/@types/lodash/index.d.ts","../../node_modules/@types/mdurl/encode.d.ts","../../node_modules/@types/mdurl/decode.d.ts","../../node_modules/@types/mdurl/parse.d.ts","../../node_modules/@types/mdurl/format.d.ts","../../node_modules/@types/mdurl/index.d.ts","../../node_modules/@types/markdown-it/lib/common/utils.d.ts","../../node_modules/@types/markdown-it/lib/token.d.ts","../../node_modules/@types/markdown-it/lib/rules_inline/state_inline.d.ts","../../node_modules/@types/markdown-it/lib/helpers/parse_link_label.d.ts","../../node_modules/@types/markdown-it/lib/helpers/parse_link_destination.d.ts","../../node_modules/@types/markdown-it/lib/helpers/parse_link_title.d.ts","../../node_modules/@types/markdown-it/lib/helpers/index.d.ts","../../node_modules/@types/markdown-it/lib/ruler.d.ts","../../node_modules/@types/markdown-it/lib/rules_block/state_block.d.ts","../../node_modules/@types/markdown-it/lib/parser_block.d.ts","../../node_modules/@types/markdown-it/lib/rules_core/state_core.d.ts","../../node_modules/@types/markdown-it/lib/parser_core.d.ts","../../node_modules/@types/markdown-it/lib/parser_inline.d.ts","../../node_modules/@types/markdown-it/lib/renderer.d.ts","../../node_modules/@types/markdown-it/lib/index.d.ts","../../node_modules/@types/markdown-it/index.d.ts","../../node_modules/@types/minimist/index.d.ts","../../node_modules/@types/minipass/index.d.ts","../../node_modules/@types/ms/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/parse-json/index.d.ts","../../node_modules/@types/pidusage/index.d.ts","../../node_modules/@types/prompts/index.d.ts","../../node_modules/ts-toolbelt/out/index.d.ts","../../node_modules/@types/ramda/tools.d.ts","../../node_modules/@types/ramda/index.d.ts","../../node_modules/@types/rimraf/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/tar/index.d.ts","../../node_modules/@types/uuid/index.d.ts","../../node_modules/@types/validate-npm-package-name/index.d.ts"],"fileInfos":[{"version":"3ac1b83264055b28c0165688fda6dfcc39001e9e7828f649299101c23ad0a0c3","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940",{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","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":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"5075b36ab861c8c0c45377cb8c96270d7c65f0eeaf105d53fac6850da61f1027","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},"e8465811693dfe4e96ef2b3dffda539d6edfe896961b7af37b44db2c0e48532b","1558c642e03689d42843e7b047b9c20e77ee09ab388ff854484db5dcfbed11da","1483036bc7965f2b68e63475c4ac7bae6b398b60262be25725c0542779afcdd2","e784aa955e0c457fac13e62cf5ae21238000032b0c60fe4c138891912ac4ceed","82a29801c5e4e2a6cf192da6a810b79e7be27a3a3e846d38fc6f1a67750a940f","1f86b92d8d772ebeeb5b4a6fc4bb4fb13ae7275d69fbb2ed0128fb589a6fc057","e6a153915ebf3d92d5cfa88c1169dbbf6cc425db01dde390c1c126bcfdbb238b","8c1c7f187912d5dadec77f8bd1fdf1f4099bf86ddf33525525beaf290f5d1789","c53ea76f31dbe2c5f5b76d2a07268b7e969a30fbcccca4d7271dccac54259311","bafd8944f9cbefccff23b2af47517925f3fa0be29251308fdc4485cf2e99afb4","97fdf5a317f77456a8d2d20c9eaf61f64611dbf6baa2b6ca36bbbeb6b456aae7","1a7689daffa54e39ebac4d793b9a38605e6c1354ba4f82a2777599d2e316d118","02cac870dfa641086d52c0a1dde60c3bcd070228d64637f4016230c41ca36791","9863b273003f68928bab5740056d3de2f3344749b4a24cf3dedc6d3cbda79d81","5df28c24c67ee8717517dc0909d9be34eac9433c328d3448260db9c507f5643b","da8a81475d63b1809bc0ea979245f66aa6d634d793e12eebffb753f39a991612","7adb7d7d64bb0cb299e7d9ad4480adda50869788efc727eaa3ec1c0823ad8307","636458341136c89298861b54055b5f7db38a00e039b633046b25f2c554430ec1","6e97fc991b0108b668546686aa10542a30dce23449022ad62109d61146434ce1","0e0830bf3fdf7a5c22178395e0db35de4757bccaea8bbc9f14371edaacff5f2e","4d87db0eea777011b7748a9e1364f9f5aa2c210146bc88ca4bb7011b443404f1","92551832d2af47e8871e238ac42299ec1a005864cba26307a61df8e50cfcb9f6","0d5a2ee1fdfa82740e0103389b9efd6bfe145a20018a2da3c02b89666181f4d9","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"92d63add669d18ebc349efbacd88966d6f2ccdddfb1b880b2db98ae3aa7bf7c4","affectsGlobalScope":true},"ccc94049a9841fe47abe5baef6be9a38fc6228807974ae675fb15dc22531b4be",{"version":"aeeee3998c5a730f8689f04038d41cf4245c9edbf6ef29a698e45b36e399b8ed","affectsGlobalScope":true},"95843d5cfafced8f3f8a5ce57d2335f0bcd361b9483587d12a25e4bd403b8216","afc6e96061af46bcff47246158caee7e056f5288783f2d83d6858cd25be1c565",{"version":"34f5bcac12b36d70304b73de5f5aab3bb91bd9919f984be80579ebcad03a624e","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","2f520601649a893e6a49a8851ebfcf4be8ce090dc1281c2a08a871cb04e8251f","f50c975ab7b50e25a69e3d8a3773894125b44e9698924105f23b812bf7488baf","2b8c764f856a1dd0a9a2bf23e5efddbff157de8138b0754010be561ae5fcaa90","76650408392bf49a8fbf3e2b6b302712a92d76af77b06e2da1cc8077359c4409","0af3121e68297b2247dd331c0d24dba599e50736a7517a5622d5591aae4a3122","6972fca26f6e9bd56197568d4379f99071a90766e06b4fcb5920a0130a9202be",{"version":"4a2628e95962c8ab756121faa3ac2ed348112ff7a87b5c286dd2cc3326546b4c","affectsGlobalScope":true},"80793b2277f31baa199234daed806fff0fb11491d1ebd3357e520c3558063f00","a049a59a02009fc023684fcfaf0ac526fe36c35dcc5d2b7d620c1750ba11b083","e3b886bacdd1fbf1f72e654596c80a55c7bc1d10bdf464aaf52f45ecd243862f","c665d5c50c2573aefd98f0ffb12c5583e333ed94294ce6f144a4163a8c84f09b","4b9a003b5c556c96784132945bb41c655ea11273b1917f5c8d0c154dd5fd20dd","a458dc78104cc80048ac24fdc02fe6dce254838094c2f25641b3f954d9721241",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"8a215750db3e2073511e07c9e293c8c40d6109e5c7368845e060bcc12adbae6f","abc1c425b2ad6720433f40f1877abfa4223f0f3dd486c9c28c492179ca183cb6","945a841f9a591197154c85386bc5a1467d42d325104bb36db51bc566bbb240be","10c39ce1df102994b47d4bc0c71aa9a6aea76f4651a5ec51914431f50bc883a1",{"version":"8207e7e6db9aa5fc7e61c8f17ba74cf9c115d26f51f91ee93f790815a7ea9dfb","affectsGlobalScope":true},"9f1069b9e2c051737b1f9b4f1baf50e4a63385a6a89c32235549ae87fc3d5492","ee18f2da7a037c6ceeb112a084e485aead9ea166980bf433474559eac1b46553","29c2706fa0cc49a2bd90c83234da33d08bb9554ecec675e91c1f85087f5a5324","0acbf26bf958f9e80c1ffa587b74749d2697b75b484062d36e103c137c562bc3","3fa48484c65913004d5abb5c0f917b61ea4684f32d05bb28c1ecfa5f05a9ed12","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"33eee034727baf564056b4ea719075c23d3b4767d0b5f9c6933b81f3d77774d2","c33a6ea7147af60d8e98f1ac127047f4b0d4e2ce28b8f08ff3de07ca7cc00637",{"version":"b42b47e17b8ece2424ae8039feb944c2e3ba4b262986aebd582e51efbdca93dc","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","2408611d9b4146e35d1dbd1f443ccd8e187c74614a54b80300728277529dbf11","998a3de5237518c0b3ac00a11b3b4417affb008aa20aedee52f3fdae3cb86151","ad41008ffe077206e1811fc873f4d9005b5fd7f6ab52bb6118fef600815a5cb4",{"version":"dd9ea469d1bfaf589c6a196275d35cb1aa14014707c2c46d920c7b921e8f5bca","affectsGlobalScope":true},"badae0df9a8016ac36994b0a0e7b82ba6aaa3528e175a8c3cb161e4683eec03e","c3db860bcaaaeb3bbc23f353bbda1f8ab82756c8d5e973bebb3953cb09ea68f2","235a53595bd20b0b0eeb1a29cb2887c67c48375e92f03749b2488fbd46d0b1a0","bc09393cd4cd13f69cf1366d4236fbae5359bb550f0de4e15767e9a91d63dfb1","9c266243b01545e11d2733a55ad02b4c00ecdbda99c561cd1674f96e89cdc958","c71155c05fc76ff948a4759abc1cb9feec036509f500174bc18dad4c7827a60c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"1503a452a67127e5c2da794d1c7c44344d5038373aae16c9b03ac964db159edd","8d5ad6a07dc84c0fba4041cba09bfc9c75bc06b04e8843405e3fb2456c721438","e680ff882bccd2bb6574128a17e1a32d7a49b8eb161a9a739dd60f8362e3d4d9","a4d6781f2d709fe9f1378181deb3f457036c7ebc7968a233f7bc16f343b98ced","aa7d0095b9763a3b47c1851036d87152872a3d7f1733732b0a0e14655b0ee34b","f15772b5bc8d544ffcca3aeeb66e2d6f3892aededf706bd2be41192bff366c52","317fb02258f4be48abc25edbfe9944e95fe68cb71d7dfc70e76ab47ceadca816","7c3c4c2d03f974aaf540e85b0275ed5e179d3d4994e0921ec0dbeb9d7444b803","c0b119add21c1647a84c7403e45611c89e404536ca145b30334ad1c66becdb99","58a3914b1cce4560d9ad6eee2b716caaa030eda0a90b21ca2457ea9e2783eaa3","79d2fdaa1e0bf1a62b59de50e185374b74d22dc43144a78eab1bbcca0a4a2550","cd71905370ede696577acc23c695181e618a7d08616b1d06b43d3e6a12880fab","cab425b5559edac18327eb2c3c0f47e7e9f71b667290b7689faafd28aac69eae","3cfb0cb51cc2c2e1b313d7c4df04dbf7e5bda0a133c6b309bf6af77cf614b971","f992cd6cc0bcbaa4e6c810468c90f2d8595f8c6c3cf050c806397d3de8585562","5e3a55837aa1f42af2d2334c9b750f59f5f50a2205471875f5dd6aadc3e49ddb","70646d9cb37b62611766d18a9bcca6cbf28ca9aec33a66244e974056ab1193f6",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","a1c79f857f5c7754e14c93949dad8cfefcd7df2ecc0dc9dd79a30fd493e28449","8566fa84085caa46340393b1704ecd368491918fb45bd688d6e89736aec73a2f","dc33ce27fbeaf0ea3da556c80a6cc8af9d13eb443088c8f25cdc39fca8e756f6","ed19da84b7dbf00952ad0b98ce5c194f1903bcf7c94d8103e8e0d63b271543ae","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","cc256fd958b33576ed32c7338c64adb0d08fc0c2c6525010202fab83f32745da","19bf3ca55fd356755cda33e6e8c753d3d13d4aaa54ad9c5c032927f362188066","75bdc1b420f0ffc6cc6fd0b6694d89f5072bf755b4e6c7e65a2fda797ca0bb8a","fec943fdb3275eb6e006b35e04a8e2e99e9adf3f4b969ddf15315ac7575a93e4","6503fb6addf62f9b10f8564d9869ad824565a914ec1ac3dd7d13da14a3f57036","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","fe4a2042d087990ebfc7dc0142d5aaf5a152e4baea86b45f283f103ec1e871ea","d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","ca59fe42b81228a317812e95a2e72ccc8c7f1911b5f0c2a032adf41a0161ec5d","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","ae9930989ed57478eb03b9b80ad3efa7a3eacdfeff0f78ecf7894c4963a64f93","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",{"version":"0714e2046df66c0e93c3330d30dbc0565b3e8cd3ee302cf99e4ede6220e5fec8","affectsGlobalScope":true},"f313731860257325f13351575f381fef333d4dfe30daf5a2e72f894208feea08","951b37f7d86f6012f09e6b35f1de57c69d75f16908cb0adaa56b93675ea0b853","3816fc03ffd9cbd1a7a3362a264756a4a1d547caabea50ca68303046be40e376","0c417b4ec46b88fb62a43ec00204700b560d01eb5677c7faa8ecd34610f096a8","13d29cdeb64e8496424edf42749bbb47de5e42d201cf958911a4638cbcffbd3f","0f9e381eecc5860f693c31fe463b3ca20a64ca9b8db0cf6208cd4a053f064809","95902d5561c6aac5dfc40568a12b0aca324037749dcd32a81f23423bfde69bab","5dfb2aca4136abdc5a2740f14be8134a6e6b66fd53470bb2e954e40f8abfaf3e","577463167dd69bd81f76697dfc3f7b22b77a6152f60a602a9218e52e3183ad67","b8396e9024d554b611cbe31a024b176ba7116063d19354b5a02dccd8f0118989","4b28e1c5bf88d891e07a1403358b81a51b3ba2eae1ffada51cca7476b5ac6407","7150ad575d28bf98fae321a1c0f10ad17b127927811f488ded6ff1d88d4244e5","8b155c4757d197969553de3762c8d23d5866710301de41e1b66b97c9ed867003","93733466609dd8bf72eace502a24ca7574bd073d934216e628f1b615c8d3cb3c","45e9228761aabcadb79c82fb3008523db334491525bdb8e74e0f26eaf7a4f7f4","aeacac2778c9821512b6b889da79ac31606a863610c8f28da1e483579627bf90","569fdb354062fc098a6a3ba93a029edf22d6fe480cf72b231b3c07832b2e7c97","bf9876e62fb7f4237deafab8c7444770ef6e82b4cad2d5dc768664ff340feeb2","6cf60e76d37faf0fbc2f80a873eab0fd545f6b1bf300e7f0823f956ddb3083e9","6adaa6103086f931e3eee20f0987e86e8879e9d13aa6bd6075ccfc58b9c5681c","ee0af0f2b8d3b4d0baf669f2ff6fcef4a8816a473c894cc7c905029f7505fed0","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","2d7833f437e0f41a91d9ac5b156157fde7e5380558ff44832afae705ac0e795d","6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","208bb742e0f201470da121bc73847c74b62cff4172f38ae5949ae77d6c9c6b71","3663d1b50f356656a314e5df169bb51cb9d5fd75905fa703f75db6bb32030568","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","bef99c239e4fb2f51b7cc4952d019cb30bacd8c2e9fa07884886dbe3624cbcfb","4c8239bedbe72ce9405efb578f03f56219dba4ceb5a57ca3d2dc10334612f210","9df147746b0cbd11d022b564e6fdd43ac79b643dc579d2123317ee01cc4f0d70","fcd714a42a6b383a6240c056da9326afcea41a0d289a23206990f2550e5c1988","19392d5faf0ddca7ecdf300ace20ff6a5a120a11b6536a767fb1d9feb592cec5","f4cf5f0ad1cfb0ceebbe4fbe8aaf0aa728e899c99cc36ec6c0c4b8f6e8a84c83","d9e55d93aa33fad61bd5c63800972d00ba8879ec5d29f6f3bce67d16d86abc33","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","c544d81603149987796b24cca297c965db427b84b2580fb27e52fb37ddc1f470","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","9eb2875a1e4c583066af7d6194ea8162191b2756e5d87ccb3c562fdf74d06869","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","6eef5113135a0f2bbac8259909a5bbb7666bcde022c28f4ab95145623cbe1f72","058b8dd97b7c67b6bf33e7bda7b1e247b019b675d4b6449d14ac002091a8b4f8","89c8a7b88c378663a8124664f2d9b8c2887e186b55aa066edf6d67177ca1aa04","5a30ba65ad753eb2ef65355dbb3011b28b192cb9df2ef0b5f595b51ca7faf353","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","86d425f7fcd8d100dafa6286cc289af88cbb639ecbdbd25c3018a8f0f7b09fe5","9795e0a3a45d5b6f1a791ee54b7c8b58bc931e8900966cea2dff9c5bae56073b","5890be29879d02424b7654f40592915189034948f7a18c5ad121c006d4e92811","0ab49086f10c75a1cb3b18bffe799dae021774146d8a2d5a4bb42dda67b64f9b","81c77839e152b8f715ec67b0a8b910bcc2d6cf916794c3519f8798c40efd12ac","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","464843c00fb3dd4735b28255c5c9fe713f16b8e47a3db09ba1647687440f7aef","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","d0f6d36b2d86f934560c48d8bfdc7ab60c67cfb2ab6dc1916706aa68e83d6dc2","239f0c1d83d1ca9677327198196ee2ce6827dc7b469771ab5abf7bea7fbdb674","fab58e600970e66547644a44bc9918e3223aa2cbd9e8763cec004b2cfb48827e","bae219fc966077e88ec22d2dc2eb24617d3244d3593afdc5f2457fabd27d7462"],"options":{"composite":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":7},"fileIdsList":[[104,120],[76,79,103,104,111,122,123,124],[66,104,111],[104],[104,130,131],[104,128,129,130],[77,104,111],[76,77,104,111,134],[79,81,93,103,104,111,136],[76,104,111],[104,141,143,144,145,146,147,148,149,150,151,152,153],[104,141,142,144,145,146,147,148,149,150,151,152,153],[104,142,143,144,145,146,147,148,149,150,151,152,153],[104,141,142,143,145,146,147,148,149,150,151,152,153],[104,141,142,143,144,146,147,148,149,150,151,152,153],[104,141,142,143,144,145,147,148,149,150,151,152,153],[104,141,142,143,144,145,146,148,149,150,151,152,153],[104,141,142,143,144,145,146,147,149,150,151,152,153],[104,141,142,143,144,145,146,147,148,150,151,152,153],[104,141,142,143,144,145,146,147,148,149,151,152,153],[104,141,142,143,144,145,146,147,148,149,150,152,153],[104,141,142,143,144,145,146,147,148,149,150,151,153],[104,141,142,143,144,145,146,147,148,149,150,151,152],[104,173],[104,158],[104,162,163,164],[104,161],[104,163],[104,140,159,160,165,168,170,171,172],[104,160,166,167,173],[104,166,169],[104,160,161,166,173],[104,160,173],[104,154,155,156,157],[79,103,104,111,178,179],[79,93,104,111],[61,104],[64,104],[65,70,104],[66,76,77,84,93,103,104],[66,67,76,84,104],[68,104],[69,70,77,85,104],[70,93,100,104],[71,73,76,84,104],[72,104],[73,74,104],[75,76,104],[76,104],[76,77,78,93,103,104],[76,77,78,93,104],[79,84,93,103,104],[76,77,79,80,84,93,100,103,104],[79,81,93,100,103,104],[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,101,102,103,104,105,106,107,108,109,110],[76,82,104],[83,103,104],[73,76,84,93,104],[85,104],[86,104],[64,87,104],[88,102,104,108],[89,104],[90,104],[76,91,104],[91,92,104,106],[76,93,94,95,104],[93,95,104],[93,94,104],[96,104],[97,104],[76,98,99,104],[98,99,104],[70,84,100,104],[101,104],[84,102,104],[65,79,90,103,104],[70,104],[93,104,105],[104,106],[104,107],[65,70,76,78,87,93,103,104,106,108],[93,104,109],[104,185,186],[104,185],[77,104,111,135],[104,189,228],[104,189,213,228],[104,228],[104,189],[104,189,214,228],[104,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227],[104,214,228],[76,93,104,109,111,176],[40,104,112],[104,112,113,114],[104,111],[56,58,104],[104,117],[54,104],[52,54,55,104],[52,54,56,104],[40,52,54,55,56,104,115],[42,53,104],[42,52,56,104],[44,45,48,49,51,52,54,55,56,57,58,59,104],[104,116,118],[42,43,104],[43,44,45,46,47,48,49,50,51,104],[42,46,104],[42,104],[48,104],[42,43,46,48,104],[41,104],[39,40,104]],"referencedMap":[[121,1],[125,2],[126,3],[127,4],[132,5],[128,4],[131,6],[130,4],[133,7],[135,8],[137,9],[123,4],[138,4],[129,4],[139,10],[140,4],[142,11],[143,12],[141,13],[144,14],[145,15],[146,16],[147,17],[148,18],[149,19],[150,20],[151,21],[152,22],[153,23],[39,4],[174,24],[159,25],[165,26],[163,4],[162,27],[164,28],[173,29],[168,30],[170,31],[171,32],[172,33],[166,4],[167,33],[169,33],[161,33],[160,4],[155,4],[154,4],[157,25],[158,34],[156,25],[134,4],[175,4],[176,10],[177,4],[179,4],[180,35],[178,36],[61,37],[62,37],[64,38],[65,39],[66,40],[67,41],[68,42],[69,43],[70,44],[71,45],[72,46],[73,47],[74,47],[75,48],[76,49],[77,50],[78,51],[63,4],[110,4],[79,52],[80,53],[81,54],[111,55],[82,56],[83,57],[84,58],[85,59],[86,60],[87,61],[88,62],[89,63],[90,64],[91,65],[92,66],[93,67],[95,68],[94,69],[96,70],[97,71],[98,72],[99,73],[100,74],[101,75],[102,76],[103,77],[104,78],[105,79],[106,80],[107,81],[108,82],[109,83],[181,4],[182,4],[183,4],[184,4],[187,84],[186,85],[124,36],[120,4],[188,86],[213,87],[214,88],[189,89],[192,89],[211,87],[212,87],[202,90],[201,90],[199,87],[194,87],[207,87],[205,87],[209,87],[193,87],[206,87],[210,87],[195,87],[196,87],[208,87],[190,87],[197,87],[198,87],[200,87],[204,87],[215,91],[203,87],[191,87],[228,92],[227,4],[222,91],[224,93],[223,91],[216,91],[217,91],[219,91],[221,91],[225,93],[226,93],[218,93],[220,93],[229,94],[136,4],[230,4],[231,4],[122,49],[114,95],[115,96],[113,95],[112,97],[40,4],[185,85],[9,4],[8,4],[2,4],[10,4],[11,4],[12,4],[13,4],[14,4],[15,4],[16,4],[17,4],[3,4],[4,4],[21,4],[18,4],[19,4],[20,4],[22,4],[23,4],[24,4],[5,4],[25,4],[26,4],[27,4],[28,4],[6,4],[29,4],[30,4],[31,4],[32,4],[7,4],[37,4],[33,4],[34,4],[35,4],[36,4],[1,4],[38,4],[59,98],[53,4],[118,99],[58,100],[56,101],[55,102],[116,103],[54,104],[57,105],[60,106],[119,107],[44,108],[45,4],[52,109],[47,110],[48,4],[43,111],[49,111],[46,4],[50,112],[51,113],[117,4],[42,114],[41,115]],"exportedModulesMap":[[121,1],[125,2],[126,3],[127,4],[132,5],[128,4],[131,6],[130,4],[133,7],[135,8],[137,9],[123,4],[138,4],[129,4],[139,10],[140,4],[142,11],[143,12],[141,13],[144,14],[145,15],[146,16],[147,17],[148,18],[149,19],[150,20],[151,21],[152,22],[153,23],[39,4],[174,24],[159,25],[165,26],[163,4],[162,27],[164,28],[173,29],[168,30],[170,31],[171,32],[172,33],[166,4],[167,33],[169,33],[161,33],[160,4],[155,4],[154,4],[157,25],[158,34],[156,25],[134,4],[175,4],[176,10],[177,4],[179,4],[180,35],[178,36],[61,37],[62,37],[64,38],[65,39],[66,40],[67,41],[68,42],[69,43],[70,44],[71,45],[72,46],[73,47],[74,47],[75,48],[76,49],[77,50],[78,51],[63,4],[110,4],[79,52],[80,53],[81,54],[111,55],[82,56],[83,57],[84,58],[85,59],[86,60],[87,61],[88,62],[89,63],[90,64],[91,65],[92,66],[93,67],[95,68],[94,69],[96,70],[97,71],[98,72],[99,73],[100,74],[101,75],[102,76],[103,77],[104,78],[105,79],[106,80],[107,81],[108,82],[109,83],[181,4],[182,4],[183,4],[184,4],[187,84],[186,85],[124,36],[120,4],[188,86],[213,87],[214,88],[189,89],[192,89],[211,87],[212,87],[202,90],[201,90],[199,87],[194,87],[207,87],[205,87],[209,87],[193,87],[206,87],[210,87],[195,87],[196,87],[208,87],[190,87],[197,87],[198,87],[200,87],[204,87],[215,91],[203,87],[191,87],[228,92],[227,4],[222,91],[224,93],[223,91],[216,91],[217,91],[219,91],[221,91],[225,93],[226,93],[218,93],[220,93],[229,94],[136,4],[230,4],[231,4],[122,49],[114,95],[115,96],[113,95],[112,97],[40,4],[185,85],[9,4],[8,4],[2,4],[10,4],[11,4],[12,4],[13,4],[14,4],[15,4],[16,4],[17,4],[3,4],[4,4],[21,4],[18,4],[19,4],[20,4],[22,4],[23,4],[24,4],[5,4],[25,4],[26,4],[27,4],[28,4],[6,4],[29,4],[30,4],[31,4],[32,4],[7,4],[37,4],[33,4],[34,4],[35,4],[36,4],[1,4],[38,4],[59,98],[53,4],[118,99],[58,100],[56,101],[55,102],[116,103],[54,104],[57,105],[60,106],[119,107],[44,108],[45,4],[52,109],[47,110],[48,4],[43,111],[49,111],[46,4],[50,112],[51,113],[117,4],[42,114],[41,115]],"semanticDiagnosticsPerFile":[121,125,126,127,132,128,131,130,133,135,137,123,138,129,139,140,142,143,141,144,145,146,147,148,149,150,151,152,153,39,174,159,165,163,162,164,173,168,170,171,172,166,167,169,161,160,155,154,157,158,156,134,175,176,177,179,180,178,61,62,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,63,110,79,80,81,111,82,83,84,85,86,87,88,89,90,91,92,93,95,94,96,97,98,99,100,101,102,103,104,105,106,107,108,109,181,182,183,184,187,186,124,120,188,213,214,189,192,211,212,202,201,199,194,207,205,209,193,206,210,195,196,208,190,197,198,200,204,215,203,191,228,227,222,224,223,216,217,219,221,225,226,218,220,229,136,230,231,122,114,115,113,112,40,185,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,29,30,31,32,7,37,33,34,35,36,1,38,59,53,118,58,56,55,116,54,57,60,119,44,45,52,47,48,43,49,46,50,51,117,42,41]},"version":"4.6.3"}
|