From 21a7694ba28fb135f3a3b50b6ecc40762cbd6b34 Mon Sep 17 00:00:00 2001 From: Isabel Duan Date: Tue, 25 Jun 2024 14:46:57 -0700 Subject: [PATCH 1/7] unconstrained type parameter comparision test + fix --- src/compiler/checker.ts | 5 ++++- .../unconstrainedTypeComparisons.errors.txt | 12 ++++++++++++ .../reference/unconstrainedTypeComparisons.js | 11 +++++++++++ .../unconstrainedTypeComparisons.symbols | 15 +++++++++++++++ .../unconstrainedTypeComparisons.types | 19 +++++++++++++++++++ .../compiler/unconstrainedTypeComparisons.ts | 7 +++++++ 6 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 tests/baselines/reference/unconstrainedTypeComparisons.errors.txt create mode 100644 tests/baselines/reference/unconstrainedTypeComparisons.js create mode 100644 tests/baselines/reference/unconstrainedTypeComparisons.symbols create mode 100644 tests/baselines/reference/unconstrainedTypeComparisons.types create mode 100644 tests/cases/compiler/unconstrainedTypeComparisons.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 146bbc540b006..07fdc25671012 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -27329,7 +27329,10 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { function getTypeFactsWorker(type: Type, callerOnlyNeeds: TypeFacts): TypeFacts { if (type.flags & (TypeFlags.Intersection | TypeFlags.Instantiable)) { - type = getBaseConstraintOfType(type) || unknownType; + const constraintType = getBaseConstraintOfType(type) || unknownType; + if (type.flags & TypeFlags.Instantiable && constraintType === unknownType) return callerOnlyNeeds; + + type = constraintType } const flags = type.flags; if (flags & (TypeFlags.String | TypeFlags.StringMapping)) { diff --git a/tests/baselines/reference/unconstrainedTypeComparisons.errors.txt b/tests/baselines/reference/unconstrainedTypeComparisons.errors.txt new file mode 100644 index 0000000000000..35b0248a4ce11 --- /dev/null +++ b/tests/baselines/reference/unconstrainedTypeComparisons.errors.txt @@ -0,0 +1,12 @@ +unconstrainedTypeComparisons.ts(2,10): error TS18049: 'a' is possibly 'null' or 'undefined'. +unconstrainedTypeComparisons.ts(2,14): error TS18049: 'b' is possibly 'null' or 'undefined'. + + +==== unconstrainedTypeComparisons.ts (2 errors) ==== + export function g(a: T, b: T): boolean { + return a > b; + ~ +!!! error TS18049: 'a' is possibly 'null' or 'undefined'. + ~ +!!! error TS18049: 'b' is possibly 'null' or 'undefined'. + } \ No newline at end of file diff --git a/tests/baselines/reference/unconstrainedTypeComparisons.js b/tests/baselines/reference/unconstrainedTypeComparisons.js new file mode 100644 index 0000000000000..81fc01ce0c058 --- /dev/null +++ b/tests/baselines/reference/unconstrainedTypeComparisons.js @@ -0,0 +1,11 @@ +//// [tests/cases/compiler/unconstrainedTypeComparisons.ts] //// + +//// [unconstrainedTypeComparisons.ts] +export function g(a: T, b: T): boolean { + return a > b; +} + +//// [unconstrainedTypeComparisons.js] +export function g(a, b) { + return a > b; +} diff --git a/tests/baselines/reference/unconstrainedTypeComparisons.symbols b/tests/baselines/reference/unconstrainedTypeComparisons.symbols new file mode 100644 index 0000000000000..5146fdad4cfb3 --- /dev/null +++ b/tests/baselines/reference/unconstrainedTypeComparisons.symbols @@ -0,0 +1,15 @@ +//// [tests/cases/compiler/unconstrainedTypeComparisons.ts] //// + +=== unconstrainedTypeComparisons.ts === +export function g(a: T, b: T): boolean { +>g : Symbol(g, Decl(unconstrainedTypeComparisons.ts, 0, 0)) +>T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 0, 18)) +>a : Symbol(a, Decl(unconstrainedTypeComparisons.ts, 0, 21)) +>T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 0, 18)) +>b : Symbol(b, Decl(unconstrainedTypeComparisons.ts, 0, 26)) +>T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 0, 18)) + + return a > b; +>a : Symbol(a, Decl(unconstrainedTypeComparisons.ts, 0, 21)) +>b : Symbol(b, Decl(unconstrainedTypeComparisons.ts, 0, 26)) +} diff --git a/tests/baselines/reference/unconstrainedTypeComparisons.types b/tests/baselines/reference/unconstrainedTypeComparisons.types new file mode 100644 index 0000000000000..35ce029966552 --- /dev/null +++ b/tests/baselines/reference/unconstrainedTypeComparisons.types @@ -0,0 +1,19 @@ +//// [tests/cases/compiler/unconstrainedTypeComparisons.ts] //// + +=== unconstrainedTypeComparisons.ts === +export function g(a: T, b: T): boolean { +>g : (a: T, b: T) => boolean +> : ^ ^^ ^^ ^^ ^^ ^^^^^ +>a : T +> : ^ +>b : T +> : ^ + + return a > b; +>a > b : boolean +> : ^^^^^^^ +>a : T +> : ^ +>b : T +> : ^ +} diff --git a/tests/cases/compiler/unconstrainedTypeComparisons.ts b/tests/cases/compiler/unconstrainedTypeComparisons.ts new file mode 100644 index 0000000000000..7b7f1aea129ad --- /dev/null +++ b/tests/cases/compiler/unconstrainedTypeComparisons.ts @@ -0,0 +1,7 @@ +// @lib: es2015 +// @target: es2015 +// @strict: true + +export function g(a: T, b: T): boolean { + return a > b; +} \ No newline at end of file From 17500517ac496bc990461dec2b2caebd524b314b Mon Sep 17 00:00:00 2001 From: Isabel Duan Date: Tue, 25 Jun 2024 14:55:36 -0700 Subject: [PATCH 2/7] make strict only --- src/compiler/checker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 07fdc25671012..d6d970693f810 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -27330,7 +27330,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { function getTypeFactsWorker(type: Type, callerOnlyNeeds: TypeFacts): TypeFacts { if (type.flags & (TypeFlags.Intersection | TypeFlags.Instantiable)) { const constraintType = getBaseConstraintOfType(type) || unknownType; - if (type.flags & TypeFlags.Instantiable && constraintType === unknownType) return callerOnlyNeeds; + if (strictNullChecks && type.flags & TypeFlags.Instantiable && constraintType === unknownType) return callerOnlyNeeds; type = constraintType } From bc5392db823871ff759b44ff7f2245674af2de5d Mon Sep 17 00:00:00 2001 From: Isabel Duan Date: Thu, 27 Jun 2024 16:34:29 -0700 Subject: [PATCH 3/7] fix removeNullableByIntersection --- src/compiler/checker.ts | 9 +- .../controlFlowGenericTypes.errors.txt | 5 +- .../reference/controlFlowGenericTypes.types | 8 +- ...UnboundedTypeParamAssignability.errors.txt | 12 +- ...ricUnboundedTypeParamAssignability.symbols | 4 + ...nericUnboundedTypeParamAssignability.types | 24 +- ...inKeywordTypeguard(strict=true).errors.txt | 5 +- .../isomorphicMappedTypeInference.errors.txt | 188 +++++++++++ .../isomorphicMappedTypeInference.symbols | 2 - .../isomorphicMappedTypeInference.types | 77 +++-- .../keyofAndIndexedAccess.errors.txt | 112 ++++++- .../reference/keyofAndIndexedAccess.js | 10 +- .../reference/keyofAndIndexedAccess.types | 237 +++++++------- .../reference/mappedTypeErrors.errors.txt | 26 +- .../reference/mappedTypeErrors.types | 8 +- .../mappedTypeRelationships.errors.txt | 295 ++++++++++++++---- .../reference/mappedTypeRelationships.js | 4 +- .../reference/mappedTypeRelationships.types | 196 ++++++------ .../reference/unknownControlFlow.errors.txt | 11 +- .../reference/unknownControlFlow.types | 16 +- .../reference/voidUndefinedReduction.types | 4 +- 21 files changed, 863 insertions(+), 390 deletions(-) create mode 100644 tests/baselines/reference/isomorphicMappedTypeInference.errors.txt diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index d6d970693f810..7d380f3a153fb 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -27330,9 +27330,10 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { function getTypeFactsWorker(type: Type, callerOnlyNeeds: TypeFacts): TypeFacts { if (type.flags & (TypeFlags.Intersection | TypeFlags.Instantiable)) { const constraintType = getBaseConstraintOfType(type) || unknownType; - if (strictNullChecks && type.flags & TypeFlags.Instantiable && constraintType === unknownType) return callerOnlyNeeds; - - type = constraintType + if (strictNullChecks && type.flags & TypeFlags.Instantiable && constraintType === unknownType) { + return callerOnlyNeeds; + } + type = constraintType; } const flags = type.flags; if (flags & (TypeFlags.String | TypeFlags.StringMapping)) { @@ -27466,7 +27467,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // For each constituent type that can compare equal to the target nullable, intersect with the above union // if the type doesn't already include the opppsite nullable and the constituent can compare equal to the // opposite nullable; otherwise, just intersect with {}. - return mapType(type, t => hasTypeFacts(t, targetFacts) ? getIntersectionType([t, !(facts & otherIncludesFacts) && hasTypeFacts(t, otherFacts) ? emptyAndOtherUnion : emptyObjectType]) : t); + return mapType(type, t => hasTypeFacts(t, targetFacts) ? getIntersectionType([t, (strictNullChecks || !(facts & otherIncludesFacts)) && hasTypeFacts(t, otherFacts) ? emptyAndOtherUnion : emptyObjectType]) : t); } function recombineUnknownType(type: Type) { diff --git a/tests/baselines/reference/controlFlowGenericTypes.errors.txt b/tests/baselines/reference/controlFlowGenericTypes.errors.txt index 27101aaa81cc4..672969e2f0179 100644 --- a/tests/baselines/reference/controlFlowGenericTypes.errors.txt +++ b/tests/baselines/reference/controlFlowGenericTypes.errors.txt @@ -5,12 +5,13 @@ controlFlowGenericTypes.ts(81,11): error TS2339: Property 'foo' does not exist o controlFlowGenericTypes.ts(90,44): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value. controlFlowGenericTypes.ts(91,11): error TS2339: Property 'foo' does not exist on type 'MyUnion'. Property 'foo' does not exist on type 'AA'. +controlFlowGenericTypes.ts(146,16): error TS18049: 'obj' is possibly 'null' or 'undefined'. controlFlowGenericTypes.ts(156,16): error TS18048: 'obj' is possibly 'undefined'. controlFlowGenericTypes.ts(167,9): error TS18048: 'iSpec' is possibly 'undefined'. controlFlowGenericTypes.ts(168,9): error TS18048: 'iSpec' is possibly 'undefined'. -==== controlFlowGenericTypes.ts (8 errors) ==== +==== controlFlowGenericTypes.ts (9 errors) ==== function f1(x: T, y: { a: T }, z: [T]): string { if (x) { x; @@ -169,6 +170,8 @@ controlFlowGenericTypes.ts(168,9): error TS18048: 'iSpec' is possibly 'undefined function fx1(obj: T, key: K) { const x1 = obj[key]; + ~~~ +!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. const x2 = obj && obj[key]; } diff --git a/tests/baselines/reference/controlFlowGenericTypes.types b/tests/baselines/reference/controlFlowGenericTypes.types index 34aaf80709138..502de310144c1 100644 --- a/tests/baselines/reference/controlFlowGenericTypes.types +++ b/tests/baselines/reference/controlFlowGenericTypes.types @@ -596,10 +596,10 @@ function fx1(obj: T, key: K) { > : ^ const x1 = obj[key]; ->x1 : T[K] -> : ^^^^ ->obj[key] : T[K] -> : ^^^^ +>x1 : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ +>obj[key] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ >obj : T > : ^ >key : K diff --git a/tests/baselines/reference/genericUnboundedTypeParamAssignability.errors.txt b/tests/baselines/reference/genericUnboundedTypeParamAssignability.errors.txt index 8dad05aa147fd..eef2f0d6ba0f6 100644 --- a/tests/baselines/reference/genericUnboundedTypeParamAssignability.errors.txt +++ b/tests/baselines/reference/genericUnboundedTypeParamAssignability.errors.txt @@ -1,14 +1,14 @@ -genericUnboundedTypeParamAssignability.ts(2,5): error TS2339: Property 'toString' does not exist on type 'T'. +genericUnboundedTypeParamAssignability.ts(2,3): error TS18049: 'o' is possibly 'null' or 'undefined'. genericUnboundedTypeParamAssignability.ts(15,6): error TS2345: Argument of type 'T' is not assignable to parameter of type '{}'. genericUnboundedTypeParamAssignability.ts(16,6): error TS2345: Argument of type 'T' is not assignable to parameter of type 'Record'. -genericUnboundedTypeParamAssignability.ts(17,5): error TS2339: Property 'toString' does not exist on type 'T'. +genericUnboundedTypeParamAssignability.ts(17,3): error TS18049: 't' is possibly 'null' or 'undefined'. ==== genericUnboundedTypeParamAssignability.ts (4 errors) ==== function f1(o: T) { o.toString(); // error - ~~~~~~~~ -!!! error TS2339: Property 'toString' does not exist on type 'T'. + ~ +!!! error TS18049: 'o' is possibly 'null' or 'undefined'. } function f2(o: T) { @@ -30,7 +30,7 @@ genericUnboundedTypeParamAssignability.ts(17,5): error TS2339: Property 'toStrin !!! error TS2345: Argument of type 'T' is not assignable to parameter of type 'Record'. !!! related TS2208 genericUnboundedTypeParamAssignability.ts:13:15: This type parameter might need an `extends Record` constraint. t.toString(); // error, for the same reason as f1() - ~~~~~~~~ -!!! error TS2339: Property 'toString' does not exist on type 'T'. + ~ +!!! error TS18049: 't' is possibly 'null' or 'undefined'. } \ No newline at end of file diff --git a/tests/baselines/reference/genericUnboundedTypeParamAssignability.symbols b/tests/baselines/reference/genericUnboundedTypeParamAssignability.symbols index 6e5f0187940c6..0125bfed73ff2 100644 --- a/tests/baselines/reference/genericUnboundedTypeParamAssignability.symbols +++ b/tests/baselines/reference/genericUnboundedTypeParamAssignability.symbols @@ -8,7 +8,9 @@ function f1(o: T) { >T : Symbol(T, Decl(genericUnboundedTypeParamAssignability.ts, 0, 12)) o.toString(); // error +>o.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >o : Symbol(o, Decl(genericUnboundedTypeParamAssignability.ts, 0, 15)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) } function f2(o: T) { @@ -55,6 +57,8 @@ function user(t: T) { >t : Symbol(t, Decl(genericUnboundedTypeParamAssignability.ts, 12, 17)) t.toString(); // error, for the same reason as f1() +>t.toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) >t : Symbol(t, Decl(genericUnboundedTypeParamAssignability.ts, 12, 17)) +>toString : Symbol(Object.toString, Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/genericUnboundedTypeParamAssignability.types b/tests/baselines/reference/genericUnboundedTypeParamAssignability.types index 92816a1a292db..54480f3bd9e03 100644 --- a/tests/baselines/reference/genericUnboundedTypeParamAssignability.types +++ b/tests/baselines/reference/genericUnboundedTypeParamAssignability.types @@ -8,14 +8,14 @@ function f1(o: T) { > : ^ o.toString(); // error ->o.toString() : any -> : ^^^ ->o.toString : any -> : ^^^ +>o.toString() : string +> : ^^^^^^ +>o.toString : () => string +> : ^^^^^^ >o : T > : ^ ->toString : any -> : ^^^ +>toString : () => string +> : ^^^^^^ } function f2(o: T) { @@ -83,13 +83,13 @@ function user(t: T) { > : ^ t.toString(); // error, for the same reason as f1() ->t.toString() : any -> : ^^^ ->t.toString : any -> : ^^^ +>t.toString() : string +> : ^^^^^^ +>t.toString : () => string +> : ^^^^^^ >t : T > : ^ ->toString : any -> : ^^^ +>toString : () => string +> : ^^^^^^ } diff --git a/tests/baselines/reference/inKeywordTypeguard(strict=true).errors.txt b/tests/baselines/reference/inKeywordTypeguard(strict=true).errors.txt index 7b998070848b9..f1221aae3e3fd 100644 --- a/tests/baselines/reference/inKeywordTypeguard(strict=true).errors.txt +++ b/tests/baselines/reference/inKeywordTypeguard(strict=true).errors.txt @@ -30,7 +30,7 @@ inKeywordTypeguard.ts(90,5): error TS2564: Property 'a' has no initializer and i inKeywordTypeguard.ts(94,26): error TS2339: Property 'a' does not exist on type 'never'. inKeywordTypeguard.ts(155,16): error TS18046: 'x' is of type 'unknown'. inKeywordTypeguard.ts(158,21): error TS2638: Type '{}' may represent a primitive value, which is not permitted as the right operand of the 'in' operator. -inKeywordTypeguard.ts(183,16): error TS2322: Type 'T' is not assignable to type 'object'. +inKeywordTypeguard.ts(183,16): error TS18049: 'x' is possibly 'null' or 'undefined'. inKeywordTypeguard.ts(186,21): error TS2638: Type 'NonNullable' may represent a primitive value, which is not permitted as the right operand of the 'in' operator. @@ -277,8 +277,7 @@ inKeywordTypeguard.ts(186,21): error TS2638: Type 'NonNullable' may represent function f3(x: T) { if ("a" in x) { ~ -!!! error TS2322: Type 'T' is not assignable to type 'object'. -!!! related TS2208 inKeywordTypeguard.ts:182:13: This type parameter might need an `extends object` constraint. +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. x.a; } if (x && "a" in x) { diff --git a/tests/baselines/reference/isomorphicMappedTypeInference.errors.txt b/tests/baselines/reference/isomorphicMappedTypeInference.errors.txt new file mode 100644 index 0000000000000..b0edd9966d74f --- /dev/null +++ b/tests/baselines/reference/isomorphicMappedTypeInference.errors.txt @@ -0,0 +1,188 @@ +isomorphicMappedTypeInference.ts(20,9): error TS2536: Type 'Extract, string>' cannot be used to index type 'Boxified'. +isomorphicMappedTypeInference.ts(35,9): error TS2536: Type 'Extract, string>' cannot be used to index type 'Boxified'. + + +==== isomorphicMappedTypeInference.ts (2 errors) ==== + type Box = { + value: T; + } + + type Boxified = { + [P in keyof T]: Box; + } + + function box(x: T): Box { + return { value: x }; + } + + function unbox(x: Box): T { + return x.value; + } + + function boxify(obj: T): Boxified { + let result = {} as Boxified; + for (let k in obj) { + result[k] = box(obj[k]); + ~~~~~~~~~ +!!! error TS2536: Type 'Extract, string>' cannot be used to index type 'Boxified'. + } + return result; + } + + function unboxify(obj: Boxified): T { + let result = {} as T; + for (let k in obj) { + result[k] = unbox(obj[k]); + } + return result; + } + + function assignBoxified(obj: Boxified, values: T) { + for (let k in values) { + obj[k].value = values[k]; + ~~~~~~ +!!! error TS2536: Type 'Extract, string>' cannot be used to index type 'Boxified'. + } + } + + function f1() { + let v = { + a: 42, + b: "hello", + c: true + }; + let b = boxify(v); + let x: number = b.a.value; + } + + function f2() { + let b = { + a: box(42), + b: box("hello"), + c: box(true) + }; + let v = unboxify(b); + let x: number = v.a; + } + + function f3() { + let b = { + a: box(42), + b: box("hello"), + c: box(true) + }; + assignBoxified(b, { c: false }); + } + + function f4() { + let b = { + a: box(42), + b: box("hello"), + c: box(true) + }; + b = boxify(unboxify(b)); + b = unboxify(boxify(b)); + } + + function makeRecord(obj: { [P in K]: T }) { + return obj; + } + + function f5(s: string) { + let b = makeRecord({ + a: box(42), + b: box("hello"), + c: box(true) + }); + let v = unboxify(b); + let x: string | number | boolean = v.a; + } + + function makeDictionary(obj: { [x: string]: T }) { + return obj; + } + + function f6(s: string) { + let b = makeDictionary({ + a: box(42), + b: box("hello"), + c: box(true) + }); + let v = unboxify(b); + let x: string | number | boolean = v[s]; + } + + declare function validate(obj: { [P in keyof T]?: T[P] }): T; + declare function clone(obj: { readonly [P in keyof T]: T[P] }): T; + declare function validateAndClone(obj: { readonly [P in keyof T]?: T[P] }): T; + + type Foo = { + a?: number; + readonly b: string; + } + + function f10(foo: Foo) { + let x = validate(foo); // { a: number, readonly b: string } + let y = clone(foo); // { a?: number, b: string } + let z = validateAndClone(foo); // { a: number, b: string } + } + + // Repro from #12606 + + type Func = (...args: any[]) => T; + type Spec = { + [P in keyof T]: Func | Spec ; + }; + + /** + * Given a spec object recursively mapping properties to functions, creates a function + * producing an object of the same structure, by mapping each property to the result + * of calling its associated function with the supplied arguments. + */ + declare function applySpec(obj: Spec): (...args: any[]) => T; + + // Infers g1: (...args: any[]) => { sum: number, nested: { mul: string } } + var g1 = applySpec({ + sum: (a: any) => 3, + nested: { + mul: (b: any) => "n" + } + }); + + // Infers g2: (...args: any[]) => { foo: { bar: { baz: boolean } } } + var g2 = applySpec({ foo: { bar: { baz: (x: any) => true } } }); + + // Repro from #12633 + + const foo = (object: T, partial: Partial) => object; + let o = {a: 5, b: 7}; + foo(o, {b: 9}); + o = foo(o, {b: 9}); + + // Inferring to { [P in K]: X }, where K extends keyof T, produces same inferences as + // inferring to { [P in keyof T]: X }. + + declare function f20(obj: Pick): T; + declare function f21(obj: Pick): K; + declare function f22(obj: Boxified>): T; + declare function f23(obj: Pick): T; + declare function f24(obj: Pick): T & U; + + let x0 = f20({ foo: 42, bar: "hello" }); + let x1 = f21({ foo: 42, bar: "hello" }); + let x2 = f22({ foo: { value: 42} , bar: { value: "hello" } }); + let x3 = f23({ foo: 42, bar: "hello" }); + let x4 = f24({ foo: 42, bar: "hello" }); + + // Repro from #29765 + + function getProps(obj: T, list: K[]): Pick { + return {} as any; + } + + const myAny: any = {}; + + const o1 = getProps(myAny, ['foo', 'bar']); + + const o2: { foo: any; bar: any } = getProps(myAny, ['foo', 'bar']); + \ No newline at end of file diff --git a/tests/baselines/reference/isomorphicMappedTypeInference.symbols b/tests/baselines/reference/isomorphicMappedTypeInference.symbols index f48c4517b700d..fbfeb5b3bd59f 100644 --- a/tests/baselines/reference/isomorphicMappedTypeInference.symbols +++ b/tests/baselines/reference/isomorphicMappedTypeInference.symbols @@ -118,10 +118,8 @@ function assignBoxified(obj: Boxified, values: T) { >values : Symbol(values, Decl(isomorphicMappedTypeInference.ts, 32, 44)) obj[k].value = values[k]; ->obj[k].value : Symbol(value, Decl(isomorphicMappedTypeInference.ts, 0, 15)) >obj : Symbol(obj, Decl(isomorphicMappedTypeInference.ts, 32, 27)) >k : Symbol(k, Decl(isomorphicMappedTypeInference.ts, 33, 12)) ->value : Symbol(value, Decl(isomorphicMappedTypeInference.ts, 0, 15)) >values : Symbol(values, Decl(isomorphicMappedTypeInference.ts, 32, 44)) >k : Symbol(k, Decl(isomorphicMappedTypeInference.ts, 33, 12)) } diff --git a/tests/baselines/reference/isomorphicMappedTypeInference.types b/tests/baselines/reference/isomorphicMappedTypeInference.types index 964f662342216..92dfec41cb6cb 100644 --- a/tests/baselines/reference/isomorphicMappedTypeInference.types +++ b/tests/baselines/reference/isomorphicMappedTypeInference.types @@ -65,30 +65,30 @@ function boxify(obj: T): Boxified { > : ^^ for (let k in obj) { ->k : Extract -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>k : Extract, string> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj : T > : ^ result[k] = box(obj[k]); ->result[k] = box(obj[k]) : Box]> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result[k] : Boxified[Extract] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result[k] = box(obj[k]) : Box[Extract, string>]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result[k] : any +> : ^^^ >result : Boxified > : ^^^^^^^^^^^ ->k : Extract -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->box(obj[k]) : Box]> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>k : Extract, string> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>box(obj[k]) : Box[Extract, string>]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >box : (x: T_1) => Box > : ^^^^^^ ^^ ^^^^^ ->obj[k] : T[Extract] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->obj : T -> : ^ ->k : Extract -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>obj[k] : NonNullable[Extract, string>] +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : NonNullable +> : ^^^^^^^^^^^^^^ +>k : Extract, string> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } return result; >result : Boxified @@ -149,30 +149,30 @@ function assignBoxified(obj: Boxified, values: T) { > : ^ for (let k in values) { ->k : Extract -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>k : Extract, string> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >values : T > : ^ obj[k].value = values[k]; ->obj[k].value = values[k] : T[Extract] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->obj[k].value : T[Extract] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->obj[k] : Boxified[Extract] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj[k].value = values[k] : NonNullable[Extract, string>] +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj[k].value : any +> : ^^^ +>obj[k] : any +> : ^^^ >obj : Boxified > : ^^^^^^^^^^^ ->k : Extract -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->value : T[Extract] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->values[k] : T[Extract] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->values : T -> : ^ ->k : Extract -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>k : Extract, string> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>value : any +> : ^^^ +>values[k] : NonNullable[Extract, string>] +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : NonNullable +> : ^^^^^^^^^^^^^^ +>k : Extract, string> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } } @@ -695,6 +695,7 @@ var g1 = applySpec({ >(a: any) => 3 : (a: any) => number > : ^ ^^ ^^^^^^^^^^^ >a : any +> : ^^^ >3 : 3 > : ^ @@ -710,6 +711,7 @@ var g1 = applySpec({ >(b: any) => "n" : (b: any) => string > : ^ ^^ ^^^^^^^^^^^ >b : any +> : ^^^ >"n" : "n" > : ^^^ } @@ -738,6 +740,7 @@ var g2 = applySpec({ foo: { bar: { baz: (x: any) => true } } }); >(x: any) => true : (x: any) => boolean > : ^ ^^ ^^^^^^^^^^^^ >x : any +> : ^^^ >true : true > : ^^^^ @@ -944,12 +947,14 @@ function getProps(obj: T, list: K[]): Pick { return {} as any; >{} as any : any +> : ^^^ >{} : {} > : ^^ } const myAny: any = {}; >myAny : any +> : ^^^ >{} : {} > : ^^ @@ -961,6 +966,7 @@ const o1 = getProps(myAny, ['foo', 'bar']); >getProps : (obj: T, list: K[]) => Pick > : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >myAny : any +> : ^^^ >['foo', 'bar'] : ("foo" | "bar")[] > : ^^^^^^^^^^^^^^^^^ >'foo' : "foo" @@ -972,12 +978,15 @@ const o2: { foo: any; bar: any } = getProps(myAny, ['foo', 'bar']); >o2 : { foo: any; bar: any; } > : ^^^^^^^ ^^^^^^^ ^^^ >foo : any +> : ^^^ >bar : any +> : ^^^ >getProps(myAny, ['foo', 'bar']) : Pick > : ^^^^^^^^^^^^^^^^^^^^^^^^ >getProps : (obj: T, list: K[]) => Pick > : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >myAny : any +> : ^^^ >['foo', 'bar'] : ("foo" | "bar")[] > : ^^^^^^^^^^^^^^^^^ >'foo' : "foo" diff --git a/tests/baselines/reference/keyofAndIndexedAccess.errors.txt b/tests/baselines/reference/keyofAndIndexedAccess.errors.txt index b9df4e468911a..24337b6bba439 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess.errors.txt +++ b/tests/baselines/reference/keyofAndIndexedAccess.errors.txt @@ -1,19 +1,47 @@ -keyofAndIndexedAccess.ts(205,24): error TS2322: Type 'T[keyof T]' is not assignable to type 'object'. - Type 'T[string] | T[number] | T[symbol]' is not assignable to type 'object'. - Type 'T[string]' is not assignable to type 'object'. -keyofAndIndexedAccess.ts(211,24): error TS2322: Type 'T[K]' is not assignable to type 'object'. - Type 'T[keyof T]' is not assignable to type 'object'. - Type 'T[string] | T[number] | T[symbol]' is not assignable to type 'object'. - Type 'T[string]' is not assignable to type 'object'. +keyofAndIndexedAccess.ts(80,12): error TS18049: 'obj' is possibly 'null' or 'undefined'. +keyofAndIndexedAccess.ts(84,5): error TS18049: 'obj' is possibly 'null' or 'undefined'. +keyofAndIndexedAccess.ts(84,5): error TS2322: Type 'T[K]' is not assignable to type 'NonNullable[K]'. + Type 'T' is not assignable to type 'NonNullable'. + Type 'T' is not assignable to type '{}'. +keyofAndIndexedAccess.ts(116,16): error TS2533: Object is possibly 'null' or 'undefined'. +keyofAndIndexedAccess.ts(119,9): error TS2533: Object is possibly 'null' or 'undefined'. +keyofAndIndexedAccess.ts(119,9): error TS2322: Type 'PropType[K]' is not assignable to type 'NonNullable[K]'. + Type 'PropType' is not assignable to type 'NonNullable'. + Type 'PropType' is not assignable to type '{}'. +keyofAndIndexedAccess.ts(133,27): error TS18049: 'x' is possibly 'null' or 'undefined'. +keyofAndIndexedAccess.ts(203,19): error TS18049: 'obj' is possibly 'null' or 'undefined'. +keyofAndIndexedAccess.ts(205,24): error TS18049: 'obj' is possibly 'null' or 'undefined'. +keyofAndIndexedAccess.ts(205,24): error TS2533: Object is possibly 'null' or 'undefined'. +keyofAndIndexedAccess.ts(209,19): error TS18049: 'obj' is possibly 'null' or 'undefined'. +keyofAndIndexedAccess.ts(211,24): error TS18049: 'obj' is possibly 'null' or 'undefined'. +keyofAndIndexedAccess.ts(211,24): error TS2533: Object is possibly 'null' or 'undefined'. +keyofAndIndexedAccess.ts(216,9): error TS18049: 'target' is possibly 'null' or 'undefined'. keyofAndIndexedAccess.ts(316,5): error TS2322: Type 'T' is not assignable to type '{}'. keyofAndIndexedAccess.ts(317,5): error TS2322: Type 'T[keyof T]' is not assignable to type '{}'. Type 'T[string] | T[number] | T[symbol]' is not assignable to type '{}'. Type 'T[string]' is not assignable to type '{}'. keyofAndIndexedAccess.ts(318,5): error TS2322: Type 'T[K]' is not assignable to type '{}'. Type 'T[keyof T]' is not assignable to type '{}'. +keyofAndIndexedAccess.ts(390,27): error TS18049: 'object' is possibly 'null' or 'undefined'. +keyofAndIndexedAccess.ts(390,27): error TS2533: Object is possibly 'null' or 'undefined'. +keyofAndIndexedAccess.ts(390,27): error TS2322: Type 'T[K1][K2]' is not assignable to type 'NonNullable[K1]>[K2]'. + Type 'T[K1]' is not assignable to type 'NonNullable[K1]>'. + Type 'T[keyof T]' is not assignable to type 'NonNullable[K1]>'. + Type 'T[string] | T[number] | T[symbol]' is not assignable to type 'NonNullable[K1]>'. + Type 'T[string]' is not assignable to type 'NonNullable[K1]>'. + Type 'T[string]' is not assignable to type 'NonNullable[K1]'. + Type 'T' is not assignable to type 'NonNullable'. + Type 'T[keyof T]' is not assignable to type 'NonNullable[K1]'. + Type 'T' is not assignable to type 'NonNullable'. + Type 'T[K1]' is not assignable to type 'NonNullable[K1]'. + Type 'T' is not assignable to type 'NonNullable'. + Type 'T' is not assignable to type '{}'. +keyofAndIndexedAccess.ts(566,9): error TS2322: Type 'T[K]' is not assignable to type 'NonNullable[Extract, string>]'. + Type 'T' is not assignable to type 'NonNullable'. + Type 'T' is not assignable to type '{}'. -==== keyofAndIndexedAccess.ts (5 errors) ==== +==== keyofAndIndexedAccess.ts (21 errors) ==== class Shape { name: string; width: number; @@ -94,10 +122,20 @@ keyofAndIndexedAccess.ts(318,5): error TS2322: Type 'T[K]' is not assignable to function getProperty(obj: T, key: K) { return obj[key]; + ~~~ +!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. } function setProperty(obj: T, key: K, value: T[K]) { obj[key] = value; + ~~~ +!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. + ~~~~~~~~ +!!! error TS2322: Type 'T[K]' is not assignable to type 'NonNullable[K]'. +!!! error TS2322: Type 'T' is not assignable to type 'NonNullable'. +!!! error TS2322: Type 'T' is not assignable to type '{}'. +!!! related TS2208 keyofAndIndexedAccess.ts:83:22: This type parameter might need an `extends {}` constraint. +!!! related TS2208 keyofAndIndexedAccess.ts:83:22: This type parameter might need an `extends NonNullable` constraint. } function f10(shape: Shape) { @@ -130,9 +168,19 @@ keyofAndIndexedAccess.ts(318,5): error TS2322: Type 'T[K]' is not assignable to props: PropType; getProperty(key: K) { return this.props[key]; + ~~~~~~~~~~ +!!! error TS2533: Object is possibly 'null' or 'undefined'. } setProperty(key: K, value: PropType[K]) { this.props[key] = value; + ~~~~~~~~~~ +!!! error TS2533: Object is possibly 'null' or 'undefined'. + ~~~~~~~~~~~~~~~ +!!! error TS2322: Type 'PropType[K]' is not assignable to type 'NonNullable[K]'. +!!! error TS2322: Type 'PropType' is not assignable to type 'NonNullable'. +!!! error TS2322: Type 'PropType' is not assignable to type '{}'. +!!! related TS2208 keyofAndIndexedAccess.ts:113:17: This type parameter might need an `extends {}` constraint. +!!! related TS2208 keyofAndIndexedAccess.ts:113:17: This type parameter might need an `extends NonNullable` constraint. } } @@ -147,6 +195,8 @@ keyofAndIndexedAccess.ts(318,5): error TS2322: Type 'T[K]' is not assignable to function pluck(array: T[], key: K) { return array.map(x => x[key]); + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. } function f30(shapes: Shape[]) { @@ -217,28 +267,33 @@ keyofAndIndexedAccess.ts(318,5): error TS2322: Type 'T[K]' is not assignable to function f54(obj: T, key: keyof T) { for (let s in obj[key]) { + ~~~ +!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. } const b = "foo" in obj[key]; + ~~~ +!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. ~~~~~~~~ -!!! error TS2322: Type 'T[keyof T]' is not assignable to type 'object'. -!!! error TS2322: Type 'T[string] | T[number] | T[symbol]' is not assignable to type 'object'. -!!! error TS2322: Type 'T[string]' is not assignable to type 'object'. +!!! error TS2533: Object is possibly 'null' or 'undefined'. } function f55(obj: T, key: K) { for (let s in obj[key]) { + ~~~ +!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. } const b = "foo" in obj[key]; + ~~~ +!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. ~~~~~~~~ -!!! error TS2322: Type 'T[K]' is not assignable to type 'object'. -!!! error TS2322: Type 'T[keyof T]' is not assignable to type 'object'. -!!! error TS2322: Type 'T[string] | T[number] | T[symbol]' is not assignable to type 'object'. -!!! error TS2322: Type 'T[string]' is not assignable to type 'object'. +!!! error TS2533: Object is possibly 'null' or 'undefined'. } function f60(source: T, target: T) { for (let k in source) { target[k] = source[k]; + ~~~~~~ +!!! error TS18049: 'target' is possibly 'null' or 'undefined'. } } @@ -423,6 +478,27 @@ keyofAndIndexedAccess.ts(318,5): error TS2322: Type 'T[K]' is not assignable to const assignTo2 = (object: T, key1: K1, key2: K2) => (value: T[K1][K2]) => object[key1][key2] = value; + ~~~~~~ +!!! error TS18049: 'object' is possibly 'null' or 'undefined'. + ~~~~~~~~~~~~ +!!! error TS2533: Object is possibly 'null' or 'undefined'. + ~~~~~~~~~~~~~~~~~~ +!!! error TS2322: Type 'T[K1][K2]' is not assignable to type 'NonNullable[K1]>[K2]'. +!!! error TS2322: Type 'T[K1]' is not assignable to type 'NonNullable[K1]>'. +!!! error TS2322: Type 'T[keyof T]' is not assignable to type 'NonNullable[K1]>'. +!!! error TS2322: Type 'T[string] | T[number] | T[symbol]' is not assignable to type 'NonNullable[K1]>'. +!!! error TS2322: Type 'T[string]' is not assignable to type 'NonNullable[K1]>'. +!!! error TS2322: Type 'T[string]' is not assignable to type 'NonNullable[K1]'. +!!! error TS2322: Type 'T' is not assignable to type 'NonNullable'. +!!! error TS2322: Type 'T[keyof T]' is not assignable to type 'NonNullable[K1]'. +!!! error TS2322: Type 'T' is not assignable to type 'NonNullable'. +!!! error TS2322: Type 'T[K1]' is not assignable to type 'NonNullable[K1]'. +!!! error TS2322: Type 'T' is not assignable to type 'NonNullable'. +!!! error TS2322: Type 'T' is not assignable to type '{}'. +!!! related TS2208 keyofAndIndexedAccess.ts:389:20: This type parameter might need an `extends {}` constraint. +!!! related TS2208 keyofAndIndexedAccess.ts:389:20: This type parameter might need an `extends NonNullable` constraint. +!!! related TS2208 keyofAndIndexedAccess.ts:389:20: This type parameter might need an `extends NonNullable` constraint. +!!! related TS2208 keyofAndIndexedAccess.ts:389:20: This type parameter might need an `extends NonNullable` constraint. // Modified repro from #12573 @@ -599,6 +675,12 @@ keyofAndIndexedAccess.ts(318,5): error TS2322: Type 'T[K]' is not assignable to for (let key in t) { key = k // ok, K ==> keyof T t[key] = tk; // ok, T[K] ==> T[keyof T] + ~~~~~~ +!!! error TS2322: Type 'T[K]' is not assignable to type 'NonNullable[Extract, string>]'. +!!! error TS2322: Type 'T' is not assignable to type 'NonNullable'. +!!! error TS2322: Type 'T' is not assignable to type '{}'. +!!! related TS2208 keyofAndIndexedAccess.ts:563:13: This type parameter might need an `extends {}` constraint. +!!! related TS2208 keyofAndIndexedAccess.ts:563:13: This type parameter might need an `extends NonNullable` constraint. } } diff --git a/tests/baselines/reference/keyofAndIndexedAccess.js b/tests/baselines/reference/keyofAndIndexedAccess.js index ea10cf32f5e50..5ef5c7917c717 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess.js +++ b/tests/baselines/reference/keyofAndIndexedAccess.js @@ -1170,7 +1170,7 @@ type Q50 = Dictionary["howdy"]; type Q51 = Dictionary[123]; type Q52 = Dictionary[E.B]; declare let cond: boolean; -declare function getProperty(obj: T, key: K): T[K]; +declare function getProperty(obj: T, key: K): NonNullable[K]; declare function setProperty(obj: T, key: K, value: T[K]): void; declare function f10(shape: Shape): void; declare function f11(a: Shape[]): void; @@ -1178,15 +1178,15 @@ declare function f12(t: [Shape, boolean]): void; declare function f13(foo: any, bar: any): void; declare class Component { props: PropType; - getProperty(key: K): PropType[K]; + getProperty(key: K): NonNullable[K]; setProperty(key: K, value: PropType[K]): void; } declare function f20(component: Component): void; -declare function pluck(array: T[], key: K): T[K][]; +declare function pluck(array: T[], key: K): NonNullable[K][]; declare function f30(shapes: Shape[]): void; declare function f31(key: K): Shape[K]; declare function f32(key: K): Shape[K]; -declare function f33(shape: S, key: K): S[K]; +declare function f33(shape: S, key: K): NonNullable[K]; declare function f34(ts: TaggedShape): void; declare class C { x: string; @@ -1252,7 +1252,7 @@ declare class Person extends Base { declare class OtherPerson { parts: number; constructor(parts: number); - getParts(): this["parts"]; + getParts(): NonNullable["parts"]; } declare function path(obj: T, key1: K1): T[K1]; declare function path(obj: T, key1: K1, key2: K2): T[K1][K2]; diff --git a/tests/baselines/reference/keyofAndIndexedAccess.types b/tests/baselines/reference/keyofAndIndexedAccess.types index bd6545897debe..19c01de77418d 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess.types +++ b/tests/baselines/reference/keyofAndIndexedAccess.types @@ -2,6 +2,7 @@ === Performance Stats === Type Count: 1,000 +Instantiation count: 1,000 === keyofAndIndexedAccess.ts === class Shape { @@ -255,16 +256,16 @@ declare let cond: boolean; > : ^^^^^^^ function getProperty(obj: T, key: K) { ->getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>getProperty : (obj: T, key: K) => NonNullable[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >obj : T > : ^ >key : K > : ^ return obj[key]; ->obj[key] : T[K] -> : ^^^^ +>obj[key] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ >obj : T > : ^ >key : K @@ -284,8 +285,8 @@ function setProperty(obj: T, key: K, value: T[K]) { obj[key] = value; >obj[key] = value : T[K] > : ^^^^ ->obj[key] : T[K] -> : ^^^^ +>obj[key] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ >obj : T > : ^ >key : K @@ -305,8 +306,8 @@ function f10(shape: Shape) { > : ^^^^^^ >getProperty(shape, "name") : string > : ^^^^^^ ->getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>getProperty : (obj: T, key: K) => NonNullable[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >shape : Shape > : ^^^^^ >"name" : "name" @@ -317,8 +318,8 @@ function f10(shape: Shape) { > : ^^^^^^ >getProperty(shape, cond ? "width" : "height") : number > : ^^^^^^ ->getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>getProperty : (obj: T, key: K) => NonNullable[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >shape : Shape > : ^^^^^ >cond ? "width" : "height" : "width" | "height" @@ -335,8 +336,8 @@ function f10(shape: Shape) { > : ^^^^^^^^^^^^^^^^ >getProperty(shape, cond ? "name" : "visible") : string | boolean > : ^^^^^^^^^^^^^^^^ ->getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>getProperty : (obj: T, key: K) => NonNullable[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >shape : Shape > : ^^^^^ >cond ? "name" : "visible" : "name" | "visible" @@ -408,8 +409,8 @@ function f11(a: Shape[]) { > : ^^^^^^ >getProperty(a, "length") : number > : ^^^^^^ ->getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>getProperty : (obj: T, key: K) => NonNullable[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >a : Shape[] > : ^^^^^^^ >"length" : "length" @@ -439,8 +440,8 @@ function f12(t: [Shape, boolean]) { > : ^ >getProperty(t, "length") : 2 > : ^ ->getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>getProperty : (obj: T, key: K) => NonNullable[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >t : [Shape, boolean] > : ^^^^^^^^^^^^^^^^ >"length" : "length" @@ -451,8 +452,8 @@ function f12(t: [Shape, boolean]) { > : ^^^^^ >getProperty(t, "0") : Shape > : ^^^^^ ->getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>getProperty : (obj: T, key: K) => NonNullable[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >t : [Shape, boolean] > : ^^^^^^^^^^^^^^^^ >"0" : "0" @@ -463,8 +464,8 @@ function f12(t: [Shape, boolean]) { > : ^^^^^^^ >getProperty(t, "1") : boolean > : ^^^^^^^ ->getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>getProperty : (obj: T, key: K) => NonNullable[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >t : [Shape, boolean] > : ^^^^^^^^^^^^^^^^ >"1" : "1" @@ -484,8 +485,8 @@ function f13(foo: any, bar: any) { > : ^^^ >getProperty(foo, "x") : any > : ^^^ ->getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>getProperty : (obj: T, key: K) => NonNullable[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >foo : any > : ^^^ >"x" : "x" @@ -496,8 +497,8 @@ function f13(foo: any, bar: any) { > : ^^^ >getProperty(foo, "100") : any > : ^^^ ->getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>getProperty : (obj: T, key: K) => NonNullable[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >foo : any > : ^^^ >"100" : "100" @@ -508,8 +509,8 @@ function f13(foo: any, bar: any) { > : ^^^ >getProperty(foo, bar) : any > : ^^^ ->getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>getProperty : (obj: T, key: K) => NonNullable[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >foo : any > : ^^^ >bar : any @@ -525,14 +526,14 @@ class Component { > : ^^^^^^^^ getProperty(key: K) { ->getProperty : (key: K) => PropType[K] -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +>getProperty : (key: K) => NonNullable[K] +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >key : K > : ^ return this.props[key]; ->this.props[key] : PropType[K] -> : ^^^^^^^^^^^ +>this.props[key] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^^^^^^^^ >this.props : PropType > : ^^^^^^^^ >this : this @@ -553,8 +554,8 @@ class Component { this.props[key] = value; >this.props[key] = value : PropType[K] > : ^^^^^^^^^^^ ->this.props[key] : PropType[K] -> : ^^^^^^^^^^^ +>this.props[key] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^^^^^^^^ >this.props : PropType > : ^^^^^^^^ >this : this @@ -684,28 +685,28 @@ function f20(component: Component) { } function pluck(array: T[], key: K) { ->pluck : (array: T[], key: K) => T[K][] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +>pluck : (array: T[], key: K) => NonNullable[K][] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >array : T[] > : ^^^ >key : K > : ^ return array.map(x => x[key]); ->array.map(x => x[key]) : T[K][] -> : ^^^^^^ +>array.map(x => x[key]) : NonNullable[K][] +> : ^^^^^^^^^^^^^^^^^^^ >array.map : (callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any) => U[] > : ^ ^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ >array : T[] > : ^^^ >map : (callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any) => U[] > : ^ ^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ ->x => x[key] : (x: T) => T[K] -> : ^ ^^^^^^^^^^^^ +>x => x[key] : (x: T) => NonNullable[K] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : T > : ^ ->x[key] : T[K] -> : ^^^^ +>x[key] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ >x : T > : ^ >key : K @@ -723,8 +724,8 @@ function f30(shapes: Shape[]) { > : ^^^^^^^^ >pluck(shapes, "name") : string[] > : ^^^^^^^^ ->pluck : (array: T[], key: K) => T[K][] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +>pluck : (array: T[], key: K) => NonNullable[K][] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >shapes : Shape[] > : ^^^^^^^ >"name" : "name" @@ -735,8 +736,8 @@ function f30(shapes: Shape[]) { > : ^^^^^^^^ >pluck(shapes, "width") : number[] > : ^^^^^^^^ ->pluck : (array: T[], key: K) => T[K][] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +>pluck : (array: T[], key: K) => NonNullable[K][] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >shapes : Shape[] > : ^^^^^^^ >"width" : "width" @@ -747,8 +748,8 @@ function f30(shapes: Shape[]) { > : ^^^^^^^^^^^^^^^^^^^^ >pluck(shapes, cond ? "name" : "visible") : (string | boolean)[] > : ^^^^^^^^^^^^^^^^^^^^ ->pluck : (array: T[], key: K) => T[K][] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +>pluck : (array: T[], key: K) => NonNullable[K][] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >shapes : Shape[] > : ^^^^^^^ >cond ? "name" : "visible" : "name" | "visible" @@ -836,40 +837,40 @@ function f32(key: K) { } function f33(shape: S, key: K) { ->f33 : (shape: S, key: K) => S[K] -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>f33 : (shape: S, key: K) => NonNullable[K] +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >shape : S > : ^ >key : K > : ^ let name = getProperty(shape, "name"); ->name : S["name"] -> : ^^^^^^^^^ ->getProperty(shape, "name") : S["name"] -> : ^^^^^^^^^ ->getProperty : (obj: T, key: K_1) => T[K_1] -> : ^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +>name : NonNullable["name"] +> : ^^^^^^^^^^^^^^^^^^^^^^ +>getProperty(shape, "name") : NonNullable["name"] +> : ^^^^^^^^^^^^^^^^^^^^^^ +>getProperty : (obj: T, key: K_1) => NonNullable[K_1] +> : ^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >shape : S > : ^ >"name" : "name" > : ^^^^^^ let prop = getProperty(shape, key); ->prop : S[K] -> : ^^^^ ->getProperty(shape, key) : S[K] -> : ^^^^ ->getProperty : (obj: T, key: K_1) => T[K_1] -> : ^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +>prop : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ +>getProperty(shape, key) : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ +>getProperty : (obj: T, key: K_1) => NonNullable[K_1] +> : ^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >shape : S > : ^ >key : K > : ^ return prop; ->prop : S[K] -> : ^^^^ +>prop : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ } function f34(ts: TaggedShape) { @@ -883,8 +884,8 @@ function f34(ts: TaggedShape) { > : ^^^^^^ >f33(ts, "tag") : string > : ^^^^^^ ->f33 : (shape: S, key: K) => S[K] -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>f33 : (shape: S, key: K) => NonNullable[K] +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >ts : TaggedShape > : ^^^^^^^^^^^ >"tag" : "tag" @@ -895,8 +896,8 @@ function f34(ts: TaggedShape) { > : ^^^^^^ >getProperty(ts, "tag") : string > : ^^^^^^ ->getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>getProperty : (obj: T, key: K) => NonNullable[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >ts : TaggedShape > : ^^^^^^^^^^^ >"tag" : "tag" @@ -1120,10 +1121,10 @@ function f54(obj: T, key: keyof T) { > : ^^^^^^^ for (let s in obj[key]) { ->s : Extract -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->obj[key] : T[keyof T] -> : ^^^^^^^^^^ +>s : Extract[keyof T]>, string> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj[key] : NonNullable[keyof T] +> : ^^^^^^^^^^^^^^^^^^^^^^^ >obj : T > : ^ >key : keyof T @@ -1136,8 +1137,8 @@ function f54(obj: T, key: keyof T) { > : ^^^^^^^ >"foo" : "foo" > : ^^^^^ ->obj[key] : T[keyof T] -> : ^^^^^^^^^^ +>obj[key] : NonNullable[keyof T] +> : ^^^^^^^^^^^^^^^^^^^^^^^ >obj : T > : ^ >key : keyof T @@ -1153,10 +1154,10 @@ function f55(obj: T, key: K) { > : ^ for (let s in obj[key]) { ->s : Extract -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->obj[key] : T[K] -> : ^^^^ +>s : Extract[K]>, string> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj[key] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ >obj : T > : ^ >key : K @@ -1169,8 +1170,8 @@ function f55(obj: T, key: K) { > : ^^^^^^^ >"foo" : "foo" > : ^^^^^ ->obj[key] : T[K] -> : ^^^^ +>obj[key] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ >obj : T > : ^ >key : K @@ -1186,26 +1187,26 @@ function f60(source: T, target: T) { > : ^ for (let k in source) { ->k : Extract -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>k : Extract, string> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >source : T > : ^ target[k] = source[k]; ->target[k] = source[k] : T[Extract] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->target[k] : T[Extract] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>target[k] = source[k] : NonNullable[Extract, string>] +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>target[k] : NonNullable[Extract, string>] +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >target : T > : ^ ->k : Extract -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->source[k] : T[Extract] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->source : T -> : ^ ->k : Extract -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>k : Extract, string> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>source[k] : NonNullable[Extract, string>] +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>source : NonNullable +> : ^^^^^^^^^^^^^^ +>k : Extract, string> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } } @@ -1894,12 +1895,12 @@ class C1 { > : ^^^ let x4 = getProperty(this, "x"); // this["x"] ->x4 : this["x"] -> : ^^^^^^^^^ ->getProperty(this, "x") : this["x"] -> : ^^^^^^^^^ ->getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>x4 : NonNullable["x"] +> : ^^^^^^^^^^^^^^^^^^^^^^ +>getProperty(this, "x") : NonNullable["x"] +> : ^^^^^^^^^^^^^^^^^^^^^^ +>getProperty : (obj: T, key: K) => NonNullable[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >this : this > : ^^^^ >"x" : "x" @@ -2251,14 +2252,14 @@ class OtherPerson { > : ^^^^^^ } getParts() { ->getParts : () => this["parts"] -> : ^^^^^^^^^^^^^^^^^^^ +>getParts : () => NonNullable["parts"] +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ return getProperty(this, "parts") ->getProperty(this, "parts") : this["parts"] -> : ^^^^^^^^^^^^^ ->getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>getProperty(this, "parts") : NonNullable["parts"] +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getProperty : (obj: T, key: K) => NonNullable[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >this : this > : ^^^^ >"parts" : "parts" @@ -2446,10 +2447,10 @@ const assignTo2 = (object: T, key > : ^^^^^^^^^ >object[key1][key2] = value : T[K1][K2] > : ^^^^^^^^^ ->object[key1][key2] : T[K1][K2] -> : ^^^^^^^^^ ->object[key1] : T[K1] -> : ^^^^^ +>object[key1][key2] : NonNullable[K1]>[K2] +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>object[key1] : NonNullable[K1] +> : ^^^^^^^^^^^^^^^^^^ >object : T > : ^ >key1 : K1 @@ -3082,28 +3083,28 @@ function f3>(t: T, k: K, tk: T[K]): void { > : ^^^^ for (let key in t) { ->key : Extract -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>key : Extract, string> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >t : T > : ^ key = k // ok, K ==> keyof T >key = k : K > : ^ ->key : Extract -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>key : Extract, string> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >k : K > : ^ t[key] = tk; // ok, T[K] ==> T[keyof T] >t[key] = tk : T[K] > : ^^^^ ->t[key] : T[Extract] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->t : T -> : ^ ->key : Extract -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>t[key] : NonNullable[Extract, string>] +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>t : NonNullable +> : ^^^^^^^^^^^^^^ +>key : Extract, string> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >tk : T[K] > : ^^^^ } diff --git a/tests/baselines/reference/mappedTypeErrors.errors.txt b/tests/baselines/reference/mappedTypeErrors.errors.txt index e03c20d64bff7..fbcde6c02cfac 100644 --- a/tests/baselines/reference/mappedTypeErrors.errors.txt +++ b/tests/baselines/reference/mappedTypeErrors.errors.txt @@ -19,8 +19,16 @@ mappedTypeErrors.ts(75,45): error TS2345: Argument of type '{ x: number; }' is n Property 'y' is missing in type '{ x: number; }' but required in type 'Readonly<{ x: number; y: number; }>'. mappedTypeErrors.ts(77,59): error TS2353: Object literal may only specify known properties, and 'z' does not exist in type 'Readonly<{ x: number; y: number; }>'. mappedTypeErrors.ts(83,58): error TS2353: Object literal may only specify known properties, and 'z' does not exist in type 'Partial<{ x: number; y: number; }>'. +mappedTypeErrors.ts(95,9): error TS18049: 'obj' is possibly 'null' or 'undefined'. +mappedTypeErrors.ts(95,9): error TS2322: Type 'T[Extract]' is not assignable to type 'NonNullable[Extract]'. + Type 'T' is not assignable to type 'NonNullable'. + Type 'T' is not assignable to type '{}'. mappedTypeErrors.ts(105,17): error TS2322: Type 'undefined' is not assignable to type 'string'. mappedTypeErrors.ts(106,17): error TS2353: Object literal may only specify known properties, and 'c' does not exist in type 'Pick'. +mappedTypeErrors.ts(112,13): error TS2533: Object is possibly 'null' or 'undefined'. +mappedTypeErrors.ts(112,13): error TS2322: Type 'T[Extract]' is not assignable to type 'NonNullable[Extract]'. + Type 'T' is not assignable to type 'NonNullable'. + Type 'T' is not assignable to type '{}'. mappedTypeErrors.ts(123,14): error TS2322: Type 'undefined' is not assignable to type 'string'. mappedTypeErrors.ts(124,14): error TS2353: Object literal may only specify known properties, and 'c' does not exist in type 'Pick'. mappedTypeErrors.ts(128,16): error TS2322: Type 'string' is not assignable to type 'number'. @@ -32,7 +40,7 @@ mappedTypeErrors.ts(148,17): error TS2339: Property 'foo' does not exist on type mappedTypeErrors.ts(152,17): error TS2339: Property 'foo' does not exist on type 'Record'. -==== mappedTypeErrors.ts (27 errors) ==== +==== mappedTypeErrors.ts (31 errors) ==== interface Shape { name: string; width: number; @@ -171,6 +179,14 @@ mappedTypeErrors.ts(152,17): error TS2339: Property 'foo' does not exist on type function setState(obj: T, props: Pick) { for (let k in props) { obj[k] = props[k]; + ~~~ +!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. + ~~~~~~ +!!! error TS2322: Type 'T[Extract]' is not assignable to type 'NonNullable[Extract]'. +!!! error TS2322: Type 'T' is not assignable to type 'NonNullable'. +!!! error TS2322: Type 'T' is not assignable to type '{}'. +!!! related TS2208 mappedTypeErrors.ts:93:19: This type parameter might need an `extends {}` constraint. +!!! related TS2208 mappedTypeErrors.ts:93:19: This type parameter might need an `extends NonNullable` constraint. } } @@ -193,6 +209,14 @@ mappedTypeErrors.ts(152,17): error TS2339: Property 'foo' does not exist on type setState(props: Pick) { for (let k in props) { this.state[k] = props[k]; + ~~~~~~~~~~ +!!! error TS2533: Object is possibly 'null' or 'undefined'. + ~~~~~~~~~~~~~ +!!! error TS2322: Type 'T[Extract]' is not assignable to type 'NonNullable[Extract]'. +!!! error TS2322: Type 'T' is not assignable to type 'NonNullable'. +!!! error TS2322: Type 'T' is not assignable to type '{}'. +!!! related TS2208 mappedTypeErrors.ts:108:9: This type parameter might need an `extends {}` constraint. +!!! related TS2208 mappedTypeErrors.ts:108:9: This type parameter might need an `extends NonNullable` constraint. } } } diff --git a/tests/baselines/reference/mappedTypeErrors.types b/tests/baselines/reference/mappedTypeErrors.types index 662502504d364..c6644d44f80da 100644 --- a/tests/baselines/reference/mappedTypeErrors.types +++ b/tests/baselines/reference/mappedTypeErrors.types @@ -407,8 +407,8 @@ function setState(obj: T, props: Pick) { obj[k] = props[k]; >obj[k] = props[k] : Pick[Extract] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->obj[k] : T[Extract] -> : ^^^^^^^^^^^^^^^^^^^^^ +>obj[k] : NonNullable[Extract] +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj : T > : ^ >k : Extract @@ -553,8 +553,8 @@ class C { this.state[k] = props[k]; >this.state[k] = props[k] : Pick[Extract] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->this.state[k] : T[Extract] -> : ^^^^^^^^^^^^^^^^^^^^^ +>this.state[k] : NonNullable[Extract] +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.state : T > : ^ >this : this diff --git a/tests/baselines/reference/mappedTypeRelationships.errors.txt b/tests/baselines/reference/mappedTypeRelationships.errors.txt index 1918a9532f32d..eb9850827257a 100644 --- a/tests/baselines/reference/mappedTypeRelationships.errors.txt +++ b/tests/baselines/reference/mappedTypeRelationships.errors.txt @@ -1,38 +1,92 @@ -mappedTypeRelationships.ts(11,5): error TS2322: Type 'T[keyof T]' is not assignable to type 'U[keyof T]'. - Type 'T' is not assignable to type 'U'. - 'U' could be instantiated with an arbitrary type which could be unrelated to 'T'. -mappedTypeRelationships.ts(16,5): error TS2322: Type 'T[K]' is not assignable to type 'U[K]'. - Type 'T' is not assignable to type 'U'. - 'U' could be instantiated with an arbitrary type which could be unrelated to 'T'. -mappedTypeRelationships.ts(20,5): error TS2536: Type 'keyof U' cannot be used to index type 'T'. -mappedTypeRelationships.ts(21,12): error TS2536: Type 'keyof U' cannot be used to index type 'T'. -mappedTypeRelationships.ts(25,5): error TS2536: Type 'K' cannot be used to index type 'T'. -mappedTypeRelationships.ts(26,12): error TS2536: Type 'K' cannot be used to index type 'T'. -mappedTypeRelationships.ts(30,5): error TS2322: Type 'T[keyof T] | undefined' is not assignable to type 'T[keyof T]'. - 'T[keyof T]' could be instantiated with an arbitrary type which could be unrelated to 'T[keyof T] | undefined'. -mappedTypeRelationships.ts(35,5): error TS2322: Type 'T[K] | undefined' is not assignable to type 'T[K]'. - 'T[K]' could be instantiated with an arbitrary type which could be unrelated to 'T[K] | undefined'. -mappedTypeRelationships.ts(40,5): error TS2322: Type 'U[keyof T] | undefined' is not assignable to type 'T[keyof T]'. - 'T[keyof T]' could be instantiated with an arbitrary type which could be unrelated to 'U[keyof T] | undefined'. -mappedTypeRelationships.ts(41,5): error TS2322: Type 'T[keyof T]' is not assignable to type 'U[keyof T] | undefined'. - Type 'T[string] | T[number] | T[symbol]' is not assignable to type 'U[keyof T] | undefined'. - Type 'T[string]' is not assignable to type 'U[keyof T] | undefined'. -mappedTypeRelationships.ts(45,5): error TS2322: Type 'U[K] | undefined' is not assignable to type 'T[K]'. - 'T[K]' could be instantiated with an arbitrary type which could be unrelated to 'U[K] | undefined'. -mappedTypeRelationships.ts(46,5): error TS2322: Type 'T[K]' is not assignable to type 'U[K] | undefined'. - Type 'T[keyof T]' is not assignable to type 'U[K] | undefined'. - Type 'T[string] | T[number] | T[symbol]' is not assignable to type 'U[K] | undefined'. - Type 'T[string]' is not assignable to type 'U[K] | undefined'. +mappedTypeRelationships.ts(2,12): error TS18049: 'x' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(6,12): error TS18049: 'x' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(10,5): error TS18049: 'x' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(10,12): error TS18049: 'y' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(11,5): error TS18049: 'y' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(11,5): error TS2322: Type 'NonNullable[keyof T]' is not assignable to type 'NonNullable[keyof T]'. + Type 'NonNullable' is not assignable to type 'NonNullable'. + Type 'NonNullable' is not assignable to type 'U'. + 'U' could be instantiated with an arbitrary type which could be unrelated to 'NonNullable'. +mappedTypeRelationships.ts(11,12): error TS18049: 'x' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(15,5): error TS18049: 'x' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(15,12): error TS18049: 'y' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(16,5): error TS18049: 'y' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(16,5): error TS2322: Type 'NonNullable[K]' is not assignable to type 'NonNullable[K]'. + Type 'NonNullable' is not assignable to type 'NonNullable'. + Type 'NonNullable' is not assignable to type 'U'. + 'U' could be instantiated with an arbitrary type which could be unrelated to 'NonNullable'. +mappedTypeRelationships.ts(16,12): error TS18049: 'x' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(20,5): error TS18049: 'x' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(20,5): error TS2536: Type 'keyof U' cannot be used to index type 'NonNullable'. +mappedTypeRelationships.ts(20,12): error TS18049: 'y' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(21,5): error TS18049: 'y' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(21,12): error TS18049: 'x' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(21,12): error TS2536: Type 'keyof U' cannot be used to index type 'NonNullable'. +mappedTypeRelationships.ts(25,5): error TS18049: 'x' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(25,5): error TS2536: Type 'K' cannot be used to index type 'NonNullable'. +mappedTypeRelationships.ts(25,12): error TS18049: 'y' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(26,5): error TS18049: 'y' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(26,12): error TS18049: 'x' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(26,12): error TS2536: Type 'K' cannot be used to index type 'NonNullable'. +mappedTypeRelationships.ts(30,5): error TS18049: 'x' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(30,5): error TS2322: Type 'T[keyof T] | undefined' is not assignable to type 'NonNullable[keyof T]'. + Type 'undefined' is not assignable to type 'NonNullable[keyof T]'. +mappedTypeRelationships.ts(31,12): error TS18049: 'x' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(35,5): error TS18049: 'x' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(35,5): error TS2322: Type 'T[K] | undefined' is not assignable to type 'NonNullable[K]'. + Type 'undefined' is not assignable to type 'NonNullable[K]'. +mappedTypeRelationships.ts(36,12): error TS18049: 'x' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(40,5): error TS18049: 'x' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(40,5): error TS2322: Type 'U[keyof T] | undefined' is not assignable to type 'NonNullable[keyof T]'. + Type 'undefined' is not assignable to type 'NonNullable[keyof T]'. +mappedTypeRelationships.ts(41,5): error TS2322: Type 'NonNullable[keyof T]' is not assignable to type 'U[keyof T] | undefined'. + Type 'NonNullable[string] | NonNullable[number] | NonNullable[symbol]' is not assignable to type 'U[keyof T] | undefined'. + Type 'NonNullable[string]' is not assignable to type 'U[keyof T] | undefined'. +mappedTypeRelationships.ts(41,12): error TS18049: 'x' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(45,5): error TS18049: 'x' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(45,5): error TS2322: Type 'U[K] | undefined' is not assignable to type 'NonNullable[K]'. + Type 'undefined' is not assignable to type 'NonNullable[K]'. +mappedTypeRelationships.ts(46,5): error TS2322: Type 'NonNullable[K]' is not assignable to type 'U[K] | undefined'. + Type 'NonNullable[keyof T]' is not assignable to type 'U[K] | undefined'. + Type 'NonNullable[string] | NonNullable[number] | NonNullable[symbol]' is not assignable to type 'U[K] | undefined'. + Type 'NonNullable[string]' is not assignable to type 'U[K] | undefined'. +mappedTypeRelationships.ts(46,12): error TS18049: 'x' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(50,5): error TS18049: 'x' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(50,5): error TS2322: Type 'T[keyof T]' is not assignable to type 'NonNullable[keyof T]'. + Type 'T' is not assignable to type 'NonNullable'. + Type 'T' is not assignable to type '{}'. mappedTypeRelationships.ts(51,5): error TS2542: Index signature in type 'Readonly' only permits reading. +mappedTypeRelationships.ts(51,12): error TS18049: 'x' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(55,5): error TS18049: 'x' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(55,5): error TS2322: Type 'T[K]' is not assignable to type 'NonNullable[K]'. + Type 'T' is not assignable to type 'NonNullable'. + Type 'T' is not assignable to type '{}'. mappedTypeRelationships.ts(56,5): error TS2542: Index signature in type 'Readonly' only permits reading. -mappedTypeRelationships.ts(61,5): error TS2322: Type 'T[keyof T]' is not assignable to type 'U[keyof T]'. - Type 'T' is not assignable to type 'U'. - 'U' could be instantiated with an arbitrary type which could be unrelated to 'T'. +mappedTypeRelationships.ts(56,12): error TS18049: 'x' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(60,5): error TS18049: 'x' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(60,5): error TS2322: Type 'U[keyof T]' is not assignable to type 'NonNullable[keyof T]'. + Type 'U' is not assignable to type 'NonNullable'. + Type 'T' is not assignable to type 'NonNullable'. + Type 'T' is not assignable to type '{}'. + Type 'U' is not assignable to type '{}'. + Type 'T' is not assignable to type '{}'. +mappedTypeRelationships.ts(61,5): error TS2322: Type 'NonNullable[keyof T]' is not assignable to type 'U[keyof T]'. + Type 'NonNullable' is not assignable to type 'U'. + 'U' could be instantiated with an arbitrary type which could be unrelated to 'NonNullable'. mappedTypeRelationships.ts(61,5): error TS2542: Index signature in type 'Readonly' only permits reading. -mappedTypeRelationships.ts(66,5): error TS2322: Type 'T[K]' is not assignable to type 'U[K]'. - Type 'T' is not assignable to type 'U'. - 'U' could be instantiated with an arbitrary type which could be unrelated to 'T'. +mappedTypeRelationships.ts(61,12): error TS18049: 'x' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(65,5): error TS18049: 'x' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(65,5): error TS2322: Type 'U[K]' is not assignable to type 'NonNullable[K]'. + Type 'U' is not assignable to type 'NonNullable'. + Type 'T' is not assignable to type 'NonNullable'. + Type 'T' is not assignable to type '{}'. + Type 'U' is not assignable to type '{}'. + Type 'T' is not assignable to type '{}'. +mappedTypeRelationships.ts(66,5): error TS2322: Type 'NonNullable[K]' is not assignable to type 'U[K]'. + Type 'NonNullable' is not assignable to type 'U'. + 'U' could be instantiated with an arbitrary type which could be unrelated to 'NonNullable'. mappedTypeRelationships.ts(66,5): error TS2542: Index signature in type 'Readonly' only permits reading. +mappedTypeRelationships.ts(66,12): error TS18049: 'x' is possibly 'null' or 'undefined'. mappedTypeRelationships.ts(72,5): error TS2322: Type 'Partial' is not assignable to type 'T'. 'T' could be instantiated with an arbitrary type which could be unrelated to 'Partial'. mappedTypeRelationships.ts(78,5): error TS2322: Type 'Partial' is not assignable to type 'Partial'. @@ -71,132 +125,233 @@ mappedTypeRelationships.ts(168,5): error TS2322: Type '{ [P in K]: T[P]; }' is n Type 'T[P]' is not assignable to type 'U[P]'. Type 'T' is not assignable to type 'U'. 'U' could be instantiated with an arbitrary type which could be unrelated to 'T'. +mappedTypeRelationships.ts(176,12): error TS18049: 't' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(180,12): error TS18049: 't' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(180,12): error TS2533: Object is possibly 'null' or 'undefined'. -==== mappedTypeRelationships.ts (28 errors) ==== +==== mappedTypeRelationships.ts (69 errors) ==== function f1(x: T, k: keyof T) { return x[k]; + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. } function f2(x: T, k: K) { return x[k]; + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. } function f3(x: T, y: U, k: keyof T) { x[k] = y[k]; + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. + ~ +!!! error TS18049: 'y' is possibly 'null' or 'undefined'. y[k] = x[k]; // Error + ~ +!!! error TS18049: 'y' is possibly 'null' or 'undefined'. ~~~~ -!!! error TS2322: Type 'T[keyof T]' is not assignable to type 'U[keyof T]'. -!!! error TS2322: Type 'T' is not assignable to type 'U'. -!!! error TS2322: 'U' could be instantiated with an arbitrary type which could be unrelated to 'T'. -!!! related TS2208 mappedTypeRelationships.ts:9:13: This type parameter might need an `extends U` constraint. +!!! error TS2322: Type 'NonNullable[keyof T]' is not assignable to type 'NonNullable[keyof T]'. +!!! error TS2322: Type 'NonNullable' is not assignable to type 'NonNullable'. +!!! error TS2322: Type 'NonNullable' is not assignable to type 'U'. +!!! error TS2322: 'U' could be instantiated with an arbitrary type which could be unrelated to 'NonNullable'. + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. } function f4(x: T, y: U, k: K) { x[k] = y[k]; + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. + ~ +!!! error TS18049: 'y' is possibly 'null' or 'undefined'. y[k] = x[k]; // Error + ~ +!!! error TS18049: 'y' is possibly 'null' or 'undefined'. ~~~~ -!!! error TS2322: Type 'T[K]' is not assignable to type 'U[K]'. -!!! error TS2322: Type 'T' is not assignable to type 'U'. -!!! error TS2322: 'U' could be instantiated with an arbitrary type which could be unrelated to 'T'. -!!! related TS2208 mappedTypeRelationships.ts:14:13: This type parameter might need an `extends U` constraint. +!!! error TS2322: Type 'NonNullable[K]' is not assignable to type 'NonNullable[K]'. +!!! error TS2322: Type 'NonNullable' is not assignable to type 'NonNullable'. +!!! error TS2322: Type 'NonNullable' is not assignable to type 'U'. +!!! error TS2322: 'U' could be instantiated with an arbitrary type which could be unrelated to 'NonNullable'. + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. } function f5(x: T, y: U, k: keyof U) { x[k] = y[k]; // Error + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. ~~~~ -!!! error TS2536: Type 'keyof U' cannot be used to index type 'T'. +!!! error TS2536: Type 'keyof U' cannot be used to index type 'NonNullable'. + ~ +!!! error TS18049: 'y' is possibly 'null' or 'undefined'. y[k] = x[k]; // Error + ~ +!!! error TS18049: 'y' is possibly 'null' or 'undefined'. + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. ~~~~ -!!! error TS2536: Type 'keyof U' cannot be used to index type 'T'. +!!! error TS2536: Type 'keyof U' cannot be used to index type 'NonNullable'. } function f6(x: T, y: U, k: K) { x[k] = y[k]; // Error + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. ~~~~ -!!! error TS2536: Type 'K' cannot be used to index type 'T'. +!!! error TS2536: Type 'K' cannot be used to index type 'NonNullable'. + ~ +!!! error TS18049: 'y' is possibly 'null' or 'undefined'. y[k] = x[k]; // Error + ~ +!!! error TS18049: 'y' is possibly 'null' or 'undefined'. + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. ~~~~ -!!! error TS2536: Type 'K' cannot be used to index type 'T'. +!!! error TS2536: Type 'K' cannot be used to index type 'NonNullable'. } function f10(x: T, y: Partial, k: keyof T) { x[k] = y[k]; // Error + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. ~~~~ -!!! error TS2322: Type 'T[keyof T] | undefined' is not assignable to type 'T[keyof T]'. -!!! error TS2322: 'T[keyof T]' could be instantiated with an arbitrary type which could be unrelated to 'T[keyof T] | undefined'. +!!! error TS2322: Type 'T[keyof T] | undefined' is not assignable to type 'NonNullable[keyof T]'. +!!! error TS2322: Type 'undefined' is not assignable to type 'NonNullable[keyof T]'. y[k] = x[k]; + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. } function f11(x: T, y: Partial, k: K) { x[k] = y[k]; // Error + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. ~~~~ -!!! error TS2322: Type 'T[K] | undefined' is not assignable to type 'T[K]'. -!!! error TS2322: 'T[K]' could be instantiated with an arbitrary type which could be unrelated to 'T[K] | undefined'. +!!! error TS2322: Type 'T[K] | undefined' is not assignable to type 'NonNullable[K]'. +!!! error TS2322: Type 'undefined' is not assignable to type 'NonNullable[K]'. y[k] = x[k]; + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. } function f12(x: T, y: Partial, k: keyof T) { x[k] = y[k]; // Error + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. ~~~~ -!!! error TS2322: Type 'U[keyof T] | undefined' is not assignable to type 'T[keyof T]'. -!!! error TS2322: 'T[keyof T]' could be instantiated with an arbitrary type which could be unrelated to 'U[keyof T] | undefined'. +!!! error TS2322: Type 'U[keyof T] | undefined' is not assignable to type 'NonNullable[keyof T]'. +!!! error TS2322: Type 'undefined' is not assignable to type 'NonNullable[keyof T]'. y[k] = x[k]; // Error ~~~~ -!!! error TS2322: Type 'T[keyof T]' is not assignable to type 'U[keyof T] | undefined'. -!!! error TS2322: Type 'T[string] | T[number] | T[symbol]' is not assignable to type 'U[keyof T] | undefined'. -!!! error TS2322: Type 'T[string]' is not assignable to type 'U[keyof T] | undefined'. +!!! error TS2322: Type 'NonNullable[keyof T]' is not assignable to type 'U[keyof T] | undefined'. +!!! error TS2322: Type 'NonNullable[string] | NonNullable[number] | NonNullable[symbol]' is not assignable to type 'U[keyof T] | undefined'. +!!! error TS2322: Type 'NonNullable[string]' is not assignable to type 'U[keyof T] | undefined'. + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. } function f13(x: T, y: Partial, k: K) { x[k] = y[k]; // Error + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. ~~~~ -!!! error TS2322: Type 'U[K] | undefined' is not assignable to type 'T[K]'. -!!! error TS2322: 'T[K]' could be instantiated with an arbitrary type which could be unrelated to 'U[K] | undefined'. +!!! error TS2322: Type 'U[K] | undefined' is not assignable to type 'NonNullable[K]'. +!!! error TS2322: Type 'undefined' is not assignable to type 'NonNullable[K]'. y[k] = x[k]; // Error ~~~~ -!!! error TS2322: Type 'T[K]' is not assignable to type 'U[K] | undefined'. -!!! error TS2322: Type 'T[keyof T]' is not assignable to type 'U[K] | undefined'. -!!! error TS2322: Type 'T[string] | T[number] | T[symbol]' is not assignable to type 'U[K] | undefined'. -!!! error TS2322: Type 'T[string]' is not assignable to type 'U[K] | undefined'. +!!! error TS2322: Type 'NonNullable[K]' is not assignable to type 'U[K] | undefined'. +!!! error TS2322: Type 'NonNullable[keyof T]' is not assignable to type 'U[K] | undefined'. +!!! error TS2322: Type 'NonNullable[string] | NonNullable[number] | NonNullable[symbol]' is not assignable to type 'U[K] | undefined'. +!!! error TS2322: Type 'NonNullable[string]' is not assignable to type 'U[K] | undefined'. + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. } function f20(x: T, y: Readonly, k: keyof T) { x[k] = y[k]; + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. + ~~~~ +!!! error TS2322: Type 'T[keyof T]' is not assignable to type 'NonNullable[keyof T]'. +!!! error TS2322: Type 'T' is not assignable to type 'NonNullable'. +!!! error TS2322: Type 'T' is not assignable to type '{}'. +!!! related TS2208 mappedTypeRelationships.ts:49:14: This type parameter might need an `extends {}` constraint. +!!! related TS2208 mappedTypeRelationships.ts:49:14: This type parameter might need an `extends NonNullable` constraint. y[k] = x[k]; // Error ~~~~ !!! error TS2542: Index signature in type 'Readonly' only permits reading. + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. } function f21(x: T, y: Readonly, k: K) { x[k] = y[k]; + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. + ~~~~ +!!! error TS2322: Type 'T[K]' is not assignable to type 'NonNullable[K]'. +!!! error TS2322: Type 'T' is not assignable to type 'NonNullable'. +!!! error TS2322: Type 'T' is not assignable to type '{}'. +!!! related TS2208 mappedTypeRelationships.ts:54:14: This type parameter might need an `extends {}` constraint. +!!! related TS2208 mappedTypeRelationships.ts:54:14: This type parameter might need an `extends NonNullable` constraint. y[k] = x[k]; // Error ~~~~ !!! error TS2542: Index signature in type 'Readonly' only permits reading. + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. } function f22(x: T, y: Readonly, k: keyof T) { x[k] = y[k]; + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. + ~~~~ +!!! error TS2322: Type 'U[keyof T]' is not assignable to type 'NonNullable[keyof T]'. +!!! error TS2322: Type 'U' is not assignable to type 'NonNullable'. +!!! error TS2322: Type 'T' is not assignable to type 'NonNullable'. +!!! error TS2322: Type 'T' is not assignable to type '{}'. +!!! error TS2322: Type 'U' is not assignable to type '{}'. +!!! error TS2322: Type 'T' is not assignable to type '{}'. +!!! related TS2208 mappedTypeRelationships.ts:59:14: This type parameter might need an `extends {}` constraint. +!!! related TS2208 mappedTypeRelationships.ts:59:14: This type parameter might need an `extends {}` constraint. +!!! related TS2208 mappedTypeRelationships.ts:59:14: This type parameter might need an `extends NonNullable` constraint. y[k] = x[k]; // Error ~~~~ -!!! error TS2322: Type 'T[keyof T]' is not assignable to type 'U[keyof T]'. -!!! error TS2322: Type 'T' is not assignable to type 'U'. -!!! error TS2322: 'U' could be instantiated with an arbitrary type which could be unrelated to 'T'. -!!! related TS2208 mappedTypeRelationships.ts:59:14: This type parameter might need an `extends U` constraint. +!!! error TS2322: Type 'NonNullable[keyof T]' is not assignable to type 'U[keyof T]'. +!!! error TS2322: Type 'NonNullable' is not assignable to type 'U'. +!!! error TS2322: 'U' could be instantiated with an arbitrary type which could be unrelated to 'NonNullable'. ~~~~ !!! error TS2542: Index signature in type 'Readonly' only permits reading. + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. } function f23(x: T, y: Readonly, k: K) { x[k] = y[k]; + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. + ~~~~ +!!! error TS2322: Type 'U[K]' is not assignable to type 'NonNullable[K]'. +!!! error TS2322: Type 'U' is not assignable to type 'NonNullable'. +!!! error TS2322: Type 'T' is not assignable to type 'NonNullable'. +!!! error TS2322: Type 'T' is not assignable to type '{}'. +!!! error TS2322: Type 'U' is not assignable to type '{}'. +!!! error TS2322: Type 'T' is not assignable to type '{}'. +!!! related TS2208 mappedTypeRelationships.ts:64:14: This type parameter might need an `extends {}` constraint. +!!! related TS2208 mappedTypeRelationships.ts:64:14: This type parameter might need an `extends {}` constraint. +!!! related TS2208 mappedTypeRelationships.ts:64:14: This type parameter might need an `extends NonNullable` constraint. y[k] = x[k]; // Error ~~~~ -!!! error TS2322: Type 'T[K]' is not assignable to type 'U[K]'. -!!! error TS2322: Type 'T' is not assignable to type 'U'. -!!! error TS2322: 'U' could be instantiated with an arbitrary type which could be unrelated to 'T'. -!!! related TS2208 mappedTypeRelationships.ts:64:14: This type parameter might need an `extends U` constraint. +!!! error TS2322: Type 'NonNullable[K]' is not assignable to type 'U[K]'. +!!! error TS2322: Type 'NonNullable' is not assignable to type 'U'. +!!! error TS2322: 'U' could be instantiated with an arbitrary type which could be unrelated to 'NonNullable'. ~~~~ !!! error TS2542: Index signature in type 'Readonly' only permits reading. + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. } type Thing = { a: string, b: string }; @@ -357,10 +512,16 @@ mappedTypeRelationships.ts(168,5): error TS2322: Type '{ [P in K]: T[P]; }' is n function f81(t: T, k: K): Partial { return t[k]; + ~ +!!! error TS18049: 't' is possibly 'null' or 'undefined'. } function f82(t: T, k1: K1, k2: K2): Partial { return t[k1][k2]; + ~ +!!! error TS18049: 't' is possibly 'null' or 'undefined'. + ~~~~~ +!!! error TS2533: Object is possibly 'null' or 'undefined'. } // #31070 diff --git a/tests/baselines/reference/mappedTypeRelationships.js b/tests/baselines/reference/mappedTypeRelationships.js index a8ecd047da27b..1e8d20317185d 100644 --- a/tests/baselines/reference/mappedTypeRelationships.js +++ b/tests/baselines/reference/mappedTypeRelationships.js @@ -348,8 +348,8 @@ function f() { //// [mappedTypeRelationships.d.ts] -declare function f1(x: T, k: keyof T): T[keyof T]; -declare function f2(x: T, k: K): T[K]; +declare function f1(x: T, k: keyof T): NonNullable[keyof T]; +declare function f2(x: T, k: K): NonNullable[K]; declare function f3(x: T, y: U, k: keyof T): void; declare function f4(x: T, y: U, k: K): void; declare function f5(x: T, y: U, k: keyof U): void; diff --git a/tests/baselines/reference/mappedTypeRelationships.types b/tests/baselines/reference/mappedTypeRelationships.types index ea45a0eb3041c..18dd0b63a838e 100644 --- a/tests/baselines/reference/mappedTypeRelationships.types +++ b/tests/baselines/reference/mappedTypeRelationships.types @@ -2,16 +2,16 @@ === mappedTypeRelationships.ts === function f1(x: T, k: keyof T) { ->f1 : (x: T, k: keyof T) => T[keyof T] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +>f1 : (x: T, k: keyof T) => NonNullable[keyof T] +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : T > : ^ >k : keyof T > : ^^^^^^^ return x[k]; ->x[k] : T[keyof T] -> : ^^^^^^^^^^ +>x[k] : NonNullable[keyof T] +> : ^^^^^^^^^^^^^^^^^^^^^^^ >x : T > : ^ >k : keyof T @@ -19,16 +19,16 @@ function f1(x: T, k: keyof T) { } function f2(x: T, k: K) { ->f2 : (x: T, k: K) => T[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>f2 : (x: T, k: K) => NonNullable[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >x : T > : ^ >k : K > : ^ return x[k]; ->x[k] : T[K] -> : ^^^^ +>x[k] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ >x : T > : ^ >k : K @@ -46,32 +46,32 @@ function f3(x: T, y: U, k: keyof T) { > : ^^^^^^^ x[k] = y[k]; ->x[k] = y[k] : U[keyof T] -> : ^^^^^^^^^^ ->x[k] : T[keyof T] -> : ^^^^^^^^^^ +>x[k] = y[k] : NonNullable[keyof T] +> : ^^^^^^^^^^^^^^^^^^^^^^^ +>x[k] : NonNullable[keyof T] +> : ^^^^^^^^^^^^^^^^^^^^^^^ >x : T > : ^ >k : keyof T > : ^^^^^^^ ->y[k] : U[keyof T] -> : ^^^^^^^^^^ +>y[k] : NonNullable[keyof T] +> : ^^^^^^^^^^^^^^^^^^^^^^^ >y : U > : ^ >k : keyof T > : ^^^^^^^ y[k] = x[k]; // Error ->y[k] = x[k] : T[keyof T] -> : ^^^^^^^^^^ ->y[k] : U[keyof T] -> : ^^^^^^^^^^ +>y[k] = x[k] : NonNullable[keyof T] +> : ^^^^^^^^^^^^^^^^^^^^^^^ +>y[k] : NonNullable[keyof T] +> : ^^^^^^^^^^^^^^^^^^^^^^^ >y : U > : ^ >k : keyof T > : ^^^^^^^ ->x[k] : T[keyof T] -> : ^^^^^^^^^^ +>x[k] : NonNullable[keyof T] +> : ^^^^^^^^^^^^^^^^^^^^^^^ >x : T > : ^ >k : keyof T @@ -89,32 +89,32 @@ function f4(x: T, y: U, k: K) { > : ^ x[k] = y[k]; ->x[k] = y[k] : U[K] -> : ^^^^ ->x[k] : T[K] -> : ^^^^ +>x[k] = y[k] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ +>x[k] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ >x : T > : ^ >k : K > : ^ ->y[k] : U[K] -> : ^^^^ +>y[k] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ >y : U > : ^ >k : K > : ^ y[k] = x[k]; // Error ->y[k] = x[k] : T[K] -> : ^^^^ ->y[k] : U[K] -> : ^^^^ +>y[k] = x[k] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ +>y[k] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ >y : U > : ^ >k : K > : ^ ->x[k] : T[K] -> : ^^^^ +>x[k] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ >x : T > : ^ >k : K @@ -132,16 +132,16 @@ function f5(x: T, y: U, k: keyof U) { > : ^^^^^^^ x[k] = y[k]; // Error ->x[k] = y[k] : U[keyof U] -> : ^^^^^^^^^^ +>x[k] = y[k] : NonNullable[keyof U] +> : ^^^^^^^^^^^^^^^^^^^^^^^ >x[k] : any > : ^^^ >x : T > : ^ >k : keyof U > : ^^^^^^^ ->y[k] : U[keyof U] -> : ^^^^^^^^^^ +>y[k] : NonNullable[keyof U] +> : ^^^^^^^^^^^^^^^^^^^^^^^ >y : U > : ^ >k : keyof U @@ -150,8 +150,8 @@ function f5(x: T, y: U, k: keyof U) { y[k] = x[k]; // Error >y[k] = x[k] : any > : ^^^ ->y[k] : U[keyof U] -> : ^^^^^^^^^^ +>y[k] : NonNullable[keyof U] +> : ^^^^^^^^^^^^^^^^^^^^^^^ >y : U > : ^ >k : keyof U @@ -175,16 +175,16 @@ function f6(x: T, y: U, k: K) { > : ^ x[k] = y[k]; // Error ->x[k] = y[k] : U[K] -> : ^^^^ +>x[k] = y[k] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ >x[k] : any > : ^^^ >x : T > : ^ >k : K > : ^ ->y[k] : U[K] -> : ^^^^ +>y[k] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ >y : U > : ^ >k : K @@ -193,8 +193,8 @@ function f6(x: T, y: U, k: K) { y[k] = x[k]; // Error >y[k] = x[k] : any > : ^^^ ->y[k] : U[K] -> : ^^^^ +>y[k] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ >y : U > : ^ >k : K @@ -220,8 +220,8 @@ function f10(x: T, y: Partial, k: keyof T) { x[k] = y[k]; // Error >x[k] = y[k] : Partial[keyof T] > : ^^^^^^^^^^^^^^^^^^^ ->x[k] : T[keyof T] -> : ^^^^^^^^^^ +>x[k] : NonNullable[keyof T] +> : ^^^^^^^^^^^^^^^^^^^^^^^ >x : T > : ^ >k : keyof T @@ -234,16 +234,16 @@ function f10(x: T, y: Partial, k: keyof T) { > : ^^^^^^^ y[k] = x[k]; ->y[k] = x[k] : T[keyof T] -> : ^^^^^^^^^^ +>y[k] = x[k] : NonNullable[keyof T] +> : ^^^^^^^^^^^^^^^^^^^^^^^ >y[k] : Partial[keyof T] > : ^^^^^^^^^^^^^^^^^^^ >y : Partial > : ^^^^^^^^^^ >k : keyof T > : ^^^^^^^ ->x[k] : T[keyof T] -> : ^^^^^^^^^^ +>x[k] : NonNullable[keyof T] +> : ^^^^^^^^^^^^^^^^^^^^^^^ >x : T > : ^ >k : keyof T @@ -263,8 +263,8 @@ function f11(x: T, y: Partial, k: K) { x[k] = y[k]; // Error >x[k] = y[k] : Partial[K] > : ^^^^^^^^^^^^^ ->x[k] : T[K] -> : ^^^^ +>x[k] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ >x : T > : ^ >k : K @@ -277,16 +277,16 @@ function f11(x: T, y: Partial, k: K) { > : ^ y[k] = x[k]; ->y[k] = x[k] : T[K] -> : ^^^^ +>y[k] = x[k] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ >y[k] : Partial[K] > : ^^^^^^^^^^^^^ >y : Partial > : ^^^^^^^^^^ >k : K > : ^ ->x[k] : T[K] -> : ^^^^ +>x[k] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ >x : T > : ^ >k : K @@ -306,8 +306,8 @@ function f12(x: T, y: Partial, k: keyof T) { x[k] = y[k]; // Error >x[k] = y[k] : Partial[keyof T] > : ^^^^^^^^^^^^^^^^^^^ ->x[k] : T[keyof T] -> : ^^^^^^^^^^ +>x[k] : NonNullable[keyof T] +> : ^^^^^^^^^^^^^^^^^^^^^^^ >x : T > : ^ >k : keyof T @@ -320,16 +320,16 @@ function f12(x: T, y: Partial, k: keyof T) { > : ^^^^^^^ y[k] = x[k]; // Error ->y[k] = x[k] : T[keyof T] -> : ^^^^^^^^^^ +>y[k] = x[k] : NonNullable[keyof T] +> : ^^^^^^^^^^^^^^^^^^^^^^^ >y[k] : Partial[keyof T] > : ^^^^^^^^^^^^^^^^^^^ >y : Partial > : ^^^^^^^^^^ >k : keyof T > : ^^^^^^^ ->x[k] : T[keyof T] -> : ^^^^^^^^^^ +>x[k] : NonNullable[keyof T] +> : ^^^^^^^^^^^^^^^^^^^^^^^ >x : T > : ^ >k : keyof T @@ -349,8 +349,8 @@ function f13(x: T, y: Partial, k: K) { x[k] = y[k]; // Error >x[k] = y[k] : Partial[K] > : ^^^^^^^^^^^^^ ->x[k] : T[K] -> : ^^^^ +>x[k] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ >x : T > : ^ >k : K @@ -363,16 +363,16 @@ function f13(x: T, y: Partial, k: K) { > : ^ y[k] = x[k]; // Error ->y[k] = x[k] : T[K] -> : ^^^^ +>y[k] = x[k] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ >y[k] : Partial[K] > : ^^^^^^^^^^^^^ >y : Partial > : ^^^^^^^^^^ >k : K > : ^ ->x[k] : T[K] -> : ^^^^ +>x[k] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ >x : T > : ^ >k : K @@ -392,8 +392,8 @@ function f20(x: T, y: Readonly, k: keyof T) { x[k] = y[k]; >x[k] = y[k] : Readonly[keyof T] > : ^^^^^^^^^^^^^^^^^^^^ ->x[k] : T[keyof T] -> : ^^^^^^^^^^ +>x[k] : NonNullable[keyof T] +> : ^^^^^^^^^^^^^^^^^^^^^^^ >x : T > : ^ >k : keyof T @@ -406,16 +406,16 @@ function f20(x: T, y: Readonly, k: keyof T) { > : ^^^^^^^ y[k] = x[k]; // Error ->y[k] = x[k] : T[keyof T] -> : ^^^^^^^^^^ +>y[k] = x[k] : NonNullable[keyof T] +> : ^^^^^^^^^^^^^^^^^^^^^^^ >y[k] : Readonly[keyof T] > : ^^^^^^^^^^^^^^^^^^^^ >y : Readonly > : ^^^^^^^^^^^ >k : keyof T > : ^^^^^^^ ->x[k] : T[keyof T] -> : ^^^^^^^^^^ +>x[k] : NonNullable[keyof T] +> : ^^^^^^^^^^^^^^^^^^^^^^^ >x : T > : ^ >k : keyof T @@ -435,8 +435,8 @@ function f21(x: T, y: Readonly, k: K) { x[k] = y[k]; >x[k] = y[k] : Readonly[K] > : ^^^^^^^^^^^^^^ ->x[k] : T[K] -> : ^^^^ +>x[k] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ >x : T > : ^ >k : K @@ -449,16 +449,16 @@ function f21(x: T, y: Readonly, k: K) { > : ^ y[k] = x[k]; // Error ->y[k] = x[k] : T[K] -> : ^^^^ +>y[k] = x[k] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ >y[k] : Readonly[K] > : ^^^^^^^^^^^^^^ >y : Readonly > : ^^^^^^^^^^^ >k : K > : ^ ->x[k] : T[K] -> : ^^^^ +>x[k] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ >x : T > : ^ >k : K @@ -478,8 +478,8 @@ function f22(x: T, y: Readonly, k: keyof T) { x[k] = y[k]; >x[k] = y[k] : Readonly[keyof T] > : ^^^^^^^^^^^^^^^^^^^^ ->x[k] : T[keyof T] -> : ^^^^^^^^^^ +>x[k] : NonNullable[keyof T] +> : ^^^^^^^^^^^^^^^^^^^^^^^ >x : T > : ^ >k : keyof T @@ -492,16 +492,16 @@ function f22(x: T, y: Readonly, k: keyof T) { > : ^^^^^^^ y[k] = x[k]; // Error ->y[k] = x[k] : T[keyof T] -> : ^^^^^^^^^^ +>y[k] = x[k] : NonNullable[keyof T] +> : ^^^^^^^^^^^^^^^^^^^^^^^ >y[k] : Readonly[keyof T] > : ^^^^^^^^^^^^^^^^^^^^ >y : Readonly > : ^^^^^^^^^^^ >k : keyof T > : ^^^^^^^ ->x[k] : T[keyof T] -> : ^^^^^^^^^^ +>x[k] : NonNullable[keyof T] +> : ^^^^^^^^^^^^^^^^^^^^^^^ >x : T > : ^ >k : keyof T @@ -521,8 +521,8 @@ function f23(x: T, y: Readonly, k: K) { x[k] = y[k]; >x[k] = y[k] : Readonly[K] > : ^^^^^^^^^^^^^^ ->x[k] : T[K] -> : ^^^^ +>x[k] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ >x : T > : ^ >k : K @@ -535,16 +535,16 @@ function f23(x: T, y: Readonly, k: K) { > : ^ y[k] = x[k]; // Error ->y[k] = x[k] : T[K] -> : ^^^^ +>y[k] = x[k] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ >y[k] : Readonly[K] > : ^^^^^^^^^^^^^^ >y : Readonly > : ^^^^^^^^^^^ >k : K > : ^ ->x[k] : T[K] -> : ^^^^ +>x[k] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ >x : T > : ^ >k : K @@ -1030,8 +1030,8 @@ function f81(t: T, k: K): Partial { > : ^ return t[k]; ->t[k] : T[K] -> : ^^^^ +>t[k] : NonNullable[K] +> : ^^^^^^^^^^^^^^^^^ >t : T > : ^ >k : K @@ -1049,10 +1049,10 @@ function f82(t: T, k1: K1, k2: K2 > : ^^ return t[k1][k2]; ->t[k1][k2] : T[K1][K2] -> : ^^^^^^^^^ ->t[k1] : T[K1] -> : ^^^^^ +>t[k1][k2] : NonNullable[K1]>[K2] +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>t[k1] : NonNullable[K1] +> : ^^^^^^^^^^^^^^^^^^ >t : T > : ^ >k1 : K1 diff --git a/tests/baselines/reference/unknownControlFlow.errors.txt b/tests/baselines/reference/unknownControlFlow.errors.txt index e8f4f198a505a..a288989d200ba 100644 --- a/tests/baselines/reference/unknownControlFlow.errors.txt +++ b/tests/baselines/reference/unknownControlFlow.errors.txt @@ -1,5 +1,6 @@ unknownControlFlow.ts(18,9): error TS2322: Type 'unknown' is not assignable to type '{}'. -unknownControlFlow.ts(283,5): error TS2536: Type 'keyof (T & {})' cannot be used to index type 'T'. +unknownControlFlow.ts(275,5): error TS18049: 't' is possibly 'null' or 'undefined'. +unknownControlFlow.ts(283,5): error TS18049: 't' is possibly 'null' or 'undefined'. unknownControlFlow.ts(290,11): error TS2345: Argument of type 'string' is not assignable to parameter of type 'never'. unknownControlFlow.ts(291,5): error TS2345: Argument of type 'null' is not assignable to parameter of type 'never'. unknownControlFlow.ts(293,5): error TS2345: Argument of type 'null' is not assignable to parameter of type 'never'. @@ -7,7 +8,7 @@ unknownControlFlow.ts(323,9): error TS2367: This comparison appears to be uninte unknownControlFlow.ts(341,9): error TS2367: This comparison appears to be unintentional because the types 'T' and 'number' have no overlap. -==== unknownControlFlow.ts (7 errors) ==== +==== unknownControlFlow.ts (8 errors) ==== type T01 = {} & string; // {} & string type T02 = {} & 'a'; // 'a' type T03 = {} & object; // object @@ -285,6 +286,8 @@ unknownControlFlow.ts(341,9): error TS2367: This comparison appears to be uninte function ff1(t: T, k: keyof T) { t[k]; + ~ +!!! error TS18049: 't' is possibly 'null' or 'undefined'. } function ff2(t: T & {}, k: keyof T) { @@ -293,8 +296,8 @@ unknownControlFlow.ts(341,9): error TS2367: This comparison appears to be uninte function ff3(t: T, k: keyof (T & {})) { t[k]; // Error - ~~~~ -!!! error TS2536: Type 'keyof (T & {})' cannot be used to index type 'T'. + ~ +!!! error TS18049: 't' is possibly 'null' or 'undefined'. } function ff4(t: T & {}, k: keyof (T & {})) { diff --git a/tests/baselines/reference/unknownControlFlow.types b/tests/baselines/reference/unknownControlFlow.types index 2c84aa0d19d3e..7984dc1154148 100644 --- a/tests/baselines/reference/unknownControlFlow.types +++ b/tests/baselines/reference/unknownControlFlow.types @@ -481,8 +481,8 @@ function f23(x: T | undefined | null) { > : ^^^^^^^^^ x; // T & {} | null ->x : (T & {}) | null -> : ^^^^^^^^^^^^^^^ +>x : (T & ({} | null)) | null +> : ^^^^^^^^^^^^^^^^^^^^^^^^ } if (x !== null) { >x !== null : boolean @@ -491,8 +491,8 @@ function f23(x: T | undefined | null) { > : ^^^^^^^^^^^^^^^^^^^^ x; // T & {} | undefined ->x : (T & {}) | undefined -> : ^^^^^^^^^^^^^^^^^^^^ +>x : (T & ({} | undefined)) | undefined +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } if (x != undefined) { >x != undefined : boolean @@ -1062,8 +1062,8 @@ function ff1(t: T, k: keyof T) { > : ^^^^^^^ t[k]; ->t[k] : T[keyof T] -> : ^^^^^^^^^^ +>t[k] : NonNullable[keyof T] +> : ^^^^^^^^^^^^^^^^^^^^^^^ >t : T > : ^ >k : keyof T @@ -1096,8 +1096,8 @@ function ff3(t: T, k: keyof (T & {})) { > : ^^^^^^^^^^^^^^ t[k]; // Error ->t[k] : any -> : ^^^ +>t[k] : NonNullable[keyof (T & {})] +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >t : T > : ^ >k : keyof (T & {}) diff --git a/tests/baselines/reference/voidUndefinedReduction.types b/tests/baselines/reference/voidUndefinedReduction.types index b1f9ed6009be1..44f2e251a3987 100644 --- a/tests/baselines/reference/voidUndefinedReduction.types +++ b/tests/baselines/reference/voidUndefinedReduction.types @@ -20,8 +20,8 @@ function isDefined(value: T | undefined | null | void): value is T { > : ^^^^^^^^^ >value !== null : boolean > : ^^^^^^^ ->value : (T & {}) | null -> : ^^^^^^^^^^^^^^^ +>value : (T & ({} | null)) | null +> : ^^^^^^^^^^^^^^^^^^^^^^^^ } declare const foo: string | undefined; From 7af3e102018c812f7f5faac3678fe854b6becc0d Mon Sep 17 00:00:00 2001 From: Isabel Duan Date: Fri, 28 Jun 2024 14:49:53 -0700 Subject: [PATCH 4/7] more tests --- .../unconstrainedTypeComparisons.errors.txt | 26 +++++++++- .../reference/unconstrainedTypeComparisons.js | 21 +++++++++ .../unconstrainedTypeComparisons.symbols | 45 +++++++++++++++--- .../unconstrainedTypeComparisons.types | 47 +++++++++++++++++++ .../compiler/unconstrainedTypeComparisons.ts | 12 +++++ 5 files changed, 144 insertions(+), 7 deletions(-) diff --git a/tests/baselines/reference/unconstrainedTypeComparisons.errors.txt b/tests/baselines/reference/unconstrainedTypeComparisons.errors.txt index 35b0248a4ce11..d5b6ac0afcb69 100644 --- a/tests/baselines/reference/unconstrainedTypeComparisons.errors.txt +++ b/tests/baselines/reference/unconstrainedTypeComparisons.errors.txt @@ -1,12 +1,36 @@ unconstrainedTypeComparisons.ts(2,10): error TS18049: 'a' is possibly 'null' or 'undefined'. unconstrainedTypeComparisons.ts(2,14): error TS18049: 'b' is possibly 'null' or 'undefined'. +unconstrainedTypeComparisons.ts(6,10): error TS18049: 'a' is possibly 'null' or 'undefined'. +unconstrainedTypeComparisons.ts(6,14): error TS18049: 'b' is possibly 'null' or 'undefined'. +unconstrainedTypeComparisons.ts(14,10): error TS18047: 'a' is possibly 'null'. +unconstrainedTypeComparisons.ts(14,14): error TS18049: 'b' is possibly 'null' or 'undefined'. -==== unconstrainedTypeComparisons.ts (2 errors) ==== +==== unconstrainedTypeComparisons.ts (6 errors) ==== + export function f(a: T, b: T): boolean { + return a > b; + ~ +!!! error TS18049: 'a' is possibly 'null' or 'undefined'. + ~ +!!! error TS18049: 'b' is possibly 'null' or 'undefined'. + } + export function g(a: T, b: T): boolean { return a > b; ~ !!! error TS18049: 'a' is possibly 'null' or 'undefined'. ~ +!!! error TS18049: 'b' is possibly 'null' or 'undefined'. + } + + function h(a: T, b: T): boolean { + if (a === undefined) { + return true; + } + + return a > b; + ~ +!!! error TS18047: 'a' is possibly 'null'. + ~ !!! error TS18049: 'b' is possibly 'null' or 'undefined'. } \ No newline at end of file diff --git a/tests/baselines/reference/unconstrainedTypeComparisons.js b/tests/baselines/reference/unconstrainedTypeComparisons.js index 81fc01ce0c058..8267164675518 100644 --- a/tests/baselines/reference/unconstrainedTypeComparisons.js +++ b/tests/baselines/reference/unconstrainedTypeComparisons.js @@ -1,11 +1,32 @@ //// [tests/cases/compiler/unconstrainedTypeComparisons.ts] //// //// [unconstrainedTypeComparisons.ts] +export function f(a: T, b: T): boolean { + return a > b; +} + export function g(a: T, b: T): boolean { + return a > b; +} + +function h(a: T, b: T): boolean { + if (a === undefined) { + return true; + } + return a > b; } //// [unconstrainedTypeComparisons.js] +export function f(a, b) { + return a > b; +} export function g(a, b) { return a > b; } +function h(a, b) { + if (a === undefined) { + return true; + } + return a > b; +} diff --git a/tests/baselines/reference/unconstrainedTypeComparisons.symbols b/tests/baselines/reference/unconstrainedTypeComparisons.symbols index 5146fdad4cfb3..17f173c6d7dc0 100644 --- a/tests/baselines/reference/unconstrainedTypeComparisons.symbols +++ b/tests/baselines/reference/unconstrainedTypeComparisons.symbols @@ -1,15 +1,48 @@ //// [tests/cases/compiler/unconstrainedTypeComparisons.ts] //// === unconstrainedTypeComparisons.ts === -export function g(a: T, b: T): boolean { ->g : Symbol(g, Decl(unconstrainedTypeComparisons.ts, 0, 0)) +export function f(a: T, b: T): boolean { +>f : Symbol(f, Decl(unconstrainedTypeComparisons.ts, 0, 0)) >T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 0, 18)) ->a : Symbol(a, Decl(unconstrainedTypeComparisons.ts, 0, 21)) +>a : Symbol(a, Decl(unconstrainedTypeComparisons.ts, 0, 51)) >T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 0, 18)) ->b : Symbol(b, Decl(unconstrainedTypeComparisons.ts, 0, 26)) +>b : Symbol(b, Decl(unconstrainedTypeComparisons.ts, 0, 56)) >T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 0, 18)) return a > b; ->a : Symbol(a, Decl(unconstrainedTypeComparisons.ts, 0, 21)) ->b : Symbol(b, Decl(unconstrainedTypeComparisons.ts, 0, 26)) +>a : Symbol(a, Decl(unconstrainedTypeComparisons.ts, 0, 51)) +>b : Symbol(b, Decl(unconstrainedTypeComparisons.ts, 0, 56)) +} + +export function g(a: T, b: T): boolean { +>g : Symbol(g, Decl(unconstrainedTypeComparisons.ts, 2, 1)) +>T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 4, 18)) +>a : Symbol(a, Decl(unconstrainedTypeComparisons.ts, 4, 21)) +>T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 4, 18)) +>b : Symbol(b, Decl(unconstrainedTypeComparisons.ts, 4, 26)) +>T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 4, 18)) + + return a > b; +>a : Symbol(a, Decl(unconstrainedTypeComparisons.ts, 4, 21)) +>b : Symbol(b, Decl(unconstrainedTypeComparisons.ts, 4, 26)) +} + +function h(a: T, b: T): boolean { +>h : Symbol(h, Decl(unconstrainedTypeComparisons.ts, 6, 1)) +>T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 8, 11)) +>a : Symbol(a, Decl(unconstrainedTypeComparisons.ts, 8, 14)) +>T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 8, 11)) +>b : Symbol(b, Decl(unconstrainedTypeComparisons.ts, 8, 19)) +>T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 8, 11)) + + if (a === undefined) { +>a : Symbol(a, Decl(unconstrainedTypeComparisons.ts, 8, 14)) +>undefined : Symbol(undefined) + + return true; + } + + return a > b; +>a : Symbol(a, Decl(unconstrainedTypeComparisons.ts, 8, 14)) +>b : Symbol(b, Decl(unconstrainedTypeComparisons.ts, 8, 19)) } diff --git a/tests/baselines/reference/unconstrainedTypeComparisons.types b/tests/baselines/reference/unconstrainedTypeComparisons.types index 35ce029966552..c0770f0499b8f 100644 --- a/tests/baselines/reference/unconstrainedTypeComparisons.types +++ b/tests/baselines/reference/unconstrainedTypeComparisons.types @@ -1,6 +1,23 @@ //// [tests/cases/compiler/unconstrainedTypeComparisons.ts] //// === unconstrainedTypeComparisons.ts === +export function f(a: T, b: T): boolean { +>f : (a: T, b: T) => boolean +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a : T +> : ^ +>b : T +> : ^ + + return a > b; +>a > b : boolean +> : ^^^^^^^ +>a : T +> : ^ +>b : T +> : ^ +} + export function g(a: T, b: T): boolean { >g : (a: T, b: T) => boolean > : ^ ^^ ^^ ^^ ^^ ^^^^^ @@ -17,3 +34,33 @@ export function g(a: T, b: T): boolean { >b : T > : ^ } + +function h(a: T, b: T): boolean { +>h : (a: T, b: T) => boolean +> : ^ ^^ ^^ ^^ ^^ ^^^^^ +>a : T +> : ^ +>b : T +> : ^ + + if (a === undefined) { +>a === undefined : boolean +> : ^^^^^^^ +>a : T +> : ^ +>undefined : undefined +> : ^^^^^^^^^ + + return true; +>true : true +> : ^^^^ + } + + return a > b; +>a > b : boolean +> : ^^^^^^^ +>a : T & ({} | null) +> : ^^^^^^^^^^^^^^^ +>b : T +> : ^ +} diff --git a/tests/cases/compiler/unconstrainedTypeComparisons.ts b/tests/cases/compiler/unconstrainedTypeComparisons.ts index 7b7f1aea129ad..2bb8d0d4333a6 100644 --- a/tests/cases/compiler/unconstrainedTypeComparisons.ts +++ b/tests/cases/compiler/unconstrainedTypeComparisons.ts @@ -2,6 +2,18 @@ // @target: es2015 // @strict: true +export function f(a: T, b: T): boolean { + return a > b; +} + export function g(a: T, b: T): boolean { + return a > b; +} + +function h(a: T, b: T): boolean { + if (a === undefined) { + return true; + } + return a > b; } \ No newline at end of file From 4f5177256fb43e17804230f32794a02e9b290df8 Mon Sep 17 00:00:00 2001 From: Isabel Duan Date: Mon, 1 Jul 2024 14:02:07 -0700 Subject: [PATCH 5/7] fix fourslash function --- src/harness/fourslashImpl.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/harness/fourslashImpl.ts b/src/harness/fourslashImpl.ts index 83abf06ff6b99..e82e9a62a2235 100644 --- a/src/harness/fourslashImpl.ts +++ b/src/harness/fourslashImpl.ts @@ -1738,7 +1738,7 @@ export class TestState { for (const key in actual) { if (ts.hasProperty(actual as any, key)) { - const ak = actual[key], ek = expected[key]; + const ak = actual[key], ek = (expected as typeof actual)[key]; if (typeof ak === "object" && typeof ek === "object") { recur(ak, ek, path ? path + "." + key : key); } From 559ff9f416477c415d29a7157e113ec0f56b26d7 Mon Sep 17 00:00:00 2001 From: Isabel Duan Date: Fri, 12 Jul 2024 22:20:16 -0700 Subject: [PATCH 6/7] allow null checking index access with keyof --- src/compiler/checker.ts | 9 +- .../controlFlowGenericTypes.errors.txt | 5 +- .../reference/controlFlowGenericTypes.types | 8 +- .../keyofAndIndexedAccess.errors.txt | 88 +- .../reference/keyofAndIndexedAccess.js | 10 +- .../reference/keyofAndIndexedAccess.types | 193 +- .../reference/largeControlFlowGraph.types | 8000 ++++++++--------- .../reference/mappedTypeErrors.errors.txt | 26 +- .../reference/mappedTypeErrors.types | 8 +- .../mappedTypeRelationships.errors.txt | 295 +- .../reference/mappedTypeRelationships.js | 4 +- .../reference/mappedTypeRelationships.types | 196 +- .../reference/unconstrainedTypeMapped.js | 13 + .../reference/unconstrainedTypeMapped.symbols | 18 + .../reference/unconstrainedTypeMapped.types | 20 + .../reference/unknownControlFlow.errors.txt | 11 +- .../reference/unknownControlFlow.types | 8 +- .../cases/compiler/unconstrainedTypeMapped.ts | 5 + 18 files changed, 4353 insertions(+), 4564 deletions(-) create mode 100644 tests/baselines/reference/unconstrainedTypeMapped.js create mode 100644 tests/baselines/reference/unconstrainedTypeMapped.symbols create mode 100644 tests/baselines/reference/unconstrainedTypeMapped.types create mode 100644 tests/cases/compiler/unconstrainedTypeMapped.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 21e7af53e425d..a5fb96e223994 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -34560,8 +34560,13 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } function checkIndexedAccess(node: ElementAccessExpression, checkMode: CheckMode | undefined): Type { - return node.flags & NodeFlags.OptionalChain ? checkElementAccessChain(node as ElementAccessChain, checkMode) : - checkElementAccessExpression(node, checkNonNullExpression(node.expression), checkMode); + if (node.flags & NodeFlags.OptionalChain) { + return checkElementAccessChain(node as ElementAccessChain, checkMode); + } + if (shouldDeferIndexType(getTypeOfNode(node.expression))) { + return checkElementAccessExpression(node, checkExpression(node.expression), checkMode); + } + return checkElementAccessExpression(node, checkNonNullExpression(node.expression), checkMode); } function checkElementAccessChain(node: ElementAccessChain, checkMode: CheckMode | undefined) { diff --git a/tests/baselines/reference/controlFlowGenericTypes.errors.txt b/tests/baselines/reference/controlFlowGenericTypes.errors.txt index 672969e2f0179..27101aaa81cc4 100644 --- a/tests/baselines/reference/controlFlowGenericTypes.errors.txt +++ b/tests/baselines/reference/controlFlowGenericTypes.errors.txt @@ -5,13 +5,12 @@ controlFlowGenericTypes.ts(81,11): error TS2339: Property 'foo' does not exist o controlFlowGenericTypes.ts(90,44): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value. controlFlowGenericTypes.ts(91,11): error TS2339: Property 'foo' does not exist on type 'MyUnion'. Property 'foo' does not exist on type 'AA'. -controlFlowGenericTypes.ts(146,16): error TS18049: 'obj' is possibly 'null' or 'undefined'. controlFlowGenericTypes.ts(156,16): error TS18048: 'obj' is possibly 'undefined'. controlFlowGenericTypes.ts(167,9): error TS18048: 'iSpec' is possibly 'undefined'. controlFlowGenericTypes.ts(168,9): error TS18048: 'iSpec' is possibly 'undefined'. -==== controlFlowGenericTypes.ts (9 errors) ==== +==== controlFlowGenericTypes.ts (8 errors) ==== function f1(x: T, y: { a: T }, z: [T]): string { if (x) { x; @@ -170,8 +169,6 @@ controlFlowGenericTypes.ts(168,9): error TS18048: 'iSpec' is possibly 'undefined function fx1(obj: T, key: K) { const x1 = obj[key]; - ~~~ -!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. const x2 = obj && obj[key]; } diff --git a/tests/baselines/reference/controlFlowGenericTypes.types b/tests/baselines/reference/controlFlowGenericTypes.types index 502de310144c1..34aaf80709138 100644 --- a/tests/baselines/reference/controlFlowGenericTypes.types +++ b/tests/baselines/reference/controlFlowGenericTypes.types @@ -596,10 +596,10 @@ function fx1(obj: T, key: K) { > : ^ const x1 = obj[key]; ->x1 : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ ->obj[key] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ +>x1 : T[K] +> : ^^^^ +>obj[key] : T[K] +> : ^^^^ >obj : T > : ^ >key : K diff --git a/tests/baselines/reference/keyofAndIndexedAccess.errors.txt b/tests/baselines/reference/keyofAndIndexedAccess.errors.txt index 24337b6bba439..63e522cb1c6f4 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess.errors.txt +++ b/tests/baselines/reference/keyofAndIndexedAccess.errors.txt @@ -1,47 +1,18 @@ -keyofAndIndexedAccess.ts(80,12): error TS18049: 'obj' is possibly 'null' or 'undefined'. -keyofAndIndexedAccess.ts(84,5): error TS18049: 'obj' is possibly 'null' or 'undefined'. -keyofAndIndexedAccess.ts(84,5): error TS2322: Type 'T[K]' is not assignable to type 'NonNullable[K]'. - Type 'T' is not assignable to type 'NonNullable'. - Type 'T' is not assignable to type '{}'. -keyofAndIndexedAccess.ts(116,16): error TS2533: Object is possibly 'null' or 'undefined'. -keyofAndIndexedAccess.ts(119,9): error TS2533: Object is possibly 'null' or 'undefined'. -keyofAndIndexedAccess.ts(119,9): error TS2322: Type 'PropType[K]' is not assignable to type 'NonNullable[K]'. - Type 'PropType' is not assignable to type 'NonNullable'. - Type 'PropType' is not assignable to type '{}'. -keyofAndIndexedAccess.ts(133,27): error TS18049: 'x' is possibly 'null' or 'undefined'. -keyofAndIndexedAccess.ts(203,19): error TS18049: 'obj' is possibly 'null' or 'undefined'. -keyofAndIndexedAccess.ts(205,24): error TS18049: 'obj' is possibly 'null' or 'undefined'. keyofAndIndexedAccess.ts(205,24): error TS2533: Object is possibly 'null' or 'undefined'. -keyofAndIndexedAccess.ts(209,19): error TS18049: 'obj' is possibly 'null' or 'undefined'. -keyofAndIndexedAccess.ts(211,24): error TS18049: 'obj' is possibly 'null' or 'undefined'. keyofAndIndexedAccess.ts(211,24): error TS2533: Object is possibly 'null' or 'undefined'. -keyofAndIndexedAccess.ts(216,9): error TS18049: 'target' is possibly 'null' or 'undefined'. +keyofAndIndexedAccess.ts(216,9): error TS2536: Type 'Extract, string>' cannot be used to index type 'T'. keyofAndIndexedAccess.ts(316,5): error TS2322: Type 'T' is not assignable to type '{}'. keyofAndIndexedAccess.ts(317,5): error TS2322: Type 'T[keyof T]' is not assignable to type '{}'. Type 'T[string] | T[number] | T[symbol]' is not assignable to type '{}'. Type 'T[string]' is not assignable to type '{}'. keyofAndIndexedAccess.ts(318,5): error TS2322: Type 'T[K]' is not assignable to type '{}'. Type 'T[keyof T]' is not assignable to type '{}'. -keyofAndIndexedAccess.ts(390,27): error TS18049: 'object' is possibly 'null' or 'undefined'. -keyofAndIndexedAccess.ts(390,27): error TS2533: Object is possibly 'null' or 'undefined'. -keyofAndIndexedAccess.ts(390,27): error TS2322: Type 'T[K1][K2]' is not assignable to type 'NonNullable[K1]>[K2]'. - Type 'T[K1]' is not assignable to type 'NonNullable[K1]>'. - Type 'T[keyof T]' is not assignable to type 'NonNullable[K1]>'. - Type 'T[string] | T[number] | T[symbol]' is not assignable to type 'NonNullable[K1]>'. - Type 'T[string]' is not assignable to type 'NonNullable[K1]>'. - Type 'T[string]' is not assignable to type 'NonNullable[K1]'. - Type 'T' is not assignable to type 'NonNullable'. - Type 'T[keyof T]' is not assignable to type 'NonNullable[K1]'. - Type 'T' is not assignable to type 'NonNullable'. - Type 'T[K1]' is not assignable to type 'NonNullable[K1]'. - Type 'T' is not assignable to type 'NonNullable'. - Type 'T' is not assignable to type '{}'. keyofAndIndexedAccess.ts(566,9): error TS2322: Type 'T[K]' is not assignable to type 'NonNullable[Extract, string>]'. Type 'T' is not assignable to type 'NonNullable'. Type 'T' is not assignable to type '{}'. -==== keyofAndIndexedAccess.ts (21 errors) ==== +==== keyofAndIndexedAccess.ts (7 errors) ==== class Shape { name: string; width: number; @@ -122,20 +93,10 @@ keyofAndIndexedAccess.ts(566,9): error TS2322: Type 'T[K]' is not assignable to function getProperty(obj: T, key: K) { return obj[key]; - ~~~ -!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. } function setProperty(obj: T, key: K, value: T[K]) { obj[key] = value; - ~~~ -!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. - ~~~~~~~~ -!!! error TS2322: Type 'T[K]' is not assignable to type 'NonNullable[K]'. -!!! error TS2322: Type 'T' is not assignable to type 'NonNullable'. -!!! error TS2322: Type 'T' is not assignable to type '{}'. -!!! related TS2208 keyofAndIndexedAccess.ts:83:22: This type parameter might need an `extends {}` constraint. -!!! related TS2208 keyofAndIndexedAccess.ts:83:22: This type parameter might need an `extends NonNullable` constraint. } function f10(shape: Shape) { @@ -168,19 +129,9 @@ keyofAndIndexedAccess.ts(566,9): error TS2322: Type 'T[K]' is not assignable to props: PropType; getProperty(key: K) { return this.props[key]; - ~~~~~~~~~~ -!!! error TS2533: Object is possibly 'null' or 'undefined'. } setProperty(key: K, value: PropType[K]) { this.props[key] = value; - ~~~~~~~~~~ -!!! error TS2533: Object is possibly 'null' or 'undefined'. - ~~~~~~~~~~~~~~~ -!!! error TS2322: Type 'PropType[K]' is not assignable to type 'NonNullable[K]'. -!!! error TS2322: Type 'PropType' is not assignable to type 'NonNullable'. -!!! error TS2322: Type 'PropType' is not assignable to type '{}'. -!!! related TS2208 keyofAndIndexedAccess.ts:113:17: This type parameter might need an `extends {}` constraint. -!!! related TS2208 keyofAndIndexedAccess.ts:113:17: This type parameter might need an `extends NonNullable` constraint. } } @@ -195,8 +146,6 @@ keyofAndIndexedAccess.ts(566,9): error TS2322: Type 'T[K]' is not assignable to function pluck(array: T[], key: K) { return array.map(x => x[key]); - ~ -!!! error TS18049: 'x' is possibly 'null' or 'undefined'. } function f30(shapes: Shape[]) { @@ -267,24 +216,16 @@ keyofAndIndexedAccess.ts(566,9): error TS2322: Type 'T[K]' is not assignable to function f54(obj: T, key: keyof T) { for (let s in obj[key]) { - ~~~ -!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. } const b = "foo" in obj[key]; - ~~~ -!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. ~~~~~~~~ !!! error TS2533: Object is possibly 'null' or 'undefined'. } function f55(obj: T, key: K) { for (let s in obj[key]) { - ~~~ -!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. } const b = "foo" in obj[key]; - ~~~ -!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. ~~~~~~~~ !!! error TS2533: Object is possibly 'null' or 'undefined'. } @@ -292,8 +233,8 @@ keyofAndIndexedAccess.ts(566,9): error TS2322: Type 'T[K]' is not assignable to function f60(source: T, target: T) { for (let k in source) { target[k] = source[k]; - ~~~~~~ -!!! error TS18049: 'target' is possibly 'null' or 'undefined'. + ~~~~~~~~~ +!!! error TS2536: Type 'Extract, string>' cannot be used to index type 'T'. } } @@ -478,27 +419,6 @@ keyofAndIndexedAccess.ts(566,9): error TS2322: Type 'T[K]' is not assignable to const assignTo2 = (object: T, key1: K1, key2: K2) => (value: T[K1][K2]) => object[key1][key2] = value; - ~~~~~~ -!!! error TS18049: 'object' is possibly 'null' or 'undefined'. - ~~~~~~~~~~~~ -!!! error TS2533: Object is possibly 'null' or 'undefined'. - ~~~~~~~~~~~~~~~~~~ -!!! error TS2322: Type 'T[K1][K2]' is not assignable to type 'NonNullable[K1]>[K2]'. -!!! error TS2322: Type 'T[K1]' is not assignable to type 'NonNullable[K1]>'. -!!! error TS2322: Type 'T[keyof T]' is not assignable to type 'NonNullable[K1]>'. -!!! error TS2322: Type 'T[string] | T[number] | T[symbol]' is not assignable to type 'NonNullable[K1]>'. -!!! error TS2322: Type 'T[string]' is not assignable to type 'NonNullable[K1]>'. -!!! error TS2322: Type 'T[string]' is not assignable to type 'NonNullable[K1]'. -!!! error TS2322: Type 'T' is not assignable to type 'NonNullable'. -!!! error TS2322: Type 'T[keyof T]' is not assignable to type 'NonNullable[K1]'. -!!! error TS2322: Type 'T' is not assignable to type 'NonNullable'. -!!! error TS2322: Type 'T[K1]' is not assignable to type 'NonNullable[K1]'. -!!! error TS2322: Type 'T' is not assignable to type 'NonNullable'. -!!! error TS2322: Type 'T' is not assignable to type '{}'. -!!! related TS2208 keyofAndIndexedAccess.ts:389:20: This type parameter might need an `extends {}` constraint. -!!! related TS2208 keyofAndIndexedAccess.ts:389:20: This type parameter might need an `extends NonNullable` constraint. -!!! related TS2208 keyofAndIndexedAccess.ts:389:20: This type parameter might need an `extends NonNullable` constraint. -!!! related TS2208 keyofAndIndexedAccess.ts:389:20: This type parameter might need an `extends NonNullable` constraint. // Modified repro from #12573 diff --git a/tests/baselines/reference/keyofAndIndexedAccess.js b/tests/baselines/reference/keyofAndIndexedAccess.js index 5ef5c7917c717..ea10cf32f5e50 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess.js +++ b/tests/baselines/reference/keyofAndIndexedAccess.js @@ -1170,7 +1170,7 @@ type Q50 = Dictionary["howdy"]; type Q51 = Dictionary[123]; type Q52 = Dictionary[E.B]; declare let cond: boolean; -declare function getProperty(obj: T, key: K): NonNullable[K]; +declare function getProperty(obj: T, key: K): T[K]; declare function setProperty(obj: T, key: K, value: T[K]): void; declare function f10(shape: Shape): void; declare function f11(a: Shape[]): void; @@ -1178,15 +1178,15 @@ declare function f12(t: [Shape, boolean]): void; declare function f13(foo: any, bar: any): void; declare class Component { props: PropType; - getProperty(key: K): NonNullable[K]; + getProperty(key: K): PropType[K]; setProperty(key: K, value: PropType[K]): void; } declare function f20(component: Component): void; -declare function pluck(array: T[], key: K): NonNullable[K][]; +declare function pluck(array: T[], key: K): T[K][]; declare function f30(shapes: Shape[]): void; declare function f31(key: K): Shape[K]; declare function f32(key: K): Shape[K]; -declare function f33(shape: S, key: K): NonNullable[K]; +declare function f33(shape: S, key: K): S[K]; declare function f34(ts: TaggedShape): void; declare class C { x: string; @@ -1252,7 +1252,7 @@ declare class Person extends Base { declare class OtherPerson { parts: number; constructor(parts: number); - getParts(): NonNullable["parts"]; + getParts(): this["parts"]; } declare function path(obj: T, key1: K1): T[K1]; declare function path(obj: T, key1: K1, key2: K2): T[K1][K2]; diff --git a/tests/baselines/reference/keyofAndIndexedAccess.types b/tests/baselines/reference/keyofAndIndexedAccess.types index 19c01de77418d..5089bc8ce06b6 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess.types +++ b/tests/baselines/reference/keyofAndIndexedAccess.types @@ -2,7 +2,6 @@ === Performance Stats === Type Count: 1,000 -Instantiation count: 1,000 === keyofAndIndexedAccess.ts === class Shape { @@ -256,16 +255,16 @@ declare let cond: boolean; > : ^^^^^^^ function getProperty(obj: T, key: K) { ->getProperty : (obj: T, key: K) => NonNullable[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>getProperty : (obj: T, key: K) => T[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : T > : ^ >key : K > : ^ return obj[key]; ->obj[key] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ +>obj[key] : T[K] +> : ^^^^ >obj : T > : ^ >key : K @@ -285,8 +284,8 @@ function setProperty(obj: T, key: K, value: T[K]) { obj[key] = value; >obj[key] = value : T[K] > : ^^^^ ->obj[key] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ +>obj[key] : T[K] +> : ^^^^ >obj : T > : ^ >key : K @@ -306,8 +305,8 @@ function f10(shape: Shape) { > : ^^^^^^ >getProperty(shape, "name") : string > : ^^^^^^ ->getProperty : (obj: T, key: K) => NonNullable[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>getProperty : (obj: T, key: K) => T[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >shape : Shape > : ^^^^^ >"name" : "name" @@ -318,8 +317,8 @@ function f10(shape: Shape) { > : ^^^^^^ >getProperty(shape, cond ? "width" : "height") : number > : ^^^^^^ ->getProperty : (obj: T, key: K) => NonNullable[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>getProperty : (obj: T, key: K) => T[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >shape : Shape > : ^^^^^ >cond ? "width" : "height" : "width" | "height" @@ -336,8 +335,8 @@ function f10(shape: Shape) { > : ^^^^^^^^^^^^^^^^ >getProperty(shape, cond ? "name" : "visible") : string | boolean > : ^^^^^^^^^^^^^^^^ ->getProperty : (obj: T, key: K) => NonNullable[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>getProperty : (obj: T, key: K) => T[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >shape : Shape > : ^^^^^ >cond ? "name" : "visible" : "name" | "visible" @@ -409,8 +408,8 @@ function f11(a: Shape[]) { > : ^^^^^^ >getProperty(a, "length") : number > : ^^^^^^ ->getProperty : (obj: T, key: K) => NonNullable[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>getProperty : (obj: T, key: K) => T[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : Shape[] > : ^^^^^^^ >"length" : "length" @@ -440,8 +439,8 @@ function f12(t: [Shape, boolean]) { > : ^ >getProperty(t, "length") : 2 > : ^ ->getProperty : (obj: T, key: K) => NonNullable[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>getProperty : (obj: T, key: K) => T[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >t : [Shape, boolean] > : ^^^^^^^^^^^^^^^^ >"length" : "length" @@ -452,8 +451,8 @@ function f12(t: [Shape, boolean]) { > : ^^^^^ >getProperty(t, "0") : Shape > : ^^^^^ ->getProperty : (obj: T, key: K) => NonNullable[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>getProperty : (obj: T, key: K) => T[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >t : [Shape, boolean] > : ^^^^^^^^^^^^^^^^ >"0" : "0" @@ -464,8 +463,8 @@ function f12(t: [Shape, boolean]) { > : ^^^^^^^ >getProperty(t, "1") : boolean > : ^^^^^^^ ->getProperty : (obj: T, key: K) => NonNullable[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>getProperty : (obj: T, key: K) => T[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >t : [Shape, boolean] > : ^^^^^^^^^^^^^^^^ >"1" : "1" @@ -485,8 +484,8 @@ function f13(foo: any, bar: any) { > : ^^^ >getProperty(foo, "x") : any > : ^^^ ->getProperty : (obj: T, key: K) => NonNullable[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>getProperty : (obj: T, key: K) => T[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >foo : any > : ^^^ >"x" : "x" @@ -497,8 +496,8 @@ function f13(foo: any, bar: any) { > : ^^^ >getProperty(foo, "100") : any > : ^^^ ->getProperty : (obj: T, key: K) => NonNullable[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>getProperty : (obj: T, key: K) => T[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >foo : any > : ^^^ >"100" : "100" @@ -509,8 +508,8 @@ function f13(foo: any, bar: any) { > : ^^^ >getProperty(foo, bar) : any > : ^^^ ->getProperty : (obj: T, key: K) => NonNullable[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>getProperty : (obj: T, key: K) => T[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >foo : any > : ^^^ >bar : any @@ -526,14 +525,14 @@ class Component { > : ^^^^^^^^ getProperty(key: K) { ->getProperty : (key: K) => NonNullable[K] -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getProperty : (key: K) => PropType[K] +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >key : K > : ^ return this.props[key]; ->this.props[key] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>this.props[key] : PropType[K] +> : ^^^^^^^^^^^ >this.props : PropType > : ^^^^^^^^ >this : this @@ -554,8 +553,8 @@ class Component { this.props[key] = value; >this.props[key] = value : PropType[K] > : ^^^^^^^^^^^ ->this.props[key] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>this.props[key] : PropType[K] +> : ^^^^^^^^^^^ >this.props : PropType > : ^^^^^^^^ >this : this @@ -685,28 +684,28 @@ function f20(component: Component) { } function pluck(array: T[], key: K) { ->pluck : (array: T[], key: K) => NonNullable[K][] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>pluck : (array: T[], key: K) => T[K][] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >array : T[] > : ^^^ >key : K > : ^ return array.map(x => x[key]); ->array.map(x => x[key]) : NonNullable[K][] -> : ^^^^^^^^^^^^^^^^^^^ +>array.map(x => x[key]) : T[K][] +> : ^^^^^^ >array.map : (callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any) => U[] > : ^ ^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ >array : T[] > : ^^^ >map : (callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any) => U[] > : ^ ^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ ->x => x[key] : (x: T) => NonNullable[K] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +>x => x[key] : (x: T) => T[K] +> : ^ ^^^^^^^^^^^^ >x : T > : ^ ->x[key] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ +>x[key] : T[K] +> : ^^^^ >x : T > : ^ >key : K @@ -724,8 +723,8 @@ function f30(shapes: Shape[]) { > : ^^^^^^^^ >pluck(shapes, "name") : string[] > : ^^^^^^^^ ->pluck : (array: T[], key: K) => NonNullable[K][] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>pluck : (array: T[], key: K) => T[K][] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >shapes : Shape[] > : ^^^^^^^ >"name" : "name" @@ -736,8 +735,8 @@ function f30(shapes: Shape[]) { > : ^^^^^^^^ >pluck(shapes, "width") : number[] > : ^^^^^^^^ ->pluck : (array: T[], key: K) => NonNullable[K][] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>pluck : (array: T[], key: K) => T[K][] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >shapes : Shape[] > : ^^^^^^^ >"width" : "width" @@ -748,8 +747,8 @@ function f30(shapes: Shape[]) { > : ^^^^^^^^^^^^^^^^^^^^ >pluck(shapes, cond ? "name" : "visible") : (string | boolean)[] > : ^^^^^^^^^^^^^^^^^^^^ ->pluck : (array: T[], key: K) => NonNullable[K][] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>pluck : (array: T[], key: K) => T[K][] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >shapes : Shape[] > : ^^^^^^^ >cond ? "name" : "visible" : "name" | "visible" @@ -837,40 +836,40 @@ function f32(key: K) { } function f33(shape: S, key: K) { ->f33 : (shape: S, key: K) => NonNullable[K] -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>f33 : (shape: S, key: K) => S[K] +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >shape : S > : ^ >key : K > : ^ let name = getProperty(shape, "name"); ->name : NonNullable["name"] -> : ^^^^^^^^^^^^^^^^^^^^^^ ->getProperty(shape, "name") : NonNullable["name"] -> : ^^^^^^^^^^^^^^^^^^^^^^ ->getProperty : (obj: T, key: K_1) => NonNullable[K_1] -> : ^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>name : S["name"] +> : ^^^^^^^^^ +>getProperty(shape, "name") : S["name"] +> : ^^^^^^^^^ +>getProperty : (obj: T, key: K_1) => T[K_1] +> : ^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >shape : S > : ^ >"name" : "name" > : ^^^^^^ let prop = getProperty(shape, key); ->prop : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ ->getProperty(shape, key) : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ ->getProperty : (obj: T, key: K_1) => NonNullable[K_1] -> : ^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>prop : S[K] +> : ^^^^ +>getProperty(shape, key) : S[K] +> : ^^^^ +>getProperty : (obj: T, key: K_1) => T[K_1] +> : ^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >shape : S > : ^ >key : K > : ^ return prop; ->prop : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ +>prop : S[K] +> : ^^^^ } function f34(ts: TaggedShape) { @@ -884,8 +883,8 @@ function f34(ts: TaggedShape) { > : ^^^^^^ >f33(ts, "tag") : string > : ^^^^^^ ->f33 : (shape: S, key: K) => NonNullable[K] -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>f33 : (shape: S, key: K) => S[K] +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >ts : TaggedShape > : ^^^^^^^^^^^ >"tag" : "tag" @@ -896,8 +895,8 @@ function f34(ts: TaggedShape) { > : ^^^^^^ >getProperty(ts, "tag") : string > : ^^^^^^ ->getProperty : (obj: T, key: K) => NonNullable[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>getProperty : (obj: T, key: K) => T[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >ts : TaggedShape > : ^^^^^^^^^^^ >"tag" : "tag" @@ -1121,10 +1120,10 @@ function f54(obj: T, key: keyof T) { > : ^^^^^^^ for (let s in obj[key]) { ->s : Extract[keyof T]>, string> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->obj[key] : NonNullable[keyof T] -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>s : Extract, string> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj[key] : T[keyof T] +> : ^^^^^^^^^^ >obj : T > : ^ >key : keyof T @@ -1137,8 +1136,8 @@ function f54(obj: T, key: keyof T) { > : ^^^^^^^ >"foo" : "foo" > : ^^^^^ ->obj[key] : NonNullable[keyof T] -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>obj[key] : T[keyof T] +> : ^^^^^^^^^^ >obj : T > : ^ >key : keyof T @@ -1154,10 +1153,10 @@ function f55(obj: T, key: K) { > : ^ for (let s in obj[key]) { ->s : Extract[K]>, string> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->obj[key] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ +>s : Extract, string> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj[key] : T[K] +> : ^^^^ >obj : T > : ^ >key : K @@ -1170,8 +1169,8 @@ function f55(obj: T, key: K) { > : ^^^^^^^ >"foo" : "foo" > : ^^^^^ ->obj[key] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ +>obj[key] : T[K] +> : ^^^^ >obj : T > : ^ >key : K @@ -1195,8 +1194,8 @@ function f60(source: T, target: T) { target[k] = source[k]; >target[k] = source[k] : NonNullable[Extract, string>] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->target[k] : NonNullable[Extract, string>] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>target[k] : any +> : ^^^ >target : T > : ^ >k : Extract, string> @@ -1895,12 +1894,12 @@ class C1 { > : ^^^ let x4 = getProperty(this, "x"); // this["x"] ->x4 : NonNullable["x"] -> : ^^^^^^^^^^^^^^^^^^^^^^ ->getProperty(this, "x") : NonNullable["x"] -> : ^^^^^^^^^^^^^^^^^^^^^^ ->getProperty : (obj: T, key: K) => NonNullable[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>x4 : this["x"] +> : ^^^^^^^^^ +>getProperty(this, "x") : this["x"] +> : ^^^^^^^^^ +>getProperty : (obj: T, key: K) => T[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >"x" : "x" @@ -2252,14 +2251,14 @@ class OtherPerson { > : ^^^^^^ } getParts() { ->getParts : () => NonNullable["parts"] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getParts : () => this["parts"] +> : ^^^^^^^^^^^^^^^^^^^ return getProperty(this, "parts") ->getProperty(this, "parts") : NonNullable["parts"] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->getProperty : (obj: T, key: K) => NonNullable[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>getProperty(this, "parts") : this["parts"] +> : ^^^^^^^^^^^^^ +>getProperty : (obj: T, key: K) => T[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >"parts" : "parts" @@ -2447,10 +2446,10 @@ const assignTo2 = (object: T, key > : ^^^^^^^^^ >object[key1][key2] = value : T[K1][K2] > : ^^^^^^^^^ ->object[key1][key2] : NonNullable[K1]>[K2] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->object[key1] : NonNullable[K1] -> : ^^^^^^^^^^^^^^^^^^ +>object[key1][key2] : T[K1][K2] +> : ^^^^^^^^^ +>object[key1] : T[K1] +> : ^^^^^ >object : T > : ^ >key1 : K1 diff --git a/tests/baselines/reference/largeControlFlowGraph.types b/tests/baselines/reference/largeControlFlowGraph.types index d2be2df8a67ba..1a162bfd183ec 100644 --- a/tests/baselines/reference/largeControlFlowGraph.types +++ b/tests/baselines/reference/largeControlFlowGraph.types @@ -14,8 +14,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -26,8 +26,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -38,8 +38,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -50,8 +50,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -62,8 +62,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -74,8 +74,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -86,8 +86,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -98,8 +98,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -110,8 +110,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -122,8 +122,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -134,8 +134,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -146,8 +146,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -158,8 +158,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -170,8 +170,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -182,8 +182,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -194,8 +194,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -206,8 +206,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -218,8 +218,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -230,8 +230,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -242,8 +242,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -254,8 +254,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -266,8 +266,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -278,8 +278,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -290,8 +290,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -302,8 +302,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -314,8 +314,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -326,8 +326,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -338,8 +338,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -350,8 +350,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -362,8 +362,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -374,8 +374,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -386,8 +386,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -398,8 +398,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -410,8 +410,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -422,8 +422,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -434,8 +434,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -446,8 +446,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -458,8 +458,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -470,8 +470,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -482,8 +482,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -494,8 +494,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -506,8 +506,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -518,8 +518,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -530,8 +530,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -542,8 +542,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -554,8 +554,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -566,8 +566,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -578,8 +578,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -590,8 +590,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -602,8 +602,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -614,8 +614,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -626,8 +626,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -638,8 +638,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -650,8 +650,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -662,8 +662,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -674,8 +674,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -686,8 +686,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -698,8 +698,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -710,8 +710,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -722,8 +722,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -734,8 +734,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -746,8 +746,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -758,8 +758,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -770,8 +770,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -782,8 +782,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -794,8 +794,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -806,8 +806,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -818,8 +818,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -830,8 +830,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -842,8 +842,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -854,8 +854,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -866,8 +866,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -878,8 +878,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -890,8 +890,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -902,8 +902,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -914,8 +914,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -926,8 +926,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -938,8 +938,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -950,8 +950,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -962,8 +962,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -974,8 +974,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -986,8 +986,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -998,8 +998,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1010,8 +1010,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1022,8 +1022,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1034,8 +1034,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1046,8 +1046,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1058,8 +1058,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1070,8 +1070,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1082,8 +1082,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1094,8 +1094,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1106,8 +1106,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1118,8 +1118,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1130,8 +1130,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1142,8 +1142,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1154,8 +1154,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1166,8 +1166,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1178,8 +1178,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1190,8 +1190,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1202,8 +1202,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1214,8 +1214,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1226,8 +1226,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1238,8 +1238,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1250,8 +1250,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1262,8 +1262,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1274,8 +1274,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1286,8 +1286,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1298,8 +1298,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1310,8 +1310,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1322,8 +1322,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1334,8 +1334,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1346,8 +1346,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1358,8 +1358,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1370,8 +1370,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1382,8 +1382,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1394,8 +1394,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1406,8 +1406,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1418,8 +1418,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1430,8 +1430,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1442,8 +1442,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1454,8 +1454,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1466,8 +1466,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1478,8 +1478,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1490,8 +1490,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1502,8 +1502,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1514,8 +1514,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1526,8 +1526,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1538,8 +1538,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1550,8 +1550,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1562,8 +1562,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1574,8 +1574,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1586,8 +1586,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1598,8 +1598,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1610,8 +1610,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1622,8 +1622,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1634,8 +1634,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1646,8 +1646,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1658,8 +1658,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1670,8 +1670,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1682,8 +1682,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1694,8 +1694,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1706,8 +1706,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1718,8 +1718,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1730,8 +1730,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1742,8 +1742,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1754,8 +1754,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1766,8 +1766,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1778,8 +1778,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1790,8 +1790,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1802,8 +1802,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1814,8 +1814,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1826,8 +1826,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1838,8 +1838,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1850,8 +1850,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1862,8 +1862,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1874,8 +1874,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1886,8 +1886,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1898,8 +1898,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1910,8 +1910,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1922,8 +1922,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1934,8 +1934,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1946,8 +1946,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1958,8 +1958,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1970,8 +1970,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1982,8 +1982,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -1994,8 +1994,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2006,8 +2006,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2018,8 +2018,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2030,8 +2030,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2042,8 +2042,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2054,8 +2054,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2066,8 +2066,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2078,8 +2078,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2090,8 +2090,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2102,8 +2102,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2114,8 +2114,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2126,8 +2126,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2138,8 +2138,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2150,8 +2150,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2162,8 +2162,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2174,8 +2174,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2186,8 +2186,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2198,8 +2198,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2210,8 +2210,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2222,8 +2222,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2234,8 +2234,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2246,8 +2246,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2258,8 +2258,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2270,8 +2270,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2282,8 +2282,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2294,8 +2294,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2306,8 +2306,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2318,8 +2318,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2330,8 +2330,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2342,8 +2342,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2354,8 +2354,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2366,8 +2366,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2378,8 +2378,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2390,8 +2390,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2402,8 +2402,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2414,8 +2414,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2426,8 +2426,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2438,8 +2438,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2450,8 +2450,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2462,8 +2462,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2474,8 +2474,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2486,8 +2486,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2498,8 +2498,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2510,8 +2510,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2522,8 +2522,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2534,8 +2534,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2546,8 +2546,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2558,8 +2558,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2570,8 +2570,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2582,8 +2582,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2594,8 +2594,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2606,8 +2606,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2618,8 +2618,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2630,8 +2630,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2642,8 +2642,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2654,8 +2654,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2666,8 +2666,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2678,8 +2678,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2690,8 +2690,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2702,8 +2702,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2714,8 +2714,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2726,8 +2726,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2738,8 +2738,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2750,8 +2750,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2762,8 +2762,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2774,8 +2774,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2786,8 +2786,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2798,8 +2798,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2810,8 +2810,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2822,8 +2822,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2834,8 +2834,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2846,8 +2846,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2858,8 +2858,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2870,8 +2870,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2882,8 +2882,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2894,8 +2894,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2906,8 +2906,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2918,8 +2918,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2930,8 +2930,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2942,8 +2942,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2954,8 +2954,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2966,8 +2966,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2978,8 +2978,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -2990,8 +2990,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3002,8 +3002,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3014,8 +3014,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3026,8 +3026,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3038,8 +3038,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3050,8 +3050,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3062,8 +3062,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3074,8 +3074,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3086,8 +3086,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3098,8 +3098,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3110,8 +3110,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3122,8 +3122,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3134,8 +3134,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3146,8 +3146,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3158,8 +3158,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3170,8 +3170,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3182,8 +3182,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3194,8 +3194,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3206,8 +3206,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3218,8 +3218,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3230,8 +3230,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3242,8 +3242,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3254,8 +3254,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3266,8 +3266,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3278,8 +3278,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3290,8 +3290,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3302,8 +3302,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3314,8 +3314,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3326,8 +3326,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3338,8 +3338,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3350,8 +3350,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3362,8 +3362,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3374,8 +3374,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3386,8 +3386,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3398,8 +3398,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3410,8 +3410,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3422,8 +3422,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3434,8 +3434,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3446,8 +3446,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3458,8 +3458,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3470,8 +3470,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3482,8 +3482,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3494,8 +3494,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3506,8 +3506,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3518,8 +3518,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3530,8 +3530,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3542,8 +3542,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3554,8 +3554,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3566,8 +3566,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3578,8 +3578,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3590,8 +3590,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3602,8 +3602,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3614,8 +3614,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3626,8 +3626,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3638,8 +3638,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3650,8 +3650,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3662,8 +3662,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3674,8 +3674,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3686,8 +3686,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3698,8 +3698,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3710,8 +3710,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3722,8 +3722,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3734,8 +3734,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3746,8 +3746,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3758,8 +3758,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3770,8 +3770,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3782,8 +3782,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3794,8 +3794,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3806,8 +3806,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3818,8 +3818,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3830,8 +3830,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3842,8 +3842,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3854,8 +3854,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3866,8 +3866,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3878,8 +3878,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3890,8 +3890,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3902,8 +3902,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3914,8 +3914,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3926,8 +3926,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3938,8 +3938,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3950,8 +3950,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3962,8 +3962,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3974,8 +3974,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3986,8 +3986,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -3998,8 +3998,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4010,8 +4010,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4022,8 +4022,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4034,8 +4034,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4046,8 +4046,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4058,8 +4058,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4070,8 +4070,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4082,8 +4082,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4094,8 +4094,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4106,8 +4106,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4118,8 +4118,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4130,8 +4130,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4142,8 +4142,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4154,8 +4154,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4166,8 +4166,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4178,8 +4178,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4190,8 +4190,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4202,8 +4202,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4214,8 +4214,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4226,8 +4226,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4238,8 +4238,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4250,8 +4250,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4262,8 +4262,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4274,8 +4274,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4286,8 +4286,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4298,8 +4298,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4310,8 +4310,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4322,8 +4322,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4334,8 +4334,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4346,8 +4346,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4358,8 +4358,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4370,8 +4370,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4382,8 +4382,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4394,8 +4394,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4406,8 +4406,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4418,8 +4418,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4430,8 +4430,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4442,8 +4442,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4454,8 +4454,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4466,8 +4466,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4478,8 +4478,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4490,8 +4490,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4502,8 +4502,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4514,8 +4514,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4526,8 +4526,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4538,8 +4538,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4550,8 +4550,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4562,8 +4562,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4574,8 +4574,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4586,8 +4586,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4598,8 +4598,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4610,8 +4610,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4622,8 +4622,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4634,8 +4634,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4646,8 +4646,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4658,8 +4658,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4670,8 +4670,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4682,8 +4682,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4694,8 +4694,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4706,8 +4706,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4718,8 +4718,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4730,8 +4730,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4742,8 +4742,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4754,8 +4754,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4766,8 +4766,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4778,8 +4778,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4790,8 +4790,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4802,8 +4802,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4814,8 +4814,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4826,8 +4826,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4838,8 +4838,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4850,8 +4850,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4862,8 +4862,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4874,8 +4874,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4886,8 +4886,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4898,8 +4898,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4910,8 +4910,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4922,8 +4922,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4934,8 +4934,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4946,8 +4946,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4958,8 +4958,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4970,8 +4970,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4982,8 +4982,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -4994,8 +4994,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5006,8 +5006,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5018,8 +5018,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5030,8 +5030,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5042,8 +5042,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5054,8 +5054,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5066,8 +5066,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5078,8 +5078,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5090,8 +5090,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5102,8 +5102,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5114,8 +5114,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5126,8 +5126,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5138,8 +5138,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5150,8 +5150,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5162,8 +5162,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5174,8 +5174,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5186,8 +5186,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5198,8 +5198,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5210,8 +5210,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5222,8 +5222,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5234,8 +5234,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5246,8 +5246,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5258,8 +5258,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5270,8 +5270,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5282,8 +5282,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5294,8 +5294,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5306,8 +5306,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5318,8 +5318,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5330,8 +5330,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5342,8 +5342,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5354,8 +5354,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5366,8 +5366,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5378,8 +5378,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5390,8 +5390,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5402,8 +5402,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5414,8 +5414,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5426,8 +5426,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5438,8 +5438,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5450,8 +5450,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5462,8 +5462,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5474,8 +5474,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5486,8 +5486,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5498,8 +5498,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5510,8 +5510,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5522,8 +5522,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5534,8 +5534,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5546,8 +5546,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5558,8 +5558,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5570,8 +5570,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5582,8 +5582,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5594,8 +5594,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5606,8 +5606,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5618,8 +5618,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5630,8 +5630,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5642,8 +5642,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5654,8 +5654,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5666,8 +5666,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5678,8 +5678,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5690,8 +5690,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5702,8 +5702,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5714,8 +5714,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5726,8 +5726,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5738,8 +5738,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5750,8 +5750,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5762,8 +5762,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5774,8 +5774,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5786,8 +5786,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5798,8 +5798,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5810,8 +5810,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5822,8 +5822,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5834,8 +5834,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5846,8 +5846,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5858,8 +5858,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5870,8 +5870,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5882,8 +5882,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5894,8 +5894,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5906,8 +5906,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5918,8 +5918,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5930,8 +5930,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5942,8 +5942,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5954,8 +5954,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5966,8 +5966,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5978,8 +5978,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -5990,8 +5990,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6002,8 +6002,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6014,8 +6014,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6026,8 +6026,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6038,8 +6038,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6050,8 +6050,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6062,8 +6062,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6074,8 +6074,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6086,8 +6086,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6098,8 +6098,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6110,8 +6110,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6122,8 +6122,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6134,8 +6134,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6146,8 +6146,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6158,8 +6158,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6170,8 +6170,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6182,8 +6182,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6194,8 +6194,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6206,8 +6206,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6218,8 +6218,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6230,8 +6230,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6242,8 +6242,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6254,8 +6254,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6266,8 +6266,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6278,8 +6278,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6290,8 +6290,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6302,8 +6302,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6314,8 +6314,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6326,8 +6326,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6338,8 +6338,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6350,8 +6350,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6362,8 +6362,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6374,8 +6374,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6386,8 +6386,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6398,8 +6398,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6410,8 +6410,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6422,8 +6422,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6434,8 +6434,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6446,8 +6446,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6458,8 +6458,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6470,8 +6470,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6482,8 +6482,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6494,8 +6494,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6506,8 +6506,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6518,8 +6518,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6530,8 +6530,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6542,8 +6542,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6554,8 +6554,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6566,8 +6566,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6578,8 +6578,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6590,8 +6590,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6602,8 +6602,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6614,8 +6614,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6626,8 +6626,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6638,8 +6638,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6650,8 +6650,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6662,8 +6662,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6674,8 +6674,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6686,8 +6686,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6698,8 +6698,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6710,8 +6710,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6722,8 +6722,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6734,8 +6734,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6746,8 +6746,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6758,8 +6758,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6770,8 +6770,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6782,8 +6782,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6794,8 +6794,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6806,8 +6806,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6818,8 +6818,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6830,8 +6830,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6842,8 +6842,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6854,8 +6854,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6866,8 +6866,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6878,8 +6878,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6890,8 +6890,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6902,8 +6902,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6914,8 +6914,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6926,8 +6926,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6938,8 +6938,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6950,8 +6950,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6962,8 +6962,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6974,8 +6974,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6986,8 +6986,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -6998,8 +6998,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7010,8 +7010,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7022,8 +7022,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7034,8 +7034,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7046,8 +7046,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7058,8 +7058,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7070,8 +7070,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7082,8 +7082,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7094,8 +7094,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7106,8 +7106,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7118,8 +7118,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7130,8 +7130,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7142,8 +7142,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7154,8 +7154,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7166,8 +7166,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7178,8 +7178,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7190,8 +7190,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7202,8 +7202,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7214,8 +7214,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7226,8 +7226,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7238,8 +7238,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7250,8 +7250,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7262,8 +7262,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7274,8 +7274,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7286,8 +7286,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7298,8 +7298,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7310,8 +7310,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7322,8 +7322,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7334,8 +7334,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7346,8 +7346,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7358,8 +7358,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7370,8 +7370,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7382,8 +7382,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7394,8 +7394,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7406,8 +7406,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7418,8 +7418,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7430,8 +7430,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7442,8 +7442,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7454,8 +7454,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7466,8 +7466,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7478,8 +7478,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7490,8 +7490,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7502,8 +7502,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7514,8 +7514,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7526,8 +7526,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7538,8 +7538,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7550,8 +7550,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7562,8 +7562,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7574,8 +7574,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7586,8 +7586,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7598,8 +7598,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7610,8 +7610,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7622,8 +7622,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7634,8 +7634,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7646,8 +7646,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7658,8 +7658,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7670,8 +7670,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7682,8 +7682,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7694,8 +7694,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7706,8 +7706,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7718,8 +7718,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7730,8 +7730,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7742,8 +7742,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7754,8 +7754,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7766,8 +7766,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7778,8 +7778,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7790,8 +7790,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7802,8 +7802,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7814,8 +7814,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7826,8 +7826,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7838,8 +7838,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7850,8 +7850,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7862,8 +7862,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7874,8 +7874,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7886,8 +7886,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7898,8 +7898,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7910,8 +7910,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7922,8 +7922,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7934,8 +7934,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7946,8 +7946,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7958,8 +7958,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7970,8 +7970,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7982,8 +7982,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -7994,8 +7994,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8006,8 +8006,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8018,8 +8018,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8030,8 +8030,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8042,8 +8042,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8054,8 +8054,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8066,8 +8066,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8078,8 +8078,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8090,8 +8090,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8102,8 +8102,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8114,8 +8114,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8126,8 +8126,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8138,8 +8138,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8150,8 +8150,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8162,8 +8162,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8174,8 +8174,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8186,8 +8186,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8198,8 +8198,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8210,8 +8210,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8222,8 +8222,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8234,8 +8234,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8246,8 +8246,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8258,8 +8258,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8270,8 +8270,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8282,8 +8282,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8294,8 +8294,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8306,8 +8306,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8318,8 +8318,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8330,8 +8330,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8342,8 +8342,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8354,8 +8354,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8366,8 +8366,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8378,8 +8378,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8390,8 +8390,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8402,8 +8402,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8414,8 +8414,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8426,8 +8426,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8438,8 +8438,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8450,8 +8450,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8462,8 +8462,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8474,8 +8474,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8486,8 +8486,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8498,8 +8498,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8510,8 +8510,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8522,8 +8522,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8534,8 +8534,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8546,8 +8546,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8558,8 +8558,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8570,8 +8570,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8582,8 +8582,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8594,8 +8594,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8606,8 +8606,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8618,8 +8618,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8630,8 +8630,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8642,8 +8642,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8654,8 +8654,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8666,8 +8666,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8678,8 +8678,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8690,8 +8690,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8702,8 +8702,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8714,8 +8714,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8726,8 +8726,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8738,8 +8738,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8750,8 +8750,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8762,8 +8762,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8774,8 +8774,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8786,8 +8786,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8798,8 +8798,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8810,8 +8810,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8822,8 +8822,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8834,8 +8834,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8846,8 +8846,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8858,8 +8858,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8870,8 +8870,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8882,8 +8882,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8894,8 +8894,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8906,8 +8906,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8918,8 +8918,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8930,8 +8930,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8942,8 +8942,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8954,8 +8954,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8966,8 +8966,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8978,8 +8978,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -8990,8 +8990,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9002,8 +9002,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9014,8 +9014,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9026,8 +9026,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9038,8 +9038,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9050,8 +9050,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9062,8 +9062,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9074,8 +9074,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9086,8 +9086,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9098,8 +9098,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9110,8 +9110,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9122,8 +9122,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9134,8 +9134,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9146,8 +9146,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9158,8 +9158,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9170,8 +9170,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9182,8 +9182,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9194,8 +9194,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9206,8 +9206,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9218,8 +9218,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9230,8 +9230,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9242,8 +9242,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9254,8 +9254,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9266,8 +9266,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9278,8 +9278,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9290,8 +9290,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9302,8 +9302,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9314,8 +9314,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9326,8 +9326,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9338,8 +9338,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9350,8 +9350,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9362,8 +9362,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9374,8 +9374,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9386,8 +9386,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9398,8 +9398,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9410,8 +9410,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9422,8 +9422,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9434,8 +9434,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9446,8 +9446,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9458,8 +9458,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9470,8 +9470,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9482,8 +9482,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9494,8 +9494,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9506,8 +9506,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9518,8 +9518,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9530,8 +9530,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9542,8 +9542,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9554,8 +9554,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9566,8 +9566,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9578,8 +9578,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9590,8 +9590,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9602,8 +9602,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9614,8 +9614,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9626,8 +9626,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9638,8 +9638,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9650,8 +9650,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9662,8 +9662,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9674,8 +9674,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9686,8 +9686,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9698,8 +9698,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9710,8 +9710,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9722,8 +9722,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9734,8 +9734,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9746,8 +9746,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9758,8 +9758,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9770,8 +9770,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9782,8 +9782,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9794,8 +9794,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9806,8 +9806,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9818,8 +9818,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9830,8 +9830,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9842,8 +9842,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9854,8 +9854,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9866,8 +9866,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9878,8 +9878,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9890,8 +9890,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9902,8 +9902,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9914,8 +9914,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9926,8 +9926,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9938,8 +9938,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9950,8 +9950,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9962,8 +9962,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9974,8 +9974,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9986,8 +9986,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -9998,8 +9998,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10010,8 +10010,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10022,8 +10022,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10034,8 +10034,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10046,8 +10046,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10058,8 +10058,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10070,8 +10070,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10082,8 +10082,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10094,8 +10094,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10106,8 +10106,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10118,8 +10118,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10130,8 +10130,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10142,8 +10142,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10154,8 +10154,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10166,8 +10166,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10178,8 +10178,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10190,8 +10190,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10202,8 +10202,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10214,8 +10214,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10226,8 +10226,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10238,8 +10238,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10250,8 +10250,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10262,8 +10262,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10274,8 +10274,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10286,8 +10286,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10298,8 +10298,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10310,8 +10310,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10322,8 +10322,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10334,8 +10334,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10346,8 +10346,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10358,8 +10358,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10370,8 +10370,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10382,8 +10382,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10394,8 +10394,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10406,8 +10406,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10418,8 +10418,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10430,8 +10430,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10442,8 +10442,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10454,8 +10454,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10466,8 +10466,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10478,8 +10478,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10490,8 +10490,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10502,8 +10502,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10514,8 +10514,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10526,8 +10526,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10538,8 +10538,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10550,8 +10550,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10562,8 +10562,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10574,8 +10574,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10586,8 +10586,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10598,8 +10598,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10610,8 +10610,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10622,8 +10622,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10634,8 +10634,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10646,8 +10646,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10658,8 +10658,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10670,8 +10670,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10682,8 +10682,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10694,8 +10694,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10706,8 +10706,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10718,8 +10718,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10730,8 +10730,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10742,8 +10742,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10754,8 +10754,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10766,8 +10766,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10778,8 +10778,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10790,8 +10790,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10802,8 +10802,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10814,8 +10814,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10826,8 +10826,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10838,8 +10838,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10850,8 +10850,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10862,8 +10862,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10874,8 +10874,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10886,8 +10886,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10898,8 +10898,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10910,8 +10910,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10922,8 +10922,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10934,8 +10934,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10946,8 +10946,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10958,8 +10958,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10970,8 +10970,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10982,8 +10982,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -10994,8 +10994,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11006,8 +11006,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11018,8 +11018,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11030,8 +11030,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11042,8 +11042,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11054,8 +11054,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11066,8 +11066,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11078,8 +11078,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11090,8 +11090,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11102,8 +11102,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11114,8 +11114,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11126,8 +11126,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11138,8 +11138,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11150,8 +11150,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11162,8 +11162,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11174,8 +11174,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11186,8 +11186,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11198,8 +11198,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11210,8 +11210,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11222,8 +11222,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11234,8 +11234,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11246,8 +11246,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11258,8 +11258,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11270,8 +11270,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11282,8 +11282,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11294,8 +11294,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11306,8 +11306,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11318,8 +11318,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11330,8 +11330,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11342,8 +11342,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11354,8 +11354,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11366,8 +11366,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11378,8 +11378,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11390,8 +11390,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11402,8 +11402,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11414,8 +11414,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11426,8 +11426,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11438,8 +11438,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11450,8 +11450,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11462,8 +11462,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11474,8 +11474,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11486,8 +11486,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11498,8 +11498,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11510,8 +11510,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11522,8 +11522,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11534,8 +11534,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11546,8 +11546,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11558,8 +11558,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11570,8 +11570,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11582,8 +11582,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11594,8 +11594,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11606,8 +11606,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11618,8 +11618,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11630,8 +11630,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11642,8 +11642,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11654,8 +11654,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11666,8 +11666,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11678,8 +11678,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11690,8 +11690,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11702,8 +11702,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11714,8 +11714,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11726,8 +11726,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11738,8 +11738,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11750,8 +11750,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11762,8 +11762,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11774,8 +11774,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11786,8 +11786,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11798,8 +11798,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11810,8 +11810,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11822,8 +11822,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11834,8 +11834,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11846,8 +11846,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11858,8 +11858,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11870,8 +11870,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11882,8 +11882,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11894,8 +11894,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11906,8 +11906,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11918,8 +11918,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11930,8 +11930,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11942,8 +11942,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11954,8 +11954,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11966,8 +11966,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11978,8 +11978,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -11990,8 +11990,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12002,8 +12002,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12014,8 +12014,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12026,8 +12026,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12038,8 +12038,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12050,8 +12050,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12062,8 +12062,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12074,8 +12074,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12086,8 +12086,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12098,8 +12098,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12110,8 +12110,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12122,8 +12122,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12134,8 +12134,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12146,8 +12146,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12158,8 +12158,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12170,8 +12170,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12182,8 +12182,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12194,8 +12194,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12206,8 +12206,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12218,8 +12218,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12230,8 +12230,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12242,8 +12242,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12254,8 +12254,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12266,8 +12266,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12278,8 +12278,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12290,8 +12290,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12302,8 +12302,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12314,8 +12314,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12326,8 +12326,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12338,8 +12338,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12350,8 +12350,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12362,8 +12362,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12374,8 +12374,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12386,8 +12386,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12398,8 +12398,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12410,8 +12410,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12422,8 +12422,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12434,8 +12434,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12446,8 +12446,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12458,8 +12458,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12470,8 +12470,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12482,8 +12482,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12494,8 +12494,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12506,8 +12506,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12518,8 +12518,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12530,8 +12530,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12542,8 +12542,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12554,8 +12554,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12566,8 +12566,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12578,8 +12578,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12590,8 +12590,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12602,8 +12602,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12614,8 +12614,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12626,8 +12626,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12638,8 +12638,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12650,8 +12650,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12662,8 +12662,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12674,8 +12674,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12686,8 +12686,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12698,8 +12698,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12710,8 +12710,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12722,8 +12722,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12734,8 +12734,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12746,8 +12746,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12758,8 +12758,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12770,8 +12770,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12782,8 +12782,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12794,8 +12794,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12806,8 +12806,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12818,8 +12818,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12830,8 +12830,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12842,8 +12842,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12854,8 +12854,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12866,8 +12866,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12878,8 +12878,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12890,8 +12890,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12902,8 +12902,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12914,8 +12914,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12926,8 +12926,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12938,8 +12938,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12950,8 +12950,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12962,8 +12962,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12974,8 +12974,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12986,8 +12986,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -12998,8 +12998,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13010,8 +13010,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13022,8 +13022,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13034,8 +13034,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13046,8 +13046,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13058,8 +13058,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13070,8 +13070,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13082,8 +13082,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13094,8 +13094,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13106,8 +13106,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13118,8 +13118,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13130,8 +13130,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13142,8 +13142,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13154,8 +13154,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13166,8 +13166,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13178,8 +13178,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13190,8 +13190,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13202,8 +13202,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13214,8 +13214,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13226,8 +13226,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13238,8 +13238,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13250,8 +13250,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13262,8 +13262,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13274,8 +13274,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13286,8 +13286,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13298,8 +13298,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13310,8 +13310,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13322,8 +13322,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13334,8 +13334,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13346,8 +13346,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13358,8 +13358,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13370,8 +13370,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13382,8 +13382,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13394,8 +13394,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13406,8 +13406,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13418,8 +13418,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13430,8 +13430,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13442,8 +13442,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13454,8 +13454,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13466,8 +13466,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13478,8 +13478,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13490,8 +13490,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13502,8 +13502,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13514,8 +13514,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13526,8 +13526,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13538,8 +13538,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13550,8 +13550,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13562,8 +13562,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13574,8 +13574,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13586,8 +13586,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13598,8 +13598,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13610,8 +13610,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13622,8 +13622,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13634,8 +13634,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13646,8 +13646,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13658,8 +13658,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13670,8 +13670,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13682,8 +13682,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13694,8 +13694,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13706,8 +13706,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13718,8 +13718,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13730,8 +13730,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13742,8 +13742,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13754,8 +13754,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13766,8 +13766,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13778,8 +13778,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13790,8 +13790,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13802,8 +13802,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13814,8 +13814,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13826,8 +13826,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13838,8 +13838,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13850,8 +13850,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13862,8 +13862,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13874,8 +13874,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13886,8 +13886,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13898,8 +13898,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13910,8 +13910,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13922,8 +13922,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13934,8 +13934,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13946,8 +13946,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13958,8 +13958,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13970,8 +13970,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13982,8 +13982,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -13994,8 +13994,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14006,8 +14006,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14018,8 +14018,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14030,8 +14030,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14042,8 +14042,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14054,8 +14054,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14066,8 +14066,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14078,8 +14078,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14090,8 +14090,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14102,8 +14102,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14114,8 +14114,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14126,8 +14126,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14138,8 +14138,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14150,8 +14150,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14162,8 +14162,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14174,8 +14174,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14186,8 +14186,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14198,8 +14198,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14210,8 +14210,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14222,8 +14222,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14234,8 +14234,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14246,8 +14246,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14258,8 +14258,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14270,8 +14270,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14282,8 +14282,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14294,8 +14294,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14306,8 +14306,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14318,8 +14318,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14330,8 +14330,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14342,8 +14342,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14354,8 +14354,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14366,8 +14366,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14378,8 +14378,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14390,8 +14390,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14402,8 +14402,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14414,8 +14414,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14426,8 +14426,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14438,8 +14438,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14450,8 +14450,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14462,8 +14462,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14474,8 +14474,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14486,8 +14486,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14498,8 +14498,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14510,8 +14510,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14522,8 +14522,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14534,8 +14534,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14546,8 +14546,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14558,8 +14558,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14570,8 +14570,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14582,8 +14582,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14594,8 +14594,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14606,8 +14606,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14618,8 +14618,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14630,8 +14630,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14642,8 +14642,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14654,8 +14654,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14666,8 +14666,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14678,8 +14678,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14690,8 +14690,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14702,8 +14702,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14714,8 +14714,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14726,8 +14726,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14738,8 +14738,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14750,8 +14750,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14762,8 +14762,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14774,8 +14774,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14786,8 +14786,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14798,8 +14798,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14810,8 +14810,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14822,8 +14822,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14834,8 +14834,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14846,8 +14846,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14858,8 +14858,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14870,8 +14870,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14882,8 +14882,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14894,8 +14894,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14906,8 +14906,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14918,8 +14918,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14930,8 +14930,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14942,8 +14942,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14954,8 +14954,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14966,8 +14966,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14978,8 +14978,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -14990,8 +14990,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15002,8 +15002,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15014,8 +15014,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15026,8 +15026,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15038,8 +15038,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15050,8 +15050,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15062,8 +15062,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15074,8 +15074,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15086,8 +15086,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15098,8 +15098,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15110,8 +15110,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15122,8 +15122,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15134,8 +15134,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15146,8 +15146,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15158,8 +15158,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15170,8 +15170,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15182,8 +15182,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15194,8 +15194,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15206,8 +15206,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15218,8 +15218,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15230,8 +15230,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15242,8 +15242,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15254,8 +15254,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15266,8 +15266,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15278,8 +15278,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15290,8 +15290,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15302,8 +15302,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15314,8 +15314,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15326,8 +15326,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15338,8 +15338,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15350,8 +15350,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15362,8 +15362,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15374,8 +15374,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15386,8 +15386,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15398,8 +15398,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15410,8 +15410,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15422,8 +15422,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15434,8 +15434,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15446,8 +15446,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15458,8 +15458,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15470,8 +15470,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15482,8 +15482,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15494,8 +15494,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15506,8 +15506,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15518,8 +15518,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15530,8 +15530,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15542,8 +15542,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15554,8 +15554,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15566,8 +15566,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15578,8 +15578,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15590,8 +15590,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15602,8 +15602,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15614,8 +15614,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15626,8 +15626,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15638,8 +15638,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15650,8 +15650,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15662,8 +15662,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15674,8 +15674,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15686,8 +15686,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15698,8 +15698,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15710,8 +15710,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15722,8 +15722,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15734,8 +15734,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15746,8 +15746,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15758,8 +15758,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15770,8 +15770,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15782,8 +15782,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15794,8 +15794,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15806,8 +15806,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15818,8 +15818,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15830,8 +15830,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15842,8 +15842,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15854,8 +15854,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15866,8 +15866,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15878,8 +15878,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15890,8 +15890,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15902,8 +15902,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15914,8 +15914,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15926,8 +15926,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15938,8 +15938,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15950,8 +15950,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15962,8 +15962,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15974,8 +15974,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15986,8 +15986,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -15998,8 +15998,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16010,8 +16010,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16022,8 +16022,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16034,8 +16034,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16046,8 +16046,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16058,8 +16058,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16070,8 +16070,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16082,8 +16082,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16094,8 +16094,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16106,8 +16106,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16118,8 +16118,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16130,8 +16130,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16142,8 +16142,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16154,8 +16154,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16166,8 +16166,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16178,8 +16178,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16190,8 +16190,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16202,8 +16202,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16214,8 +16214,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16226,8 +16226,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16238,8 +16238,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16250,8 +16250,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16262,8 +16262,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16274,8 +16274,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16286,8 +16286,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16298,8 +16298,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16310,8 +16310,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16322,8 +16322,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16334,8 +16334,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16346,8 +16346,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16358,8 +16358,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16370,8 +16370,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16382,8 +16382,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16394,8 +16394,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16406,8 +16406,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16418,8 +16418,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16430,8 +16430,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16442,8 +16442,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16454,8 +16454,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16466,8 +16466,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16478,8 +16478,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16490,8 +16490,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16502,8 +16502,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16514,8 +16514,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16526,8 +16526,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16538,8 +16538,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16550,8 +16550,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16562,8 +16562,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16574,8 +16574,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16586,8 +16586,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16598,8 +16598,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16610,8 +16610,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16622,8 +16622,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16634,8 +16634,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16646,8 +16646,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16658,8 +16658,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16670,8 +16670,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16682,8 +16682,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16694,8 +16694,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16706,8 +16706,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16718,8 +16718,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16730,8 +16730,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16742,8 +16742,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16754,8 +16754,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16766,8 +16766,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16778,8 +16778,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16790,8 +16790,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16802,8 +16802,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16814,8 +16814,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16826,8 +16826,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16838,8 +16838,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16850,8 +16850,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16862,8 +16862,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16874,8 +16874,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16886,8 +16886,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16898,8 +16898,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16910,8 +16910,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16922,8 +16922,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16934,8 +16934,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16946,8 +16946,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16958,8 +16958,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16970,8 +16970,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16982,8 +16982,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -16994,8 +16994,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17006,8 +17006,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17018,8 +17018,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17030,8 +17030,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17042,8 +17042,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17054,8 +17054,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17066,8 +17066,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17078,8 +17078,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17090,8 +17090,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17102,8 +17102,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17114,8 +17114,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17126,8 +17126,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17138,8 +17138,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17150,8 +17150,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17162,8 +17162,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17174,8 +17174,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17186,8 +17186,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17198,8 +17198,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17210,8 +17210,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17222,8 +17222,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17234,8 +17234,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17246,8 +17246,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17258,8 +17258,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17270,8 +17270,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17282,8 +17282,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17294,8 +17294,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17306,8 +17306,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17318,8 +17318,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17330,8 +17330,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17342,8 +17342,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17354,8 +17354,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17366,8 +17366,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17378,8 +17378,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17390,8 +17390,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17402,8 +17402,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17414,8 +17414,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17426,8 +17426,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17438,8 +17438,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17450,8 +17450,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17462,8 +17462,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17474,8 +17474,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17486,8 +17486,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17498,8 +17498,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17510,8 +17510,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17522,8 +17522,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17534,8 +17534,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17546,8 +17546,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17558,8 +17558,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17570,8 +17570,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17582,8 +17582,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17594,8 +17594,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17606,8 +17606,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17618,8 +17618,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17630,8 +17630,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17642,8 +17642,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17654,8 +17654,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17666,8 +17666,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17678,8 +17678,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17690,8 +17690,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17702,8 +17702,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17714,8 +17714,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17726,8 +17726,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17738,8 +17738,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17750,8 +17750,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17762,8 +17762,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17774,8 +17774,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17786,8 +17786,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17798,8 +17798,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17810,8 +17810,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17822,8 +17822,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17834,8 +17834,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17846,8 +17846,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17858,8 +17858,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17870,8 +17870,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17882,8 +17882,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17894,8 +17894,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17906,8 +17906,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17918,8 +17918,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17930,8 +17930,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17942,8 +17942,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17954,8 +17954,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17966,8 +17966,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17978,8 +17978,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -17990,8 +17990,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18002,8 +18002,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18014,8 +18014,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18026,8 +18026,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18038,8 +18038,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18050,8 +18050,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18062,8 +18062,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18074,8 +18074,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18086,8 +18086,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18098,8 +18098,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18110,8 +18110,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18122,8 +18122,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18134,8 +18134,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18146,8 +18146,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18158,8 +18158,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18170,8 +18170,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18182,8 +18182,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18194,8 +18194,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18206,8 +18206,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18218,8 +18218,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18230,8 +18230,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18242,8 +18242,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18254,8 +18254,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18266,8 +18266,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18278,8 +18278,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18290,8 +18290,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18302,8 +18302,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18314,8 +18314,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18326,8 +18326,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18338,8 +18338,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18350,8 +18350,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18362,8 +18362,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18374,8 +18374,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18386,8 +18386,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18398,8 +18398,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18410,8 +18410,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18422,8 +18422,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18434,8 +18434,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18446,8 +18446,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18458,8 +18458,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18470,8 +18470,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18482,8 +18482,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18494,8 +18494,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18506,8 +18506,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18518,8 +18518,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18530,8 +18530,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18542,8 +18542,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18554,8 +18554,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18566,8 +18566,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18578,8 +18578,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18590,8 +18590,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18602,8 +18602,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18614,8 +18614,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18626,8 +18626,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18638,8 +18638,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18650,8 +18650,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18662,8 +18662,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18674,8 +18674,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18686,8 +18686,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18698,8 +18698,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18710,8 +18710,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18722,8 +18722,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18734,8 +18734,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18746,8 +18746,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18758,8 +18758,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18770,8 +18770,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18782,8 +18782,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18794,8 +18794,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18806,8 +18806,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18818,8 +18818,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18830,8 +18830,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18842,8 +18842,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18854,8 +18854,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18866,8 +18866,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18878,8 +18878,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18890,8 +18890,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18902,8 +18902,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18914,8 +18914,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18926,8 +18926,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18938,8 +18938,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18950,8 +18950,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18962,8 +18962,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18974,8 +18974,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18986,8 +18986,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -18998,8 +18998,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19010,8 +19010,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19022,8 +19022,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19034,8 +19034,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19046,8 +19046,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19058,8 +19058,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19070,8 +19070,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19082,8 +19082,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19094,8 +19094,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19106,8 +19106,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19118,8 +19118,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19130,8 +19130,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19142,8 +19142,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19154,8 +19154,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19166,8 +19166,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19178,8 +19178,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19190,8 +19190,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19202,8 +19202,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19214,8 +19214,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19226,8 +19226,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19238,8 +19238,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19250,8 +19250,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19262,8 +19262,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19274,8 +19274,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19286,8 +19286,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19298,8 +19298,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19310,8 +19310,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19322,8 +19322,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19334,8 +19334,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19346,8 +19346,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19358,8 +19358,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19370,8 +19370,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19382,8 +19382,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19394,8 +19394,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19406,8 +19406,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19418,8 +19418,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19430,8 +19430,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19442,8 +19442,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19454,8 +19454,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19466,8 +19466,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19478,8 +19478,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19490,8 +19490,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19502,8 +19502,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19514,8 +19514,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19526,8 +19526,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19538,8 +19538,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19550,8 +19550,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19562,8 +19562,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19574,8 +19574,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19586,8 +19586,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19598,8 +19598,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19610,8 +19610,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19622,8 +19622,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19634,8 +19634,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19646,8 +19646,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19658,8 +19658,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19670,8 +19670,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19682,8 +19682,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19694,8 +19694,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19706,8 +19706,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19718,8 +19718,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19730,8 +19730,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19742,8 +19742,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19754,8 +19754,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19766,8 +19766,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19778,8 +19778,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19790,8 +19790,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19802,8 +19802,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19814,8 +19814,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19826,8 +19826,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19838,8 +19838,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19850,8 +19850,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19862,8 +19862,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19874,8 +19874,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19886,8 +19886,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19898,8 +19898,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19910,8 +19910,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19922,8 +19922,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19934,8 +19934,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19946,8 +19946,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19958,8 +19958,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19970,8 +19970,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19982,8 +19982,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -19994,8 +19994,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20006,8 +20006,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20018,8 +20018,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20030,8 +20030,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20042,8 +20042,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20054,8 +20054,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20066,8 +20066,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20078,8 +20078,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20090,8 +20090,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20102,8 +20102,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20114,8 +20114,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20126,8 +20126,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20138,8 +20138,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20150,8 +20150,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20162,8 +20162,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20174,8 +20174,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20186,8 +20186,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20198,8 +20198,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20210,8 +20210,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20222,8 +20222,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20234,8 +20234,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20246,8 +20246,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20258,8 +20258,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20270,8 +20270,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20282,8 +20282,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20294,8 +20294,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20306,8 +20306,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20318,8 +20318,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20330,8 +20330,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20342,8 +20342,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20354,8 +20354,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20366,8 +20366,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20378,8 +20378,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20390,8 +20390,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20402,8 +20402,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20414,8 +20414,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20426,8 +20426,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20438,8 +20438,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20450,8 +20450,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20462,8 +20462,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20474,8 +20474,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20486,8 +20486,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20498,8 +20498,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20510,8 +20510,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20522,8 +20522,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20534,8 +20534,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20546,8 +20546,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20558,8 +20558,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20570,8 +20570,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20582,8 +20582,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20594,8 +20594,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20606,8 +20606,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20618,8 +20618,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20630,8 +20630,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20642,8 +20642,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20654,8 +20654,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20666,8 +20666,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20678,8 +20678,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20690,8 +20690,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20702,8 +20702,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20714,8 +20714,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20726,8 +20726,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20738,8 +20738,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20750,8 +20750,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20762,8 +20762,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20774,8 +20774,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20786,8 +20786,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20798,8 +20798,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20810,8 +20810,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20822,8 +20822,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20834,8 +20834,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20846,8 +20846,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20858,8 +20858,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20870,8 +20870,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20882,8 +20882,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20894,8 +20894,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20906,8 +20906,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20918,8 +20918,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20930,8 +20930,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20942,8 +20942,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20954,8 +20954,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20966,8 +20966,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20978,8 +20978,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -20990,8 +20990,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21002,8 +21002,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21014,8 +21014,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21026,8 +21026,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21038,8 +21038,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21050,8 +21050,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21062,8 +21062,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21074,8 +21074,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21086,8 +21086,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21098,8 +21098,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21110,8 +21110,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21122,8 +21122,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21134,8 +21134,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21146,8 +21146,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21158,8 +21158,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21170,8 +21170,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21182,8 +21182,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21194,8 +21194,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21206,8 +21206,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21218,8 +21218,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21230,8 +21230,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21242,8 +21242,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21254,8 +21254,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21266,8 +21266,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21278,8 +21278,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21290,8 +21290,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21302,8 +21302,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21314,8 +21314,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21326,8 +21326,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21338,8 +21338,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21350,8 +21350,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21362,8 +21362,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21374,8 +21374,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21386,8 +21386,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21398,8 +21398,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21410,8 +21410,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21422,8 +21422,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21434,8 +21434,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21446,8 +21446,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21458,8 +21458,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21470,8 +21470,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21482,8 +21482,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21494,8 +21494,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21506,8 +21506,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21518,8 +21518,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21530,8 +21530,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21542,8 +21542,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21554,8 +21554,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21566,8 +21566,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21578,8 +21578,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21590,8 +21590,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21602,8 +21602,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21614,8 +21614,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21626,8 +21626,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21638,8 +21638,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21650,8 +21650,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21662,8 +21662,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21674,8 +21674,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21686,8 +21686,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21698,8 +21698,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21710,8 +21710,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21722,8 +21722,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21734,8 +21734,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21746,8 +21746,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21758,8 +21758,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21770,8 +21770,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21782,8 +21782,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21794,8 +21794,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21806,8 +21806,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21818,8 +21818,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21830,8 +21830,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21842,8 +21842,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21854,8 +21854,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21866,8 +21866,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21878,8 +21878,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21890,8 +21890,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21902,8 +21902,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21914,8 +21914,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21926,8 +21926,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21938,8 +21938,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21950,8 +21950,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21962,8 +21962,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21974,8 +21974,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21986,8 +21986,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -21998,8 +21998,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22010,8 +22010,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22022,8 +22022,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22034,8 +22034,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22046,8 +22046,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22058,8 +22058,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22070,8 +22070,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22082,8 +22082,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22094,8 +22094,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22106,8 +22106,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22118,8 +22118,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22130,8 +22130,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22142,8 +22142,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22154,8 +22154,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22166,8 +22166,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22178,8 +22178,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22190,8 +22190,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22202,8 +22202,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22214,8 +22214,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22226,8 +22226,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22238,8 +22238,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22250,8 +22250,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22262,8 +22262,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22274,8 +22274,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22286,8 +22286,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22298,8 +22298,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22310,8 +22310,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22322,8 +22322,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22334,8 +22334,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22346,8 +22346,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22358,8 +22358,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22370,8 +22370,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22382,8 +22382,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22394,8 +22394,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22406,8 +22406,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22418,8 +22418,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22430,8 +22430,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22442,8 +22442,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22454,8 +22454,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22466,8 +22466,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22478,8 +22478,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22490,8 +22490,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22502,8 +22502,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22514,8 +22514,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22526,8 +22526,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22538,8 +22538,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22550,8 +22550,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22562,8 +22562,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22574,8 +22574,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22586,8 +22586,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22598,8 +22598,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22610,8 +22610,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22622,8 +22622,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22634,8 +22634,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22646,8 +22646,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22658,8 +22658,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22670,8 +22670,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22682,8 +22682,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22694,8 +22694,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22706,8 +22706,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22718,8 +22718,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22730,8 +22730,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22742,8 +22742,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22754,8 +22754,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22766,8 +22766,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22778,8 +22778,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22790,8 +22790,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22802,8 +22802,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22814,8 +22814,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22826,8 +22826,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22838,8 +22838,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22850,8 +22850,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22862,8 +22862,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22874,8 +22874,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22886,8 +22886,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22898,8 +22898,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22910,8 +22910,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22922,8 +22922,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22934,8 +22934,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22946,8 +22946,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22958,8 +22958,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22970,8 +22970,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22982,8 +22982,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -22994,8 +22994,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23006,8 +23006,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23018,8 +23018,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23030,8 +23030,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23042,8 +23042,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23054,8 +23054,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23066,8 +23066,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23078,8 +23078,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23090,8 +23090,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23102,8 +23102,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23114,8 +23114,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23126,8 +23126,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23138,8 +23138,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23150,8 +23150,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23162,8 +23162,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23174,8 +23174,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23186,8 +23186,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23198,8 +23198,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23210,8 +23210,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23222,8 +23222,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23234,8 +23234,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23246,8 +23246,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23258,8 +23258,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23270,8 +23270,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23282,8 +23282,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23294,8 +23294,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23306,8 +23306,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23318,8 +23318,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23330,8 +23330,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23342,8 +23342,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23354,8 +23354,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23366,8 +23366,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23378,8 +23378,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23390,8 +23390,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23402,8 +23402,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23414,8 +23414,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23426,8 +23426,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23438,8 +23438,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23450,8 +23450,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23462,8 +23462,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23474,8 +23474,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23486,8 +23486,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23498,8 +23498,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23510,8 +23510,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23522,8 +23522,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23534,8 +23534,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23546,8 +23546,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23558,8 +23558,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23570,8 +23570,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23582,8 +23582,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23594,8 +23594,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23606,8 +23606,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23618,8 +23618,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23630,8 +23630,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23642,8 +23642,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23654,8 +23654,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23666,8 +23666,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23678,8 +23678,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23690,8 +23690,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23702,8 +23702,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23714,8 +23714,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23726,8 +23726,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23738,8 +23738,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23750,8 +23750,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23762,8 +23762,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23774,8 +23774,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23786,8 +23786,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23798,8 +23798,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23810,8 +23810,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23822,8 +23822,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23834,8 +23834,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23846,8 +23846,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23858,8 +23858,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23870,8 +23870,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23882,8 +23882,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23894,8 +23894,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23906,8 +23906,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23918,8 +23918,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23930,8 +23930,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23942,8 +23942,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23954,8 +23954,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23966,8 +23966,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23978,8 +23978,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -23990,8 +23990,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 @@ -24002,8 +24002,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any -> : ^^^ +>data : any[] +> : ^^^^^ >0 : 0 > : ^ >0 : 0 diff --git a/tests/baselines/reference/mappedTypeErrors.errors.txt b/tests/baselines/reference/mappedTypeErrors.errors.txt index fbcde6c02cfac..e03c20d64bff7 100644 --- a/tests/baselines/reference/mappedTypeErrors.errors.txt +++ b/tests/baselines/reference/mappedTypeErrors.errors.txt @@ -19,16 +19,8 @@ mappedTypeErrors.ts(75,45): error TS2345: Argument of type '{ x: number; }' is n Property 'y' is missing in type '{ x: number; }' but required in type 'Readonly<{ x: number; y: number; }>'. mappedTypeErrors.ts(77,59): error TS2353: Object literal may only specify known properties, and 'z' does not exist in type 'Readonly<{ x: number; y: number; }>'. mappedTypeErrors.ts(83,58): error TS2353: Object literal may only specify known properties, and 'z' does not exist in type 'Partial<{ x: number; y: number; }>'. -mappedTypeErrors.ts(95,9): error TS18049: 'obj' is possibly 'null' or 'undefined'. -mappedTypeErrors.ts(95,9): error TS2322: Type 'T[Extract]' is not assignable to type 'NonNullable[Extract]'. - Type 'T' is not assignable to type 'NonNullable'. - Type 'T' is not assignable to type '{}'. mappedTypeErrors.ts(105,17): error TS2322: Type 'undefined' is not assignable to type 'string'. mappedTypeErrors.ts(106,17): error TS2353: Object literal may only specify known properties, and 'c' does not exist in type 'Pick'. -mappedTypeErrors.ts(112,13): error TS2533: Object is possibly 'null' or 'undefined'. -mappedTypeErrors.ts(112,13): error TS2322: Type 'T[Extract]' is not assignable to type 'NonNullable[Extract]'. - Type 'T' is not assignable to type 'NonNullable'. - Type 'T' is not assignable to type '{}'. mappedTypeErrors.ts(123,14): error TS2322: Type 'undefined' is not assignable to type 'string'. mappedTypeErrors.ts(124,14): error TS2353: Object literal may only specify known properties, and 'c' does not exist in type 'Pick'. mappedTypeErrors.ts(128,16): error TS2322: Type 'string' is not assignable to type 'number'. @@ -40,7 +32,7 @@ mappedTypeErrors.ts(148,17): error TS2339: Property 'foo' does not exist on type mappedTypeErrors.ts(152,17): error TS2339: Property 'foo' does not exist on type 'Record'. -==== mappedTypeErrors.ts (31 errors) ==== +==== mappedTypeErrors.ts (27 errors) ==== interface Shape { name: string; width: number; @@ -179,14 +171,6 @@ mappedTypeErrors.ts(152,17): error TS2339: Property 'foo' does not exist on type function setState(obj: T, props: Pick) { for (let k in props) { obj[k] = props[k]; - ~~~ -!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. - ~~~~~~ -!!! error TS2322: Type 'T[Extract]' is not assignable to type 'NonNullable[Extract]'. -!!! error TS2322: Type 'T' is not assignable to type 'NonNullable'. -!!! error TS2322: Type 'T' is not assignable to type '{}'. -!!! related TS2208 mappedTypeErrors.ts:93:19: This type parameter might need an `extends {}` constraint. -!!! related TS2208 mappedTypeErrors.ts:93:19: This type parameter might need an `extends NonNullable` constraint. } } @@ -209,14 +193,6 @@ mappedTypeErrors.ts(152,17): error TS2339: Property 'foo' does not exist on type setState(props: Pick) { for (let k in props) { this.state[k] = props[k]; - ~~~~~~~~~~ -!!! error TS2533: Object is possibly 'null' or 'undefined'. - ~~~~~~~~~~~~~ -!!! error TS2322: Type 'T[Extract]' is not assignable to type 'NonNullable[Extract]'. -!!! error TS2322: Type 'T' is not assignable to type 'NonNullable'. -!!! error TS2322: Type 'T' is not assignable to type '{}'. -!!! related TS2208 mappedTypeErrors.ts:108:9: This type parameter might need an `extends {}` constraint. -!!! related TS2208 mappedTypeErrors.ts:108:9: This type parameter might need an `extends NonNullable` constraint. } } } diff --git a/tests/baselines/reference/mappedTypeErrors.types b/tests/baselines/reference/mappedTypeErrors.types index c6644d44f80da..662502504d364 100644 --- a/tests/baselines/reference/mappedTypeErrors.types +++ b/tests/baselines/reference/mappedTypeErrors.types @@ -407,8 +407,8 @@ function setState(obj: T, props: Pick) { obj[k] = props[k]; >obj[k] = props[k] : Pick[Extract] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->obj[k] : NonNullable[Extract] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj[k] : T[Extract] +> : ^^^^^^^^^^^^^^^^^^^^^ >obj : T > : ^ >k : Extract @@ -553,8 +553,8 @@ class C { this.state[k] = props[k]; >this.state[k] = props[k] : Pick[Extract] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->this.state[k] : NonNullable[Extract] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>this.state[k] : T[Extract] +> : ^^^^^^^^^^^^^^^^^^^^^ >this.state : T > : ^ >this : this diff --git a/tests/baselines/reference/mappedTypeRelationships.errors.txt b/tests/baselines/reference/mappedTypeRelationships.errors.txt index eb9850827257a..1918a9532f32d 100644 --- a/tests/baselines/reference/mappedTypeRelationships.errors.txt +++ b/tests/baselines/reference/mappedTypeRelationships.errors.txt @@ -1,92 +1,38 @@ -mappedTypeRelationships.ts(2,12): error TS18049: 'x' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(6,12): error TS18049: 'x' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(10,5): error TS18049: 'x' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(10,12): error TS18049: 'y' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(11,5): error TS18049: 'y' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(11,5): error TS2322: Type 'NonNullable[keyof T]' is not assignable to type 'NonNullable[keyof T]'. - Type 'NonNullable' is not assignable to type 'NonNullable'. - Type 'NonNullable' is not assignable to type 'U'. - 'U' could be instantiated with an arbitrary type which could be unrelated to 'NonNullable'. -mappedTypeRelationships.ts(11,12): error TS18049: 'x' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(15,5): error TS18049: 'x' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(15,12): error TS18049: 'y' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(16,5): error TS18049: 'y' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(16,5): error TS2322: Type 'NonNullable[K]' is not assignable to type 'NonNullable[K]'. - Type 'NonNullable' is not assignable to type 'NonNullable'. - Type 'NonNullable' is not assignable to type 'U'. - 'U' could be instantiated with an arbitrary type which could be unrelated to 'NonNullable'. -mappedTypeRelationships.ts(16,12): error TS18049: 'x' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(20,5): error TS18049: 'x' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(20,5): error TS2536: Type 'keyof U' cannot be used to index type 'NonNullable'. -mappedTypeRelationships.ts(20,12): error TS18049: 'y' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(21,5): error TS18049: 'y' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(21,12): error TS18049: 'x' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(21,12): error TS2536: Type 'keyof U' cannot be used to index type 'NonNullable'. -mappedTypeRelationships.ts(25,5): error TS18049: 'x' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(25,5): error TS2536: Type 'K' cannot be used to index type 'NonNullable'. -mappedTypeRelationships.ts(25,12): error TS18049: 'y' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(26,5): error TS18049: 'y' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(26,12): error TS18049: 'x' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(26,12): error TS2536: Type 'K' cannot be used to index type 'NonNullable'. -mappedTypeRelationships.ts(30,5): error TS18049: 'x' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(30,5): error TS2322: Type 'T[keyof T] | undefined' is not assignable to type 'NonNullable[keyof T]'. - Type 'undefined' is not assignable to type 'NonNullable[keyof T]'. -mappedTypeRelationships.ts(31,12): error TS18049: 'x' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(35,5): error TS18049: 'x' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(35,5): error TS2322: Type 'T[K] | undefined' is not assignable to type 'NonNullable[K]'. - Type 'undefined' is not assignable to type 'NonNullable[K]'. -mappedTypeRelationships.ts(36,12): error TS18049: 'x' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(40,5): error TS18049: 'x' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(40,5): error TS2322: Type 'U[keyof T] | undefined' is not assignable to type 'NonNullable[keyof T]'. - Type 'undefined' is not assignable to type 'NonNullable[keyof T]'. -mappedTypeRelationships.ts(41,5): error TS2322: Type 'NonNullable[keyof T]' is not assignable to type 'U[keyof T] | undefined'. - Type 'NonNullable[string] | NonNullable[number] | NonNullable[symbol]' is not assignable to type 'U[keyof T] | undefined'. - Type 'NonNullable[string]' is not assignable to type 'U[keyof T] | undefined'. -mappedTypeRelationships.ts(41,12): error TS18049: 'x' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(45,5): error TS18049: 'x' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(45,5): error TS2322: Type 'U[K] | undefined' is not assignable to type 'NonNullable[K]'. - Type 'undefined' is not assignable to type 'NonNullable[K]'. -mappedTypeRelationships.ts(46,5): error TS2322: Type 'NonNullable[K]' is not assignable to type 'U[K] | undefined'. - Type 'NonNullable[keyof T]' is not assignable to type 'U[K] | undefined'. - Type 'NonNullable[string] | NonNullable[number] | NonNullable[symbol]' is not assignable to type 'U[K] | undefined'. - Type 'NonNullable[string]' is not assignable to type 'U[K] | undefined'. -mappedTypeRelationships.ts(46,12): error TS18049: 'x' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(50,5): error TS18049: 'x' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(50,5): error TS2322: Type 'T[keyof T]' is not assignable to type 'NonNullable[keyof T]'. - Type 'T' is not assignable to type 'NonNullable'. - Type 'T' is not assignable to type '{}'. +mappedTypeRelationships.ts(11,5): error TS2322: Type 'T[keyof T]' is not assignable to type 'U[keyof T]'. + Type 'T' is not assignable to type 'U'. + 'U' could be instantiated with an arbitrary type which could be unrelated to 'T'. +mappedTypeRelationships.ts(16,5): error TS2322: Type 'T[K]' is not assignable to type 'U[K]'. + Type 'T' is not assignable to type 'U'. + 'U' could be instantiated with an arbitrary type which could be unrelated to 'T'. +mappedTypeRelationships.ts(20,5): error TS2536: Type 'keyof U' cannot be used to index type 'T'. +mappedTypeRelationships.ts(21,12): error TS2536: Type 'keyof U' cannot be used to index type 'T'. +mappedTypeRelationships.ts(25,5): error TS2536: Type 'K' cannot be used to index type 'T'. +mappedTypeRelationships.ts(26,12): error TS2536: Type 'K' cannot be used to index type 'T'. +mappedTypeRelationships.ts(30,5): error TS2322: Type 'T[keyof T] | undefined' is not assignable to type 'T[keyof T]'. + 'T[keyof T]' could be instantiated with an arbitrary type which could be unrelated to 'T[keyof T] | undefined'. +mappedTypeRelationships.ts(35,5): error TS2322: Type 'T[K] | undefined' is not assignable to type 'T[K]'. + 'T[K]' could be instantiated with an arbitrary type which could be unrelated to 'T[K] | undefined'. +mappedTypeRelationships.ts(40,5): error TS2322: Type 'U[keyof T] | undefined' is not assignable to type 'T[keyof T]'. + 'T[keyof T]' could be instantiated with an arbitrary type which could be unrelated to 'U[keyof T] | undefined'. +mappedTypeRelationships.ts(41,5): error TS2322: Type 'T[keyof T]' is not assignable to type 'U[keyof T] | undefined'. + Type 'T[string] | T[number] | T[symbol]' is not assignable to type 'U[keyof T] | undefined'. + Type 'T[string]' is not assignable to type 'U[keyof T] | undefined'. +mappedTypeRelationships.ts(45,5): error TS2322: Type 'U[K] | undefined' is not assignable to type 'T[K]'. + 'T[K]' could be instantiated with an arbitrary type which could be unrelated to 'U[K] | undefined'. +mappedTypeRelationships.ts(46,5): error TS2322: Type 'T[K]' is not assignable to type 'U[K] | undefined'. + Type 'T[keyof T]' is not assignable to type 'U[K] | undefined'. + Type 'T[string] | T[number] | T[symbol]' is not assignable to type 'U[K] | undefined'. + Type 'T[string]' is not assignable to type 'U[K] | undefined'. mappedTypeRelationships.ts(51,5): error TS2542: Index signature in type 'Readonly' only permits reading. -mappedTypeRelationships.ts(51,12): error TS18049: 'x' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(55,5): error TS18049: 'x' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(55,5): error TS2322: Type 'T[K]' is not assignable to type 'NonNullable[K]'. - Type 'T' is not assignable to type 'NonNullable'. - Type 'T' is not assignable to type '{}'. mappedTypeRelationships.ts(56,5): error TS2542: Index signature in type 'Readonly' only permits reading. -mappedTypeRelationships.ts(56,12): error TS18049: 'x' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(60,5): error TS18049: 'x' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(60,5): error TS2322: Type 'U[keyof T]' is not assignable to type 'NonNullable[keyof T]'. - Type 'U' is not assignable to type 'NonNullable'. - Type 'T' is not assignable to type 'NonNullable'. - Type 'T' is not assignable to type '{}'. - Type 'U' is not assignable to type '{}'. - Type 'T' is not assignable to type '{}'. -mappedTypeRelationships.ts(61,5): error TS2322: Type 'NonNullable[keyof T]' is not assignable to type 'U[keyof T]'. - Type 'NonNullable' is not assignable to type 'U'. - 'U' could be instantiated with an arbitrary type which could be unrelated to 'NonNullable'. +mappedTypeRelationships.ts(61,5): error TS2322: Type 'T[keyof T]' is not assignable to type 'U[keyof T]'. + Type 'T' is not assignable to type 'U'. + 'U' could be instantiated with an arbitrary type which could be unrelated to 'T'. mappedTypeRelationships.ts(61,5): error TS2542: Index signature in type 'Readonly' only permits reading. -mappedTypeRelationships.ts(61,12): error TS18049: 'x' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(65,5): error TS18049: 'x' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(65,5): error TS2322: Type 'U[K]' is not assignable to type 'NonNullable[K]'. - Type 'U' is not assignable to type 'NonNullable'. - Type 'T' is not assignable to type 'NonNullable'. - Type 'T' is not assignable to type '{}'. - Type 'U' is not assignable to type '{}'. - Type 'T' is not assignable to type '{}'. -mappedTypeRelationships.ts(66,5): error TS2322: Type 'NonNullable[K]' is not assignable to type 'U[K]'. - Type 'NonNullable' is not assignable to type 'U'. - 'U' could be instantiated with an arbitrary type which could be unrelated to 'NonNullable'. +mappedTypeRelationships.ts(66,5): error TS2322: Type 'T[K]' is not assignable to type 'U[K]'. + Type 'T' is not assignable to type 'U'. + 'U' could be instantiated with an arbitrary type which could be unrelated to 'T'. mappedTypeRelationships.ts(66,5): error TS2542: Index signature in type 'Readonly' only permits reading. -mappedTypeRelationships.ts(66,12): error TS18049: 'x' is possibly 'null' or 'undefined'. mappedTypeRelationships.ts(72,5): error TS2322: Type 'Partial' is not assignable to type 'T'. 'T' could be instantiated with an arbitrary type which could be unrelated to 'Partial'. mappedTypeRelationships.ts(78,5): error TS2322: Type 'Partial' is not assignable to type 'Partial'. @@ -125,233 +71,132 @@ mappedTypeRelationships.ts(168,5): error TS2322: Type '{ [P in K]: T[P]; }' is n Type 'T[P]' is not assignable to type 'U[P]'. Type 'T' is not assignable to type 'U'. 'U' could be instantiated with an arbitrary type which could be unrelated to 'T'. -mappedTypeRelationships.ts(176,12): error TS18049: 't' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(180,12): error TS18049: 't' is possibly 'null' or 'undefined'. -mappedTypeRelationships.ts(180,12): error TS2533: Object is possibly 'null' or 'undefined'. -==== mappedTypeRelationships.ts (69 errors) ==== +==== mappedTypeRelationships.ts (28 errors) ==== function f1(x: T, k: keyof T) { return x[k]; - ~ -!!! error TS18049: 'x' is possibly 'null' or 'undefined'. } function f2(x: T, k: K) { return x[k]; - ~ -!!! error TS18049: 'x' is possibly 'null' or 'undefined'. } function f3(x: T, y: U, k: keyof T) { x[k] = y[k]; - ~ -!!! error TS18049: 'x' is possibly 'null' or 'undefined'. - ~ -!!! error TS18049: 'y' is possibly 'null' or 'undefined'. y[k] = x[k]; // Error - ~ -!!! error TS18049: 'y' is possibly 'null' or 'undefined'. ~~~~ -!!! error TS2322: Type 'NonNullable[keyof T]' is not assignable to type 'NonNullable[keyof T]'. -!!! error TS2322: Type 'NonNullable' is not assignable to type 'NonNullable'. -!!! error TS2322: Type 'NonNullable' is not assignable to type 'U'. -!!! error TS2322: 'U' could be instantiated with an arbitrary type which could be unrelated to 'NonNullable'. - ~ -!!! error TS18049: 'x' is possibly 'null' or 'undefined'. +!!! error TS2322: Type 'T[keyof T]' is not assignable to type 'U[keyof T]'. +!!! error TS2322: Type 'T' is not assignable to type 'U'. +!!! error TS2322: 'U' could be instantiated with an arbitrary type which could be unrelated to 'T'. +!!! related TS2208 mappedTypeRelationships.ts:9:13: This type parameter might need an `extends U` constraint. } function f4(x: T, y: U, k: K) { x[k] = y[k]; - ~ -!!! error TS18049: 'x' is possibly 'null' or 'undefined'. - ~ -!!! error TS18049: 'y' is possibly 'null' or 'undefined'. y[k] = x[k]; // Error - ~ -!!! error TS18049: 'y' is possibly 'null' or 'undefined'. ~~~~ -!!! error TS2322: Type 'NonNullable[K]' is not assignable to type 'NonNullable[K]'. -!!! error TS2322: Type 'NonNullable' is not assignable to type 'NonNullable'. -!!! error TS2322: Type 'NonNullable' is not assignable to type 'U'. -!!! error TS2322: 'U' could be instantiated with an arbitrary type which could be unrelated to 'NonNullable'. - ~ -!!! error TS18049: 'x' is possibly 'null' or 'undefined'. +!!! error TS2322: Type 'T[K]' is not assignable to type 'U[K]'. +!!! error TS2322: Type 'T' is not assignable to type 'U'. +!!! error TS2322: 'U' could be instantiated with an arbitrary type which could be unrelated to 'T'. +!!! related TS2208 mappedTypeRelationships.ts:14:13: This type parameter might need an `extends U` constraint. } function f5(x: T, y: U, k: keyof U) { x[k] = y[k]; // Error - ~ -!!! error TS18049: 'x' is possibly 'null' or 'undefined'. ~~~~ -!!! error TS2536: Type 'keyof U' cannot be used to index type 'NonNullable'. - ~ -!!! error TS18049: 'y' is possibly 'null' or 'undefined'. +!!! error TS2536: Type 'keyof U' cannot be used to index type 'T'. y[k] = x[k]; // Error - ~ -!!! error TS18049: 'y' is possibly 'null' or 'undefined'. - ~ -!!! error TS18049: 'x' is possibly 'null' or 'undefined'. ~~~~ -!!! error TS2536: Type 'keyof U' cannot be used to index type 'NonNullable'. +!!! error TS2536: Type 'keyof U' cannot be used to index type 'T'. } function f6(x: T, y: U, k: K) { x[k] = y[k]; // Error - ~ -!!! error TS18049: 'x' is possibly 'null' or 'undefined'. ~~~~ -!!! error TS2536: Type 'K' cannot be used to index type 'NonNullable'. - ~ -!!! error TS18049: 'y' is possibly 'null' or 'undefined'. +!!! error TS2536: Type 'K' cannot be used to index type 'T'. y[k] = x[k]; // Error - ~ -!!! error TS18049: 'y' is possibly 'null' or 'undefined'. - ~ -!!! error TS18049: 'x' is possibly 'null' or 'undefined'. ~~~~ -!!! error TS2536: Type 'K' cannot be used to index type 'NonNullable'. +!!! error TS2536: Type 'K' cannot be used to index type 'T'. } function f10(x: T, y: Partial, k: keyof T) { x[k] = y[k]; // Error - ~ -!!! error TS18049: 'x' is possibly 'null' or 'undefined'. ~~~~ -!!! error TS2322: Type 'T[keyof T] | undefined' is not assignable to type 'NonNullable[keyof T]'. -!!! error TS2322: Type 'undefined' is not assignable to type 'NonNullable[keyof T]'. +!!! error TS2322: Type 'T[keyof T] | undefined' is not assignable to type 'T[keyof T]'. +!!! error TS2322: 'T[keyof T]' could be instantiated with an arbitrary type which could be unrelated to 'T[keyof T] | undefined'. y[k] = x[k]; - ~ -!!! error TS18049: 'x' is possibly 'null' or 'undefined'. } function f11(x: T, y: Partial, k: K) { x[k] = y[k]; // Error - ~ -!!! error TS18049: 'x' is possibly 'null' or 'undefined'. ~~~~ -!!! error TS2322: Type 'T[K] | undefined' is not assignable to type 'NonNullable[K]'. -!!! error TS2322: Type 'undefined' is not assignable to type 'NonNullable[K]'. +!!! error TS2322: Type 'T[K] | undefined' is not assignable to type 'T[K]'. +!!! error TS2322: 'T[K]' could be instantiated with an arbitrary type which could be unrelated to 'T[K] | undefined'. y[k] = x[k]; - ~ -!!! error TS18049: 'x' is possibly 'null' or 'undefined'. } function f12(x: T, y: Partial, k: keyof T) { x[k] = y[k]; // Error - ~ -!!! error TS18049: 'x' is possibly 'null' or 'undefined'. ~~~~ -!!! error TS2322: Type 'U[keyof T] | undefined' is not assignable to type 'NonNullable[keyof T]'. -!!! error TS2322: Type 'undefined' is not assignable to type 'NonNullable[keyof T]'. +!!! error TS2322: Type 'U[keyof T] | undefined' is not assignable to type 'T[keyof T]'. +!!! error TS2322: 'T[keyof T]' could be instantiated with an arbitrary type which could be unrelated to 'U[keyof T] | undefined'. y[k] = x[k]; // Error ~~~~ -!!! error TS2322: Type 'NonNullable[keyof T]' is not assignable to type 'U[keyof T] | undefined'. -!!! error TS2322: Type 'NonNullable[string] | NonNullable[number] | NonNullable[symbol]' is not assignable to type 'U[keyof T] | undefined'. -!!! error TS2322: Type 'NonNullable[string]' is not assignable to type 'U[keyof T] | undefined'. - ~ -!!! error TS18049: 'x' is possibly 'null' or 'undefined'. +!!! error TS2322: Type 'T[keyof T]' is not assignable to type 'U[keyof T] | undefined'. +!!! error TS2322: Type 'T[string] | T[number] | T[symbol]' is not assignable to type 'U[keyof T] | undefined'. +!!! error TS2322: Type 'T[string]' is not assignable to type 'U[keyof T] | undefined'. } function f13(x: T, y: Partial, k: K) { x[k] = y[k]; // Error - ~ -!!! error TS18049: 'x' is possibly 'null' or 'undefined'. ~~~~ -!!! error TS2322: Type 'U[K] | undefined' is not assignable to type 'NonNullable[K]'. -!!! error TS2322: Type 'undefined' is not assignable to type 'NonNullable[K]'. +!!! error TS2322: Type 'U[K] | undefined' is not assignable to type 'T[K]'. +!!! error TS2322: 'T[K]' could be instantiated with an arbitrary type which could be unrelated to 'U[K] | undefined'. y[k] = x[k]; // Error ~~~~ -!!! error TS2322: Type 'NonNullable[K]' is not assignable to type 'U[K] | undefined'. -!!! error TS2322: Type 'NonNullable[keyof T]' is not assignable to type 'U[K] | undefined'. -!!! error TS2322: Type 'NonNullable[string] | NonNullable[number] | NonNullable[symbol]' is not assignable to type 'U[K] | undefined'. -!!! error TS2322: Type 'NonNullable[string]' is not assignable to type 'U[K] | undefined'. - ~ -!!! error TS18049: 'x' is possibly 'null' or 'undefined'. +!!! error TS2322: Type 'T[K]' is not assignable to type 'U[K] | undefined'. +!!! error TS2322: Type 'T[keyof T]' is not assignable to type 'U[K] | undefined'. +!!! error TS2322: Type 'T[string] | T[number] | T[symbol]' is not assignable to type 'U[K] | undefined'. +!!! error TS2322: Type 'T[string]' is not assignable to type 'U[K] | undefined'. } function f20(x: T, y: Readonly, k: keyof T) { x[k] = y[k]; - ~ -!!! error TS18049: 'x' is possibly 'null' or 'undefined'. - ~~~~ -!!! error TS2322: Type 'T[keyof T]' is not assignable to type 'NonNullable[keyof T]'. -!!! error TS2322: Type 'T' is not assignable to type 'NonNullable'. -!!! error TS2322: Type 'T' is not assignable to type '{}'. -!!! related TS2208 mappedTypeRelationships.ts:49:14: This type parameter might need an `extends {}` constraint. -!!! related TS2208 mappedTypeRelationships.ts:49:14: This type parameter might need an `extends NonNullable` constraint. y[k] = x[k]; // Error ~~~~ !!! error TS2542: Index signature in type 'Readonly' only permits reading. - ~ -!!! error TS18049: 'x' is possibly 'null' or 'undefined'. } function f21(x: T, y: Readonly, k: K) { x[k] = y[k]; - ~ -!!! error TS18049: 'x' is possibly 'null' or 'undefined'. - ~~~~ -!!! error TS2322: Type 'T[K]' is not assignable to type 'NonNullable[K]'. -!!! error TS2322: Type 'T' is not assignable to type 'NonNullable'. -!!! error TS2322: Type 'T' is not assignable to type '{}'. -!!! related TS2208 mappedTypeRelationships.ts:54:14: This type parameter might need an `extends {}` constraint. -!!! related TS2208 mappedTypeRelationships.ts:54:14: This type parameter might need an `extends NonNullable` constraint. y[k] = x[k]; // Error ~~~~ !!! error TS2542: Index signature in type 'Readonly' only permits reading. - ~ -!!! error TS18049: 'x' is possibly 'null' or 'undefined'. } function f22(x: T, y: Readonly, k: keyof T) { x[k] = y[k]; - ~ -!!! error TS18049: 'x' is possibly 'null' or 'undefined'. - ~~~~ -!!! error TS2322: Type 'U[keyof T]' is not assignable to type 'NonNullable[keyof T]'. -!!! error TS2322: Type 'U' is not assignable to type 'NonNullable'. -!!! error TS2322: Type 'T' is not assignable to type 'NonNullable'. -!!! error TS2322: Type 'T' is not assignable to type '{}'. -!!! error TS2322: Type 'U' is not assignable to type '{}'. -!!! error TS2322: Type 'T' is not assignable to type '{}'. -!!! related TS2208 mappedTypeRelationships.ts:59:14: This type parameter might need an `extends {}` constraint. -!!! related TS2208 mappedTypeRelationships.ts:59:14: This type parameter might need an `extends {}` constraint. -!!! related TS2208 mappedTypeRelationships.ts:59:14: This type parameter might need an `extends NonNullable` constraint. y[k] = x[k]; // Error ~~~~ -!!! error TS2322: Type 'NonNullable[keyof T]' is not assignable to type 'U[keyof T]'. -!!! error TS2322: Type 'NonNullable' is not assignable to type 'U'. -!!! error TS2322: 'U' could be instantiated with an arbitrary type which could be unrelated to 'NonNullable'. +!!! error TS2322: Type 'T[keyof T]' is not assignable to type 'U[keyof T]'. +!!! error TS2322: Type 'T' is not assignable to type 'U'. +!!! error TS2322: 'U' could be instantiated with an arbitrary type which could be unrelated to 'T'. +!!! related TS2208 mappedTypeRelationships.ts:59:14: This type parameter might need an `extends U` constraint. ~~~~ !!! error TS2542: Index signature in type 'Readonly' only permits reading. - ~ -!!! error TS18049: 'x' is possibly 'null' or 'undefined'. } function f23(x: T, y: Readonly, k: K) { x[k] = y[k]; - ~ -!!! error TS18049: 'x' is possibly 'null' or 'undefined'. - ~~~~ -!!! error TS2322: Type 'U[K]' is not assignable to type 'NonNullable[K]'. -!!! error TS2322: Type 'U' is not assignable to type 'NonNullable'. -!!! error TS2322: Type 'T' is not assignable to type 'NonNullable'. -!!! error TS2322: Type 'T' is not assignable to type '{}'. -!!! error TS2322: Type 'U' is not assignable to type '{}'. -!!! error TS2322: Type 'T' is not assignable to type '{}'. -!!! related TS2208 mappedTypeRelationships.ts:64:14: This type parameter might need an `extends {}` constraint. -!!! related TS2208 mappedTypeRelationships.ts:64:14: This type parameter might need an `extends {}` constraint. -!!! related TS2208 mappedTypeRelationships.ts:64:14: This type parameter might need an `extends NonNullable` constraint. y[k] = x[k]; // Error ~~~~ -!!! error TS2322: Type 'NonNullable[K]' is not assignable to type 'U[K]'. -!!! error TS2322: Type 'NonNullable' is not assignable to type 'U'. -!!! error TS2322: 'U' could be instantiated with an arbitrary type which could be unrelated to 'NonNullable'. +!!! error TS2322: Type 'T[K]' is not assignable to type 'U[K]'. +!!! error TS2322: Type 'T' is not assignable to type 'U'. +!!! error TS2322: 'U' could be instantiated with an arbitrary type which could be unrelated to 'T'. +!!! related TS2208 mappedTypeRelationships.ts:64:14: This type parameter might need an `extends U` constraint. ~~~~ !!! error TS2542: Index signature in type 'Readonly' only permits reading. - ~ -!!! error TS18049: 'x' is possibly 'null' or 'undefined'. } type Thing = { a: string, b: string }; @@ -512,16 +357,10 @@ mappedTypeRelationships.ts(180,12): error TS2533: Object is possibly 'null' or ' function f81(t: T, k: K): Partial { return t[k]; - ~ -!!! error TS18049: 't' is possibly 'null' or 'undefined'. } function f82(t: T, k1: K1, k2: K2): Partial { return t[k1][k2]; - ~ -!!! error TS18049: 't' is possibly 'null' or 'undefined'. - ~~~~~ -!!! error TS2533: Object is possibly 'null' or 'undefined'. } // #31070 diff --git a/tests/baselines/reference/mappedTypeRelationships.js b/tests/baselines/reference/mappedTypeRelationships.js index 1e8d20317185d..a8ecd047da27b 100644 --- a/tests/baselines/reference/mappedTypeRelationships.js +++ b/tests/baselines/reference/mappedTypeRelationships.js @@ -348,8 +348,8 @@ function f() { //// [mappedTypeRelationships.d.ts] -declare function f1(x: T, k: keyof T): NonNullable[keyof T]; -declare function f2(x: T, k: K): NonNullable[K]; +declare function f1(x: T, k: keyof T): T[keyof T]; +declare function f2(x: T, k: K): T[K]; declare function f3(x: T, y: U, k: keyof T): void; declare function f4(x: T, y: U, k: K): void; declare function f5(x: T, y: U, k: keyof U): void; diff --git a/tests/baselines/reference/mappedTypeRelationships.types b/tests/baselines/reference/mappedTypeRelationships.types index 18dd0b63a838e..ea45a0eb3041c 100644 --- a/tests/baselines/reference/mappedTypeRelationships.types +++ b/tests/baselines/reference/mappedTypeRelationships.types @@ -2,16 +2,16 @@ === mappedTypeRelationships.ts === function f1(x: T, k: keyof T) { ->f1 : (x: T, k: keyof T) => NonNullable[keyof T] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f1 : (x: T, k: keyof T) => T[keyof T] +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ >x : T > : ^ >k : keyof T > : ^^^^^^^ return x[k]; ->x[k] : NonNullable[keyof T] -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>x[k] : T[keyof T] +> : ^^^^^^^^^^ >x : T > : ^ >k : keyof T @@ -19,16 +19,16 @@ function f1(x: T, k: keyof T) { } function f2(x: T, k: K) { ->f2 : (x: T, k: K) => NonNullable[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>f2 : (x: T, k: K) => T[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >k : K > : ^ return x[k]; ->x[k] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ +>x[k] : T[K] +> : ^^^^ >x : T > : ^ >k : K @@ -46,32 +46,32 @@ function f3(x: T, y: U, k: keyof T) { > : ^^^^^^^ x[k] = y[k]; ->x[k] = y[k] : NonNullable[keyof T] -> : ^^^^^^^^^^^^^^^^^^^^^^^ ->x[k] : NonNullable[keyof T] -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>x[k] = y[k] : U[keyof T] +> : ^^^^^^^^^^ +>x[k] : T[keyof T] +> : ^^^^^^^^^^ >x : T > : ^ >k : keyof T > : ^^^^^^^ ->y[k] : NonNullable[keyof T] -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>y[k] : U[keyof T] +> : ^^^^^^^^^^ >y : U > : ^ >k : keyof T > : ^^^^^^^ y[k] = x[k]; // Error ->y[k] = x[k] : NonNullable[keyof T] -> : ^^^^^^^^^^^^^^^^^^^^^^^ ->y[k] : NonNullable[keyof T] -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>y[k] = x[k] : T[keyof T] +> : ^^^^^^^^^^ +>y[k] : U[keyof T] +> : ^^^^^^^^^^ >y : U > : ^ >k : keyof T > : ^^^^^^^ ->x[k] : NonNullable[keyof T] -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>x[k] : T[keyof T] +> : ^^^^^^^^^^ >x : T > : ^ >k : keyof T @@ -89,32 +89,32 @@ function f4(x: T, y: U, k: K) { > : ^ x[k] = y[k]; ->x[k] = y[k] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ ->x[k] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ +>x[k] = y[k] : U[K] +> : ^^^^ +>x[k] : T[K] +> : ^^^^ >x : T > : ^ >k : K > : ^ ->y[k] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ +>y[k] : U[K] +> : ^^^^ >y : U > : ^ >k : K > : ^ y[k] = x[k]; // Error ->y[k] = x[k] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ ->y[k] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ +>y[k] = x[k] : T[K] +> : ^^^^ +>y[k] : U[K] +> : ^^^^ >y : U > : ^ >k : K > : ^ ->x[k] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ +>x[k] : T[K] +> : ^^^^ >x : T > : ^ >k : K @@ -132,16 +132,16 @@ function f5(x: T, y: U, k: keyof U) { > : ^^^^^^^ x[k] = y[k]; // Error ->x[k] = y[k] : NonNullable[keyof U] -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>x[k] = y[k] : U[keyof U] +> : ^^^^^^^^^^ >x[k] : any > : ^^^ >x : T > : ^ >k : keyof U > : ^^^^^^^ ->y[k] : NonNullable[keyof U] -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>y[k] : U[keyof U] +> : ^^^^^^^^^^ >y : U > : ^ >k : keyof U @@ -150,8 +150,8 @@ function f5(x: T, y: U, k: keyof U) { y[k] = x[k]; // Error >y[k] = x[k] : any > : ^^^ ->y[k] : NonNullable[keyof U] -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>y[k] : U[keyof U] +> : ^^^^^^^^^^ >y : U > : ^ >k : keyof U @@ -175,16 +175,16 @@ function f6(x: T, y: U, k: K) { > : ^ x[k] = y[k]; // Error ->x[k] = y[k] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ +>x[k] = y[k] : U[K] +> : ^^^^ >x[k] : any > : ^^^ >x : T > : ^ >k : K > : ^ ->y[k] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ +>y[k] : U[K] +> : ^^^^ >y : U > : ^ >k : K @@ -193,8 +193,8 @@ function f6(x: T, y: U, k: K) { y[k] = x[k]; // Error >y[k] = x[k] : any > : ^^^ ->y[k] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ +>y[k] : U[K] +> : ^^^^ >y : U > : ^ >k : K @@ -220,8 +220,8 @@ function f10(x: T, y: Partial, k: keyof T) { x[k] = y[k]; // Error >x[k] = y[k] : Partial[keyof T] > : ^^^^^^^^^^^^^^^^^^^ ->x[k] : NonNullable[keyof T] -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>x[k] : T[keyof T] +> : ^^^^^^^^^^ >x : T > : ^ >k : keyof T @@ -234,16 +234,16 @@ function f10(x: T, y: Partial, k: keyof T) { > : ^^^^^^^ y[k] = x[k]; ->y[k] = x[k] : NonNullable[keyof T] -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>y[k] = x[k] : T[keyof T] +> : ^^^^^^^^^^ >y[k] : Partial[keyof T] > : ^^^^^^^^^^^^^^^^^^^ >y : Partial > : ^^^^^^^^^^ >k : keyof T > : ^^^^^^^ ->x[k] : NonNullable[keyof T] -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>x[k] : T[keyof T] +> : ^^^^^^^^^^ >x : T > : ^ >k : keyof T @@ -263,8 +263,8 @@ function f11(x: T, y: Partial, k: K) { x[k] = y[k]; // Error >x[k] = y[k] : Partial[K] > : ^^^^^^^^^^^^^ ->x[k] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ +>x[k] : T[K] +> : ^^^^ >x : T > : ^ >k : K @@ -277,16 +277,16 @@ function f11(x: T, y: Partial, k: K) { > : ^ y[k] = x[k]; ->y[k] = x[k] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ +>y[k] = x[k] : T[K] +> : ^^^^ >y[k] : Partial[K] > : ^^^^^^^^^^^^^ >y : Partial > : ^^^^^^^^^^ >k : K > : ^ ->x[k] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ +>x[k] : T[K] +> : ^^^^ >x : T > : ^ >k : K @@ -306,8 +306,8 @@ function f12(x: T, y: Partial, k: keyof T) { x[k] = y[k]; // Error >x[k] = y[k] : Partial[keyof T] > : ^^^^^^^^^^^^^^^^^^^ ->x[k] : NonNullable[keyof T] -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>x[k] : T[keyof T] +> : ^^^^^^^^^^ >x : T > : ^ >k : keyof T @@ -320,16 +320,16 @@ function f12(x: T, y: Partial, k: keyof T) { > : ^^^^^^^ y[k] = x[k]; // Error ->y[k] = x[k] : NonNullable[keyof T] -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>y[k] = x[k] : T[keyof T] +> : ^^^^^^^^^^ >y[k] : Partial[keyof T] > : ^^^^^^^^^^^^^^^^^^^ >y : Partial > : ^^^^^^^^^^ >k : keyof T > : ^^^^^^^ ->x[k] : NonNullable[keyof T] -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>x[k] : T[keyof T] +> : ^^^^^^^^^^ >x : T > : ^ >k : keyof T @@ -349,8 +349,8 @@ function f13(x: T, y: Partial, k: K) { x[k] = y[k]; // Error >x[k] = y[k] : Partial[K] > : ^^^^^^^^^^^^^ ->x[k] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ +>x[k] : T[K] +> : ^^^^ >x : T > : ^ >k : K @@ -363,16 +363,16 @@ function f13(x: T, y: Partial, k: K) { > : ^ y[k] = x[k]; // Error ->y[k] = x[k] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ +>y[k] = x[k] : T[K] +> : ^^^^ >y[k] : Partial[K] > : ^^^^^^^^^^^^^ >y : Partial > : ^^^^^^^^^^ >k : K > : ^ ->x[k] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ +>x[k] : T[K] +> : ^^^^ >x : T > : ^ >k : K @@ -392,8 +392,8 @@ function f20(x: T, y: Readonly, k: keyof T) { x[k] = y[k]; >x[k] = y[k] : Readonly[keyof T] > : ^^^^^^^^^^^^^^^^^^^^ ->x[k] : NonNullable[keyof T] -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>x[k] : T[keyof T] +> : ^^^^^^^^^^ >x : T > : ^ >k : keyof T @@ -406,16 +406,16 @@ function f20(x: T, y: Readonly, k: keyof T) { > : ^^^^^^^ y[k] = x[k]; // Error ->y[k] = x[k] : NonNullable[keyof T] -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>y[k] = x[k] : T[keyof T] +> : ^^^^^^^^^^ >y[k] : Readonly[keyof T] > : ^^^^^^^^^^^^^^^^^^^^ >y : Readonly > : ^^^^^^^^^^^ >k : keyof T > : ^^^^^^^ ->x[k] : NonNullable[keyof T] -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>x[k] : T[keyof T] +> : ^^^^^^^^^^ >x : T > : ^ >k : keyof T @@ -435,8 +435,8 @@ function f21(x: T, y: Readonly, k: K) { x[k] = y[k]; >x[k] = y[k] : Readonly[K] > : ^^^^^^^^^^^^^^ ->x[k] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ +>x[k] : T[K] +> : ^^^^ >x : T > : ^ >k : K @@ -449,16 +449,16 @@ function f21(x: T, y: Readonly, k: K) { > : ^ y[k] = x[k]; // Error ->y[k] = x[k] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ +>y[k] = x[k] : T[K] +> : ^^^^ >y[k] : Readonly[K] > : ^^^^^^^^^^^^^^ >y : Readonly > : ^^^^^^^^^^^ >k : K > : ^ ->x[k] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ +>x[k] : T[K] +> : ^^^^ >x : T > : ^ >k : K @@ -478,8 +478,8 @@ function f22(x: T, y: Readonly, k: keyof T) { x[k] = y[k]; >x[k] = y[k] : Readonly[keyof T] > : ^^^^^^^^^^^^^^^^^^^^ ->x[k] : NonNullable[keyof T] -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>x[k] : T[keyof T] +> : ^^^^^^^^^^ >x : T > : ^ >k : keyof T @@ -492,16 +492,16 @@ function f22(x: T, y: Readonly, k: keyof T) { > : ^^^^^^^ y[k] = x[k]; // Error ->y[k] = x[k] : NonNullable[keyof T] -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>y[k] = x[k] : T[keyof T] +> : ^^^^^^^^^^ >y[k] : Readonly[keyof T] > : ^^^^^^^^^^^^^^^^^^^^ >y : Readonly > : ^^^^^^^^^^^ >k : keyof T > : ^^^^^^^ ->x[k] : NonNullable[keyof T] -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>x[k] : T[keyof T] +> : ^^^^^^^^^^ >x : T > : ^ >k : keyof T @@ -521,8 +521,8 @@ function f23(x: T, y: Readonly, k: K) { x[k] = y[k]; >x[k] = y[k] : Readonly[K] > : ^^^^^^^^^^^^^^ ->x[k] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ +>x[k] : T[K] +> : ^^^^ >x : T > : ^ >k : K @@ -535,16 +535,16 @@ function f23(x: T, y: Readonly, k: K) { > : ^ y[k] = x[k]; // Error ->y[k] = x[k] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ +>y[k] = x[k] : T[K] +> : ^^^^ >y[k] : Readonly[K] > : ^^^^^^^^^^^^^^ >y : Readonly > : ^^^^^^^^^^^ >k : K > : ^ ->x[k] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ +>x[k] : T[K] +> : ^^^^ >x : T > : ^ >k : K @@ -1030,8 +1030,8 @@ function f81(t: T, k: K): Partial { > : ^ return t[k]; ->t[k] : NonNullable[K] -> : ^^^^^^^^^^^^^^^^^ +>t[k] : T[K] +> : ^^^^ >t : T > : ^ >k : K @@ -1049,10 +1049,10 @@ function f82(t: T, k1: K1, k2: K2 > : ^^ return t[k1][k2]; ->t[k1][k2] : NonNullable[K1]>[K2] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->t[k1] : NonNullable[K1] -> : ^^^^^^^^^^^^^^^^^^ +>t[k1][k2] : T[K1][K2] +> : ^^^^^^^^^ +>t[k1] : T[K1] +> : ^^^^^ >t : T > : ^ >k1 : K1 diff --git a/tests/baselines/reference/unconstrainedTypeMapped.js b/tests/baselines/reference/unconstrainedTypeMapped.js new file mode 100644 index 0000000000000..c506238921b08 --- /dev/null +++ b/tests/baselines/reference/unconstrainedTypeMapped.js @@ -0,0 +1,13 @@ +//// [tests/cases/compiler/unconstrainedTypeMapped.ts] //// + +//// [unconstrainedTypeMapped.ts] +function f(obj: T, key: K) { + return obj[key]; +} + + +//// [unconstrainedTypeMapped.js] +"use strict"; +function f(obj, key) { + return obj[key]; +} diff --git a/tests/baselines/reference/unconstrainedTypeMapped.symbols b/tests/baselines/reference/unconstrainedTypeMapped.symbols new file mode 100644 index 0000000000000..3f87c3226b751 --- /dev/null +++ b/tests/baselines/reference/unconstrainedTypeMapped.symbols @@ -0,0 +1,18 @@ +//// [tests/cases/compiler/unconstrainedTypeMapped.ts] //// + +=== unconstrainedTypeMapped.ts === +function f(obj: T, key: K) { +>f : Symbol(f, Decl(unconstrainedTypeMapped.ts, 0, 0)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 0, 11)) +>K : Symbol(K, Decl(unconstrainedTypeMapped.ts, 0, 13)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 0, 11)) +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 0, 33)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 0, 11)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 0, 40)) +>K : Symbol(K, Decl(unconstrainedTypeMapped.ts, 0, 13)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 0, 33)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 0, 40)) +} + diff --git a/tests/baselines/reference/unconstrainedTypeMapped.types b/tests/baselines/reference/unconstrainedTypeMapped.types new file mode 100644 index 0000000000000..987094f1651f0 --- /dev/null +++ b/tests/baselines/reference/unconstrainedTypeMapped.types @@ -0,0 +1,20 @@ +//// [tests/cases/compiler/unconstrainedTypeMapped.ts] //// + +=== unconstrainedTypeMapped.ts === +function f(obj: T, key: K) { +>f : (obj: T, key: K) => T[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>obj : T +> : ^ +>key : K +> : ^ + + return obj[key]; +>obj[key] : T[K] +> : ^^^^ +>obj : T +> : ^ +>key : K +> : ^ +} + diff --git a/tests/baselines/reference/unknownControlFlow.errors.txt b/tests/baselines/reference/unknownControlFlow.errors.txt index a288989d200ba..e8f4f198a505a 100644 --- a/tests/baselines/reference/unknownControlFlow.errors.txt +++ b/tests/baselines/reference/unknownControlFlow.errors.txt @@ -1,6 +1,5 @@ unknownControlFlow.ts(18,9): error TS2322: Type 'unknown' is not assignable to type '{}'. -unknownControlFlow.ts(275,5): error TS18049: 't' is possibly 'null' or 'undefined'. -unknownControlFlow.ts(283,5): error TS18049: 't' is possibly 'null' or 'undefined'. +unknownControlFlow.ts(283,5): error TS2536: Type 'keyof (T & {})' cannot be used to index type 'T'. unknownControlFlow.ts(290,11): error TS2345: Argument of type 'string' is not assignable to parameter of type 'never'. unknownControlFlow.ts(291,5): error TS2345: Argument of type 'null' is not assignable to parameter of type 'never'. unknownControlFlow.ts(293,5): error TS2345: Argument of type 'null' is not assignable to parameter of type 'never'. @@ -8,7 +7,7 @@ unknownControlFlow.ts(323,9): error TS2367: This comparison appears to be uninte unknownControlFlow.ts(341,9): error TS2367: This comparison appears to be unintentional because the types 'T' and 'number' have no overlap. -==== unknownControlFlow.ts (8 errors) ==== +==== unknownControlFlow.ts (7 errors) ==== type T01 = {} & string; // {} & string type T02 = {} & 'a'; // 'a' type T03 = {} & object; // object @@ -286,8 +285,6 @@ unknownControlFlow.ts(341,9): error TS2367: This comparison appears to be uninte function ff1(t: T, k: keyof T) { t[k]; - ~ -!!! error TS18049: 't' is possibly 'null' or 'undefined'. } function ff2(t: T & {}, k: keyof T) { @@ -296,8 +293,8 @@ unknownControlFlow.ts(341,9): error TS2367: This comparison appears to be uninte function ff3(t: T, k: keyof (T & {})) { t[k]; // Error - ~ -!!! error TS18049: 't' is possibly 'null' or 'undefined'. + ~~~~ +!!! error TS2536: Type 'keyof (T & {})' cannot be used to index type 'T'. } function ff4(t: T & {}, k: keyof (T & {})) { diff --git a/tests/baselines/reference/unknownControlFlow.types b/tests/baselines/reference/unknownControlFlow.types index 7984dc1154148..f0580118a5b36 100644 --- a/tests/baselines/reference/unknownControlFlow.types +++ b/tests/baselines/reference/unknownControlFlow.types @@ -1062,8 +1062,8 @@ function ff1(t: T, k: keyof T) { > : ^^^^^^^ t[k]; ->t[k] : NonNullable[keyof T] -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>t[k] : T[keyof T] +> : ^^^^^^^^^^ >t : T > : ^ >k : keyof T @@ -1096,8 +1096,8 @@ function ff3(t: T, k: keyof (T & {})) { > : ^^^^^^^^^^^^^^ t[k]; // Error ->t[k] : NonNullable[keyof (T & {})] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>t[k] : any +> : ^^^ >t : T > : ^ >k : keyof (T & {}) diff --git a/tests/cases/compiler/unconstrainedTypeMapped.ts b/tests/cases/compiler/unconstrainedTypeMapped.ts new file mode 100644 index 0000000000000..b24c1c0147952 --- /dev/null +++ b/tests/cases/compiler/unconstrainedTypeMapped.ts @@ -0,0 +1,5 @@ +// @strict: true + +function f(obj: T, key: K) { + return obj[key]; +} From 5e52d2cee4727356d65be1187fa9abc87bd290da Mon Sep 17 00:00:00 2001 From: Isabel Duan Date: Thu, 18 Jul 2024 14:33:55 -0700 Subject: [PATCH 7/7] defer index types with type parameters --- src/compiler/checker.ts | 16 +- .../controlFlowGenericTypes.errors.txt | 5 +- .../reference/controlFlowGenericTypes.types | 8 +- .../keyofAndIndexedAccess.errors.txt | 5 +- .../reference/largeControlFlowGraph.types | 8000 ++++++++--------- .../mappedTypeRelationships.errors.txt | 28 +- .../reference/mappedTypeRelationships.types | 12 +- .../testtestunconstrainedType.errors.txt | 13 + .../testtestunconstrainedType.symbols | 28 + .../reference/testtestunconstrainedType.types | 36 + .../unconstrainedTypeComparisons.errors.txt | 22 +- .../reference/unconstrainedTypeComparisons.js | 32 - .../unconstrainedTypeComparisons.symbols | 57 +- .../unconstrainedTypeComparisons.types | 25 +- .../unconstrainedTypeKeyofParam.errors.txt | 195 + .../unconstrainedTypeKeyofParam.symbols | 447 + .../unconstrainedTypeKeyofParam.types | 531 ++ .../unconstrainedTypeMapped.errors.txt | 195 + .../reference/unconstrainedTypeMapped.js | 13 - .../reference/unconstrainedTypeMapped.symbols | 453 +- .../reference/unconstrainedTypeMapped.types | 511 ++ .../reference/unknownControlFlow.errors.txt | 6 +- .../reference/unknownControlFlow.types | 4 +- .../compiler/unconstrainedTypeComparisons.ts | 11 +- .../compiler/unconstrainedTypeKeyofParam.ts | 120 + .../cases/compiler/unconstrainedTypeMapped.ts | 5 - 26 files changed, 6653 insertions(+), 4125 deletions(-) create mode 100644 tests/baselines/reference/testtestunconstrainedType.errors.txt create mode 100644 tests/baselines/reference/testtestunconstrainedType.symbols create mode 100644 tests/baselines/reference/testtestunconstrainedType.types delete mode 100644 tests/baselines/reference/unconstrainedTypeComparisons.js create mode 100644 tests/baselines/reference/unconstrainedTypeKeyofParam.errors.txt create mode 100644 tests/baselines/reference/unconstrainedTypeKeyofParam.symbols create mode 100644 tests/baselines/reference/unconstrainedTypeKeyofParam.types create mode 100644 tests/baselines/reference/unconstrainedTypeMapped.errors.txt delete mode 100644 tests/baselines/reference/unconstrainedTypeMapped.js create mode 100644 tests/cases/compiler/unconstrainedTypeKeyofParam.ts delete mode 100644 tests/cases/compiler/unconstrainedTypeMapped.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index a5fb96e223994..f6b5ad3901e04 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -18299,6 +18299,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { function shouldDeferIndexType(type: Type, indexFlags = IndexFlags.None) { return !!(type.flags & TypeFlags.InstantiableNonPrimitive || + type.flags & TypeFlags.Index && isUnconstrainedTypeParameter((type as IndexType).type) || isGenericTupleType(type) || isGenericMappedType(type) && (!hasDistributiveNameType(type) || getMappedTypeNameTypeKind(type) === MappedTypeNameTypeKind.Remapping) || type.flags & TypeFlags.Union && !(indexFlags & IndexFlags.NoReducibleCheck) && isGenericReducibleType(type) || @@ -18987,7 +18988,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { isGenericTupleType(objectType) && !indexTypeLessThan(indexType, getTotalFixedElementCount(objectType.target)) : isGenericObjectType(objectType) && !(isTupleType(objectType) && indexTypeLessThan(indexType, getTotalFixedElementCount(objectType.target))) || isGenericReducibleType(objectType)) ) { - if (objectType.flags & TypeFlags.AnyOrUnknown) { + if (objectType.flags & TypeFlags.AnyOrUnknown || (strictNullChecks && (objectType.flags & TypeFlags.Union) && isUnknownLikeUnionType(objectType))) { return objectType; } // Defer the operation by creating an indexed access type. @@ -34563,8 +34564,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (node.flags & NodeFlags.OptionalChain) { return checkElementAccessChain(node as ElementAccessChain, checkMode); } - if (shouldDeferIndexType(getTypeOfNode(node.expression))) { - return checkElementAccessExpression(node, checkExpression(node.expression), checkMode); + if (shouldDeferIndexType(getTypeOfNode(node.argumentExpression))) { + return checkElementAccessExpression(node, checkExpression(node.expression), checkMode, /*deferredIndexCheck*/ true); } return checkElementAccessExpression(node, checkNonNullExpression(node.expression), checkMode); } @@ -34575,7 +34576,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return propagateOptionalTypeMarker(checkElementAccessExpression(node, checkNonNullType(nonOptionalType, node.expression), checkMode), node, nonOptionalType !== exprType); } - function checkElementAccessExpression(node: ElementAccessExpression, exprType: Type, checkMode: CheckMode | undefined): Type { + function checkElementAccessExpression(node: ElementAccessExpression, exprType: Type, checkMode: CheckMode | undefined, deferredIndexCheck: boolean = false): Type { const objectType = getAssignmentTargetKind(node) !== AssignmentKind.None || isMethodAccessForCall(node) ? getWidenedType(exprType) : exprType; const indexExpression = node.argumentExpression; const indexType = checkExpression(indexExpression); @@ -34602,7 +34603,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } } const indexedAccessType = getIndexedAccessTypeOrUndefined(objectType, effectiveIndexType, accessFlags, node) || errorType; - return checkIndexedAccessIndexType(getFlowTypeOfAccessExpression(node, getNodeLinks(node).resolvedSymbol, indexedAccessType, indexExpression, checkMode), node); + return checkIndexedAccessIndexType(getFlowTypeOfAccessExpression(node, getNodeLinks(node).resolvedSymbol, indexedAccessType, indexExpression, checkMode), node, deferredIndexCheck); } function callLikeExpressionMayHaveTypeArguments(node: CallLikeExpression): node is CallExpression | NewExpression | TaggedTemplateExpression | JsxOpeningElement { @@ -41565,7 +41566,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { getTypeFromTypeNode(node); } - function checkIndexedAccessIndexType(type: Type, accessNode: IndexedAccessTypeNode | ElementAccessExpression) { + function checkIndexedAccessIndexType(type: Type, accessNode: IndexedAccessTypeNode | ElementAccessExpression, deferredIndexCheck: boolean = false) { if (!(type.flags & TypeFlags.IndexedAccess)) { return type; } @@ -41596,6 +41597,9 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } } } + if (deferredIndexCheck && isAccessExpression(accessNode) && isErrorType(checkNonNullExpression(accessNode.expression))) { + return errorType; + } error(accessNode, Diagnostics.Type_0_cannot_be_used_to_index_type_1, typeToString(indexType), typeToString(objectType)); return errorType; } diff --git a/tests/baselines/reference/controlFlowGenericTypes.errors.txt b/tests/baselines/reference/controlFlowGenericTypes.errors.txt index 27101aaa81cc4..7968952ede743 100644 --- a/tests/baselines/reference/controlFlowGenericTypes.errors.txt +++ b/tests/baselines/reference/controlFlowGenericTypes.errors.txt @@ -6,11 +6,12 @@ controlFlowGenericTypes.ts(90,44): error TS2355: A function whose declared type controlFlowGenericTypes.ts(91,11): error TS2339: Property 'foo' does not exist on type 'MyUnion'. Property 'foo' does not exist on type 'AA'. controlFlowGenericTypes.ts(156,16): error TS18048: 'obj' is possibly 'undefined'. +controlFlowGenericTypes.ts(156,16): error TS2536: Type 'K' cannot be used to index type 'Record | undefined'. controlFlowGenericTypes.ts(167,9): error TS18048: 'iSpec' is possibly 'undefined'. controlFlowGenericTypes.ts(168,9): error TS18048: 'iSpec' is possibly 'undefined'. -==== controlFlowGenericTypes.ts (8 errors) ==== +==== controlFlowGenericTypes.ts (9 errors) ==== function f1(x: T, y: { a: T }, z: [T]): string { if (x) { x; @@ -181,6 +182,8 @@ controlFlowGenericTypes.ts(168,9): error TS18048: 'iSpec' is possibly 'undefined const x1 = obj[key]; // Error ~~~ !!! error TS18048: 'obj' is possibly 'undefined'. + ~~~~~~~~ +!!! error TS2536: Type 'K' cannot be used to index type 'Record | undefined'. const x2 = obj && obj[key]; } diff --git a/tests/baselines/reference/controlFlowGenericTypes.types b/tests/baselines/reference/controlFlowGenericTypes.types index 34aaf80709138..2d636f3608edc 100644 --- a/tests/baselines/reference/controlFlowGenericTypes.types +++ b/tests/baselines/reference/controlFlowGenericTypes.types @@ -662,10 +662,10 @@ function fx3 | undefined, K extends keyof T>(o > : ^ const x1 = obj[key]; // Error ->x1 : Record[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->obj[key] : Record[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x1 : any +> : ^^^ +>obj[key] : any +> : ^^^ >obj : Record | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >key : K diff --git a/tests/baselines/reference/keyofAndIndexedAccess.errors.txt b/tests/baselines/reference/keyofAndIndexedAccess.errors.txt index 63e522cb1c6f4..23bf5089cc4d1 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess.errors.txt +++ b/tests/baselines/reference/keyofAndIndexedAccess.errors.txt @@ -1,5 +1,6 @@ keyofAndIndexedAccess.ts(205,24): error TS2533: Object is possibly 'null' or 'undefined'. keyofAndIndexedAccess.ts(211,24): error TS2533: Object is possibly 'null' or 'undefined'. +keyofAndIndexedAccess.ts(216,9): error TS18049: 'target' is possibly 'null' or 'undefined'. keyofAndIndexedAccess.ts(216,9): error TS2536: Type 'Extract, string>' cannot be used to index type 'T'. keyofAndIndexedAccess.ts(316,5): error TS2322: Type 'T' is not assignable to type '{}'. keyofAndIndexedAccess.ts(317,5): error TS2322: Type 'T[keyof T]' is not assignable to type '{}'. @@ -12,7 +13,7 @@ keyofAndIndexedAccess.ts(566,9): error TS2322: Type 'T[K]' is not assignable to Type 'T' is not assignable to type '{}'. -==== keyofAndIndexedAccess.ts (7 errors) ==== +==== keyofAndIndexedAccess.ts (8 errors) ==== class Shape { name: string; width: number; @@ -233,6 +234,8 @@ keyofAndIndexedAccess.ts(566,9): error TS2322: Type 'T[K]' is not assignable to function f60(source: T, target: T) { for (let k in source) { target[k] = source[k]; + ~~~~~~ +!!! error TS18049: 'target' is possibly 'null' or 'undefined'. ~~~~~~~~~ !!! error TS2536: Type 'Extract, string>' cannot be used to index type 'T'. } diff --git a/tests/baselines/reference/largeControlFlowGraph.types b/tests/baselines/reference/largeControlFlowGraph.types index 1a162bfd183ec..d2be2df8a67ba 100644 --- a/tests/baselines/reference/largeControlFlowGraph.types +++ b/tests/baselines/reference/largeControlFlowGraph.types @@ -14,8 +14,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -26,8 +26,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -38,8 +38,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -50,8 +50,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -62,8 +62,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -74,8 +74,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -86,8 +86,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -98,8 +98,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -110,8 +110,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -122,8 +122,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -134,8 +134,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -146,8 +146,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -158,8 +158,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -170,8 +170,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -182,8 +182,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -194,8 +194,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -206,8 +206,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -218,8 +218,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -230,8 +230,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -242,8 +242,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -254,8 +254,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -266,8 +266,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -278,8 +278,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -290,8 +290,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -302,8 +302,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -314,8 +314,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -326,8 +326,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -338,8 +338,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -350,8 +350,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -362,8 +362,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -374,8 +374,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -386,8 +386,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -398,8 +398,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -410,8 +410,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -422,8 +422,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -434,8 +434,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -446,8 +446,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -458,8 +458,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -470,8 +470,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -482,8 +482,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -494,8 +494,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -506,8 +506,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -518,8 +518,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -530,8 +530,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -542,8 +542,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -554,8 +554,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -566,8 +566,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -578,8 +578,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -590,8 +590,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -602,8 +602,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -614,8 +614,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -626,8 +626,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -638,8 +638,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -650,8 +650,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -662,8 +662,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -674,8 +674,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -686,8 +686,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -698,8 +698,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -710,8 +710,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -722,8 +722,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -734,8 +734,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -746,8 +746,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -758,8 +758,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -770,8 +770,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -782,8 +782,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -794,8 +794,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -806,8 +806,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -818,8 +818,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -830,8 +830,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -842,8 +842,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -854,8 +854,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -866,8 +866,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -878,8 +878,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -890,8 +890,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -902,8 +902,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -914,8 +914,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -926,8 +926,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -938,8 +938,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -950,8 +950,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -962,8 +962,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -974,8 +974,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -986,8 +986,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -998,8 +998,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1010,8 +1010,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1022,8 +1022,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1034,8 +1034,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1046,8 +1046,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1058,8 +1058,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1070,8 +1070,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1082,8 +1082,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1094,8 +1094,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1106,8 +1106,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1118,8 +1118,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1130,8 +1130,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1142,8 +1142,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1154,8 +1154,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1166,8 +1166,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1178,8 +1178,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1190,8 +1190,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1202,8 +1202,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1214,8 +1214,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1226,8 +1226,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1238,8 +1238,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1250,8 +1250,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1262,8 +1262,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1274,8 +1274,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1286,8 +1286,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1298,8 +1298,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1310,8 +1310,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1322,8 +1322,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1334,8 +1334,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1346,8 +1346,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1358,8 +1358,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1370,8 +1370,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1382,8 +1382,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1394,8 +1394,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1406,8 +1406,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1418,8 +1418,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1430,8 +1430,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1442,8 +1442,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1454,8 +1454,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1466,8 +1466,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1478,8 +1478,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1490,8 +1490,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1502,8 +1502,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1514,8 +1514,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1526,8 +1526,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1538,8 +1538,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1550,8 +1550,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1562,8 +1562,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1574,8 +1574,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1586,8 +1586,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1598,8 +1598,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1610,8 +1610,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1622,8 +1622,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1634,8 +1634,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1646,8 +1646,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1658,8 +1658,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1670,8 +1670,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1682,8 +1682,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1694,8 +1694,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1706,8 +1706,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1718,8 +1718,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1730,8 +1730,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1742,8 +1742,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1754,8 +1754,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1766,8 +1766,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1778,8 +1778,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1790,8 +1790,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1802,8 +1802,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1814,8 +1814,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1826,8 +1826,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1838,8 +1838,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1850,8 +1850,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1862,8 +1862,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1874,8 +1874,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1886,8 +1886,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1898,8 +1898,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1910,8 +1910,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1922,8 +1922,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1934,8 +1934,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1946,8 +1946,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1958,8 +1958,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1970,8 +1970,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1982,8 +1982,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -1994,8 +1994,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2006,8 +2006,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2018,8 +2018,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2030,8 +2030,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2042,8 +2042,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2054,8 +2054,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2066,8 +2066,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2078,8 +2078,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2090,8 +2090,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2102,8 +2102,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2114,8 +2114,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2126,8 +2126,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2138,8 +2138,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2150,8 +2150,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2162,8 +2162,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2174,8 +2174,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2186,8 +2186,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2198,8 +2198,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2210,8 +2210,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2222,8 +2222,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2234,8 +2234,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2246,8 +2246,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2258,8 +2258,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2270,8 +2270,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2282,8 +2282,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2294,8 +2294,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2306,8 +2306,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2318,8 +2318,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2330,8 +2330,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2342,8 +2342,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2354,8 +2354,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2366,8 +2366,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2378,8 +2378,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2390,8 +2390,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2402,8 +2402,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2414,8 +2414,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2426,8 +2426,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2438,8 +2438,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2450,8 +2450,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2462,8 +2462,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2474,8 +2474,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2486,8 +2486,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2498,8 +2498,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2510,8 +2510,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2522,8 +2522,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2534,8 +2534,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2546,8 +2546,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2558,8 +2558,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2570,8 +2570,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2582,8 +2582,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2594,8 +2594,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2606,8 +2606,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2618,8 +2618,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2630,8 +2630,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2642,8 +2642,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2654,8 +2654,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2666,8 +2666,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2678,8 +2678,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2690,8 +2690,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2702,8 +2702,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2714,8 +2714,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2726,8 +2726,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2738,8 +2738,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2750,8 +2750,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2762,8 +2762,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2774,8 +2774,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2786,8 +2786,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2798,8 +2798,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2810,8 +2810,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2822,8 +2822,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2834,8 +2834,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2846,8 +2846,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2858,8 +2858,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2870,8 +2870,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2882,8 +2882,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2894,8 +2894,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2906,8 +2906,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2918,8 +2918,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2930,8 +2930,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2942,8 +2942,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2954,8 +2954,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2966,8 +2966,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2978,8 +2978,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -2990,8 +2990,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3002,8 +3002,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3014,8 +3014,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3026,8 +3026,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3038,8 +3038,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3050,8 +3050,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3062,8 +3062,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3074,8 +3074,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3086,8 +3086,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3098,8 +3098,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3110,8 +3110,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3122,8 +3122,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3134,8 +3134,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3146,8 +3146,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3158,8 +3158,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3170,8 +3170,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3182,8 +3182,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3194,8 +3194,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3206,8 +3206,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3218,8 +3218,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3230,8 +3230,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3242,8 +3242,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3254,8 +3254,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3266,8 +3266,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3278,8 +3278,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3290,8 +3290,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3302,8 +3302,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3314,8 +3314,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3326,8 +3326,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3338,8 +3338,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3350,8 +3350,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3362,8 +3362,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3374,8 +3374,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3386,8 +3386,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3398,8 +3398,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3410,8 +3410,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3422,8 +3422,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3434,8 +3434,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3446,8 +3446,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3458,8 +3458,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3470,8 +3470,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3482,8 +3482,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3494,8 +3494,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3506,8 +3506,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3518,8 +3518,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3530,8 +3530,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3542,8 +3542,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3554,8 +3554,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3566,8 +3566,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3578,8 +3578,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3590,8 +3590,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3602,8 +3602,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3614,8 +3614,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3626,8 +3626,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3638,8 +3638,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3650,8 +3650,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3662,8 +3662,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3674,8 +3674,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3686,8 +3686,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3698,8 +3698,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3710,8 +3710,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3722,8 +3722,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3734,8 +3734,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3746,8 +3746,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3758,8 +3758,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3770,8 +3770,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3782,8 +3782,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3794,8 +3794,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3806,8 +3806,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3818,8 +3818,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3830,8 +3830,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3842,8 +3842,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3854,8 +3854,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3866,8 +3866,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3878,8 +3878,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3890,8 +3890,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3902,8 +3902,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3914,8 +3914,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3926,8 +3926,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3938,8 +3938,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3950,8 +3950,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3962,8 +3962,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3974,8 +3974,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3986,8 +3986,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -3998,8 +3998,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4010,8 +4010,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4022,8 +4022,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4034,8 +4034,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4046,8 +4046,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4058,8 +4058,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4070,8 +4070,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4082,8 +4082,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4094,8 +4094,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4106,8 +4106,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4118,8 +4118,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4130,8 +4130,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4142,8 +4142,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4154,8 +4154,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4166,8 +4166,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4178,8 +4178,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4190,8 +4190,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4202,8 +4202,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4214,8 +4214,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4226,8 +4226,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4238,8 +4238,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4250,8 +4250,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4262,8 +4262,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4274,8 +4274,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4286,8 +4286,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4298,8 +4298,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4310,8 +4310,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4322,8 +4322,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4334,8 +4334,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4346,8 +4346,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4358,8 +4358,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4370,8 +4370,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4382,8 +4382,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4394,8 +4394,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4406,8 +4406,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4418,8 +4418,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4430,8 +4430,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4442,8 +4442,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4454,8 +4454,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4466,8 +4466,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4478,8 +4478,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4490,8 +4490,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4502,8 +4502,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4514,8 +4514,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4526,8 +4526,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4538,8 +4538,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4550,8 +4550,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4562,8 +4562,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4574,8 +4574,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4586,8 +4586,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4598,8 +4598,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4610,8 +4610,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4622,8 +4622,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4634,8 +4634,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4646,8 +4646,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4658,8 +4658,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4670,8 +4670,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4682,8 +4682,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4694,8 +4694,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4706,8 +4706,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4718,8 +4718,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4730,8 +4730,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4742,8 +4742,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4754,8 +4754,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4766,8 +4766,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4778,8 +4778,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4790,8 +4790,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4802,8 +4802,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4814,8 +4814,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4826,8 +4826,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4838,8 +4838,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4850,8 +4850,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4862,8 +4862,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4874,8 +4874,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4886,8 +4886,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4898,8 +4898,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4910,8 +4910,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4922,8 +4922,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4934,8 +4934,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4946,8 +4946,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4958,8 +4958,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4970,8 +4970,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4982,8 +4982,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -4994,8 +4994,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5006,8 +5006,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5018,8 +5018,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5030,8 +5030,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5042,8 +5042,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5054,8 +5054,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5066,8 +5066,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5078,8 +5078,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5090,8 +5090,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5102,8 +5102,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5114,8 +5114,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5126,8 +5126,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5138,8 +5138,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5150,8 +5150,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5162,8 +5162,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5174,8 +5174,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5186,8 +5186,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5198,8 +5198,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5210,8 +5210,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5222,8 +5222,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5234,8 +5234,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5246,8 +5246,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5258,8 +5258,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5270,8 +5270,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5282,8 +5282,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5294,8 +5294,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5306,8 +5306,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5318,8 +5318,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5330,8 +5330,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5342,8 +5342,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5354,8 +5354,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5366,8 +5366,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5378,8 +5378,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5390,8 +5390,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5402,8 +5402,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5414,8 +5414,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5426,8 +5426,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5438,8 +5438,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5450,8 +5450,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5462,8 +5462,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5474,8 +5474,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5486,8 +5486,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5498,8 +5498,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5510,8 +5510,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5522,8 +5522,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5534,8 +5534,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5546,8 +5546,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5558,8 +5558,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5570,8 +5570,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5582,8 +5582,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5594,8 +5594,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5606,8 +5606,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5618,8 +5618,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5630,8 +5630,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5642,8 +5642,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5654,8 +5654,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5666,8 +5666,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5678,8 +5678,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5690,8 +5690,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5702,8 +5702,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5714,8 +5714,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5726,8 +5726,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5738,8 +5738,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5750,8 +5750,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5762,8 +5762,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5774,8 +5774,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5786,8 +5786,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5798,8 +5798,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5810,8 +5810,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5822,8 +5822,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5834,8 +5834,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5846,8 +5846,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5858,8 +5858,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5870,8 +5870,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5882,8 +5882,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5894,8 +5894,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5906,8 +5906,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5918,8 +5918,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5930,8 +5930,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5942,8 +5942,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5954,8 +5954,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5966,8 +5966,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5978,8 +5978,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -5990,8 +5990,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6002,8 +6002,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6014,8 +6014,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6026,8 +6026,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6038,8 +6038,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6050,8 +6050,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6062,8 +6062,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6074,8 +6074,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6086,8 +6086,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6098,8 +6098,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6110,8 +6110,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6122,8 +6122,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6134,8 +6134,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6146,8 +6146,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6158,8 +6158,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6170,8 +6170,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6182,8 +6182,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6194,8 +6194,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6206,8 +6206,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6218,8 +6218,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6230,8 +6230,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6242,8 +6242,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6254,8 +6254,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6266,8 +6266,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6278,8 +6278,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6290,8 +6290,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6302,8 +6302,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6314,8 +6314,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6326,8 +6326,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6338,8 +6338,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6350,8 +6350,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6362,8 +6362,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6374,8 +6374,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6386,8 +6386,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6398,8 +6398,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6410,8 +6410,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6422,8 +6422,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6434,8 +6434,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6446,8 +6446,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6458,8 +6458,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6470,8 +6470,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6482,8 +6482,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6494,8 +6494,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6506,8 +6506,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6518,8 +6518,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6530,8 +6530,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6542,8 +6542,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6554,8 +6554,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6566,8 +6566,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6578,8 +6578,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6590,8 +6590,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6602,8 +6602,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6614,8 +6614,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6626,8 +6626,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6638,8 +6638,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6650,8 +6650,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6662,8 +6662,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6674,8 +6674,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6686,8 +6686,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6698,8 +6698,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6710,8 +6710,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6722,8 +6722,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6734,8 +6734,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6746,8 +6746,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6758,8 +6758,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6770,8 +6770,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6782,8 +6782,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6794,8 +6794,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6806,8 +6806,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6818,8 +6818,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6830,8 +6830,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6842,8 +6842,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6854,8 +6854,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6866,8 +6866,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6878,8 +6878,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6890,8 +6890,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6902,8 +6902,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6914,8 +6914,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6926,8 +6926,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6938,8 +6938,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6950,8 +6950,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6962,8 +6962,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6974,8 +6974,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6986,8 +6986,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -6998,8 +6998,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7010,8 +7010,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7022,8 +7022,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7034,8 +7034,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7046,8 +7046,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7058,8 +7058,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7070,8 +7070,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7082,8 +7082,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7094,8 +7094,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7106,8 +7106,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7118,8 +7118,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7130,8 +7130,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7142,8 +7142,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7154,8 +7154,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7166,8 +7166,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7178,8 +7178,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7190,8 +7190,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7202,8 +7202,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7214,8 +7214,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7226,8 +7226,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7238,8 +7238,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7250,8 +7250,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7262,8 +7262,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7274,8 +7274,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7286,8 +7286,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7298,8 +7298,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7310,8 +7310,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7322,8 +7322,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7334,8 +7334,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7346,8 +7346,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7358,8 +7358,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7370,8 +7370,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7382,8 +7382,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7394,8 +7394,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7406,8 +7406,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7418,8 +7418,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7430,8 +7430,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7442,8 +7442,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7454,8 +7454,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7466,8 +7466,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7478,8 +7478,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7490,8 +7490,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7502,8 +7502,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7514,8 +7514,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7526,8 +7526,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7538,8 +7538,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7550,8 +7550,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7562,8 +7562,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7574,8 +7574,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7586,8 +7586,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7598,8 +7598,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7610,8 +7610,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7622,8 +7622,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7634,8 +7634,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7646,8 +7646,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7658,8 +7658,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7670,8 +7670,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7682,8 +7682,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7694,8 +7694,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7706,8 +7706,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7718,8 +7718,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7730,8 +7730,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7742,8 +7742,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7754,8 +7754,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7766,8 +7766,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7778,8 +7778,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7790,8 +7790,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7802,8 +7802,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7814,8 +7814,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7826,8 +7826,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7838,8 +7838,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7850,8 +7850,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7862,8 +7862,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7874,8 +7874,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7886,8 +7886,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7898,8 +7898,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7910,8 +7910,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7922,8 +7922,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7934,8 +7934,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7946,8 +7946,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7958,8 +7958,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7970,8 +7970,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7982,8 +7982,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -7994,8 +7994,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8006,8 +8006,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8018,8 +8018,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8030,8 +8030,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8042,8 +8042,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8054,8 +8054,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8066,8 +8066,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8078,8 +8078,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8090,8 +8090,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8102,8 +8102,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8114,8 +8114,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8126,8 +8126,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8138,8 +8138,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8150,8 +8150,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8162,8 +8162,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8174,8 +8174,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8186,8 +8186,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8198,8 +8198,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8210,8 +8210,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8222,8 +8222,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8234,8 +8234,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8246,8 +8246,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8258,8 +8258,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8270,8 +8270,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8282,8 +8282,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8294,8 +8294,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8306,8 +8306,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8318,8 +8318,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8330,8 +8330,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8342,8 +8342,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8354,8 +8354,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8366,8 +8366,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8378,8 +8378,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8390,8 +8390,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8402,8 +8402,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8414,8 +8414,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8426,8 +8426,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8438,8 +8438,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8450,8 +8450,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8462,8 +8462,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8474,8 +8474,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8486,8 +8486,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8498,8 +8498,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8510,8 +8510,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8522,8 +8522,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8534,8 +8534,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8546,8 +8546,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8558,8 +8558,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8570,8 +8570,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8582,8 +8582,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8594,8 +8594,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8606,8 +8606,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8618,8 +8618,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8630,8 +8630,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8642,8 +8642,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8654,8 +8654,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8666,8 +8666,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8678,8 +8678,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8690,8 +8690,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8702,8 +8702,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8714,8 +8714,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8726,8 +8726,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8738,8 +8738,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8750,8 +8750,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8762,8 +8762,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8774,8 +8774,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8786,8 +8786,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8798,8 +8798,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8810,8 +8810,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8822,8 +8822,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8834,8 +8834,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8846,8 +8846,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8858,8 +8858,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8870,8 +8870,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8882,8 +8882,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8894,8 +8894,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8906,8 +8906,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8918,8 +8918,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8930,8 +8930,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8942,8 +8942,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8954,8 +8954,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8966,8 +8966,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8978,8 +8978,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -8990,8 +8990,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9002,8 +9002,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9014,8 +9014,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9026,8 +9026,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9038,8 +9038,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9050,8 +9050,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9062,8 +9062,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9074,8 +9074,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9086,8 +9086,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9098,8 +9098,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9110,8 +9110,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9122,8 +9122,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9134,8 +9134,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9146,8 +9146,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9158,8 +9158,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9170,8 +9170,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9182,8 +9182,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9194,8 +9194,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9206,8 +9206,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9218,8 +9218,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9230,8 +9230,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9242,8 +9242,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9254,8 +9254,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9266,8 +9266,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9278,8 +9278,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9290,8 +9290,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9302,8 +9302,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9314,8 +9314,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9326,8 +9326,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9338,8 +9338,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9350,8 +9350,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9362,8 +9362,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9374,8 +9374,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9386,8 +9386,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9398,8 +9398,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9410,8 +9410,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9422,8 +9422,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9434,8 +9434,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9446,8 +9446,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9458,8 +9458,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9470,8 +9470,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9482,8 +9482,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9494,8 +9494,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9506,8 +9506,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9518,8 +9518,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9530,8 +9530,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9542,8 +9542,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9554,8 +9554,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9566,8 +9566,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9578,8 +9578,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9590,8 +9590,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9602,8 +9602,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9614,8 +9614,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9626,8 +9626,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9638,8 +9638,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9650,8 +9650,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9662,8 +9662,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9674,8 +9674,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9686,8 +9686,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9698,8 +9698,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9710,8 +9710,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9722,8 +9722,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9734,8 +9734,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9746,8 +9746,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9758,8 +9758,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9770,8 +9770,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9782,8 +9782,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9794,8 +9794,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9806,8 +9806,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9818,8 +9818,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9830,8 +9830,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9842,8 +9842,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9854,8 +9854,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9866,8 +9866,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9878,8 +9878,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9890,8 +9890,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9902,8 +9902,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9914,8 +9914,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9926,8 +9926,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9938,8 +9938,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9950,8 +9950,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9962,8 +9962,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9974,8 +9974,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9986,8 +9986,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -9998,8 +9998,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10010,8 +10010,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10022,8 +10022,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10034,8 +10034,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10046,8 +10046,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10058,8 +10058,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10070,8 +10070,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10082,8 +10082,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10094,8 +10094,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10106,8 +10106,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10118,8 +10118,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10130,8 +10130,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10142,8 +10142,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10154,8 +10154,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10166,8 +10166,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10178,8 +10178,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10190,8 +10190,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10202,8 +10202,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10214,8 +10214,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10226,8 +10226,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10238,8 +10238,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10250,8 +10250,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10262,8 +10262,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10274,8 +10274,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10286,8 +10286,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10298,8 +10298,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10310,8 +10310,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10322,8 +10322,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10334,8 +10334,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10346,8 +10346,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10358,8 +10358,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10370,8 +10370,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10382,8 +10382,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10394,8 +10394,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10406,8 +10406,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10418,8 +10418,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10430,8 +10430,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10442,8 +10442,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10454,8 +10454,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10466,8 +10466,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10478,8 +10478,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10490,8 +10490,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10502,8 +10502,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10514,8 +10514,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10526,8 +10526,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10538,8 +10538,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10550,8 +10550,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10562,8 +10562,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10574,8 +10574,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10586,8 +10586,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10598,8 +10598,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10610,8 +10610,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10622,8 +10622,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10634,8 +10634,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10646,8 +10646,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10658,8 +10658,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10670,8 +10670,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10682,8 +10682,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10694,8 +10694,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10706,8 +10706,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10718,8 +10718,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10730,8 +10730,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10742,8 +10742,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10754,8 +10754,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10766,8 +10766,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10778,8 +10778,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10790,8 +10790,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10802,8 +10802,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10814,8 +10814,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10826,8 +10826,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10838,8 +10838,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10850,8 +10850,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10862,8 +10862,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10874,8 +10874,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10886,8 +10886,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10898,8 +10898,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10910,8 +10910,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10922,8 +10922,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10934,8 +10934,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10946,8 +10946,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10958,8 +10958,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10970,8 +10970,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10982,8 +10982,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -10994,8 +10994,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11006,8 +11006,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11018,8 +11018,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11030,8 +11030,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11042,8 +11042,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11054,8 +11054,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11066,8 +11066,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11078,8 +11078,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11090,8 +11090,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11102,8 +11102,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11114,8 +11114,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11126,8 +11126,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11138,8 +11138,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11150,8 +11150,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11162,8 +11162,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11174,8 +11174,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11186,8 +11186,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11198,8 +11198,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11210,8 +11210,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11222,8 +11222,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11234,8 +11234,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11246,8 +11246,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11258,8 +11258,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11270,8 +11270,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11282,8 +11282,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11294,8 +11294,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11306,8 +11306,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11318,8 +11318,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11330,8 +11330,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11342,8 +11342,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11354,8 +11354,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11366,8 +11366,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11378,8 +11378,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11390,8 +11390,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11402,8 +11402,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11414,8 +11414,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11426,8 +11426,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11438,8 +11438,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11450,8 +11450,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11462,8 +11462,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11474,8 +11474,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11486,8 +11486,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11498,8 +11498,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11510,8 +11510,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11522,8 +11522,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11534,8 +11534,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11546,8 +11546,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11558,8 +11558,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11570,8 +11570,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11582,8 +11582,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11594,8 +11594,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11606,8 +11606,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11618,8 +11618,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11630,8 +11630,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11642,8 +11642,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11654,8 +11654,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11666,8 +11666,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11678,8 +11678,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11690,8 +11690,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11702,8 +11702,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11714,8 +11714,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11726,8 +11726,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11738,8 +11738,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11750,8 +11750,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11762,8 +11762,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11774,8 +11774,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11786,8 +11786,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11798,8 +11798,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11810,8 +11810,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11822,8 +11822,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11834,8 +11834,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11846,8 +11846,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11858,8 +11858,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11870,8 +11870,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11882,8 +11882,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11894,8 +11894,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11906,8 +11906,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11918,8 +11918,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11930,8 +11930,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11942,8 +11942,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11954,8 +11954,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11966,8 +11966,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11978,8 +11978,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -11990,8 +11990,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12002,8 +12002,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12014,8 +12014,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12026,8 +12026,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12038,8 +12038,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12050,8 +12050,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12062,8 +12062,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12074,8 +12074,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12086,8 +12086,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12098,8 +12098,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12110,8 +12110,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12122,8 +12122,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12134,8 +12134,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12146,8 +12146,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12158,8 +12158,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12170,8 +12170,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12182,8 +12182,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12194,8 +12194,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12206,8 +12206,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12218,8 +12218,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12230,8 +12230,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12242,8 +12242,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12254,8 +12254,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12266,8 +12266,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12278,8 +12278,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12290,8 +12290,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12302,8 +12302,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12314,8 +12314,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12326,8 +12326,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12338,8 +12338,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12350,8 +12350,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12362,8 +12362,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12374,8 +12374,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12386,8 +12386,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12398,8 +12398,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12410,8 +12410,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12422,8 +12422,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12434,8 +12434,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12446,8 +12446,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12458,8 +12458,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12470,8 +12470,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12482,8 +12482,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12494,8 +12494,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12506,8 +12506,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12518,8 +12518,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12530,8 +12530,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12542,8 +12542,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12554,8 +12554,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12566,8 +12566,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12578,8 +12578,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12590,8 +12590,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12602,8 +12602,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12614,8 +12614,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12626,8 +12626,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12638,8 +12638,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12650,8 +12650,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12662,8 +12662,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12674,8 +12674,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12686,8 +12686,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12698,8 +12698,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12710,8 +12710,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12722,8 +12722,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12734,8 +12734,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12746,8 +12746,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12758,8 +12758,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12770,8 +12770,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12782,8 +12782,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12794,8 +12794,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12806,8 +12806,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12818,8 +12818,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12830,8 +12830,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12842,8 +12842,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12854,8 +12854,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12866,8 +12866,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12878,8 +12878,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12890,8 +12890,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12902,8 +12902,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12914,8 +12914,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12926,8 +12926,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12938,8 +12938,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12950,8 +12950,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12962,8 +12962,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12974,8 +12974,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12986,8 +12986,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -12998,8 +12998,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13010,8 +13010,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13022,8 +13022,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13034,8 +13034,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13046,8 +13046,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13058,8 +13058,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13070,8 +13070,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13082,8 +13082,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13094,8 +13094,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13106,8 +13106,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13118,8 +13118,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13130,8 +13130,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13142,8 +13142,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13154,8 +13154,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13166,8 +13166,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13178,8 +13178,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13190,8 +13190,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13202,8 +13202,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13214,8 +13214,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13226,8 +13226,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13238,8 +13238,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13250,8 +13250,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13262,8 +13262,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13274,8 +13274,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13286,8 +13286,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13298,8 +13298,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13310,8 +13310,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13322,8 +13322,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13334,8 +13334,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13346,8 +13346,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13358,8 +13358,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13370,8 +13370,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13382,8 +13382,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13394,8 +13394,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13406,8 +13406,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13418,8 +13418,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13430,8 +13430,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13442,8 +13442,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13454,8 +13454,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13466,8 +13466,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13478,8 +13478,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13490,8 +13490,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13502,8 +13502,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13514,8 +13514,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13526,8 +13526,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13538,8 +13538,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13550,8 +13550,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13562,8 +13562,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13574,8 +13574,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13586,8 +13586,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13598,8 +13598,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13610,8 +13610,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13622,8 +13622,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13634,8 +13634,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13646,8 +13646,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13658,8 +13658,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13670,8 +13670,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13682,8 +13682,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13694,8 +13694,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13706,8 +13706,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13718,8 +13718,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13730,8 +13730,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13742,8 +13742,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13754,8 +13754,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13766,8 +13766,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13778,8 +13778,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13790,8 +13790,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13802,8 +13802,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13814,8 +13814,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13826,8 +13826,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13838,8 +13838,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13850,8 +13850,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13862,8 +13862,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13874,8 +13874,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13886,8 +13886,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13898,8 +13898,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13910,8 +13910,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13922,8 +13922,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13934,8 +13934,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13946,8 +13946,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13958,8 +13958,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13970,8 +13970,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13982,8 +13982,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -13994,8 +13994,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14006,8 +14006,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14018,8 +14018,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14030,8 +14030,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14042,8 +14042,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14054,8 +14054,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14066,8 +14066,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14078,8 +14078,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14090,8 +14090,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14102,8 +14102,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14114,8 +14114,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14126,8 +14126,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14138,8 +14138,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14150,8 +14150,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14162,8 +14162,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14174,8 +14174,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14186,8 +14186,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14198,8 +14198,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14210,8 +14210,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14222,8 +14222,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14234,8 +14234,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14246,8 +14246,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14258,8 +14258,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14270,8 +14270,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14282,8 +14282,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14294,8 +14294,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14306,8 +14306,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14318,8 +14318,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14330,8 +14330,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14342,8 +14342,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14354,8 +14354,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14366,8 +14366,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14378,8 +14378,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14390,8 +14390,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14402,8 +14402,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14414,8 +14414,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14426,8 +14426,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14438,8 +14438,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14450,8 +14450,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14462,8 +14462,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14474,8 +14474,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14486,8 +14486,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14498,8 +14498,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14510,8 +14510,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14522,8 +14522,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14534,8 +14534,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14546,8 +14546,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14558,8 +14558,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14570,8 +14570,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14582,8 +14582,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14594,8 +14594,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14606,8 +14606,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14618,8 +14618,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14630,8 +14630,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14642,8 +14642,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14654,8 +14654,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14666,8 +14666,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14678,8 +14678,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14690,8 +14690,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14702,8 +14702,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14714,8 +14714,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14726,8 +14726,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14738,8 +14738,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14750,8 +14750,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14762,8 +14762,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14774,8 +14774,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14786,8 +14786,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14798,8 +14798,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14810,8 +14810,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14822,8 +14822,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14834,8 +14834,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14846,8 +14846,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14858,8 +14858,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14870,8 +14870,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14882,8 +14882,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14894,8 +14894,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14906,8 +14906,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14918,8 +14918,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14930,8 +14930,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14942,8 +14942,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14954,8 +14954,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14966,8 +14966,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14978,8 +14978,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -14990,8 +14990,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15002,8 +15002,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15014,8 +15014,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15026,8 +15026,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15038,8 +15038,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15050,8 +15050,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15062,8 +15062,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15074,8 +15074,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15086,8 +15086,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15098,8 +15098,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15110,8 +15110,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15122,8 +15122,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15134,8 +15134,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15146,8 +15146,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15158,8 +15158,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15170,8 +15170,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15182,8 +15182,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15194,8 +15194,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15206,8 +15206,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15218,8 +15218,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15230,8 +15230,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15242,8 +15242,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15254,8 +15254,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15266,8 +15266,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15278,8 +15278,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15290,8 +15290,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15302,8 +15302,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15314,8 +15314,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15326,8 +15326,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15338,8 +15338,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15350,8 +15350,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15362,8 +15362,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15374,8 +15374,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15386,8 +15386,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15398,8 +15398,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15410,8 +15410,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15422,8 +15422,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15434,8 +15434,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15446,8 +15446,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15458,8 +15458,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15470,8 +15470,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15482,8 +15482,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15494,8 +15494,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15506,8 +15506,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15518,8 +15518,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15530,8 +15530,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15542,8 +15542,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15554,8 +15554,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15566,8 +15566,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15578,8 +15578,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15590,8 +15590,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15602,8 +15602,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15614,8 +15614,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15626,8 +15626,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15638,8 +15638,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15650,8 +15650,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15662,8 +15662,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15674,8 +15674,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15686,8 +15686,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15698,8 +15698,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15710,8 +15710,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15722,8 +15722,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15734,8 +15734,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15746,8 +15746,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15758,8 +15758,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15770,8 +15770,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15782,8 +15782,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15794,8 +15794,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15806,8 +15806,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15818,8 +15818,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15830,8 +15830,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15842,8 +15842,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15854,8 +15854,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15866,8 +15866,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15878,8 +15878,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15890,8 +15890,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15902,8 +15902,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15914,8 +15914,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15926,8 +15926,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15938,8 +15938,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15950,8 +15950,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15962,8 +15962,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15974,8 +15974,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15986,8 +15986,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -15998,8 +15998,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16010,8 +16010,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16022,8 +16022,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16034,8 +16034,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16046,8 +16046,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16058,8 +16058,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16070,8 +16070,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16082,8 +16082,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16094,8 +16094,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16106,8 +16106,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16118,8 +16118,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16130,8 +16130,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16142,8 +16142,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16154,8 +16154,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16166,8 +16166,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16178,8 +16178,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16190,8 +16190,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16202,8 +16202,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16214,8 +16214,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16226,8 +16226,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16238,8 +16238,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16250,8 +16250,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16262,8 +16262,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16274,8 +16274,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16286,8 +16286,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16298,8 +16298,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16310,8 +16310,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16322,8 +16322,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16334,8 +16334,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16346,8 +16346,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16358,8 +16358,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16370,8 +16370,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16382,8 +16382,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16394,8 +16394,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16406,8 +16406,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16418,8 +16418,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16430,8 +16430,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16442,8 +16442,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16454,8 +16454,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16466,8 +16466,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16478,8 +16478,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16490,8 +16490,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16502,8 +16502,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16514,8 +16514,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16526,8 +16526,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16538,8 +16538,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16550,8 +16550,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16562,8 +16562,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16574,8 +16574,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16586,8 +16586,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16598,8 +16598,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16610,8 +16610,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16622,8 +16622,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16634,8 +16634,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16646,8 +16646,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16658,8 +16658,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16670,8 +16670,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16682,8 +16682,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16694,8 +16694,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16706,8 +16706,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16718,8 +16718,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16730,8 +16730,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16742,8 +16742,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16754,8 +16754,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16766,8 +16766,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16778,8 +16778,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16790,8 +16790,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16802,8 +16802,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16814,8 +16814,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16826,8 +16826,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16838,8 +16838,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16850,8 +16850,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16862,8 +16862,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16874,8 +16874,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16886,8 +16886,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16898,8 +16898,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16910,8 +16910,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16922,8 +16922,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16934,8 +16934,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16946,8 +16946,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16958,8 +16958,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16970,8 +16970,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16982,8 +16982,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -16994,8 +16994,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17006,8 +17006,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17018,8 +17018,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17030,8 +17030,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17042,8 +17042,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17054,8 +17054,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17066,8 +17066,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17078,8 +17078,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17090,8 +17090,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17102,8 +17102,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17114,8 +17114,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17126,8 +17126,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17138,8 +17138,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17150,8 +17150,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17162,8 +17162,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17174,8 +17174,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17186,8 +17186,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17198,8 +17198,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17210,8 +17210,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17222,8 +17222,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17234,8 +17234,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17246,8 +17246,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17258,8 +17258,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17270,8 +17270,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17282,8 +17282,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17294,8 +17294,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17306,8 +17306,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17318,8 +17318,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17330,8 +17330,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17342,8 +17342,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17354,8 +17354,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17366,8 +17366,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17378,8 +17378,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17390,8 +17390,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17402,8 +17402,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17414,8 +17414,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17426,8 +17426,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17438,8 +17438,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17450,8 +17450,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17462,8 +17462,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17474,8 +17474,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17486,8 +17486,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17498,8 +17498,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17510,8 +17510,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17522,8 +17522,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17534,8 +17534,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17546,8 +17546,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17558,8 +17558,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17570,8 +17570,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17582,8 +17582,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17594,8 +17594,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17606,8 +17606,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17618,8 +17618,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17630,8 +17630,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17642,8 +17642,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17654,8 +17654,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17666,8 +17666,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17678,8 +17678,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17690,8 +17690,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17702,8 +17702,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17714,8 +17714,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17726,8 +17726,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17738,8 +17738,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17750,8 +17750,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17762,8 +17762,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17774,8 +17774,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17786,8 +17786,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17798,8 +17798,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17810,8 +17810,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17822,8 +17822,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17834,8 +17834,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17846,8 +17846,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17858,8 +17858,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17870,8 +17870,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17882,8 +17882,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17894,8 +17894,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17906,8 +17906,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17918,8 +17918,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17930,8 +17930,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17942,8 +17942,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17954,8 +17954,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17966,8 +17966,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17978,8 +17978,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -17990,8 +17990,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18002,8 +18002,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18014,8 +18014,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18026,8 +18026,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18038,8 +18038,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18050,8 +18050,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18062,8 +18062,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18074,8 +18074,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18086,8 +18086,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18098,8 +18098,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18110,8 +18110,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18122,8 +18122,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18134,8 +18134,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18146,8 +18146,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18158,8 +18158,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18170,8 +18170,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18182,8 +18182,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18194,8 +18194,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18206,8 +18206,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18218,8 +18218,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18230,8 +18230,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18242,8 +18242,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18254,8 +18254,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18266,8 +18266,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18278,8 +18278,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18290,8 +18290,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18302,8 +18302,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18314,8 +18314,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18326,8 +18326,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18338,8 +18338,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18350,8 +18350,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18362,8 +18362,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18374,8 +18374,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18386,8 +18386,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18398,8 +18398,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18410,8 +18410,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18422,8 +18422,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18434,8 +18434,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18446,8 +18446,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18458,8 +18458,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18470,8 +18470,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18482,8 +18482,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18494,8 +18494,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18506,8 +18506,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18518,8 +18518,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18530,8 +18530,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18542,8 +18542,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18554,8 +18554,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18566,8 +18566,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18578,8 +18578,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18590,8 +18590,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18602,8 +18602,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18614,8 +18614,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18626,8 +18626,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18638,8 +18638,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18650,8 +18650,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18662,8 +18662,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18674,8 +18674,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18686,8 +18686,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18698,8 +18698,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18710,8 +18710,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18722,8 +18722,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18734,8 +18734,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18746,8 +18746,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18758,8 +18758,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18770,8 +18770,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18782,8 +18782,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18794,8 +18794,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18806,8 +18806,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18818,8 +18818,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18830,8 +18830,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18842,8 +18842,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18854,8 +18854,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18866,8 +18866,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18878,8 +18878,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18890,8 +18890,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18902,8 +18902,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18914,8 +18914,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18926,8 +18926,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18938,8 +18938,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18950,8 +18950,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18962,8 +18962,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18974,8 +18974,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18986,8 +18986,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -18998,8 +18998,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19010,8 +19010,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19022,8 +19022,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19034,8 +19034,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19046,8 +19046,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19058,8 +19058,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19070,8 +19070,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19082,8 +19082,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19094,8 +19094,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19106,8 +19106,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19118,8 +19118,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19130,8 +19130,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19142,8 +19142,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19154,8 +19154,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19166,8 +19166,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19178,8 +19178,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19190,8 +19190,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19202,8 +19202,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19214,8 +19214,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19226,8 +19226,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19238,8 +19238,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19250,8 +19250,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19262,8 +19262,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19274,8 +19274,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19286,8 +19286,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19298,8 +19298,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19310,8 +19310,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19322,8 +19322,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19334,8 +19334,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19346,8 +19346,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19358,8 +19358,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19370,8 +19370,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19382,8 +19382,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19394,8 +19394,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19406,8 +19406,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19418,8 +19418,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19430,8 +19430,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19442,8 +19442,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19454,8 +19454,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19466,8 +19466,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19478,8 +19478,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19490,8 +19490,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19502,8 +19502,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19514,8 +19514,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19526,8 +19526,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19538,8 +19538,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19550,8 +19550,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19562,8 +19562,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19574,8 +19574,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19586,8 +19586,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19598,8 +19598,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19610,8 +19610,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19622,8 +19622,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19634,8 +19634,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19646,8 +19646,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19658,8 +19658,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19670,8 +19670,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19682,8 +19682,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19694,8 +19694,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19706,8 +19706,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19718,8 +19718,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19730,8 +19730,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19742,8 +19742,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19754,8 +19754,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19766,8 +19766,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19778,8 +19778,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19790,8 +19790,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19802,8 +19802,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19814,8 +19814,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19826,8 +19826,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19838,8 +19838,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19850,8 +19850,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19862,8 +19862,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19874,8 +19874,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19886,8 +19886,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19898,8 +19898,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19910,8 +19910,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19922,8 +19922,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19934,8 +19934,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19946,8 +19946,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19958,8 +19958,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19970,8 +19970,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19982,8 +19982,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -19994,8 +19994,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20006,8 +20006,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20018,8 +20018,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20030,8 +20030,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20042,8 +20042,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20054,8 +20054,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20066,8 +20066,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20078,8 +20078,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20090,8 +20090,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20102,8 +20102,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20114,8 +20114,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20126,8 +20126,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20138,8 +20138,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20150,8 +20150,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20162,8 +20162,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20174,8 +20174,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20186,8 +20186,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20198,8 +20198,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20210,8 +20210,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20222,8 +20222,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20234,8 +20234,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20246,8 +20246,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20258,8 +20258,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20270,8 +20270,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20282,8 +20282,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20294,8 +20294,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20306,8 +20306,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20318,8 +20318,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20330,8 +20330,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20342,8 +20342,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20354,8 +20354,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20366,8 +20366,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20378,8 +20378,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20390,8 +20390,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20402,8 +20402,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20414,8 +20414,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20426,8 +20426,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20438,8 +20438,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20450,8 +20450,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20462,8 +20462,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20474,8 +20474,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20486,8 +20486,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20498,8 +20498,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20510,8 +20510,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20522,8 +20522,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20534,8 +20534,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20546,8 +20546,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20558,8 +20558,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20570,8 +20570,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20582,8 +20582,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20594,8 +20594,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20606,8 +20606,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20618,8 +20618,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20630,8 +20630,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20642,8 +20642,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20654,8 +20654,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20666,8 +20666,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20678,8 +20678,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20690,8 +20690,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20702,8 +20702,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20714,8 +20714,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20726,8 +20726,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20738,8 +20738,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20750,8 +20750,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20762,8 +20762,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20774,8 +20774,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20786,8 +20786,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20798,8 +20798,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20810,8 +20810,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20822,8 +20822,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20834,8 +20834,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20846,8 +20846,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20858,8 +20858,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20870,8 +20870,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20882,8 +20882,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20894,8 +20894,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20906,8 +20906,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20918,8 +20918,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20930,8 +20930,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20942,8 +20942,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20954,8 +20954,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20966,8 +20966,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20978,8 +20978,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -20990,8 +20990,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21002,8 +21002,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21014,8 +21014,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21026,8 +21026,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21038,8 +21038,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21050,8 +21050,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21062,8 +21062,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21074,8 +21074,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21086,8 +21086,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21098,8 +21098,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21110,8 +21110,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21122,8 +21122,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21134,8 +21134,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21146,8 +21146,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21158,8 +21158,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21170,8 +21170,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21182,8 +21182,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21194,8 +21194,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21206,8 +21206,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21218,8 +21218,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21230,8 +21230,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21242,8 +21242,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21254,8 +21254,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21266,8 +21266,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21278,8 +21278,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21290,8 +21290,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21302,8 +21302,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21314,8 +21314,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21326,8 +21326,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21338,8 +21338,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21350,8 +21350,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21362,8 +21362,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21374,8 +21374,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21386,8 +21386,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21398,8 +21398,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21410,8 +21410,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21422,8 +21422,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21434,8 +21434,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21446,8 +21446,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21458,8 +21458,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21470,8 +21470,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21482,8 +21482,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21494,8 +21494,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21506,8 +21506,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21518,8 +21518,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21530,8 +21530,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21542,8 +21542,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21554,8 +21554,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21566,8 +21566,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21578,8 +21578,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21590,8 +21590,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21602,8 +21602,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21614,8 +21614,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21626,8 +21626,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21638,8 +21638,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21650,8 +21650,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21662,8 +21662,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21674,8 +21674,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21686,8 +21686,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21698,8 +21698,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21710,8 +21710,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21722,8 +21722,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21734,8 +21734,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21746,8 +21746,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21758,8 +21758,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21770,8 +21770,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21782,8 +21782,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21794,8 +21794,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21806,8 +21806,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21818,8 +21818,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21830,8 +21830,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21842,8 +21842,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21854,8 +21854,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21866,8 +21866,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21878,8 +21878,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21890,8 +21890,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21902,8 +21902,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21914,8 +21914,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21926,8 +21926,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21938,8 +21938,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21950,8 +21950,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21962,8 +21962,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21974,8 +21974,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21986,8 +21986,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -21998,8 +21998,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22010,8 +22010,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22022,8 +22022,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22034,8 +22034,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22046,8 +22046,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22058,8 +22058,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22070,8 +22070,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22082,8 +22082,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22094,8 +22094,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22106,8 +22106,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22118,8 +22118,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22130,8 +22130,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22142,8 +22142,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22154,8 +22154,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22166,8 +22166,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22178,8 +22178,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22190,8 +22190,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22202,8 +22202,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22214,8 +22214,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22226,8 +22226,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22238,8 +22238,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22250,8 +22250,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22262,8 +22262,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22274,8 +22274,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22286,8 +22286,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22298,8 +22298,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22310,8 +22310,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22322,8 +22322,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22334,8 +22334,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22346,8 +22346,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22358,8 +22358,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22370,8 +22370,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22382,8 +22382,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22394,8 +22394,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22406,8 +22406,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22418,8 +22418,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22430,8 +22430,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22442,8 +22442,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22454,8 +22454,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22466,8 +22466,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22478,8 +22478,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22490,8 +22490,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22502,8 +22502,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22514,8 +22514,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22526,8 +22526,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22538,8 +22538,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22550,8 +22550,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22562,8 +22562,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22574,8 +22574,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22586,8 +22586,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22598,8 +22598,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22610,8 +22610,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22622,8 +22622,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22634,8 +22634,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22646,8 +22646,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22658,8 +22658,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22670,8 +22670,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22682,8 +22682,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22694,8 +22694,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22706,8 +22706,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22718,8 +22718,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22730,8 +22730,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22742,8 +22742,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22754,8 +22754,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22766,8 +22766,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22778,8 +22778,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22790,8 +22790,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22802,8 +22802,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22814,8 +22814,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22826,8 +22826,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22838,8 +22838,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22850,8 +22850,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22862,8 +22862,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22874,8 +22874,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22886,8 +22886,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22898,8 +22898,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22910,8 +22910,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22922,8 +22922,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22934,8 +22934,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22946,8 +22946,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22958,8 +22958,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22970,8 +22970,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22982,8 +22982,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -22994,8 +22994,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23006,8 +23006,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23018,8 +23018,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23030,8 +23030,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23042,8 +23042,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23054,8 +23054,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23066,8 +23066,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23078,8 +23078,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23090,8 +23090,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23102,8 +23102,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23114,8 +23114,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23126,8 +23126,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23138,8 +23138,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23150,8 +23150,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23162,8 +23162,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23174,8 +23174,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23186,8 +23186,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23198,8 +23198,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23210,8 +23210,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23222,8 +23222,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23234,8 +23234,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23246,8 +23246,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23258,8 +23258,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23270,8 +23270,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23282,8 +23282,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23294,8 +23294,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23306,8 +23306,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23318,8 +23318,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23330,8 +23330,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23342,8 +23342,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23354,8 +23354,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23366,8 +23366,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23378,8 +23378,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23390,8 +23390,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23402,8 +23402,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23414,8 +23414,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23426,8 +23426,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23438,8 +23438,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23450,8 +23450,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23462,8 +23462,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23474,8 +23474,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23486,8 +23486,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23498,8 +23498,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23510,8 +23510,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23522,8 +23522,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23534,8 +23534,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23546,8 +23546,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23558,8 +23558,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23570,8 +23570,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23582,8 +23582,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23594,8 +23594,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23606,8 +23606,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23618,8 +23618,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23630,8 +23630,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23642,8 +23642,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23654,8 +23654,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23666,8 +23666,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23678,8 +23678,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23690,8 +23690,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23702,8 +23702,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23714,8 +23714,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23726,8 +23726,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23738,8 +23738,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23750,8 +23750,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23762,8 +23762,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23774,8 +23774,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23786,8 +23786,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23798,8 +23798,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23810,8 +23810,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23822,8 +23822,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23834,8 +23834,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23846,8 +23846,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23858,8 +23858,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23870,8 +23870,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23882,8 +23882,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23894,8 +23894,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23906,8 +23906,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23918,8 +23918,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23930,8 +23930,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23942,8 +23942,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23954,8 +23954,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23966,8 +23966,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23978,8 +23978,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -23990,8 +23990,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 @@ -24002,8 +24002,8 @@ data[0] = 0; > : ^ >data[0] : any > : ^^^ ->data : any[] -> : ^^^^^ +>data : any +> : ^^^ >0 : 0 > : ^ >0 : 0 diff --git a/tests/baselines/reference/mappedTypeRelationships.errors.txt b/tests/baselines/reference/mappedTypeRelationships.errors.txt index 1918a9532f32d..6f5f99ac11886 100644 --- a/tests/baselines/reference/mappedTypeRelationships.errors.txt +++ b/tests/baselines/reference/mappedTypeRelationships.errors.txt @@ -4,9 +4,15 @@ mappedTypeRelationships.ts(11,5): error TS2322: Type 'T[keyof T]' is not assigna mappedTypeRelationships.ts(16,5): error TS2322: Type 'T[K]' is not assignable to type 'U[K]'. Type 'T' is not assignable to type 'U'. 'U' could be instantiated with an arbitrary type which could be unrelated to 'T'. -mappedTypeRelationships.ts(20,5): error TS2536: Type 'keyof U' cannot be used to index type 'T'. -mappedTypeRelationships.ts(21,12): error TS2536: Type 'keyof U' cannot be used to index type 'T'. +mappedTypeRelationships.ts(20,5): error TS18049: 'x' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(20,5): error TS2536: Type 'keyof U' cannot be used to index type 'NonNullable'. +mappedTypeRelationships.ts(20,12): error TS18049: 'y' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(21,5): error TS18049: 'y' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(21,12): error TS18049: 'x' is possibly 'null' or 'undefined'. +mappedTypeRelationships.ts(21,12): error TS2536: Type 'keyof U' cannot be used to index type 'NonNullable'. +mappedTypeRelationships.ts(25,5): error TS18049: 'x' is possibly 'null' or 'undefined'. mappedTypeRelationships.ts(25,5): error TS2536: Type 'K' cannot be used to index type 'T'. +mappedTypeRelationships.ts(26,12): error TS18049: 'x' is possibly 'null' or 'undefined'. mappedTypeRelationships.ts(26,12): error TS2536: Type 'K' cannot be used to index type 'T'. mappedTypeRelationships.ts(30,5): error TS2322: Type 'T[keyof T] | undefined' is not assignable to type 'T[keyof T]'. 'T[keyof T]' could be instantiated with an arbitrary type which could be unrelated to 'T[keyof T] | undefined'. @@ -73,7 +79,7 @@ mappedTypeRelationships.ts(168,5): error TS2322: Type '{ [P in K]: T[P]; }' is n 'U' could be instantiated with an arbitrary type which could be unrelated to 'T'. -==== mappedTypeRelationships.ts (28 errors) ==== +==== mappedTypeRelationships.ts (34 errors) ==== function f1(x: T, k: keyof T) { return x[k]; } @@ -104,18 +110,30 @@ mappedTypeRelationships.ts(168,5): error TS2322: Type '{ [P in K]: T[P]; }' is n function f5(x: T, y: U, k: keyof U) { x[k] = y[k]; // Error + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. ~~~~ -!!! error TS2536: Type 'keyof U' cannot be used to index type 'T'. +!!! error TS2536: Type 'keyof U' cannot be used to index type 'NonNullable'. + ~ +!!! error TS18049: 'y' is possibly 'null' or 'undefined'. y[k] = x[k]; // Error + ~ +!!! error TS18049: 'y' is possibly 'null' or 'undefined'. + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. ~~~~ -!!! error TS2536: Type 'keyof U' cannot be used to index type 'T'. +!!! error TS2536: Type 'keyof U' cannot be used to index type 'NonNullable'. } function f6(x: T, y: U, k: K) { x[k] = y[k]; // Error + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. ~~~~ !!! error TS2536: Type 'K' cannot be used to index type 'T'. y[k] = x[k]; // Error + ~ +!!! error TS18049: 'x' is possibly 'null' or 'undefined'. ~~~~ !!! error TS2536: Type 'K' cannot be used to index type 'T'. } diff --git a/tests/baselines/reference/mappedTypeRelationships.types b/tests/baselines/reference/mappedTypeRelationships.types index ea45a0eb3041c..aa479b92808a5 100644 --- a/tests/baselines/reference/mappedTypeRelationships.types +++ b/tests/baselines/reference/mappedTypeRelationships.types @@ -132,16 +132,16 @@ function f5(x: T, y: U, k: keyof U) { > : ^^^^^^^ x[k] = y[k]; // Error ->x[k] = y[k] : U[keyof U] -> : ^^^^^^^^^^ +>x[k] = y[k] : NonNullable[keyof U] +> : ^^^^^^^^^^^^^^^^^^^^^^^ >x[k] : any > : ^^^ >x : T > : ^ >k : keyof U > : ^^^^^^^ ->y[k] : U[keyof U] -> : ^^^^^^^^^^ +>y[k] : NonNullable[keyof U] +> : ^^^^^^^^^^^^^^^^^^^^^^^ >y : U > : ^ >k : keyof U @@ -150,8 +150,8 @@ function f5(x: T, y: U, k: keyof U) { y[k] = x[k]; // Error >y[k] = x[k] : any > : ^^^ ->y[k] : U[keyof U] -> : ^^^^^^^^^^ +>y[k] : NonNullable[keyof U] +> : ^^^^^^^^^^^^^^^^^^^^^^^ >y : U > : ^ >k : keyof U diff --git a/tests/baselines/reference/testtestunconstrainedType.errors.txt b/tests/baselines/reference/testtestunconstrainedType.errors.txt new file mode 100644 index 0000000000000..5888678a07231 --- /dev/null +++ b/tests/baselines/reference/testtestunconstrainedType.errors.txt @@ -0,0 +1,13 @@ +testtestunconstrainedType.ts(6,5): error TS18049: 't' is possibly 'null' or 'undefined'. + + +==== testtestunconstrainedType.ts (1 errors) ==== + function f(obj: T, key: keyof T) { + return obj[key]; + } + + function ff3(t: T, k: keyof (T & {})) { + t[k]; + ~ +!!! error TS18049: 't' is possibly 'null' or 'undefined'. + } \ No newline at end of file diff --git a/tests/baselines/reference/testtestunconstrainedType.symbols b/tests/baselines/reference/testtestunconstrainedType.symbols new file mode 100644 index 0000000000000..894bdbccb8130 --- /dev/null +++ b/tests/baselines/reference/testtestunconstrainedType.symbols @@ -0,0 +1,28 @@ +//// [tests/cases/compiler/testtestunconstrainedType.ts] //// + +=== testtestunconstrainedType.ts === +function f(obj: T, key: keyof T) { +>f : Symbol(f, Decl(testtestunconstrainedType.ts, 0, 0)) +>T : Symbol(T, Decl(testtestunconstrainedType.ts, 0, 11)) +>obj : Symbol(obj, Decl(testtestunconstrainedType.ts, 0, 14)) +>T : Symbol(T, Decl(testtestunconstrainedType.ts, 0, 11)) +>key : Symbol(key, Decl(testtestunconstrainedType.ts, 0, 21)) +>T : Symbol(T, Decl(testtestunconstrainedType.ts, 0, 11)) + + return obj[key]; +>obj : Symbol(obj, Decl(testtestunconstrainedType.ts, 0, 14)) +>key : Symbol(key, Decl(testtestunconstrainedType.ts, 0, 21)) +} + +function ff3(t: T, k: keyof (T & {})) { +>ff3 : Symbol(ff3, Decl(testtestunconstrainedType.ts, 2, 1)) +>T : Symbol(T, Decl(testtestunconstrainedType.ts, 4, 13)) +>t : Symbol(t, Decl(testtestunconstrainedType.ts, 4, 16)) +>T : Symbol(T, Decl(testtestunconstrainedType.ts, 4, 13)) +>k : Symbol(k, Decl(testtestunconstrainedType.ts, 4, 21)) +>T : Symbol(T, Decl(testtestunconstrainedType.ts, 4, 13)) + + t[k]; +>t : Symbol(t, Decl(testtestunconstrainedType.ts, 4, 16)) +>k : Symbol(k, Decl(testtestunconstrainedType.ts, 4, 21)) +} diff --git a/tests/baselines/reference/testtestunconstrainedType.types b/tests/baselines/reference/testtestunconstrainedType.types new file mode 100644 index 0000000000000..1018f933b5dcd --- /dev/null +++ b/tests/baselines/reference/testtestunconstrainedType.types @@ -0,0 +1,36 @@ +//// [tests/cases/compiler/testtestunconstrainedType.ts] //// + +=== testtestunconstrainedType.ts === +function f(obj: T, key: keyof T) { +>f : (obj: T, key: keyof T) => T[keyof T] +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +>obj : T +> : ^ +>key : keyof T +> : ^^^^^^^ + + return obj[key]; +>obj[key] : T[keyof T] +> : ^^^^^^^^^^ +>obj : T +> : ^ +>key : keyof T +> : ^^^^^^^ +} + +function ff3(t: T, k: keyof (T & {})) { +>ff3 : (t: T, k: keyof (T & {})) => void +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>t : T +> : ^ +>k : keyof (T & {}) +> : ^^^^^^^^^^^^^^ + + t[k]; +>t[k] : NonNullable[keyof (T & {})] +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>t : T +> : ^ +>k : keyof (T & {}) +> : ^^^^^^^^^^^^^^ +} diff --git a/tests/baselines/reference/unconstrainedTypeComparisons.errors.txt b/tests/baselines/reference/unconstrainedTypeComparisons.errors.txt index d5b6ac0afcb69..6f7646b9978fd 100644 --- a/tests/baselines/reference/unconstrainedTypeComparisons.errors.txt +++ b/tests/baselines/reference/unconstrainedTypeComparisons.errors.txt @@ -2,12 +2,14 @@ unconstrainedTypeComparisons.ts(2,10): error TS18049: 'a' is possibly 'null' or unconstrainedTypeComparisons.ts(2,14): error TS18049: 'b' is possibly 'null' or 'undefined'. unconstrainedTypeComparisons.ts(6,10): error TS18049: 'a' is possibly 'null' or 'undefined'. unconstrainedTypeComparisons.ts(6,14): error TS18049: 'b' is possibly 'null' or 'undefined'. -unconstrainedTypeComparisons.ts(14,10): error TS18047: 'a' is possibly 'null'. -unconstrainedTypeComparisons.ts(14,14): error TS18049: 'b' is possibly 'null' or 'undefined'. +unconstrainedTypeComparisons.ts(10,10): error TS18049: 'a' is possibly 'null' or 'undefined'. +unconstrainedTypeComparisons.ts(10,14): error TS18049: 'b' is possibly 'null' or 'undefined'. +unconstrainedTypeComparisons.ts(18,10): error TS18047: 'a' is possibly 'null'. +unconstrainedTypeComparisons.ts(18,14): error TS18049: 'b' is possibly 'null' or 'undefined'. -==== unconstrainedTypeComparisons.ts (6 errors) ==== - export function f(a: T, b: T): boolean { +==== unconstrainedTypeComparisons.ts (8 errors) ==== + function f(a: T, b: T): boolean { return a > b; ~ !!! error TS18049: 'a' is possibly 'null' or 'undefined'. @@ -15,7 +17,7 @@ unconstrainedTypeComparisons.ts(14,14): error TS18049: 'b' is possibly 'null' or !!! error TS18049: 'b' is possibly 'null' or 'undefined'. } - export function g(a: T, b: T): boolean { + function g(a: T, b: T): boolean { return a > b; ~ !!! error TS18049: 'a' is possibly 'null' or 'undefined'. @@ -23,7 +25,15 @@ unconstrainedTypeComparisons.ts(14,14): error TS18049: 'b' is possibly 'null' or !!! error TS18049: 'b' is possibly 'null' or 'undefined'. } - function h(a: T, b: T): boolean { + function h(a: T, b: T): boolean { + return a > b; + ~ +!!! error TS18049: 'a' is possibly 'null' or 'undefined'. + ~ +!!! error TS18049: 'b' is possibly 'null' or 'undefined'. + } + + function i(a: T, b: T): boolean { if (a === undefined) { return true; } diff --git a/tests/baselines/reference/unconstrainedTypeComparisons.js b/tests/baselines/reference/unconstrainedTypeComparisons.js deleted file mode 100644 index 8267164675518..0000000000000 --- a/tests/baselines/reference/unconstrainedTypeComparisons.js +++ /dev/null @@ -1,32 +0,0 @@ -//// [tests/cases/compiler/unconstrainedTypeComparisons.ts] //// - -//// [unconstrainedTypeComparisons.ts] -export function f(a: T, b: T): boolean { - return a > b; -} - -export function g(a: T, b: T): boolean { - return a > b; -} - -function h(a: T, b: T): boolean { - if (a === undefined) { - return true; - } - - return a > b; -} - -//// [unconstrainedTypeComparisons.js] -export function f(a, b) { - return a > b; -} -export function g(a, b) { - return a > b; -} -function h(a, b) { - if (a === undefined) { - return true; - } - return a > b; -} diff --git a/tests/baselines/reference/unconstrainedTypeComparisons.symbols b/tests/baselines/reference/unconstrainedTypeComparisons.symbols index 17f173c6d7dc0..9cf094ffc65b7 100644 --- a/tests/baselines/reference/unconstrainedTypeComparisons.symbols +++ b/tests/baselines/reference/unconstrainedTypeComparisons.symbols @@ -1,48 +1,61 @@ //// [tests/cases/compiler/unconstrainedTypeComparisons.ts] //// === unconstrainedTypeComparisons.ts === -export function f(a: T, b: T): boolean { +function f(a: T, b: T): boolean { >f : Symbol(f, Decl(unconstrainedTypeComparisons.ts, 0, 0)) ->T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 0, 18)) ->a : Symbol(a, Decl(unconstrainedTypeComparisons.ts, 0, 51)) ->T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 0, 18)) ->b : Symbol(b, Decl(unconstrainedTypeComparisons.ts, 0, 56)) ->T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 0, 18)) +>T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 0, 11)) +>a : Symbol(a, Decl(unconstrainedTypeComparisons.ts, 0, 44)) +>T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 0, 11)) +>b : Symbol(b, Decl(unconstrainedTypeComparisons.ts, 0, 49)) +>T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 0, 11)) return a > b; ->a : Symbol(a, Decl(unconstrainedTypeComparisons.ts, 0, 51)) ->b : Symbol(b, Decl(unconstrainedTypeComparisons.ts, 0, 56)) +>a : Symbol(a, Decl(unconstrainedTypeComparisons.ts, 0, 44)) +>b : Symbol(b, Decl(unconstrainedTypeComparisons.ts, 0, 49)) } -export function g(a: T, b: T): boolean { +function g(a: T, b: T): boolean { >g : Symbol(g, Decl(unconstrainedTypeComparisons.ts, 2, 1)) ->T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 4, 18)) ->a : Symbol(a, Decl(unconstrainedTypeComparisons.ts, 4, 21)) ->T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 4, 18)) ->b : Symbol(b, Decl(unconstrainedTypeComparisons.ts, 4, 26)) ->T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 4, 18)) +>T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 4, 11)) +>a : Symbol(a, Decl(unconstrainedTypeComparisons.ts, 4, 14)) +>T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 4, 11)) +>b : Symbol(b, Decl(unconstrainedTypeComparisons.ts, 4, 19)) +>T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 4, 11)) return a > b; ->a : Symbol(a, Decl(unconstrainedTypeComparisons.ts, 4, 21)) ->b : Symbol(b, Decl(unconstrainedTypeComparisons.ts, 4, 26)) +>a : Symbol(a, Decl(unconstrainedTypeComparisons.ts, 4, 14)) +>b : Symbol(b, Decl(unconstrainedTypeComparisons.ts, 4, 19)) } -function h(a: T, b: T): boolean { +function h(a: T, b: T): boolean { >h : Symbol(h, Decl(unconstrainedTypeComparisons.ts, 6, 1)) >T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 8, 11)) ->a : Symbol(a, Decl(unconstrainedTypeComparisons.ts, 8, 14)) +>a : Symbol(a, Decl(unconstrainedTypeComparisons.ts, 8, 30)) >T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 8, 11)) ->b : Symbol(b, Decl(unconstrainedTypeComparisons.ts, 8, 19)) +>b : Symbol(b, Decl(unconstrainedTypeComparisons.ts, 8, 35)) >T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 8, 11)) + return a > b; +>a : Symbol(a, Decl(unconstrainedTypeComparisons.ts, 8, 30)) +>b : Symbol(b, Decl(unconstrainedTypeComparisons.ts, 8, 35)) +} + +function i(a: T, b: T): boolean { +>i : Symbol(i, Decl(unconstrainedTypeComparisons.ts, 10, 1)) +>T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 12, 11)) +>a : Symbol(a, Decl(unconstrainedTypeComparisons.ts, 12, 14)) +>T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 12, 11)) +>b : Symbol(b, Decl(unconstrainedTypeComparisons.ts, 12, 19)) +>T : Symbol(T, Decl(unconstrainedTypeComparisons.ts, 12, 11)) + if (a === undefined) { ->a : Symbol(a, Decl(unconstrainedTypeComparisons.ts, 8, 14)) +>a : Symbol(a, Decl(unconstrainedTypeComparisons.ts, 12, 14)) >undefined : Symbol(undefined) return true; } return a > b; ->a : Symbol(a, Decl(unconstrainedTypeComparisons.ts, 8, 14)) ->b : Symbol(b, Decl(unconstrainedTypeComparisons.ts, 8, 19)) +>a : Symbol(a, Decl(unconstrainedTypeComparisons.ts, 12, 14)) +>b : Symbol(b, Decl(unconstrainedTypeComparisons.ts, 12, 19)) } diff --git a/tests/baselines/reference/unconstrainedTypeComparisons.types b/tests/baselines/reference/unconstrainedTypeComparisons.types index c0770f0499b8f..c486c9bb293c4 100644 --- a/tests/baselines/reference/unconstrainedTypeComparisons.types +++ b/tests/baselines/reference/unconstrainedTypeComparisons.types @@ -1,7 +1,7 @@ //// [tests/cases/compiler/unconstrainedTypeComparisons.ts] //// === unconstrainedTypeComparisons.ts === -export function f(a: T, b: T): boolean { +function f(a: T, b: T): boolean { >f : (a: T, b: T) => boolean > : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : T @@ -18,7 +18,7 @@ export function f(a: T, b: T): boolean { > : ^ } -export function g(a: T, b: T): boolean { +function g(a: T, b: T): boolean { >g : (a: T, b: T) => boolean > : ^ ^^ ^^ ^^ ^^ ^^^^^ >a : T @@ -35,8 +35,25 @@ export function g(a: T, b: T): boolean { > : ^ } -function h(a: T, b: T): boolean { ->h : (a: T, b: T) => boolean +function h(a: T, b: T): boolean { +>h : (a: T, b: T) => boolean +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a : T +> : ^ +>b : T +> : ^ + + return a > b; +>a > b : boolean +> : ^^^^^^^ +>a : T +> : ^ +>b : T +> : ^ +} + +function i(a: T, b: T): boolean { +>i : (a: T, b: T) => boolean > : ^ ^^ ^^ ^^ ^^ ^^^^^ >a : T > : ^ diff --git a/tests/baselines/reference/unconstrainedTypeKeyofParam.errors.txt b/tests/baselines/reference/unconstrainedTypeKeyofParam.errors.txt new file mode 100644 index 0000000000000..4efa0f5f4912b --- /dev/null +++ b/tests/baselines/reference/unconstrainedTypeKeyofParam.errors.txt @@ -0,0 +1,195 @@ +unconstrainedTypeKeyofParam.ts(1,10): error TS2393: Duplicate function implementation. +unconstrainedTypeKeyofParam.ts(3,5): error TS2322: Type 'T[keyof T]' is not assignable to type 'U[keyof T]'. + Type 'T' is not assignable to type 'U'. + 'U' could be instantiated with an arbitrary type which could be unrelated to 'T'. +unconstrainedTypeKeyofParam.ts(14,10): error TS2393: Duplicate function implementation. +unconstrainedTypeKeyofParam.ts(36,12): error TS18049: 'obj' is possibly 'null' or 'undefined'. +unconstrainedTypeKeyofParam.ts(36,12): error TS2536: Type 'keyof T' cannot be used to index type '{}'. +unconstrainedTypeKeyofParam.ts(40,12): error TS18049: 'obj' is possibly 'null' or 'undefined'. +unconstrainedTypeKeyofParam.ts(44,12): error TS18049: 'obj' is possibly 'null' or 'undefined'. +unconstrainedTypeKeyofParam.ts(48,12): error TS18049: 'obj' is possibly 'null' or 'undefined'. +unconstrainedTypeKeyofParam.ts(48,12): error TS2536: Type 'keyof U' cannot be used to index type '{}'. +unconstrainedTypeKeyofParam.ts(52,12): error TS18049: 'obj' is possibly 'null' or 'undefined'. +unconstrainedTypeKeyofParam.ts(93,10): error TS2393: Duplicate function implementation. +unconstrainedTypeKeyofParam.ts(97,10): error TS2393: Duplicate function implementation. +unconstrainedTypeKeyofParam.ts(98,12): error TS18049: 'obj' is possibly 'null' or 'undefined'. +unconstrainedTypeKeyofParam.ts(98,12): error TS2536: Type 'keyof T' cannot be used to index type '{}'. +unconstrainedTypeKeyofParam.ts(101,10): error TS2393: Duplicate function implementation. +unconstrainedTypeKeyofParam.ts(102,12): error TS18049: 'obj' is possibly 'null' or 'undefined'. +unconstrainedTypeKeyofParam.ts(107,10): error TS2393: Duplicate function implementation. +unconstrainedTypeKeyofParam.ts(108,12): error TS18049: 'obj' is possibly 'null' or 'undefined'. +unconstrainedTypeKeyofParam.ts(111,10): error TS2393: Duplicate function implementation. +unconstrainedTypeKeyofParam.ts(112,12): error TS18049: 'obj' is possibly 'null' or 'undefined'. +unconstrainedTypeKeyofParam.ts(112,12): error TS2536: Type 'keyof U' cannot be used to index type '{}'. +unconstrainedTypeKeyofParam.ts(115,10): error TS2393: Duplicate function implementation. +unconstrainedTypeKeyofParam.ts(116,12): error TS18049: 'obj' is possibly 'null' or 'undefined'. + + +==== unconstrainedTypeKeyofParam.ts (23 errors) ==== + function f3(x: T, y: U, k: keyof T) { + ~~ +!!! error TS2393: Duplicate function implementation. + x[k] = y[k]; + y[k] = x[k]; + ~~~~ +!!! error TS2322: Type 'T[keyof T]' is not assignable to type 'U[keyof T]'. +!!! error TS2322: Type 'T' is not assignable to type 'U'. +!!! error TS2322: 'U' could be instantiated with an arbitrary type which could be unrelated to 'T'. +!!! related TS2208 unconstrainedTypeKeyofParam.ts:1:13: This type parameter might need an `extends U` constraint. + } + + function f(obj: T, key: K) { + return obj[key]; + } + + function f2(obj: T, key: K) { + return obj[key]; + } + + function f3(obj: T, key: K) { + ~~ +!!! error TS2393: Duplicate function implementation. + return obj[key]; + } + + function f4(obj: U, key: K) { + return obj[key]; + } + + function f5(obj: U, key: K) { + return obj[key]; + } + + function f6(obj: U, key: K) { + return obj[key]; + } + + // ************ + function g1(obj: T, key: keyof T) { + return obj[key]; + } + + function g2(obj: T, key: keyof T) { + return obj[key]; + ~~~ +!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. + ~~~~~~~~ +!!! error TS2536: Type 'keyof T' cannot be used to index type '{}'. + } + + function g3(obj: T, key: keyof T) { + return obj[key]; + ~~~ +!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. + } + + function g4(obj: U, key: keyof U) { + return obj[key]; + ~~~ +!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. + } + + function g5(obj: U, key: keyof U) { + return obj[key]; + ~~~ +!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. + ~~~~~~~~ +!!! error TS2536: Type 'keyof U' cannot be used to index type '{}'. + } + + function g6(obj: U, key: keyof U) { + return obj[key]; + ~~~ +!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. + } + + // ************** + function h1(obj: T, other: T, key: K) { + obj[key]; + other[key]; + return; + } + + function h2(obj: T, other: T, key: K) { + obj[key]; + other[key]; + return;} + + function h3(obj: T, other: T, key: K) { + obj[key]; + other[key]; + return; + } + + // ************** + function i1(obj: T, other: U, key: K) { + obj[key]; + other[key]; + return; + } + + function i2(obj: T, other: U, key: K) { + obj[key]; + other[key]; + return;} + + function i3(obj: T, other: U, key: K) { + obj[key]; + other[key]; + return; + } + + + // ************ + function j1(obj: U, key: keyof T) { + ~~ +!!! error TS2393: Duplicate function implementation. + return obj[key]; + } + + function j2(obj: U, key: keyof T) { + ~~ +!!! error TS2393: Duplicate function implementation. + return obj[key]; + ~~~ +!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. + ~~~~~~~~ +!!! error TS2536: Type 'keyof T' cannot be used to index type '{}'. + } + + function j3(obj: U, key: keyof T) { + ~~ +!!! error TS2393: Duplicate function implementation. + return obj[key]; + ~~~ +!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. + } + + + // ************ + function j1(obj: U, key: keyof U) { + ~~ +!!! error TS2393: Duplicate function implementation. + return obj[key]; + ~~~ +!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. + } + + function j2(obj: U, key: keyof U) { + ~~ +!!! error TS2393: Duplicate function implementation. + return obj[key]; + ~~~ +!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. + ~~~~~~~~ +!!! error TS2536: Type 'keyof U' cannot be used to index type '{}'. + } + + function j3(obj: U, key: keyof U) { + ~~ +!!! error TS2393: Duplicate function implementation. + return obj[key]; + ~~~ +!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. + } + \ No newline at end of file diff --git a/tests/baselines/reference/unconstrainedTypeKeyofParam.symbols b/tests/baselines/reference/unconstrainedTypeKeyofParam.symbols new file mode 100644 index 0000000000000..3ab20d2ddaded --- /dev/null +++ b/tests/baselines/reference/unconstrainedTypeKeyofParam.symbols @@ -0,0 +1,447 @@ +//// [tests/cases/compiler/unconstrainedTypeKeyofParam.ts] //// + +=== unconstrainedTypeKeyofParam.ts === +function f3(x: T, y: U, k: keyof T) { +>f3 : Symbol(f3, Decl(unconstrainedTypeKeyofParam.ts, 0, 0), Decl(unconstrainedTypeKeyofParam.ts, 11, 1)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 0, 12)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 0, 14)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 0, 12)) +>x : Symbol(x, Decl(unconstrainedTypeKeyofParam.ts, 0, 28)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 0, 12)) +>y : Symbol(y, Decl(unconstrainedTypeKeyofParam.ts, 0, 33)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 0, 14)) +>k : Symbol(k, Decl(unconstrainedTypeKeyofParam.ts, 0, 39)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 0, 12)) + + x[k] = y[k]; +>x : Symbol(x, Decl(unconstrainedTypeKeyofParam.ts, 0, 28)) +>k : Symbol(k, Decl(unconstrainedTypeKeyofParam.ts, 0, 39)) +>y : Symbol(y, Decl(unconstrainedTypeKeyofParam.ts, 0, 33)) +>k : Symbol(k, Decl(unconstrainedTypeKeyofParam.ts, 0, 39)) + + y[k] = x[k]; +>y : Symbol(y, Decl(unconstrainedTypeKeyofParam.ts, 0, 33)) +>k : Symbol(k, Decl(unconstrainedTypeKeyofParam.ts, 0, 39)) +>x : Symbol(x, Decl(unconstrainedTypeKeyofParam.ts, 0, 28)) +>k : Symbol(k, Decl(unconstrainedTypeKeyofParam.ts, 0, 39)) +} + +function f(obj: T, key: K) { +>f : Symbol(f, Decl(unconstrainedTypeKeyofParam.ts, 3, 1)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 5, 11)) +>K : Symbol(K, Decl(unconstrainedTypeKeyofParam.ts, 5, 13)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 5, 11)) +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 5, 33)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 5, 11)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 5, 40)) +>K : Symbol(K, Decl(unconstrainedTypeKeyofParam.ts, 5, 13)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 5, 33)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 5, 40)) +} + +function f2(obj: T, key: K) { +>f2 : Symbol(f2, Decl(unconstrainedTypeKeyofParam.ts, 7, 1)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 9, 12)) +>K : Symbol(K, Decl(unconstrainedTypeKeyofParam.ts, 9, 45)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 9, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 9, 65)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 9, 12)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 9, 72)) +>K : Symbol(K, Decl(unconstrainedTypeKeyofParam.ts, 9, 45)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 9, 65)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 9, 72)) +} + +function f3(obj: T, key: K) { +>f3 : Symbol(f3, Decl(unconstrainedTypeKeyofParam.ts, 0, 0), Decl(unconstrainedTypeKeyofParam.ts, 11, 1)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 13, 12)) +>K : Symbol(K, Decl(unconstrainedTypeKeyofParam.ts, 13, 30)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 13, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 13, 50)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 13, 12)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 13, 57)) +>K : Symbol(K, Decl(unconstrainedTypeKeyofParam.ts, 13, 30)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 13, 50)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 13, 57)) +} + +function f4(obj: U, key: K) { +>f4 : Symbol(f4, Decl(unconstrainedTypeKeyofParam.ts, 15, 1)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 17, 12)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 17, 14)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 17, 12)) +>K : Symbol(K, Decl(unconstrainedTypeKeyofParam.ts, 17, 27)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 17, 14)) +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 17, 47)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 17, 14)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 17, 54)) +>K : Symbol(K, Decl(unconstrainedTypeKeyofParam.ts, 17, 27)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 17, 47)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 17, 54)) +} + +function f5(obj: U, key: K) { +>f5 : Symbol(f5, Decl(unconstrainedTypeKeyofParam.ts, 19, 1)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 21, 12)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 21, 44)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 21, 12)) +>K : Symbol(K, Decl(unconstrainedTypeKeyofParam.ts, 21, 57)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 21, 44)) +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 21, 77)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 21, 44)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 21, 84)) +>K : Symbol(K, Decl(unconstrainedTypeKeyofParam.ts, 21, 57)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 21, 77)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 21, 84)) +} + +function f6(obj: U, key: K) { +>f6 : Symbol(f6, Decl(unconstrainedTypeKeyofParam.ts, 23, 1)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 25, 12)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 25, 30)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 25, 12)) +>K : Symbol(K, Decl(unconstrainedTypeKeyofParam.ts, 25, 43)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 25, 30)) +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 25, 63)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 25, 30)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 25, 70)) +>K : Symbol(K, Decl(unconstrainedTypeKeyofParam.ts, 25, 43)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 25, 63)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 25, 70)) +} + +// ************ +function g1(obj: T, key: keyof T) { +>g1 : Symbol(g1, Decl(unconstrainedTypeKeyofParam.ts, 27, 1)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 30, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 30, 15)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 30, 12)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 30, 22)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 30, 12)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 30, 15)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 30, 22)) +} + +function g2(obj: T, key: keyof T) { +>g2 : Symbol(g2, Decl(unconstrainedTypeKeyofParam.ts, 32, 1)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 34, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 34, 45)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 34, 12)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 34, 52)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 34, 12)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 34, 45)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 34, 52)) +} + +function g3(obj: T, key: keyof T) { +>g3 : Symbol(g3, Decl(unconstrainedTypeKeyofParam.ts, 36, 1)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 38, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 38, 31)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 38, 12)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 38, 38)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 38, 12)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 38, 31)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 38, 38)) +} + +function g4(obj: U, key: keyof U) { +>g4 : Symbol(g4, Decl(unconstrainedTypeKeyofParam.ts, 40, 1)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 42, 12)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 42, 14)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 42, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 42, 28)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 42, 14)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 42, 35)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 42, 14)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 42, 28)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 42, 35)) +} + +function g5(obj: U, key: keyof U) { +>g5 : Symbol(g5, Decl(unconstrainedTypeKeyofParam.ts, 44, 1)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 46, 12)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 46, 44)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 46, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 46, 58)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 46, 44)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 46, 65)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 46, 44)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 46, 58)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 46, 65)) +} + +function g6(obj: U, key: keyof U) { +>g6 : Symbol(g6, Decl(unconstrainedTypeKeyofParam.ts, 48, 1)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 50, 12)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 50, 30)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 50, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 50, 44)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 50, 30)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 50, 51)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 50, 30)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 50, 44)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 50, 51)) +} + +// ************** +function h1(obj: T, other: T, key: K) { +>h1 : Symbol(h1, Decl(unconstrainedTypeKeyofParam.ts, 52, 1)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 55, 12)) +>K : Symbol(K, Decl(unconstrainedTypeKeyofParam.ts, 55, 14)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 55, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 55, 34)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 55, 12)) +>other : Symbol(other, Decl(unconstrainedTypeKeyofParam.ts, 55, 41)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 55, 12)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 55, 51)) +>K : Symbol(K, Decl(unconstrainedTypeKeyofParam.ts, 55, 14)) + + obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 55, 34)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 55, 51)) + + other[key]; +>other : Symbol(other, Decl(unconstrainedTypeKeyofParam.ts, 55, 41)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 55, 51)) + + return; +} + +function h2(obj: T, other: T, key: K) { +>h2 : Symbol(h2, Decl(unconstrainedTypeKeyofParam.ts, 59, 1)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 61, 12)) +>K : Symbol(K, Decl(unconstrainedTypeKeyofParam.ts, 61, 45)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 61, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 61, 65)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 61, 12)) +>other : Symbol(other, Decl(unconstrainedTypeKeyofParam.ts, 61, 72)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 61, 12)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 61, 82)) +>K : Symbol(K, Decl(unconstrainedTypeKeyofParam.ts, 61, 45)) + + obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 61, 65)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 61, 82)) + + other[key]; +>other : Symbol(other, Decl(unconstrainedTypeKeyofParam.ts, 61, 72)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 61, 82)) + + return;} + +function h3(obj: T, other: T, key: K) { +>h3 : Symbol(h3, Decl(unconstrainedTypeKeyofParam.ts, 64, 12)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 66, 12)) +>K : Symbol(K, Decl(unconstrainedTypeKeyofParam.ts, 66, 30)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 66, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 66, 50)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 66, 12)) +>other : Symbol(other, Decl(unconstrainedTypeKeyofParam.ts, 66, 57)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 66, 12)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 66, 67)) +>K : Symbol(K, Decl(unconstrainedTypeKeyofParam.ts, 66, 30)) + + obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 66, 50)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 66, 67)) + + other[key]; +>other : Symbol(other, Decl(unconstrainedTypeKeyofParam.ts, 66, 57)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 66, 67)) + + return; +} + +// ************** +function i1(obj: T, other: U, key: K) { +>i1 : Symbol(i1, Decl(unconstrainedTypeKeyofParam.ts, 70, 1)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 73, 12)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 73, 14)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 73, 12)) +>K : Symbol(K, Decl(unconstrainedTypeKeyofParam.ts, 73, 27)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 73, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 73, 47)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 73, 12)) +>other : Symbol(other, Decl(unconstrainedTypeKeyofParam.ts, 73, 54)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 73, 14)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 73, 64)) +>K : Symbol(K, Decl(unconstrainedTypeKeyofParam.ts, 73, 27)) + + obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 73, 47)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 73, 64)) + + other[key]; +>other : Symbol(other, Decl(unconstrainedTypeKeyofParam.ts, 73, 54)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 73, 64)) + + return; +} + +function i2(obj: T, other: U, key: K) { +>i2 : Symbol(i2, Decl(unconstrainedTypeKeyofParam.ts, 77, 1)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 79, 12)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 79, 45)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 79, 12)) +>K : Symbol(K, Decl(unconstrainedTypeKeyofParam.ts, 79, 58)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 79, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 79, 78)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 79, 12)) +>other : Symbol(other, Decl(unconstrainedTypeKeyofParam.ts, 79, 85)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 79, 45)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 79, 95)) +>K : Symbol(K, Decl(unconstrainedTypeKeyofParam.ts, 79, 58)) + + obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 79, 78)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 79, 95)) + + other[key]; +>other : Symbol(other, Decl(unconstrainedTypeKeyofParam.ts, 79, 85)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 79, 95)) + + return;} + +function i3(obj: T, other: U, key: K) { +>i3 : Symbol(i3, Decl(unconstrainedTypeKeyofParam.ts, 82, 12)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 84, 12)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 84, 30)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 84, 12)) +>K : Symbol(K, Decl(unconstrainedTypeKeyofParam.ts, 84, 43)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 84, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 84, 63)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 84, 12)) +>other : Symbol(other, Decl(unconstrainedTypeKeyofParam.ts, 84, 70)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 84, 30)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 84, 80)) +>K : Symbol(K, Decl(unconstrainedTypeKeyofParam.ts, 84, 43)) + + obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 84, 63)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 84, 80)) + + other[key]; +>other : Symbol(other, Decl(unconstrainedTypeKeyofParam.ts, 84, 70)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 84, 80)) + + return; +} + + +// ************ +function j1(obj: U, key: keyof T) { +>j1 : Symbol(j1, Decl(unconstrainedTypeKeyofParam.ts, 88, 1), Decl(unconstrainedTypeKeyofParam.ts, 102, 1)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 92, 12)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 92, 14)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 92, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 92, 28)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 92, 14)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 92, 35)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 92, 12)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 92, 28)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 92, 35)) +} + +function j2(obj: U, key: keyof T) { +>j2 : Symbol(j2, Decl(unconstrainedTypeKeyofParam.ts, 94, 1), Decl(unconstrainedTypeKeyofParam.ts, 108, 1)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 96, 12)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 96, 44)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 96, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 96, 58)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 96, 44)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 96, 65)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 96, 12)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 96, 58)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 96, 65)) +} + +function j3(obj: U, key: keyof T) { +>j3 : Symbol(j3, Decl(unconstrainedTypeKeyofParam.ts, 98, 1), Decl(unconstrainedTypeKeyofParam.ts, 112, 1)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 100, 12)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 100, 30)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 100, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 100, 44)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 100, 30)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 100, 51)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 100, 12)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 100, 44)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 100, 51)) +} + + +// ************ +function j1(obj: U, key: keyof U) { +>j1 : Symbol(j1, Decl(unconstrainedTypeKeyofParam.ts, 88, 1), Decl(unconstrainedTypeKeyofParam.ts, 102, 1)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 106, 12)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 106, 14)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 106, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 106, 28)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 106, 14)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 106, 35)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 106, 14)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 106, 28)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 106, 35)) +} + +function j2(obj: U, key: keyof U) { +>j2 : Symbol(j2, Decl(unconstrainedTypeKeyofParam.ts, 94, 1), Decl(unconstrainedTypeKeyofParam.ts, 108, 1)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 110, 12)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 110, 44)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 110, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 110, 58)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 110, 44)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 110, 65)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 110, 44)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 110, 58)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 110, 65)) +} + +function j3(obj: U, key: keyof U) { +>j3 : Symbol(j3, Decl(unconstrainedTypeKeyofParam.ts, 98, 1), Decl(unconstrainedTypeKeyofParam.ts, 112, 1)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 114, 12)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 114, 30)) +>T : Symbol(T, Decl(unconstrainedTypeKeyofParam.ts, 114, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 114, 44)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 114, 30)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 114, 51)) +>U : Symbol(U, Decl(unconstrainedTypeKeyofParam.ts, 114, 30)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeKeyofParam.ts, 114, 44)) +>key : Symbol(key, Decl(unconstrainedTypeKeyofParam.ts, 114, 51)) +} + diff --git a/tests/baselines/reference/unconstrainedTypeKeyofParam.types b/tests/baselines/reference/unconstrainedTypeKeyofParam.types new file mode 100644 index 0000000000000..a8d539d23e086 --- /dev/null +++ b/tests/baselines/reference/unconstrainedTypeKeyofParam.types @@ -0,0 +1,531 @@ +//// [tests/cases/compiler/unconstrainedTypeKeyofParam.ts] //// + +=== unconstrainedTypeKeyofParam.ts === +function f3(x: T, y: U, k: keyof T) { +>f3 : { (x: T, y: U, k: keyof T): void; (obj: T_1, key: K): T_1[K]; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>x : T +> : ^ +>y : U +> : ^ +>k : keyof T +> : ^^^^^^^ + + x[k] = y[k]; +>x[k] = y[k] : U[keyof T] +> : ^^^^^^^^^^ +>x[k] : T[keyof T] +> : ^^^^^^^^^^ +>x : T +> : ^ +>k : keyof T +> : ^^^^^^^ +>y[k] : U[keyof T] +> : ^^^^^^^^^^ +>y : U +> : ^ +>k : keyof T +> : ^^^^^^^ + + y[k] = x[k]; +>y[k] = x[k] : T[keyof T] +> : ^^^^^^^^^^ +>y[k] : U[keyof T] +> : ^^^^^^^^^^ +>y : U +> : ^ +>k : keyof T +> : ^^^^^^^ +>x[k] : T[keyof T] +> : ^^^^^^^^^^ +>x : T +> : ^ +>k : keyof T +> : ^^^^^^^ +} + +function f(obj: T, key: K) { +>f : (obj: T, key: K) => T[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>obj : T +> : ^ +>key : K +> : ^ + + return obj[key]; +>obj[key] : T[K] +> : ^^^^ +>obj : T +> : ^ +>key : K +> : ^ +} + +function f2(obj: T, key: K) { +>f2 : (obj: T, key: K) => {} | null | undefined +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : T +> : ^ +>key : K +> : ^ + + return obj[key]; +>obj[key] : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>obj : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>key : K +> : ^ +} + +function f3(obj: T, key: K) { +>f3 : { (x: T_1, y: U, k: keyof T_1): void; (obj: T, key: K): T[K]; } +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +>obj : T +> : ^ +>key : K +> : ^ + + return obj[key]; +>obj[key] : T[K] +> : ^^^^ +>obj : T +> : ^ +>key : K +> : ^ +} + +function f4(obj: U, key: K) { +>f4 : (obj: U, key: K) => U[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>obj : U +> : ^ +>key : K +> : ^ + + return obj[key]; +>obj[key] : U[K] +> : ^^^^ +>obj : U +> : ^ +>key : K +> : ^ +} + +function f5(obj: U, key: K) { +>f5 : (obj: U, key: K) => {} | null | undefined +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : U +> : ^ +>key : K +> : ^ + + return obj[key]; +>obj[key] : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>obj : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>key : K +> : ^ +} + +function f6(obj: U, key: K) { +>f6 : (obj: U, key: K) => U[K] +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>obj : U +> : ^ +>key : K +> : ^ + + return obj[key]; +>obj[key] : U[K] +> : ^^^^ +>obj : U +> : ^ +>key : K +> : ^ +} + +// ************ +function g1(obj: T, key: keyof T) { +>g1 : (obj: T, key: keyof T) => T[keyof T] +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +>obj : T +> : ^ +>key : keyof T +> : ^^^^^^^ + + return obj[key]; +>obj[key] : T[keyof T] +> : ^^^^^^^^^^ +>obj : T +> : ^ +>key : keyof T +> : ^^^^^^^ +} + +function g2(obj: T, key: keyof T) { +>g2 : (obj: T, key: keyof T) => any +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +>obj : T +> : ^ +>key : keyof T +> : ^^^^^^^ + + return obj[key]; +>obj[key] : any +> : ^^^ +>obj : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>key : keyof T +> : ^^^^^^^ +} + +function g3(obj: T, key: keyof T) { +>g3 : (obj: T, key: keyof T) => NonNullable[keyof T] +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : T +> : ^ +>key : keyof T +> : ^^^^^^^ + + return obj[key]; +>obj[key] : NonNullable[keyof T] +> : ^^^^^^^^^^^^^^^^^^^^^^^ +>obj : T +> : ^ +>key : keyof T +> : ^^^^^^^ +} + +function g4(obj: U, key: keyof U) { +>g4 : (obj: U, key: keyof U) => NonNullable[keyof U] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : U +> : ^ +>key : keyof U +> : ^^^^^^^ + + return obj[key]; +>obj[key] : NonNullable[keyof U] +> : ^^^^^^^^^^^^^^^^^^^^^^^ +>obj : U +> : ^ +>key : keyof U +> : ^^^^^^^ +} + +function g5(obj: U, key: keyof U) { +>g5 : (obj: U, key: keyof U) => any +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +>obj : U +> : ^ +>key : keyof U +> : ^^^^^^^ + + return obj[key]; +>obj[key] : any +> : ^^^ +>obj : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>key : keyof U +> : ^^^^^^^ +} + +function g6(obj: U, key: keyof U) { +>g6 : (obj: U, key: keyof U) => NonNullable[keyof U] +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : U +> : ^ +>key : keyof U +> : ^^^^^^^ + + return obj[key]; +>obj[key] : NonNullable[keyof U] +> : ^^^^^^^^^^^^^^^^^^^^^^^ +>obj : U +> : ^ +>key : keyof U +> : ^^^^^^^ +} + +// ************** +function h1(obj: T, other: T, key: K) { +>h1 : (obj: T, other: T, key: K) => void +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>obj : T +> : ^ +>other : T +> : ^ +>key : K +> : ^ + + obj[key]; +>obj[key] : T[K] +> : ^^^^ +>obj : T +> : ^ +>key : K +> : ^ + + other[key]; +>other[key] : T[K] +> : ^^^^ +>other : T +> : ^ +>key : K +> : ^ + + return; +} + +function h2(obj: T, other: T, key: K) { +>h2 : (obj: T, other: T, key: K) => void +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>obj : T +> : ^ +>other : T +> : ^ +>key : K +> : ^ + + obj[key]; +>obj[key] : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>obj : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>key : K +> : ^ + + other[key]; +>other[key] : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>other : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>key : K +> : ^ + + return;} + +function h3(obj: T, other: T, key: K) { +>h3 : (obj: T, other: T, key: K) => void +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>obj : T +> : ^ +>other : T +> : ^ +>key : K +> : ^ + + obj[key]; +>obj[key] : T[K] +> : ^^^^ +>obj : T +> : ^ +>key : K +> : ^ + + other[key]; +>other[key] : T[K] +> : ^^^^ +>other : T +> : ^ +>key : K +> : ^ + + return; +} + +// ************** +function i1(obj: T, other: U, key: K) { +>i1 : (obj: T, other: U, key: K) => void +> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>obj : T +> : ^ +>other : U +> : ^ +>key : K +> : ^ + + obj[key]; +>obj[key] : T[K] +> : ^^^^ +>obj : T +> : ^ +>key : K +> : ^ + + other[key]; +>other[key] : U[K] +> : ^^^^ +>other : U +> : ^ +>key : K +> : ^ + + return; +} + +function i2(obj: T, other: U, key: K) { +>i2 : (obj: T, other: U, key: K) => void +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>obj : T +> : ^ +>other : U +> : ^ +>key : K +> : ^ + + obj[key]; +>obj[key] : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>obj : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>key : K +> : ^ + + other[key]; +>other[key] : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>other : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>key : K +> : ^ + + return;} + +function i3(obj: T, other: U, key: K) { +>i3 : (obj: T, other: U, key: K) => void +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>obj : T +> : ^ +>other : U +> : ^ +>key : K +> : ^ + + obj[key]; +>obj[key] : T[K] +> : ^^^^ +>obj : T +> : ^ +>key : K +> : ^ + + other[key]; +>other[key] : U[K] +> : ^^^^ +>other : U +> : ^ +>key : K +> : ^ + + return; +} + + +// ************ +function j1(obj: U, key: keyof T) { +>j1 : { (obj: U, key: keyof T): U[keyof T]; (obj: U_1, key: keyof U_1): NonNullable[keyof U_1]; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : U +> : ^ +>key : keyof T +> : ^^^^^^^ + + return obj[key]; +>obj[key] : U[keyof T] +> : ^^^^^^^^^^ +>obj : U +> : ^ +>key : keyof T +> : ^^^^^^^ +} + +function j2(obj: U, key: keyof T) { +>j2 : { (obj: U, key: keyof T): any; (obj: U_1, key: keyof U_1): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>obj : U +> : ^ +>key : keyof T +> : ^^^^^^^ + + return obj[key]; +>obj[key] : any +> : ^^^ +>obj : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>key : keyof T +> : ^^^^^^^ +} + +function j3(obj: U, key: keyof T) { +>j3 : { (obj: U, key: keyof T): NonNullable[keyof T]; (obj: U_1, key: keyof U_1): NonNullable[keyof U_1]; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : U +> : ^ +>key : keyof T +> : ^^^^^^^ + + return obj[key]; +>obj[key] : NonNullable[keyof T] +> : ^^^^^^^^^^^^^^^^^^^^^^^ +>obj : U +> : ^ +>key : keyof T +> : ^^^^^^^ +} + + +// ************ +function j1(obj: U, key: keyof U) { +>j1 : { (obj: U_1, key: keyof T_1): U_1[keyof T_1]; (obj: U, key: keyof U): NonNullable[keyof U]; } +> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : U +> : ^ +>key : keyof U +> : ^^^^^^^ + + return obj[key]; +>obj[key] : NonNullable[keyof U] +> : ^^^^^^^^^^^^^^^^^^^^^^^ +>obj : U +> : ^ +>key : keyof U +> : ^^^^^^^ +} + +function j2(obj: U, key: keyof U) { +>j2 : { (obj: U_1, key: keyof T_1): any; (obj: U, key: keyof U): any; } +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>obj : U +> : ^ +>key : keyof U +> : ^^^^^^^ + + return obj[key]; +>obj[key] : any +> : ^^^ +>obj : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>key : keyof U +> : ^^^^^^^ +} + +function j3(obj: U, key: keyof U) { +>j3 : { (obj: U_1, key: keyof T_1): NonNullable[keyof T_1]; (obj: U, key: keyof U): NonNullable[keyof U]; } +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : U +> : ^ +>key : keyof U +> : ^^^^^^^ + + return obj[key]; +>obj[key] : NonNullable[keyof U] +> : ^^^^^^^^^^^^^^^^^^^^^^^ +>obj : U +> : ^ +>key : keyof U +> : ^^^^^^^ +} + diff --git a/tests/baselines/reference/unconstrainedTypeMapped.errors.txt b/tests/baselines/reference/unconstrainedTypeMapped.errors.txt new file mode 100644 index 0000000000000..f73bb81ecd215 --- /dev/null +++ b/tests/baselines/reference/unconstrainedTypeMapped.errors.txt @@ -0,0 +1,195 @@ +unconstrainedTypeMapped.ts(1,10): error TS2393: Duplicate function implementation. +unconstrainedTypeMapped.ts(3,5): error TS2322: Type 'T[keyof T]' is not assignable to type 'U[keyof T]'. + Type 'T' is not assignable to type 'U'. + 'U' could be instantiated with an arbitrary type which could be unrelated to 'T'. +unconstrainedTypeMapped.ts(14,10): error TS2393: Duplicate function implementation. +unconstrainedTypeMapped.ts(36,12): error TS18049: 'obj' is possibly 'null' or 'undefined'. +unconstrainedTypeMapped.ts(36,12): error TS2536: Type 'keyof T' cannot be used to index type '{}'. +unconstrainedTypeMapped.ts(40,12): error TS18049: 'obj' is possibly 'null' or 'undefined'. +unconstrainedTypeMapped.ts(44,12): error TS18049: 'obj' is possibly 'null' or 'undefined'. +unconstrainedTypeMapped.ts(48,12): error TS18049: 'obj' is possibly 'null' or 'undefined'. +unconstrainedTypeMapped.ts(48,12): error TS2536: Type 'keyof U' cannot be used to index type '{}'. +unconstrainedTypeMapped.ts(52,12): error TS18049: 'obj' is possibly 'null' or 'undefined'. +unconstrainedTypeMapped.ts(93,10): error TS2393: Duplicate function implementation. +unconstrainedTypeMapped.ts(97,10): error TS2393: Duplicate function implementation. +unconstrainedTypeMapped.ts(98,12): error TS18049: 'obj' is possibly 'null' or 'undefined'. +unconstrainedTypeMapped.ts(98,12): error TS2536: Type 'keyof T' cannot be used to index type '{}'. +unconstrainedTypeMapped.ts(101,10): error TS2393: Duplicate function implementation. +unconstrainedTypeMapped.ts(102,12): error TS18049: 'obj' is possibly 'null' or 'undefined'. +unconstrainedTypeMapped.ts(107,10): error TS2393: Duplicate function implementation. +unconstrainedTypeMapped.ts(108,12): error TS18049: 'obj' is possibly 'null' or 'undefined'. +unconstrainedTypeMapped.ts(111,10): error TS2393: Duplicate function implementation. +unconstrainedTypeMapped.ts(112,12): error TS18049: 'obj' is possibly 'null' or 'undefined'. +unconstrainedTypeMapped.ts(112,12): error TS2536: Type 'keyof U' cannot be used to index type '{}'. +unconstrainedTypeMapped.ts(115,10): error TS2393: Duplicate function implementation. +unconstrainedTypeMapped.ts(116,12): error TS18049: 'obj' is possibly 'null' or 'undefined'. + + +==== unconstrainedTypeMapped.ts (23 errors) ==== + function f3(x: T, y: U, k: keyof T) { + ~~ +!!! error TS2393: Duplicate function implementation. + x[k] = y[k]; + y[k] = x[k]; + ~~~~ +!!! error TS2322: Type 'T[keyof T]' is not assignable to type 'U[keyof T]'. +!!! error TS2322: Type 'T' is not assignable to type 'U'. +!!! error TS2322: 'U' could be instantiated with an arbitrary type which could be unrelated to 'T'. +!!! related TS2208 unconstrainedTypeMapped.ts:1:13: This type parameter might need an `extends U` constraint. + } + + function f(obj: T, key: K) { + return obj[key]; + } + + function f2(obj: T, key: K) { + return obj[key]; + } + + function f3(obj: T, key: K) { + ~~ +!!! error TS2393: Duplicate function implementation. + return obj[key]; + } + + function f4(obj: U, key: K) { + return obj[key]; + } + + function f5(obj: U, key: K) { + return obj[key]; + } + + function f6(obj: U, key: K) { + return obj[key]; + } + + // ************ + function g1(obj: T, key: keyof T) { + return obj[key]; + } + + function g2(obj: T, key: keyof T) { + return obj[key]; + ~~~ +!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. + ~~~~~~~~ +!!! error TS2536: Type 'keyof T' cannot be used to index type '{}'. + } + + function g3(obj: T, key: keyof T) { + return obj[key]; + ~~~ +!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. + } + + function g4(obj: U, key: keyof U) { + return obj[key]; + ~~~ +!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. + } + + function g5(obj: U, key: keyof U) { + return obj[key]; + ~~~ +!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. + ~~~~~~~~ +!!! error TS2536: Type 'keyof U' cannot be used to index type '{}'. + } + + function g6(obj: U, key: keyof U) { + return obj[key]; + ~~~ +!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. + } + + // ************** + function h1(obj: T, other: T, key: K) { + obj[key]; + other[key]; + return; + } + + function h2(obj: T, other: T, key: K) { + obj[key]; + other[key]; + return;} + + function h3(obj: T, other: T, key: K) { + obj[key]; + other[key]; + return; + } + + // ************** + function i1(obj: T, other: U, key: K) { + obj[key]; + other[key]; + return; + } + + function i2(obj: T, other: U, key: K) { + obj[key]; + other[key]; + return;} + + function i3(obj: T, other: U, key: K) { + obj[key]; + other[key]; + return; + } + + + // ************ + function j1(obj: U, key: keyof T) { + ~~ +!!! error TS2393: Duplicate function implementation. + return obj[key]; + } + + function j2(obj: U, key: keyof T) { + ~~ +!!! error TS2393: Duplicate function implementation. + return obj[key]; + ~~~ +!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. + ~~~~~~~~ +!!! error TS2536: Type 'keyof T' cannot be used to index type '{}'. + } + + function j3(obj: U, key: keyof T) { + ~~ +!!! error TS2393: Duplicate function implementation. + return obj[key]; + ~~~ +!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. + } + + + // ************ + function j1(obj: U, key: keyof U) { + ~~ +!!! error TS2393: Duplicate function implementation. + return obj[key]; + ~~~ +!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. + } + + function j2(obj: U, key: keyof U) { + ~~ +!!! error TS2393: Duplicate function implementation. + return obj[key]; + ~~~ +!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. + ~~~~~~~~ +!!! error TS2536: Type 'keyof U' cannot be used to index type '{}'. + } + + function j3(obj: U, key: keyof U) { + ~~ +!!! error TS2393: Duplicate function implementation. + return obj[key]; + ~~~ +!!! error TS18049: 'obj' is possibly 'null' or 'undefined'. + } + \ No newline at end of file diff --git a/tests/baselines/reference/unconstrainedTypeMapped.js b/tests/baselines/reference/unconstrainedTypeMapped.js deleted file mode 100644 index c506238921b08..0000000000000 --- a/tests/baselines/reference/unconstrainedTypeMapped.js +++ /dev/null @@ -1,13 +0,0 @@ -//// [tests/cases/compiler/unconstrainedTypeMapped.ts] //// - -//// [unconstrainedTypeMapped.ts] -function f(obj: T, key: K) { - return obj[key]; -} - - -//// [unconstrainedTypeMapped.js] -"use strict"; -function f(obj, key) { - return obj[key]; -} diff --git a/tests/baselines/reference/unconstrainedTypeMapped.symbols b/tests/baselines/reference/unconstrainedTypeMapped.symbols index 3f87c3226b751..6bde77a1ca609 100644 --- a/tests/baselines/reference/unconstrainedTypeMapped.symbols +++ b/tests/baselines/reference/unconstrainedTypeMapped.symbols @@ -1,18 +1,447 @@ //// [tests/cases/compiler/unconstrainedTypeMapped.ts] //// === unconstrainedTypeMapped.ts === +function f3(x: T, y: U, k: keyof T) { +>f3 : Symbol(f3, Decl(unconstrainedTypeMapped.ts, 0, 0), Decl(unconstrainedTypeMapped.ts, 11, 1)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 0, 12)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 0, 14)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 0, 12)) +>x : Symbol(x, Decl(unconstrainedTypeMapped.ts, 0, 28)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 0, 12)) +>y : Symbol(y, Decl(unconstrainedTypeMapped.ts, 0, 33)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 0, 14)) +>k : Symbol(k, Decl(unconstrainedTypeMapped.ts, 0, 39)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 0, 12)) + + x[k] = y[k]; +>x : Symbol(x, Decl(unconstrainedTypeMapped.ts, 0, 28)) +>k : Symbol(k, Decl(unconstrainedTypeMapped.ts, 0, 39)) +>y : Symbol(y, Decl(unconstrainedTypeMapped.ts, 0, 33)) +>k : Symbol(k, Decl(unconstrainedTypeMapped.ts, 0, 39)) + + y[k] = x[k]; +>y : Symbol(y, Decl(unconstrainedTypeMapped.ts, 0, 33)) +>k : Symbol(k, Decl(unconstrainedTypeMapped.ts, 0, 39)) +>x : Symbol(x, Decl(unconstrainedTypeMapped.ts, 0, 28)) +>k : Symbol(k, Decl(unconstrainedTypeMapped.ts, 0, 39)) +} + function f(obj: T, key: K) { ->f : Symbol(f, Decl(unconstrainedTypeMapped.ts, 0, 0)) ->T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 0, 11)) ->K : Symbol(K, Decl(unconstrainedTypeMapped.ts, 0, 13)) ->T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 0, 11)) ->obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 0, 33)) ->T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 0, 11)) ->key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 0, 40)) ->K : Symbol(K, Decl(unconstrainedTypeMapped.ts, 0, 13)) - - return obj[key]; ->obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 0, 33)) ->key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 0, 40)) +>f : Symbol(f, Decl(unconstrainedTypeMapped.ts, 3, 1)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 5, 11)) +>K : Symbol(K, Decl(unconstrainedTypeMapped.ts, 5, 13)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 5, 11)) +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 5, 33)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 5, 11)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 5, 40)) +>K : Symbol(K, Decl(unconstrainedTypeMapped.ts, 5, 13)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 5, 33)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 5, 40)) +} + +function f2(obj: T, key: K) { +>f2 : Symbol(f2, Decl(unconstrainedTypeMapped.ts, 7, 1)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 9, 12)) +>K : Symbol(K, Decl(unconstrainedTypeMapped.ts, 9, 45)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 9, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 9, 65)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 9, 12)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 9, 72)) +>K : Symbol(K, Decl(unconstrainedTypeMapped.ts, 9, 45)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 9, 65)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 9, 72)) +} + +function f3(obj: T, key: K) { +>f3 : Symbol(f3, Decl(unconstrainedTypeMapped.ts, 0, 0), Decl(unconstrainedTypeMapped.ts, 11, 1)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 13, 12)) +>K : Symbol(K, Decl(unconstrainedTypeMapped.ts, 13, 30)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 13, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 13, 50)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 13, 12)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 13, 57)) +>K : Symbol(K, Decl(unconstrainedTypeMapped.ts, 13, 30)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 13, 50)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 13, 57)) +} + +function f4(obj: U, key: K) { +>f4 : Symbol(f4, Decl(unconstrainedTypeMapped.ts, 15, 1)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 17, 12)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 17, 14)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 17, 12)) +>K : Symbol(K, Decl(unconstrainedTypeMapped.ts, 17, 27)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 17, 14)) +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 17, 47)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 17, 14)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 17, 54)) +>K : Symbol(K, Decl(unconstrainedTypeMapped.ts, 17, 27)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 17, 47)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 17, 54)) +} + +function f5(obj: U, key: K) { +>f5 : Symbol(f5, Decl(unconstrainedTypeMapped.ts, 19, 1)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 21, 12)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 21, 44)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 21, 12)) +>K : Symbol(K, Decl(unconstrainedTypeMapped.ts, 21, 57)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 21, 44)) +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 21, 77)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 21, 44)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 21, 84)) +>K : Symbol(K, Decl(unconstrainedTypeMapped.ts, 21, 57)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 21, 77)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 21, 84)) +} + +function f6(obj: U, key: K) { +>f6 : Symbol(f6, Decl(unconstrainedTypeMapped.ts, 23, 1)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 25, 12)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 25, 30)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 25, 12)) +>K : Symbol(K, Decl(unconstrainedTypeMapped.ts, 25, 43)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 25, 30)) +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 25, 63)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 25, 30)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 25, 70)) +>K : Symbol(K, Decl(unconstrainedTypeMapped.ts, 25, 43)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 25, 63)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 25, 70)) +} + +// ************ +function g1(obj: T, key: keyof T) { +>g1 : Symbol(g1, Decl(unconstrainedTypeMapped.ts, 27, 1)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 30, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 30, 15)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 30, 12)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 30, 22)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 30, 12)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 30, 15)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 30, 22)) +} + +function g2(obj: T, key: keyof T) { +>g2 : Symbol(g2, Decl(unconstrainedTypeMapped.ts, 32, 1)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 34, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 34, 45)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 34, 12)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 34, 52)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 34, 12)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 34, 45)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 34, 52)) +} + +function g3(obj: T, key: keyof T) { +>g3 : Symbol(g3, Decl(unconstrainedTypeMapped.ts, 36, 1)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 38, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 38, 31)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 38, 12)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 38, 38)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 38, 12)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 38, 31)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 38, 38)) +} + +function g4(obj: U, key: keyof U) { +>g4 : Symbol(g4, Decl(unconstrainedTypeMapped.ts, 40, 1)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 42, 12)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 42, 14)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 42, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 42, 28)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 42, 14)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 42, 35)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 42, 14)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 42, 28)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 42, 35)) +} + +function g5(obj: U, key: keyof U) { +>g5 : Symbol(g5, Decl(unconstrainedTypeMapped.ts, 44, 1)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 46, 12)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 46, 44)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 46, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 46, 58)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 46, 44)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 46, 65)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 46, 44)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 46, 58)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 46, 65)) +} + +function g6(obj: U, key: keyof U) { +>g6 : Symbol(g6, Decl(unconstrainedTypeMapped.ts, 48, 1)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 50, 12)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 50, 30)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 50, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 50, 44)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 50, 30)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 50, 51)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 50, 30)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 50, 44)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 50, 51)) +} + +// ************** +function h1(obj: T, other: T, key: K) { +>h1 : Symbol(h1, Decl(unconstrainedTypeMapped.ts, 52, 1)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 55, 12)) +>K : Symbol(K, Decl(unconstrainedTypeMapped.ts, 55, 14)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 55, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 55, 34)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 55, 12)) +>other : Symbol(other, Decl(unconstrainedTypeMapped.ts, 55, 41)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 55, 12)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 55, 51)) +>K : Symbol(K, Decl(unconstrainedTypeMapped.ts, 55, 14)) + + obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 55, 34)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 55, 51)) + + other[key]; +>other : Symbol(other, Decl(unconstrainedTypeMapped.ts, 55, 41)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 55, 51)) + + return; +} + +function h2(obj: T, other: T, key: K) { +>h2 : Symbol(h2, Decl(unconstrainedTypeMapped.ts, 59, 1)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 61, 12)) +>K : Symbol(K, Decl(unconstrainedTypeMapped.ts, 61, 45)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 61, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 61, 65)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 61, 12)) +>other : Symbol(other, Decl(unconstrainedTypeMapped.ts, 61, 72)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 61, 12)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 61, 82)) +>K : Symbol(K, Decl(unconstrainedTypeMapped.ts, 61, 45)) + + obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 61, 65)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 61, 82)) + + other[key]; +>other : Symbol(other, Decl(unconstrainedTypeMapped.ts, 61, 72)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 61, 82)) + + return;} + +function h3(obj: T, other: T, key: K) { +>h3 : Symbol(h3, Decl(unconstrainedTypeMapped.ts, 64, 12)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 66, 12)) +>K : Symbol(K, Decl(unconstrainedTypeMapped.ts, 66, 30)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 66, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 66, 50)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 66, 12)) +>other : Symbol(other, Decl(unconstrainedTypeMapped.ts, 66, 57)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 66, 12)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 66, 67)) +>K : Symbol(K, Decl(unconstrainedTypeMapped.ts, 66, 30)) + + obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 66, 50)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 66, 67)) + + other[key]; +>other : Symbol(other, Decl(unconstrainedTypeMapped.ts, 66, 57)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 66, 67)) + + return; +} + +// ************** +function i1(obj: T, other: U, key: K) { +>i1 : Symbol(i1, Decl(unconstrainedTypeMapped.ts, 70, 1)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 73, 12)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 73, 14)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 73, 12)) +>K : Symbol(K, Decl(unconstrainedTypeMapped.ts, 73, 27)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 73, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 73, 47)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 73, 12)) +>other : Symbol(other, Decl(unconstrainedTypeMapped.ts, 73, 54)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 73, 14)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 73, 64)) +>K : Symbol(K, Decl(unconstrainedTypeMapped.ts, 73, 27)) + + obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 73, 47)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 73, 64)) + + other[key]; +>other : Symbol(other, Decl(unconstrainedTypeMapped.ts, 73, 54)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 73, 64)) + + return; +} + +function i2(obj: T, other: U, key: K) { +>i2 : Symbol(i2, Decl(unconstrainedTypeMapped.ts, 77, 1)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 79, 12)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 79, 45)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 79, 12)) +>K : Symbol(K, Decl(unconstrainedTypeMapped.ts, 79, 58)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 79, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 79, 78)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 79, 12)) +>other : Symbol(other, Decl(unconstrainedTypeMapped.ts, 79, 85)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 79, 45)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 79, 95)) +>K : Symbol(K, Decl(unconstrainedTypeMapped.ts, 79, 58)) + + obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 79, 78)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 79, 95)) + + other[key]; +>other : Symbol(other, Decl(unconstrainedTypeMapped.ts, 79, 85)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 79, 95)) + + return;} + +function i3(obj: T, other: U, key: K) { +>i3 : Symbol(i3, Decl(unconstrainedTypeMapped.ts, 82, 12)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 84, 12)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 84, 30)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 84, 12)) +>K : Symbol(K, Decl(unconstrainedTypeMapped.ts, 84, 43)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 84, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 84, 63)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 84, 12)) +>other : Symbol(other, Decl(unconstrainedTypeMapped.ts, 84, 70)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 84, 30)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 84, 80)) +>K : Symbol(K, Decl(unconstrainedTypeMapped.ts, 84, 43)) + + obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 84, 63)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 84, 80)) + + other[key]; +>other : Symbol(other, Decl(unconstrainedTypeMapped.ts, 84, 70)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 84, 80)) + + return; +} + + +// ************ +function j1(obj: U, key: keyof T) { +>j1 : Symbol(j1, Decl(unconstrainedTypeMapped.ts, 88, 1), Decl(unconstrainedTypeMapped.ts, 102, 1)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 92, 12)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 92, 14)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 92, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 92, 28)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 92, 14)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 92, 35)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 92, 12)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 92, 28)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 92, 35)) +} + +function j2(obj: U, key: keyof T) { +>j2 : Symbol(j2, Decl(unconstrainedTypeMapped.ts, 94, 1), Decl(unconstrainedTypeMapped.ts, 108, 1)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 96, 12)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 96, 44)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 96, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 96, 58)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 96, 44)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 96, 65)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 96, 12)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 96, 58)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 96, 65)) +} + +function j3(obj: U, key: keyof T) { +>j3 : Symbol(j3, Decl(unconstrainedTypeMapped.ts, 98, 1), Decl(unconstrainedTypeMapped.ts, 112, 1)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 100, 12)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 100, 30)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 100, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 100, 44)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 100, 30)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 100, 51)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 100, 12)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 100, 44)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 100, 51)) +} + + +// ************ +function j1(obj: U, key: keyof U) { +>j1 : Symbol(j1, Decl(unconstrainedTypeMapped.ts, 88, 1), Decl(unconstrainedTypeMapped.ts, 102, 1)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 106, 12)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 106, 14)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 106, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 106, 28)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 106, 14)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 106, 35)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 106, 14)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 106, 28)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 106, 35)) +} + +function j2(obj: U, key: keyof U) { +>j2 : Symbol(j2, Decl(unconstrainedTypeMapped.ts, 94, 1), Decl(unconstrainedTypeMapped.ts, 108, 1)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 110, 12)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 110, 44)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 110, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 110, 58)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 110, 44)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 110, 65)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 110, 44)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 110, 58)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 110, 65)) +} + +function j3(obj: U, key: keyof U) { +>j3 : Symbol(j3, Decl(unconstrainedTypeMapped.ts, 98, 1), Decl(unconstrainedTypeMapped.ts, 112, 1)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 114, 12)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 114, 30)) +>T : Symbol(T, Decl(unconstrainedTypeMapped.ts, 114, 12)) +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 114, 44)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 114, 30)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 114, 51)) +>U : Symbol(U, Decl(unconstrainedTypeMapped.ts, 114, 30)) + + return obj[key]; +>obj : Symbol(obj, Decl(unconstrainedTypeMapped.ts, 114, 44)) +>key : Symbol(key, Decl(unconstrainedTypeMapped.ts, 114, 51)) } diff --git a/tests/baselines/reference/unconstrainedTypeMapped.types b/tests/baselines/reference/unconstrainedTypeMapped.types index 987094f1651f0..d3e3ddac4409c 100644 --- a/tests/baselines/reference/unconstrainedTypeMapped.types +++ b/tests/baselines/reference/unconstrainedTypeMapped.types @@ -1,6 +1,49 @@ //// [tests/cases/compiler/unconstrainedTypeMapped.ts] //// === unconstrainedTypeMapped.ts === +function f3(x: T, y: U, k: keyof T) { +>f3 : { (x: T, y: U, k: keyof T): void; (obj: T_1, key: K): T_1[K]; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>x : T +> : ^ +>y : U +> : ^ +>k : keyof T +> : ^^^^^^^ + + x[k] = y[k]; +>x[k] = y[k] : U[keyof T] +> : ^^^^^^^^^^ +>x[k] : T[keyof T] +> : ^^^^^^^^^^ +>x : T +> : ^ +>k : keyof T +> : ^^^^^^^ +>y[k] : U[keyof T] +> : ^^^^^^^^^^ +>y : U +> : ^ +>k : keyof T +> : ^^^^^^^ + + y[k] = x[k]; +>y[k] = x[k] : T[keyof T] +> : ^^^^^^^^^^ +>y[k] : U[keyof T] +> : ^^^^^^^^^^ +>y : U +> : ^ +>k : keyof T +> : ^^^^^^^ +>x[k] : T[keyof T] +> : ^^^^^^^^^^ +>x : T +> : ^ +>k : keyof T +> : ^^^^^^^ +} + function f(obj: T, key: K) { >f : (obj: T, key: K) => T[K] > : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ @@ -18,3 +61,471 @@ function f(obj: T, key: K) { > : ^ } +function f2(obj: T, key: K) { +>f2 : (obj: T, key: K) => {} | null | undefined +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : T +> : ^ +>key : K +> : ^ + + return obj[key]; +>obj[key] : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>obj : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>key : K +> : ^ +} + +function f3(obj: T, key: K) { +>f3 : { (x: T_1, y: U, k: keyof T_1): void; (obj: T, key: K): T[K]; } +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +>obj : T +> : ^ +>key : K +> : ^ + + return obj[key]; +>obj[key] : T[K] +> : ^^^^ +>obj : T +> : ^ +>key : K +> : ^ +} + +function f4(obj: U, key: K) { +>f4 : (obj: U, key: K) => U[K] +> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>obj : U +> : ^ +>key : K +> : ^ + + return obj[key]; +>obj[key] : U[K] +> : ^^^^ +>obj : U +> : ^ +>key : K +> : ^ +} + +function f5(obj: U, key: K) { +>f5 : (obj: U, key: K) => {} | null | undefined +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : U +> : ^ +>key : K +> : ^ + + return obj[key]; +>obj[key] : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>obj : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>key : K +> : ^ +} + +function f6(obj: U, key: K) { +>f6 : (obj: U, key: K) => U[K] +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>obj : U +> : ^ +>key : K +> : ^ + + return obj[key]; +>obj[key] : U[K] +> : ^^^^ +>obj : U +> : ^ +>key : K +> : ^ +} + +// ************ +function g1(obj: T, key: keyof T) { +>g1 : (obj: T, key: keyof T) => T[keyof T] +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +>obj : T +> : ^ +>key : keyof T +> : ^^^^^^^ + + return obj[key]; +>obj[key] : T[keyof T] +> : ^^^^^^^^^^ +>obj : T +> : ^ +>key : keyof T +> : ^^^^^^^ +} + +function g2(obj: T, key: keyof T) { +>g2 : (obj: T, key: keyof T) => any +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +>obj : T +> : ^ +>key : keyof T +> : ^^^^^^^ + + return obj[key]; +>obj[key] : any +> : ^^^ +>obj : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>key : keyof T +> : ^^^^^^^ +} + +function g3(obj: T, key: keyof T) { +>g3 : (obj: T, key: keyof T) => NonNullable[keyof T] +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : T +> : ^ +>key : keyof T +> : ^^^^^^^ + + return obj[key]; +>obj[key] : NonNullable[keyof T] +> : ^^^^^^^^^^^^^^^^^^^^^^^ +>obj : T +> : ^ +>key : keyof T +> : ^^^^^^^ +} + +function g4(obj: U, key: keyof U) { +>g4 : (obj: U, key: keyof U) => NonNullable[keyof U] +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : U +> : ^ +>key : keyof U +> : ^^^^^^^ + + return obj[key]; +>obj[key] : NonNullable[keyof U] +> : ^^^^^^^^^^^^^^^^^^^^^^^ +>obj : U +> : ^ +>key : keyof U +> : ^^^^^^^ +} + +function g5(obj: U, key: keyof U) { +>g5 : (obj: U, key: keyof U) => any +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +>obj : U +> : ^ +>key : keyof U +> : ^^^^^^^ + + return obj[key]; +>obj[key] : any +> : ^^^ +>obj : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>key : keyof U +> : ^^^^^^^ +} + +function g6(obj: U, key: keyof U) { +>g6 : (obj: U, key: keyof U) => NonNullable[keyof U] +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : U +> : ^ +>key : keyof U +> : ^^^^^^^ + + return obj[key]; +>obj[key] : NonNullable[keyof U] +> : ^^^^^^^^^^^^^^^^^^^^^^^ +>obj : U +> : ^ +>key : keyof U +> : ^^^^^^^ +} + +// ************** +function h1(obj: T, other: T, key: K) { +>h1 : (obj: T, other: T, key: K) => void +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>obj : T +> : ^ +>other : T +> : ^ +>key : K +> : ^ + + obj[key]; +>obj[key] : T[K] +> : ^^^^ +>obj : T +> : ^ +>key : K +> : ^ + + other[key]; +>other[key] : T[K] +> : ^^^^ +>other : T +> : ^ +>key : K +> : ^ + + return; +} + +function h2(obj: T, other: T, key: K) { +>h2 : (obj: T, other: T, key: K) => void +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>obj : T +> : ^ +>other : T +> : ^ +>key : K +> : ^ + + obj[key]; +>obj[key] : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>obj : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>key : K +> : ^ + + other[key]; +>other[key] : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>other : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>key : K +> : ^ + + return;} + +function h3(obj: T, other: T, key: K) { +>h3 : (obj: T, other: T, key: K) => void +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>obj : T +> : ^ +>other : T +> : ^ +>key : K +> : ^ + + obj[key]; +>obj[key] : T[K] +> : ^^^^ +>obj : T +> : ^ +>key : K +> : ^ + + other[key]; +>other[key] : T[K] +> : ^^^^ +>other : T +> : ^ +>key : K +> : ^ + + return; +} + +// ************** +function i1(obj: T, other: U, key: K) { +>i1 : (obj: T, other: U, key: K) => void +> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>obj : T +> : ^ +>other : U +> : ^ +>key : K +> : ^ + + obj[key]; +>obj[key] : T[K] +> : ^^^^ +>obj : T +> : ^ +>key : K +> : ^ + + other[key]; +>other[key] : U[K] +> : ^^^^ +>other : U +> : ^ +>key : K +> : ^ + + return; +} + +function i2(obj: T, other: U, key: K) { +>i2 : (obj: T, other: U, key: K) => void +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>obj : T +> : ^ +>other : U +> : ^ +>key : K +> : ^ + + obj[key]; +>obj[key] : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>obj : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>key : K +> : ^ + + other[key]; +>other[key] : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>other : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>key : K +> : ^ + + return;} + +function i3(obj: T, other: U, key: K) { +>i3 : (obj: T, other: U, key: K) => void +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>obj : T +> : ^ +>other : U +> : ^ +>key : K +> : ^ + + obj[key]; +>obj[key] : T[K] +> : ^^^^ +>obj : T +> : ^ +>key : K +> : ^ + + other[key]; +>other[key] : U[K] +> : ^^^^ +>other : U +> : ^ +>key : K +> : ^ + + return; +} + + +// ************ +function j1(obj: U, key: keyof T) { +>j1 : { (obj: U, key: keyof T): U[keyof T]; (obj: U_1, key: keyof U_1): NonNullable[keyof U_1]; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : U +> : ^ +>key : keyof T +> : ^^^^^^^ + + return obj[key]; +>obj[key] : U[keyof T] +> : ^^^^^^^^^^ +>obj : U +> : ^ +>key : keyof T +> : ^^^^^^^ +} + +function j2(obj: U, key: keyof T) { +>j2 : { (obj: U, key: keyof T): any; (obj: U_1, key: keyof U_1): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>obj : U +> : ^ +>key : keyof T +> : ^^^^^^^ + + return obj[key]; +>obj[key] : any +> : ^^^ +>obj : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>key : keyof T +> : ^^^^^^^ +} + +function j3(obj: U, key: keyof T) { +>j3 : { (obj: U, key: keyof T): NonNullable[keyof T]; (obj: U_1, key: keyof U_1): NonNullable[keyof U_1]; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : U +> : ^ +>key : keyof T +> : ^^^^^^^ + + return obj[key]; +>obj[key] : NonNullable[keyof T] +> : ^^^^^^^^^^^^^^^^^^^^^^^ +>obj : U +> : ^ +>key : keyof T +> : ^^^^^^^ +} + + +// ************ +function j1(obj: U, key: keyof U) { +>j1 : { (obj: U_1, key: keyof T_1): U_1[keyof T_1]; (obj: U, key: keyof U): NonNullable[keyof U]; } +> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : U +> : ^ +>key : keyof U +> : ^^^^^^^ + + return obj[key]; +>obj[key] : NonNullable[keyof U] +> : ^^^^^^^^^^^^^^^^^^^^^^^ +>obj : U +> : ^ +>key : keyof U +> : ^^^^^^^ +} + +function j2(obj: U, key: keyof U) { +>j2 : { (obj: U_1, key: keyof T_1): any; (obj: U, key: keyof U): any; } +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>obj : U +> : ^ +>key : keyof U +> : ^^^^^^^ + + return obj[key]; +>obj[key] : any +> : ^^^ +>obj : {} | null | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +>key : keyof U +> : ^^^^^^^ +} + +function j3(obj: U, key: keyof U) { +>j3 : { (obj: U_1, key: keyof T_1): NonNullable[keyof T_1]; (obj: U, key: keyof U): NonNullable[keyof U]; } +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : U +> : ^ +>key : keyof U +> : ^^^^^^^ + + return obj[key]; +>obj[key] : NonNullable[keyof U] +> : ^^^^^^^^^^^^^^^^^^^^^^^ +>obj : U +> : ^ +>key : keyof U +> : ^^^^^^^ +} + diff --git a/tests/baselines/reference/unknownControlFlow.errors.txt b/tests/baselines/reference/unknownControlFlow.errors.txt index e8f4f198a505a..019a765817cf8 100644 --- a/tests/baselines/reference/unknownControlFlow.errors.txt +++ b/tests/baselines/reference/unknownControlFlow.errors.txt @@ -1,5 +1,5 @@ unknownControlFlow.ts(18,9): error TS2322: Type 'unknown' is not assignable to type '{}'. -unknownControlFlow.ts(283,5): error TS2536: Type 'keyof (T & {})' cannot be used to index type 'T'. +unknownControlFlow.ts(283,5): error TS18049: 't' is possibly 'null' or 'undefined'. unknownControlFlow.ts(290,11): error TS2345: Argument of type 'string' is not assignable to parameter of type 'never'. unknownControlFlow.ts(291,5): error TS2345: Argument of type 'null' is not assignable to parameter of type 'never'. unknownControlFlow.ts(293,5): error TS2345: Argument of type 'null' is not assignable to parameter of type 'never'. @@ -293,8 +293,8 @@ unknownControlFlow.ts(341,9): error TS2367: This comparison appears to be uninte function ff3(t: T, k: keyof (T & {})) { t[k]; // Error - ~~~~ -!!! error TS2536: Type 'keyof (T & {})' cannot be used to index type 'T'. + ~ +!!! error TS18049: 't' is possibly 'null' or 'undefined'. } function ff4(t: T & {}, k: keyof (T & {})) { diff --git a/tests/baselines/reference/unknownControlFlow.types b/tests/baselines/reference/unknownControlFlow.types index f0580118a5b36..6b9c80c7077a5 100644 --- a/tests/baselines/reference/unknownControlFlow.types +++ b/tests/baselines/reference/unknownControlFlow.types @@ -1096,8 +1096,8 @@ function ff3(t: T, k: keyof (T & {})) { > : ^^^^^^^^^^^^^^ t[k]; // Error ->t[k] : any -> : ^^^ +>t[k] : NonNullable[keyof (T & {})] +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >t : T > : ^ >k : keyof (T & {}) diff --git a/tests/cases/compiler/unconstrainedTypeComparisons.ts b/tests/cases/compiler/unconstrainedTypeComparisons.ts index 2bb8d0d4333a6..1b68085f3255d 100644 --- a/tests/cases/compiler/unconstrainedTypeComparisons.ts +++ b/tests/cases/compiler/unconstrainedTypeComparisons.ts @@ -1,16 +1,21 @@ // @lib: es2015 // @target: es2015 // @strict: true +// @noemit: true -export function f(a: T, b: T): boolean { +function f(a: T, b: T): boolean { return a > b; } -export function g(a: T, b: T): boolean { +function g(a: T, b: T): boolean { return a > b; } -function h(a: T, b: T): boolean { +function h(a: T, b: T): boolean { + return a > b; +} + +function i(a: T, b: T): boolean { if (a === undefined) { return true; } diff --git a/tests/cases/compiler/unconstrainedTypeKeyofParam.ts b/tests/cases/compiler/unconstrainedTypeKeyofParam.ts new file mode 100644 index 0000000000000..a9cc167623ae8 --- /dev/null +++ b/tests/cases/compiler/unconstrainedTypeKeyofParam.ts @@ -0,0 +1,120 @@ +// @strict: true +// @noemit: true + +function f3(x: T, y: U, k: keyof T) { + x[k] = y[k]; + y[k] = x[k]; +} + +function f(obj: T, key: K) { + return obj[key]; +} + +function f2(obj: T, key: K) { + return obj[key]; +} + +function f3(obj: T, key: K) { + return obj[key]; +} + +function f4(obj: U, key: K) { + return obj[key]; +} + +function f5(obj: U, key: K) { + return obj[key]; +} + +function f6(obj: U, key: K) { + return obj[key]; +} + +// ************ +function g1(obj: T, key: keyof T) { + return obj[key]; +} + +function g2(obj: T, key: keyof T) { + return obj[key]; +} + +function g3(obj: T, key: keyof T) { + return obj[key]; +} + +function g4(obj: U, key: keyof U) { + return obj[key]; +} + +function g5(obj: U, key: keyof U) { + return obj[key]; +} + +function g6(obj: U, key: keyof U) { + return obj[key]; +} + +// ************** +function h1(obj: T, other: T, key: K) { + obj[key]; + other[key]; + return; +} + +function h2(obj: T, other: T, key: K) { + obj[key]; + other[key]; + return;} + +function h3(obj: T, other: T, key: K) { + obj[key]; + other[key]; + return; +} + +// ************** +function i1(obj: T, other: U, key: K) { + obj[key]; + other[key]; + return; +} + +function i2(obj: T, other: U, key: K) { + obj[key]; + other[key]; + return;} + +function i3(obj: T, other: U, key: K) { + obj[key]; + other[key]; + return; +} + + +// ************ +function j1(obj: U, key: keyof T) { + return obj[key]; +} + +function j2(obj: U, key: keyof T) { + return obj[key]; +} + +function j3(obj: U, key: keyof T) { + return obj[key]; +} + + +// ************ +function j1(obj: U, key: keyof U) { + return obj[key]; +} + +function j2(obj: U, key: keyof U) { + return obj[key]; +} + +function j3(obj: U, key: keyof U) { + return obj[key]; +} diff --git a/tests/cases/compiler/unconstrainedTypeMapped.ts b/tests/cases/compiler/unconstrainedTypeMapped.ts deleted file mode 100644 index b24c1c0147952..0000000000000 --- a/tests/cases/compiler/unconstrainedTypeMapped.ts +++ /dev/null @@ -1,5 +0,0 @@ -// @strict: true - -function f(obj: T, key: K) { - return obj[key]; -}